为什么 boldmath 在 tikz 节点中失败?

为什么 boldmath 在 tikz 节点中失败?

我认为这可能\boldmath已被弃用,尽管我找不到任何“官方”参考,但无论如何:

\documentclass[border=10pt]{standalone}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
    \path (0,0) node[draw]{\boldmath \(+\)} (1,1);
\end{tikzpicture}
\end{document}

编译失败,出现以下奇怪现象:

! Package tikz Error: Giving up on this path. Did you forget a semicolon?.

See the tikz package documentation for explanation.
Type  H <return>  for immediate help.
 ...                                              

l.6     \path (0,0) node[draw]{\boldmath \(+\)}
                                                (1,1);
? 

如果我将节点中的括号加倍,则

\path (0,0) node[draw]{{\boldmath \(+\)}} (1,1);

它工作正常:

方框内加粗加号

这是预期的行为吗?

答案1

Z 拥有其工作所需的钥匙font(以及用于此类事物的钥匙)。node font

\documentclass[border=10pt]{standalone}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
    \path (1,0) node[draw,font=\boldmath]{ \(+\)};
    \path (2,0) node[draw,node font=\boldmath]{ \(+\)};
    \path (3,0) node[draw]{ \(+\)};
\end{tikzpicture}
\end{document}

在此处输入图片描述

答案2

这是 中的一个错误TiKZ。目前,解决方法是在节点文本中使用额外的括号。

(但一般来说,TiKZ应该自己创建这一层额外的大括号,以防万一\aftergroup。)

相关内容