Biblatex 源项目中间的分页符

Biblatex 源项目中间的分页符

我遇到的问题是,Biblatex 在参考书目引用的中间放置了一个分页符。

参考书目分页符示例

我已经搜索过,所有提供的解决方案(例如将 interlinepenalty 设置为最大值 10,000)都没有效果。

我真的很困惑。附件是参考书目的样式结构:

\ProvidesFile{style.bbx}
\RequireBiber[2]
\RequireBibliographyStyle{authortitle}



\setcounter{biburlnumpenalty}{100}  % allow breaks after numbers
\setcounter{biburlucpenalty}{100}   % allow breaks after uppercase letters
\setcounter{biburllcpenalty}{100}   % allow breaks after lowercase letters

\renewcommand*{\bibsetup}{\RaggedRight}

\InitializeBibliographyStyle
{%
    \setlength\bibitemsep{6pt}%
    \setlength\bibhang{0.75cm}
    \UniCn
    \fontsize{10pt}{12pt}
}

\defbibenvironment{bibliography}
{\list
    {\fontsize{10pt}{12pt}\UniCn[\printfield[labelnumberwidth]{labelnumber}]}
    {%
        \setlength{\labelwidth}{\labelnumberwidth}%
        \setlength{\leftmargin}{\bibhang}%
        \setlength{\itemindent}{-\leftmargin}%
        \setlength{\itemsep}{\bibitemsep}%
        \setlength{\parsep}{\bibparsep}%
    }%
}
{\endlist}
{\item}

%\item\begin{minipage}[t]{\textwidth}\end{minipage}

\NewBibliographyString{abgerufen am}
\DefineBibliographyStrings{ngerman}{%
    abgerufen am = {abgerufen am},
}

\NewBibliographyString{URL}
\DefineBibliographyStrings{ngerman}{%
    URL = {URL},
}

\newbibmacro{name:newformat}{%
    {\namepartfamily}  % #1->\namepartfamily, #2->\namepartfamilyi
        {\namepartgiven}   % #3->\namepartgiven,  #4->\namepartgiveni
        [prefix: \namepartprefix] % #5->\namepartprefix, #6->\namepartprefixi
        [suffix: \namepartsuffix] % #7->\namepartsuffix, #8->\namepartsuffixi
}

\DeclareFieldFormat{title}{{\space\UniLightCnI{#1}}}
\DeclareFieldFormat{url}{{\UniLight URL:\space\url{#1}}}
\DeclareFieldFormat{isbn}{{\UniLight ISBN:\space{#1}}}
\DeclareFieldFormat{edition}{{#1\addcomma}}
\DeclareNameAlias{sortname}{given-family}


\DeclareFieldFormat{visited}{\bibstring{abgerufen am}\space #1}

\DeclareBibliographyDriver{website}
{%
    {\UniCn\printfield{organization}}%
        {\UniLight\space(o.J.):}\printfield{title}\adddot%
    \UniLight\newline\nobreak%
    Onlinedokumentation\adddot\space%
    \printfield{url}\addcomma\space%
    \printfield{visited}%
    \finentry%
}

\DeclareBibliographyDriver{book}
{%
    {\UniCn\printnames{author}}%
        {\UniLight\space(\printfield{year}):}\printfield{title}\adddot%
    \UniLight\newline%
    \printlist{location}:\space%
    \printfield{edition}\space%
    \printlist{publisher}\space%
    \finentry%
}

\DeclareBibliographyDriver{techreport}
{%
    {\UniCn\printnames{author}}%
        {\UniLight\space(\printfield{year}):}\printfield{title}\adddot%
    \UniLight\newline\nobreak%
    \printlist{location}:\space%
    \printfield{edition}\space%
    \printlist{publisher}\space%
    \finentry%
}

答案1

因为没有得到答案,所以我自己又回去做了一遍。其实很简单,你只需要想出来就可以了。

\usepackage{needspace}

% The number determines how many lines of space the entry takes.
\AtEveryBibitem{\needspace{3\baselineskip}}

值得注意的是,这两个命令都必须包含在 biblatex 之后。

相关内容