3 Stimmen

Letzte Seite Spaltenausgleich für Latex IEEEtran Klasse?

In der Dokumentation für die IEEEtran LaTeX-Klasse wird erwähnt, dass die beiden Spalten auf der letzten Seite manuell angepasst werden müssen, damit sie ausgeglichen sind (die gleiche Länge haben).

Ich sehe, dass \newpage kann ich die erste Spalte umbrechen, so dass sich der Rest des Inhalts in der zweiten Spalte befindet. Dies ermöglicht eine Angleichung auf Absatzebene und sieht gut aus, aber ich habe Probleme mit der Angleichung auf Zeilenebene, d. h. mit der Aufteilung der Spalte nach Zeilen statt nach Absätzen.

Wenn ich einfüge \newpage im Mitte eines Absatzes (statt zwischen Absätzen), teilt LaTeX den Absatz effektiv in zwei Teile auf. Der zweite Teil wird (wie gewünscht) an den Anfang der zweiten Spalte gesetzt, und der erste Teil bleibt in der ersten Spalte. Es gibt zwei Probleme, die ich damit gefunden habe, und ich habe nur eines davon gelöst.

Das erste Problem ist, dass der Teilabsatz oben in der zweiten Spalte von LaTeX als neuer Absatz behandelt wird, also eingerückt ist. Ich habe dies durch Hinzufügen von \noindent\newpage so dass er nicht eingerückt ist.

Das zweite Problem ist, dass der Teilabsatz in der ersten Spalte im Blocksatz steht (wie erwartet), aber die letzte Zeile ist ausgefranst (kein Blocksatz). Gibt es eine Möglichkeit, den Blocksatz für diese letzte Zeile zu erzwingen? LaTeX verfügt über Umgebungen und Befehle zur Deaktivierung des Blocksatzes, aber ich kann nichts finden, um einen Absatz einschließlich der letzten Zeile vollständig im Blocksatz auszurichten.

2voto

Nathan Grigg Punkte 704

Zwei Möglichkeiten:

  1. Beenden einer Zeile mit \linebreak erzwingt den Blocksatz der Zeile, egal wie leer sie ist.

    Um das zu erreichen, was Sie vorhaben, könnten Sie Folgendes ersetzen \newpage \noindent con \linebreak \newpage \noindent . Beachten Sie, dass dadurch eine Leerzeile vor dem Ende der Seite entsteht, was ein Problem sein kann, aber nicht muss. In bestimmten Fällen könnte dies eine leere Seite zwischen Ihren Seiten erzeugen.

  2. Eine andere Möglichkeit wäre \pagebreak . Er weist LaTeX an, eine neue Seite zu beginnen, wenn Sie das Ende der aktuellen Zeile erreicht haben. Sie haben keine Kontrolle über das genaue Wort, an dem der Seitenumbruch stattfindet.

1voto

Boocko Punkte 732

Wie wäre es, die letzte Seite (Spalte) kürzer zu machen, indem man

 \enlargethispage{-50mm}

und vielleicht LaTeX zwingen, nach der entsprechenden Zeile zu trennen? Natürlich sollte der Umfang der Kürzung durch Ausprobieren ermittelt und nach einer Änderung des Textes neu bestimmt werden. (Nur eine Idee, die in Ihrem Fall vielleicht nicht umsetzbar ist).

1voto

koppor Punkte 16743

(Posting für die Googler, die hier landen)

Die schnellste Lösung ist

\usepackage{pbalance}

(Paketdokumentation unter https://ctan.org/pkg/pbalance?lang=de )

Falls das nicht funktioniert, kann man es mit dem speziellen Befehl \IEEEtriggeratref{10} , die einen Spaltenumbruch vor dem Verweis einfügt 10 . Ersetzen Sie 10 durch die tatsächliche Nummer der Referenz. Siehe die Dokumentation von IEEEtran Abschnitt "XIV. Spaltenausgleich der letzten Seite" für weitere Einzelheiten).

0voto

StephenB Punkte 1

Sie können die folgenden Längen einstellen, damit LaTeX die letzte Zeile eines Absatzes füllt. Fügen Sie dies in Ihre Präambel ein:

\newcommand{\filllastline}[1]{
\setlength\leftskip{0pt}
\setlength\rightskip{0pt}
\setlength\parfillskip{0pt}
#1}

Dann machen Sie in Ihrem Dokument Folgendes:

\filllastline{The text for your partial para in 1st col goes here...}

(Für zukünftige LaTeX-Fragen sollten Sie wahrscheinlich an https://tex.stackexchange.com/ )

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X