Estou usando biblatex
com o biber
-backend. Existe a possibilidade de limitar o número de itens listados na bibliografia a um determinado número por página? Por exemplo, quero ter uma nova página após 10 itens bibliográficos.
Muito obrigado.
Responder1
Uma maneira simples de fazer isso, que deve funcionar para a maioria das configurações, é a seguinte.
\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}
No entanto, pode ser um pouco melhor adicionar o código para iniciar uma nova página no ambiente bibliográfico. Isso depende do estilo, portanto, é menos portátil. O exemplo abaixo é para style=numeric
. O original \defbibenvironment{bibliography}
desse estilo pode ser encontrado emnumeric.bbx
(ll. 20-33 no biblatex 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}