![关于 tikz 树的一些问题](https://linux22.com/image/325563/%E5%85%B3%E4%BA%8E%20tikz%20%E6%A0%91%E7%9A%84%E4%B8%80%E4%BA%9B%E9%97%AE%E9%A2%98.png)
我有一棵用 tikz 编写的工作树,但它并不完全是我想要的样子
\begin{tikzpicture}[level/.style={sibling distance=60mm/#1}]
\node [circle,draw] (equal){$=$}
child {node [circle,draw] (m1) {$meters$}
child {node [circle,draw] (x1) {$X_1$ \\ meters/hour}}
child {node [circle,draw] (x2) {$X_2$ \\ {\it hour}}}
}
child {node [circle,draw] (m2) {$meters$}
child {node [circle,draw] (y1) {$Y_1$ \\ {\it meters/lap}}}
child {node [circle,draw] (y2) {$Y_2$ \\ {\it lap}}}
};
\end{tikzpicture}
我的问题首先是如何将文本分成两行(\\由于某种原因不起作用),还有如何将每个圆的大小固定为相同(意味着在必要时缩小某些节点的文本)
答案1
使用保罗的评论和这个问题在节点大小上,您可以设置每个节点的最小大小(因此,您必须使用该选项分别调整每个节点的字体大小,以确保它适合内部font=
)。代码如下:
\begin{tikzpicture}[level/.style={sibling distance=60mm/#1},
every node/.style={align=center,inner sep=0pt,minimum size=1.5cm}]
\node [circle,draw] (equal){$=$}
child {node [circle,draw] (m1) {$meters$}
child {node [circle,draw,font=\tiny] (x1) { $X_1$ \\ meters/hour}}
child {node [circle,draw] (x2) {$X_2$ \\ {\it hour}}}
}
child {node [circle,draw] (m2) {$meters$}
child {node [circle,draw,font=\footnotesize] (y1) {$Y_1$ \\ {\it meters/lap}}}
child {node [circle,draw] (y2) {$Y_2$ \\ {\it lap}}}
};
\end{tikzpicture}
结果如下:
节点大小设置为1.5cm,您可以更改,我只调整了一些节点字体大小。
个人观点 - 我认为像“米/小时”这样的长文本最好分成两行或缩写,而不是试图缩小字体。图形中的统一文本大小看起来更好。