[Tex/LaTex] Partition Numbering and PDF Bookmark Generation

bookmarksnumberingsectioning

I'm trying to figure out how to manage the interaction of numbering features of various document parts, e.g., parts, chapters, sections, etc. and the bookmarks generated for a PDF document.

First, the number of document partition is only showing up for parts in the bookmarks. The numbers of chapters and section are not part of the names that are displayed. Is there a way to fix this?

Also, I've noticed that if a partition is not numbered (e.g., an unnumbered subsection) it doesn't show up as a bookmark. I would like to be able to have unnumbered subsections, for example, but still have them show up as bookmarks. Is there a way to do this?

To be clear on what I want to achieve, consider the following example:


\documentclass{book}
\begin{document}
\part{A} %Shows up as a bookmark named "I A"; this is fine
    \chapter{B} %Shows up as a bookmark named "B"; what I want is "1 B"
      \section{C} %Shows up as a bookmark named "C"; what I want is "1.1 C"
        \subsection*{D} %Doesn't show up as bookmark; what I want is "D"
  \part{E} %Shows up as a bookmark named "II B"; this is fine
    \chapter{F} %Shows up as bookmark named "F"; what I want is "2 F"
    %...and so on
\end{document}

Best Answer

Assuming that you're using hyperref already*, the documentation states:

Usually hyperref automatically adds bookmarks for \section and similar macros. But they can also set manually.

The manual setting is performed using

\pdfbookmark[<level>]{<text>}{<name>}

where \part is level -1, \chapter is level 0, \section is level 1, ... It places <text> in the bookmarks and can be referenced internally (via a hyperlink) as <name>. Or, if you want to place it at a level relative to the current one, use

\currentpdfbookmark{<text>}{<name>}
\subpdfbookmark{<text>}{<name>}
\belowpdfbookmark{<text>}{<name>}

where <text> and <name> have similar meanings as before.

In the following MWE, hyperref creates sectional bookmarks for every unstarred heading up to secnumdepth and only the numbered, unstarred versions show up in the ToC. The starred versions, removed from the ToC by default, are included using some variation of \...pdfbookmark:

enter image description here

\documentclass{book}
\usepackage{hyperref}% http://ctan.org/pkg/hyperref
\usepackage{bookmark}% http://ctan.org/pkg/bookmark
\usepackage{lipsum}% http://ctan.org/pkg/lipsum
\begin{document}
\tableofcontents
\part{FIRST PART}
\chapter{First chapter} \lipsum[1]
\section{First section} \lipsum[2]
\section*{Second section} \currentpdfbookmark{Second section}{ch:1:sec:2} \lipsum[3]
\section{Third section} \lipsum[4]
\subsection{First subsection} \lipsum[5]
\subpdfbookmark{First subsubsection}{ch:1:sec:3:ssec:1:sssec:1}\subsubsection{First subsubsection} \lipsum[6]
\currentpdfbookmark{Second subsubsection}{ch:1:sec:3:ssec:1:sssec:2} \subsubsection*{Second subsubsection} \lipsum[7]
\subsection{Second subsection} \lipsum[8]
\currentpdfbookmark{Third subsection}{ch:1:sec:3:ssec:3} \subsection*{Third subsection} \lipsum[9]
\pdfbookmark[2]{Fourth subsection}{ch:1:sec:3:ssec:4}\subsection*{Fourth subsection} \lipsum[10]
\subsection{Fifth subsection} \lipsum[11]
\chapter{Second chapter} \lipsum[12]
\end{document}

For the inclusion of sectional numbers in the PDF bookmark panel, use the bookmarksnumbered option of hyperref:

\usepackage[bookmarksnumbered]{hyperref}% http://ctan.org/pkg/hyperref

The above MWE will then produce:

enter image description here

* If not, the bookmark package provides similar, stand-alone functionality for inclusion of PDF bookmarks in your document. In fact, hyperref suggests using it as improved bookmark organization.