参考词汇表条目

参考词汇表条目

我想从我的文本中引用词汇表条目,或者在同一个词汇表中或另一个词汇表中形成另一个条目。我必须在我的hyperref选项中放置什么标签,例如\ref{<label>}引用\pageref{<label>}词汇表条目或词汇表标题?谢谢。这似乎很容易,但我在手册中找不到解决方案。

% !TEX TS-program = arara
\documentclass{scrbook}
\usepackage{hyperref}
\usepackage{glossaries}
\newglossaryentry{test}{name=test,type=main,description={this is a test}}
\newglossaryentry{entry}{name=other,type=main,description={another entry (have a link to the test \gls{entry} % \pageref{gls:test}
?)}}
\makeglossary
\begin{document}
A \gls{test}. I want to refer to this glossary \gls{entry}, see the test definition % \pageref{gls:test}, in ref{sec:glossary}.
\printglossary[type=main]%label{sec:glossary}
\end{document}
% arara: xelatex
% arara: makeglossaries
% arara: xelatex

它是 MWE,但我使用cleverefetoolbox并且xindy……

答案1

您可以使用包选项numberedsection=autolabel,如中所述章节、标题和目录选项,然后您可以使用词汇表标签(例如\ref{main}主词汇表)引用它,但这会将词汇表变成编号章节(这是使用 进行交叉引用所必需的\ref)。如果您想要前缀,您可以重新定义\glsautoprefix。例如

\renewcommand*{\glsautoprefix}{sec:}

您现在可以main使用 来引用词汇表\ref{sec:main}

包选项entrycounter将自动对词汇表中的每个条目进行编号。如果设置了此选项,则可以使用以下方式通过编号引用条目:\glsrefentry{标签}。如果您只想引用页码而不需要显示条目编号,则可以通过重新定义来阻止条目编号出现在词汇表中\glsentrycounterlabel

\renewcommand*{\glsentrycounterlabel}{}

这将增加条目计数器(因此仍然可以标记和引用),但不会显示它。如果您想引用页码(而不是条目号),则不能使用,\glsrefentry而是需要使用\pageref{glsentry-标签}

% arara: xelatex
% arara: makeglossaries
% arara: xelatex
\documentclass{scrbook}

\usepackage{hyperref}
\usepackage[entrycounter,numberedsection=autolabel]{glossaries}

\renewcommand*{\glsentrycounterlabel}{}

\makeglossaries

\newglossaryentry{test}{name=test,type=main,description={this is a
test}}
\newglossaryentry{entry}{name=other,type=main,description={another
entry (have a link to the test \gls{test} on page~\pageref{glsentry-test})}}

\begin{document}
A \gls{test}. I want to refer to this glossary \gls{entry}, see the
test definition on page~\pageref{glsentry-entry}, in \ref{main}.

\printglossary[type=main]
\end{document}

相关内容