“node content” 键无法与 “\node at” 一起使用

“node content” 键无法与 “\node at” 一起使用

当我尝试使用类似

\node[node contents={Test}] at (0,0){};

抛出一个错误:Use of \@next doesn't match its definition.

为了使其发挥作用,我可以将语法更改为\path ... node,或使用at键,或使用font=hack。

\documentclass{standalone}
\usepackage{tikz}
\begin{document}
  \begin{tikzpicture}
    % \node[node contents={Test}] at (0,0){}; % <- not working
    % \node[node contents={Test}] at (1,0); % <- not working

    \path (0,0) node[node contents={Test}];
    \path (1,0) node[node contents={Test}]{};
    \node[node contents={Test}, at={(2,0)}];
    \node[node contents={Test}, at={(3,0)}]{};
    \node[font={Test}] at (4,0){};        
  \end{tikzpicture}
\end{document}

在此处输入图片描述

我的问题是:这是正常行为,还是一个错误?

答案1

这是预期的行为,并记录在手册的第 215 页(斜体是我的强调):

/tikz/node contents=<node contents>

当选项在节点的选项内使用时,节点的解析将在选项块结束后立即停止。特别是,选项块后面不能跟有其他选项块或花括号(或者,这些不算作节点规范的一部分)。还请注意,节点内容可能不包含易碎内容,因为 catcodes 在读取选项时会得到修复。

相关内容