我thmtools
在文档中使用该包amsbook
并用 进行编译pdflatex
。目录中生成的超链接应该指向定理列表,但错误地指向了文档的第一页。下面可以找到 MWE。
我可以通过添加来部分解决该问题
\cleardoublepage
\phantomsection\addcontentsline{toc}{chapter}{\listtheoremname}
就在之前\listoftheorems
。现在链接正确地指向定理列表,但目录包含二定理列表中的条目。
如果有人能提示如何解决这个问题,我将非常感激。
梅威瑟:
\documentclass{amsbook}
\usepackage{amsthm,thmtools}
\usepackage{hyperref}
\declaretheorem[numberwithin=chapter,name=Theorem]{theorem}
\makeatletter
\providecommand\@dotsep{5}
\def\listtheoremname{List of theorems}
\makeatother
\begin{document}
\frontmatter
\title{Example}
\author{J. Doe}
\address{Earth}
\email{[email protected]}
\begin{abstract}
Bla bla.
\end{abstract}
\maketitle
\setcounter{page}{4}
\tableofcontents
\listoftheorems
\mainmatter
\chapter{One}
\begin{theorem}
Some theorem.
\end{theorem}
\backmatter
\end{document}
答案1
由于某种原因,在将目录条目添加到定理列表时,\listoftheorems
from不会添加正确的超链接。它也不提供 PDF 大纲的自动书签。thmtools
\cleardoublepage
与“after”\tableofcontents
结合使用\phantomsection
将提供正确的超链接锚点。
\documentclass{amsbook}
\usepackage{amsthm,thmtools}
\usepackage{hyperref}
\declaretheorem[numberwithin=chapter,name=Theorem]{theorem}
\makeatletter
\providecommand\@dotsep{5}
\def\listtheoremname{List of theorems}
\makeatother
\begin{document}
\frontmatter
\title{Example}
\author{J. Doe}
\address{Earth}
\email{[email protected]}
\begin{abstract}
Bla bla.
\end{abstract}
\maketitle
\setcounter{page}{4}
\tableofcontents
\cleardoublepage
\phantomsection
\pdfbookmark{\listtheoremname}{\listtheoremname}
\listoftheorems
\mainmatter
\chapter{One}
\begin{theorem}
Some theorem.
\end{theorem}
\backmatter
\end{document}