这可能是一个棘手的问题。我正在使用该glossaries-extra
包来定义首字母缩略词列表。在我的文档中,我有一些“通用”首字母缩略词,有时还有一些“行话”首字母缩略词,我想用斜体强调它们。
有了现在的 MWE:
\documentclass[a4paper]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[automake,abbreviations,nonumberlist,sort=def,nogroupskip]{glossaries-extra}
\makeglossaries
\setglossarypreamble[\acronymtype]{\glssetwidest{RMS}}
\newabbreviation{rms}{RMS}{Root Mean Square}
\newabbreviation{usa}{USA}{United States of America}
\begin{document}
We often define amplitudes in terms of their \gls{rms} value.
I live in the \gls{usa}.
% \textit{\gls{rms}} also italicises the parentheses
\printabbreviations[style=alttree]
\end{document}
我如何定义一个命令,使特定的条目在第一次使用时以斜体显示,但不将实际的首字母缩略词放在括号之间,同时保持首字母缩略词列表不变?
如果我使用\textit{\gls{rms}}
,则定义和括号将以斜体显示。
如果我使用\renewcommand{\glstextformat}[1]{\textit{#1}}
,则所有条目都会以斜体显示。
答案1
第一步是使用类别。默认类别是general
。我们假设您的术语条目应该是类别jargon
。
\glssetcategoryattribute{jargon}{textformat}{texttt}
只影响术语条目,但也影响缩写形式。
您可以使用\setabbreviationstyle[jargon]{<style>}
,但这也会影响词汇表中使用的样式。此外,您似乎必须根据自己的需要定义自己的样式。
我建议如下:
\documentclass[a4paper]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[automake,abbreviations,nonumberlist,sort=def,nogroupskip]{glossaries-extra}
\makeglossaries
\setglossarypreamble[\acronymtype]{\glssetwidest{RMS}}
\setabbreviationstyle[jargon]{long-short}
\glssetcategoryattribute{jargon}{glossdescfont}{emph} % Remove emph in glossary by using it again
\newabbreviation[category=jargon]{rms}{RMS}{\emph{Root Mean Square}}
\newabbreviation{usa}{USA}{United States of America}
\begin{document}
We often define amplitudes in terms of their \gls{rms} value.
I live in the \gls{usa}.
\printabbreviations[style=alttree]
\end{document}
您可能注意到我\emph
在这里使用了斜体,因为使用两次会消除斜体效果。如果您使用的某种样式不使用斜体,那么这可能不适合。
\glssetcategoryattribute{jargon}{glossdescfont}{textnormal}
如果描述之前是斜体,则不起作用。