词汇表页码

词汇表页码

我想在文本中引用词汇表(我正在使用包glossaries)。但是,由于词汇表是使用 生成的\printglossaries,我不能直接将\label命令放在需要的位置。将\label命令放在命令之前或之后\printglossaries不起作用:它会给出错误的页码。

我浏览了glossaries手册,但没有找到任何有关标签或参考的内容。

答案1

使用电子工具箱包来修补glossaries'内部\@glossarysection宏。

编辑:如果您想知道\@@glossaryseclabel正在做什么:如果您glossaries使用选项加载包,词汇表将 a) 被编号 b) 具有使用词汇表类型的自动标签。在这种情况下,您可以使用例如或来numberedsection=autolabel引用不同的词汇表。请参阅第 2.2 节。\ref{main}\pageref{acronym}glossaries。对于未编号词汇表,使用下面我的破解方法。(当然,\ref由于没有可参考的节号,所以无法正常工作,但\pageref可以。)

\documentclass{book}

\usepackage{glossaries}
\makeglossaries

\usepackage{etoolbox}
\makeatletter
\patchcmd{\@glossarysection}{%
  \@@glossaryseclabel%
}{%
  \@@glossaryseclabel%
  \label{\glsautoprefix\@glo@type}% "main" for main glossary, "acronym" for list of acronyms
}{}{}
\makeatother

\newglossaryentry{electrolyte}{name=electrolyte,%
    description={solution able to conduct electric current}}

\begin{document}

Some text about \gls{electrolyte}.

The glossary starts on page~\pageref{main}.

\printglossaries

\end{document}

相关内容