如何使用词汇表的 \defglsentryfmt 来排版条目的第一次出现?

如何使用词汇表的 \defglsentryfmt 来排版条目的第一次出现?

我想将词汇表条目的第一次出现设置为斜体。从这个答案对于相关问题,我得到了以下 MWE:

\documentclass{article}

\usepackage{glossaries}
\makeglossaries

\defglsdisplayfirst[\glsdefaulttype]{\textit{#1}}

\newglossaryentry{term}{name={technical term}, description=\nopostdesc}

\begin{document}
First occurrance of \gls{term}, second occurrance of \gls{term}.

\end{document}

但是,它有两个问题。首先,\defglsdisplayfirst显然已被弃用;其次,我在使用它时得到了不需要的水平空间:

在此处输入图片描述

我见过类似的问题,关于如何在不使用 的情况下解决这个问题\defglsdisplayfirst,但它们都与首字母缩略词有关。我既使用首字母缩略词,也使用其他非首字母缩略词的条目,我希望这适用于所有类型的词汇表条目。

作为弃用警告的一部分,它说我应该使用\defglsentryfmt它,但我不知道如何使用它。

答案1

仔细查看手册并了解\glsentryfmt其最初的定义后,我终于弄明白了。=)

这给了我想要的东西:

\documentclass{article}

\usepackage{glossaries}
\makeglossaries

\defglsentryfmt{%
  \ifglsused{\glslabel}{%
    \glsgenentryfmt%
  }{%
    % Typeset first use
    \textit{\glsgenentryfmt}%
  }%
}

\newglossaryentry{term}{name={technical term}, description=\nopostdesc}

\begin{document}
First occurrance of \gls{term}, second occurrance of \gls{term}.

\end{document}

相关内容