123

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

When do I need to invoke \phantomsection?

In what condition is invoking \phantomsection necessary?

3

3 Answers 3

120

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

12
  • 21
    Especially elegant, your \providecommand Feb 10, 2012 at 11:46
  • 16
    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. Oct 17, 2012 at 13:19
  • 1
    Can you please explain why you use \providecommand\phantomsection{}? Apr 21, 2017 at 10:10
  • 2
    @LéoLéopoldHertz준영 When hyperref is not loaded, it is not defined.
    – Danie Els
    Apr 23, 2017 at 9:00
  • 1
    @HeikoOberdiek Is it just not need, or should it not be used?
    – lcnittl
    Nov 5, 2017 at 22:19
94

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
  • 1
    Thank you for this informative answer. Too bad I can't upvote it again. Aug 1, 2017 at 18:13
6

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/

2
  • This looks very similar to the code Nathan Grigg posted: could you elaborate on the difference?
    – Joseph Wright
    Mar 5, 2013 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. Mar 6, 2013 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.