
我在論文中使用了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
那麼它將始終執行。