Schriftart in der chemmacros \iupac-Umgebung ändern?

Schriftart in der chemmacros \iupac-Umgebung ändern?

Ich verwende cfr-lmin meiner Abschlussarbeit die Schriftart , da mir das Aussehen der Zahlen im alten Stil im Fließtext sehr gefällt und meine Abschlussarbeit SEHR VIELE Zahlen enthält. Ich verwende auch die Kombination chemmacros/ .chemformula

Ich finde jedoch, dass sie (oder zumindest diese Implementierung von typceface) in chemischen Formeln oder Namen nicht sehr gut funktionieren. Jetzt gibt es dafür zwei einfache Lösungen mit chemformula, ich kann jedoch kein Äquivalent für chemmacrosdas Nomenklaturmodul finden.

Es sieht so aus, als müsste ich nur \plstyleam Anfang jedes \iupac{Befehls ein hinzufügen, aber ich bin nicht sicher, wie das geht oder ob das möglich ist, ohne andere Dinge kaputt zu machen.

\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}

Jetzt ichkönnteetwas wie machen \newcommand\iupacl[1]{\iupac{\plstyle #1}}, aber dann werde ich ewig nach Vorkommen davon suchen \iupacund sie ändern müssen, wenn ich Text aus älteren Dokumenten kopiere, also behalte ich das als Backup, falls es keine einfache Möglichkeit gibt, die Schriftart innerhalb der \iupacUmgebung zu ändern.

Antwort1

Ab v6.1 (13.02.2022) gibt es die Option nomenclature/iupac-format. Beachten Sie auch die Verwendung von \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}

Bildbeschreibung hier eingeben

Antwort2

Ich sehe keine offizielle Schnittstelle. Sie könnten eine Funktionsanfrage stellen, aber so etwas sollte funktionieren:

\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}

Anstatt den Standard des optionalen Arguments zu verwenden, könnte man die Option auch vor das setzen #1, dann würde sie immer ausgeführt.

Bildbeschreibung hier eingeben

verwandte Informationen