将目录中的超链接仅更改为章节编号和页码

将目录中的超链接仅更改为章节编号和页码

我正在使用 Overleaf 进行文献综述,想知道如何更改目录的超链接。目前,章节编号和章节名称用作链接,如下所示:

在此处输入图片描述

但是,我发现这个页面上的颜色太多了,但我希望对所有链接都使用相同的颜色。我考虑将目录的链接更改为仅页面,方法是使用 linktocpage,如第 10 页所述https://mirror.lyrahosting.com/CTAN/macros/latex/contrib/hyperref/doc/manual.pdf

现在只有页码是蓝色的,这是意料之中的。但是,我希望章节编号也是链接。我该如何实现?

我确实找到了 2015 年的以下帖子:仅超链接目录中的章节编号,但这并没有解决我的问题。

任何帮助都非常感谢。提前谢谢您。

平均能量损失

\documentclass{article}
\usepackage[hidelinks, colorlinks=true, allcolors=blue]{hyperref}
\usepackage{lipsum}

\begin{document}
    \tableofcontents
    
    \section{First}
    \lipsum[66]
    
    \subsection{First first}
    \lipsum[66]
    
    \section{Second}
    \lipsum[66]
    
    \subsection{Second second}
    \lipsum[66]
\end{document}

答案1

hyperref修补 \contentsline 的链接。在 \contentsline 中,数字和文本位于一个参数中,页码位于另一个参数中。因此,hyperref 在数字和文本周围或页码周围(或两者周围)添加链接相当容易,但拆分数字和文本并不容易,因为不同的类对 \numberline(甚至参数的内容)的定义可能不同。

但是你的例子你可以这样做:

\documentclass{article}
\usepackage[hidelinks, colorlinks=true, allcolors=blue,linktoc=page]{hyperref}
\usepackage{lipsum}
\makeatletter
\def\numberline#1{%
 \ifx\Hy@tocdestname\ltx@empty
  \hb@xt@\@tempdima{#1\hfil}%
 \else 
 \hb@xt@\@tempdima{\hyper@linkstart{link}{\Hy@tocdestname}#1\hyper@linkend\hfil}%
 \fi}
\makeatother
\begin{document}
    \tableofcontents

    \section{First}
    \lipsum[66]

    \subsection{First first}
    \lipsum[66]

    \section{Second}
    \lipsum[66]

    \subsection{Second second}
    \lipsum[66]
\end{document}

在此处输入图片描述

相关内容