关于 Cobordism.sty 的普遍错误

关于 Cobordism.sty 的普遍错误

当尝试编译.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
}

相关内容