在 chemmacros \iupac 环境中更改字体?

在 chemmacros \iupac 环境中更改字体?

我在论文中使用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,这样它就会始终被执行。

在此处输入图片描述

相关内容