Si dos columnas LaTeX

Si dos columnas LaTeX

Estoy escribiendo un artículo en LaTeX. Necesitaré tanto la versión de una columna como la de dos columnas del artículo. Para ello, los tamaños/configuraciones de las figuras deben ser diferentes en los dos documentos. ¡Estoy buscando un comando como \iftwocolumn! ¿Sabes si existe y si no, cómo puedo definirlo y utilizarlo?

Necesitaría algo como:

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

Respuesta1

\linewidtho \columnwidthdebería funcionar, ya que un no twocolumndocumento técnicamente consta de una sola columna (de ancho \columnwidth).

Sin embargo, si estás usando el twocolumnmodo tradicional de (digamos)article, la condición \if@twocolumnestá disponible para pruebas/ramificación.

Aquí hay un breve ejemplo que muestra la diferencia:

\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}

Tenga en cuenta que necesita el uso de un par \makeatletter... \makeatother, ya que la definición de comando del condicional contiene @. Ver¿Qué hacer \makeatlettery \makeatotherhacer?

Respuesta2

Así es como hice un condicional para hacer cosas diferentes con una o dos columnas:

\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}

Cuando esto esté definido, puede hacer la pregunta original como:

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

Este método supone que todo el documento tiene una o dos columnas y no cambia.

información relacionada