当存在“linktoc=all”和“\hypersetup{linkcolor=black}”时,如何在目录中制作红色页码?

当存在“linktoc=all”和“\hypersetup{linkcolor=black}”时,如何在目录中制作红色页码?

如何将目录中的页码设为红色?我有

  • colorlinks=true,,linkcolor=blue因此标准内部链接为蓝色;
  • linctoc=all,因此目录条目名称和页码都是链接(点本身不是链接);
  • \hypersetup{linkcolor=black}在生成目录的组中,因此目录中的链接是黑色的,而不是其他地方的蓝色。

最后,我希望能够独立于条目名称颜色(本例中为黑色)更改目录中页码的颜色(例如,更改为红色)。作为开始,我添加了\renewcommand{\cftsecpagefont}{\color{red}}更改章节页码的功能,但它被忽略了。

(当将其放置在生成目录的组内时也会被忽略。此外,即使将其\hypersetup{linkcolor=black}从组中删除也会被忽略。相反,\renewcommand{\cftsecpagefont}{\bfseries}具有预期的效果...)

\documentclass{book}
\usepackage{tocloft}
\usepackage{titlesec}
\usepackage{xcolor}
\usepackage[colorlinks=true, linkcolor=blue, hypertexnames=false, linktoc=all]{hyperref} % blue internal links for document; in TOC, entry name and page nr are links

\renewcommand{\cftsecpagefont}{\color{red}} % does not work

\begin{document}
    {\hypersetup{linkcolor=black} % black links for table of contents (but you may comment this out, red color still not added)
    \tableofcontents} 
    
    \chapter{Example chapter}
    
    \section{Example section}
    
    \subsection{Example subsection}
    
This is some text.
\end{document}

问题将目录中的页码更改为红色经过不是重复linktoc=all替换为linktocpage。这将从条目名称中删除不需要的链接。

答案1

您可以隐藏目录中的链接颜色:

\documentclass{book}
\usepackage{tocloft}
\usepackage{titlesec}
\usepackage{xcolor}
\usepackage[colorlinks=true, linkcolor=blue, hypertexnames=false, linktoc=all]{hyperref} % blue internal links for document; in TOC, entry name and page nr are links

\renewcommand{\cftsecpagefont}{\color{red}} % does not work

\begin{document}
    {\hypersetup{hidelinks}
    \tableofcontents} 
    
    \chapter{Example chapter}
    
    \section{Example section}
    
    \subsection{Example subsection}
    
This is some text.
\end{document}

在此处输入图片描述

相关内容