Columnas (multicol/twocolumn)

Para componer texto en dos o más columnas hay dos herramientas principales. Una es la opción de clase twocolumn (con sus comandos \twocolumn / \onecolumn), que convierte *todo el documento* en dos columnas. La otra es el entorno multicols del paquete multicol, que puede empezar a mitad de página y usar cualquier número de columnas. Se parecen, pero se comportan distinto: número de columnas, equilibrio de alturas y manejo de figuras y tablas (flotantes). Esta página también explica cuándo usar cada una.

Dos enfoques

En resumen: si quieres todo el documento en dos columnas (por ejemplo, estilo artículo de congreso), la opción twocolumn de las clases estándar es lo más fácil. Si quieres poner solo una parte en columnas, usar tres o más columnas o tener alturas equilibradas, el paquete multicol encaja mejor. La tabla da una comparación general.

Aspectotwocolumn (clase)paquete multicol
段数Solo dos columnasCualquier número, 2 a 10
範囲Documento completo (o por páginas)Solo la región envuelta; puede empezar a mitad de página
最終ページの段の高さNo equilibradas (la última columna derecha suele quedar corta)Equilibradas automáticamente
切り替え時の改ページ\twocolumn / \onecolumn fuerzan salto de páginaNinguno (cambia dentro de la misma página)
フロート(図表)Flotantes de ancho completo con figure* funcionanFlotantes normales no compatibles (ver abajo)

Dos columnas para todo el documento — twocolumn

La forma más simple es pasar la opción twocolumn a la clase del documento. Solo eso pone todo el cuerpo en dos columnas (el valor predeterminado es onecolumn, una sola columna). Muchas clases académicas se basan internamente en esta opción.

latex
\documentclass[twocolumn]{article}

Para cambiar el número de columnas a mitad del documento, llama \twocolumn y \onecolumn en el cuerpo. \twocolumn pasa a dos columnas; \onecolumn vuelve a una. Hay dos advertencias importantes: primero, ambos comandos empiezan una página nueva, así que el cambio nunca ocurre a mitad de página. Segundo, \twocolumn siempre produce dos columnas; no puede hacer tres o más.

\twocolumn admite un argumento opcional: \twocolumn[⟨bloque de una columna⟩] compone ese material en una sola columna de ancho completo antes de que empiece el texto a dos columnas. Es el diseño clásico de artículo: título, autores y resumen ocupan todo el ancho, y el cuerpo empieza debajo en dos columnas.

document.tex
\documentclass[twocolumn]{article}
\begin{document}
\twocolumn[%
  \begin{center}
    {\LARGE 論文タイトル}\\[4pt]
    著者名 \quad 所属
  \end{center}
  \vspace{1em}
]
本文はここから 2 段組みで組まれます。……
\end{document}

El hueco entre las dos columnas es la longitud \columnsep, y el grosor de la regla entre ellas es \columnseprule. \columnseprule vale por defecto 0pt (sin regla); pon un valor positivo para mostrarla. En la última página, twocolumn no equilibra las alturas de las columnas, así que la derecha puede quedar mucho más corta. Para equilibrarlas, usa multicol.

latex
\setlength{\columnsep}{20pt}      % 段間を広げる
\setlength{\columnseprule}{0.4pt} % 段間に細い罫線を引く

Figuras de ancho completo en modo dos columnas

Una ventaja real de twocolumn es que puedes colocar figuras y tablas de ancho completo que abarcan ambas columnas. En lugar de figure o table, usa los entornos con estrella figure* / table* y el flotante ocupará las dos columnas. La colocación está algo limitada: los flotantes de ancho completo van en la parte superior de una página, no al pie.

document.tex
\documentclass[twocolumn]{article}
\usepackage{graphicx}
\begin{document}
% 1 段ぶんの幅の図(通常のフロート)
\begin{figure}
  \centering
  \includegraphics[width=\columnwidth]{plot}
  \caption{片段に収まる図}
\end{figure}

% 両段にまたがる全幅の図
\begin{figure*}
  \centering
  \includegraphics[width=\textwidth]{wide-plot}
  \caption{ページ全幅の図}
\end{figure*}
\end{document}

Aquí conviene distinguir \columnwidth y \textwidth. \columnwidth es el ancho de una columna, mientras \textwidth es el ancho de todo el bloque de texto (ambas columnas más el espacio). Usa width=\columnwidth para una figura de una columna y width=\textwidth para una de ancho completo, y evitarás desbordes.

Columnas equilibradas de cualquier número — paquete multicol

El paquete multicol de Frank Mittelbach elimina las incomodidades de twocolumn: solo dos columnas, alcance de documento completo o por páginas, y últimas columnas sin equilibrar. Cárgalo con \usepackage{multicol} y envuelve la región deseada en el entorno multicols, pasando el número de columnas como argumento.

latex
\usepackage{multicol}
% ...本文中で
\begin{multicols}{3}
  ここに書いた本文が 3 段に分かれて組まれます。……
\end{multicols}

multicol tiene cuatro ventajas. Primero, puedes elegir de 2 a 10 columnas. Segundo, al final del entorno equilibra automáticamente las columnas a alturas parecidas. Tercero, puede empezar a mitad de página, sin forzar salto como twocolumn. Cuarto, los entornos multicols pueden anidarse.

Si quieres texto introductorio que abarque todas las columnas (un título o entrada) antes de que empiecen, da el argumento opcional [⟨texto previo⟩] tras el número de columnas. Solo ese material se compone a ancho completo, sin dividirse en columnas.

latex
\begin{multicols}{3}[\section{用語集}]
  この見出しは 3 段の上に全幅で出ます。\par
  以降の本文が 3 段に分かれます。……
\end{multicols}

Después de ese argumento previo puedes dar otro opcional [⟨longitud⟩]. Indica el espacio mínimo libre al final de la página necesario para empezar las columnas y sustituye temporalmente \premulticols. Si queda menos espacio, las columnas comienzan en una página nueva. Sirve para evitar que, tras un bloque previo largo, las columnas empiecen de forma incómoda al pie de la página.

Controlar columnas — saltos, reglas y no equilibrado

Para elegir dónde termina una columna, llama \columnbreak en el cuerpo. Corta la columna actual en ese punto y manda el resto a la siguiente (añadido en la versión 1.5u). Versiones recientes aceptan \columnbreak[⟨0–4⟩], donde el número indica la fuerza del salto de 0 (débil) a 4 (forzado). También existe \newcolumn, que fuerza un salto pero deja la columna corta.

El hueco y la regla entre columnas usan los mismos \columnsep (hueco) y \columnseprule (grosor, por defecto 0pt) que twocolumn. El color de la regla puede cambiarse fijando \columnseprulecolor (por defecto, el color normal del texto). Ajusta estas longitudes antes de entrar en el entorno multicols.

latex
\setlength{\columnsep}{1.5em}     % 段間
\setlength{\columnseprule}{0.4pt} % 段間の罫線を表示
\begin{multicols}{2}
  左の段の本文。……
  \columnbreak               % ここで右の段へ送る
  右の段の本文。……
\end{multicols}

El multicols normal equilibra las columnas de la última página, pero a veces no quieres equilibrarlas, por contenido frágil o cuando deseas que el material fluya en orden a través de varias páginas. Para eso usa la forma con estrella multicols* (añadida en la versión 1.5q). Deja las columnas de la última página sin equilibrar y las llena secuencialmente desde la izquierda.

El compromiso con los flotantes

La mayor trampa de multicol es que los flotantes normales (figure / table) y \marginpar no pueden usarse dentro de un entorno multicols. Según el manual de multicol, el mecanismo de flotantes de LaTeX está parcialmente desactivado ahí: un figure o table dentro simplemente desaparece, con la advertencia Floats and marginpars not allowed inside ‘multicols’ environment!. Solo funcionan los flotantes con estrella de ancho de página (figure* y similares), y aun así se tratan como ancho completo y se colocan en la parte inferior de la página, no dentro de una columna.

Aquí se separan los dos enfoques. Si necesitas figuras dentro de una columna o flotantes que se coloquen dentro de cada columna, twocolumn, que maneja bien los flotantes (los de ancho completo con figure*), es la opción correcta. Si priorizas número flexible de columnas y columnas equilibradas, y una figura de ancho completo basta, usa multicol. Si debes poner una imagen pequeña dentro de multicol, inserta un \includegraphics no flotante directamente, o usa un paquete de ajuste como wrapfig.

Una cosa más: como las columnas son estrechas, el texto justificado tiende a abrir espacios irregulares entre palabras. Si molesta, pon el texto de la columna con margen derecho irregular, o combínalo con guionado y ajuste de saltos de línea.