Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente |
composition:texte:pages:equilibrer_les_colonnes [2020/11/24 23:10] – Lien interne. Mots-clefs OpenGraph. jejust | 3_composition:texte:pages:equilibrer_les_colonnes [2021/04/21 14:29] (Version actuelle) – Synchro avec la FAQ anglaise (mention de l'extension "pbalance"). jejust |
---|
====== Balancing columns at the end of a document ====== | ====== Comment équilibrer les colonnes de texte en fin de document? ====== |
| |
| L'option ''twocolumn'' des classes standard oblige <latex>\LaTeX</latex> à 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. |
| |
The ''twocolumn'' option of the standard classes causes | 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 [[ctanpkg>multicol|multicol]], présenté ci-après, à supprimer les flottants à une seule colonne. |
LaTeX to set the text of a document in two columns. However, the last | |
page of the document typically ends up with columns of different | |
lengths --- such columns are said to be "unbalanced". Many (most?) | |
people don't like unbalanced columns. | |
| |
The simplest solution to the problem is to use the [[ctanpkg>multicol]] | ===== Avec des commandes de bases ===== |
package in place of the ''twocolumn'' option, as | |
[[ctanpkg>multicol]] balances the columns on the final page by default. | |
However, the use of [[ctanpkg>multicol]] does come at a cost: its | |
special output routine disallows the use of in-column floats, though | |
it does still permit full-width (e.g., ''figure*'' | |
environment) floats. | |
| |
As a result, there is a constant push for a means of balancing columns | 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. |
at the end of a ''twocolumn'' document. Of course, the job can | |
be done manually: ''\pagebreak'' inserted at the appropriate place on | |
the last page can often produce the right effect, but this seldom | |
appeals, and if the last page is made up of automatically-generated | |
text (for example, bibliography or index) inserting the command will | |
be difficult. | |
| |
The [[ctanpkg>flushend]] package offers a solution to this problem. | ===== Avec l'extension “multicol” ===== |
It's a somewhat dangerous piece of macro code, which patches one of | |
the most intricate parts of the LaTeX kernel without deploying any of | |
the safeguards discussed in [[composition:macros:patcher_une_commande_existante|patching commands]]. | |
The package only changes the behaviour at end document (its | |
''\flushend'' command is enabled by default), and one other command | |
permits adjustment of the final balance; other packages in the bundle | |
provide means for insertion of full width material in two-column | |
documents. | |
| |
The [[ctanpkg>balance]] package also patches the output routine | Une des solutions au problème revient à utiliser l'extension [[ctanpkg>multicol]] au lieu de l'option ''twocolumn''. En effet, [[ctanpkg>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 [[ctanpkg>multicol|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*''). |
(somewhat more carefully than [[ctanpkg>flushend]]). | |
| |
The user should be aware that any of these packages are liable to | ===== Avec l'extension “flushend” ===== |
become confused in the presence of floats: if problems arise, manual | |
adjustment of the floats in the document is likely to be necessary. | |
It is this difficulty (what's required in any instance can't really be | |
expressed in current LaTeX) that led the author of | |
[[ctanpkg>multicol]] to suppress single-column-wide floats. | |
| |
| L'extension [[ctanpkg>flushend]] offre une solution à ce problème avec un code un peu sulfureux car modifiant l'une des parties les plus complexes du noyau <latex>\LaTeX</latex> sans déployer aucune des règles de prudence décrites pour [[2_programmation:macros:patcher_une_commande_existante|corriger des commandes]]. L'extension ne change le comportement de <latex>\LaTeX</latex> 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 à [[ctanpkg>flushend|flushend]] fournissent des moyens pour insérer des éléments sur la pleine largeur de la page dans des documents à deux colonnes. |
| |
----- | ===== Avec l'extension “balance” ===== |
| |
| L'extension [[ctanpkg>balance]] modifie également la routine de sortie (de manière sans doute plus prudente que [[ctanpkg>flushend]]). |
| |
| ===== Avec l'extension “pbalance” ===== |
| |
| L'extension [[ctanpkg>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 [[texdoc>pbalance|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 LaTeX supplémentaires (jusqu'à trois dans certains cas). |
| |
| |
| ----- |
//Source:// [[faquk>FAQ-balance|Balancing columns at the end of a document]] | //Source:// [[faquk>FAQ-balance|Balancing columns at the end of a document]] |
| |
{{htmlmetatags>metatag-keywords=(LaTeX,équilibrer les colonnes,composition en colonnes,mise en page des colonnes) | {{htmlmetatags>metatag-keywords=(LaTeX,équilibrer les colonnes,composition en colonnes,mise en page des colonnes) |
metatag-og:title=(Comment équilibrer les colonnes à la fin d'un document?) | metatag-og:title=(Comment équilibrer les colonnes de texte en fin de document) |
metatag-og:site_name=(FAQ LaTeX francophone) | metatag-og:site_name=(FAQ LaTeX francophone) |
}} | }} |
| |