[PATCH -perfbook 1/2] qqz.sty: Work around orphaned section heading

Akira Yokosawa <[email protected]>
Newsgroups org.kernel.vger.perfbook
Message-ID <[email protected]>
In ebook-size builds, tcolorbox occasionally complains:

    Package tcolorbox Warning: Using nobreak failed. Try to enlarge
    `lines before break' or set page breaks manually on input line
    xxxx.

This warning is accompanied by an unfortunate page/column break just
below a section heading in Appendix E.

Make such ugly breaks less likely by enclosing the \section command
with a pair of pagebreak/nopagebreak hints.

Signed-off-by: Akira Yokosawa <[email protected]>
--
You need to be very lucky to observe this issue.  At the moment,
you can observe it in perfbook-ebsf.pdf built on Ubuntu 22.04.
Section E.18's heading goes to the bottom of page 1277.

This change makes it go to the top of page 1278.
--
 qqz.sty | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/qqz.sty b/qqz.sty
index 5c7eb5340194..74ee0566b1c2 100644
--- a/qqz.sty
+++ b/qqz.sty
@@ -223,8 +223,9 @@
 %% Internal interfaces generated by scripts.
 
 \newcommand{\QuickQAC}[3]{
+	\pagebreak[3]
 	\edef\QuickQuizAnswerChapter{\getrefnumber{#1}}
-	\section{#2}}
+	\section{#2}\nopagebreak}
 
 \IfNoQqz{
 \newcommand{\QuickQQC}[3]{

base-commit: 54b77242aac76979b8bbb832809b55736167bf5e
-- 
2.25.1
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.