我收到以下警告
pdfTeX warning (ext4): destination with the same identifier (name{page.1}) has been already used, duplicate ignored
编译以下文档时:
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{hyperref}
\title{[Title]}
\author{N.N.}
\begin{document}
\begin{titlepage}
\maketitle
\thispagestyle{empty}
\end{titlepage}
\tableofcontents
\thispagestyle{empty}
\newpage
\section{[Section]}
\end{document}
我曾尝试通过在其他地方搜索来找到摆脱此警告的方法,并且我已经阅读PDFTeX 目标……被忽略以及此处的另一个问题pdfTeX 警告:具有相同标识符的目标已被使用,重复被忽略(奇怪的行为)。
答案1
避免该问题的一种方法是更改标题页的(不可见的)编号样式:
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[pdfpagelabels]{hyperref}
\title{[Title]}
\author{N.N.}
\begin{document}
\pagenumbering{Alph}
\begin{titlepage}
\maketitle
\thispagestyle{empty}
\end{titlepage}
\pagenumbering{arabic}
\tableofcontents
\thispagestyle{empty}
\newpage
\section{[Section]}
\end{document}
答案2
根据评论的要求:解决这个问题的另一种方法是禁用标题页的页面锚点:
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[pdfpagelabels]{hyperref}
\title{[Title]}
\author{N.N.}
\begin{document}
\hypersetup{pageanchor=false}
\begin{titlepage}
\maketitle
\end{titlepage}
\hypersetup{pageanchor=true}
\pagenumbering{arabic}
\tableofcontents
\section{[Section]}
\end{document}
哪种解决方案更好取决于个人喜好。hyperref 需要具有唯一名称的页面锚点,例如,为了向索引添加链接。更改页码样式(如 Enrico 在他的回答中所做的那样)是一种合乎逻辑且适当的方法。另一方面:如果文档的某个部分不需要页面锚点,则禁用它们也足够了。
答案3
我必须使用我所在大学的模板,因此无法自由地将文档的各个部分移动到不同位置。我的理解是,许多软件包与 hyperref 相冲突(请参阅https://texfaq.org/FAQ-hyperdupdest),对我而言唯一有效的方法是在 hyperref 之前加载 float 包。
\usepackage{float}
\usepackage{hyperref}
答案4
\begin{equation}
就我而言,警告是由于我使用了使用和的显示样式方程式\end{equation}
(包括\nonumber
命令)而导致的。将其替换为\[
和\]
并删除\nonumber
即可消除警告。