Pgf has two different types of transformations: coordinate transformations and canvas transformations. When using \begin{tikzpicture}[scale=0.50]
, you are applying coordinate transformation. All coordinates will be scaled, whereas individual objects (text, line thickness, rounding of corners etc) will not scale. Most of the time that is what you want, you do not want to scale carefully typeset pieces of text, you do not want to make lines ridiculously thick, or too thin to actually print.
If you want to scale everything, you have to use a canvas transformation. For that, pgf has a command \pgftransformscale{}
. You can also use the pgflowlevelscope
environment:
\begin{tikzpicture}
\draw (0,0) rectangle (6,6); %create a bounding box to reserve space
\begin{pgflowlevelscope}{\pgftransformscale{5}}
\draw (0,0) -- (1,1) node[right]{$x$};
\end{pgflowlevelscope}
\end{tikzpicture}
You can also use \pgflowlevelsynccm
which synchronizes the canvas transformation matrix with the current coordinate transformation matrix, for example like this:
\begin{tikzpicture}[scale=5]
\draw (0,0) rectangle (1.2,1.2); %create a bounding box to reserve space
\pgflowlevelsynccm
\draw (0,0) -- (1,1) node[right]{$x$};
\end{tikzpicture}
Note that because pgf does not (cannot) keep track of the canvas transformations (they are performed by the backend), you will have to make sure there is enough space in your picture for the scaled objects. In the examples above, I try to reserve space by drawing a bounding box first, before applying the canvas transformation. There are other problems with canvas transformations, and I do not recommend using them without carefully reading appropriate parts of the pgf manual.
I include this answer more as an explanation of what is going on, another, preferable answer using \resizebox
has already appeared.
\resizebox
and\scalebox
-based approaches inevitably lead to a multitude of font sizes and line widths. For a professional looking document it is better to rework existing graphics. The same applies to tables that don't fit.