Курсивные буквы в модуле iupac chemmacros не работают при определении аббревиатуры с использованием глоссариев

Курсивные буквы в модуле iupac chemmacros не работают при определении аббревиатуры с использованием глоссариев

Я пытаюсь составить список сокращений для своей диссертации и использую для этого iupacмодуль пакета chemmacros. Я использую однобуквенные команды для набора курсива, потому что это проще, чем устанавливать курсив для каждой буквы. Я считаю, что определения в пакете на самом деле являются просто \textit{}кодами для каждой определенной буквы. Однако они не работают при определении сокращения! (но работают при использовании \textit{}). Я думаю, я могу просто набрать каждое из них с помощью \textit{}команды, но мне интересно, почему это так.

Это работает:

\documentclass{report}
\usepackage{chemmacros}
\usepackage{glossaries}

\newacronym{DMF}{DMF}{\iupac{\textit{N},\textit{N}-dimethylformamide}}

\begin{document}
    Dissolve in \gls{DMF}. Evaporate \gls{DMF} off.
\end{document}

Но это не так:

\documentclass{report}
\usepackage{chemmacros}
\usepackage{glossaries}

\newacronym{DMF}{DMF}{\iupac{\N,\N-dimethylformamide}}

\begin{document}
    Dissolve in \gls{DMF}. Evaporate \gls{DMF} off.
\end{document}

(Я пробовал использовать \nitrogenвместо , \Nно это тоже не работает)

Редактировать:

То же самое касается команды \chemprime. Использование 'или ее определения \ensuremath{{}^{\prime}работает в обоих случаях.

решение1

Это проблема расширения. \glsnoexpandfieldsпоможет:

\documentclass{report}
\usepackage{chemmacros}
\usepackage{glossaries}

\glsnoexpandfields
\newacronym{DMF}{DMF}{\iupac{\N,\N-dimethylformamide}}

\begin{document}

Dissolve in \gls{DMF}. Evaporate \gls{DMF} off.

\end{document}

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

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