Заглавные буквы с использованием mhchem и глоссариев

Заглавные буквы с использованием mhchem и глоссариев

У меня возникли следующие проблемы с использованием mhchemв моих глоссариях. Я бы хотел не беспокоиться о том, использовал ли я уже аббревиатуру, когда начинаю предложение, но я обнаружил, что это \Glsне очень хорошо работает с mhchemin glossaries. Я могу обойти это, пытаясь отслеживать, использовал ли я уже аббревиатуру, но я бы хотел иметь возможность вносить изменения в свои \newacronymопределения, чтобы это работало. Буду признателен за любые предложения!

\documentclass{article}
\usepackage[acronym]{glossaries} % Load the package
\makeglossaries % Prepare the glossary
\usepackage[version=3]{mhchem}

\newacronym{CO2}{\ce{CO2}}{carbon dioxide}
\newacronym{CH4}{CH$_4$}{methane}
\newacronym{H2SO4}{\NoCaseChange{\ce{H2SO4}}}{sulfuric acid}

\begin{document}
    %I'd like the following to work, but it doesn't...
    \Gls{CO2} in the environment \ldots 
    \Gls{CO2} now generates an error

    \Gls{CH4} in the environment \ldots
    \Gls{CH4} works fine.

    %\gls works fine
    Calculation of the corresponding \gls{CO2} emissions to cover the surplus in electricity demand.

    %I also tried
    \Gls{H2SO4} is an acid. We use \gls{H2SO4} everyday. 
    \Gls{H2SO4} generates an error \ldots
    \gls{H2SO4} is okay.

    \printglossary[type=acronym,title={List of Abbreviations}]
    %\printglossaries

\end{document} 

решение1

Если указать базовому макросу перевода букв в верхний регистр ( \makefirstuc) пустую группу в качестве первого «токена» для его работы, то получится:

\newacronym{CO2}{{}\ce{CO2}}{carbon dioxide}

Без этого \ceаргумента \makefirstucдела идут плохо.

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