我想从我的文本中引用词汇表条目,或者在同一个词汇表中或另一个词汇表中形成另一个条目。我必须在我的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,但我使用cleveref
,etoolbox
并且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}