Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
当我点击那里的内容时,LaTeX hyperref链接转到了错误的页面_Latex_Tex_Tableofcontents_Hyperref - Fatal编程技术网

当我点击那里的内容时,LaTeX hyperref链接转到了错误的页面

当我点击那里的内容时,LaTeX hyperref链接转到了错误的页面,latex,tex,tableofcontents,hyperref,Latex,Tex,Tableofcontents,Hyperref,我想问一下如何使用\hyperref,因为我在谷歌上搜索了大量答案,但找不到。我已经创建了自己的TOC。然后我包含了\hyperref包。然后内容自动超链接,这是好的。但后来它转到了错误的页面。我在谷歌上搜索了很多,但找不到答案。我点击的内容进入了错误的页面 \documentclass[10pt,a4paper]{report} \usepackage[latin1]{inputenc} \usepackage{amsmath} \usepackage{amsfonts} \usepacka

我想问一下如何使用\hyperref,因为我在谷歌上搜索了大量答案,但找不到。我已经创建了自己的TOC。然后我包含了\hyperref包。然后内容自动超链接,这是好的。但后来它转到了错误的页面。我在谷歌上搜索了很多,但找不到答案。我点击的内容进入了错误的页面

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

这里的问题是
\chapter
将自己设置在一个新页面上,因此在
\chapter
之前发出
\addcontentsline{toc}{chapter}{}
可能指向一个不正确的页面

此外,您的
\tableofcontents
可能不止一页。因此,在
\tableofcontents
-a
\chapter*
之后发布
\addcontentsline{toc}{chapter}{tableofcontents}
,可能再次指向错误的页面

最好的解决方案是使用以下设置:

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

这将确保
\addcontentsline
\chapter
\chapter*
使用
\cleardoublepage\phantomsection\addcontentsline{toc}{chapter}{\contentsname}\tableofcontents
在同一页面发布。更大的问题是:你为什么要手动插入这个?@Werner我的讲师想我们该怎么做。。我不知道还有什么更好的方式来添加内容。。lol除了手动方式,还有其他自动方式吗?您应该使用
\chapter{}
插入章节。我猜你在介绍.tex和其他文件中做了一些不同的事情。@Werner你想写一个答案吗?还是接近不清楚?