Wenn zwei Spalten LaTeX

Wenn zwei Spalten LaTeX

Ich schreibe eine Arbeit in LaTeX. Ich benötige sowohl die einspaltige als auch die zweispaltige Version der Arbeit. Dafür müssen die Abbildungsgrößen/-konfigurationen in den beiden Dokumenten unterschiedlich sein. Ich suche nach einem Befehl wie \iftwocolumn! Wissen Sie, ob es ihn gibt und wenn nicht, wie ich ihn definieren und verwenden kann?

Ich bräuchte sowas wie:

\begin{figure}[tb]
\iftwocolumn\includegraphics[width=0.7\linewidth]{FiguresDouble/figure.eps}
\else\includegraphics[width=0.5\linewidth]{FiguresSingle/figure.eps}
\fi

Antwort1

\linewidthoder \columnwidthsollte funktionieren, da ein Nicht- twocolumnDokument technisch gesehen aus einer einzelnen Spalte (mit einer Breite \columnwidth) besteht.

Wenn Sie jedoch den traditionellen Modus verwenden, twocolumnbeispielsweisearticle, die Bedingung \if@twocolumnsteht zum Testen/Verzweigen zur Verfügung.

Hier ist ein kurzes Beispiel, das den Unterschied zeigt:

\documentclass{article}
\usepackage{graphicx,showframe}% http://ctan.org/pkg/{graphicx,showframe}
\begin{document}
\noindent
\makeatletter%
\if@twocolumn%
  \includegraphics[width=\columnwidth]{example-image-a}%
\else% \@twocolumnfalse
  \includegraphics[width=\columnwidth]{example-image-b}%
\fi
\makeatother
\end{document}

Beachten Sie, dass Sie die Verwendung eines \makeatletter...- \makeatotherPaares benötigen, da die Befehlsdefinition des Bedingungssatzes enthält @. SieheWas tun \makeatletterund \makeatothertun?

Antwort2

So habe ich eine Bedingung erstellt, um mit einer oder zwei Spalten unterschiedliche Dinge zu tun:

\documentclass[onecolumn]{article}
\begin{document}

\makeatletter
\if@twocolumn
\newcommand{\whencolumns}[2]{
#2
}
\else
\newcommand{\whencolumns}[2]{
#1
}
\fi
\makeatother

\whencolumns{One Column}{Two Columns}
\end{document}

Wenn dies definiert ist, können Sie die ursprüngliche Frage wie folgt beantworten:

\whencolumns{
 \includegraphics[width=0.5\linewidth]{FiguresSingle/figure.eps}
}{
 \includegraphics[width=0.7\linewidth]{FiguresDouble/figure.eps}
}

Bei dieser Methode wird davon ausgegangen, dass das gesamte Dokument aus einer oder zwei Spalten besteht und keine Änderungen aufweist.

verwandte Informationen