
Я использую glossaries
и хочу изменить внешний вид описаний аббревиатур на шрифтбеззасечки.
Мне удалось изменить название аббревиатуры, но не могу найти переключатель, чтобы также изменить описание.
Есть ли простой способ без необходимости вводить собственный формат глоссария?
МВЭ:
\documentclass[]{report}
\usepackage[
%nomain,
nonumberlist,
acronym,
section
]
{glossaries}
\renewcommand{\glsnamefont}[1]{\textsf{#1}} %Change acronym name font
\makeglossaries
\newacronym{NVP}{NVP} {Natural Ventilation Potential}
\begin{document}
\glsaddall
\printglossaries
\sffamily for comparison, this should be without serifs.
\end{document}
решение1
\glsnamefont
влияет только на то, как имя записи отображается в глоссарии. Для long-short
стиля акронима по умолчанию в поле отображается только краткая форма name
. Длинная форма помещается в description
поле.
Есть ли простой способ без необходимости вводить собственный формат глоссария?
Не для базового glossaries
пакета, если только вы просто не переведете весь глоссарий в шрифт без засечек:
\documentclass[]{report}
\usepackage[
%nomain,
nonumberlist,
acronym,
section
]
{glossaries}
\renewcommand{\glsnamefont}[1]{\textsf{#1}} %Change acronym name font
\renewcommand{\glossarypreamble}{\begin{sffamily}}
\renewcommand{\glossarypostamble}{\end{sffamily}}
\makeglossaries
\newacronym{NVP}{NVP} {Natural Ventilation Potential}
\begin{document}
\glsaddall
\printglossaries
\sffamily for comparison, this should be without serifs.
\end{document}
Поскольку вы отключили список цифр, это ничем не отличается от установки name
и description
в шрифте без засечек.
Альтернативой (если вы не хотите определять новый стиль глоссария) является использованиеglossaries-extra
Пакет расширения. Возможны два варианта:
Используйте long-em-short-em
стиль и измените команду шрифта с \emph
на \textsf
. Это изменит стиль как в тексте документа (если вы используете \gls
), так и в глоссарии:
\documentclass[]{report}
\usepackage[
%nomain,
nonumberlist,
acronym,
section
]
{glossaries-extra}
\makeglossaries
\setabbreviationstyle[acronym]{long-em-short-em}
\renewcommand*{\glslongemfont}[1]{\textsf{#1}}%
\renewcommand*{\glsabbrvemfont}[1]{\textsf{#1}}%
\newacronym{NVP}{NVP} {Natural Ventilation Potential}
\begin{document}
\glsaddall
\printglossaries
\sffamily for comparison, this should be without serifs.
\end{document}
В качестве альтернативы, если вы хотите только изменить description
поле в глоссарии (но не изменить способ отображения длинной формы в документе), вы можете установить атрибут glossdescfont
следующим образом:
\documentclass[]{report}
\usepackage[
%nomain,
nonumberlist,
acronym,
section
]
{glossaries-extra}
\makeglossaries
\glssetcategoryattribute{acronym}{glossdescfont}{textsf}
\glssetcategoryattribute{acronym}{glossnamefont}{textsf}
\setabbreviationstyle[acronym]{long-short}
\newacronym{NVP}{NVP} {Natural Ventilation Potential}
\begin{document}
\glsaddall
\printglossaries
\sffamily for comparison, this should be without serifs.
\end{document}
Здесь я использовал
\glssetcategoryattribute{acronym}{glossnamefont}{textsf}
вместо
\renewcommand{\glsnamefont}[1]{\textsf{#1}}
таким образом, изменение шрифта затронет только аббревиатуры (в случае, если у вас смесь обычных терминов и аббревиатур).