继续绘制具有固定角度、宽度和高度的平行四边形?,我仍然不明白如何获得完全相同的平行四边形形状,无论内部的文本如何,只要文本合适即可。这是一个 MWE:
\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{shapes}
\begin{document}
\begin{tikzpicture}[leftTiltedParallelogram/.style={very thin, trapezium, draw, minimum width=5em, minimum height=10ex, trapezium left angle=-75, trapezium right angle=75, inner sep=1pt, trapezium stretches=true, trapezium stretches body=true, align=center}]
\node[leftTiltedParallelogram] (A) {\begin{tabular}{@{}c@{}}line1\\line2\end{tabular}};
\node[leftTiltedParallelogram,anchor=west] (B) at (A.east) {\begin{tabular}{@{}c@{}}line1\\line2\\line3\end{tabular}};
\end{tikzpicture}
\end{document}
pdflatex 产生的输出 显示两个不同角度的平行四边形,尽管文本(两行或三行)可以适合任何两个平行四边形。
那么,如何禁止 TikZ 摆弄平行四边形的大小,包括角度?(在我的实际 tikz 图片中,我有几十个这样的平行四边形,带有两三行文本,我想一劳永逸地指定它们的确切形式,而不必将它们全部弄大。)
答案1
我没有调整形状以适应文本,而是将文本放入标准尺寸的框中。如果使用拉伸,角度将不会是 75 度。
\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{shapes}
\newcommand{\boxit}[1]{\parbox[c][10ex][c]{5em}{\centering #1}}
\fboxsep=0pt
\begin{document}
\begin{tikzpicture}[leftTiltedParallelogram/.style={very thin, trapezium, draw,
trapezium left angle=-75, trapezium right angle=75, inner sep=1pt,
trapezium stretches=true, trapezium stretches body=true},align=center]% not needed
\node[leftTiltedParallelogram] (A) {\boxit{\begin{tabular}{@{}c@{}}line1\\line2\end{tabular}}};
\node[leftTiltedParallelogram,anchor=west] (B) at (A.east) {\boxit{\begin{tabular}{@{}c@{}}line1\\line2\\line3\end{tabular}}};
\end{tikzpicture}
\end{document}
我突然想到可以大大简化用于缩放梯形(不拉伸)的代码。计算实现最小高度所需的缩放因子和实现最小宽度的缩放因子,并使用两者中较大的一个。一次缩放即可实现两个最小值。