我得到:/tikz.code.tex:473 未定义的控制序列

我得到:/tikz.code.tex:473 未定义的控制序列

每当我复制并粘贴代码时https://tex.stackexchange.com/例如:

\documentclass{article}
\usepackage{tikz}

\begin{document}

\tikz \draw plot [smooth cycle] coordinates {(0,0) (1,0.1) (2,0.3) (2,1.4) (1.5,2.5) (0.8,2.5) (0.3,1.2) (-0.2,0.6) } node at (1,1) {Area};
\tikz \draw plot [smooth,tension=1.2] coordinates {(0,1) (0.75,0.5) (1.5,0.9) (2,0) (2.5,0)} node at (1,0) {Line};

\end{document}

并尝试运行它,我收到以下错误(见附图):

在此处输入图片描述

这在过去从未发生过……

答案1

tikz.code.tex是实现 TikZ 前端的文件的名称。它的标准 TDS 位置在 内<TEX_ROOT>/tex/generic/pgf/frontendlayer/tikz/,但 OP 在与他正在编译的文件相同的目录中有一个同名的文件。他发布的记录文件摘录中有明确的证据,其中包含以下行:

(./tikz.code.tex
./tikz.code.tex:473: Undefined control sequence.

实际上,第一行足以识别文件:实际上,每次 TeX 开始从新的输入源读取时,它都会在转录中写入一个左括号,后跟它开始读取的文件的完整路径名(并在停止从该文件读取时写入相应的右括号)。您可以看到,在这种情况下,完整路径名以./(即当前目录)开头。

我不知道这个伪造tikz.code.tex文件包含什么,也不知道为什么 OP 当前目录中有一个同名文件,但可以肯定这不是原始文件的副本(或最新副本) (其中第 473 行看起来不像那样)。现在,TeX 的搜索路径通常以当前目录优先于 TeX 搜索输入文件的任何目录的方式组织;因此,加载了tikz.code.tex伪造文件tikz.code.tex反而正确的版本,并且显然不正确或过时,因此触发了错误。当然,这种情况仅在从该特定目录进行编译时才会发生。

相关内容