# [Tex/LaTex] hyperref not working. It goes to wrong page

I dont understand why my hyperref is not going to the page I wanted when I click it on my table of content?

\documentclass[12pt, a4paper, oneside]{report}
\usepackage[T1]{fontenc}
\usepackage{mathptmx} %times font
\usepackage[latin1]{inputenc}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{graphicx}
\usepackage{enumerate}
\usepackage{hyperref}
\usepackage{setspace}
\usepackage[english]{babel} %roman & arabic label page
\usepackage[top=50mm , bottom=50mm, left=45mm, right=45mm]{geometry}

\addto\captionsenglish{% Replace "english" with the language you use
\renewcommand{\contentsname}%
}

\hypersetup{
linktoc=all,     %set to all if you want both sections and subsections linked
}

\pagenumbering{Roman}

\begin{document}
\input{CoverPage}
\thispagestyle{empty}
\pagebreak

\input{TitlePage}
\thispagestyle{empty}
\pagebreak

\setcounter{page}{1}
\pagebreak

\input{DeclarationPage}
\pagebreak

\input{AcknowledgementPage}
\pagebreak

\tableofcontents

\pagebreak

\listoffigures
\pagebreak

% % (1) =========================================
\pagenumbering{arabic}
\input{Introduction}
\setcounter{chapter}{1}
\pagebreak


There are multiple issues with the O.P. code...

• Use \cleardoublepage\phantomsection\addcontentsline{...} if some content must be explicitly added to a ToC
• For the Table of Contents and List of Figures \usepackage{tocbibind} is the cleaner solution
• The Introduction should be real chapter and not something with \section and subsection. This screws up the bookmarking etc. and numbering.
• The \input is too much for my taste -- It makes editing (and debugging) very difficult.

Some notes on \phantomsection etc.

If content is to be added to a .toc etc. file, \addcontentsline{toc}{...}{...} is most times the right choice. However, if this happens without a \cleardoublepage (or \clearpage) in conjunction with \phantomsection, the link will go to a previous page.

The \phantomsection can be omitted however, if a command like \chapter* etc. is used. An anchor related to chapter* is inserted by hyperref then. For more information, see section

3.2 Options for destination names

in the hyperref manual please.

\documentclass[12pt, a4paper, oneside]{report}
\usepackage[T1]{fontenc}
\usepackage{mathptmx} %times font
\usepackage[latin1]{inputenc}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{graphicx}
\usepackage{enumerate}
\usepackage{setspace}
\usepackage[english]{babel} %roman & arabic label page
\usepackage[top=50mm , bottom=50mm, left=45mm, right=45mm]{geometry}

\addto\captionsenglish{% Replace "english" with the language you use
\renewcommand{\contentsname}%
}

\title{Foo}
\author{Foo}

\usepackage{blindtext}
\usepackage{tocbibind}

\usepackage{hyperref}

\hypersetup{
linktoc=all,     %set to all if you want both sections and subsections linked
}

\pagenumbering{Roman}

\begin{document}
\input{CoverPage}
\thispagestyle{empty}
\cleardoublepage
\input{TitlePage}
\thispagestyle{empty}
\cleardoublepage

\phantomsection
\setcounter{page}{1}
\cleardoublepage

\phantomsection
\input{DeclarationPage}
\cleardoublepage

\phantomsection
\input{AcknowledgementPage}
\cleardoublepage

\tableofcontents
\cleardoublepage

\listoffigures
\cleardoublepage

% % (1) =========================================
\pagenumbering{arabic}
\phantomsection
\input{Introduction}
\setcounter{chapter}{1}  % Why???

\end{document}


For the individual FooPage.tex files I used basically this code

\chapter*{Foo}  % To make the page header outstanding, just for this solution
\blindtext[2]


Replace Foo with the relevant name (Exception: TitlePage.tex is \maketitle only)

The individual \phantomsection commands aren't necessary if \chapter* etc is used, but I kept them, since it's unclear what's inside the real \input{...} files.