我正在使用book
类,并试图实现toc
标题和页码都是可点击的并超链接到它们相应的部分,但特点是页码的颜色与它们的部分不同。
我想我需要在里面设置一些东西\hypersetup
,但我不知道如何去做。
我曾尝试使用:
\hypersetup{linktocpage}
但它只能使页码可点击;我想使页码和标题都可点击。这是我的完整代码和我想要获得的图片:
\documentclass[a4paper,11pt]{book}
\usepackage[latin1]{inputenc}
\usepackage[sc]{mathpazo}
\usepackage[T1]{fontenc}
\usepackage{palatino}
\usepackage[english,spanish,activeacute]{babel}
\usepackage{enumerate}
\usepackage{minitoc}
\usepackage[dvipsnames,table]{xcolor}
\usepackage[pdftex, breaklinks=true, colorlinks=true,linkcolor={blue}, citecolor={black}]{hyperref}
\hypersetup{linktocpage}
\begin{document}
\dominitoc
\setcounter{secnumdepth}{6} \setcounter{tocdepth}{6}
\renewcommand{\contentsname}{Table of contents}
\tableofcontents
\pagenumbering{arabic}
\chapter{Chapter 1}
Text
\section{Section 1}
Text
\subsection{Subsection 1}
Text
\subsubsection{Subsubsection 1}
Text
\end{document}
太感谢了!
答案1
默认设置hyperref
是只使章节标题超链接。但是,您可以使用linktoc
键值选项在
none
:标题和页码均未超链接;section
:仅章节标题有超链接;page
:仅页面条目有超链接;并且all
:章节标题和页面均有超链接。
以下最小示例使用提供的钩子临时更改页面的链接颜色tocloft
:
\documentclass{book}
\usepackage[dvipsnames,table]{xcolor}
\usepackage{tocloft}
\usepackage[colorlinks=true,linkcolor=blue]{hyperref}
\hypersetup{linktoc=all}
\makeatletter
\renewcommand{\cftchappagefont}{\bfseries\HyColor@HyperrefColor{red}\@linkcolor}
\renewcommand{\cftsecpagefont}{\HyColor@HyperrefColor{red}\@linkcolor}
\let\cftsubsecpagefont\cftsecpagefont % \renewcommand{\cftsubsecpagefont}{\HyColor@HyperrefColor{red}\@linkcolor}
\makeatother
\usepackage{blindtext}
\begin{document}
\tableofcontents
\blinddocument
\end{document}