我正在biblatex
與biber
-backend 一起使用。是否有可能將參考書目中列出的項目數量限制為每頁給定的數量?例如,我想在 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 中的 ll.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}