BibLatex: запись в оглавлении либо отображает неверную страницу, либо ссылается на неверную страницу

BibLatex: запись в оглавлении либо отображает неверную страницу, либо ссылается на неверную страницу

В следующем MWE запись «Библиография» в оглавлении ссылается на страницу 3, а не на страницу 5, где находится библиография.

Если я сначала \printbibliography, а затем \addcontentsline, то запись в Оглавлении ссылается на последнюю страницу Библиографии (это довольно сложно поместить в MWE, но см.этот другой вопрос и первый ответ

(если я опускаю \cleardoublepage, то запись оглавления отображает неправильную страницу и ссылается на неправильную страницу)

\documentclass{book}
\usepackage{blindtext}
\usepackage{hyperref}
\usepackage{biblatex}

\addbibresource{library.bib}
\begin{document}
\tableofcontents
\chapter{Test}

 \cite{Kullback1997}.
\blindtext
\cleardoublepage
\addcontentsline{toc}{chapter}{\bibname}
\printbibliography
\end{document}

и файл .bib:

@Book{Kullback1997,
  Title                    = {Information Theory and Statistics},
  Author                   = {Kullback, S.},
  ISBN                     = {9780486696843},
  Publisher                = {Dover Publications},
  Series                   = {A Wiley publication in mathematical statistics},
  URL                      = {https://books.google.com.sa/books?id=05LwShwkhFYC},
  Year                     = {1997},
  __markedentry            = {[wolfersf:6]},
  Lccn                     = {97014382}
}

решение1

Вы должны добавить \phantomsectionкак якорь. Но лучше использовать инструменты biblatex:

\documentclass{book}
\usepackage{blindtext}
\usepackage{hyperref}
\usepackage{biblatex}

\addbibresource{biblatex-examples.bib}
\begin{document}
\tableofcontents
\chapter{Test}

 \cite{doody}.
\blindtext
%\cleardoublepage
%\phantomsection
%\addcontentsline{toc}{chapter}{\bibname}
\printbibliography[heading=bibintoc]
\end{document}

Связанный контент