我正在尝试使用 TikZ 绘制流程图。在其中一个决策“菱形”中,我在 之间添加了文本和一些数学运算$
。
\node [decision, below of=buildbid, node distance=1.8cm, aspect=8, minimum size=20mm] (evalTotImpact) {$\delta_b\left(b_{\text{cur}},b_{\text{last}}\right)\geq$max?};
不幸的是,尽管使用centered
了 tikzstyle 定义,但文本位置似乎是固定的,并且最终位于块之外,如此图所示。
流程图中具有数学的其他块不会发生这种情况......
这是我能举出的最小的例子:
\documentclass[journal]{IEEEtran}
\usepackage[cmex10]{amsmath}
\usepackage{tikz}
\usetikzlibrary{shapes,arrows}
\begin{document}
\usetikzlibrary{calc}
\tikzstyle{decision} = [diamond, draw, fill=white, text width=4em, text centered, node distance=3cm, inner sep=0pt, font=\footnotesize]
\tikzstyle{block} = [rectangle, draw, fill=white, text width=6em, text centered, rounded corners, minimum height=6pt, font=\footnotesize]
\tikzstyle{line} = [draw, -latex', font=\footnotesize]
\begin{figure}
\centering
\begin{tikzpicture}[node distance = 1.7cm, auto]
\footnotesize
\tikzset{block/.append style={text width=10em, minimum height=2em}}
\node [decision, aspect=8, minimum size=20mm] (evalTotImpact) {$\delta_b\left(b_{\text{cur}},b_{\text{last}}\right)\geq$max?};
\end{tikzpicture}
\end{figure}
\end{document}
答案1
宽度大于 的文本text width
如果无法换行,则会超出右边缘,无论是align=center
还是text centered
。
如果您不需要所有节点都具有相同的大小,您可以简单地text width
从样式定义中删除该键,或者text width={}
在单个节点中本地禁用它。如果您需要保持节点大小相同,您可以使用label=center:<node text>
它将文本放置在节点中。