Take the 2-minute tour ×
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

I have a bunch of LaTeX-output from Gnuplot which I would really like to leave alone. Is there an easy way of scaling an entire figure?

Something like

\includegraphics[scale=0.5]{...}

but just for the figure environment?

If it matters, I have

\begin{figure}
\input{plot.tex}
\end{figure}

and the output is from gnuplot used "set terminal latex" and so on.

share|improve this question

1 Answer 1

up vote 17 down vote accepted

You are looking for the macros

  • \resizebox{<h-length>}{<v-length>}{<content>} and
  • \scalebox{<h-scale>}[<v-scale>]{<content>}

from the graphics/graphicx packages (→ graphics manual, 3.3 “Scaling”, p. 3).

The \scalebox macro expects ratios like those you’d use in \includegraphics, you you would be using

\begin{figure}
    \scalebox{.5}{\input{plot.tex}}
\end{figure}

or, if you rather want to resize the content to a fixed width (or height),

\begin{figure}
    \resizebox{.9\linewidth}{!}{\input{plot.tex}}
\end{figure}

where ! means that the content gets resized so that it keeps its aspect ratio.

There exist also a starred version of \resizebox and you can use the lengths \height, \width, \totalheight and \depth to refer to the original sizes of the content; meaning the factor .5 could be used with \resizebox, too:

\begin{figure}
    \resizebox{.5\totalheight}{!}{\input{plot.tex}}
\end{figure}
share|improve this answer
1  
Is it possible to do something like this from outside of the figure environment? –  iX3 Oct 7 '13 at 18:55

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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