summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUlrich Müller <ulm@gentoo.org>2021-05-18 21:43:12 +0200
committerUlrich Müller <ulm@gentoo.org>2021-05-21 06:42:39 +0200
commit3e558f678cf36228c51eaf36d59a48577c3e25e3 (patch)
tree7f2bcb8fa0ddc09291dc9c789d94473685759f55
parentpms.cls: Require version 1 of parskip.sty (diff)
downloadpms-3e558f678cf36228c51eaf36d59a48577c3e25e3.tar.gz
pms-3e558f678cf36228c51eaf36d59a48577c3e25e3.tar.bz2
pms-3e558f678cf36228c51eaf36d59a48577c3e25e3.zip
Fix bad page breaks before lists
Taken from https://tex.stackexchange.com/a/2645. Signed-off-by: Ulrich Müller <ulm@gentoo.org>
-rw-r--r--commands.tex1
-rw-r--r--dependencies.tex4
-rw-r--r--ebuild-env-invariancy.tex4
-rw-r--r--ebuild-env-vars.tex2
-rw-r--r--ebuild-functions.tex2
-rw-r--r--ebuild-vars.tex8
-rw-r--r--pkg-mgr-commands.tex3
-rw-r--r--pms.cls3
-rw-r--r--tree-layout.tex4
9 files changed, 19 insertions, 12 deletions
diff --git a/commands.tex b/commands.tex
index 1733ebd..799a20c 100644
--- a/commands.tex
+++ b/commands.tex
@@ -21,6 +21,7 @@ dependencies must be used to ensure their presence.
\label{sec:guaranteed-system-commands}
The following commands must always be available in the ebuild environment:
+\nobreakpar
\begin{compactitem}
\item All builtin commands in GNU bash, version as listed in table~\ref{tab:bash-version}.
\item \t{sed} must be available, and must support all forms of invocations valid for GNU sed
diff --git a/dependencies.tex b/dependencies.tex
index 557ddce..67855f5 100644
--- a/dependencies.tex
+++ b/dependencies.tex
@@ -330,7 +330,7 @@ delimited by a \t{/} character.
\featurelabel{slot-operator-deps} An operator slot dependency consists of a colon followed by one of
the following operators:
-
+\nobreakpar
\begin{description}
\item[*] Indicates that any slot value is acceptable. In addition, for runtime dependencies,
indicates that the package will not break if the matched package is uninstalled and replaced by
@@ -358,7 +358,7 @@ the equals slot operator inside \t{PDEPEND} or inside any-of dependency specific
\label{sec:use-dep}
A 2-style or 4-style use dependency consists of one of the following:
-
+\nobreakpar
\begin{description}
\item[{[opt]}] The flag must be enabled.
\item[{[opt=]}] The flag must be enabled if the flag is enabled for the package with the
diff --git a/ebuild-env-invariancy.tex b/ebuild-env-invariancy.tex
index cc95a2b..9484103 100644
--- a/ebuild-env-invariancy.tex
+++ b/ebuild-env-invariancy.tex
@@ -1,7 +1,7 @@
\section{The State of the System Between Functions}
For the sake of this section:
-
+\nobreakpar
\begin{compactitem}
\item Variancy is any package manager action that modifies either
\t{ROOT} or \t{/} in any way that isn't merely a simple addition of
@@ -14,7 +14,7 @@ For the sake of this section:
\end{compactitem}
The following exclusivity and invariancy requirements are mandated:
-
+\nobreakpar
\begin{compactitem}
\item No variancy shall be introduced at any point between a package's
\t{pkg_setup} being started up to the point that that package is
diff --git a/ebuild-env-vars.tex b/ebuild-env-vars.tex
index 332c3d8..006b8e4 100644
--- a/ebuild-env-vars.tex
+++ b/ebuild-env-vars.tex
@@ -358,7 +358,7 @@ table~\ref{tab:locale-settings}.
\label{sec:use-iuse-handling}
This section discusses the handling of four variables:
-
+\nobreakpar
\begin{description}
\item[IUSE] is the variable calculated from the \t{IUSE} values defined in ebuilds and eclasses.
\item[IUSE_REFERENCEABLE] is a variable calculated from \t{IUSE} and a variety of other sources
diff --git a/ebuild-functions.tex b/ebuild-functions.tex
index ab3ed9c..4e691c5 100644
--- a/ebuild-functions.tex
+++ b/ebuild-functions.tex
@@ -479,7 +479,7 @@ when in the phase in question.
\section{Call Order}
The call order for installing a package is:
-
+\nobreakpar
\begin{compactitem}
\item \t{pkg_pretend} (only for EAPIs listed in table~\ref{tab:pkg-pretend-table}), which is called
outside of the normal call order process.
diff --git a/ebuild-vars.tex b/ebuild-vars.tex
index cd03882..fca8565 100644
--- a/ebuild-vars.tex
+++ b/ebuild-vars.tex
@@ -24,7 +24,7 @@ variable data.
\label{sec:mandatory-vars}
All ebuilds must define at least the following variables:
-
+\nobreakpar
\begin{description}
\item[DESCRIPTION] A short human-readable description of the package's purpose. May be defined by an
eclass. Must not be empty.
@@ -44,7 +44,7 @@ All ebuilds must define at least the following variables:
\label{sec:optional-vars}
Ebuilds may define any of the following variables:
-
+\nobreakpar
\begin{description}
\item[EAPI] The EAPI\@. See below in section~\ref{sec:eapi}.
\item[HOMEPAGE] The URI or URIs for a package's homepage, including protocols.
@@ -220,7 +220,7 @@ It is an error for a flag to be used if it is not included in \t{IUSE_EFFECTIVE}
\label{sec:properties}
The following tokens are permitted inside \t{PROPERTIES}:
-
+\nobreakpar
\begin{description}
\item[interactive] The package may require interaction with the user via the tty.
\item[live] The package uses ``live'' source code that may vary each time that the package is
@@ -233,7 +233,7 @@ Package managers may recognise other tokens. Ebuilds may not rely upon any token
\label{sec:restrict}
The following tokens are permitted inside \t{RESTRICT}:
-
+\nobreakpar
\begin{description}
\item[mirror] The package's \t{SRC_URI} entries may not be mirrored, and mirrors should not be
checked when fetching.
diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 59edc1c..bc6d1ac 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -16,6 +16,7 @@ a failure shall either result in a non-zero exit status or abort the build proce
table~\ref{tab:commands-die-table}.
The following commands affect this behaviour:
+\nobreakpar
\begin{description}
\item[nonfatal] \featurelabel{nonfatal} Takes one or more arguments and executes them as a command,
preserving the exit status. If this results in a command being called that would normally abort
@@ -910,7 +911,7 @@ table~\ref{tab:use-list-strictness}.
\subsection{Text list functions}
These functions check whitespace-separated lists for a particular value.
-
+\nobreakpar
\begin{description}
\item[has] Returns shell true (0) if the first argument (a word) is found in the list of subsequent
arguments, false otherwise. Guaranteed quiet.
diff --git a/pms.cls b/pms.cls
index 1a09407..2e2e9bf 100644
--- a/pms.cls
+++ b/pms.cls
@@ -131,6 +131,9 @@
\floatname{listing}{Listing}
\newcommand{\listoflistings}{\listof{listing}{List of Listings}}
+% Prevent page break before a list
+\newcommand{\nobreakpar}{\par\nobreak\@afterheading}
+
% Silence hyperref messages (see hint 11.3 in the hyperref manual)
\providecommand*{\toclevel@algorithm}{0}
\providecommand*{\toclevel@listing}{0}
diff --git a/tree-layout.tex b/tree-layout.tex
index 138e533..719b489 100644
--- a/tree-layout.tex
+++ b/tree-layout.tex
@@ -8,6 +8,7 @@ differently from normal.
\section{Top Level}
An ebuild repository shall occupy one directory on disk, with the following subdirectories:
+\nobreakpar
\begin{compactitem}
\item One directory per category, whose name shall be the name of the category. The layout of
these directories shall be as described in section~\ref{sec:category-dirs}.
@@ -47,6 +48,7 @@ a package manager may treat an empty category as a category that does not exist)
\label{sec:package-dirs}
A package directory contains the following:
+\nobreakpar
\begin{compactitem}
\item Zero or more ebuilds. These are as described in chapter~\ref{ch:ebuild-format} and others.
\item A \t{metadata.xml} file, as described in appendix~\ref{ch:metadata-xml}\@. Optional only for
@@ -151,7 +153,7 @@ status. Each line has the format:
\end{verbatim}
Where:
-
+\nobreakpar
\begin{compactitem}
\item \t{<keyword>} is the default keyword for the profile and the \t{ARCH} for which the profile is
valid.