Изменить шрифт в среде chemmacros \iupac?

Изменить шрифт в среде chemmacros \iupac?

Я использую 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, тогда она будет выполняться всегда.

введите описание изображения здесь

Связанный контент