词汇表:强调每个部分的第一次出现

词汇表:强调每个部分的第一次出现

我正在寻找一种方法来强调每个部分中第一次出现的词汇表术语

\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} 

相关内容