使用 chemnum 1.0 定义自己的标签

使用 chemnum 1.0 定义自己的标签

使用时:

\documentclass{standalone}
\usepackage{graphicx,auto-pst-pdf,chemnum}
\begin{document}
\cmpd[counter-representation=bar]{foo}
\end{document}

我得到的标签输出是“1”。我想定义一个自己的标签,作为foo内部描述符,并bar在调用时作为标签的输出。我使用的 Pre-1.0 版本\cmpd[cmpd-label=foo]{bar}满足了我的要求。

答案1

没有选项counter-representation,所以您的代码无法工作。无效/未知的选项将\cmpd被忽略。

我没有cmpd-label在 v1.0 中添加等效项,因为我认为它不是一个非常有用的选项,但也许我错了。(我没有想到它有实际的用例......)

您可以使用一种解决方法:添加一个命令来覆盖默认分配的标签很容易。为此,复合财产 counter-representation标签声明后需要重置(这需要 expl3 语法):

\NewDocumentCommand \setcmpdlabel {mm}
  { \chemnum_compound_set_property:nnn {#1} {counter-representation} {#2} }

完整的示例如下

\documentclass{article}
\usepackage{chemnum}

\ExplSyntaxOn
\NewDocumentCommand \setcmpdlabel {mm}
  { \chemnum_compound_set_property:nnn {#1} {counter-representation} {#2} }
\ExplSyntaxOff

\begin{document}

\cmpd*{foo}\setcmpdlabel{foo}{bar}\cmpd{foo} and again \cmpd{foo}

\end{document}

在此处输入图片描述

相关内容