我尝试用命令( )的定义替换 ( ) code
。\chemfig<code>
但结果不一样。\chemfig{C*6(-C-C-C-C-C-)}
\mymacroC
\def\mymacroC{C*6(-C-C-C-C-C-)}
有人知道为什么我不能使用自己的宏定义来实现相同的结果吗?
梅威瑟:
\documentclass{article}
\usepackage{chemfig}
\begin{document}
works as expected:\\
\chemfig{C*6(-C-C-C-C-C-)}
does not work as expected:\\
\def\mymacroC{C*6(-C-C-C-C-C-)}% or also \newcommand does not work
\chemfig{\mymacroC}
\end{document}
结果:
答案1
显然,\chemfig
它没有尝试扩展其主要论点。
该包提供了一种定义简写的方法,
\definesubmol{hexC}{C*6(-C-C-C-C-C-)}
在序言和
\chemfig{!{hexC}}
在正文中(参见手册第 7 节)。
另一方面,“标准”
\expandafter\chemfig\expandafter{\mymacro}
就可以了(当你不需要可选参数时\chemfig
)。