2009-04-23 8 views
18

Ho una sezione seguita da una tabella dei contenuti in questo modo:Tabella lattice di Contenuti Link a sezione sbagliata

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

Il mio problema è che il "Sommario" e "Elenco delle figure" voci nel link del sommario (nel pdf generato) nel posto sbagliato nel file. Entrambi si collegano alla prima sezione della sezione a pagina 1. La voce nella tabella è corretta (TOC dice pagina 2 e LOF dice pagina 3), ma il collegamento va nel posto sbagliato.

risposta

17

Avrete bisogno di usare il comando \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. 

Vedi the hyperref manual.

+0

Funziona solo fino a quando il sommario e l'elenco delle cifre non si estendono più di una singola pagina. In caso contrario, i collegamenti punteranno all'ultima pagina degli elenchi. –

+1

Ho suggerito una soluzione diversa che dovrebbe funzionare in entrambi i modi. – Noah

1

Questo comportamento è dovuto al fatto che \tableofcontents inserisce un'interruzione di pagina prima di scrivere il contenuto. Quindi, il tuo segnalibro PDF punterà alla pagina precedente. A seconda della classe del documento, è possibile inserire manualmente un numero di comandi \newpage per impedire a \tableofcontents di aggiungerne un altro. Uno o due dovrebbero essere sufficienti.

Lo so, è una soluzione hacky e potrebbe esistere un pacchetto per risolvere il problema, ma questo è il modo in cui risolvo il problema.

+0

Che non ha funzionato, ho aggiunto 1-3 nuove pagine e ancora collegamenti all'inizio della sezione precedente. Ho fatto la compilazione due volte. – Verhogen

2

Se stai facendo questo per la bibliografia, elenco delle tabelle o lista di figure,

\usepackage[nottoc]{tocbibind} 

dovrebbe risolvere il problema, senza i problemi sbagliato pagine. Altrimenti, non ho trovato una soluzione migliore di \ phantomsection con \ addcontentsline.

Problemi correlati