Гиперссылка на LaTeX переходит на неправильную страницу, когда я нажимаю на ее содержимое

Я хотел бы спросить, как использовать \hyperref, потому что я погуглил множество ответов, но не могу найти. Я создал свой собственный TOC. тогда я включил \hyperref package. Тогда содержимое автоматически гиперссылки, что хорошо. но потом дело пошло не на те страницы. Я много гуглил, но не смог найти ответ. Содержимое, на которое я нажал, переходит не на ту страницу.

\documentclass[10pt,a4paper]{report}

\usepackage[latin1]{inputenc}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{graphicx}
\usepackage{enumerate}

\usepackage{hyperref}
% %\usepackage[colorlinks]{hyperref}


% %\renewcommand*{\contentsname}{\hyperlink{contents}{Contents}}
% %\renewcommand*{\contentsname}{\hyperref[contents]{\arabic{page}}}

\begin{document}

\input{coverPage}
\maketitle

\tableofcontents
\addcontentsline{toc}{chapter}{Table of Contents}
\pagebreak

\addcontentsline{toc}{chapter}{List of Figures}
\listoffigures
\pagebreak

% % (1) ==============================================
\setcounter{chapter}{1}
\addcontentsline{toc}{chapter}{1. Introduction}
\input{introduction}
\pagebreak

\addcontentsline{toc}{chapter}{2. References}
\input{references}
\pagebreak

\addcontentsline{toc}{chapter}{3. Glossary}
\input{glossary}
\pagebreak

\end{document}

1 ответ

Проблема здесь в том, что \chapter устанавливает себя на новой странице, поэтому выдача \addcontentsline{toc}{chapter}{<chapter title>} до \chapter может указывать на неправильную страницу.

Кроме того, ваш \tableofcontents может быть больше, чем одна страница. Итак, выдача \addcontentsline{toc}{chapter}{Table of Contents} после \tableofcontents - а \chapter* - может снова указать на неверную страницу.

Лучшее решение - использовать следующую настройку:

\cleardoublepage
\addcontentsline{toc}{chapter}{<chapter title>}
% <your \chapter or \chapter*>

Это обеспечит \addcontentsline выдается на той же странице, что и \chapter или же \chapter*,

Другие вопросы по тегам