我尝试使用 hyperref 和 pagebackref 来获取每个参考文献的页码和链接。我的第一页使用罗马数字(标题页等),后来我改用阿拉伯数字。无论出于什么原因,参考文献中的链接都有正确的页码,但链接是错误的(不知何故出现了负偏移量)。
我有一个简单的例子:
\documentclass[a4paper, 12pt, twoside]{report}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[english,ngerman]{babel}
\usepackage[left=4cm,top=3cm,right=3cm,bottom=4cm]{geometry}
\usepackage[pdftex, plainpages=false, hypertexnames=false, pdfpagelabels=true,
hyperindex=true, linktocpage, pagebackref=true, pdfa=true]{hyperref}
\begin{document}
\pagenumbering{roman}
\pagestyle{empty}
Titel
\setcounter{page}{1}
\tableofcontents
\newpage
\pagenumbering{arabic}
\pagestyle{plain}
\chapter{one}
\section{one}
\newpage
\section{two}
Zitation~\cite{citation_key}
\bibliographystyle{plain}
\begin{thebibliography}{widest-label}
\bibitem{citation_key}Autor: Titel. Verlag, Jahr.
\end{thebibliography}
\end{document}
有任何想法吗?
答案1
我找到解决办法了。
该hyperref
选项hypertexnames
必须设置为true
(默认值)。
首先,这导致我的模板出现其他问题
(pdfTeX 警告(ext4):具有相同标识符(
name{...}
)的目标已经被使用,重复项被忽略)。
我可以通过\Roman
对标题页和类似内容进行页码编排、\roman
对目录和类似内容进行页码编排以及\arabic
对文档其余部分进行页码编排来解决此问题。
托拜厄斯
答案2
如果不希望 backref 返回到文本中的错误页面,则不应使用完全相同的编号系统。因此,从文档开头到使用阿拉伯数字的开头,您都必须使用罗马数字。
%%%%%%%%%%%%%%%%%%%%%% Debut du doccument %%%%%%
\begin{document}
\thispagestyle{empty} \pagenumbering{roman}
%%%%%%%%%%%%%%%%%%%%% page couverture %%%%%%%%%%%%
\includepdf[pages=-, width=8in]{cover_page}
%\includepdf[pages=1,2,3,4 width=5in]{portada.pdf}
\setsecnumdepth{subsection}
%%%%%%%%%%%%%%%%%%%%%% Title page titre %%%%%%
\mainmatter
%%%%%%%%%%%%%%%%%%%%%%%%%% Corps du texte %%%%%%
\pagenumbering{arabic}
\include{your file}
\include{your file}
\include{your file}
%%%% Apendices et Bibliogaphie %%%%%%
\backmatter
\end{document}