更改 chemmacros \iupac 環境中的字型?

更改 chemmacros \iupac 環境中的字型?

我在論文中使用了cfr-lm這種字體,因為我真的很喜歡正文中舊式數字的外觀,而且我的論文中有很多數字。我也在使用chemmacros/chemformula組合。

然而,我發現它們(或至少是 typeface 的實現)在化學公式或名稱中效果不佳。現在有兩個簡單的修復方法可以解決此問題chemformula,但是我找不到chemmacros命名法模組的等效項。

看起來我所要做的就是\plstyle在每個命令的開頭添加 a \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那麼它將始終執行。

在此輸入影像描述

相關內容