Comment équilibrer les colonnes de texte en fin de document ?#

L’option twocolumn des classes standard oblige à présenter le texte d’un document sur deux colonnes. Cependant, la dernière page du document se termine généralement par des colonnes de longueurs différentes. Et rares sont ceux qui apprécient des colonnes déséquilibrées.

L’utilisateur doit être conscient que chacune des extensions évoquée par la suite pour résoudre ce problème est susceptible d’être perturbée en présence de flottants : si des problèmes surviennent, un réglage manuel des flottants dans le document pourra être nécessaire. C’est cette difficulté qui a conduit l’auteur de multicol, présenté ci-après, à supprimer les flottants à une seule colonne.

1.  Avec des commandes de bases#

Une solution manuelle consiste à insérer la commande \pagebreak à l’endroit approprié sur la dernière page. Si cette solution produit le bon effet, elle plait rarement, surtout si la dernière page est composée de texte généré automatiquement (par exemple, la bibliographie ou l’index) car il est alors difficile d’insérer la commande.

2.  Avec l’extension « multicol »#

Une des solutions au problème revient à utiliser l’extension multicol au lieu de l’option twocolumn. En effet, multicol équilibre par défaut les colonnes sur la dernière page. Cependant, ce choix a un coût : la routine de sortie particulière de multicol interdit l’utilisation de flottants au sein d’une colonne, bien qu’elle autorise toujours les flottants sur la pleine largeur de la page (par exemple, avec l’environnement figure*).

3.  Avec l’extension « flushend »#

L’extension flushend offre une solution à ce problème avec un code un peu sulfureux car modifiant l’une des parties les plus complexes du noyau sans déployer aucune des règles de prudence décrites pour corriger des commandes. L’extension ne change le comportement de qu’à la fin du document où une commande dédiée permet d’équilibrer les colonnes finales. En complément, d’autres extensions liées à flushend fournissent des moyens pour insérer des éléments sur la pleine largeur de la page dans des documents à deux colonnes.

4.  Avec l’extension « balance »#

L’extension balance modifie également la routine de sortie (de manière sans doute plus prudente que flushend).

5.  Avec l’extension « pbalance »#

L’extension pbalance (P comme « poor man’s balance ») essaie de résoudre les limitations des précédentes solutions concernant les flottants. Elle devrait être « sûre » (les modifications de la routine de sortie sont minimes) et fonctionner sans intervention de l’utilisateur. Cependant, elle a son propre lot d’avertissements (consultez la documentation). Les plus importants sont

  • C’est encore une extension récente (2020) et, par conséquent, elle a été très peu testée ;

  • Il exige des passes supplémentaires (jusqu’à trois dans certains cas).