95

Inspired by question When do I need invoke \clearpage manually?:

When do I need to invoke \phantomsection?

In what condition is invoking \phantomsection necessary?

94

The \phantomsection command is nessesary for hyperref to jump to the correct page, in other words it puts a hyper marker on the page. For example a starred section or chapter added to the TOC would normally refer to the wrong place without \phantomsection

\chapter*{Extended Summary}
\phantomsection
\addcontentsline{toc}{chapter}{Extended Summary}%
\markboth{Extended Summary}{Extended Summary}%

I normaly put in the preamble the command

\providecommand\phantomsection{}

Your document can then be compiled with or without hyperref without an error

  • 19
    Especially elegant, your \providecommand – Brent.Longborough Feb 10 '12 at 11:46
  • Is hyperref only application ? – Grzegorz Wierzowiecki Feb 10 '12 at 12:24
  • 14
    Since hyperref 2009/11/25 v6.79h \phantomsection is no longer necessary in this situation. With this usage, the anchor is put after the chapter title. – Heiko Oberdiek Oct 17 '12 at 13:19
  • 2
    @LéoLéopoldHertz준영 When hyperref is not loaded, it is not defined. – Danie Els Apr 23 '17 at 9:00
  • 1
    @HeikoOberdiek Is it just not need, or should it not be used? – lcnittl Nov 5 '17 at 22:19
67

I am providing a different answer to this question because the original answer is out of date.

The \phantomsection command is needed to create a link to a place in the document that is not a figure, equation, table, section, subsection, chapter, etc.

This is mostly used in conjunction with \addcontentsline or with \label and \hyperref. For example, the following code will create a contents line and a link to somewhere in the document.

\phantomsection
\addcontentsline{toc}{section}{Some place in the document}
\label{some}
This is just \hyperref[some]{some place} in the document.

Without the \phantomsection line, both the contents line and the link would point to the beginning of the current section (or subsection, etc.)

In previous versions of hyperref (before 2009-11-25), you also had to use \phantomsection with unnumbered sections (e.g. \section*) to prevent links from pointing to the previous section. This is not necessary in up-to-date distributions.

  • 1
    Thank you for this informative answer. Too bad I can't upvote it again. – Steven B. Segletes Aug 1 '17 at 18:13
3

I've found none of the previous answers to work, but the below snippet works well:

    \newpage
    \phantomsection \label{listoffig}
    \addcontentsline{toc}{chapter}{List of Figures}
    \listoffigures

Originally found on: http://sumanta679.wordpress.com/2009/05/15/latex-list-of-table-list-of-figures-and-bibliography-in-toc/

  • This looks very similar to the code Nathan Grigg posted: could you elaborate on the difference? – Joseph Wright Mar 5 '13 at 8:01
  • 2
    I didn't get Nathans code to work. Why? I couldn't tell you. But here's a solution that worked for me. – Robert Foss Mar 6 '13 at 15:51

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.