是否可以递归使用词汇表?

是否可以递归使用词汇表?

在首字母缩略词列表中,我使用定义,例如

\newacronym{DRAM}{DRAM}{Dynamic \gls{RAM}}
    \newacronym{RAM}{RAM}{Random Access Memory}

在我第一次使用 的文本中\gls{DRAM},它显示为 "Dynamic Random Access Memory (RAM) (DRAM)",这是正确的,但我觉得有点奇怪,因为省略号中有两个标签。我知道这也是 的第一次出现\gls{RAM},但我更喜欢"Dynamic Random Access Memory (DRAM)"仅出现 。可以使用简单的方法实现它吗?

答案1

我一直使用嵌套词汇表,但为了避免出现问题,我使用多次makeindex调用(如果我使用多个可反向追踪的嵌套引用级别,即\newglossaryentry{A}包含\gls{B}也引用\gls{C}并且 A 是文中使用的术语,而不是 B)

但是你所做的更类似于依赖关系,你希望避免过多的首次使用复制。为了避免这种情况,我将我的条目定义为彼此的已知依赖关系,取消设置父项,以防止它被使用,例如:

\newglossaryentry{DRAM}{%
    type={acronym},
    category={acronym},
    name={DRAM},
    short={DRAM},
    long={Dynamic Random Access Memory},
    description={Dynamic Random Access Memory},
    first={\ifglsused{RAM}
        {Dynamic RAM (DRAM)} % this is the alternative if the parent is used first and it doesn't have to be a gls command
        {\glsunset{RAM}Dynamic Random Access Memory (DRAM)}},
    sort={Dynamic Random Access Memory}
}%

适用于:

\newglossaryentry{RAM}{%
    type={acronym},
    category={acronym},
    name={RAM},
    short={RAM},
    long={Random Access Memory},
    description={Random Access Memory},
    first={Random Access Memory (RAM)},
    sort={Random Access Memory}
}%

相关内容