Изменение стандартного поведения пакета \ac Acro в разделе, подразделе и подподразделах на \acl* по умолчанию

Изменение стандартного поведения пакета \ac Acro в разделе, подразделе и подподразделах на \acl* по умолчанию

Я хочу изменить поведение пакета acro при использовании в заголовках разделов, чтобы по умолчанию использовалась длинная форма аббревиатуры и игнорировалось использование аббревиатуры, эквивалентной \acl*{GPS}. Я хочу сделать это по умолчанию, чтобы можно было писать \ac{GPS}вместо \acl*{GPS}каждый раз. Возможно ли это?

Код ниже:

\documentclass{article}
\usepackage[utf8]{inputenc}

\usepackage{acro}
\acsetup{sort=true, only-used = true, list-style = extra-tabular, macros=true, list-caps=true, single}
\acsetup{list-short-width=-1cm}
\DeclareAcroListStyle{extra-tabular}{extra-table}{
  table = tabular,  table-spec = lp{12cm}p{2cm}l
}
\newcommand*{\acro}[3]{\DeclareAcronym{#1}{short=#2,long=#3}}

\acro{GPS}{GPS}{Global Positioning Service}

\begin{document}
\ac{GPS}

\section{\acl*{GPS}}

\subsection{\ac{GPS}}

\ac{GPS}

\end{document}

решение1

Если вы действительно используете articleкласс, вы можете переопределить его \sectionкоманду (см. article.cls), добавив следующее в преамбулу (перед \begin{document}):

\makeatletter
\renewcommand\section{\@startsection {section}{1}{\z@}%
                                   {-3.5ex \@plus -1ex \@minus -.2ex}%
                                   {2.3ex \@plus.2ex}%
                                   {\normalfont\Large\bfseries\def\ac{\acl*}}}
\makeatother

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