I'm trying LaTex for the very first time. I love the system, but have run into a problem (please pardon any newbie mistakes):

\emph{Modus ponens}: The form of this argument is:

\hsp if $p$, then $q$.    

\hsp $p$   

\hsp therefore, $q$.

Here, \hsp is a custom command that adds some horizontal space (\newcommand{\hsp}{\hspace{2ex}}). I would like to reduce the line spacing for the last three lines. I have tried \singlespacing etc. from the \setspace package, but it doesn't seem to work.

Can someone please help me out?

  • 1
    Welcome to TeX.SX! You can have a look at our starter guide to familiarize yourself further with our format. – barbara beeton Jul 5 '13 at 17:49
  • \vskip -3pt, \vspace{-3pt} or something similar would help? – karlkoeller Jul 5 '13 at 17:50
  • \hspace{...} is ignored at the beginning of a line. if you want to make sure it's not ignored, use the starred form: \hspace*{...}. regarding the vertical spacing, you might just end all the lines but the last with \` and remove the blank lines. that will treat this as a unit, a single paragraph with explicit line breaks. alternatively, since it seems like there might be more of these, it's possible a package might exist to format them suitably, or an environment could be defined for the purpose. – barbara beeton Jul 5 '13 at 17:53

One possible solution is to place the argument form inside of a spacing environment. This allows you to manipulate the spacing independently of the spacing of the document itself using the setpsace package. Another benefit of doing this is that you no longer need to define the \hsp command because the quote environment indents the text inside of it automatically. Here is an MWE of such a solution:




blah blah blah blah

\emph{Modus ponens}: The form of this argument is:


if $p$, then $q$.    


therefore, $q$.


enter image description here

Update: As @karlkoeller points out, single spacing might not be enough. If single spacing is not enough, you can also place things inside of a spacing environment (which is made available by the setspace package), instead of a quote environment. Then, you can make the spacing even less than single line spacing like so:

\begin{spacing}{0.8} % or some smaller number if you would like
if $p$, then $q$.    


therefore, $q$.

This solution will require you to either embed the spacing environment inside of a quote environment or to reintroduce your \hsp command in order to have the form of the argument indented.

  • 1
    I don't think your answer solves the problem of vertical spacing. The OP said that \singlespacing was not enough. – karlkoeller Jul 5 '13 at 18:53
  • Thanks for pointing that out @karlkoeller. I've updated my answer. – Adam Liter Jul 5 '13 at 21:47
  • Thank you very much! It turns out that quote would do nicely for now. I'll save the other recipe for future! :) – dotslash Jul 6 '13 at 1:05

You can also try this:

\renewcommand{\baselinestretch}{1} %More or less. As you wish.


  • 2
    Maybe \linespread{1}? – egreg Jul 5 '13 at 19:35

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.