TIKZ 制作带有固定大小文本的梯形

TIKZ 制作带有固定大小文本的梯形

我尝试使用 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 答案的链接)。本质上,它会根据给定的内容调整其大小,同时考虑水平和垂直距离。因此,您可以通过添加适当的\vphantoms 来解决这些问题。

\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}

在此处输入图片描述

相关内容