acro:仅将选定的缩写词的翻译移至下一行

acro:仅将选定的缩写词的翻译移至下一行

acro引用软件包手册 (第 38 页,版本 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}

给出

在此处输入图片描述

我想将第一个缩写的翻译移到下一行,因为我认为这将提高可读性和视觉效果。是否可以\linebreak在用户选择的缩写前面添加一个?请注意,我需要acro在兼容模式下使用,因此选择此version=2选项。

答案1

找到了解决方案:

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

生成: 在此处输入图片描述

答案2

如果您想要使用版本 3,那么您可以定义一个布尔属性来表示首字母缩略词,您可以在列表模板中测试该属性,并根据其值插入或不插入换行符。此类属性的定义如下

\DeclareAcroProperty?{boolean-property}

并检查模板

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

下面的示例调用它foreign-newline并显示类似于预定义模板的模板description(我保留了extrapages字段,但当然可以添加它们):

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

在此处输入图片描述

相关内容