
Estou usando hyperref
o pacote para \tableofcontents
ter links clicáveis.
Existe uma maneira de forçarumhiperlink \tableofcontents
para se referir a uma determinada página em vez da página selecionada automaticamente?
Digamos que você tenha um capítulo começando na página 2 de sua saída PDF, mas deseja que o índice crie um link clicável correspondente que exiba a página 3.
(Estou procurando uma resposta geral aqui, daí a ausência de código/cabeçalho)
Responder1
Talvez eu tenha entendido mal a pergunta completamente:
Deve parecer hyperlink
uma entrada de capítulo, mas não a página inicial do capítulo, apontando para outro lugar.
Eu fiz um \nottocchapter
que se comporta como um capítulo numerado normal, mas foi expulso \addcontentsline
.
Então eu defini \lookslikeachapterentrybutpointstosomewhereelse
(esse nome é uma dor para os usuários que usam mal a coisa apropriada ;-)) que adiciona a entrada do capítulo relevante mais tarde, com o número da página onde ela aparece.
Eu recomendo tudo isso? Não ;-)
\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}