我正在使用biblatex
-backend biber
。是否有可能将参考书目中列出的项目数量限制为每页给定的数量?例如,我希望在 10 个参考书目项目之后有一个新页面。
多谢。
答案1
适用于大多数设置的一种简单方法如下。
\documentclass[british]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{csquotes}
\usepackage[style=numeric, backend=biber]{biblatex}
\newcounter{bibitemcount}
\renewbibmacro{finentry}{%
\finentry
\ifbibliography
{\stepcounter{bibitemcount}%
\ifnumless{\value{bibitemcount}}{10}
{}
{\newpage
\setcounter{bibitemcount}{0}}}
{}%
}
\addbibresource{biblatex-examples.bib}
\begin{document}
\nocite{*}
\printbibliography
\end{document}
不过,在书目环境中添加开始新页面的代码可能会更好一些。这依赖于样式,因此可移植性较差。下面的示例适用于style=numeric
。该样式的原始版本\defbibenvironment{bibliography}
可以在numeric.bbx
(biblatex v3.15a 中的第 20-33 行)。
\documentclass[british]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{csquotes}
\usepackage[style=numeric, backend=biber]{biblatex}
\newcounter{bibitemcount}
\defbibenvironment{bibliography}
{\list
{\printtext[labelnumberwidth]{%
\printfield{labelprefix}%
\printfield{labelnumber}}}
{\setlength{\labelwidth}{\labelnumberwidth}%
\setlength{\leftmargin}{\labelwidth}%
\setlength{\labelsep}{\biblabelsep}%
\addtolength{\leftmargin}{\labelsep}%
\setlength{\itemsep}{\bibitemsep}%
\setlength{\parsep}{\bibparsep}}%
\renewcommand*{\makelabel}[1]{\hss##1}}
{\endlist}
{\stepcounter{bibitemcount}%
\ifnumless{\value{bibitemcount}}{11}
{}
{\newpage
\setcounter{bibitemcount}{0}}%
\item}
\addbibresource{biblatex-examples.bib}
\begin{document}
\nocite{*}
\printbibliography
\end{document}