书中没有浮点数或数学符号,只有简单的标题(部分和章节)和文本,出现 \vbox 未满(不良率 10000)警告

书中没有浮点数或数学符号,只有简单的标题(部分和章节)和文本,出现 \vbox 未满(不良率 10000)警告

所以我有这个相对简单编码的book文档。
当我尝试编译它时,我收到很多Underfull \vbox (badness 10000) has occurred while \output is active警告(尽管提供的 MWE 中只有一个)。的结构book很简单:只有标题和文本。
例如,页面以零件号、章节号和文本开头(是的,我在零件号和章节号之间以及章节号和文本之间都有图像,这些图像都是用\includegraphics命令添加的)。但即使我删除这些图像,警告仍然会弹出更多警告!
我之前遇到过文本底线悬挂在框架上方的问题,但通过heightroundedgeometry书中添加解决了这个问题。
我理解类默认book使用\flushbottom将文本刷新到框架底部。所以我尝试使用\raggedbottom许多人建议的方法,但虽然解决了警告问题,但又带来了另一个问题:现在在某些页面上,底线的基线悬挂在框架上方,有时几乎有整行那么高(不幸的是,在 MWE 中并不那么明显,但您仍然可以在第 1 页上看到它)!
所以我很困惑,为什么会出现这些警告,因为我的文档是相当简单的编码?!
但我注意到它与我的标题(零件号和章节号,可能还有图像)的间距有某种联系。因为当我删除所有\part\chapter命令并只留下裸文本时,警告就会消失。这与titlesec包装有什么关系吗?
我保留了packages文档中所有使用的内容,因此您可以轻松发现其中是否有问题。PS
:不要介意这些Overfull \hbox警告,我的文本中没有它们。它们仅在\lipsum使用时出现。

% !TEX TS-program = LuaLaTeX
\documentclass[11pt,twoside,openany]{book}
\pagestyle{plain}
\usepackage[english, russian]{babel}
\usepackage{fontspec}
\setmainfont{EB Garamond}[
]
\usepackage{microtype}
\usepackage[shortcuts]{extdash}
\usepackage[pagewise]{lineno} 
\usepackage[
  paperwidth=6in,
  paperheight=9in,
  inner=13mm,
  top=15mm,
  outer=20mm,
  bottom=24mm, showframe,
  heightrounded,
]{geometry} 

\usepackage{lettrine}
\setcounter{DefaultLines}{3}
\renewcommand{\DefaultLoversize}{0.1} 
\renewcommand{\DefaultLraise}{0} 
\renewcommand{\LettrineTextFont}{}
\setlength{\DefaultFindent}{\fontdimen2\font}

\usepackage{lipsum}
\setlength{\parskip}{0pt} 
\usepackage{graphicx}
\usepackage[dvipsnames]{xcolor}
\usepackage[pages=some]{background}

\usepackage{fancyhdr}
\fancyhf{} 
\renewcommand{\headrulewidth}{0ex} 
\fancyfoot[LE,RO]{\thepage} 
\pagestyle{fancy}
\fancypagestyle{plain}{%
  \fancyhf{}%
  \renewcommand{\headrulewidth}{0ex}%
  \fancyhf[lef,rof]{\thepage}%
}
 
\usepackage{etoolbox}
\makeatletter
\patchcmd{\chapter}{\if@openright\cleardoublepage\else\clearpage\fi}{\par}{}{}
\makeatother

%\raggedbottom % If used, it messes up the bottom line the way that its baseline hangs above the frame on some pages

\usepackage{titlesec}
\titleclass{\part}{top}
\titleformat{\part}{\centering\normalfont\large}{\thepart.}{4ex}{\LARGE\centering}
\titlespacing*{\part}{0ex}{2ex}{0ex} 
\titleclass{\chapter}{straight}
\titleformat{\chapter}{\centering\normalfont\large}{\thechapter.}{4ex}{\large\centering}
\titlespacing*{\chapter} {0ex}{6ex}{02ex} 

\setcounter{secnumdepth}{0}
\usepackage{tocloft}

\begin{document} 
\pagestyle{plain}
\pagenumbering{gobble}
\addtocounter{page}{0}

\begin{titlepage}
    \centering
    {\large TITLE\par}
    \vfill
    \title{SOME TITLE}
    \author{SOME AUTHOR}
    \date{}
\end{titlepage}
\clearpage
\frontmatter

\mainmatter

\pagenumbering{arabic}

\part{PART ONE}
\begin{center}
    \includegraphics[height=15ex,keepaspectratio]{example-image-a}
  \end{center} 
\chapter{CHAPTER ONE}
\begin{center}
    \includegraphics[height=35ex,keepaspectratio]{example-image-b}
  \end{center} 
\lipsum[1-12]
\chapter{CHAPTER TWO}
\begin{center}
    \includegraphics[height=35ex,keepaspectratio]{example-image-b}
  \end{center} 
\lipsum[1-12]
\chapter{CHAPTER THREE}
\begin{center}
    \includegraphics[height=35ex,keepaspectratio]{example-image-b}
  \end{center} 
\lipsum[1-12]  
\end{document}

答案1

你需要在标题周围有一些灵活性,以便实现平底

也许

\titlespacing*{\chapter} {0ex}{6ex plus 4ex minus 1ex}{2ex} 

但是第 3 章之前的页面出现未满警告是因为您删除了正常内容\clearpage,但标题和图像不适合,并且没有粘合剂来填充页面,您或许可以添加\filbreak这样的内容以允许章节之前的页面变短。

\titleformat{\chapter}{\filbreak\centering\normalfont\large}{\thechapter.}{4ex}{\large\centering}

相关内容