我想控制 tikz 中节点标签的行距。在我的示例中,行距太大(两条线之间),我想减小它。我已经阅读过有关节点内部行距的内容,但没有阅读过有关节点标签内部行距的内容。
谢谢,J。
\documentclass{scrartcl}
\usepackage{tikz}
\usetikzlibrary{arrows,automata,positioning}
\usepackage{amssymb}
\usepackage{amsfonts}
\usepackage{amsmath}
\begin{document}
\begin{tikzpicture}[>=stealth',shorten >=1pt,auto,node distance=2cm]
\node[state,accepting][label={[align=center, inner sep=1ex]below: {\tiny{parameter:10}\\ \tiny{if $s_1=1$} }}] (q0) {$s_0$};
\end{tikzpicture}
\end{document}
答案1
text width
(您的示例在此处引发了一个错误,但在标签中添加即可修复该问题。)
你用\tiny
错了,它应该像 那样使用{\tiny ..}
,而不是\tiny{...}
,即它是一个影响后续文本的开关,而不是一个接受参数的宏。话虽如此,我建议改为添加font=\tiny
到label
选项中。这也使行距更合理。
为了进一步控制行距,您可以使用可选参数\\
,例如\\[1cm]
添加额外的 1 厘米垂直空间。
另外,使用align=flush center
以避免第二条线的拉伸。
\documentclass[border=4mm]{standalone}
\usepackage{tikz}
\usetikzlibrary{arrows,automata,positioning}
\usepackage{amssymb}
\usepackage{amsfonts}
\usepackage{amsmath}
\begin{document}
\begin{tikzpicture}[>=stealth',shorten >=1pt,auto,node distance=2cm]
\node[state,accepting,label={[align=flush center, inner sep=1ex, text width=1.5cm,font=\tiny]below: parameter:10\\ if $s_1=1$ }] (q0) {$s_0$};
\end{tikzpicture}
\end{document}