![wie kann man unregelmäßige Spaltenenden in mehreren Spalten erstellen, wenn Seitenumbrüche vermieden werden sollen?](https://rvso.com/image/281463/wie%20kann%20man%20unregelm%C3%A4%C3%9Fige%20Spaltenenden%20in%20mehreren%20Spalten%20erstellen%2C%20wenn%20Seitenumbr%C3%BCche%20vermieden%20werden%20sollen%3F.png)
Das Setup: Ich muss mehrere Spalten für sagen wir 3 Spalten verwenden, in denen ich viele kleine Abschnitte habe. Mir ist aufgefallen, dass einige Abschnitte in der Mitte unterbrochen sind und am Ende in die nächste Spalte umbrechen, was ich nicht möchte.
Nach einiger Recherche (z. B. googeln) habe ich herausgefunden, dass das Hinzufügen \interlinepenalty=10000
dies verhindert. Und das tut es.Multicol - nicht einwickeln
Doch statt der Lücken an der Unterseite der Spalten (ungleichmäßige Unterseiten oder wie auch immer das korrekt heißt) bleiben zwischen den Spalten große leere Räume, die nicht gut aussehen.
generiert mit:
\documentclass[10pt,notitlepage]{article}%
\setlength{\columnseprule}{0pt} %column thicnkess
\setlength{\columnsep}{5.0pt}
\usepackage{lipsum}
\usepackage{multicol}
\usepackage{titlesec}
\titleformat{\section}{\large\bfseries}{\thesection}{1em}{}
\begin{document}
\begin{multicols*}{3}
\interlinepenalty=10000
\section{some section}
\lipsum[75]
\section{some section}
\lipsum[75]
\section{some section}
\lipsum[3]
\section{some section}
\lipsum[75]
\section{some section}
\lipsum[75]
\section{some section}
\lipsum[75]
\section{some section}
\lipsum[4]
\section{some section}
\lipsum[75]
\end{multicols*}
\end{document}
Entfernen \interlinepenalty=10000
gibt
was ich nicht möchte, da der Abschnitt über Spalten hinweg fließt.
Auch das Entfernen der Sternversion hilft nicht. Man muss sie verwenden, \interlinepenalty=10000
um Seitenumbrüche innerhalb eines Abschnitts zu verhindern. Das Problem sind dann aber diese großen Lücken zwischen den Abschnitten.
Dann habe ich samepage
jeden Abschnitt darin eingewickelt, in der Hoffnung, dass es hilft. Aber dieses Ergebnis war noch merkwürdiger. Ich muss hier etwas falsch gemacht haben:
Hier ist der Code für das obige
\documentclass[10pt,notitlepage]{article}%
\setlength{\columnseprule}{0pt} %column thicnkess
\setlength{\columnsep}{5.0pt}
\usepackage{lipsum}
\usepackage{multicol}
\usepackage{titlesec}
\titleformat{\section}{\large\bfseries}{\thesection}{1em}{}
\begin{document}
\begin{multicols}{3}
%\interlinepenalty=10000
\begin{samepage}
\section{some section}
\lipsum[75]
\end{samepage}
\begin{samepage}
\section{some section}
\lipsum[75]
\end{samepage}
\begin{samepage}
\section{some section}
\lipsum[3]
\end{samepage}
\begin{samepage}
\section{some section}
\lipsum[75]
\end{samepage}
\begin{samepage}
\section{some section}
\lipsum[75]
\end{samepage}
\begin{samepage}
\section{some section}
\lipsum[75]
\end{samepage}
\begin{samepage}
\section{some section}
\lipsum[4]
\end{samepage}
\begin{samepage}
\section{some section}
\lipsum[75]
\end{samepage}
\end{multicols}
\end{document}
Was ist die richtige Vorgehensweise, um Seitenumbrüche in der Mitte von Abschnitten zu vermeiden, den zusätzlichen Platz jedoch unten und nicht dazwischen zu haben?
Ich verwende Tex Live 2013 unter Linux. (P.S.: Eines Tages muss ich lernen, wie man mit Latex Codefragmente kopiert, damit ich nicht immer wieder denselben Code kopiere und einfüge.)
Antwort1
Der gewünschte Effekt lässt sich mit dem \raggedcolumns
Makro erzielen:
\documentclass[10pt,notitlepage]{article}%
\setlength{\columnseprule}{0pt} %column thicnkess
\setlength{\columnsep}{5.0pt}
\usepackage{lipsum}
\usepackage{multicol}
\usepackage{titlesec}
\titleformat{\section}{\large\bfseries}{\thesection}{1em}{}
\begin{document}
\begin{multicols}{3}
\raggedcolumns %new code
\interlinepenalty=10000
\section{some section}
\lipsum[75]
\section{some section}
\lipsum[75]
\section{some section}
\lipsum[3]
\section{some section}
\lipsum[75]
\section{some section}
\lipsum[75]
\section{some section}
\lipsum[75]
\section{some section}
\lipsum[4]
\section{some section}
\lipsum[75]
\end{multicols}
\end{document}