我有一个问题。我想在首字母缩略词定义中使用 SI 单位 X。例如:
\newacronym{M}{\si{\Molar}}{molar}
遗憾的是,这不起作用。有没有办法在首字母缩略词定义中使用 SI 单位?我知道可以使用\newglossaryentry
,但我想将所有首字母缩略词放在一个列表中。当我删除所有\si
部分时,它就可以正常工作。但我希望间距正确。
答案1
(如果您能提供最小工作示例(MWE)以便人们能够使用。
问题是由定义条目时执行的默认扩展引起的。可以使用\glsnoexpandfields
关闭扩展来解决此问题:
\documentclass{article}
\usepackage{siunitx}
\usepackage{glossaries}
\DeclareSIUnit\Molar{\textsc{m}}
\makeglossaries
\glsnoexpandfields
\newacronym{M}{\si{\Molar}}{molar}
\begin{document}
\gls{M}
\printglossaries
\end{document}
或者,保护脆弱的命令:
\documentclass{article}
\usepackage{siunitx}
\usepackage{glossaries}
\DeclareSIUnit\Molar{\textsc{m}}
\makeglossaries
\newacronym{M}{\protect\si{\protect\Molar}}{molar}
\begin{document}
\gls{M}
\printglossaries
\end{document}