Изменить гиперссылки в оглавлении

Изменить гиперссылки в оглавлении

Я использую hyperrefпакет, в котором \tableofcontentsесть кликабельные ссылки.

Есть ли способ заставитьодингиперссылку \tableofcontentsдля ссылки на заданную страницу вместо автоматически выбранной страницы?

Допустим, у вас есть глава, начинающаяся на странице 2 вашего PDF-файла, но вы хотите, чтобы в оглавлении была создана соответствующая кликабельная ссылка, которая отображала бы страницу 3.

(Я ищу здесь общий ответ, поэтому код/заголовок отсутствует)

решение1

Возможно, я вообще не понял вопрос:

Должна быть hyperlinkзапись, похожая на главу, но не на начальную страницу главы, а указывающая куда-то еще.

Я сделал главу \nottocchapter, которая ведет себя как обычная пронумерованная глава, но ее выгнали \addcontentslineоттуда.

Затем я определил \lookslikeachapterentrybutpointstosomewhereelse(это название — головная боль для пользователей, которые неправильно используют соответствующую функцию ;-)), которое добавляет соответствующую запись главы позже, с номером страницы, на которой она появляется.

Рекомендую ли я все это? Нет ;-)

\documentclass{book}

\usepackage{blindtext}
\usepackage{xparse}


\makeatletter

\let\latex@chapter\chapter

\def\currentchaptername{}

\NewDocumentCommand{\notocchapter}{om}{%
  \IfValueTF{#1}{%
    \def\currentchaptername{#1}
  }{%
    \def\currentchaptername{#2}
  }%
  \begingroup
  \renewcommand{\addcontentsline}[3]{}% Do nothing for this chapter
  \IfValueTF{#1}{%
    \latex@chapter[#1]{#2}
  }{%
    \latex@chapter{#2}
  }%
  \endgroup
}

\NewDocumentCommand{\lookslikeachapterentrybutpointstosomewhereelse}{o}{%
  \phantomsection
  \IfValueTF{#1}{%
    \addcontentsline{toc}{chapter}{\protect\numberline{\thechapter}#1}%
  }{%
    \addcontentsline{toc}{chapter}{\protect\numberline{\thechapter}\currentchaptername}
  }%
}

\makeatother

\usepackage[linktocpage]{hyperref}


\begin{document}

\tableofcontents

\notocchapter{Some chapter}

\blindtext[20] 

\lookslikeachapterentrybutpointstosomewhereelse

\chapter{Some other chapter}

\notocchapter{Another chapter}

\blindtext[40] 

\lookslikeachapterentrybutpointstosomewhereelse[And now for something completely different]


\end{document}

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