Bei einem zweispaltigem Text verhält sich die vertikale Platzierung der Überschrift unterschiedlich, je nachdem ob man \section{} oder \twocolumn[\section{}] verwendet. Auch wenn man alle Überschriften mit \twocolumn[\section{}] setzt, ist das keine Lösung, da der Text auf der Folgeseite auf der Höhe von \section{} beginnt. Gibt es da eine Lösung?

\documentclass[twocolumn]{scrartcl}
\usepackage{blindtext}
\begin{document}
\twocolumn[\section{Anfang und das soll ueber zwei Spalten}]
\blindtext

\clearpage
\blindtext
\end{document}

gefragt 13 Mär '20, 09:40

sehuja's gravatar image

sehuja
81311
Akzeptiert-Rate: 0%

bearbeitet 13 Mär '20, 10:57

gast3's gravatar image

gast3
(ausgesetzt)


Eine Überschrift innerhalb des optionalen Arguments von \twocolumn ist schon allein deshalb problematisch, weil damit sämtliche Mechanismen, die LaTeX für die Fortsetzung nach der Überschrift bietet, ausgehebelt werden. Man sieht das leicht daran, dass der erste Absatz nach der Überschrift eingezogen wird. Auch \label, die danach gesetzt werden, referenzieren dann nicht mehr den korrekten Abschnitt¹. Das liegt u. a. daran, dass LaTeX dabei die Überschrift in eine Box verpackt. Aus demselben Grund unterscheidet sich auch die vertikale Platzierung. Man könnte sich natürlich für die Überschriften einen Schalter definieren, der dann die Umschaltung in der Ausgabe der Überschrift vornimmt:

\documentclass[twocolumn]{scrartcl}
\usepackage{blindtext}

\newif\iftwocolumnsection
\makeatletter
\renewcommand*{\sectionlinesformat}[4]{%
  \iftwocolumnsection
    \twocolumn[{\@hangfrom{\hskip #2#3}{#4}}]%
  \else
    \@hangfrom{\hskip #2#3}{#4}%
  \fi
} 
\makeatother
\begin{document}
\twocolumnsectiontrue
\section{Anfang und das soll über zwei Spalten}
\twocolumnsectionfalse
\blindtext

\clearpage
\section{Anfang und das soll über eine Spalte}\blindtext
\end{document}

Aber dabei geht leider wegen des \twocolumn der vertikale Abstand nach der Überschrift verloren. Den müsste man also zusätzlich explizit setzen, was zwar über interne Längen von KOMA-Script möglich, aber alles andere als ideal wäre.

Deshalb sei eher die Verwendung von multicol empfohlen:

\documentclass{scrartcl}
\usepackage{blindtext}
\usepackage{multicol}
\begin{document}

\begin{multicols}{2}[\section{Anfang und das soll über zwei Spalten}]
\blindtext

\clearpage
\section{Anfang und das soll über eine Spalte}\blindtext
\end{multicols}
\end{document}

Allerdings würde ich davon abraten, \section-Überschriften manchmal über beide Spalten zu setzen und manchmal nur über eine Spalte. Das verwirrt den Leser eher. Wenn man alle \section-Überschriften über beide Spalten setzen will und dabei auch jedes Mal eine neue Seite begonnen werden soll, deutet das auf die Verwendung der falschen Klasse hin, dann wäre man mit scrreprt und \chapter besser beraten:

\documentclass[twocolumn]{scrreprt}
\usepackage{blindtext}
\begin{document}

\blinddocument
\end{document}

Hier ist es gewollt, dass die Kapitelüberschriften tiefer beginnen. Man kann das aber mit \RedeclareSectionCommand einfach ändern.

BTW: Seit LaTeX 2018-04-01 beherrscht LaTeX übrigens in der Voreinstellung für alle TeX-Engines UTF-8, so dass man unbesorgt Umlaute eingeben darf, solange man die Voreinstellung der meisten LaTeX-Editoren nicht ändert, also auch wirklich UTF-8 als Dateicodierung verwendet.


1  Nein, man kann das \label nicht einfach generell mit in das optionale Argument packen. Damit könnte man nämlich nur die Seite mit der Überschrift referenzieren aber nicht eine konkrete Stelle innerhalb eines Abschnitts.

Permanenter link

beantwortet 13 Mär '20, 10:56

gast3's gravatar image

gast3
(ausgesetzt)
Akzeptiert-Rate: 53%

bearbeitet 14 Mär '20, 11:02

Danke für die ausführliche Erklärung. Ich verwende scrreprt, nur das Minimalbeispiel habe ich mit scrartcl gemacht. Dann werde ich alles auf multicol umstellen. Es war mir nicht klar, dass man eine größere Arbeit (ca 50 Seiten), die zweispaltig werden soll, mit multicol macht. Daher der Ansatz mit twocolumn. Da auch Bilder und Tabellen über beide Spalten gehen und darüber noch zweispaltiger Text kommt, kam dann auch schon multicol dazu. Also werde ich das jetzt wohl vereinheitlichen.

(17 Mär '20, 14:01) sehuja
Deine Antwort
Vorschau umschalten

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

Per RSS:

Antworten

Antworten und Kommentare

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs fügen Sie einfach zwei Leerzeichen an die Stelle an der die neue Linie sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Frage-Themen:

×15
×14
×5

gestellte Frage: 13 Mär '20, 09:40

Frage wurde gesehen: 3,408 Mal

zuletzt geändert: 17 Mär '20, 14:01