22

Is it possible to stretch text vertically?

Like this:

enter image description here

30
\usepackage{graphicx}
...
\scalebox{1}[3]{hello}
  • @elikakohen please ask questions as question posts not comments on ancient answers, but you can put a \parbox inside \scalebox – David Carlisle Feb 10 at 22:21
11

As David already stated in his answer the standard package graphicx provides the macro \scalebox{<h-factor>}[<v-factor>]{<content>} for this. The grfguide manual explains this and similar macros in detail. One thing to remember is that the content is boxes as horizontal box, so it can't include line breaks etc. except if you include a minipage, \parbox or similar construct.

There is also the \resizebox{<width>}{<height>}{<content>} which allows to scale text to a specific width and/or height. Use ! for the dimension you don't want to specify but to scale according to the other dimension. The starred version \resizebox* will scale the totalheight instead (height+depth).

There is also the adjustbox package which extends graphicx by providing a general key=value interface. Using this package you can scale even complicated content easily.

\documentclass{article}
\usepackage{adjustbox}
\begin{document}
\adjustbox{scale={2}{3}}{Text}

\adjustbox{width=\linewidth}{Text}

\adjustbox{minipage=10cm,scale={2}{3}}{Text\\with\\multiple\\lines}

\begin{adjustbox}{minipage=10cm,scale={2}{3}}
    Text\\
    with\\
    multiple\\
    lines
\end{adjustbox}

\end{document}
  • 1
    I think this is the best answer, because it also gives alternatives and explanations. – polynomial_donut Jun 13 '17 at 14:13
  • Is there a way to iterate over the separate lines, to add a new \scalebox for each line? In different contexts, I would like to layout the same exact text differently, though with the line breaks intact. – elika kohen Feb 10 at 22:35
  • @elikakohen: If you want different scaling for each line, you need to place \scalebox for each manually. You still can place the linebreaks outside the scaleboxes. – Martin Scharrer Feb 11 at 6:35
  • Thank you, I am trying to figure out how to do the delineation for it - so I will post a new question. Thank you very much. – elika kohen Feb 11 at 6:56
3

In ConTeXt

\scale[sx=1,sy=2]{Some Text}

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.