0

Is there a way to scale the tikzpicture so that the two minipage environments have the same height?

enter image description here

Code:

\documentclass[8pt]{article}
 \usepackage{tikz}
 \begin{document}

\fbox{\begin{minipage}[c]{.50\textwidth}
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla 
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla 
  \end{minipage}}\hfill%
 \fbox{\begin{minipage}[c]{.38\textwidth}
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla 

\centering  \begin{tikzpicture}{height=3cm}
 \draw (0,0) -- (2,4) node[right] {$P$};
 \end{tikzpicture}
 \end{minipage}}

 \end{document}

1 Answer 1

2

The .4\baselineskip is a fudge factor to compensate for the spacing between the paragraph and the tikzpicture.

scale adjustment

\documentclass[8pt]{article}
 \usepackage{tikz}

\newsavebox{\tempbox}
\newlength{\tempdima}
\newlength{\tempdimb}

 \begin{document}

\savebox{\tempbox}{\begin{tikzpicture}
 \draw (0,0) -- (2,4) node[right] {$P$};
 \end{tikzpicture}}% get size of tikzpicture
\tempdimb=\ht\tempbox
\savebox{\tempbox}{\begin{minipage}[c]{.38\textwidth}
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla \par
\end{minipage}}% get size of second paragraph
\tempdima=\dimexpr \ht\tempbox + \dp\tempbox + .4\baselineskip
\savebox{\tempbox}{\begin{minipage}[c]{.50\textwidth}
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla 
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla 
\end{minipage}}% compute scale factor
\tempdima=\dimexpr \ht\tempbox + \dp\tempbox - \tempdima
\pgfmathparse{\tempdima/\tempdimb}%
\let\scale=\pgfmathresult

\fbox{\usebox{\tempbox}}\hfill%
\fbox{\begin{minipage}[c]{.38\textwidth}
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla 

\centering  \begin{tikzpicture}[yscale=\scale]
 \draw (0,0) -- (2,4) node[right] {$P$};
 \end{tikzpicture}
 \end{minipage}}

 \end{document}
4
  • Nice, but isn't it possible to scale the whole picture so that it also deals with more complex pictures?
    – anderstood
    Jun 13, 2015 at 3:45
  • You can't specify the height, but you can specify the yscale. Or you could use \resizebox. Jun 13, 2015 at 4:06
  • Bit try it, I meant your code. That's a pity the borders don't perfectly match though (cf. arbitrary 0.4\baseline).
    – anderstood
    Jun 13, 2015 at 12:12
  • Part of the problem is that yscale does not affect the size of $P$. Jun 13, 2015 at 13:51

You must log in to answer this question.

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