如何将页码链接到latex中的目录?

时间:2010-08-03 04:38:32

标签: latex hyperref

我看过一个pdf LaTeX文档,其中页面底部的页码是hyperref链接,点击它们会导致你跳转到contents表。我没有tex文件,无法解决如何从hyperref包中完成它。有人可以帮忙吗?

3 个答案:

答案 0 :(得分:2)

您可以在toc处设置锚点并重新定义\thepage以链接到它。这是一个例子:

\documentclass{report}
\usepackage[colorlinks]{hyperref}
\renewcommand*{\contentsname}{\hyperlink{contents}{Contents}}
\renewcommand*{\thepage}{\hyperref[contents]{\arabic{page}}}
\begin{document}
\tableofcontents
\chapter{One}
Text
\end{document}

如果您使用babel并希望重新定义\contentsname,请使用babel的\addto命令或在\contentsname之后重新定义\begin{document}

答案 1 :(得分:0)

您是否尝试使用此功能定义页码?

\pagestyle{myheadings}
\markright{ ... }

其中\ markright指定带有指向内容页面链接的页码。

答案 2 :(得分:0)

这是我的做法

% !TEX encoding = UTF-8 Unicode
% !TEX TS-program = xelatex
\documentclass[UTF8, english]{article}
\usepackage{lipsum} %% produce dummy texts

\usepackage{hyperref}
\usepackage[pagestyles]{titlesec}

\newpagestyle{article}{
\setfoot
%% even pages
[]
[\footnotesize \hyperlink{toc}{\thepage}]
[]
%% odd pages
{}
{\footnotesize \hyperlink{toc}{\thepage}}
{}
}

\begin{document}

\title{example}
\date{}
\author{author}

\maketitle

\pagenumbering{roman}
\setcounter{tocdepth}{2}
\addtocontents{toc}{\protect\hypertarget{toc}{}}
\tableofcontents
\newpage
\pagenumbering{arabic}

\pagestyle{article}

\section{A}
\lipsum[1]
\subsection{a}
\lipsum[2]
\subsection{b}
\lipsum[3]
\subsection{c}
\lipsum[4]
\section{B}
\lipsum[5]
\subsection{d}
\lipsum[6]
\subsection{e}
\lipsum[7]
\section{C}
\lipsum[8]
\subsection{f}
\lipsum[9]
\subsection{g}
\lipsum[10]
\subsection{h}
\lipsum[11]

\end{document}

您当然可以自定义链接文本回到目录,但是您喜欢在序言中,请阅读titlesec的文档以了解更多详细信息。