我想为文档和目录中的某些标题添加颜色(突出显示)。以下方法对我来说很好,但目录中的相应条目hyperref
(PDF 查看器侧栏中显示的链接)现在以蓝色开头。
\documentclass{article}
\usepackage[
colorlinks,
pdfpagelabels,
bookmarksnumbered, linkcolor = black,
plainpages = false, hypertexnames = false, citecolor = black,
urlcolor = blue,
breaklinks]{hyperref}
\usepackage{color}
\newcommand{\SBlue}[1]{%
\begingroup\color{blue}{\textbf{#1}}\endgroup%
}
\begin{document}
\tableofcontents
\vspace{10em}
\section{Heading 1}
foo
\section{\SBlue{Heading 2}}
bar
\section{Heading 3}
foobar
\end{document}
侧边栏中显示的内容如下:
Heading 1
blueHeading 2
Heading 3
有没有办法修改超链接文本?或者采用完全不同的方法?
--维克
答案1
书签面板的内容PDF
不应该由 TeX 宏组成,因此\color{blue}
等等都无法PDF
理解。
使用\texorpdfstring{\color{blue}{\textbf{#1}}{#1}
其中的第二次用法#1
将输入PDF
书签。
可以用 来控制颜色\bookmarksetup{color=blue,bold}
,如果不需要粗体,则只需省略它。
\documentclass{article}
\usepackage{xcolor}
\usepackage[
colorlinks,
pdfpagelabels,
bookmarksnumbered, linkcolor = black,
plainpages = false, hypertexnames = false, citecolor = black,
urlcolor = blue,
breaklinks]{hyperref}
\usepackage{bookmark}
\bookmarksetup{color=blue,bold}
\newcommand{\SBlue}[1]{%
%\begingroup
\texorpdfstring{\color{blue}\textbf{#1}}{#1}%
%\endgroup
}
\begin{document}
\tableofcontents
\vspace{10em}
\section{Heading 1}
foo
\section{\SBlue{Heading 2}}
bar
\section{Heading 3}
foobar
\end{document}
答案2
在对 Christian 的解决方案进行一些修改之后,这是我的最终代码:
\documentclass{article}
\usepackage[
colorlinks,
pdfpagelabels,
bookmarksnumbered, linkcolor = black,
plainpages = false, hypertexnames = false, citecolor = black,
urlcolor = blue,
breaklinks]{hyperref}
\usepackage{color}
\usepackage{bookmark}
\newcommand{\sectionB}[1]{
\bookmarksetup{color=[rgb]{0,0,1}, bold}
\section{\texorpdfstring{\color{blue}\textbf{#1}}{#1}}
\bookmarksetup{color={}, bold=false}
}
\begin{document}
\tableofcontents
\vspace{10em}
\section{Header 1}
foo
\sectionB{Header 2}
bar
\section{Header 3}
foobar
\end{document}
(我只从 xcolor 更改为 color,因为无论如何我已经加载了它并且不想测试对我现有文档的影响。)