我想定义一种glossaries-extra
适合物种二名法的新缩写样式,如下所示:
首次使用(仅限长版本):大肠杆菌
第二种用法(仅简短版本):大肠杆菌
以下是缩写样式的示例long-em-short-em
:
\documentclass{scrartcl}
\usepackage{glossaries-extra}
\setabbreviationstyle[species]{long-em-short-em}
\newabbreviation[category={species}]{ecoli}{E.~coli}{Escherichia coli}
\begin{document}
First use: \gls{ecoli}\par
Second use: \gls{ecoli}
\end{document}
除了在第一次引用后用括号重复简短版本外,这种方法效果很好。我试图在用户手册(章节:13.1.2),但我不明白这些命令的具体工作原理。初学者指南(第 4 页及后续页)在我的文档中不起作用。
答案1
新的缩写样式用 定义\newabbreviationstyle
,如glossaries-extra
手动的(第 3.5 节,第 112 页,不幸的是没有太多细节)。
有几个方面需要考虑。格式化缩写是通过重新定义来完成的\CustomAbbreviationFields
。缩写的第一次使用是使用first
在内设置的键进行格式化的\CustomAbbreviationFields
。从示例开始,可以通过删除(括号中的短格式)以及(长格式和短格式之间的分隔)long-short
来删除短格式。\glsxtrparen{\protect\glsfirstabbrvfont{\the\glsshorttok}}
\protect\glsxtrfullsep{\the\glslabeltok}
其次,需要将缩写样式设置为,regular
以使更改生效,在第二个参数中使用以下代码\newabbreviationstyle
(第一个参数是样式名称):
\renewcommand*{\GlsXtrPostNewAbbreviation}{%
\glssetattribute{\the\glslabeltok}{regular}{true}}%
}%
第三,可以在的第三个参数中定义字体\newabbreviationstyle
,通过定义\glsfirstlongdefaultfont
第一次使用和\glsabbrvfont
后续使用来定义。
梅威瑟:
\documentclass{scrartcl}
\usepackage{glossaries-extra}
\newabbreviationstyle{custom-firstnoshort}% label
{% setup
\renewcommand*{\CustomAbbreviationFields}{%
name={\protect\glsabbrvfont{\the\glsshorttok}},
sort={\the\glsshorttok},
first={\protect\glsfirstlongfont{\the\glslongtok}},%
firstplural={\protect\glsfirstlongfont{\the\glslongpltok}},%
plural={\protect\glsabbrvfont{\the\glsshortpltok}},%
description={\the\glslongtok}}%
\renewcommand*{\GlsXtrPostNewAbbreviation}{%
\glssetattribute{\the\glslabeltok}{regular}{true}}%
}%
{% fmts
\renewcommand*{\glsfirstlongdefaultfont}[1]{\textit{##1}}%
\renewcommand*{\glsabbrvfont}[1]{\textit{##1}}%
}
\setabbreviationstyle[species]{custom-firstnoshort}
\newabbreviation[category={species}]{ecoli}{E.~coli}{Escherichia coli}
\begin{document}
First use: \gls{ecoli}\par
Second use: \gls{ecoli}
\end{document}
结果: