我正在寻找一种方法来强调每个部分中第一次出现的词汇表术语
\usepackage{glossaries}
\makeglossaries
\newglossaryentry{webapp}{
name=webapp,
first={\underline{webapp}},
description={description of the webapp}
}
如果我以这种方式使用它
\section{first}
\gls{webapp} \gls{webapp} \gls{webapp} \gls{webapp}
\section{second}
\gls{webapp} \gls{webapp} \gls{webapp} \gls{webapp}
仅第一部分中第一次出现的项会被加下划线,其他出现的项则不会。
是否有解决方案可以使第二部分中第一次出现的“webapp”也带下划线?
答案1
是的,这是可能的,您只需在需要时发出命令\glsreset{webapp}
来重置行为即可。如果您想重置所有词汇表条目的行为,请使用\glsresetall
。
平均能量损失
\documentclass{article}
\usepackage{glossaries}
\makeglossaries
\newglossaryentry{webapp}{
name=webapp,
first={\underline{webapp}},
description={description of the webapp}
}
\begin{document}
\section{frist}
\gls{webapp} \gls{webapp} \gls{webapp} \gls{webapp}
\section{second}
\glsreset{webapp}
\gls{webapp} \gls{webapp} \gls{webapp} \gls{webapp}
\printglossaries
\end{document}
输出:
如果你不想每次发出时手动插入该行\section
,你可以在序言中插入以下行
\pretocmd{\section}{\glsresetall}{}{}
它需要etoolbox
自动加载glossaries
。
例如,以下 MWE 产生与上述相同的结果:
\documentclass{article}
\usepackage{glossaries}
\makeglossaries
\newglossaryentry{webapp}{
name=webapp,
first={\underline{webapp}},
description={description of the webapp}
}
\pretocmd{\section}{\glsresetall}{}{}
\begin{document}
\section{first}
\gls{webapp} \gls{webapp} \gls{webapp} \gls{webapp}
\section{second}
\gls{webapp} \gls{webapp} \gls{webapp} \gls{webapp}
\printglossaries
\end{document}