acro 3.3 格式列表

acro 3.3 格式列表

这是我的第一篇文章,如果我不能在第一次就完美地解释我的问题,请原谅,但这是我的问题:

我使用的acro是 3.3 版的软件包,这一点值得一提,因为我可以找到许多适用于早期版本的解决方案,但找不到适用于这个版本的解决方案。我有大约 30 个首字母缩略词,例如

\DeclareAcronym{CMOS}{
    short = CMOS,
    long  = complementary metal oxide semiconductor,
    tag = abbrev
}

并且文本中的实现效果很好,但是列表看起来并不像我想要的那样。

我想要一个 2 列设计,跨越多个页面。这可以通过使用标准模板来解决

list/template  = description,    

并使用包multicol。然而,在这种情况下,我错过了“短”和“长”部分之间的标签。

这可以通过使用longtable模板来解决,但longtable不支持multicol。所以我实际上花了太多时间试图解决这个问题,我只是想请你们给出解决方案。我相信有一个简单的格式定义,应该可以解决这个问题,但我在文档中找不到它。

提前致谢。

答案1

您可以使用列表来实现这样的布局。也许labelingKOMA-Script 中的列表(如果您正在使用或之类的类scrartcl,则已经可用scrbook,并且可以通过包在其他类中使用scrextend)是一个简单的解决方案:

\begin{labeling}{widest label}
  \item[foo] lorem ipsum
  \item[bar] ...
\end{labeling}

此列表可以与环境结合使用multicols。您可以定义自己的列表模板以acro同时使用两者。下面的示例假设您既不使用altextraforeign的属性,acro也不使用页码。(不过,所有这些都可以添加到模板中):

\NewAcroTemplate[list]{twocolumn}{%
  \begin{multicols}{2}[\acroheading]
    \acropreamble
    \begin{labeling}{XXXXX}
      \acronymsmapF
        {\item[\bfseries\acrowrite{short}] \acrowrite{list}}
        {\item\AcroRerun}
    \end{labeling}
  \end{multicols}
}

完整示例:

在此处输入图片描述

\documentclass{article}
\usepackage{acro}
\usepackage{multicol}
\usepackage{scrextend}

\NewAcroTemplate[list]{twocolumn}{%
  \begin{multicols}{2}[\acroheading]
    \acropreamble
    \begin{labeling}{XXXXX}
      \acronymsmapF
        {\item[\bfseries\acrowrite{short}] \acrowrite{list}}
        {\item\AcroRerun}
    \end{labeling}
  \end{multicols}
}

\acsetup{
  list/template = twocolumn
}

\DeclareAcronym{CMOS}{
  short = CMOS,
  long  = complementary metal oxide semiconductor
}

\DeclareAcronym{DMSO}{
  short = DMSO,
  long  = Dimethyl sulfoxide
}

\DeclareAcronym{a}{
  short = A,
  long  = the letter A
}

\DeclareAcronym{xx}{
  short = foo,
  long  = an example
}

\DeclareAcronym{blub}{
  short = xx,
  long  = nonsense
}

\begin{document}

\acuseall
\printacronyms

\end{document}

相关内容