Hyperref, опция приложения \noappendicestocpagenum и оглавление

Hyperref, опция приложения \noappendicestocpagenum и оглавление

В своей диссертации я использую и пакет appendix, и hyperrefпакет. Когда я дохожу до приложения, я использую следующие команды:

\appendix
\noappendicestocpagenum
\addappheadtotoc
\appendixpage

В оглавлении hyperrefпредоставляет ссылки только на номера страниц, используя linktocpage=true опцию. Номер страницы для страницы «Приложения» не отображается в оглавлении благодаря команде \noappendicestocpagenum; однако, hyperrefнезависимо от этого, генерирует небольшое пустое красное поле. Есть ли способ остановить формирование этого поля?

Вот минимальный рабочий пример.

\documentclass{report}
\usepackage{appendix}
\usepackage[pdftex,linktocpage=true]{hyperref}

\begin{document}

\tableofcontents

\chapter{Chapter Name}
Here is my document.

\clearpage
\appendix
\noappendicestocpagenum
\addappheadtotoc
\appendixpage

\chapter{Appendix Name}
Here is my appendix.

\end{document}

решение1

В вашем случае я бы просто переопределил то, что \addappheadtotocделает (поскольку вы знаете структуру, с которой будете работать):

\makeatletter
\renewcommand{\addappheadtotoc}{%
  \phantomsection
  \addtocontents{toc}%
    {\protect\contentsline{chapter}{\appendixtocname}{}{}}%
 }
\makeatother

Конечно,appendixнаписан для управления работой в различных условиях, но зная условия, в которых вы находитесь, это легкое и управляемое изменение.

Вот полный минимальный пример:

введите описание изображения здесь

\documentclass{report}
\usepackage{appendix}% http://ctan.org/pkg/appendix
\usepackage[pdftex,linktocpage=true]{hyperref}% http://ctan.org/pkg/hyperref

\makeatletter
\renewcommand{\addappheadtotoc}{%
  \phantomsection
  \addtocontents{toc}%
    {\protect\contentsline{chapter}{\appendixtocname}{}{}}%
 }
\makeatother
\begin{document}

\tableofcontents

\chapter{Chapter Name}
Here is my document.

\clearpage
\appendix
\noappendicestocpagenum
\addappheadtotoc
\appendixpage

\chapter{Appendix Name}
Here is my appendix.

\end{document}

Связанный контент