如何定义首字母缩略词是另一个首字母缩略词的一部分?(使用 acro.sty)

如何定义首字母缩略词是另一个首字母缩略词的一部分?(使用 acro.sty)

一段时间以来,我一直在使用 Clemens Niederberger 的 acro.sty 包。我真的很喜欢使用这个包及其众多选项。只有一件小事我还没搞清楚。如何定义属于另一个缩写词的缩写词?

例如,RAM 有很多种类型,我应该总是自己定义完整版本,还是重复使用以前的定义?让我们来看看:DRAM、SRAM、BRAM 和 RAM。

\DeclareAcronym{ram}{
  short = RAM ,
  long = Random Access Memory ,
  class = abbrev
}

当然,我可以单独声明所有其他的首字母缩略词,例如:

\DeclareAcronym{sram}{
  short = SRAM ,
  long  = Static Random-Acess Memory ,
  class = abbrev
}

或者我应该使用类似的东西:

\DeclareAcronym{bram}{
  short = BRAM ,
  long  = Block \ac*{ram},
  class = abbrev
}

第一次使用后者时,结果是:

Block Random Access Memory (RAM) (BRAM) 

我希望得到的是:

Block Random Access Memory (BRAM)

索引是正确的,看起来像:

BRAM Block Random Access Memory (RAM)

我如何才能使首次出现正确但保持索引原样?

答案1

这个问题引出了一个新的功能acro:) 的一个新功能。我刚刚将 1.4 版上传到 CTAN(但你已经可以获取它了在 bitbucket 上)。我添加了新的缩写属性list,允许在列表中指定与长格式不同的条目作为描述。使用它您可以执行以下操作:

\documentclass{article}
\usepackage{acro}[2013/08/27]

\DeclareAcronym{ram}{
  short = RAM ,
  long  = Random Access Memory ,
  class = abbrev
}
\DeclareAcronym{sram}{
  short = SRAM ,
  long  = Static \acl*{ram} ,
  list  = Static \acf*{ram} ,
  class = abbrev
}
\DeclareAcronym{bram}{
  short = BRAM ,
  long  = Block \acl*{ram} ,
  list  = Block \acf*{ram} ,
  class = abbrev
}

\begin{document}

first:
\ac{ram}, \ac{sram}, \ac{bram}

subsequent:
\ac{ram}, \ac{sram}, \ac{bram}

\printacronyms

\end{document}

得出:

在此处输入图片描述

相关内容