After some hours studying the warning Underfull \vbox (badness 2573) has occurred while \output is active on the question how to suppress "Underfull \vbox (badness 10000) ... while \output is active"? I learned and fixed several of these warnings across my document, except this one.
On next follows a minimal example I extracted which reproduce the problem I am having on my real document. After analyzing this example I noticed the warning is happening when this distance is big as on the following image:
If I fill with more text as follows:
This is a minimal code which generates the warning:
\documentclass[11pt,a4paper]{memoir}
\makeatletter
% how to suppress “Underfull \vbox (badness 10000) … while \output is active”?
% https://tex.stackexchange.com/questions/62296/how-to-suppress-underfull
\def\@textbottom{\vskip \z@ \@plus 1pt}
\let\@texttop\relax
\newcommand\thickhrulefill{\leavevmode \leaders \hrule height 1ex \hfill \kern \z@}
\makechapterstyle{VZ14}
{
% \thispagestyle{empty}
\setlength\beforechapskip{50pt}
\setlength\midchapskip{20pt}
\setlength\afterchapskip{20pt}
\renewcommand\chapternamenum{}
\renewcommand\printchaptername{}
\renewcommand\chapnamefont{\Huge\scshape}
\renewcommand\printchapternum
{%
\chapnamefont\null\thickhrulefill\quad
\@chapapp\space\thechapter\quad\thickhrulefill
}
\renewcommand\printchapternonum
{%
\par\thickhrulefill\par\vskip\midchapskip
\hrule\vskip\midchapskip
}
\renewcommand\chaptitlefont{\huge\scshape\centering}
\renewcommand\afterchapternum
{%
\par\nobreak\vskip\midchapskip\hrule\vskip\midchapskip
}
\renewcommand\afterchaptertitle
{%
\par\vskip\midchapskip\hrule\nobreak\vskip\afterchapskip
}
}
\makeatother
% Memoir: Warnings “The material used in the headers is too large” w/ accented titles
% https://tex.stackexchange.com/questions/387293/how-to-change-the-page-layout-with-memoir
\setheadfoot{30.0pt}{\footskip}
\checkandfixthelayout
\usepackage[showframe,pass]{geometry}
\chapterstyle{VZ14}
\makeatletter
\newcommand{\showfont}
{%
(encoding: \f@encoding{},
family: \f@family{},
series: \f@series{},
shape: \f@shape{},
size: \f@size{},
baseline: \f@baselineskip{})
%tfsize: \tf@size{},
%sfsize: \sf@size{},
%sssize: \ssf@size{}
}
\makeatother
\setcounter{secnumdepth}{5}
\newcommand{\subsubsubsection}{\paragraph}
\begin{document}
% ----------------------------------------------------------
\chapter[Nullam elementum urna vel imperdiet sodales elit ipsum]{Nullam
elementum urna vel imperdiet sodales elit ipsum pharetra ligula
ac pretium ante justo a nulla curabitur tristique arcu eu metus}
% ----------------------------------------------------------
1. How to display the font size in use in the final output,
2. How to display the font size in use in the final output,
3. How to display the font size in use in the final output,
4. How to display the font size in use in the final output,
5. How to display the font size in use in the final output,
6. How to display the font size in use in the final output,
7. How to display the font size in use in the final output,
8. How to display the font size in use in the final output,
9. How to display the font size in use in the final output,
\begin{verbatim}
\makeatletter
original: \f@size
\verb+\small+ \small \f@size
\verb+\normalsize+ \normalsize \f@size
\verb+\large+ \large \f@size
\verb+\Huge+ \Huge \f@size
\makeatother
\end{verbatim}
\section[Some encoding tests]{showfont}
\subsection{showfont}
\subsubsection{showfont}
\subsubsubsection{showfont}
\end{document}
Also there is no warning if I fit everything in one page by removing the filler text:
This is a picture from the real document, showing how it is generating the warning:
This is the code on my document, which generated the above image:
% ----------------------------------------------------------
\chapter[Nullam elementum urna vel imperdiet sodales elit ipsum]{Nullam
elementum urna vel imperdiet sodales elit ipsum pharetra ligula
ac pretium ante justo a nulla curabitur tristique arcu eu metus}
% ----------------------------------------------------------
1. How to display the font size in use in the final output,
2. How to display the font size in use in the final output,
3. How to display the font size in use in the final output,
4. How to display the font size in use in the final output,
5. How to display the font size in use in the final output,
6. How to display the font size in use in the final output,
\section[Some encoding tests]{\showfont}
\subsection{\showfont}
\subsubsection{\showfont}
\subsubsubsection{\showfont}
Lipsum me [55-57]
The \showfont command used is this:
\makeatletter
\newcommand{\showfont}
{%
(encoding: \f@encoding{},
family: \f@family{},
series: \f@series{},
shape: \f@shape{},
size: \f@size{},
baseline: \f@baselineskip{})
%tfsize: \tf@size{},
%sfsize: \sf@size{},
%sssize: \ssf@size{}
}
\makeatother
If you make all the text fit in one page, the warnings is gone. However we do not want to fit all the chapter text in one page, a.k.a. chapter's cover.
What can I do do fix the warning on this page? I am already using this fix from how to suppress "Underfull \vbox (badness 10000) ... while \output is active"? to fix the others Underfull \vbox (badness) has occurred while \output is active on my document. However this seem different from the others.
\def\@textbottom{\vskip \z@ \@plus 1pt}
\let\@texttop\relax







\flushbottomdirective, which makes all pages end at the very same place on the sheet of page. Try adding\raggedbottomto your preamble. – Bernard Aug 23 '17 at 18:49