mhchem 및 용어집을 사용한 대문자

mhchem 및 용어집을 사용한 대문자

mhchem내 용어집을 사용하는 데 다음과 같은 문제가 있습니다 . 문장을 시작할 때 이미 약어를 사용했는지 여부에 대해 걱정할 필요 가 \Gls없지만 mhchem. 아직 약어를 사용했는지 여부를 추적하여 문제를 해결할 수 있지만 정의를 편집하여 작동하게 만들고 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일이 잘못됩니다.

관련 정보