TOC aninhado incorretamente no painel lateral do visualizador de PDF

TOC aninhado incorretamente no painel lateral do visualizador de PDF

A seguir está um exemplo mínimo do meu problema:

\documentclass{article}
\RequirePackage{hyperref}
\newenvironment{qu}[1][]{\par\addcontentsline{toc}{subsection}{ #1}}{\par}
\begin{document}
\tableofcontents
\addcontentsline{toc}{section}{a section}
\begin{qu}[foo]\end{qu}
\addcontentsline{toc}{section}{another section}
\begin{qu}[bar]\end{qu}
\end{document}

O índice gerado pelo látex parece correto, mais ou menos assim:

Contents
a section
  foo
another section
  bar

Quando eu compilo isso (duas vezes) com o pdflatex, ele também gera um índice que meu visualizador de PDF (o aplicativo Evince no Linux) conhece e exibe em um painel lateral. Esse painel lateral tem a estrutura hierárquica errada:

a section
  1. foo
    another section
      2. bar

Por que isso está acontecendo e como posso corrigir isso?

Responder1

Adicionar uma linha de conteúdo manualmente com alguma entrada superior ao nível do marcador atual não redefine o nível do marcador, ou seja, o sectionnível no ToC não será alterado de volta para o nível da seção dos marcadores.

O bookmarkpacote cuida disso, caso contrário hyperref, os usos manuais \phantomsectionsão outra solução, mas pior, no meu ponto de vista.

Outra vantagem do bookmarkpacote é que o contorno (o painel de favoritos) já está correto após a execução de uma compilação.

\documentclass{article}
\usepackage[open=true]{bookmark}

\newenvironment{qu}[1][]{\par\addcontentsline{toc}{subsection}{ #1}}{\par}


\begin{document}
\tableofcontents
\addcontentsline{toc}{section}{a section}
\begin{qu}[foo]

\end{qu}
\addcontentsline{toc}{section}{another section}
\begin{qu}[bar]\end{qu}

\end{document}

informação relacionada