Печать аббревиатур не курсивом

Печать аббревиатур не курсивом

При определении аббревиатуры я определяю ее длинную версию курсивом, потому что я хочу, чтобы она была написана курсивом в самом тексте. Однако, когда я печатаю аббревиатуры в таблице аббревиатур в самом начале документа, я хочу, чтобы длинная версия была некурсивной. Как это сделать?

\documentclass{article}

\usepackage{acro}
\DeclareAcronym{se}{short=SE,long=\emph{StackExchange}}

\begin{document}
    \printacronyms
    
    \ac{se}
\end{document}

решение1

acroпозволяет применять отдельное форматирование к длинной и списковой форме с помощью клавиш long-formatи list-format. Это позволяет использовать полностью специфичные для акронима настройки и не требует никаких переопределений.

\documentclass{article}
\usepackage{acro}

\DeclareAcronym{se}{
  short=SE,
  long=StackExchange,
  long-format=\emph,
  list-format=,
}

\begin{document}
  \printacronyms
  \ac{se}
\end{document}

введите описание изображения здесь

list-formatпо умолчанию принимает long-formatстиль, поэтому после настройки long-formatнам нужно сбросить, list-formatчтобы он стал пустым.

решение2

Самый простой способ сделать это — создать команду для длинной формы введения, а затем переопределить ее локально для списка:

\documentclass{article}

\usepackage{acro}
\newcommand\longfont[1]{\emph{#1}}
\DeclareAcronym{se}{short=SE,long=\longfont{StackExchange}}

\begin{document}
% We enclose the \printacronyms command and redefinition in
% a group { ... } so that the redefinition is local.
{\let\longfont\relax
    \printacronyms
}    
    \ac{se}
\end{document}

вывод кода

Связанный контент