
Я использую cfr-lm
в качестве шрифта в своей диссертации, так как мне очень нравится вид старого стиля цифр в основном тексте, а у меня в диссертации МНОГО цифр. Я также использую комбинацию chemmacros
/ chemformula
.
Однако я обнаружил, что они (или, по крайней мере, их реализация в typeface) не очень хорошо работают в химических формулах или именах. Теперь есть два простых исправления для этого с помощью chemformula
, однако я не могу найти эквивалент для chemmacros
модуля номенклатуры.
Похоже, мне нужно будет всего лишь добавить a \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
, тогда она будет выполняться всегда.