我尝试使用 Ti 制作一个简单的梯形钾Z 形状库。形状内的文本与其长度不同。但是,形状应该与文本最长的形状一样大,以便所有形状最终都具有相同的大小。
我尝试修复一些参数,例如文本宽度,但这确实使短文本节点变得更长...有人有什么想法吗?
以下是代码:
\documentclass{article}
\usepackage{tikz,amsmath, amssymb,bm,color}
\usepackage[margin=0cm,nohead]{geometry}
\usepackage[active,tightpage]{preview}
\usetikzlibrary{shapes,arrows, matrix}
% needed for BB
\usetikzlibrary{calc}
\begin{document}
\begin{tikzpicture}
[
output/.style ={trapezium,draw,fill=none, minimum height=10mm,
align=center, trapezium left angle=60, trapezium right angle=120, text
width=50}
]
\matrix [row sep=1.cm,ampersand replacement=\&, nodes in empty cells]
{
\node [output] (54) {This is a\\ long text}; \\
\node [output] (44) {short text};\\
\node [output] (44) {RQ1};\\
};
\end{tikzpicture}
\end{document}
该图片的结果是:
在此先非常感谢您的帮助。
答案1
梯形的行为确实有点违反直觉,并且已被 percusse 解释这个很好的答案。抱歉,我的评论确实没什么用(除了指向 percusses 答案的链接)。本质上,它会根据给定的内容调整其大小,同时考虑水平和垂直距离。因此,您可以通过添加适当的\vphantom
s 来解决这些问题。
\documentclass[tikz,border=3.14mm]{standalone}
\usetikzlibrary{shapes,arrows, matrix}
% needed for BB
\usetikzlibrary{calc}
\begin{document}
\begin{tikzpicture}
[
output/.style ={trapezium,draw,minimum height=10mm,
align=center, trapezium left angle=60, trapezium right angle=120,
text width=50,align=center}
]
\matrix [row sep=1.cm,ampersand replacement=\&, nodes in empty cells]
{
\node [output] (54) {This is a\\ long text}; \\
\node [output] (44) {short text\vphantom{\begin{tabular}{c}x\\ y\end{tabular}}};\\
\node [output] (44) {RQ1\vphantom{\begin{tabular}{c}x\\ y\end{tabular}}};\\
};
\end{tikzpicture}
\end{document}