LaTeX/Options de mise en forme avancées

Un livre de Wikilivres.

Mise en forme du texte[modifier | modifier le wikicode]

Césure[modifier | modifier le wikicode]

La césure (coupure d'un mot en fin de ligne afin de respecter la justification et le gris typographique) est gérée automatiquement par LaTeX. En particulier, le respect des règles françaises est assuré par l'utilisation de l'option T1 de l'extension fontenc. Il peut toutefois arriver que la césure ne soit pas correcte ; par exemple, la césure modifie la prononciation, ou bien ne respecte pas l'étymologie (notamment dans le cas d'un mot composé).

Pour indiquer l'endroit où peut avoir lieu la césure, on utilise la commande \hyphenation{liste de mots} dans le préambule. Elle contient une liste de mots, séparés avec des espaces, et contenant un tiret « - » pour indiquer les endroits où l'on peut couper, par exemple

\hyphenation{anti-consti-tu-tion-nel-le-ment atmo-sphère caou-tchouc cis-alpin trans-action}

Si l'on veut empêcher une césure, il suffit de mettre le mot à l'intérieur d'un \mbox{…}, par exemple

Le roi \mbox{Nabuchodonosor} régnait…

Notons que la commande \bsc{…} de l'extension babel/frenchb, utilisée pour les patronymes des auteurs, interdit la césure.

Lettrine[modifier | modifier le wikicode]

On commence souvent un chapitre en belle page par une lettrine : la première lettre est au fer à gauche, et avec un corps plus grand (en général sur deux lignes), et le ou les mots suivants sont en petite capitale.

On dispose pour cela de l'extension lettrine, qui s'utilise comme suit :

\usepackage{lettrine}
[…]
\lettrine{L}{es premiers mots} du premier paragraphe ''[…]''

Le « L » est alors en capitale de grand corps, et « es premiers mots » est en petites capitales.

Si l'on veut avoir une lettrine en gothique, on peut faire :

\usepackage{lettrine}
\usepackage{oldgerm}

[…]
\lettrine{\textgoth{L}}{es premiers mots} du premier paragraphe […]

On peut aussi avoir recours à la famille initfamily de l'extension yfonts pour avoir des lettrines enluminées :

\usepackage{lettrine}
\usepackage{yfonts}

\newcommand{\enluminure}[2]{\lettrine[lines=3]{\small \initfamily #1}{#2}}

[…]
\enluminure{L}{es premiers mots} du premier paragraphe […]

Voir aussi Choix de la police.

Couleur[modifier | modifier le wikicode]

Dans les instructions ci-dessous, le paramètre couleur est le nom de la couleur en anglais (sur fond blanc et sur fond noir, afin de rendre compte de la lisibilité) :

  • red : rouge, rouge ;
  • green : vert, vert ;
  • blue : bleu, bleu ;
  • cyan : cyan, cyan (bleu primaire) ;
  • magenta : magenta, magenta (rouge primaire) ;
  • yellow : jaune, jaune ;
  • orange : orange, orange ;
  • violet : violet, violet ;
  • purple : pourpre, pourpre ;
  • brown : brun, brun ;
  • black : noir, noir ;
  • darkgray : gris sombre, gris sombre ;
  • gray : gris, gris ;
  • lightgray : gris clair, gris clair ;
  • white : blanc, blanc.

Couleur des caractères[modifier | modifier le wikicode]

Pour mettre des caractères en couleur, il faut avoir recours à l'extension xcolor. On utilise alors les instructions suivantes pour mettre des caractères de couleur :

  • \textcolor{couleur}{texte} ;
  • {\color{couleur} texte}.
Utilisation conventionnelle

Il n'y a pas d'utilisation conventionnelle des couleurs. Attirons toutefois l'attention sur :

  • la lisibilité : un contraste insuffisant rend difficile la lecture, un contraste trop violent (comme jaune et bleu) la rend désagréable ;
  • l'étalonnage des couleurs : la couleur à l'écran n'est pas celle qui est imprimée par une imprimante à jet d'encre, elle-même différente de celle d'une imprimante laser couleur ou d'une impression offset ;
  • le rendu si l'on imprime en noir et blanc ou si l'on photocopie ;
  • le vieillissement du document : la couleur des imprimantes à jet d'encre a tendance à pâlir avec le temps ;
  • la couleur permet d'attirer l'attention sur un point ; trop de couleurs fait perdre le fil de la lecture, on peut raisonnablement se limiter à quatre couleurs ;
  • prendre en compte le coût de l'impression.


Pour plus de détails voir : Rédaction technique/De l'usage des couleurs dans un document.

Cadre et couleur du fond[modifier | modifier le wikicode]

On peut créer un filet horizontal avec la commande \hrulefill.

La création d'un cadre se fait avec l'instruction \fbox (framed box) :

\fbox{texte à encadrer}

mais telle quelle, cette fonction garde tout sur la même ligne, au risque de dépasser de la page…

Si l'on veut avoir un texte encadré sur plusieurs lignes, par exemple un pavé, il faut utiliser une minipage, avec l'environnement du même nom :

\fbox{\begin{minipage}{''largeur''}
''texte''
\end{minipage}}

où le paramètre largeur est exprimé dans les unités conventionnelles (cf. Éléments de base > Espaces et changements de ligne). Pour largeur, on peut aussi utiliser \textwidth pour avoir la largeur totale du texte (justification), ou bien \linewidth pour avoir la largeur de la ligne (qui peut être plus petite selon l'environnement courant). On peut aussi mettre un multiplicateur devant \textwidth, par exemple

\fbox{\begin{minipage}{0.9\textwidth}
   ''texte''
\end{minipage}}

Pour avoir une boîte faisant 90 % de la justification. Si l'on veut organiser le texte du code en mettant \begin{minipage} sur la ligne suivante, il faut mettre la fin de la ligne du \fbox en commentaire afin que LaTeX ne prenne pas en compte le caractère de fin de ligne

\fbox{%
   \begin{minipage}{0.9\textwidth}
      ''texte''
   \end{minipage}%
}

Si le texte à encadrer s'étend sur plusieurs pages, on aura recours à l'environnement framed de l'extension du même nom, ou bien à l'environnement breakbox de l'extension eclbkbox [1].

Pour avoir un fond coloré, il faut utiliser l'extension xcolor. On a alors :

  • \colorbox{couleur}{texte} : couleur prend les mêmes valeurs qu'avec \textcolor ci-dessus, et la commande réagit comme \fbox (il faut une minipage si le texte dépase la ligne) ;
  • \fcolorbox{couleur cadre}{couleur fond}{texte} : crée une boîte avec un fond et un filet de couleur.

On peut également définir la couleur de fond de toute la page avec \pagecolor{couleur}.

Utilisation conventionnelle

Mêmes remarques que ci-dessus.

Modèles de couleur[modifier | modifier le wikicode]

On peut utiliser d'autres couleurs que celles prédéfinies. On dispose pour cela de plusieurs modèles :

  • modèles de type rouge-vert-bleu (RVB) :
    • rgb : les trois composantes sont des nombres décimaux compris entre 0 et 1, séparés par une virgule,
    • RGB : les trois composantes sont des nombres entiers compris entre 0 et 255, séparés par une virgule,
    • HTML : les trois composantes sont des nombres hexadécimaux entiers compris entre 00 et FF, accolés ;
  • modèle cyan-magenta-jaune-noir : cmyk, les quatre composantes sont des nombres décimaux compris entre 0 et 1, séparés par une virgule ;
  • modèle teinte-saturation-luminosité (TSL) : hsb, les trois composantes sont des nombres décimaux compris entre 0 et 1 (la teinte est donc l'angle en degrés divisé par 360), séparés par une virgule ;
  • modèle nuances de gris : gray, avec un nombre décimal compris entre 0 (noir) et 1 (blanc).

Sans la syntaxe, on remplace alors {couleur} par [modèle]{couleur}, par exemple

\pagecolor[''modèle'']{''couleur''}

Voici plusieurs manières de définir le vert olive :

  • \textcolor[rgb]{0.5,0.5,0}{texte vert olive}
  • \textcolor[RGB]{128,128,0}{texte vert olive}
  • \textcolor[HTML]{808000}{texte vert olive}
  • \textcolor[hsb]{0.17,1,0.5}{texte vert olive}
  • \textcolor[cmyk]{0,0.17,0.67,0.33}{texte vert olive} (la variante proposée ici est légèrement différente des précédentes)

Pour le gris :

  • \textcolor[gray]{0.5}{texte gris}

Mais dans la démarche de la séparation du fond et de la forme, il vaut mieux définir une nouvelle couleur :

\definecolor{''nom''}{''modèle''}{''couleur''}

par exemple

\definecolor{vertolive}{rgb}{0.5,0.5,0}
\textcolor{vertolive}{texte vert olive}


Pour plus de détails voir : Rédaction technique/De l'usage des couleurs dans un document#Codage informatique.

Interligne[modifier | modifier le wikicode]

L'extension setspace (basé sur l'ancienne extension doublespace) permet d'augmenter l'interlignage, en introduisant l'environnement spacing :

\begin{spacing}{''facteur''}
   […]
\end{spacing}

multiplie l'interligne du facteur indiqué. Par exemple pour avoir un interligne de 1,2 fois l'interligne normal :

\usepackage{setspace}\begin{document}
\begin{spacing}{1.2}\end{spacing}
\end{document}

Pour les interlignes de une fois et demie et double, on dispose des commandes respectives \onehalfspacing et \doublespacing à placer dans le préambule.

On dispose également des environnements singlespace, onehalfspace et doublespace.

Texte en colonnes[modifier | modifier le wikicode]

Il est possible de présenter tout le texte en deux colonnes. Pour cela, on utilise l'argument twocolumn lors de l'appel de la classe, par exemple :

\documentclass[11pt, a4paper, twocolumn]{article}

On peut changer la disposition d'une page à l'autre :

  • \twocolumn commence une nouvelle page en deux colonnes ;
  • \onecolumn commence une nouvelle page en une colonne.

On peut utiliser un paramètre optionnel pour mettre un texte en une seule colonne au début d'une page à deux colonnes, comme par exemple un titre :

\twocolumn[\chapter{''titre''}]

Les versions étoilées des environnements flottants table* et figure* permettent de placer les objets flottants sur la largeur de la page au lieu de la largeur d'une colonne.

Si l'on désire utiliser plus de colonnes, ou si l'on désire changer le nombre de colonne en cours de page, on utilise alors l'extension multicol (sans s). Cela permet d'utiliser l'environnement multicols (avec un s), avec la syntaxe :

\usepackage{multicol}\begin{document}\begin{multicols}{''nombre de colonnes''}
   ''texte''
\end{multicols}
\end{document}

La fonction \columnbreak permet de forcer le passage à la colonne suivante.

Note
La présentation en multicolonne est adapté aux corps de petite taille (petite taille de texte), donc aux documents « compacts » : cela permet de limiter le nombre de caractères à lire avant de revenir à la ligne. Cela pose cependant le problème de la continuité de lecture lorsque l'on rencontre un intertitre ou une illustration : faut-il poursuivre la lecture sous l'intertitre/la figure, ou bien faut-il revenir en haut de la colonne suivante ?

Travailler avec deux langues[modifier | modifier le wikicode]

Si l'on a un document en plusieurs langues, on peut faire varier la marche typographique utilisée selon la langue du passage. Notez que dans le cas d'une citation en langue étrangère, on utilise la marche de la langue du document ; par exemple, si l'on a une citation en anglais dans un ouvrage en français, on garde la typographie française.

Pour utiliser plusieurs langues, il suffit d'indiquer plusieurs options à babel ; la dernière option est la langue par défaut. Puis, pour changer de langue, il suffit d'indiquer \selectlanguage{langue}. Par exemple, pour un texte en français avec des passages en anglais :

\usepackage[english, frenchb]{babel}\begin{document}\selectlanguage{english} % début du passage en typographie anglaise\selectlanguage{frenchb} % retour à la typographie française\end{document}

Ajout d'un sommaire[modifier | modifier le wikicode]

Dans la typographie française, la table des matières se met à la fin d'un ouvrage. Il est alors fréquent d'avoir un sommaire en début d'ouvrage, c'est-à-dire une table des matières ne reprenant que les titres de chapitre.

Le problème est que la commande \tableofcontents ne peut être utilisée qu'une seule fois.

On peut utiliser la solution suivante [2] :

\usepackage[tight]{shorttoc}

\newcommand{\sommaire}{\shorttoc{Sommaire}{1}}

\begin{document}

[…]

\sommaire

[…]

\tableofcontents

\end{document}

De manière générale, la commande \shorttoc utilise la syntaxe

\shorttoc{titre de la table}{profondeur}

profondeur est le niveau de détail.

Les environnements[modifier | modifier le wikicode]

Un environnement est une zone de texte délimitée par deux balises

\begin{environnement}
   […]
\end{environnement}

Un environnement ouvert par un \begin doit toujours être fermé par un \end. Le document LaTeX est un environnement en soi, l'environnement document.

Principaux environnements[modifier | modifier le wikicode]

Nous récapitulons ci-après les principaux environnements déjà vus.

Alignements
cf. Mise en forme du texte > Composition du texte :
  • flushleft pour une composition en drapeau au fer à gauche (ou texte aligné à gauche) ;
  • flushright pour une composition en drapeau au fer à droite (ou texte aligné à droite) ;
  • center pour du texte centré.
Dans chacun des ces environnements, la commande \\ permet de forcer un retour à la ligne.
Citations
Pour les citations séparées du texte, on dispose des environnements quote et quotation ; cf. Mise en forme du texte > Composition du texte.
Listes
Les listes structurées s'obtiennent également avec des environnements : enumerate, itemize et description ; cf. Structuration du texte > Listes structurées.
Minipage
L'environnement minipage permet de considérer une portion de texte comme une page à part (qui peut même contenir des notes de bas de page) ; cf. Cadre et couleur du fond ci-dessus.
Objets flottants
Les objets flottants sont dans des environnements :
Tableaux
Les tableaux utilisent l'environnement tabular. Celui-ci est décrit dans la section Faire des tableaux.

Commandes personnelles[modifier | modifier le wikicode]

La définition d'une commande personnelle de type environnement \begin{…} et \end{…} (environnement) est un peu plus complexe. Si l'on veut reprendre l'exemple des citations précédent, on utilisera :

\newcommand{\titre}{\emph} 
\newcommand{\personnage}[1]{\begin{center} \textsc{#1} \end{center}} 
\newenvironment{tirade} 
   {\begin{quote} \small} 
   {\normalsize \end{quote}} 

Si l'on considère ce passage de \titre{L'\'Ecole de femmes}~:
{\small \personnage{Chrysalde}  }

\begin{tirade} 
   Nous sommes ici seuls, et l'on peut, ce me semble, \\
   Sans craindre d'être ouïs y discourir ensemble. \\
   Voulez-vous qu'en ami je vous ouvre mon c\oe{}ur~? \\
   Votre dessein, pour vous, me fait trembler de peur~; \\
   Et de quelque façon que vous tourniez l'affaire, \\
   Prendre femme est à vous un coup bien téméraire.
\end{tirade} 

De manière générale, on a \newenvironment{nom de l'environnement}{instructions de début}{instructions de fin}. On pourra se reporter à Bitouzé et Charpentier[1] p. 263–254 et Roland[2] p. 139–140.

Erreurs possibles
  • ! \begin{…} ended by \end{…} : vous avez oublié de fermer un environnement, ou bien vous avez fait une faute en tapant le nom de l'environnement dans le \end{…}, ou bien vous avez essayé de faire se chevaucher des environnements, ce qui n'est pas possible ;
  • ! command … already defined : le nom que l'on utilise pour le nouvel environnement est déjà utilisé ; il faut changer le nom de l'environnement ; si vous voulez redéfinir un environnement existant, il faut utiliser l'instruction \renewenvironment, mais attention aux effets indésirables…
  • ! Environment … undefined : vous avez fait une faute en tapant le nom de l'environnement dans le \begin{…}, ou bien vous avez oublié de définir l'environnement en question.

Notes[modifier | modifier le wikicode]

  1. J.-C. Charpentier et D. Bitouzé, LaTeX — Synthèse et cours, éd. Pearson Education, 2006, (ISBN 2-7440-7187-0)
  2. C. Roland, LaTeX par la pratique, éd. O'Reilly, 1999, (ISBN 2-84177-073-7)
Table des matières - Généralités - Premiers pas - Structure du document - Gestion de la bibliographie - Tableaux - Images - Éléments flottants et figures - Mise en forme du texte - Choix de la police - Mise en page - Mathématiques - Gestion des gros documents - Faire des présentations - Arts et loisirs - Dessiner avec LaTeX - Créer une extension ou une classe - Programmer avec LaTeX - Annexes - Vade mecum - Conversion - Glossaire de typographie - Index - Commandes - Liens externes