当尝试编译.tex
需要一个.sty
名为的文件的文档时Cobordism.sty
,出现了一个奇怪的错误:
! Undefined control sequence.
\anchor ... \csname pgf@anchor@\pgf@sm@shape@name
@#1\endcsname {#2}
l.4118 }
The control sequence at the end of the top line
of your error message was never \def'ed. If you have
misspelled it (e.g., `\hobx'), type `I' and the correct
spelling (e.g., `I\hbox'). Otherwise just continue,
and I'll forget about whatever was undefined.
或者简称:
Cobordism.sty error line 4118 Undefined control sequence. }
起初我以为这个错误是由于我的设置不当造成的,但后来另一位用户 Torbjørn T. 好心地重新测试了我的尝试——出现了同样的错误。我认为说文件.sty
本身有编码错误太大胆了。正如 Torbjørn T. 在这回答我以前的问题,关键可能在于兼容性(也许Cobordism.sty
是新包的前身,例如tqft.sty
)。
为了让那些有兴趣帮助的人更容易,我发布了整个文件(编译所需的所有组件,包括 Cobordism.sty
)这里(在.rar
格式中)。
免责声明:请充分了解,分发的文件是从 ARXIV 下载的源文件。根据 ARXIV 政策,这属于合理使用。所有版权均属于原作者。
答案1
样式有错误。它使用内部 pgf 命令,但尚未将其适配到较新的 pgf 代码。因此它在 texlive 2012 中有效,但在更高版本中失效。
无法在风格之外进行改编。您必须复制并更改第 4046 行中的以下内容:
\def\pgfaddtoshape#1#2{%
\begingroup
\def\shape@name{#1}%
\def\pgf@sm@shape@name{#1}%new
\let\anchor\pgf@sh@anchor
#2%
\endgroup
}