我在论文中使用cfr-lm
此字体,因为我非常喜欢正文中旧式数字的外观,而且我的论文中有很多数字。我还使用了chemmacros
/chemformula
组合。
但是,我发现它们(或者至少是 typceface 的实现)在化学公式或名称方面效果不佳。现在有两个简单的解决方案chemformula
,但我找不到chemmacros
命名模块的等效解决方案。
看起来我要做的就是\plstyle
在每个命令的开头添加一个\iupac{
,但我不确定如何做到这一点,或者在不破坏其他东西的情况下是否可以做到这一点。
\documentclass{article}
\usepackage{cfr-lm}
\usepackage{chemmacros}
\begin{document}
\iupac{(1\textit{R},2\textit{R})-\trans-1,2-Cyclohexanedicarboxylate} Old style
\iupac{\plstyle(1\textit{R},2\textit{R})-\trans-1,2-Cyclohexanedicarboxylate} Lining
\iupac{2,2':6',2''-terpyridine} Old style
\iupac{\plstyle 2,2':6',2''-terpyridine} Lining
\end{document}
现在我可以做一些类似的事情\newcommand\iupacl[1]{\iupac{\plstyle #1}}
,但随后我将永远追捕实例\iupac
并不得不在从旧论文中复制文本时更改它们,所以如果没有简单的方法来更改环境中的字体,我会将其作为备份\iupac
。
答案1
从 v6.1 (2022/02/13) 开始,有选项 nomenclature/iupac-format
。另请注意 的使用\cip
:
\documentclass{article}
\usepackage{cfr-lm}
\usepackage{chemmacros}
\chemsetup{
nomenclature/iupac-format=\plstyle
}
\begin{document}
\iupac{\cip{1R,2R}-\trans-1,2-Cyclohexanedicarboxylate}
\iupac{2,2':6',2''-terpyridine}
\end{document}
答案2
我没有看到官方界面---你可以提出功能请求---但类似这样的事情应该可以工作:
\documentclass{article}
\usepackage{cfr-lm,color}
\usepackage{chemmacros}
\ExplSyntaxOn
\chemmacros_define_keys:nn {nomenclature}
{
iupac-format .code:n =
{
#1
} ,
}
\RenewDocumentCommand \iupac {O{iupac-format=\plstyle}m} { \chemmacros_iupac:nn {#1} {#2} }
\ExplSyntaxOff
\begin{document}
\iupac{(1\textit{R},2\textit{R})-\trans-1,2-Cyclohexanedicarboxylate} Old style
\iupac{\plstyle(1\textit{R},2\textit{R})-\trans-1,2-Cyclohexanedicarboxylate} Lining
\iupac{2,2':6',2''-terpyridine} Old style
\iupac{\plstyle 2,2':6',2''-terpyridine} Lining
1234567
\end{document}
您也可以不使用可选参数的默认值,而是将选项放在之前#1
,这样它就会始终被执行。