LaTex:hyperref 包和 pdf 查看程序显示的目录

LaTex:hyperref 包和 pdf 查看程序显示的目录

我在使用 LaTex 时遇到了与 hyperref 包相关的问题。请考虑以下示例:

\documentclass{scrartcl}
\usepackage{hyperref}

\begin{document}

\tableofcontents

\section{Some section}

\section*{Some starred section}
\label{starred-section}
\addcontentsline{toc}{section}{\hyperref[starred-section]{Starred section}}

\end{document}

我使用 XeLaTex 编译它,它运行得很好,但输出有一个小问题,我在下面发布了一个截图。pdf 本身看起来完全没问题,但 PDF 查看程序(在我的情况下是在 Mac 上预览)显示的目录被 hyperref 搞乱了,请参见红色框。我检查了这是否是预览的问题,但 Adob​​e reader 以相同的方式显示目录。有人知道解决办法吗?谢谢!在此处输入图片描述

答案1

实际上,您不需要将任何目录 (toc) 条目链接到某个部分或某个内容。由于您使用的hyperref所有目录条目都已是链接,这也是导致此错误出现的原因。如果您需要将该标签用于其他地方的部分,它将完美地工作而不会出现任何错误,但不要将其用于目录。

工作代码如下:

\documentclass{scrartcl}
\usepackage[hidelinks]{hyperref} 
%hidelinks removes the ugly boxes around the links, if you want that.
%Else just remove the '[hidelinks]' again

\begin{document}

\tableofcontents

\section{Some section}

\section*{Some starred section}
\label{starred-section} %remove it if not needed elsewhere!
\addcontentsline{toc}{section}{Starred section}

\end{document}

相关内容