2009-04-23 12 views
18

mam sekcji następnie spisu treści tak:Latex Spis treści Odnośniki do niewłaściwej sekcji

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

Mój problem jest to, że „Spis treści” i „Spis rysunków” wpisy w spis treści linku (w wygenerowanym pdf) do niewłaściwego miejsca w pliku. Obaj odnoszą się do pierwszej sekcji sekcji na stronie 1. Wpis w tabeli jest poprawny (TOC mówi strona 2, a LOF mówi strona 3), ale link prowadzi do niewłaściwego miejsca.

Odpowiedz

17

Musisz użyć polecenia \phantomsection:

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

Zobacz the hyperref manual.

+0

Działa to tylko tak długo, jak spis treści i lista cyfr nie obejmują więcej niż jednej strony. W przeciwnym razie linki wskażą ostatnią stronę list. –

+1

Zaproponowałem inne rozwiązanie, które powinno działać w dowolny sposób. – Noah

1

To zachowanie wynika z faktu, że \tableofcontents wstawia podział strony przed zapisaniem zawartości. W związku z tym zakładka PDF wskaże stronę wcześniej. W zależności od klasy dokumentu można ręcznie wstawić liczbę poleceń \newpage, aby \tableofcontents nie dodawać kolejnych. Jeden lub dwa powinny wystarczyć.

Wiem, to jest hackowate rozwiązanie i może istnieć pakiet do rozwiązania problemu, ale w ten sposób radzę sobie z problemem.

+0

To nie zadziałało, dodałem 1-3 nowe strony i nadal łączy się z początkiem poprzedniej sekcji. Zrobiłem kompilację dwa razy. – Verhogen

2

Jeśli robisz to dla bibliografii, listy tabel lub listy liczb,

\usepackage[nottoc]{tocbibind} 

powinien to naprawić, bez problemów źle-stron. W przeciwnym razie nie natknąłem się na lepsze rozwiązanie niż \ phantomsection z \ addcontentsline.

Powiązane problemy