chemnum:标签格式不会全局影响 \cmpd 定义?

chemnum:标签格式不会全局影响 \cmpd 定义?

编译代码时

\documentclass{article}
\usepackage{chemnum}
\begin{document}

\cmpd*[label-format=\bfseries\textsuperscript,pre-label-code=\textbf{Me\textsubscript{2}L}]{Me2bdc}
\resetcmpd[1]
\cmpd*[label-format=\bfseries\textsuperscript,pre-label-code=\textbf{H\textsubscript{2}L}]{H2bdc}

\cmpd{Me2bdc} and \cmpd{H2bdc}

\cmpd[format=\bfseries\textsuperscript]{Me2bdc} and \cmpd[format=\bfseries\textsuperscript]{H2bdc}

\end{document}

使用 pdflatex,将呈现以下内容:

'1' 格式的全局定义与局部定义

第二行代表这里想要表达的意思。

根据 chemnum 手册,label-format应该使用 来更改标签的属性,而 则format用于在\cmpd本地更改 的各个实例的显示。但是, 的定义label-format=\bfseries\textsuperscript似乎对 1 的显示没有影响(参见第一行)。只有format=\bfseries\textsuperscript在调用相应化合物时使用 时,才会进行格式化(第二行)。我在这里做错了什么?使用最新 TeX Live 2019 中的 chemnum 1.2c。

答案1

这是对手册的错误解释或误解。

标签格式财产化合物,但不是一个选择可以设置。复合属性不能由用户直接设置。

该选项format在与 一起使用时被称为 并起全局作用\setchemnum,在作为 的选项使用时则在本地起作用\cmpd

所以答案是:使用\setchemnum{format=\bfseries\textsuperscript}

如果您想将其限制为仅有的几个化合物,您需要在声明化合物后再次设置格式或使用组:这是可行的,因为选项设置对于分组来说是本地的,但化合物始终是全局定义的。

\documentclass{article}
\usepackage{chemnum}

\begin{document}

\begingroup
\setchemnum{format=\bfseries\textsuperscript}
\cmpd*[pre-label-code=\textbf{Me\textsubscript{2}L}]{Me2bdc}
\resetcmpd
\cmpd*[pre-label-code=\textbf{H\textsubscript{2}L}]{H2bdc}
\endgroup

\cmpd{Me2bdc} and \cmpd{H2bdc}

\end{document}

在此处输入图片描述


label-format在声明标签时,能够以复合方式设置属性可能是合理的。为此,一个选项可能很有用(可以称为label-format)。如果这对您来说听起来像是一个有用的功能,请随时在github

相关内容