Seite 1 von 1

twocolumn vertikal bündig

Verfasst: Mi 6. Mär 2013, 11:14
von PhobosII
Hallo an Alle :)

in meinem Dokument verwende ich als Option der Dokuentenklasse "twocolumn".

Das Problem ist allerdings, dass der Text bei nicht vollständig gefüllten Seiten nicht vertikal bündig abschließt. Ich könnte zwar die "multicols"-Umgebung benutzen, allerdings kann diese (soweit ich weiß) keine Abbildungen in Spalten einfügen. (Es geht nur figure*)
Deshalb twocolumn...

Ich habe nun eine (etwas unschöne) Lösung gefunden:
\documentclass[twocolumn]{scrreprt}

\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[babel]{microtype}

\usepackage{blindtext}

\begin{document}
\blindtext
\blindtext
\enlargethispage{-3cm}
\pagebreak
\enlargethispage{-3cm}
\blindtext
\blindtext
\pagebreak
\end{document}
In diesem Fall benutze ich \enlargethispage und verkürze so die Spalten. Mit pagebreak wird der Text dann bündig.

JETZT ZU MEINER FRAGE :)
\enlargethispage wirkt immer nur auf eine SPALTE. Gibt es eine Möglichkeit bei der twocolumn-Option \enlargethispage (oder etwas Vergleichbares) auf die ganze Seite wirken zu lassen?

Dann könnte man nämlich \enlargethispage und \pagebreak am Ende der Seite schreiben und muss nicht eine bestimmte Zeile raussuchen, bei dann der Spaltenumbruch stattfinden soll.

Hat jemand eine Idee? Ich überlege mir schon sehr lange, wie man die Spalten bündig kriegt :?

Viele Grüße,

Philipp.

Verfasst: Mi 6. Mär 2013, 12:14
von Noch so einer

Verfasst: Mi 6. Mär 2013, 13:37
von PhobosII
Wow, flushend klingt erstmal verdammt gut. Man muss nur das Paket "flushend" laden und dann wird die letzte Seite bündig! Aber es ist leider auch nur die letzte Seite eines Dokuments, wie man an diesem Beispiel sieht:
\documentclass[twocolumn]{scrreprt}

\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[babel]{microtype}

\usepackage{flushend}

\usepackage{blindtext}



\begin{document}
\chapter{title}
\blindtext
\blindtext
\blindtext
\chapter{title}
\blindtext
\blindtext
\blindtext
\end{document}
Die erste Seite ist nicht bündig, die zweite (letzte) ist es...

Dann hilft das Paket leider doch nicht so viel, oder kennt jemand eine Möglichkeit?

Verfasst: Mi 6. Mär 2013, 14:12
von Noch so einer
Dafür muss man eigentlich nur die Funktionsweise von flushend auf die Verwednung von \clearpage erweitern:
\documentclass[twocolumn]{scrreprt}

\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[babel]{microtype}

\usepackage{flushend}

\usepackage{etoolbox}
\makeatletter
\preto\clearpage{%
  \begingroup
    \@lastpagetrue
    \let\@outputdblcol\last@outputdblcol
}
\appto\clearpage{%
  \endgroup
}
\makeatother

\usepackage{blindtext}

\begin{document}
\chapter{title}
\blindtext
\blindtext
\blindtext
\chapter{title}
\blindtext
\blindtext
\blindtext
\end{document}

Verfasst: Mi 6. Mär 2013, 14:17
von u_fischer
PhobosII hat geschrieben:Wow, flushend klingt erstmal verdammt gut. Man muss nur das Paket "flushend" laden und dann wird die letzte Seite bündig! Aber es ist leider auch nur die letzte Seite eines Dokuments, wie man an diesem Beispiel sieht:


Die erste Seite ist nicht bündig, die zweite (letzte) ist es...

Dann hilft das Paket leider doch nicht so viel, oder kennt jemand eine Möglichkeit?

Nun, man kann es auch für andere Seiten erzwingen, in dem man sowas einfügt (ob es Nebenwirkungen hat, habe ich nicht getestet).
\makeatletter
\global\@lastpagetrue
\let\@outputdblcol\last@outputdblcol
\makeatother
Du könntest einen Featurerequest an den Autor schicken. Er sollte wenn möglich auch was gegen die "Underfull \vbox (badness 10000) "-Meldungen unternehmen.

Verfasst: Mi 6. Mär 2013, 14:54
von PhobosII
Vielen Dank an beide Lösungen! Super, was man alles machen kann...

Ich bevorzuge allerdings die erste Lösung vom Gast. Bei der zweiten Lösung ergeben sich in Zusammenhang mit Floats unschöne Textumfließungen.

Viele Grüße,

Philipp.