我注意到,当我使用glossaries
package with mhchem
(在 内部\ce{...}
)时,缩写总是用斜体表示(这是不希望的),而chemformula
一切都按预期工作(\ch{...}
)。
我做错了什么吗?如何使用两个包获得一致且正确呈现的缩写(我使用 XeLaTeX 和 makeglossaries),而不使用或中的明显\mathrm
或\text
序列?\newacronym
\newglossaryentry
MWE 及其呈现的内容:
\documentclass{article}
\usepackage[version=4]{mhchem}
\usepackage[modules=all]{chemmacros}
\usepackage[colorlinks]{hyperref}
\usepackage[acronym]{glossaries}
\makeglossaries
\newacronym{DMSO}{DMSO}{dimethyl sulfoxide}
\newglossaryentry{b.p.}{name={b.p.},description={boiling point}}
\begin{document}
\glsunsetall
\Gls{DMSO} (\gls{b.p.} 189) is used to obtain \ce{[CrCl2(\gls{DMSO})4]+} (mhchem) | \ch{[CrCl2(\gls{DMSO})4]+} (chemformula)
\printglossaries
\end{document}
答案1
正如 Nicola 正确指出的那样,这不是和朋友的问题,而是来自包的命令试图解析其参数的\gls
问题。\ce{...}
mhchem
要转义 中的解析\ce{..}
,请将 括\gls{DMSO}
在一对括号中,例如。有关更多详细信息,请参阅包文档\ce{[CrCl2({\gls{DMSO}})4]+}
中的“转义解析,Upright 文本” 。mhchem
完整的 MWE:
\documentclass{article}
\usepackage[version=4]{mhchem}
\usepackage[modules=all]{chemmacros}
\usepackage[colorlinks]{hyperref}
\usepackage[acronym]{glossaries}
\makeglossaries
\newacronym{DMSO}{DMSO}{dimethyl sulfoxide}
\newglossaryentry{b.p.}{name={b.p.},description={boiling point}}
\begin{document}
\glsunsetall
\Gls{DMSO} (\gls{b.p.} 189) is used to obtain \ce{[CrCl2({\gls{DMSO}})4]+} (mhchem) | \ch{[CrCl2(\gls{DMSO})4]+} (chemmacros)
\printglossaries
\end{document}