Paquete Acro: ¿Cómo imprimir solo un formulario (corto o largo) en la lista de abreviaturas? ¿Cómo intercambiar formato largo y corto en una lista impresa?

Paquete Acro: ¿Cómo imprimir solo un formulario (corto o largo) en la lista de abreviaturas? ¿Cómo intercambiar formato largo y corto en una lista impresa?

Para mi artículo (estudios medievales) me gustaría crear una lista de personas mencionadas y una lista de manuscritos mencionados (a menudo solo tienen una firma pero ningún nombre en sentido estricto). Para esto utilicé el paquete acro, que funciona de alguna manera... pero tengo dos problemas:

  1. En la lista de manuscritos, quiero imprimir la forma corta (o la forma larga. ¡No importa ya que son idénticas para los manuscritos!) y no tanto la forma corta como la larga. ¿Es esto posible con el paquete acro imprimir solo un formulario?

  2. En la lista de personas, me gustaría cambiar el orden de la forma corta y la forma larga (primero la forma larga, luego la forma corta). ¿Sería eso posible?

\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}

He estudiado bastante el acromanual y también lo busqué en Google, miré aquí. Probablemente estoy ciego.... Estaría muy agradecido si alguien pudiera ayudarme. Todavía nuevo en LaTeX. Un millón de gracias.

Respuesta1

Lo primero que pensé es que nomenclsería glossariesuna mejor herramienta para la lista de personas y biblatexpara la lista de manuscritos, pero puede personalizar absolutamente la lista de acrónimos según acrolo solicite.

La parte relevante de la documentación es III 25 Templates, la plantilla de lista predeterminada es

\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}
}

Para las listas de manuscritos, cambiaría \acrowrite{short}for \acrowrite{list}(por defecto long, pero se puede sobrescribir con list) y modificaría la impresión de extrapara que aparezca fuera de los corchetes, pero dejaría foreignla apariencia de las claves sin modificar.

\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}
}

Código compilado que muestra el resultado de la plantilla de lista de manuscritos.

Mientras que para las personas simplemente intercambiamos las claves \acrowrite{short}y \acrowrite{list}y, de lo contrario, las dejamos sin modificar.

\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}
}

Código compilado que muestra el resultado de la plantilla de lista de personas.

información relacionada