我想将词汇表和首字母缩略词列表结合起来。我正在使用newdualentry
来自 wikibook 的命令(包含在下面的 MWE 中)并且与结果非常相似,除了超链接链接回术语出现的页面。实际的词汇表条目仅链接到首次使用的页面,而首字母缩略词链接到出现该术语的所有页面(有趣的是,还有列出首字母缩略词的词汇表/LoA 页面)。
虽然从技术角度来看这很直观,但对于实际文档来说这仍然是不可取的。我是否可以为首字母缩略词和词汇表条目设置相同的反向链接列表,或者只为后者设置所有反向链接,而不为缩写设置任何反向链接(最好不引用首字母缩略词条目本身)?
\documentclass{article}
\usepackage{hyperref} % should be loaded after biblatex, before glossaries
\usepackage[nopostdot,toc]{glossaries}
\usepackage{xparse}
\DeclareDocumentCommand{\newdualentry}{ O{} O{} m m m m } {
\newglossaryentry{gls-#3}{name={#5},text={#5\glsadd{#3}},
description={#6},#1
}
\newacronym[see={[Glossary:]{gls-#3}},#2]{#3}{#4}{#5\glsadd{gls-#3}}
} % as per http://en.wikibooks.org/wiki/LaTeX/Glossary
\makeglossaries
\begin{document}
\printglossary[title={List of Terms and Acronyms}]
\clearpage
\newdualentry{ABC}{ABC}{Alphabet}{Standard set of letters.}
Text \gls{ABC}. About the \gls{ABC}.
\clearpage
More \gls{ABC}.
\end{document}
答案1
使用默认的长(短)样式,\newacronym
将 设置description
为长格式,在您的示例中包括\glsadd
。这意味着当描述显示在词汇表中时,它会自动将该页面添加到位置列表中。另一件事是,使用长格式的 ,它仅在第一次使用时使用,而不是在后续使用时使用。可以通过将 移至短格式并明确添加 来\glsadd{gls-#3}
解决这两个问题。\glsadd
name
\documentclass{article}
\usepackage{hyperref}
\usepackage[nopostdot,toc]{glossaries}
\usepackage{xparse}
\DeclareDocumentCommand{\newdualentry}{ O{} O{} m m m m } {
\newglossaryentry{gls-#3}{name={#5},text={#5\glsadd{#3}},
description={#6},#1
}
\newacronym[see={[Glossary:]{gls-#3}},name={#4},#2]{#3}{#4\glsadd{gls-#3}}{#5}
} % as per http://en.wikibooks.org/wiki/LaTeX/Glossary
\makeglossaries
\begin{document}
\printglossary[title={List of Terms and Acronyms}]
\clearpage
\newdualentry{ABC}{ABC}{Alphabet}{Standard set of letters.}
Text \gls{ABC}. About the \gls{ABC}.
\clearpage
More \gls{ABC}.
\end{document}
现在产生:
请注意,如果将定义移至序言部分,则会得到不同的结果:
\documentclass{article}
\usepackage{hyperref}
\usepackage[nopostdot,toc]{glossaries}
\usepackage{xparse}
\DeclareDocumentCommand{\newdualentry}{ O{} O{} m m m m } {
\newglossaryentry{gls-#3}{name={#5},text={#5\glsadd{#3}},
description={#6},#1
}
\newacronym[see={[Glossary:]{gls-#3}},name={#4},#2]{#3}{#4\glsadd{gls-#3}}{#5}
} % as per http://en.wikibooks.org/wiki/LaTeX/Glossary
\makeglossaries
\newdualentry{ABC}{ABC}{Alphabet}{Standard set of letters.}
\begin{document}
\printglossary[title={List of Terms and Acronyms}]
\clearpage
Text \gls{ABC}. About the \gls{ABC}.
\clearpage
More \gls{ABC}.
\end{document}
由于see
交叉引用,这会使第 1 页重新回到位置列表中。