2009-04-23 12 views
18

ich einen Abschnitt von einem Inhaltsverzeichnis wie so gefolgt habe:Latex Inhaltsverzeichnis Links zu Wrong Abschnitt

\section{Section1} 
ABC. 

\addcontentsline{toc}{section}{Table of Contents} 
\tableofcontents 
\newpage 
\addcontentsline{toc}{section}{List of Figures} 
\listoffigures 
\newpage 

\section{Section2} 
DEF. 
\section{Section3} 
GHI. 

Mein Problem ist, dass die "Table of Contents" und "Liste der Abbildungen" Einträge in dem Inhaltsverknüpfung (in der generierten PDF) an den falschen Platz in der Datei. Beide verweisen auf den ersten Abschnitt auf Seite 1. Der Eintrag in der Tabelle ist korrekt (Inhaltsverzeichnis sagt Seite 2 und LOF sagt Seite 3), aber der Link wird an die falsche Stelle gesetzt.

Antwort

17

Sie benötigen den \phantomsection Befehl verwenden:

\section{Section1} 
ABC. 
\phantomsection 
\addcontentsline{toc}{section}{Table of Contents} 
\tableofcontents 
\newpage 
\phantomsection 
\addcontentsline{toc}{section}{List of Figures} 
\listoffigures 
\newpage 

\section{Section2} 
DEF. 
\section{Section3} 
GHI. 

Siehe the hyperref manual.

+0

Dies funktioniert nur, solange das Inhaltsverzeichnis und die Liste der Zahlen nicht mehr als eine einzelne Seite umfassen. Andernfalls zeigen die Links auf die letzte Seite der Einträge. –

+1

Ich habe eine andere Lösung vorgeschlagen, die in beide Richtungen funktionieren sollte. – Noah

1

Dieses Verhalten ist aufgrund der Tatsache, dass \tableofcontents einen Seitenumbruch vor dem Schreiben des Inhalts eingefügt. Daher zeigt Ihr PDF-Lesezeichen auf die vorherige Seite. Abhängig von Ihrer Dokumentklasse können Sie manuell eine Reihe von \newpage-Befehlen eingeben, um zu verhindern, dass \tableofcontents einen weiteren Befehl hinzufügt. Ein oder zwei sollten ausreichen.

Ich weiß, es ist eine Hacky-Lösung, und es könnte ein Paket zur Lösung des Problems existieren, aber so umgeht ich das Problem.

+0

Das hat nicht funktioniert, ich habe 1-3 neue Seiten hinzugefügt und es immer noch an den Anfang des vorherigen Abschnitts. Ich habe das Kompilieren zweimal gemacht. – Verhogen

2

Wenn Sie dies tun, für die Bibliographie sowie eine Liste von Tabellen oder eine Liste von Zahlen,

\usepackage[nottoc]{tocbibind} 

soll es beheben, ohne die falsche Seite Probleme. Ansonsten habe ich keine bessere Lösung als \ phantomsection mit \ addcontentsline gefunden.