141

I know about \! which creates a thin negative space but is there any native command for large negative spaces (like quad or qquad for positive spaces) ?

3

3 Answers 3

117

In text mode: \kern-1em equals "minus quad"

In math mode: \mkern-18mu equals "minus quad"

For "minus qquad" use -2em or -36mu respectively.

1
  • what about negative simple space in text mode? (according to the selected font)
    – Qaher
    Dec 1, 2020 at 16:28
63

For LaTeX, horizontal spacing is achieved using \hspace{<len>} where <len> is a length (either positive or negative); TeX's equivalent to \hskip. Since \quad [\qquad] is equivalent to a horizontal skip of 1em [2em], use \hspace{-1em} [\hspace{-2em}] to obtain a negative space amount.

\kern inserts a space depending on the mode that TeX is in, and could therefore be either vertical or horizontal.

Text-based spacing can be inserted using any of the \phantom-related commands: \phantom{<stuff>}, or \hphantom{<stuff>}, for example.

7
  • 17
    I would also love to use some phantom-like command but for negative space, i.e., going back in an amount given by a forward-written word. Example, I want to write math over path. Then my code should be: math \negphantom{math} path. Is it possible in an easy way? Maybe folding a phantom inside something to rotate/reflect it? But would that provide the same placement for the h's of math and path?
    – Andrestand
    Feb 11, 2014 at 9:00
  • 1
    Or maybe some way of getting the size in pt of {whichever strange code object} may print in the pdf? (like \fontcharwd..., but not for simple characters, here)
    – Andrestand
    Feb 11, 2014 at 10:04
  • 2
    My approach for my first comment is: math\begin{rotate}{180}\scalebox{-1}[-1]{p\phantom{ath}}\end{rotate}, which requires the rotating package and also graphicx. It would be nice to do with rotatebox what I do with the rotate environment, in order to avoid using both packages, but I haven't be able due to the way it rotates or keeps a fixed center.
    – Andrestand
    Feb 11, 2014 at 13:30
  • 18
    @Andrestand: Use \newcommand{\negphantom}[1]{\settowidth{\dimen0}{#1}\hspace*{-\dimen0}}.
    – Werner
    Feb 11, 2014 at 15:13
  • 1
    I do not understand what you need to create the second makebox-command for @Andrestand. bla math\makebox[-\width]{path}\phantom{path} bla renders the exact same for me. Anyway, thanks a lot for the code! Dec 4, 2015 at 10:07
3

What about simply \!\! or \!\!\! ? It worked for me fine...

1
  • Welcome to TeX.SE. Please note that outside of code environments the backslash `` is treated as an escape character by MarkDown, this is why none of the backslashes you typed originally showed up. I've wrapped them in code blocks so now they show. Jul 23, 2021 at 3:04

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .