![参考书目中的引用条目之间没有分页符](https://linux22.com/image/422776/%E5%8F%82%E8%80%83%E4%B9%A6%E7%9B%AE%E4%B8%AD%E7%9A%84%E5%BC%95%E7%94%A8%E6%9D%A1%E7%9B%AE%E4%B9%8B%E9%97%B4%E6%B2%A1%E6%9C%89%E5%88%86%E9%A1%B5%E7%AC%A6.png)
我正在格式化我的参考书目。如果条目无法在没有分页符的情况下放在页面末尾(引用将分成两页),LaTeX 会自动生成分页符。我认为,如果页面使用不均等,看起来会有点奇怪。
虽然在谷歌上可以看到一些解决方案,但我想问您是否知道一个非常简单的方法来改变它,即使用整页并将条目分成两页。
亲切的问候,
\documentclass[12pt,twoside, openany]{book}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc} % Output font encoding for international characters
\usepackage[greek,english]{babel}
\usepackage{indentfirst} % Identation after chapter header
\usepackage{graphicx}
\graphicspath{{images/} }
\usepackage[labelfont={bf},
%belowskip=-10pt,
%aboveskip=0pt
singlelinecheck=false
]{caption}
\usepackage{romannum}
\usepackage[toc,page]{appendix}
\usepackage{tabu}
\usepackage{xltabular}
\usepackage{booktabs,tabularx}
\usepackage{pgfplots}
\usepackage{boldline}
\usepackage{epstopdf}
\usepackage{multirow}
\usepackage{amsmath}
\usepackage{bm}
\usepackage{enumitem}
\usepackage{float}
\usepackage{wrapfig}
\usepackage{subfigure}
\usepackage{xcolor}
\usepackage{array}
\newcolumntype{P}[1]{>{\centering\arraybackslash}p{#1}}
\usepackage{comment}
\usepackage{textgreek}
\usepackage{parskip}
\setlength{\parskip}{\baselineskip}
\usepackage{url}
\urlstyle{same}
\usepackage[backend=biber,natbib=true,sorting=none,isbn=false,eprint=false,
doi=false,style=ieee,dashed=false,citestyle=numeric-comp]{biblatex}
\AtEveryBibitem{\clearfield{number}}
\addbibresource{Reference.bib}
\usepackage[intoc]{nomencl} % List of symbols
\usepackage{makeidx}
\makenomenclature
\renewcommand{\nomname}{List of Abbreviations}
\usepackage{setspace}
\usepackage{titlesec}
\titlespacing*{\section} % Spacing before/after (sub-) section titles
{0pt}{16pt plus 2pt minus 2pt}{18pt plus 2pt minus 2pt}
\titlespacing*{\subsection}
{0pt}{12pt plus 2pt minus 2pt}{10pt plus 2pt minus 2pt}
\setcounter{secnumdepth}{4}
\setcounter{tocdepth}{4}
\titleformat{\chapter}[hang]{\Huge\bfseries}{\thechapter{. }}{0pt}
{\Huge\bfseries} % Title without "Chapter" but Nr. in front
\usepackage{amsmath}
\usepackage{geometry}
\usepackage{siunitx}
\usepackage[acronym,toc]{glossaries} % use glossaries-package
\setlength{\glsdescwidth}{15cm}
\newglossary[slg]{symbolslist}{syi}{syg}{List of Symbols} % create add. symbolslist
\glsaddkey{unit}{\glsentrytext{\glslabel}}{\glsentryunit}{\GLsentryunit}{\glsunit}{\Glsunit}{\GLSunit}
\makeglossaries % activate glossaries-package
\renewcommand*{\glossaryheader}{% Change the table header
%\bfseries Sign & \bfseries Description & \bfseries Unit \\
%\hline
\endhead}
\renewcommand*{\glossentry}[2]{% Change the displayed items
\glstarget{##1}{\glossentryname{##1}} %
& \glossentrydesc{##1}% Description
& \glsunit{##1} \tabularnewline
}
}
\geometry{
paper=a4paper, % Change to letterpaper for US letter
inner=2.5cm, % Inner margin
outer=2.5cm, % Outer margin
bindingoffset=.5cm, % Binding offset
top=1.5cm, % Top margin
bottom=1.5cm, % Bottom margin
headheight=15pt
}
\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyhf{}
\fancyhead[LE,RO]{}
\fancyhead[RE,LO]{\rightmark}
\fancyfoot[RE,LO]{}
\fancyfoot[CE,CO]{\thepage}
\renewcommand{\headrulewidth}{0.4pt}
\renewcommand{\footrulewidth}{0.4pt}
%\setlength{\headsep}{0.4 cm} % Spacing between header and textblock below
\setlength{\footskip}{15pt}
\usepackage[bottom]{footmisc}
\fancyheadoffset{0pt}
\fancyfootoffset{0pt}
%\geometry{headheight=29.54742pt}
%\setlength{\headheight}{30pt}
%\setlength{\footnotesep}{0.5 cm}
答案1
通常情况下,休息是允许在 bibitem 中插入,但不允许在第一行和第二行之间插入,也不鼓励在最后一行之前插入。因此两行 bibitem 不会中断。您可以插入设置
\clubpenalty=0 \widowpenalty=0
允许这些休息而不受惩罚。如果某些包裹阻止全部换行符,添加\interlinepenalty=0
到上面的两个中。
如果您使用显式环境,则插入设置很容易,但对于或 来说则thebibliography
比较困难。最干净的方法是使用某些包的功能(例如,natbib 有),但这是一种丑陋的黑客方式。\bibliography
\printbibliography
\@bibsetup
\let\prevTheBib\thebibliography
\renewcommand\thebibliography[1]{\prevTheBib{#1}%
\clubpenalty=0 \widowpenalty=0\relax}
如果包是 biblatex,则应该足以进行更改\bibsetup
(这是一个宏,而不是我所想的声明钩子)。(或)正常情况\bibsetup
是
\bibsetup ->\interlinepenalty =5000\relax \widowpenalty =10000\relax
\clubpenalty =10000\relax \raggedbottom \frenchspacing \biburlsetup
这使全部你的问题!既防止断裂,又使底部参差不齐。所以改变它:
\renewcommand\bibsetup{\clubpenalty=0 \widowpenalty=0 \interlinepenalty=0
\flushbottom \frenchspacing \biburlsetup}
最后,在注释之后,您想要底部齐平,但设置了刚性\bibitemsep
,使垂直列表没有灵活性。无论在哪个页面上看起来底部参差不齐,您都应该收到有关
Underfull \vbox (badness 10000) has occurred while \output is active
意思是页面不是故意弄乱的,但另一行文本无法容纳在页面上,并且文本无法调整位置。尝试设置
\setlength\bibitemsep{0.75\baselineskip plus 1pt minus 1pt}
而是。默认\bibitemsep
的 0pt 问题比较大,但你可以尝试
\setlength\bibitemsep{0pt plus 0.1pt}
在没有任何灵活性的情况下实现底部齐平属于“在网格上排版”的范畴,并且页面上的所有内容都必须精心设计以占据的倍数\baselineskip
。