Pour composer le texte en deux colonnes ou plus, deux outils principaux existent. Le premier est l’option de classe twocolumn (avec les commandes \twocolumn / \onecolumn), qui met *tout le document* en deux colonnes. Le second est l’environnement multicols du paquet multicol, qui peut commencer au milieu d’une page et accepter un nombre quelconque de colonnes. Ils se ressemblent, mais diffèrent par le nombre de colonnes, l’équilibrage des hauteurs et le traitement des figures et tableaux (flottants). Cette page explique aussi quand choisir l’un ou l’autre.
Deux approches
En bref : si vous voulez mettre tout le document en deux colonnes (aspect article de conférence), l’option twocolumn des classes standard est la voie simple. Mais pour mettre seulement une partie en colonnes, avoir trois colonnes ou plus, ou obtenir des hauteurs équilibrées, le paquet multicol convient mieux. Le tableau résume les différences.
| Aspect | twocolumn (classe) | paquet multicol |
|---|---|---|
段数 | Deux colonnes seulement | Nombre quelconque, 2 à 10 |
範囲 | Document entier (ou page par page) | Seulement la zone entourée ; peut commencer en milieu de page |
最終ページの段の高さ | Non équilibrées (la dernière colonne droite est souvent courte) | Équilibrées automatiquement |
切り替え時の改ページ | \twocolumn / \onecolumn forcent un saut de page | Aucun (bascule sur la même page) |
フロート(図表) | Flottants pleine largeur via figure* possibles | Flottants normaux non pris en charge (voir plus bas) |
Deux colonnes pour tout le document — twocolumn
La méthode la plus simple consiste à passer l’option twocolumn à la classe du document. Cela met tout le corps en deux colonnes (le défaut est onecolumn, donc une colonne). De nombreuses classes académiques sont construites autour de cette option.
\documentclass[twocolumn]{article}Pour changer le nombre de colonnes en cours de document, appelez \twocolumn et \onecolumn dans le corps. \twocolumn passe en deux colonnes, \onecolumn revient à une colonne. Deux limites importantes toutefois : d’abord, les deux commandes commencent une nouvelle page ; le changement ne se fait jamais en milieu de page. Ensuite, \twocolumn produit toujours deux colonnes, jamais trois ou plus.
\twocolumn accepte un argument optionnel : \twocolumn[⟨bandeau en une colonne⟩] compose ce matériau en une seule colonne pleine largeur avant le début du texte en deux colonnes. C’est la mise en page classique d’un article : titre, auteurs et résumé sur toute la largeur, puis corps en deux colonnes dessous.
\documentclass[twocolumn]{article}
\begin{document}
\twocolumn[%
\begin{center}
{\LARGE 論文タイトル}\\[4pt]
著者名 \quad 所属
\end{center}
\vspace{1em}
]
本文はここから 2 段組みで組まれます。……
\end{document}L’écart entre les deux colonnes est la longueur \columnsep, et l’épaisseur du filet entre elles est \columnseprule. \columnseprule vaut par défaut 0pt (pas de filet) ; donnez une valeur positive pour l’afficher. Sur la dernière page, twocolumn n’équilibre pas les hauteurs des colonnes, donc la colonne droite peut être beaucoup plus courte. Pour les équilibrer, utilisez multicol.
\setlength{\columnsep}{20pt} % 段間を広げる
\setlength{\columnseprule}{0.4pt} % 段間に細い罫線を引くFigures pleine largeur en mode deux colonnes
Un vrai avantage de twocolumn est de pouvoir placer des figures et tableaux pleine largeur qui couvrent les deux colonnes. Au lieu de figure ou table, utilisez les environnements étoilés figure* / table* : le flottant s’étend sur les deux colonnes. La position est toutefois limitée : ces flottants pleine largeur vont en haut de page, pas en bas.
\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}Il est utile ici de distinguer \columnwidth et \textwidth. \columnwidth est la largeur d’une colonne, tandis que \textwidth est la largeur du bloc de texte entier (les deux colonnes plus l’intervalle). Utilisez width=\columnwidth pour une figure d’une colonne et width=\textwidth pour une figure pleine largeur afin d’éviter les débordements.
Colonnes équilibrées en nombre libre — paquet multicol
Le paquet multicol de Frank Mittelbach supprime les limites de twocolumn : deux colonnes seulement, portée globale ou page par page, dernières colonnes non équilibrées. Chargez-le avec \usepackage{multicol} et entourez la zone voulue avec l’environnement multicols, en donnant le nombre de colonnes comme argument.
\usepackage{multicol}
% ...本文中で
\begin{multicols}{3}
ここに書いた本文が 3 段に分かれて組まれます。……
\end{multicols}multicol a quatre atouts. D’abord, on peut choisir de 2 à 10 colonnes. Ensuite, à la fin de l’environnement, il équilibre automatiquement les colonnes à des hauteurs proches. Troisièmement, il peut commencer en milieu de page sans forcer de saut comme twocolumn. Enfin, les environnements multicols peuvent être imbriqués.
Pour placer avant les colonnes un texte introductif couvrant toutes les colonnes (titre ou introduction), ajoutez l’argument optionnel [⟨texte introductif⟩] après le nombre de colonnes. Ce matériau seul est composé pleine largeur, sans être divisé en colonnes.
\begin{multicols}{3}[\section{用語集}]
この見出しは 3 段の上に全幅で出ます。\par
以降の本文が 3 段に分かれます。……
\end{multicols}Après cet argument introductif, on peut donner un autre argument optionnel [⟨longueur⟩]. Il indique l’espace minimal restant en bas de page pour commencer les colonnes et remplace temporairement \premulticols. Si l’espace restant est inférieur, les colonnes commencent sur une nouvelle page. C’est utile pour éviter qu’elles ne débutent maladroitement tout en bas après un long préambule.
Contrôler les colonnes — coupures, filets et non équilibré
Pour choisir où une colonne se termine, appelez \columnbreak dans le texte. La colonne courante s’arrête à cet endroit et la suite passe à la suivante (ajouté en version 1.5u). Les versions récentes acceptent \columnbreak[⟨0–4⟩], où le nombre indique la force souhaitée de 0 (faible) à 4 (forcé). Il existe aussi \newcolumn, qui force une coupure mais laisse la colonne courte.
L’écart et le filet entre colonnes utilisent les mêmes \columnsep (écart) et \columnseprule (épaisseur, défaut 0pt) que twocolumn. La couleur du filet se change en définissant \columnseprulecolor (par défaut, la couleur du texte). Réglez ces longueurs avant d’entrer dans l’environnement multicols.
\setlength{\columnsep}{1.5em} % 段間
\setlength{\columnseprule}{0.4pt} % 段間の罫線を表示
\begin{multicols}{2}
左の段の本文。……
\columnbreak % ここで右の段へ送る
右の段の本文。……
\end{multicols}Le multicols ordinaire équilibre les colonnes de la dernière page, mais il arrive qu’on ne veuille pas les équilibrer, pour du contenu fragile ou pour laisser le matériau se dérouler sur plusieurs pages dans l’ordre. Utilisez alors la forme étoilée multicols* (ajoutée en version 1.5q). Elle laisse les colonnes de la dernière page non équilibrées et les remplit de gauche à droite.
Le compromis des flottants
Le principal piège de multicol est que les flottants ordinaires (figure / table) et \marginpar ne peuvent pas être utilisés dans un environnement multicols. D’après le manuel, le mécanisme des flottants de LaTeX y est partiellement désactivé : une figure ou table placée dedans disparaît, avec l’avertissement Floats and marginpars not allowed inside ‘multicols’ environment!. Seuls les flottants étoilés pleine largeur (figure*, etc.) fonctionnent, et encore : ils sont traités pleine page et placés en bas de page, pas dans une colonne.
C’est là que les deux approches se séparent. Si vous avez besoin de figures dans une colonne ou de flottants placés dans chaque colonne, choisissez twocolumn, qui gère correctement les flottants (pleine largeur via figure*). Si vous privilégiez le nombre libre de colonnes et leur équilibrage, et qu’une figure pleine largeur suffit, utilisez multicol. Pour insérer malgré tout une petite image dans multicol, placez directement un \includegraphics non flottant, ou utilisez un paquet d’habillage comme wrapfig.
Dernier point : les colonnes étant étroites, le texte justifié y crée facilement des espacements de mots irréguliers. Si cela gêne, mettez le texte des colonnes en drapeau à droite, ou combinez césure et réglage des coupures de ligne.