chemfig
我在 ConTeXt 中使用时遇到一个错误:
\usemodule[chemfig]
\starttext
\chemfig{A-B}
\stoptext
没有pdf输出,但是有错误信息:
%%%%
tex error > tex error on line 4 in file d:/context/chem/li02.tex: ! Undefined control sequence
<argument> \CF@end@tikzpicture
\CF@exp@macroarg ...expandafter #1\expandafter {#2
}
\CF@exp@second ...F@exp@macroarg \CF@swap@arg {#2}
{#1}
<to be read again>
{
l.4 \chemfig{
A-B}
1 \usemodule[chemfig]
2
3 \starttext
4 >> \chemfig{A-B}
5 \stoptext
?
%%%%
但chemfig
这样的代码在 LaTeX 中可以运行。有人知道为什么吗?
答案1
当我查看 LaTeX 实现时,chemfig.sty
我发现(省略了一些不相关的内容)
\input chemfig.tex
\def\printatom#1{\ensuremath{\mathrm{#1}}}% \printatom pour LaTeX.
\def\CF@begin@tikzpicture{\begin{tikzpicture}}%
\def\CF@end@tikzpicture{\end{tikzpicture}}%
但是 ConTeXt 模块缺少所有这些定义。因此您必须自己模仿它们。这应该在 chemfig 包本身中修复。如果我有时间,我会在问题追踪器。
\usemodule[chemfig]
\def\printatom#1{\mathematics{\mathrm#1}}
\setvalue{CF@begin@tikzpicture}{\tikzpicture}
\setvalue{CF@end@tikzpicture}{\endtikzpicture}
\starttext
\chemfig{A-B}
\stoptext