我正在使用该titlesec
软件包将部分字体更改为无衬线字体。不幸的是,这会破坏 PDF 阅读器目录中和书签侧栏中“未编号”部分的链接。我正在使用该tocbibind
软件包和heading=bibintoc
设置biblatex
将参考书目和图表列表添加到目录中。
在以下示例中,只有指向“章节”的链接有效。单击“图片列表”会跳转到目录,单击“参考文献”会跳转到“章节”。
foo.tex
\documentclass{article}
\usepackage[sf,bf]{titlesec}
\usepackage[nottoc]{tocbibind}
\usepackage[backend=biber]{biblatex}
\usepackage{hyperref}
\addbibresource{foo.bib}
\begin{document}
\tableofcontents
\clearpage
\listoffigures
\clearpage
\section{Section}
\clearpage
\nocite{foo}
\printbibliography[heading=bibintoc]
\end{document}
foo.bib(只需要,biblatex
否则会抱怨书目为空)
@book{foo,
author = {foo},
title = {foo}
}
有任何解决这个问题的方法吗?
答案1
似乎存在问题titlesec
;在这种情况下,一个可能的解决方案是使用sectsty
包;这将产生正确的链接,而无需手动添加\phantomsection
(毕竟,这是 的作用的一部分tocbibind
):
\documentclass{article}
\usepackage{sectsty}
\usepackage[nottoc]{tocbibind}
\usepackage[backend=biber]{biblatex}
\usepackage{hyperref}
\allsectionsfont{\sffamily\bfseries}
\addbibresource{biblatex-examples.bib}
\begin{document}
\tableofcontents
\clearpage
\listoffigures
\clearpage
\section{Section}
\clearpage
\nocite{*}
\printbibliography[heading=bibintoc]
\end{document}
答案2
在和\phantomsection
前面添加:\listoffigures
printbibliography
\documentclass{article}
\usepackage[sf,bf]{titlesec}
\usepackage[nottoc]{tocbibind}
\usepackage[backend=biber]{biblatex}
\usepackage{hyperref}
\addbibresource{foo.bib}
\begin{document}
\tableofcontents\clearpage
\phantomsection
\listoffigures\clearpage
\section{Section}
\clearpage
\nocite{foo} \phantomsection
\printbibliography[heading=bibintoc]
\end{document}
hyperref
手册指出:
这会在此位置设置一个锚点。其工作原理类似于自动选择的锚点名称。它通常与节类内容(索引、参考书目、序言)
\hypertarget{}{}
结合使用。指设置锚点的最新上一个位置。\addcontentsline
\addcontentsline