Comment mettre son texte sur plusieurs colonnes en LaTeX ? publié le 18/04/2009  - mis à jour le 20/04/2009

Mettre son document entier sur deux colonnes.

Parmi les divers types de documents que propose LaTeX, il en existe un qui répartit le texte sur deux colonnes, pour l’utiliser, il suffit de mettre dans le préambule du document :
\documentclass[a4paper,10pt,twocolumn]{article}.
Bien évidemment c’est l’option twocolumn qui permet la répartition du texte sur deux colonnes.
L’inconvénient de cette option est qu’elle s’applique à tout le document.

Voir le résultat.

Mettre une partie de son document sur plusieurs colonnes.


Pour la suite de cet article, je donne des exemples à partir de deux colonnes, mais cela peut être adapté pour un nombre supérieur de colonnes.


La commande de base.

Dans le préambule du document, il faut déclarer le paquet multicol
\usepackage{multicol}
Puis dans son document \LaTeX, il faudra utiliser l’environnement multicols. Attention au "s" terminant le mot.
\begin{multicols}{nb colonnes}...\end{multicols}
Le nombre de colonnes est compris entre 1 et 10. ( Mais oui, on peut faire un texte s’étendant sur une seule colonne :-).
\LaTeX répartira de façon identique le texte compris dans cet environnement sur le nombre de colonnes précisé.

Exemple :

Voir le résultat.

Le résultat n’est pas forcément esthétique, puisqu’une partie d’un exercice est sur les deux colonnes.


Forcer le changement de colonnes.


Pour forcer \LaTeX à effectuer un changement de colonne, il faut à la fin de la première partie taper l’instruction \columnbreak, puis sauter une ligne dans son éditeur \LaTeX.
Exemple :

Voir le résultat.

Et enfin d’un point de vue visuel, il serait souhaitable de séparer les deux colonnes par un trait.


Mettre un séparateur vertical.

La solution c’est avant d’appeler l’environnement multicols déclarer la largeur du séparateur par la commande suivante :
\setlength{\columnseprule}{larg}
Exemple :

Voir le résultat.


Imbrications de colonnes

Il est possible d’imbriquer les environnements multicols.

Exemple :

Voir le résultat.


Gestion des séparateurs verticaux.

Si on veut gérer finement1 le séparateur vertical alors il faut encapsuler chaque partie à l’intérieur d’un paragraphe, par la commande \par{contenu du paragraphe}

Voir le résultat.

On peut remarquer que pour ne pas avoir de filet dans l’exercice 1, il suffit de définir un séparateur vertical ayant 0 cm comme épaisseur...

Conclusion

On peut gérer finement le formatage d’un texte dans son document LaTeX en connaissant que peu de commandes, personnellement cela me suffit à faire les documents que je souhaite créer.
Il existe bien sûr d’autres commandes concernant l’environnement multicols, pour cela le lecteur trouvera sur bonheur en faisant des recherches sur Internet.

(1) Mettre des séparateurs de différentes épaisseur