Clique no capítulo para ir para o TOC

Clique no capítulo para ir para o TOC

Fazendo referência a esta pergunta:Hyperref refere capítulo e página no textoe sua possível duplicataLink clicável de volta ao índice

Esta é basicamente a segunda pergunta novamente, mas tenha paciência comigo.

Usei a resposta das primeiras perguntas, mas editei ligeiramente. Agora tenho todos os nomes de capítulos vinculados ao sumário (apenas o nome, não a parte do 'Capítulo #' acima dele. Não é um grande problema, se você souber como resolvê-lo, deixe-me saber :))

O problema é: isso também altera a própria linha do TOC para vincular ao TOC. Então, se eu clicar agora em um capítulo do sumário, issotambémlinks para o TOC.

MWE:

\documentclass[11pt]{report}

\usepackage{hyperref}
\usepackage{lipsum}

\usepackage{xparse}
\AtBeginDocument{
    \let\oldchapter\chapter
    \RenewDocumentCommand{\chapter}{s o m}{%
    \clearpage
    \IfBooleanTF{#1}
        {\oldchapter*{\hyperref[toc]{#3}}}% \chapter*[..]{...}
        {\IfValueTF{#2}
            {\oldchapter[#2]{\hyperref[toc]{#3}}}% \chapter[..]{...}
            {\oldchapter{\hyperref[toc]{#3}}}% \chapter{...}
        \label{chapter-\thechapter}% \label this chapter
        }%
    }
}

\begin{document}

\chapter*{Preface}
\lipsum[1-1]
\tableofcontents\label{toc}
\chapter{Introduction}
\lipsum[2-2]
\end{document}

O que fiz foi pegar a solução com suporte para capítulos não numerados e adicionar um \hyperref[toc]{}a eles.

Responder1

A solução mais fácil é usar \oldchapter[#3]{\hyperref[toc]{#3}}}%, ou seja, escrever explicitamente #3novamente no toc e definir o \hyperrefcomando no título do capítulo. Isso preservará as hiperâncoras corretas e evitará [toc]prefixos feios no painel de favoritos!

\documentclass[11pt]{report}

\usepackage{hyperref}
\usepackage{lipsum}

\usepackage{xparse}
\AtBeginDocument{
  \let\oldchapter\chapter
  \RenewDocumentCommand{\chapter}{s o m}{%
    \clearpage
    \IfBooleanTF{#1}
    {\oldchapter*{\hyperref[toc]{#3}}}% \chapter*[..]{...}
    {\IfValueTF{#2}
      {\oldchapter[#2]{\hyperref[toc]{#3}}}% \chapter[..]{...}
      {\oldchapter[#3]{\hyperref[toc]{#3}}}% \chapter{...}
      \label{chapter-\thechapter}% \label this chapter
    }%
  }
}

\begin{document}

\chapter*{Preface}
\lipsum[1-1]
\tableofcontents\label{toc}
\chapter{Introduction}
\lipsum[2-2]

\chapter{Results}
\lipsum[2-4]
\end{document}

informação relacionada