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의 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}