有没有办法缩放tikzpicture
以使两个minipage
环境具有相同的高度?
代码:
\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
这.4\baselineskip
是一个补偿系数,用于补偿段落和 tikzpicture 之间的间距。
\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}