我想通过 给节点添加标签\node [label=below:$1$] {$X$}
。但标签的大小与“X”相同。我希望它是脚本大小。所以我可以输入\node [label=below:$\scriptstyle 1$] {$X$}
。但我想要标记的节点不止一个。我尝试了选项\begin{tikzpicture}[commutative diagrams/every label]
。但$X$
也会变成脚本大小。
那么哪个选项可以将标签的大小设置为脚本大小,同时保持主节点的大小。
答案1
我不确定我是否理解了这个问题,但every label/.append style={text=red, font=\scriptsize}
对我来说有用。
\documentclass[tikz,border=3mm]{standalone}
\begin{document}
\begin{tikzpicture}
[every label/.append style={text=red, font=\scriptsize}]
\node[draw, label=label] (A) {node};
\node[draw, label=label,xshift=2cm] (B) {node};
\end{tikzpicture}
\end{document}
更新因为对这个答案的评论:
看看TikZ 文档第 17 章节点和边,了解哪种类型的节点自动使用哪种样式。
该样式every label
会自动应用于所有标签节点,但不应用于边缘上的“普通”节点。请参见以下示例,其中边缘上的节点也获得label
:
\documentclass[tikz,border=3mm]{standalone}
\usetikzlibrary{quotes}
\begin{document}
\begin{tikzpicture}[
every label/.append style={text=red, font=\scriptsize}
]
\node[draw, label=label] (A) {node};
\node[draw, label=label,xshift=2cm] (B) {node};
\path(A)edge["$\alpha$"'label=$x$](B);% quotes syntax
\begin{scope}[xshift=4cm]
\node[draw, label=label] (A) {node};
\node[draw, label=label,xshift=2cm] (B) {node};
\path(A)edge node[below,label=$x$]{$\alpha$}(B);% basic syntax
\end{scope}
\end{tikzpicture}
\end{document}
结果:
如果边上的所有节点也应该是red
,那么\scriptsize
您可以添加
every edge/.append style={nodes={text=red, font=\scriptsize}}
的选项tikzpicture
。
代码:
\documentclass[tikz,border=3mm]{standalone}
\usetikzlibrary{quotes}
\begin{document}
\begin{tikzpicture}[
every label/.append style={text=red, font=\scriptsize},
every edge/.append style={nodes={text=red, font=\scriptsize}}
]
\node[draw, label=label] (A) {node};
\node[draw, label=label,xshift=2cm] (B) {node};
\path(A)edge["$\alpha$"](B);% quotes syntax
\begin{scope}[xshift=4cm]
\node[draw, label=label] (A) {node};
\node[draw, label=label,xshift=2cm] (B) {node};
\path(A)edge node[above]{$\alpha$}(B);% basic syntax
\end{scope}
\end{tikzpicture}
\end{document}
还可以将样式更改限制到由引号语法定义的边缘节点。此节点every edge quotes
自动使用样式:
\begin{tikzpicture}[
every label/.append style={text=red, font=\scriptsize},
every edge quotes/.append style={text=red, font=\scriptsize}
]
结果:
请注意,您可以定义自己的样式,并以相同的方式将这种新样式添加到您想要更改的节点样式中:
\documentclass[tikz,border=3mm]{standalone}
\usetikzlibrary{quotes}
\begin{document}
\begin{tikzpicture}[
mylabels/.style={text=red, font=\scriptsize},
every label/.append style={mylabels},
every edge/.append style={mylabels}
]
\node[draw, label=label] (A) {node};
\node[draw, label=label,xshift=2cm] (B) {node};
\path(A)edge["$\alpha$"](B);% quotes syntax
\begin{scope}[xshift=4cm]
\node[draw, label=label] (A) {node};
\node[draw, label=label,xshift=2cm] (B) {node};
\path(A)edge node[above]{$\alpha$}(B);% basic syntax
\end{scope}
\end{tikzpicture}
\end{document}