PDF ビューアのサイド ペインで目次が誤ってネストされる

PDF ビューアのサイド ペインで目次が誤ってネストされる

以下は私の問題の簡単な例です:

\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}

LaTeX によって生成された目次は、次のようになります。

Contents
a section
  foo
another section
  bar

これを pdflatex でコンパイルすると (2 回)、PDF ビューア (Linux の Evince アプリケーション) が認識してサイド ペインに表示される目次も生成されます。そのサイド ペインの階層構造が間違っています。

a section
  1. foo
    another section
      2. bar

なぜこのようなことが起こるのでしょうか? また、どうすれば修正できるのでしょうか?

答え1

現在のブックマーク レベルよりも高いエントリを含むコンテンツ行を手動で追加しても、ブックマーク レベルはリセットされません。つまり、sectionToC のレベルはブックマークのセクション レベルに戻りません。

パッケージbookmarkはこれを処理しますが、そうでなければhyperref手動での\phantomsection使用は別の、しかし私の観点からはより悪い解決策です。

パッケージのもう 1 つの利点bookmarkは、コンパイルを 1 回実行するとアウトライン (ブックマーク パネル) が正確になることです。

\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}

関連情報