在首字母缩略词列表中,我使用定义,例如
\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}
}%