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) ?

up vote 68 down vote accepted

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

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

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

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.

  • 8
    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 '14 at 9:00
  • 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 '14 at 10:04
  • 1
    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 '14 at 13:30
  • 10
    @Andrestand: Use \newcommand{\negphantom}[1]{\settowidth{\dimen0}{#1}\hspace*{-\dimen0}}. – Werner Feb 11 '14 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! – Dominikus K. Dec 4 '15 at 10:07

A simpler method is: bla \rlap{math}path bla. This renders the two words left aligned. For right alignment use \llap.

Your Answer

 

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

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