Я использую 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
(лл. 20-33 в библатексе v3.15a).
\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}