
Betrachten Sie dieses Beispiel
\documentclass{report}
\begin{document}
Some text
\medskip
\textbf{Mini title}
\medskip
\nopagebreak
Some more text
\end{document}
Wie kann ich einen Seitenumbruch zwischen „Minititel“ und „Noch etwas Text“ vermeiden? Ich versuche \nopagebreak
dies, aber ohne Erfolg.
Antwort1
Ich habe den \medbreak
Befehl aus LaTeX kopiert und ein erstellt \mednobreak
. Es führt ein \nopagebreak
und ein aus \medskip
. Es hängt die erste Zeile des folgenden Absatzes an das an \textbf{Mini title}
. Kommentieren Sie die markierte Zeile, um den Effekt zu sehen.
\documentclass{report}
\usepackage{lipsum}
\def\mednobreak{\par\ifdim\lastskip<\medskipamount
\removelastskip\nopagebreak\medskip\fi}
\begin{document}
\lipsum[1-4]
\lipsum[2]
another line % comment to see difference
\medskip
\textbf{Mini title}
\mednobreak
\lipsum[1]
\end{document}
Antwort2
Vermeiden Sie die Verwendung expliziter Befehle zum Ändern der Schriftart.
Wenn Sie einen Abschnittsüberschriftsbefehl verwenden, ist die Auszeichnung flexibler und LaTeX sorgt automatisch dafür, dass nach der Überschrift kein Seitenumbruch zulässig ist
\documentclass{report}
\begin{document}
Some text
\vspace{40\baselineskip}% heading and text stay on this page
%\vspace{41\baselineskip}% heading and text go to next page
Some text
\subsection*{Mini title}
Some more text
\end{document}
Antwort3
Ich schlage vor, Sie laden das needspace
Paket und geben die Direktive aus
\Needspace*{3\baselineskip}
unmittelbar vor der ersten \medskip
Richtlinie.
Ein vollständiges MWE (Minimum Working Example):
\documentclass{report}
\usepackage{needspace}
\begin{document}
\dots
Some text
\Needspace*{3\baselineskip}
\medskip
\textbf{Mini title}
\medskip
Some more text
\end{document}