Пакет Acro: Как напечатать только одну форму (короткую или длинную) в списке сокращений? Как поменять местами длинную и короткую форму в печатном списке?

Пакет Acro: Как напечатать только одну форму (короткую или длинную) в списке сокращений? Как поменять местами длинную и короткую форму в печатном списке?

Для своей работы (медиевистика) я хотел бы создать список упомянутых лиц и список упомянутых рукописей (они часто имеют только подпись, но не имя в строгом смысле). Для этого я использовал пакет acro, который как-то работает... но у меня есть две проблемы:

  1. В списке рукописей я хочу напечатать краткую форму (или длинную форму. Это неважно, так как они идентичны для рукописей!), а не краткую и длинную формы. Возможно ли это вообще с пакетом acro напечатать только одну форму?

  2. В списке лиц я хотел бы поменять местами краткую и полную формы (сначала полная форма, потом краткая). Возможно ли это?

\documentclass{scrbook}

\usepackage{acro}

\acsetup{
    pages / display = all
}

\DeclareAcronym{john}{
    short =     {Johnny},
    long =      {John Example},
    long-post = {\space (1900--1980)},
    extra =     {1900--1980, poet},
    tag={person}
}

\DeclareAcronym{abc_123}{
    short =     {ABC~123},
    long =      {ABC~123},
    long-post = {\space (20th century)},
    extra = {20th century, paper manuscript},
    tag={manuscript},
}

\begin{document}
    
    \acl{john} wrote \acs{abc_123}. 

    \printacronyms[include=person, name=Persons, preamble={Something about people.}]
    \printacronyms[include=manuscript, name=Manuscripts, preamble={Something about manuscripts.}]   
    
\end{document}

Я довольно много изучал acro-manual, а также гуглил его, смотрел здесь. Я, наверное, просто слепой.... Я был бы очень благодарен, если бы кто-то мог мне помочь. Все еще новичок в LaTeX. Спасибо миллион.

решение1

Моя первая мысль заключается в том, что nomenclили glossariesбыл бы лучшим инструментом для списка персон и biblatexсписка рукописей, но вы можете полностью настроить список сокращений по acroсвоему желанию.

Соответствующая часть документации III 25 Templates, шаблон списка по умолчанию -

\NewAcroTemplate[list]{description}{%
  \acroheading
  \acropreamble
  \begin{description}
    \acronymsmapF{%
      \item[\acrowrite{short}\acroifT{alt}{/\acrowrite{alt}}]
        \acrowrite{list}%
        \acroifanyT{foreign,extra}{ (}%
        \acroifT{foreign}{\acrowrite{foreign}\acroifT{extra}{, }}%
        \acroifT{extra}{\acrowrite{extra}}%
        \acroifanyT{foreign,extra}{)}%
        \acropagefill
        \acropages
          {\acrotranslate{page}\nobreakspace}
          {\acrotranslate{pages}\nobreakspace}%
      }
      {\item\AcroRerun}
  \end{description}
}

Для списков рукописей я бы заменил \acrowrite{short}for \acrowrite{list}(по умолчанию long, но его можно перезаписать на list) и изменил бы написание extraтак, чтобы оно отображалось за скобками, но оставил бы foreignвнешний вид ключей неизменным.

\NewAcroTemplate[list]{manuscripts}{%
  \acroheading
  \acropreamble
  \begin{description}
    \acronymsmapF{%
      \item[\acrowrite{list}\acroifT{alt}{/\acrowrite{alt}}]
        \acrowrite{extra}%
        \acroifT{foreign}{ (%
        \acrowrite{foreign}%
        )}%
        \acropagefill
        \acropages
          {\acrotranslate{page}\nobreakspace}
          {\acrotranslate{pages}\nobreakspace}%
      }
      {\item\AcroRerun}
  \end{description}
}

Скомпилированный код, показывающий результат шаблона списка рукописей

В то время как для людей мы просто меняем местами \acrowrite{short}ключи \acrowrite{list}и и оставляем все без изменений.

\NewAcroTemplate[list]{persons}{%
  \acroheading
  \acropreamble
  \begin{description}
    \acronymsmapF{%
      \item[\acrowrite{list}\acroifT{alt}{/\acrowrite{alt}}]
        \acrowrite{short}%
        \acroifanyT{foreign,extra}{ (}%
        \acroifT{foreign}{\acrowrite{foreign}\acroifT{extra}{, }}%
        \acroifT{extra}{\acrowrite{extra}}%
        \acroifanyT{foreign,extra}{)}%
        \acropagefill
        \acropages
          {\acrotranslate{page}\nobreakspace}
          {\acrotranslate{pages}\nobreakspace}%
      }
      {\item\AcroRerun}
  \end{description}
}

Скомпилированный код, показывающий результат шаблона списка лиц

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