%20%D0%B2%20%D0%BA%D0%BD%D0%B8%D0%B3%D0%B5%20%D0%B1%D0%B5%D0%B7%20%D0%BF%D0%BB%D0%B0%D0%B2%D0%B0%D1%8E%D1%89%D0%B8%D1%85%20%D1%8D%D0%BB%D0%B5%D0%BC%D0%B5%D0%BD%D1%82%D0%BE%D0%B2%20%D0%B8%20%D0%BC%D0%B0%D1%82%D0%B5%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D1%85%20%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9%2C%20%D1%82%D0%BE%D0%BB%D1%8C%D0%BA%D0%BE%20%D0%BF%D1%80%D0%BE%D1%81%D1%82%D1%8B%D0%B5%20%D0%B7%D0%B0%D0%B3%D0%BE%D0%BB%D0%BE%D0%B2%D0%BA%D0%B8%20(%D1%87%D0%B0%D1%81%D1%82%D1%8C%20%D0%B8%20%D0%B3%D0%BB%D0%B0%D0%B2%D0%B0)%20%D0%B8%20%D1%82%D0%B5%D0%BA%D1%81%D1%82.png)
Итак, у меня есть этот относительно простой book
документ.
Когда я пытаюсь его скомпилировать, я получаю много Underfull \vbox (badness 10000) has occurred while \output is active
предупреждений (хотя в предоставленном MWE есть только одно). Структура book
проста: только заголовки и текст.
Например, страница начинается с номера детали, номера главы и текста (да, у меня также есть изображения как между номером детали и номером главы, так и между номером главы и текстом, добавленным с помощью \includegraphics
команды). Но даже если я удаляю эти изображения, предупреждения все равно появляются с еще большим количеством предупреждений!
У меня раньше была проблема с нижней строкой текста, которая была навешена над рамкой, но это было решено с добавлением heightrounded
к geometry
книги.
Я понимаю, что 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}