
Adotando um exemplo do acro
manual do pacote (p. 38, versão 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}
dá
Gostaria de passar a tradução apenas da primeira sigla para a próxima linha, pois acho que isso aumentará a legibilidade e a aparência visual. É possível acrescentar a \linebreak
siglas selecionadas pelo usuário? Observe que sou obrigado a usar acro
em modo de compatibilidade, daí a version=2
opção.
Responder1
Encontrou uma solução:
\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}
Responder2
Caso você queira usar a versão 3, aqui está como você pode definir uma propriedade booleana para siglas que você pode testar em um modelo de lista e dependendo de seu valor inserir uma quebra de linha ou não. Tal propriedade é definida com
\DeclareAcroProperty?{boolean-property}
e verifiquei um modelo com
\acroifbooleanTF{boolean-property}{true}{false}
O exemplo a seguir o chama foreign-newline
e mostra um modelo semelhante ao description
modelo predefinido (deixei os campos extra
e pages
de lado, mas eles poderiam ser adicionados, é claro):
\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}