Seite 1 von 1

Fallunterscheidung twocolumn

Verfasst: Do 7. Jan 2021, 18:36
von M0M0

Ich möchte einen Bericht sowohl im Zweispalten- als auch im Einspalten setzten. Dafür nutze ich

\documentclass[
%	,fontsize=10pt,twocolumn=true %Diese Zeile ist für Einspaltensatz auskommentiert
	,DIV=calc
]
{scrreprt}

Nun ist mir aufgefallen dass ich einige Gleichungen anders umbrechen möchte wenn ich Zweispaltensatz verwende. Ich suche also etwas in der Richtung

\if(twocolumn=true) \then {Führe diesen Text aus wenn twocoulumn gleich true ist}
\else {Ansonsten so}

ich kenne \ifthenelse weiß allerdings nicht wie ich das sinnvoll mit den KOMA Script Optionen kombinieren kann.


Re: Fallunterscheidung twocolumn

Verfasst: Do 7. Jan 2021, 20:56
von MoeWe

Wie die Standardklassen auch setzten die KOMA-Script-Klassen den Schalter \if@twocolumn zur Unterscheidung von einspaltigem und zweispaltigem Druck. Abfragen kann man das wie folgt.

\documentclass[
%	fontsize=10pt, twocolumn=true,
	DIV=calc,
]
{scrreprt}

\begin{document}
\makeatletter
\if@twocolumn
  zweispaltig
\else
  einspaltig
\fi
\makeatother
\end{document}

Das ist im Text mit \makeatletter...\makeatother natürlich etwas unhandlich und nicht wirklich empfehlenswert. Man könnte sich also ein Makro der Art

\documentclass[
	fontsize=10pt, twocolumn=true,
	DIV=calc,
]
{scrreprt}

\makeatletter
\newcommand*{\IfTwocolumnTF}{%
  \if@twocolumn
    \expandafter\@firstoftwo
  \else
    \expandafter\@secondoftwo
  \fi
}
\makeatother

\begin{document}
Dieses Dokument wird \IfTwocolumnTF{zweispaltig}{einspaltig} gesetzt
\end{document}

basteln, das im Text einfach zu verwenden ist.


Re: Fallunterscheidung twocolumn

Verfasst: Fr 8. Jan 2021, 02:21
von M0M0

Vielen Dank, dass ist was ich gesucht habe


Re: Fallunterscheidung twocolumn

Verfasst: Sa 9. Jan 2021, 16:29
von KOMA

Wobei hier natürlich nur zweispaltig mit dem LaTeX-Grundfeature für Zweispaltigkeit erfasst wird. Für die Erkennung von zwei Spalten mit multicol müsste man ggf. anders vorgehen. Die Verwendung einer Anweisung wie im zweiten Beispiel von MoeWe gezeigt, ist daher schon deshalb vorzuziehen, weil man dabei leichter Anpassungen vornehmen könnte als wenn man sämtliche \if@twocolumn im Dokument suchen und abändern müsste.