我想为我的乳胶项目中的首字母缩略词和词汇表定义以下样式。
或者看看这里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}}}}
这会将上标移到标点符号后面。