如何将 biblatex 书目的各个部分放在报告中的同一页面上并作为目录中的各部分?

如何将 biblatex 书目的各个部分放在报告中的同一页面上并作为目录中的各部分?

我正在使用 documentclass report,我想用 biblatex 实现参考书目的以下安排,但是经过一整天的沮丧之后,我不知道该怎么做:

1) 我将参考书目分为两部分,即“有关事物的书籍”和“其他一切”,并希望有一个名为“参考书目”的未编号目录条目,以及分别名为“有关事物的书籍”和“其他一切”的未编号子条目。我只能让两个参考书目部分成为目录中未编号的章节,而不是名为参考书目的章节的部分。

2) 当我打印bibheading和 两个参考书目时,三个都打印在各自的页面上,而不是打印在一页上,尽管它们可以放得下。这似乎与使用 有关\documentclass{report}。有没有办法让这三个都打印在同一页上(没有双关语的意思)?

这是一个最小的代码(希望我没有忘记任何东西):

\documentclass[10pt,a4paper,twoside]{report}
\usepackage[
backend=biber,
citestyle=alphabetic,
bibstyle=alphabetic,
sorting=anyvt,
backref=true,
backrefstyle=none
]{biblatex}
\addbibresource{references.bib}

\pretocmd{\section}{\ifnum\value{section}=0 \else\clearpage\fi}{}{} % puts sections on new page except 1st one

\usepackage[
bookmarksopen,
bookmarksnumbered,
colorlinks=false,
urlcolor=blue,
linkcolor=red,
citecolor=green,
frenchlinks=false
]{hyperref}

\begin{document}

\pdfbookmark[chapter]{\contentsname}{toc}
\tableofcontents

\nocite{*}
\printbibheading
\printbibliography[
 heading=bibintoc,
 keyword={books on things},
 title={Books on Things}
 ]       
\printbibliography[
 heading=bibintoc,
 notkeyword={books on things},
 title={Everything Else}
 ]

\end{document}

答案1

您实际上已经快到了。由于该类report提供chapter级别,因此要求\printbibliography\printbibheading将被放置在此级别,选项 也是如此heading=bibintoc。要获得\printbibliography级别 的section,您应该使用heading=subbibintoc。最后,您\printbibheadint在 TOC 中获得 ,您需要选项heading=bibintoc

因此,有了:

\printbibheading[heading=bibintoc]
\printbibliography[
 heading=subbibintoc,
 keyword={books on things},
 title={Books on Things}
 ]       
\printbibliography[
 heading=subbibintoc,
 notkeyword={books on things},
 title={Everything Else}
 ]

你应该会没事的。

相关内容