编译代码时
\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,将呈现以下内容:
第二行代表这里想要表达的意思。
根据 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。