mhchem と用語集を使用した大文字

mhchem と用語集を使用した大文字

用語集で を使用すると、次のような問題が発生しますmhchem。文頭に頭字語が使用されているかどうかを気にしなくて済むようにしたいのですが、では\Glsうまく機能しないようです。頭字語をすでに使用しているかどうかを追跡することで回避できますが、定義を編集して機能させることができればと思います。ご提案があれば、ぜひお願いします。mhchemglossaries\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、物事はうまくいかなくなります。

関連情報