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
\linewidth
oder \columnwidth
sollte funktionieren, da ein Nicht- twocolumn
Dokument technisch gesehen aus einer einzelnen Spalte (mit einer Breite \columnwidth
) besteht.
Wenn Sie jedoch den traditionellen Modus verwenden, twocolumn
beispielsweisearticle
, die Bedingung \if@twocolumn
steht 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
...- \makeatother
Paares benötigen, da die Befehlsdefinition des Bedingungssatzes enthält @
. SieheWas tun \makeatletter
und \makeatother
tun?
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.