我希望\label
在定义首字母缩略词或其他词汇表条目时能够引用章节、表格或其他编辑项目。该glossaries
包使用see
属性或\glssee
命令来设置交叉引用,但交叉引用似乎不支持非词汇表项目,例如章节、表格、图表等。
我尝试过直接输入description
类似 的内容see \autoref{whatever}
,但这看起来与其他词汇表条目不一样。我的 hack 对于首字母缩略词尤其痛苦,如下所示,因为您需要手动输入first
和short
。
\documentclass{article}
\usepackage[nopostdot,section,numberedsection=autolabel]{glossaries}
\usepackage[pdftex]{hyperref}
\makeglossaries
% the way i'd like it to work...
\newacronym{ACR}{ACR}{horrible spelling of acronym}
\glssee[see]{ACR}{sect:acr}
% a way that almost works...
% but it is not consistent the the see= attribute (one is before one is after)
\newglossaryentry{ACR2}{
type=\acronymtype,
name={ACR2},
description={horrendous spelling of acronym, \emph{see \autoref{sect:acr}}},
first={horrendous spelling of acronym (ACR2)},
short={ACR2}
}
% linking to another glossary entry
\newglossaryentry{nice-ref}{
name={nice ref},
description={nice ref cleanly uses the \texttt{glossaries}
packages built-in see attribute to point to ACR.},
see={another-entry}
}
\newglossaryentry{another-entry}{
name={another entry},
description={another entry}
}
\begin{document}
\section{First section}
I'm using \gls{ACR} and \gls{ACR2}.
Now onto interesting things, like \gls{another-entry} and \gls{nice-ref}.
\section{Second section, this one about ACR}
\label{sect:acr}
\gls{ACR} and \gls{ACR2} are awesome\ldots soooooooo awesome.
\printglossary
\end{document}
示例输出:
答案1
包内部glossaries
使用makeindex
/xindy
交叉引用机制。提供see
键和\glssee
命令是为了防止拼写错误引用的术语或交叉引用不存在的术语,但您不必使用它们。它们还提供独立于处理器的接口,因为makeindex
和xindy
具有不同的标记交叉引用的方式。使用makeindex
,这只需使用带有两个参数的格式化命令即可:第一个是交叉引用的文本,第二个是位置,该位置将被忽略。
因此,您只需定义一个以标签作为参数的命令即可:
\newcommand*{\seeref}[2]{\emph{see} \autoref{#1}}
并使用该命令引用条目,格式如下:
\newacronym{ACR2}{ACR2}{horrible spelling of acronym}
\glsadd[format=seeref{sect:acr}]{ACR2}
以下是完整的 MWE:
\documentclass{article}
\usepackage[nopostdot,section,numberedsection=autolabel]{glossaries}
\usepackage[pdftex]{hyperref}
\makeglossaries
\newacronym{ACR}{ACR}{horrible spelling of acronym}
\newcommand*{\seeref}[2]{\emph{see} \autoref{#1}}
\newacronym{ACR2}{ACR2}{horrible spelling of acronym}
\glsadd[format=seeref{sect:acr}]{ACR2}
% linking to another glossary entry
\newglossaryentry{nice-ref}{
name={nice ref},
description={nice ref cleanly uses the \texttt{glossaries}
packages built-in see attribute to point to ACR.},
see={another-entry}
}
\newglossaryentry{another-entry}{
name={another entry},
description={another entry}
}
\begin{document}
\section{First section}
I'm using \gls{ACR} and \gls{ACR2}.
Now onto interesting things, like \gls{another-entry} and \gls{nice-ref}.
\section{Second section, this one about ACR}
\label{sect:acr}
\gls{ACR} and \gls{ACR2} are awesome\ldots soooooooo awesome.
\printglossary
\end{document}
得出的结果为: