(我不确定这个帖子标题是否足够好)
我正在使用biblatex
并按biber
部分打印参考书目refsection=part
。
下面的 MWE 会产生一个警告hyperref
。
name{cite.0@foo} has been referenced but does not exist, replaced by a fixed one
我认为这是因为第一部分之前没有参考书目,所以引用链接指向毫无意义的地方。
我想解决这个问题,因为它是唯一的警告在我的文件中!!
平均能量损失
% arara: pdflatex
% arara: biber
% arara: pdflatex
% arara: pdflatex
\documentclass{report}
\usepackage{filecontents}
\begin{filecontents}{foo.bib}
@book{foo,
author = {author},
title = {title},
date = {2019},
}
\end{filecontents}
\usepackage[backend=biber, refsection=part, citestyle=alphabetic, backref=true, style=alphabetic]{biblatex}
\addbibresource{foo.bib}
\defbibheading{bibliography}{%
\cleardoublepage
\chapter*{\bibname\ of \thepart}%
\thispagestyle{plain}%
}
\usepackage{hyperref}
\begin{document}
By \cite{foo}
\part{title}
Again by \cite{foo}
\printbibliography
\end{document}
答案1
下面是一个更简单的例子。是的,您会收到警告,因为链接没有目标。一种解决方案是在某处提供目标\hypertarget
(或通过在此引用部分中添加)\printbibliography
。另一种解决方案是使用不创建链接的引用命令。
\documentclass{report}
\usepackage[]{biblatex}
\addbibresource{biblatex-examples.bib}
\usepackage{hyperref}
\begin{document}
By \cite{doody}
%\hypertarget{cite.0@doody}{}
\end{document}