
Ich schreibe ein Dokument, das aus dem sich wiederholenden Format besteht: Text, Abbildung, dann ein längerer Absatz. Wie kann ich einen Seitenumbruch verhindern?zwischensowohl des Textes als auchfigure
der Umgebungen, ohne die Möglichkeit zu entfernen, die Seite automatisch zu unterbrecheninnerhalbder Hauptteil des zweiten Textes?
\nopagebreak
scheint nach der figure
Umgebung keine Wirkung mehr zu haben. (Und ich nehme an, dass die Beschränkung auf a minipage
in diesem zweiten Absatz keinen Seitenumbruch zulassen würde.)
Ich habe kein Problem mit Leerraum am Ende einer Seite, möchte aber, dass jede sich wiederholende Gruppe nicht unbedingt auf einer neuen Seite beginnt.
Antwort1
Vielleicht sucht der OP einfach nach einer Version der center
Umgebung, die Seitenumbrüche über und unter sich verbietet. Dies ist leicht zu erreichen. Beispielsweise definiert das folgende MWE eine Umgebung namens , centernopagebreaks
die die entsprechenden Parameter lokal neu definiert und dann die center
Umgebung aufruft.
Notiz:Beim Testen dieses Beispiels ist mir aufgefallen, dass die\captionof
Befehl einen gültigen Haltepunkt einfügtzwischendie Abbildung und ihre Beschriftung. Ich habe das ausgeglichen, indem ich alles in eine minipage
Umgebung eingebunden habe, aber ist das nicht ein Fehler?
\documentclass[a4paper]{article}
\usepackage[T1]{fontenc}
\usepackage{caption}
\usepackage{mwe}
\makeatletter
\newenvironment*{centernopagebreaks}{%
\@beginparpenalty \@M
\@endparpenalty \@M
\@itempenalty \@M
\center
}{\endcenter}
\makeatother
\begin{document}
\lipsum[2]
\begin{centernopagebreaks}
\begin{minipage}[b]{\textwidth}
\centering
\includegraphics{image}
\par\special{comment: Why no penalty below write and rule?}
\captionof{figure}{An image}
\label{fig;img}
\end{minipage}
\end{centernopagebreaks}
\lipsum[1]
% % If you can read the logging info provided by (core) TeX,
% % uncomment the following lines to check the penalties.
% \showboxbreadth = 1000
% \showboxdepth = 5
% \showlists
\end{document}
Ich glaube nicht, dass es sinnvoll ist, die Ausgabe anzuzeigen. Sie sollten vielmehr die Diagnosebefehle auskommentieren und überprüfen, ob die in der Transkriptdatei angegebenen Strafen korrekt sind.