我尝试将多部分节点插入到图中,但陷入了无限循环,失败了。我知道这种情况会发生,因为 TeX 是一种图灵完备语言。但我想知道为什么每次我将一个节点放入一个节点\node
中时都会发生这种情况\graph
。
以下是最小失败的示例:
\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{graphs}
\begin{document}
\begin{tikzpicture}
\graph {
\node
(n)
{ Foo
%should be a multipart node, but fails just as a plain node
};
}
\end{tikzpicture}
\end{document}
据我所知,\graph 只是一些更基本的 tikz 元素的快捷方式。但是为什么添加节点会有问题?这里的根本问题是什么?
我正在运行 lualatex 0.95.0,但 pdflatex 和 xelatex 也出现了循环。
答案1
您正在执行
\tikz@signal@path
其定义为
\def\tikz@signal@path{\tikz@signal@path}
这会形成一个紧密的循环,并且由于它是尾递归,它不占用堆栈或内存,因此会永远循环。