如何减少节点之间Drill
和$0
节点内的空间?
\documentclass[border=3mm,tikz]{standalone}
\begin{document}
\begin{tikzpicture}
[grow = right, sibling distance = 6em, level distance = 10em, align=center, sloped]
\node {Decision}
child {node {No Drill\\\$0} }
child {node {Drill\\-\$1 million}
child {node {Oil\\\$4 million} edge from parent node [above] {.6} }
child {node {No Oil\\\$0} edge from parent node [above] {.4} }
};
\end{tikzpicture}
\end{document}
答案1
使用您的 MWE,我无法重现您的图像。节点中的文本通常是垂直间隔的:
我猜,在您的文档中,您在序言中确定了更大的基线拉伸,类似于\renewcommand\baselinestretch{1.5}
,它给出的图像与您在问题中显示的图像大致相同:
针对这种垂直拉伸的补救措施(可能是正文中需要的行)在局部减少了。这可以通过\linespread{1}
TikZ 图片内部实现。例如:
\documentclass[border=3mm,tikz]{standalone}
\renewcommand\baselinestretch{1.5}% <--- probably it is in your document preamble
% or it is invoked with some option in
% \documentclass{...} which you use in your document.
\begin{document}
\begin{tikzpicture}
[grow = right, sibling distance = 6em, level distance = 10em, align=center, sloped]
%---
\linespread{1}% <--- locally defined vertical line spacing in nodes
%---
\node {Decision}
child {node {No Drill\\\$0} }
child {node {Drill\\-\$1 million}
child {node {Oil\\\$4 million} edge from parent node [above] {.6} }
child {node {No Oil\\\$0} edge from parent node [above] {.4} }
};
\end{tikzpicture}
\end{document}
这与上面显示的图像相同。如果您希望垂直间距更紧密的线条,您可以选择linespread
小于 1,但\linespread{0.7}
线条开始重叠。
还有一点需要注意。不要在节点中更改字体大小。例如,在您的例子中:
...
child {node {\footnotesize Drill\\-\$1 million}
...
这将使节点文本中的字体变小,但不会改变基线间距,保持与正常字体大小的适应。因此,行之间的垂直空间实际上会增加。如果您只需要在一个节点中减小字体,那么使用节点的参数来实现这一点:
...
child {node[font=\footnotesize] { Drill\\-\$1 million}
...
将节点文本中的行距采用到所用字体的(本地)大小。
编辑:为了完整性(正如 cfr 在其评论中所建议的那样):在许多情况下,为了增加文本行之间的垂直空间,使用包setspace
,它在其他包 \onehalfspacing
和\doublespacing
命令以及环境之间提供\begin{singlespace} ... \end{singlespace}
。在这种情况下,您可以编写:
\documentclass[border=3mm,tikz]{standalone}
\usepackage{setspace}
\onehalfspace
\begin{document}
\begin{singlespace}% <--- change spacing
\begin{tikzpicture}
[grow = right, sibling distance = 6em, level distance = 10em, align=center, sloped]
\node {Decision}
child {node {No Drill\\\$0} }
child {node {Drill\\-\$1 million}
child {node {Oil\\\$4 million} edge from parent node [above] {.6} }
child {node {No Oil\\\$0} edge from parent node [above] {.4} }
};
\end{tikzpicture}
\end{singlespace}
\end{document}