如何设计第一个缩写词和第一个词汇表的样式

如何设计第一个缩写词和第一个词汇表的样式

我想为我的乳胶项目中的首字母缩略词和词汇表定义以下样式。


在此处输入图片描述

或者看看这里Overleaf 中的一个小例子

目前我已经尝试使用以下代码,但结果是所有后续出现的内容都会有上标“gl”。

\usepackage[acronym , toc]{glossaries} \setglossarystyle{altlistgroup} \newcommand*{\glossfirstformat}[1]{\textbf{\textit{#1}}} \renewcommand{\glstextformat}[1]{#1\textsuperscript{gl}}

答案1

使用更简单glossaries-extra扩展包:

\documentclass{article}

\usepackage[abbreviations]{glossaries-extra}

\makeglossaries

\newcommand{\firstuseformat}[1]{\textbf{\emph{#1}}}

\renewcommand{\glslinkpresetkeys}{% requires v1.26+
  \ifglsused{\glslabel}%
  {\letcs\glstextformat{@firstofone}}%
  {\let\glstextformat\firstuseformat}%
}

\newcommand{\glsxtrpostlinkabbreviation}{\glsxtrifwasfirstuse{}{\textsuperscript{ab}}}
\newcommand{\glsxtrpostlinkgeneral}{\glsxtrifwasfirstuse{}{\textsuperscript{gl}}}

\newabbreviation{HW}{HW}{Hello World}

\newglossaryentry{entropie}{name={entropie},
 description={...}}

\begin{document}
First use: \gls{HW} and \gls{entropie}.

Next use: \gls{HW} and \gls{entropie}. 

\printglossaries
\end{document}

得出的结果为:

文件图像

如果您的版本glossaries-extra太旧,\glslinkpresetkeys将不会被定义,但您可以使用(从 v4.16 开始\glslinkpostsetkeys由基础包提供)。glossaries

如果您希望继续使用\newacronym而不是\newabbreviation那么您需要做一些修改:

\documentclass{article}

\usepackage[acronyms]{glossaries-extra}

\makeglossaries

\newcommand{\firstuseformat}[1]{\textbf{\emph{#1}}}

\renewcommand{\glslinkpresetkeys}{%
  \ifglsused{\glslabel}%
  {\letcs\glstextformat{@firstofone}}%
  {\let\glstextformat\firstuseformat}%
}

\newcommand{\glsxtrpostlinkacronym}{\glsxtrifwasfirstuse{}{\textsuperscript{ab}}}
\newcommand{\glsxtrpostlinkgeneral}{\glsxtrifwasfirstuse{}{\textsuperscript{gl}}}

\setabbreviationstyle[acronym]{long-short}
\newacronym{HW}{HW}{Hello World}

\newglossaryentry{entropie}{name={entropie},
 description={...}}

\begin{document}
First use: \gls{HW} and \gls{entropie}.

Next use: \gls{HW} and \gls{entropie}. 

\printglossaries
\end{document}

结果非常相似,但是缩写列表的标题不同:

文件图像

关于后链接钩子命令,其形式为\glsxtrpostlink类别从 1.31 版开始,你可以使用以下方式(重新)定义它们\glsdefpostlink{类别}{定义}。因此,如果您至少拥有 v1.31,则可以替换:

\newcommand{\glsxtrpostlinkabbreviation}{\glsxtrifwasfirstuse{}{\textsuperscript{ab}}}
\newcommand{\glsxtrpostlinkgeneral}{\glsxtrifwasfirstuse{}{\textsuperscript{gl}}}

\glsdefpostlink{abbreviation}{\glsxtrifwasfirstuse{}{\textsuperscript{ab}}}
\glsdefpostlink{general}{\glsxtrifwasfirstuse{}{\textsuperscript{gl}}}

另一种变体是\glsxtrdopostpunc在后链接钩子中使用来检查某些标点符号。例如:

\newcommand{\glsxtrpostlinkacronym}{%
 \glsxtrdopostpunc{\glsxtrifwasfirstuse{}{\textsuperscript{ab}}}}
\newcommand{\glsxtrpostlinkgeneral}{%
 \glsxtrdopostpunc{\glsxtrifwasfirstuse{}{\textsuperscript{gl}}}}

这会将上标移到标点符号后面。

相关内容