acro: mueve la traducción a la siguiente línea solo para acrónimos seleccionados

acro: mueve la traducción a la siguiente línea solo para acrónimos seleccionados

Adoptando un ejemplo del acromanual del paquete (p. 38, versión 2.10c),

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{lmodern}
\usepackage[ngerman,english]{babel}
\usepackage[version=2]{acro}
\usepackage{enumitem}

\DeclareAcronym{Rv}{short=Rv,long=Fluss,foreign=\textit{river},foreign-lang=english}
\DeclareAcronym{Drs}{short=Drs,long=Donaudampfschiff,foreign=\textit{Donau river steamer},foreign-lang=english}

\begin{document}

\acuseall

\newlist{acronyms}{description}{1}
\newcommand*\addcolon[1]{#1:}
\setlist[acronyms]{
    labelwidth=3em,
    leftmargin=3.5em,
    noitemsep,
    itemindent=0pt,
    font=\addcolon}
\DeclareAcroListStyle{mystyle}{list}{list=acronyms}
\acsetup{list-style=mystyle}
\twocolumn
\printacronyms

\end{document}

da

ingrese la descripción de la imagen aquí

Me gustaría mover la traducción sólo del primer acrónimo a la siguiente línea, ya que creo que esto aumentará tanto la legibilidad como la apariencia visual. ¿Es posible anteponer un \linebreakacrónimo seleccionado por el usuario? Tenga en cuenta que debo usarlo acroen modo de compatibilidad, de ahí la version=2opción.

Respuesta1

Encontré una solución:

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{lmodern}
\usepackage[ngerman,english]{babel}
\usepackage[version=2]{acro}
\usepackage{enumitem}

\DeclareAcronym{Rv}{short=Rv,long=Fluss,foreign=\textit{river},foreign-lang=english}
\DeclareAcronym{Drs}{short=Drs,long=Donaudampfschiff,list=Donaudampfschiff\newline,foreign=\textit{Donau river steamer},foreign-lang=english}

\begin{document}

\acuseall

\newlist{acronyms}{description}{1}
\newcommand*\addcolon[1]{#1:}
\setlist[acronyms]{
    labelwidth=3em,
    leftmargin=3.5em,
    noitemsep,
    itemindent=0pt,
    font=\addcolon}
\DeclareAcroListStyle{mystyle}{list}{list=acronyms}
\acsetup{list-style=mystyle}
\twocolumn
\printacronyms

\end{document}

Produce: ingrese la descripción de la imagen aquí

Respuesta2

En caso de que desee utilizar la versión 3, así es como puede definir una propiedad booleana para acrónimos que puede probar en una plantilla de lista y, dependiendo de su valor, insertar un salto de línea o no. Tal propiedad se define con

\DeclareAcroProperty?{boolean-property}

y registrado en una plantilla con

\acroifbooleanTF{boolean-property}{true}{false}

El siguiente ejemplo lo llama foreign-newliney muestra una plantilla similar a la descriptionplantilla predefinida (dejé los campos extray pagesfuera, pero se podrían agregar, por supuesto):

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[english,ngerman]{babel}
\usepackage{acro}
\usepackage{enumitem}

\DeclareAcroProperty?{foreign-newline}

\NewAcroTemplate[list]{custom}{
  \acroheading
  \acropreamble
  \begin{description}[
    labelwidth = 3em ,
    leftmargin = 3.5em ,
    noitemsep ,
    itemindent = 0pt]
    \acronymsmapF{%
      \item[\acrowrite{short}\acroifT{alt}{/}\acrowrite{alt}:]%
        \acrowrite{list}%
        \acroifT{foreign}{%
          \acroifbooleanTF{foreign-newline}{\newline}{ }%
          (\textit{\acrowrite{foreign}})
        }%
    }
    { \item \AcroRerun }%
  \end{description}%
}

\acsetup{
  list/template = custom
}

\DeclareAcronym{Rv}{
  short = Rv ,
  long = Fluss ,
  foreign = river ,
  foreign-babel = english
}
\DeclareAcronym{Drs}{
  short = Drs ,
  long = Donaudampfschiff ,
  foreign = Donau river steamer ,
  foreign-babel = english ,
  foreign-newline = true
}

\begin{document}

\twocolumn

\acuseall

\printacronyms

\end{document}

ingrese la descripción de la imagen aquí

información relacionada