Латекс Содержание Ссылки на неправильный раздел - PullRequest
18 голосов
/ 23 апреля 2009

У меня есть раздел, за которым следует содержание:

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

Моя проблема заключается в том, что записи «Оглавление» и «Список рисунков» в оглавлении (в сгенерированном pdf-файле) указывают на неправильное место в файле. Они оба ссылаются на первый раздел раздела на странице 1. Запись в таблице правильная (TOC говорит, что страница 2, а LOF говорит, что страница 3), но ссылка идет не туда.

Ответы [ 3 ]

19 голосов
/ 24 апреля 2009

Вам нужно будет использовать команду \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.

См. гиперреф руководство .

2 голосов
/ 05 августа 2009

Если вы делаете это для библиографии, списка таблиц или списка рисунков,

\usepackage[nottoc]{tocbibind}

должно это исправить, без проблем с неправильной страницей. В противном случае я не найду лучшего решения, чем \ phantomsection с \ addcontentsline.

0 голосов
/ 23 апреля 2009

Такое поведение связано с тем, что \tableofcontents вставляет разрыв страницы перед записью содержимого. Следовательно, ваша PDF-закладка будет указывать на страницу раньше. В зависимости от класса документа вы можете вручную вставить несколько команд \newpage, чтобы \tableofcontents не добавлял еще одну. Одного или двух должно быть достаточно.

Я знаю, что это хакерское решение, и может существовать пакет для решения проблемы, но я так обхожусь с этой проблемой.

...