Vous êtes sur la page 1sur 168

Confrence LATEX no 4

Tableaux, units, listings informatiques

Denis Bitouz
denis.bitouze@lmpa.univ-littoral.fr
http://gte.univ-littoral.fr/members/dbitouze/pub/latex

IUT Gnie Thermique et nergie de Dunkerque


http://gte.univ-littoral.fr/
&
Laboratoire de Mathmatiques Pures et Appliques Joseph Liouville
http://www-lmpa.univ-littoral.fr
Plan

Confrence
LATEX no 4
1 Construction de tableaux
Denis Bitouz

Construction 2 criture des nombres et grandeurs


de tableaux

criture des
nombres et 3 Mise en forme de listings informatiques
grandeurs

Mise en forme
de listings
informatiques
Plan

Confrence
LATEX no 4
1 Construction de tableaux
Denis Bitouz

Construction 2 criture des nombres et grandeurs


de tableaux
Principe
Jouer avec les lignes
Fusion de cellules
3 Mise en forme de listings informatiques
Entres sur plusieurs
lignes
Interfaces
graphiques
Tableaux dans des
flottants
Tableaux plus
professionnels
Autres
fonctionnalits
Package array

criture des
nombres et
grandeurs

Mise en forme
de listings
informatiques
Package array

Confrence
LATEX no 4 Ds que des tableaux sont composer, il est conseill de
Denis Bitouz charger le package array qui :
Construction
de tableaux
corrige certaines imperfections
Principe
Jouer avec les lignes
propose des fonctionnalits intressantes
Fusion de cellules
Entres sur plusieurs
lignes Remarque
Interfaces
graphiques
Tableaux dans des
Dans la suite de lexpos, ce package est suppos
flottants
Tableaux plus
systmatiquement charg
professionnels
Autres
fonctionnalits
Package array
Code source
criture des
nombres et
grandeurs \usepackage{array}
Mise en forme
de listings
informatiques
Ce que nous dtaillons maintenant

Confrence
LATEX no 4

Denis Bitouz
1 Construction de tableaux
Principe
Construction
de tableaux Jouer avec les lignes
Principe Fusion de cellules
Jouer avec les lignes
Fusion de cellules Entres sur plusieurs lignes
Entres sur plusieurs
lignes Interfaces graphiques
Interfaces
graphiques
Tableaux dans des flottants
Tableaux dans des
flottants
Tableaux plus professionnels
Tableaux plus
professionnels
Autres fonctionnalits
Autres
fonctionnalits
Package array
Package array

criture des
nombres et
grandeurs

Mise en forme
de listings
informatiques
Tableau basique
Exemple

Confrence
LATEX no 4
Exemple
Denis Bitouz

Construction
Code source (& : caractre spcial)
de tableaux
Principe 1 \begin{tabular}{|c|c|l|r|}
Jouer avec les lignes
Fusion de cellules 2 \hline
Entres sur plusieurs
lignes 3 1 & 2 & 3 & 4 \\
Interfaces
graphiques 4 \hline
Tableaux dans des
flottants
Tableaux plus
5 centre & centre & gauche & droite \\
professionnels
Autres
6 \hline
fonctionnalits
Package array 7 \end{tabular}
criture des
nombres et
grandeurs Rsultat
Mise en forme
de listings 1 2 3 4
informatiques
centre centre gauche droite
Tableau basique
Alignement vertical du code non ncessaire

Confrence
LATEX no 4
Exemple
Denis Bitouz

Construction
Code source
de tableaux
Principe 1 \begin{tabular}{|c|c|l|r|}
Jouer avec les lignes
Fusion de cellules 2 \hline
Entres sur plusieurs
lignes 3 1 & 2 & 3 & 4 \\
Interfaces
graphiques 4 \hline
Tableaux dans des
flottants
Tableaux plus
5 centre & centre & gauche & droite \\
professionnels
Autres
6 \hline
fonctionnalits
Package array 7 \end{tabular}
criture des
nombres et
grandeurs Rsultat
Mise en forme
de listings 1 2 3 4
informatiques
centre centre gauche droite
Construction basique des tableaux
Syntaxe

Confrence
LATEX no 4
Syntaxe
Denis Bitouz
\begin{tabular}{<motif du tableau>}
Construction
de tableaux <contenu du tableau>
Principe \end{tabular}
Jouer avec les lignes
Fusion de cellules
Entres sur plusieurs
lignes
Interfaces
graphiques
Tableaux dans des
flottants
Tableaux plus
professionnels
Autres
fonctionnalits
Package array

criture des
nombres et
grandeurs

Mise en forme
de listings
informatiques
Construction basique des tableaux
Syntaxe : motif du tableau

Confrence
LATEX no 4
Syntaxe
Denis Bitouz
\begin{tabular}{<motif du tableau>}
Construction
de tableaux <contenu du tableau>
Principe \end{tabular}
Jouer avec les lignes
Fusion de cellules
Entres sur plusieurs
lignes
o <motif du tableau> spcifie le nombre de colonnes et
Interfaces
graphiques
lalignement dans celles-ci. Cest une combinaison de :
Tableaux dans des
flottants spcificateurs de colonne 1 : les + courants tant les caract. :
Tableaux plus
professionnels
Autres
l : pour une colonne aligne gauche
fonctionnalits
Package array
c : pour une colonne centre
criture des r : pour une colonne aligne droite
nombres et
grandeurs sparateurs de colonne 2 : le + courant tant le caractre | 3
Mise en forme pour un filet vertical sur toute la hauteur du tableau
de listings
informatiques 1. Au moins un
2. Optionnels
3. Caractre dit pipe, obtenu au moyen de Alt Gr + 6 sur un clavier de pc
Construction basique des tableaux
Syntaxe : contenu du tableau

Confrence
LATEX no 4
Syntaxe
Denis Bitouz
\begin{tabular}{<motif du tableau>}
Construction
de tableaux <contenu du tableau>
Principe \end{tabular}
Jouer avec les lignes
Fusion de cellules
Entres sur plusieurs
lignes
o <contenu du tableau> est compos ligne ligne au moyen
Interfaces
graphiques
des lments suivants :
Tableaux dans des
flottants
du texte et/ou du code LATEX valide
Tableaux plus
professionnels
Autres
fonctionnalits
le caractre & 4 pour sparer deux cellules conscutives 5
Package array
\\ pour passer dune ligne la suivante
criture des
nombres et
grandeurs \hline 6 pour un filet horizontal sur toute la largeur du
Mise en forme tableau
de listings
informatiques 4. On se souvient que & est un caractre spcial de LATEX
5. Si une ligne compte n cellules, elle compte n 1 caractres &
6. Optionnel
Ce que nous dtaillons maintenant

Confrence
LATEX no 4

Denis Bitouz
1 Construction de tableaux
Principe
Construction
de tableaux Jouer avec les lignes
Principe Fusion de cellules
Jouer avec les lignes
Fusion de cellules Entres sur plusieurs lignes
Entres sur plusieurs
lignes Interfaces graphiques
Interfaces
graphiques
Tableaux dans des flottants
Tableaux dans des
flottants
Tableaux plus professionnels
Tableaux plus
professionnels
Autres fonctionnalits
Autres
fonctionnalits
Package array
Package array

criture des
nombres et
grandeurs

Mise en forme
de listings
informatiques
Jouer avec les lignes : en mettre ou pas

Confrence
LATEX no 4
Exemple
Denis Bitouz

Construction Code source Rsultat


de tableaux
Principe
1 \begin{tabular}{|c||c|cc|} 1 2 3 4
Jouer avec les lignes
Fusion de cellules 2 \hline 5 6 7 8
Entres sur plusieurs
lignes
3 1 & 2 & 3 & 4 \\ 9 10 11 12
Interfaces
graphiques
Tableaux dans des
4 \hline
flottants
Tableaux plus
5 \hline
professionnels
Autres 6 5 & 6 & 7 & 8 \\
fonctionnalits
Package array 7 9 & 10 & 11 & 12 \\
criture des 8 \hline
nombres et
grandeurs 9 \end{tabular}
Mise en forme
de listings
informatiques
Jouer avec les lignes : filets partiels

Confrence
LATEX no 4 Pour un filet horizontal partiel stendant :
de la gauche la colonne no <m>
Denis Bitouz

Construction
de tableaux la droite de la colonne no <n>
Principe
Jouer avec les lignes on utilisera :
Fusion de cellules
Entres sur plusieurs
lignes Syntaxe
Interfaces
graphiques
Tableaux dans des
\cline{<m>-<n>}
flottants
Tableaux plus
professionnels
Autres
fonctionnalits
Package array

criture des
nombres et
grandeurs

Mise en forme
de listings
informatiques
Jouer avec les lignes : filets partiels

Confrence
LATEX no 4

Denis Bitouz
Exemple (filets totaux/partiels)

Construction Code source Rsultat


de tableaux
Principe
Jouer avec les lignes
1 \begin{tabular}{|c|c|c|c|} 1 2 3 4
Fusion de cellules
2 \hline % total 5 6 7 8
Entres sur plusieurs
lignes
Interfaces
3 1 & 2 & 3 & 4 \\ 9 10 11 12
graphiques
Tableaux dans des 4 \cline{1-3} % partiel 13 14 15 16
flottants
Tableaux plus 5 5 & 6 & 7 & 8 \\
professionnels
Autres
fonctionnalits
6 \cline{2-3} % partiel
Package array 7 9 & 10 & 11 & 12 \\
criture des
nombres et
8 \cline{2-4} % partiel
grandeurs
9 13 & 14 & 15 & 16 \\
Mise en forme
de listings
10 \hline % total
informatiques
11 \end{tabular}
Ce que nous dtaillons maintenant

Confrence
LATEX no 4

Denis Bitouz
1 Construction de tableaux
Principe
Construction
de tableaux Jouer avec les lignes
Principe Fusion de cellules
Jouer avec les lignes
Fusion de cellules Entres sur plusieurs lignes
Entres sur plusieurs
lignes Interfaces graphiques
Interfaces
graphiques
Tableaux dans des flottants
Tableaux dans des
flottants
Tableaux plus professionnels
Tableaux plus
professionnels
Autres fonctionnalits
Autres
fonctionnalits
Package array
Package array

criture des
nombres et
grandeurs

Mise en forme
de listings
informatiques
Fusion horizontale
Texte sur plusieurs colonnes : exemple

Confrence
LATEX no 4
Exemple
Denis Bitouz

Construction Code source


de tableaux
Principe 1 \begin{tabular}{|c|c|c|c|}\hline
Jouer avec les lignes
Fusion de cellules 2 1 & \multicolumn{2}{c|}{Coucou} & 4 \\\hline
Entres sur plusieurs
lignes 3 5 & 6 & 7 & 8 \\\hline
Interfaces
graphiques
4 9 & 10 & 11 & 12 \\\hline
Tableaux dans des
flottants
5 \end{tabular}
Tableaux plus
professionnels
Autres
fonctionnalits
Package array
Rsultat
criture des 1 Coucou 4
nombres et
grandeurs 5 6 7 8
Mise en forme
de listings
9 10 11 12
informatiques
Fusion horizontale
Texte sur plusieurs colonnes : syntaxe

Confrence
LATEX no 4
Syntaxe
Denis Bitouz
\multicolumn{<n>}{<motif>}{<texte>}
Construction
de tableaux
Principe
Jouer avec les lignes fait figurer <texte> :
Fusion de cellules
Entres sur plusieurs
lignes dans <n> cellules fusionnes horizontalement
align horizontalement selon le <motif> de cellule :
Interfaces
graphiques
Tableaux dans des
flottants
Tableaux plus
spcificateur de colonne 7 unique
professionnels
Autres
sparateur(s) de colonne 8 ventuel(s)
fonctionnalits
Package array

criture des
nombres et
grandeurs

Mise en forme
de listings
informatiques
7. Gnralement, caractre l, c ou r
8. Gnralement, caractre |
Fusion horizontale
Texte sur plusieurs colonnes : exemple

Confrence
LATEX no 4

Denis Bitouz
Exemple (noter le filet partiel)

Construction Code source


de tableaux
Principe
Jouer avec les lignes \usepackage{multirow}
Fusion de cellules
Entres sur plusieurs
lignes 1 \begin{tabular}{|c|c|c|c|}\hline
Interfaces
graphiques 2 \multirow{2}{*}{Coucou} & 2 & 3 & 4 \\\cline{2-4}
Tableaux dans des
flottants 3 & 6 & 7 & 8 \\\hline
Tableaux plus
professionnels 4 \end{tabular}
Autres
fonctionnalits
Package array

criture des Rsultat


nombres et
grandeurs 2 3 4
Coucou
Mise en forme
de listings
6 7 8
informatiques
Fusion verticale
Texte sur plusieurs lignes : syntaxe

Confrence
LATEX no 4
Attention !
Denis Bitouz
On doit recourir au package multirow
Construction
de tableaux
Principe
Jouer avec les lignes
Syntaxe
\multirow{<n>}{<largeur>}{<texte>}
Fusion de cellules
Entres sur plusieurs
lignes
Interfaces
graphiques
Tableaux dans des
flottants
fait figurer <texte> :
dans <n> cellules fusionnes verticalement
Tableaux plus
professionnels
Autres
fonctionnalits
Package array
de <largeur> valant :
criture des soit * pour un ajustement automatique 9
nombres et
grandeurs soit une largeur que doit occuper le texte 10
Mise en forme
de listings
informatiques
9. En gnral conseill
10. Par exemple 3.2cm
Fusions horizontale et verticale
Exemple

Confrence
LATEX no 4
Exemple
Denis Bitouz

Construction
Code source
de tableaux
Principe \usepackage{multirow}
Jouer avec les lignes
Fusion de cellules
Entres sur plusieurs
1 \begin{tabular}{|c||c|c|}\hline
lignes 2 \multirow{2}{*}{Pays} & \multicolumn{2}{c|}{P.I.B.}\\
Interfaces
graphiques 3 & 1988 & 1998 \\\hline\hline
Tableaux dans des 4 Allemagne & 100 & 126 \\\hline
flottants
Tableaux plus
5 France & 100 & 121 \\\hline
professionnels
6 \end{tabular}
Autres
fonctionnalits
Package array

criture des Rsultat


nombres et
grandeurs
P.I.B.
Mise en forme Pays
de listings 1988 1998
informatiques
Allemagne 100 126
France 100 121
Ce que nous dtaillons maintenant

Confrence
LATEX no 4

Denis Bitouz
1 Construction de tableaux
Principe
Construction
de tableaux Jouer avec les lignes
Principe Fusion de cellules
Jouer avec les lignes
Fusion de cellules Entres sur plusieurs lignes
Entres sur plusieurs
lignes Interfaces graphiques
Interfaces
graphiques
Tableaux dans des flottants
Tableaux dans des
flottants
Tableaux plus professionnels
Tableaux plus
professionnels
Autres fonctionnalits
Autres
fonctionnalits
Package array
Package array

criture des
nombres et
grandeurs

Mise en forme
de listings
informatiques
Entres sur plusieurs lignes (ae !)
Motivation : exemple (semainier de stage tudiant)

Confrence
LATEX no 4
Exemple
Denis Bitouz

Construction
Code source
de tableaux 1 \begin{tabular}{|l|l|l|} \hline
Principe 2 \No & Semaine & Activits \\\hline
Jouer avec les lignes 3 1 & 01/04--05/04 & Accueil dans lentreprise, suivi dun chantier \\\hline
Fusion de cellules 4 2 & 08/04--12/04 & Cration dun outil de calcul, tablissement de devis \\\hline
Entres sur plusieurs 5 3 & 15/04--19/04 & Rdaction du rapport de stage, tablissement de devis \\\hline
lignes
6 \end{tabular}
Interfaces
graphiques
Tableaux dans des
flottants
Tableaux plus
Rsultat
professionnels
Autres
fonctionnalits
No Semaine Activits
Package array 1 01/0405/04 Accueil dans lentreprise, suivi dun chantier
criture des 2 08/0412/04 Cration dun outil de calcul, tablissement de d
nombres et
grandeurs 3 15/0419/04 Rdaction du rapport de stage, tablissement de
Mise en forme
de listings
informatiques
Entres sur plusieurs lignes
Motivation

Confrence
LATEX no 4
Attention !
Denis Bitouz
Les cellules des colonnes de types
Construction
de tableaux l
Principe
Jouer avec les lignes
Fusion de cellules
c
Entres sur plusieurs
lignes r
Interfaces
graphiques
Tableaux dans des
sont composes sur une seule ligne !
flottants
Tableaux plus
professionnels
Autres
Remarque
fonctionnalits
Package array Mais on peut (bien sr !) sen sortir
criture des
nombres et
grandeurs

Mise en forme
de listings
informatiques
Entres sur plusieurs lignes (ouf !)
Colonne de type p (alignement en haut)

Confrence
LATEX no 4
Exemple
Denis Bitouz

Construction
Code source
de tableaux 1 \begin{tabular}{|l|l|p{5cm}|} \hline
Principe 2 \No & Semaine & Activits \\\hline
Jouer avec les lignes 3 1 & 01/04--05/04 & Accueil dans lentreprise, suivi dun chantier \\\hline
Fusion de cellules 4 2 & 08/04--12/04 & Cration dun outil de calcul, tablissement de devis \\\hline
Entres sur plusieurs 5 3 & 15/04--19/04 & Rdaction du rapport de stage, tablissement de devis \\\hline
lignes
6 \end{tabular}
Interfaces
graphiques
Tableaux dans des
flottants
Tableaux plus
Rsultat
professionnels
Autres
fonctionnalits
No Semaine Activits
Package array 1 01/0405/04 Accueil dans lentreprise, suivi dun
criture des chantier
nombres et
grandeurs 2 08/0412/04 Cration dun outil de calcul, ta-
Mise en forme
blissement de devis
de listings 3 15/0419/04 Rdaction du rapport de stage, ta-
informatiques
blissement de devis
Entres sur plusieurs lignes (ouf !)
Colonne de type m (alignement au milieu)

Confrence
LATEX no 4
Exemple
Denis Bitouz

Construction
Code source
de tableaux 1 \begin{tabular}{|l|l|m{5cm}|} \hline
Principe 2 \No & Semaine & Activits \\\hline
Jouer avec les lignes 3 1 & 01/04--05/04 & Accueil dans lentreprise, suivi dun chantier \\\hline
Fusion de cellules 4 2 & 08/04--12/04 & Cration dun outil de calcul, tablissement de devis \\\hline
Entres sur plusieurs 5 3 & 15/04--19/04 & Rdaction du rapport de stage, tablissement de devis \\\hline
lignes
6 \end{tabular}
Interfaces
graphiques
Tableaux dans des
flottants
Tableaux plus
Rsultat
professionnels
Autres
fonctionnalits
No Semaine Activits
Package array Accueil dans lentreprise, suivi dun
1 01/0405/04
criture des chantier
nombres et
grandeurs Cration dun outil de calcul, ta-
2 08/0412/04
Mise en forme
blissement de devis
de listings Rdaction du rapport de stage, ta-
informatiques 3 15/0419/04
blissement de devis
Entres sur plusieurs lignes (ouf !)
Colonne de type b (alignement en bas)

Confrence
LATEX no 4
Exemple
Denis Bitouz

Construction
Code source
de tableaux 1 \begin{tabular}{|l|l|b{5cm}|} \hline
Principe 2 \No & Semaine & Activits \\\hline
Jouer avec les lignes 3 1 & 01/04--05/04 & Accueil dans lentreprise, suivi dun chantier \\\hline
Fusion de cellules 4 2 & 08/04--12/04 & Cration dun outil de calcul, tablissement de devis \\\hline
Entres sur plusieurs 5 3 & 15/04--19/04 & Rdaction du rapport de stage, tablissement de devis \\\hline
lignes
6 \end{tabular}
Interfaces
graphiques
Tableaux dans des
flottants
Tableaux plus
Rsultat
professionnels
Autres
fonctionnalits
No Semaine Activits
Package array Accueil dans lentreprise, suivi dun
criture des 1 01/0405/04 chantier
nombres et
grandeurs Cration dun outil de calcul, ta-
Mise en forme
2 08/0412/04 blissement de devis
de listings Rdaction du rapport de stage, ta-
informatiques
3 15/0419/04 blissement de devis
Entres sur plusieurs lignes
Motivation (solution)

Confrence
LATEX no 4 Pour des retours la ligne automatiques, on recourt lun
Denis Bitouz des spcificateurs :
Construction
de tableaux Syntaxe
Principe
Jouer avec les lignes p{<dimension>} % align. vertical : haut du parag.
Fusion de cellules
Entres sur plusieurs
lignes
m{<dimension>} % align. vertical : milieu du parag.
Interfaces
graphiques
b{<dimension>} % align. vertical : bas du parag.
Tableaux dans des

o <dimension> est la largeur souhaite pour la colonne


flottants
Tableaux plus
professionnels
Autres
fonctionnalits
Package array
Attention !
criture des Les spcificateurs m et b ncessitent par le package array
nombres et
grandeurs

Mise en forme
de listings
informatiques
Ce que nous dtaillons maintenant

Confrence
LATEX no 4

Denis Bitouz
1 Construction de tableaux
Principe
Construction
de tableaux Jouer avec les lignes
Principe Fusion de cellules
Jouer avec les lignes
Fusion de cellules Entres sur plusieurs lignes
Entres sur plusieurs
lignes Interfaces graphiques
Interfaces
graphiques
Tableaux dans des flottants
Tableaux dans des
flottants
Tableaux plus professionnels
Tableaux plus
professionnels
Autres fonctionnalits
Autres
fonctionnalits
Package array
Package array

criture des
nombres et
grandeurs

Mise en forme
de listings
informatiques
Fonctionnalits de TeXstudio
Cration et gestion de tableaux

Confrence
LATEX no 4

Denis Bitouz
Cration : Menu Assistants Tableau...
Gestion : Menu LaTeX Manipuler des tableaux puis
Construction
de tableaux Ajouter une ligne
Principe
Jouer avec les lignes Ajouter une colonne
Fusion de cellules
Entres sur plusieurs Supprimer une ligne
lignes
Interfaces Supprimer une colonne
graphiques
Tableaux dans des
flottants
Couper une colonne
Tableaux plus
professionnels
Coller une colonne
Autres
fonctionnalits Aligner les colonnes
Package array
etc.
criture des
nombres et
grandeurs

Mise en forme
de listings
informatiques
Interfaces graphiques
Tableurs : macros (Open|Libre)Office et Excel

Confrence
LATEX no 4 Il existe des macros permettant dexporter des tableaux
Denis Bitouz prpars avec un tableur (formules comprises) :
Construction (Open|Libre)Office : macro Calc2LaTeX 11
de tableaux
Principe
Jouer avec les lignes
Excel : macro excel2latex
Fusion de cellules
Entres sur plusieurs
1 Installer la macro comme
lignes
Interfaces indiqu dans dans le fichier
graphiques
Tableaux dans des
flottants
Readme.txt 12
Tableaux plus
professionnels
2 tester soi-mme 13
Autres
fonctionnalits
Package array

criture des
nombres et
grandeurs

Mise en forme
de listings
informatiques 11. Actuellement bogue : contributions bienvenues !
12. Cest facile !
13. Je ne dispose pas dExcel
Interfaces graphiques
Outils en ligne

Confrence
LATEX no 4
Remarque
Denis Bitouz
Il est possible de construire des tableaux LATEX au moyen
Construction
de tableaux dinterfaces graphiques en ligne :
Principe
Jouer avec les lignes pratiques
Fusion de cellules
Entres sur plusieurs
lignes
puissantes
Interfaces
graphiques
Tableaux dans des
flottants
On consultera notamment les sites :
Tableaux plus
professionnels Tables Generator
Autres
fonctionnalits
Package array
Table Editor
criture des
nombres et
grandeurs

Mise en forme
de listings
informatiques
Interfaces graphiques
Outils en ligne

Confrence
LATEX no 4 Exemples de fonctionnalits :
Denis Bitouz
import de tableaux 14
Construction
de tableaux fusion horizontale/verticale de cellules 15
Principe
Jouer avec les lignes insertion, suppression de lignes/colonnes
Fusion de cellules
Entres sur plusieurs
lignes
dplacement et change de lignes/colonnes 15
Interfaces
graphiques dfinition aise de lignes partielles
Tableaux dans des
flottants
Tableaux plus
code pour tableaux flottants (cf. plus loin)
professionnels
Autres
fonctionnalits
Package array

criture des
nombres et
grandeurs

Mise en forme
de listings
informatiques 14. Pour lun des deux sites seulement, par copi-coll (p. ex. depuis un
tableur)
15. Pour lun des deux sites seulement
Ce que nous dtaillons maintenant

Confrence
LATEX no 4

Denis Bitouz
1 Construction de tableaux
Principe
Construction
de tableaux Jouer avec les lignes
Principe Fusion de cellules
Jouer avec les lignes
Fusion de cellules Entres sur plusieurs lignes
Entres sur plusieurs
lignes Interfaces graphiques
Interfaces
graphiques
Tableaux dans des flottants
Tableaux dans des
flottants
Tableaux plus professionnels
Tableaux plus
professionnels
Autres fonctionnalits
Autres
fonctionnalits
Package array
Package array

criture des
nombres et
grandeurs

Mise en forme
de listings
informatiques
Tableaux et paragraphes
Exemple : tableau verticalement align au centre sur la ligne

Confrence
LATEX no 4
Remarque
Denis Bitouz
Les tableaux sont intgrs aux paragraphes
Construction
de tableaux
Principe Exemple
Jouer avec les lignes
Fusion de cellules
Entres sur plusieurs Code source
lignes
Interfaces
graphiques
1 Bonjour les amis,
Tableaux dans des 2 \begin{tabular}{c} % pas doption
flottants
Tableaux plus 3 je suis un\\
professionnels
Autres 4 tableau sur 2 lignes.
fonctionnalits
Package array
5 \end{tabular}
6 tonnant, non?
criture des
nombres et
grandeurs

Mise en forme Rsultat


de listings
informatiques je suis un
Bonjour les amis, tonnant, non ?
tableau sur 2 lignes.
Tableaux et paragraphes
Exemple : tableau verticalement align en haut sur la ligne

Confrence
LATEX no 4
Remarque
Denis Bitouz
Les tableaux sont intgrs aux paragraphes
Construction
de tableaux
Principe Exemple
Jouer avec les lignes
Fusion de cellules
Entres sur plusieurs Code source
lignes
Interfaces
graphiques
1 Bonjour les amis,
Tableaux dans des 2 \begin{tabular}[t]{c} % option t
flottants
Tableaux plus 3 je suis un\\
professionnels
Autres 4 tableau sur 2 lignes.
fonctionnalits
Package array
5 \end{tabular}
6 tonnant, non?
criture des
nombres et
grandeurs

Mise en forme Rsultat


de listings
informatiques Bonjour les amis, je suis un tonnant, non ?
tableau sur 2 lignes.
Tableaux et paragraphes
Exemple : tableau verticalement align en bas sur la ligne

Confrence
LATEX no 4
Remarque
Denis Bitouz
Les tableaux sont intgrs aux paragraphes
Construction
de tableaux
Principe Exemple
Jouer avec les lignes
Fusion de cellules
Entres sur plusieurs Code source
lignes
Interfaces
graphiques
1 Bonjour les amis,
Tableaux dans des 2 \begin{tabular}[b]{c} % option b
flottants
Tableaux plus 3 je suis un\\
professionnels
Autres 4 tableau sur 2 lignes.
fonctionnalits
Package array
5 \end{tabular}
6 tonnant, non?
criture des
nombres et
grandeurs

Mise en forme Rsultat


de listings
informatiques je suis un
Bonjour les amis, tableau sur 2 lignes. tonnant, non ?
Tableaux et paragraphes
Tableaux tasss mais arables

Confrence
LATEX no 4
Attention !
Denis Bitouz
Its not a bug, its a feature!
Construction
de tableaux
Principe
Jouer avec les lignes
Remarque
Fusion de cellules
Entres sur plusieurs
Nanmoins, les tableaux ne se dtachent pas bien des
lignes
Interfaces
paragraphes. On pourra du coup par exemple les placer
graphiques
Tableaux dans des dans des environnements tels que
flottants
Tableaux plus
professionnels
flushleft
Autres
fonctionnalits
center
Package array

criture des flushright


nombres et
grandeurs

Mise en forme Attention !


de listings
informatiques Le contournement ci-dessus est sous-optimal !
Tableaux et paragraphes
Tableaux tasss mais arables : exemples

Confrence
LATEX no 4
Exemple
Denis Bitouz

Code source Rsultat


Construction
de tableaux 1 \begin{enumerate} 1 Coucou, comment va ?
Principe 2 \item Coucou, comment va ? a va, merci.
Jouer avec les lignes 3
Fusion de cellules 4 \begin{tabular}{|r|} Et vous ?
Entres sur plusieurs 5 \hline a va, merci. \\\hline Grce LATEX, a va !
lignes 6 Et vous ? \\\hline
Interfaces 7 \end{tabular} 2 Coucou, comment va ?
graphiques
8
Tableaux dans des
9 Grce \LaTeX{}, a va ! a va, merci.
flottants
Tableaux plus
10 \item Coucou, comment va ? Et vous ?
professionnels 11 \begin{flushleft} % Seules diffrences
Autres 12 \begin{tabular}{|r|} Grce LATEX, a va !
fonctionnalits 13 \hline a va, merci. \\\hline
Package array 14 Et vous ? \\\hline
15 \end{tabular}
criture des 16 \end{flushleft} % Seules diffrences
nombres et 17 Grce \LaTeX{}, a va !
grandeurs 18 \end{enumerate}
Mise en forme
de listings
informatiques
Tableaux et paragraphes
Tableaux tasss mais arables, surtout grce aux flottants !

Confrence
LATEX no 4
Attention !
Denis Bitouz
Pour dtacher un tableau dun paragraphe, il est de loin
Construction
de tableaux prfrable de le faire flotter car il sera :
Principe
Jouer avec les lignes 1 un emplacement optimis
Fusion de cellules
Entres sur plusieurs
lignes
2 explicit par une lgende
list dans lventuelle liste des tableaux 16
Interfaces
graphiques 3
Tableaux dans des
flottants
Tableaux plus
professionnels Ce qui suit section est analogue la section concernant les
Autres
fonctionnalits
Package array
images flottantes
criture des
nombres et
grandeurs

Mise en forme
de listings
informatiques
16. Commande \listoftables, analogue de \listoffigures gnrant
la liste des figures
Tableaux dans des flottants
Syntaxe

Confrence
LATEX no 4
Syntaxe
Denis Bitouz
\begin{table}[<prfrence de placement>]
Construction
de tableaux \centering
Principe
Jouer avec les lignes
<un tableau> % \begin{tabular}{...}...
Fusion de cellules \caption{<lgende>}
\label{<identifiant>}
Entres sur plusieurs
lignes
Interfaces
graphiques \end{table}
Tableaux dans des
flottants
Tableaux plus
professionnels
o
Autres
fonctionnalits <prfrence de placement> est une suite de lettres 17
parmi h (here), t (top), b (bottom), p (page 18 )
Package array

criture des
nombres et
grandeurs
\centering centre horizontalement le tableau
Mise en forme <lgende> sera ajoute sous le tableau
de listings
informatiques <identifiant> en vue de rfrences croises
17. Lordre est indiffrent
18. Page ddie aux flottants
Tableaux dans des flottants
Exemple

Confrence
LATEX no 4

Denis Bitouz
Code source
1 \begin{table}[ht]
Construction
de tableaux 2 \centering
Principe 3 \begin{tabular}{ccc}
Jouer avec les lignes
Fusion de cellules
4 & Word & \LaTeX{} \\\hline
Entres sur plusieurs
lignes
5 Libre & Non & Oui \\\hline
Interfaces 6 Gratuit & Non & Oui \\\hline
graphiques
Tableaux dans des 7 \end{tabular}
flottants
Tableaux plus
8 \caption{Quelques aspects diffrenciant Word et \LaTeX{}}
professionnels
9 \label{comparatif}
Autres
fonctionnalits
10 \end{table}
Package array
11 Le tableau~\ref{comparatif} offre un comparatif intressant.
criture des
nombres et
grandeurs
Cf. page(s) suivante(s). . .
Mise en forme
de listings
informatiques
Word LATEX
Libre Non Oui
Gratuit Non Oui

Table 1 Quelques aspects diffrenciant Word et LATEX

Le tableau 1 offre un comparatif intressant.

1
Tableaux dans des flottants
Sous-tableaux

Confrence
LATEX no 4
Remarque
Denis Bitouz
Dans un tableau flottant comportant :
Construction
de tableaux une lgende
Principe
Jouer avec les lignes
Fusion de cellules
un label pour des rfrences croises
Entres sur plusieurs
lignes il est possible de faire figurer plusieurs sous-tableaux,
Interfaces
graphiques chacun avec :
Tableaux dans des
flottants
Tableaux plus sa propre lgende
professionnels
Autres
fonctionnalits
son propre label pour des rfrences croises
Package array

criture des
nombres et
Pour cela, il suffit de recourir 19 lenvironnement subtable
grandeurs du package subcaption.
Mise en forme
de listings
Cette fonctionnalit, analogue celles des sous-figures,
informatiques nest pas dtaille (cf. cours sur linclusion dimages)
19. lintrieur de lenvironnement table
Ce que nous dtaillons maintenant

Confrence
LATEX no 4

Denis Bitouz
1 Construction de tableaux
Principe
Construction
de tableaux Jouer avec les lignes
Principe Fusion de cellules
Jouer avec les lignes
Fusion de cellules Entres sur plusieurs lignes
Entres sur plusieurs
lignes Interfaces graphiques
Interfaces
graphiques
Tableaux dans des flottants
Tableaux dans des
flottants
Tableaux plus professionnels
Tableaux plus
professionnels
Autres fonctionnalits
Autres
fonctionnalits
Package array
Package array

criture des
nombres et
grandeurs

Mise en forme
de listings
informatiques
Tableaux plus professionnels
Ne pas abuser des bordures verticales

Confrence
LATEX no 4
Remarque
Denis Bitouz
Les lignes verticales ne facilitent pas ncessairement la
Construction
de tableaux lecture dun tableau
Principe
Jouer avec les lignes
Fusion de cellules
Entres sur plusieurs
lignes
Interfaces
graphiques
Tableaux dans des
flottants
Tableaux plus
professionnels
Autres
fonctionnalits
Package array

criture des
nombres et
grandeurs

Mise en forme
de listings
informatiques
Tableaux plus professionnels
Ne pas abuser des bordures verticales : exemples

Confrence
LATEX no 4

Denis Bitouz D Pu uu Gf
Construction 5 in 269.8 lbs 0.000674 in 1.79 0.04089 psiin
de tableaux
Principe 10 in 421.0 lbs 0.001035 in 3.59
Jouer avec les lignes
Fusion de cellules 20 in 640.2 lbs 0.001565 in 7.18
Entres sur plusieurs
lignes
Interfaces
graphiques
Tableaux dans des
est moins lisible que
flottants
Tableaux plus
professionnels
Autres D Pu uu Gf
fonctionnalits
Package array (in) (lbs) (in) (psiin)
criture des
nombres et 5 269.8 0.000674 1.79 0.04089
grandeurs

Mise en forme 10 421.0 0.001035 3.59 0.04089


de listings
informatiques 20 640.2 0.001565 7.18 0.04089
Tableaux plus professionnels
Ne pas abuser des bordures verticales

Confrence
LATEX no 4 Pour obtenir des tableaux lallure plus professionnelle ,
Denis Bitouz on pourra recourir au package booktabs 20 et ses
Construction commandes :
de tableaux
Principe \toprule
Jouer avec les lignes
Fusion de cellules
\midrule
Entres sur plusieurs
lignes
Interfaces \bottomrule
graphiques
Tableaux dans des
flottants Plus de dtails sur les faons de crer de (beaux) tableaux
Tableaux plus
professionnels sous LATEX dans Tables in LATEX 2 : Packages and Methods
Autres
fonctionnalits
Package array

criture des
nombres et
grandeurs

Mise en forme
de listings
informatiques 20. Ou ctable, package plus complexe mais qui tend les
fonctionnalits du package booktabs, notamment en ce qui concerne les
notes de bas de page intgres aux tableaux
Tableaux plus professionnels
Ne pas abuser des bordures verticales

Confrence
LATEX no 4
Exemple
Denis Bitouz

Construction Code source


de tableaux
Principe
\usepackage{booktabs}
Jouer avec les lignes
Fusion de cellules
Entres sur plusieurs 1 \begin{tabular}{ccccc}
lignes
2 $D$ & $P_u$ & $u_u$ & $\beta$ & $G_f$ \\
Interfaces
graphiques 3 (in) & (lbs) & (in) & & (psi$\cdot$in)\\
Tableaux dans des
flottants
4 \toprule
Tableaux plus 5 5 & 269.8 & 0.000674 & 1.79 & 0.04089 \\
professionnels
Autres
6 \midrule
fonctionnalits 7 10 & 421.0 & 0.001035 & 3.59 & 0.04089 \\
Package array
8 \midrule
criture des 9 20 & 640.2 & 0.001565 & 7.18 & 0.04089 \\
nombres et
10 \bottomrule
grandeurs
11 \end{tabular}
Mise en forme
de listings
informatiques
Tableaux plus professionnels suite
Ne pas abuser des bordures verticales

Confrence
LATEX no 4 Exemple (suite)
Denis Bitouz
Rsultat
Construction
de tableaux
Principe
D Pu uu Gf
Jouer avec les lignes (in) (lbs) (in) (psiin)
Fusion de cellules
Entres sur plusieurs
lignes 5 269.8 0.000674 1.79 0.04089
Interfaces
graphiques
Tableaux dans des
10 421.0 0.001035 3.59 0.04089
flottants
Tableaux plus
professionnels 20 640.2 0.001565 7.18 0.04089
Autres
fonctionnalits
Package array

criture des
nombres et
grandeurs

Mise en forme
de listings
informatiques
Interfaces graphiques (bis)
Tables Generator

Confrence
LATEX no 4 Le site Tables Generator propose dexporter les tableaux en
Denis Bitouz faisant usage de la syntaxe booktabs (cf. liste droulante
Construction Default table style )
de tableaux
Principe
Jouer avec les lignes
Fusion de cellules
Entres sur plusieurs
lignes
Interfaces
graphiques
Tableaux dans des
flottants
Tableaux plus
professionnels
Autres
fonctionnalits
Package array

criture des
nombres et
grandeurs

Mise en forme
de listings
informatiques
Ce que nous dtaillons maintenant

Confrence
LATEX no 4

Denis Bitouz
1 Construction de tableaux
Principe
Construction
de tableaux Jouer avec les lignes
Principe Fusion de cellules
Jouer avec les lignes
Fusion de cellules Entres sur plusieurs lignes
Entres sur plusieurs
lignes Interfaces graphiques
Interfaces
graphiques
Tableaux dans des flottants
Tableaux dans des
flottants
Tableaux plus professionnels
Tableaux plus
professionnels
Autres fonctionnalits
Autres
fonctionnalits
Package array
Package array

criture des
nombres et
grandeurs

Mise en forme
de listings
informatiques
Packages pour fonctionnalits spcifiques

Confrence
LATEX no 4 Les packages suivants permettent de crer des tableaux :
Denis Bitouz
de largeur dtermine : tabularx et tabulary
Construction
de tableaux trop grands (rotation) : 1 graphicx 21
Principe
Jouer avec les lignes
2 rotating
Fusion de cellules
Entres sur plusieurs
3 rotfloat 22
sur plusieurs pages : longtable ou ltxtable 23
lignes
Interfaces
graphiques
Tableaux dans des
flottants en couleur : xcolor
Tableaux plus
professionnels
Autres
avec numros de lignes : xcolor
fonctionnalits
Package array

criture des
nombres et
grandeurs

Mise en forme
de listings
informatiques 21. Grce sa commande \rotatebox{90}{...}
22. Ou ctable si le tableau est dans un flottant
23. Fusion de longtable et tabularx
Autres fonctionnalits pour les tableaux
Autres packages

Confrence
LATEX no 4 Plus gnralement, consulter la section concernant les
Denis Bitouz tableaux du catalogue par sujets du ctan
Construction
de tableaux
Principe
Jouer avec les lignes
Fusion de cellules
Entres sur plusieurs
lignes
Interfaces
graphiques
Tableaux dans des
flottants
Tableaux plus
professionnels
Autres
fonctionnalits
Package array

criture des
nombres et
grandeurs

Mise en forme
de listings
informatiques
Ce que nous dtaillons maintenant

Confrence
LATEX no 4

Denis Bitouz
1 Construction de tableaux
Principe
Construction
de tableaux Jouer avec les lignes
Principe Fusion de cellules
Jouer avec les lignes
Fusion de cellules Entres sur plusieurs lignes
Entres sur plusieurs
lignes Interfaces graphiques
Interfaces
graphiques
Tableaux dans des flottants
Tableaux dans des
flottants
Tableaux plus professionnels
Tableaux plus
professionnels
Autres fonctionnalits
Autres
fonctionnalits
Package array
Package array

criture des
nombres et
grandeurs

Mise en forme
de listings
informatiques
Package array (rappel)

Confrence
LATEX no 4 Ds que des tableaux sont composer, il est conseill de
Denis Bitouz charger le package array qui :
Construction
de tableaux
corrige certaines imperfections
Principe
Jouer avec les lignes
propose des fonctionnalits intressantes
Fusion de cellules
Entres sur plusieurs
lignes
Interfaces
graphiques
Tableaux dans des
flottants
Tableaux plus
professionnels
Autres
fonctionnalits
Package array

criture des
nombres et
grandeurs

Mise en forme
de listings
informatiques
Package array : viter les saisies rptitives

Confrence
LATEX no 4 Le package array permet dviter de pnibles saisies
Denis Bitouz rptitives : pour une colonne donne, on peut spcifier du
Construction matriel 24
de tableaux
Principe insr automatiquement
Jouer avec les lignes
Fusion de cellules
Entres sur plusieurs
chaque dbut et/ou fin de cellule
lignes
Interfaces
graphiques
Tableaux dans des
flottants
Tableaux plus
professionnels
Autres
fonctionnalits
Package array

criture des
nombres et
grandeurs

Mise en forme
de listings
informatiques

24. Texte et/ou code LATEX


Package array : viter les saisies rptitives
Mise en forme applique toute une colonne : pnible

Confrence
LATEX no 4

Denis Bitouz
Exemple (saisie pnible : rptitions)

Construction Code source Rsultat


de tableaux
Principe 1
2
\begin{tabular}{ll}
\textbf{Franais} & \textcolor{red}{English}\\
Franais English
Jouer avec les lignes
Fusion de cellules 3
4
\hline
\textbf{un} & \textcolor{red}{one} \\
un one
Entres sur plusieurs
lignes
Interfaces
5
6
\textbf{deux}
\textbf{trois}
&
&
\textcolor{red}{two}
\textcolor{red}{three}
\\
\\
deux two
graphiques
Tableaux dans des
7
8
\textbf{quatre}
\textbf{cinq}
&
&
\textcolor{red}{four}
\textcolor{red}{five}
\\
\\
trois three
flottants
Tableaux plus
9 \textbf{six} & \textcolor{red}{six} \\ quatre four
professionnels 10 \textbf{sept} & \textcolor{red}{seven} \\
Autres
11 \textbf{huit} & \textcolor{red}{eight} \\ cinq five
fonctionnalits 12 \textbf{neuf} & \textcolor{red}{nine} \\
Package array 13 \textbf{dix} & \textcolor{red}{ten} six six
14 \end{tabular}
criture des
nombres et
sept seven
grandeurs huit eight
Mise en forme
de listings
neuf nine
informatiques dix ten
Package array : viter les saisies rptitives
Mise en forme applique toute une colonne : pas pnible !

Confrence
LATEX no 4

Denis Bitouz
Exemple (saisie pas pnible)

Construction Code source Rsultat


de tableaux
Principe 1
2
\begin{tabular}{>{\bfseries}l>{\color{red}}l}
Franais & English\\
Franais English
Jouer avec les lignes
Fusion de cellules 3
4
\hline
un & one \\
un one
Entres sur plusieurs
lignes
Interfaces
5
6
deux
trois
& two \\
& three \\
deux two
graphiques
Tableaux dans des
7
8
quatre
cinq
& four
& five
\\
\\
trois three
flottants
Tableaux plus
9 six & six \\ quatre four
professionnels 10 sept & seven \\
Autres
11 huit & eight \\ cinq five
fonctionnalits 12 neuf & nine \\
Package array 13 dix & ten six six
14 \end{tabular}
criture des
nombres et
sept seven
grandeurs huit eight
Mise en forme
de listings
neuf nine
informatiques dix ten
Package array : viter les saisies rptitives
Matriel insr automatiquement chaque dbut/fin de cellule

Confrence
LATEX no 4 Dans le motif du tableau :
Denis Bitouz
Syntaxe (insertion en dbut de cellule)
Construction
de tableaux
>{<en dbut>}<spcificateur de colonne>
Principe
Jouer avec les lignes
Fusion de cellules
Entres sur plusieurs
lignes
Syntaxe (insertion en fin de cellule)
<spcificateur de colonne><{<en fin>}
Interfaces
graphiques
Tableaux dans des
flottants
Tableaux plus
professionnels On peut combiner les deux :
Autres
fonctionnalits
Package array
Syntaxe (insertion en dbut et en fin de cellule)
criture des
nombres et >{<dbut>}<spcificateur de colonne><{<fin>}
grandeurs

Mise en forme
de listings
informatiques
Formats des colonnes
Autre exemple pnible saisir

Confrence
LATEX no 4
Exemple
Denis Bitouz

Construction
Code source
de tableaux
Principe 1 \begin{tabular}{ll}
Jouer avec les lignes
Fusion de cellules
2 Test \no 1 & $a_1$ \\
Entres sur plusieurs
lignes
3 Test \no 2 & $b_2$ \\
Interfaces
graphiques
4 Test \no 3 & $c_3$ \\
Tableaux dans des 5 Test \no 4 & $d_4$
flottants
Tableaux plus 6 \end{tabular}
professionnels
Autres
fonctionnalits
Package array
Rsultat
criture des
nombres et
grandeurs
Test no 1 a1
Mise en forme Test no 2 b2
de listings
informatiques Test no 3 c3
Test no 4 d4
Formats des colonnes
Autre exemple beaucoup moins pnible saisir !

Confrence
LATEX no 4
Exemple
Denis Bitouz

Construction
Code source
de tableaux
Principe 1 \begin{tabular}{>{Test \no}l>{$}l<{$}}
Jouer avec les lignes
Fusion de cellules
2 1 & a_1 \\
Entres sur plusieurs
lignes
3 2 & b_2 \\
Interfaces
graphiques
4 3 & c_3 \\
Tableaux dans des 5 4 & d_4
flottants
Tableaux plus 6 \end{tabular}
professionnels
Autres
fonctionnalits
Package array
Rsultat
criture des
nombres et
grandeurs
Test no 1 a1
Mise en forme Test no 2 b2
de listings
informatiques Test no 3 c3
Test no 4 d4
Package array : documentation

Confrence
LATEX no 4 On pourra consulter sa documentation (traduite en
Denis Bitouz franais !) : Une nouvelle criture des environnements
Construction tabular et array de LATEX
de tableaux
Principe
Jouer avec les lignes
Fusion de cellules
Entres sur plusieurs
lignes
Interfaces
graphiques
Tableaux dans des
flottants
Tableaux plus
professionnels
Autres
fonctionnalits
Package array

criture des
nombres et
grandeurs

Mise en forme
de listings
informatiques
Plan

Confrence
LATEX no 4
1 Construction de tableaux
Denis Bitouz

Construction 2 criture des nombres et grandeurs


de tableaux

criture des
nombres et 3 Mise en forme de listings informatiques
grandeurs
criture des nombres
criture des angles
criture des
grandeurs
Tableaux de nombres
la frontire du si
Raffinements

Mise en forme
de listings
informatiques
Nombres, angles, units et grandeurs
Pas si vidents crire !

Confrence
LATEX no 4
Attention !
Denis Bitouz
Il est frquent que les auteurs (mme professionnels !) de
Construction
de tableaux documents scientifiques ou techniques crivent les
criture des
nombres et
nombres
grandeurs
criture des nombres
angles
criture des angles
criture des
grandeurs
units
Tableaux de nombres
la frontire du si
grandeurs
Raffinements
de faon non conforme aux prconisations du Systme
Mise en forme
de listings International dUnits (si)
informatiques

Remarque
Plusieurs packages LATEX proposent des commandes
simples permettant de se conformer aux normes du si
Nombres, angles, units et grandeurs
Faciles crire grce au package siunitx

Confrence
LATEX no 4 On tudie ici le package plus abouti : siunitx
Denis Bitouz
Remarque
Construction
de tableaux Dans la suite de lexpos, siunitx est suppos
criture des
nombres et
systmatiquement charg
grandeurs
criture des nombres
criture des angles
criture des
Code source
grandeurs
Tableaux de nombres
la frontire du si
\usepackage{siunitx}
Raffinements

Mise en forme
de listings
informatiques
Nombres, angles, units et grandeurs
Faciles crire grce au package siunitx

Confrence
LATEX no 4 Le comportement par dfaut de siunitx peut tre modifi au
Denis Bitouz moyen doptions pouvant tre passes :
Construction
de tableaux
globalement : \usepackage[<options>]{siunitx}
criture des semi-globalement : \sisetup{<options>} 25
nombres et
grandeurs
criture des nombres Attention !
criture des angles
criture des
grandeurs
Par souci dhomognit, \sisetup sera utilise en
Tableaux de nombres
la frontire du si
prambule seulement 26
Raffinements

Mise en forme
de listings
informatiques

25. Bascule
26. Sauf cas particuliers
Ce que nous dtaillons maintenant

Confrence
LATEX no 4

Denis Bitouz
2 criture des nombres et grandeurs
criture des nombres
Construction
de tableaux criture des angles
criture des
criture des grandeurs
nombres et Tableaux de nombres
grandeurs
criture des nombres la frontire du si
criture des angles
criture des
Raffinements
grandeurs
Tableaux de nombres
la frontire du si
Raffinements

Mise en forme
de listings
informatiques
criture des nombres : syntaxe

Confrence
LATEX no 4
Syntaxe
Denis Bitouz
\num[<options>]{<nombre>}
Construction
de tableaux

criture des
nombres et
grandeurs
criture des nombres
criture des angles
criture des
grandeurs
Tableaux de nombres
la frontire du si
Raffinements

Mise en forme
de listings
informatiques
criture des nombres : exemples
Nombres entiers

Confrence
LATEX no 4

Denis Bitouz Code Rsultat


\num{1} 1
Construction
de tableaux \num{12} 12
criture des \num{123} 123
nombres et
grandeurs \num{1234} 1234
criture des nombres
criture des angles \num{12345} 12 345
criture des
grandeurs
Tableaux de nombres
la frontire du si
Raffinements

Mise en forme
de listings
informatiques
criture des nombres : exemples
Nombres en notation scientifique

Confrence
LATEX no 4

Denis Bitouz Code Rsultat


Construction
\num{1e6} 1 106
de tableaux
\num{1e15} 1 1015
criture des
nombres et \num{e24} 1024
3.45 104
grandeurs
criture des nombres
\num{3.45e-4}
criture des angles
criture des
\num{-3e5} 3 105
grandeurs
Tableaux de nombres
la frontire du si
Raffinements

Mise en forme
de listings
informatiques
criture des nombres : exemples
Nombres dcimaux : sparateur dcimal

Confrence
LATEX no 4

Denis Bitouz
Code Rsultat
\num{0.1} 0.1
Construction
de tableaux
\num{0.12} 0.12
criture des
\num{0.123} 0.123
nombres et \num{0.1234} 0.1234
grandeurs
criture des nombres
\num{0.12345} 0.123 45
criture des angles
criture des
grandeurs
Tableaux de nombres
la frontire du si
Raffinements

Mise en forme
de listings
informatiques
criture des nombres : exemples
Nombres dcimaux : sparateur dcimal (bis)

Confrence
LATEX no 4

Denis Bitouz
Code Rsultat
\num{0,1} 0.1
Construction
de tableaux
\num{0,12} 0.12
criture des
\num{0,123} 0.123
nombres et \num{0,1234} 0.1234
grandeurs
criture des nombres
\num{0,12345} 0.123 45
criture des angles
criture des
grandeurs
Tableaux de nombres
la frontire du si
Remarque
Raffinements
Sparateur dcimal en entre = point ou virgule
Mise en forme
de listings = Sparateur dcimal en sortie = point 27
informatiques

Attention !
Option locale=FR = sparateur dcimal en sortie = virgule

27. Par dfaut


criture des nombres : sparateur dcimal
Changement global conseill : exemple

Confrence
LATEX no 4

Denis Bitouz
Code source

Construction \sisetup{locale=FR}
de tableaux

criture des
nombres et
grandeurs Code Rsultat Code Rsultat
criture des nombres
criture des angles \num{0.1} 0,1 \num{0,1} 0,1
criture des
grandeurs
\num{0.12} 0,12 \num{0,12} 0,12
Tableaux de nombres
la frontire du si \num{0.123} 0,123 \num{0,123} 0,123
Raffinements
\num{0.1234} 0,1234 \num{0,1234} 0,1234
Mise en forme
de listings \num{0.12345} 0,123 45 \num{0,12345} 0,123 45
informatiques

Remarque
Dans toute la suite, loption locale=FR sera utilise
criture des nombres : options
Exemple : incertitudes sous forme (in)habituelle

Confrence
LATEX no 4 Mise en forme des incertitudes :
Denis Bitouz
inhabituelle par dfaut :
Construction
de tableaux
Code Rsultat
criture des \num{1.234(5)} 1,234(5)
nombres et
grandeurs \num{1.234(5)e6} 1,234(5) 106
criture des nombres
criture des angles habituelle grce loption separate-uncertainty :
criture des
grandeurs
Tableaux de nombres Code source
la frontire du si
Raffinements
\sisetup{separate-uncertainty}
Mise en forme
de listings
informatiques
Code Rsultat
\num{1.234(5)} 1,234 0,005
\num{1.234(5)e6} (1,234 0,005) 106
Ce que nous dtaillons maintenant

Confrence
LATEX no 4

Denis Bitouz
2 criture des nombres et grandeurs
criture des nombres
Construction
de tableaux criture des angles
criture des
criture des grandeurs
nombres et Tableaux de nombres
grandeurs
criture des nombres la frontire du si
criture des angles
criture des
Raffinements
grandeurs
Tableaux de nombres
la frontire du si
Raffinements

Mise en forme
de listings
informatiques
criture des angles : syntaxe

Confrence
LATEX no 4
Syntaxe
Denis Bitouz
\ang[<options>]{<nombre dcimal>}
Construction
de tableaux \ang[<options>]{<degrs>;<minutes>;<secondes>}
criture des
nombres et
grandeurs Attention !
criture des nombres
criture des angles Lorsquun angle est spcifi en degrs, minutes, secondes,
criture des
grandeurs
Tableaux de nombres
ces derniers sont sparer par des points-virgules
la frontire du si
Raffinements

Mise en forme
de listings
informatiques
criture des angles : exemples

Confrence
LATEX no 4

Denis Bitouz Code Rsultat


Construction \ang{10} 10
de tableaux
\ang{12.3} 12,3
criture des
nombres et \ang{1;2;3} 120 300
grandeurs
criture des nombres \ang{;;1} 100
criture des angles
criture des
grandeurs
\ang{+10} 10
Tableaux de nombres
la frontire du si
\ang{-10} 10
Raffinements \ang{-10;3;} 1030
Mise en forme
de listings
informatiques
criture des angles : options
Exemple : implicite/explicite

Confrence
LATEX no 4
Exemple
Denis Bitouz

Construction
Code source
de tableaux

criture des
1 \begin{itemize}
nombres et 2 \item \ang{1;;} et \ang{;2;} et \ang{;;3}
grandeurs
criture des nombres 3 \item \sisetup{add-arc-degree-zero} \ang{1;;}
criture des angles
criture des et \ang{;2;} et \ang{;;3}
grandeurs
Tableaux de nombres 4 \item \sisetup{add-arc-minute-zero} \ang{1;;}
la frontire du si
Raffinements et \ang{;2;} et \ang{;;3}
Mise en forme 5 \end{itemize}
de listings
informatiques

Rsultat
1 et 20 et 300
1 et 020 et 0300
100 et 020 et 000 300
Ce que nous dtaillons maintenant

Confrence
LATEX no 4

Denis Bitouz
2 criture des nombres et grandeurs
criture des nombres
Construction
de tableaux criture des angles
criture des
criture des grandeurs
nombres et Tableaux de nombres
grandeurs
criture des nombres la frontire du si
criture des angles
criture des
Raffinements
grandeurs
Tableaux de nombres
la frontire du si
Raffinements

Mise en forme
de listings
informatiques
criture des grandeurs : syntaxe

Confrence
LATEX no 4
Dfinition
Denis Bitouz
Grandeur = nombre unit
Construction
de tableaux

criture des Ainsi :


nombres et
grandeurs
criture des nombres 10 m = 10 1 m = 10 m
criture des angles
criture des
grandeurs
3,7 kg = 3.7 1 kg = 3.7 kg
Tableaux de nombres
la frontire du si
Raffinements

Mise en forme
de listings
informatiques
criture des grandeurs : syntaxe

Confrence
LATEX no 4

Denis Bitouz
Syntaxe (criture dune grandeur)

Construction
\SI[<options>]{<nombre>}{<unit(s)>}
de tableaux

criture des Dans la ou les <unit(s)> :


nombres et
grandeurs
criture des nombres Syntaxe (mise en exposant et en indice)
criture des angles
criture des
grandeurs ^{<exposant>}
Tableaux de nombres
la frontire du si
_{<indice>}
Raffinements

Mise en forme
de listings Syntaxe (produits dunits)
informatiques
<unit>.<unit>
criture des grandeurs
Exemples avec units littrales

Confrence
LATEX no 4

Denis Bitouz Code Rsultat


\SI{10}{m} 10 m
Construction
de tableaux \SI{12.3}{cm^2} 12,3 cm2
criture des
nombres et
\SI{10}{kg.m.s^{-2}} 10 kg m s2
grandeurs
criture des nombres
\SI{1.453}{g/cm^3} 1,453 g/cm3
criture des angles
criture des
grandeurs
Tableaux de nombres
la frontire du si
Raffinements

Mise en forme
de listings
informatiques
criture des grandeurs
Les fonctionnalits de \num sappliquent : exemples

Confrence
LATEX no 4

Denis Bitouz
Notation scientifique :
Code Rsultat
Construction
de tableaux \num{3.5e4} 3,5 104
criture des
nombres et
\SI{3.5e4}{kg} 3,5 104 kg
grandeurs
criture des nombres
Incertitude (avec loption separate-uncertainty) :
criture des angles
criture des Code Rsultat
grandeurs
Tableaux de nombres \num{7.82(1)} 7,82 0,01
la frontire du si
Raffinements \SI{7.82(1)}{kg} (7,82 0,01) kg
Mise en forme
de listings
informatiques Attention !
Le 1er argument de \SI ne contiendra donc pas \num :
Correct : \SI{<nombre>}{<unit>}
Incorrect : \SI{\num{<nombre>}}{<unit>}
criture des units
Exemples : avec des commandes (parfois invitables)

Confrence
LATEX no 4
Remarque
Denis Bitouz
Certaines units ncessitent le recours des commandes
Construction
de tableaux

criture des Code Rsultat


nombres et
grandeurs \SI{10}{\planckbar} 10 ~
criture des nombres
criture des angles \SI{1}{\angstrom} 1
criture des
grandeurs \SI{12.3}{\ohm} 12,3
10 C
Tableaux de nombres
la frontire du si \SI{10}{\celsius}
Raffinements
\SI{5}{\micro\gram} 5 g
Mise en forme
de listings
informatiques
criture des units
Exemples : avec des commandes (mme quand cest vitable !)

Confrence
LATEX no 4

Denis Bitouz
Code Rsultat
\SI{10}{\meter} 10 m
Construction
de tableaux
\SI{12.3}{\centi\meter\squared} 12,3 cm2
criture des
\SI{10}{\kilo\gram\metre\per\second\squared} 10 kg m s2
nombres et \SI{1.453}{\gram\per\cubic\centi\metre} 1,453 g cm3
grandeurs
criture des nombres
criture des angles
criture des
grandeurs
Tableaux de nombres
la frontire du si
Raffinements

Mise en forme
de listings
informatiques
Units saisies via des commandes
Souvent prfrable (comment a, on est fous ?!)

Confrence
LATEX no 4
Attention !
Denis Bitouz
Cette mthode est utiliser absolument en cas de doute
Construction
de tableaux sur la manire dcrire une unit
criture des
nombres et Exemple
grandeurs
criture des nombres
criture des angles Code source
criture des
grandeurs
Tableaux de nombres 1 \begin{itemize}
la frontire du si 2 \item \SI{2}{km} ou \SI{2}{Km} ? \SI{20}{\kilo\meter} !
Raffinements
3 \item \SI{3}{bq} ou \SI{3}{Bq} ? \SI{3}{\becquerel} !
Mise en forme
de listings 4 \end{itemize}
informatiques

Rsultat
2 km ou 2 Km ? 20 km !
3 bq ou 3 Bq ? 3 Bq !
Units saisies via des commandes
Souvent prfrable (comment a, on est fous ?!)

Confrence
LATEX no 4
Remarque
Denis Bitouz
Cette faon de procder est plus longue et complique
Construction
de tableaux mais prsente de nombreux avantages
criture des
nombres et
grandeurs
criture des nombres
criture des angles
criture des
grandeurs
Tableaux de nombres
la frontire du si
Raffinements

Mise en forme
de listings
informatiques
Units saisies via des commandes
Mthode plus robuste

Confrence
LATEX no 4 On ncrira pas tantt 20 km, tantt 20 Km
Denis Bitouz

Construction
de tableaux

criture des
nombres et
grandeurs
criture des nombres
criture des angles
criture des
grandeurs
Tableaux de nombres
la frontire du si
Raffinements

Mise en forme
de listings
informatiques
Units saisies via des commandes
Mthode disposant de nombreuses abrviations (liste)

Confrence Unit Abrviation Symbole Unit Abrviation Symbole


LATEX no 4 femtogram \fg fg millihertz \mHz mHz
picogram \pg pg hertz \Hz Hz
Denis Bitouz nanogram \ng ng kilohertz \kHz kHz
microgram \ug g megahertz \MHz MHz
Construction milligram \mg mg gigahertz \GHz GHz
de tableaux gram \g g terahertz \THz THz
kilogram \kg kg millinewton \mN mN
criture des atomic mass unit \amu u newton \N N
nombres et picometre \pm pm kilonewton \kN kN
grandeurs nanometre \nm nm meganewton \MN MN
criture des nombres micrometre \um m pascal \Pa Pa
criture des angles millimetre \mm mm kilopascal \kPa kPa
criture des centimetre \cm cm megapacal \MPa MPa
grandeurs decimetre \dm dm gigapascal \GPa GPa
Tableaux de nombres metre \m m milliohm \mohm m
la frontire du si kilometre \km km kilohm \kohm k
Raffinements attosecond \as as megohm \Mohm M
femtosecond \fs fs picovolt \pV pV
Mise en forme picosecond \ps ps nanovolt \nV nV
de listings nanosecond \ns ns microvolt \uV V
informatiques microsecond \us s millivolt \mV mV
millisecond \ms ms volt \V V
second \s s kilovolt \kV kV
femtomole \fmol fmol watt \W W
picomole \pmol pmol microwatt \uW W
nanomole \nmol nmol milliwatt \mW mW
Units saisies via des commandes suite
Mthode disposant de nombreuses abrviations (liste)

Confrence Unit Abrviation Symbole Unit Abrviation Symbole


LATEX no 4 micromole \umol mol kilowatt \kW kW
millimole \mmol mmol megawatt \MW MW
Denis Bitouz mole \mol mol gigawatt \GW GW
kilomole \kmol kmol joule \J J
Construction picoampere \pA pA kilojoule \kJ kJ
de tableaux nanoampere \nA nA electronvolt \eV eV
microampere \uA A millielectronvolt \meV meV
criture des milliampere \mA mA kiloelectronvolt \keV keV
nombres et ampere \A A megaelectronvolt \MeV MeV
grandeurs kiloampere \kA kA gigaelectronvolt \GeV GeV
criture des nombres microlitre \ul l teraelectronvolt \TeV TeV
criture des angles millilitre \ml ml kilowatt hour \kwh kWh
criture des litre \l l farad \F F
grandeurs hectolitre \hl hl femtofarad \fF fF
Tableaux de nombres microliter \uL L picofarad \pF pF
la frontire du si milliliter \mL mL kelvin \K K
Raffinements liter \L L decibel \dB dB
hectoliter \hL hL
Mise en forme
de listings
informatiques
Units saisies via des commandes
Mthode supportant la cration de raccourcis

Confrence
LATEX no 4
Attention !
Denis Bitouz
Il est videmment possible dabrger les units saisies via
Construction
de tableaux des commandes !
criture des
nombres et
grandeurs
Syntaxe
\DeclareSIUnit[<options>]{<unit>}{<symbole>}
criture des nombres
criture des angles
criture des
grandeurs
Tableaux de nombres
la frontire du si
Remarque
Raffinements

Mise en forme
La commande \DeclareSIUnit joue un rle analogue
de listings \newcommand (mais spcialise dans les nouvelles units)
informatiques
Units saisies via des commandes
Mthode supportant la cration de raccourcis : exemple

Confrence
LATEX no 4
Exemple
Denis Bitouz

Construction Code source


de tableaux

criture des \DeclareSIUnit{\kmh}{\km\per\hour}


nombres et
grandeurs
criture des nombres
1 Je cours \SI{12}{\kmh}.
criture des angles
criture des
grandeurs
Tableaux de nombres
la frontire du si
Rsultat
Raffinements

Mise en forme
Je cours 12 km h1 .
de listings
informatiques
Units saisies via des commandes
Mthode supportant la cration de raccourcis

Confrence
LATEX no 4
Attention !
Denis Bitouz
Avec les macros personnelles, on peut gagner encore plus
Construction
de tableaux de temps et surtout sparer fond et forme
criture des
nombres et
grandeurs
criture des nombres
criture des angles
criture des
grandeurs
Tableaux de nombres
la frontire du si
Raffinements

Mise en forme
de listings
informatiques
Units saisies via des commandes
Mthode supportant la cration de raccourcis

Confrence
LATEX no 4
Exemple
Denis Bitouz

Construction
Code source
de tableaux

criture des \DeclareSIUnit{\kmh}{\km\per\hour}


nombres et
grandeurs
criture des nombres
criture des angles 1 \begin{enumerate}
criture des
grandeurs
2 \item Je cours \SI{12}{\kmh}. % (Pffff, long !)
Tableaux de nombres 3 \item Puis je marche \SI{5}{\kmh}. % (Pffff, long !)
la frontire du si
Raffinements
4 \item Et enfin je dors \SI{0}{\kmh}. % (Pffff, long !)
Mise en forme
5 \end{enumerate}
de listings
informatiques
Rsultat
1 Je cours 12 km h1 .
2 Puis je marche 5 km h1 .
3 Et enfin je dors 0 km h1 .
Units saisies via des commandes
Mthode supportant la cration de raccourcis

Confrence
LATEX no 4
Exemple
Denis Bitouz

Construction
Code source
de tableaux

criture des \DeclareSIUnit{\kmh}{\km\per\hour}


nombres et \newcommand{\vit}[1]{\SI{#1}{\kmh}}
grandeurs
criture des nombres
criture des angles 1 \begin{enumerate}
criture des
grandeurs
2 \item Je cours \vit{12}. % (Ah... court !)
Tableaux de nombres 3 \item Puis je marche \vit{5}. % (Ah... court !)
la frontire du si
Raffinements
4 \item Et enfin je dors \vit{0}. % (Ah... court !)
Mise en forme
5 \end{enumerate}
de listings
informatiques
Rsultat
1 Je cours 12 km h1 .
2 Puis je marche 5 km h1 .
3 Et enfin je dors 0 km h1 .
Units saisies via des commandes
Puissances : 1 ( par )

Confrence
LATEX no 4

Denis Bitouz
Syntaxe ( par )

Construction
\per
de tableaux

criture des Format de par modifiable au moyen de loption per-mode :


nombres et
grandeurs
criture des nombres Syntaxe
criture des angles
criture des
grandeurs
\sisetup{per-mode = <mode>}
Tableaux de nombres
la frontire du si
Raffinements
o <mode> peut valoir :
Mise en forme
de listings
reciprocal 28 : puissance (1)
informatiques
symbol : slash
fraction : vraie fraction

28. Valeur par dfaut


Units saisies via des commandes
Puissances : 1 ( par )

Confrence
LATEX no 4
Exemple
Denis Bitouz

Construction
Code source
de tableaux

criture des \DeclareSIUnit{\kmh}{\km\per\hour}


nombres et \newcommand{\vit}[1]{\SI{#1}{\kmh}}
grandeurs
criture des nombres
criture des angles 1 \begin{enumerate}
criture des
grandeurs
2 \item Je cours \vit{12}. \sisetup{per-mode = symbol}
Tableaux de nombres 3 \item Je marche \vit{5}. \sisetup{per-mode = fraction}
la frontire du si
Raffinements
4 \item Je dors \vit{0}.
Mise en forme
5 \end{enumerate}
de listings
informatiques
Rsultat
1 Je cours 12 km h1 .
2 Je marche 5 km/h.
3 Je dors 0 km
h .
Units saisies via des commandes
Puissances : 1 ( par )

Confrence
LATEX no 4

Denis Bitouz
Attention (rappel) !
Contrairement lexemple prcdent, la commande
Construction
de tableaux \sisetup{per-mode = <mode>} est utiliser de prfrence
criture des
nombres et
en prambule, de faon avoir un document homogne
grandeurs
criture des nombres
criture des angles Remarque (rappel)
criture des
grandeurs
Tableaux de nombres
De manire gnrale, la commande \sisetup devrait ntre
la frontire du si
Raffinements
utilise quen prambule
Mise en forme
de listings
informatiques
Units saisies via des commandes
Puissances 2, 3 et autres : plusieurs mthodes

Confrence
LATEX no 4

Denis Bitouz
Syntaxe (carr)

Construction
\square<unit> % avant
de tableaux <unit>\squared % aprs
criture des
nombres et
grandeurs
criture des nombres
Syntaxe (cube)
\cubic<unit> % avant
criture des angles
criture des
grandeurs
Tableaux de nombres <unit>\cubed % aprs
la frontire du si
Raffinements

Mise en forme Syntaxe (autre)


de listings
informatiques
\raiseto{<nombre>}<unit> % avant
<unit>\tothe{<nombre>} % aprs
Units saisies via des commandes
Puissances 2, 3 et autres : plusieurs mthodes (exemples)

Confrence
LATEX no 4

Denis Bitouz
Code Rsultat
$\SI{1}{\square\cm}=\SI{1}{\cm\squared}$ 1 cm2 = 1 cm2
Construction
de tableaux $\SI{1}{\cubic\cm}=\SI{1}{\cm\cubed}$ 1 cm3 = 1 cm3
criture des $\SI{1}{\raiseto{4}\cm}=\SI{1}{\cm\tothe{4}}$ 1 cm4 = 1 cm4
nombres et
grandeurs
criture des nombres
criture des angles
criture des
Remarque (en passant)
grandeurs
Tableaux de nombres \SI peut tre employe en mode mathmatique
la frontire du si
Raffinements

Mise en forme
de listings
informatiques
Units saisies via des commandes
Puissances 2, 3 et autres : avec des commandes seulement !

Confrence
LATEX no 4
Attention !
Denis Bitouz
Units via des commandes
Construction
de tableaux = Puissances via des commandes 29
criture des
nombres et
grandeurs Exemple
criture des nombres
criture des angles
criture des
grandeurs
Code source
Tableaux de nombres
la frontire du si 1 $ \SI{1}{\g\cubic\metre}
Raffinements
2 = \SI{1}{\g\metre\cubed}
Mise en forme 3 \neq \SI{1}{\g\metre^3}$
de listings
informatiques

Rsultat
1 g m3 = 1 g m3 , 1 gm3

29. Pas manuellement


criture des units sans valeur

Confrence
LATEX no 4

Denis Bitouz
Syntaxe (criture dune unit seule)

Construction
\si[<options>]{<unit>} % Noter les minuscules !
de tableaux

criture des
nombres et Exemple
grandeurs
criture des nombres
criture des angles
Code source
criture des
grandeurs
Tableaux de nombres
1 Ceci est une distance, exprime en \si{\um},
la frontire du si
2 pas en \si{\kg} ni en \si{\celsius} !
Raffinements

Mise en forme
de listings
informatiques Rsultat
Ceci est une distance, exprime en m, pas en kg ni
en C !
Grandeurs versus units sans valeur

Confrence
LATEX no 4
Attention !
Denis Bitouz
Ne pas confondre les commandes pour lcriture :
Construction
de tableaux des grandeurs : \SI{<nombre>}{<unit>}
des units : \si{<unit>}
criture des
nombres et
grandeurs
criture des nombres
criture des angles
criture des
grandeurs
Tableaux de nombres
la frontire du si
Raffinements

Mise en forme
de listings
informatiques
Multiples des units

Confrence
LATEX no 4
Remarque
Denis Bitouz
Les multiples des units sont des puissances de 10
Construction
de tableaux

criture des
nombres et
grandeurs
criture des nombres
criture des angles
criture des
grandeurs
Tableaux de nombres
la frontire du si
Raffinements

Mise en forme
de listings
informatiques
Multiples des units
Infrieurs 1

Confrence
LATEX no 4

Denis Bitouz Prfixe Valeur Symbole Macro


Construction
deci 101 d \deci
de tableaux centi 102 c \centi
criture des
nombres et milli 103 m \milli
grandeurs
criture des nombres
micro 106 \micro
criture des angles
criture des
nano 109 n \nano
1012
grandeurs
Tableaux de nombres pico p \pico
1015
la frontire du si
Raffinements femto f \femto
Mise en forme
de listings
atto 1018 a \atto
informatiques zepto 1021 z \zepto
yocto 1024 y \yocto
Multiples des units
Suprieurs 1

Confrence
LATEX no 4

Denis Bitouz Prfixe Valeur Symbole Macro


Construction
dca 101 da \deca
de tableaux hecto 102 h \hecto
criture des
nombres et kilo 103 k \kilo
grandeurs
criture des nombres
mga 106 M \mega
criture des angles
criture des
giga 109 G \giga
1012
grandeurs
Tableaux de nombres tra T \tera
1015
la frontire du si
Raffinements pta P \peta
Mise en forme
de listings
exa 1018 E \exa
informatiques zetta 1021 Z \zetta
yotta 1024 Y \yotta
Ce que nous dtaillons maintenant

Confrence
LATEX no 4

Denis Bitouz
2 criture des nombres et grandeurs
criture des nombres
Construction
de tableaux criture des angles
criture des
criture des grandeurs
nombres et Tableaux de nombres
grandeurs
criture des nombres la frontire du si
criture des angles
criture des
Raffinements
grandeurs
Tableaux de nombres
la frontire du si
Raffinements

Mise en forme
de listings
informatiques
Tableaux de nombres
Se soucier de leur lisibilit

Confrence
LATEX no 4
Exemple
Denis Bitouz

Construction Code source Rsultat


de tableaux
Valeurs
criture des
nombres et
grandeurs
3876
criture des nombres
1 \begin{tabular}{|r|} 2.345
criture des angles
2 \hline
criture des 3423.4
grandeurs 3 Valeurs \\
Tableaux de nombres 56.7835
la frontire du si 4 \hline
Raffinements
5 3876 \\
-90.473
Mise en forme
de listings
6 2.345 \\
informatiques 7 3423.4 \\
8 56.7835 \\
9 -90.473 \\
10 \hline
11 \end{tabular}
Tableaux de nombres
Se soucier de leur lisibilit

Confrence
LATEX no 4
Exemple
Denis Bitouz

Construction Code source Rsultat


de tableaux
Valeurs
criture des
nombres et
grandeurs
3876
criture des nombres
1 \begin{tabular}{|c|} 2.345
criture des angles
2 \hline
criture des 3423.4
grandeurs 3 Valeurs \\
Tableaux de nombres 56.7835
la frontire du si 4 \hline
Raffinements
5 3876 \\
-90.473
Mise en forme
de listings
6 2.345 \\
informatiques 7 3423.4 \\
8 56.7835 \\
9 -90.473 \\
10 \hline
11 \end{tabular}
Tableaux de nombres
Se soucier de leur lisibilit

Confrence
LATEX no 4
Exemple
Denis Bitouz

Construction Code source Rsultat


de tableaux
Valeurs
criture des
nombres et
grandeurs
3876
criture des nombres
1 \begin{tabular}{|l|} 2.345
criture des angles
2 \hline
criture des 3423.4
grandeurs 3 Valeurs \\
Tableaux de nombres 56.7835
la frontire du si 4 \hline
Raffinements
5 3876 \\
-90.473
Mise en forme
de listings
6 2.345 \\
informatiques 7 3423.4 \\
8 56.7835 \\
9 -90.473 \\
10 \hline
11 \end{tabular}
Tableaux de nombres
Se soucier de leur lisibilit : simple avec le package siunitx

Confrence
LATEX no 4
Exemple
Denis Bitouz

Construction Code source Rsultat


de tableaux
\usepackage{siunitx} Valeurs
criture des
nombres et
grandeurs
3876
criture des nombres
1 \begin{tabular}{|S|} 2,345
criture des angles
2 \hline
criture des 3423,4
grandeurs 3 {Valeurs} \\
Tableaux de nombres 56,7835
la frontire du si 4 \hline
Raffinements
5 3876 \\
90,473
Mise en forme
de listings
6 2.345 \\
informatiques 7 3423.4 \\
8 56.7835 \\
9 -90.473 \\
10 \hline
11 \end{tabular}
Tableaux de nombres
Se soucier de leur lisibilit

Confrence
LATEX no 4
Remarque
Denis Bitouz
Le package siunitx fournit un nouveau spcificateur de
Construction
de tableaux colonne de tableaux : S
criture des
nombres et
Dans une colonne de type S, les nombres sont
grandeurs
criture des nombres
automatiquement aligns 30 sur leur sparateur
criture des angles dcimal
criture des
grandeurs
Tableaux de nombres
la frontire du si
Raffinements

Mise en forme
de listings
informatiques

30. Verticalement
Tableaux de nombres : package siunitx
Entres non numriques protger

Confrence
LATEX no 4
Code source
Denis Bitouz

Construction \usepackage{siunitx}
de tableaux

criture des 1 \begin{tabular}{|S|}


nombres et
grandeurs 2 \hline
criture des nombres
criture des angles 3 {Valeurs} \\
criture des
grandeurs 4 \hline
Tableaux de nombres
la frontire du si 5 3876 \\
Raffinements
6 [...]
Mise en forme
de listings 7 \end{tabular}
informatiques

Attention !
Les entres de tableaux qui ne sont pas des nombres
doivent tre protges par des paires daccolades
Tableaux de nombres : package siunitx
Bilans comptables : nombre ngatifs automatiquement colors

Confrence
LATEX no 4
Exemple
Denis Bitouz

Construction
Code source Rsultat
de tableaux
\usepackage{siunitx} Valeurs
criture des
nombres et 3876
grandeurs
criture des nombres
1 \sisetup{negative-color=red} 2,345
criture des angles 2 \begin{tabular}{|S|}
criture des 3423,4
grandeurs 3 \hline
Tableaux de nombres 56,7835
la frontire du si 4 {Valeurs} \\
Raffinements
5 \hline
90,473
Mise en forme
de listings
6 3876 \\
informatiques 7 2.345 \\
8 3423.4 \\
9 56.7835 \\
10 -90.473 \\
11 \hline
12 \end{tabular}
Tableaux de nombres : package siunitx
\num applique aux entres des colonnes S

Confrence
LATEX no 4
Remarque
Denis Bitouz
La commande \num est applique aux entres des colonnes de type S
Construction
de tableaux

criture des
Exemple
nombres et
grandeurs Rsultat
Code source
criture des nombres
criture des angles
criture des \usepackage{siunitx}
1,23 104
grandeurs
\sisetup{separate-uncertainty}
1,23 0,04
Tableaux de nombres
la frontire du si
Raffinements
1 \begin{tabular}{S}
Mise en forme
2 1.23e4 \\
de listings
informatiques 3 1.23(4)
4 \end{tabular}
Ce que nous dtaillons maintenant

Confrence
LATEX no 4

Denis Bitouz
2 criture des nombres et grandeurs
criture des nombres
Construction
de tableaux criture des angles
criture des
criture des grandeurs
nombres et Tableaux de nombres
grandeurs
criture des nombres la frontire du si
criture des angles
criture des
Raffinements
grandeurs
Tableaux de nombres
la frontire du si
Raffinements

Mise en forme
de listings
informatiques
Units binaires
Utiles aux informaticiens et aux autres, accessibles avec siunitx

Confrence
LATEX no 4

Denis Bitouz
bit : chiffre binaire 31 , not bit 32
byte : 1 B = 8 bit 33 , not B
Construction
de tableaux

criture des Remarque


nombres et
grandeurs
criture des nombres
La capacit de la mmoire informatique est gnralement
criture des angles exprime en bytes, et pas en bits
criture des
grandeurs
Tableaux de nombres
la frontire du si
Raffinements
Attention !
Mise en forme Pour accder aux units binaires avec siunitx, il est
de listings
informatiques ncessaire de charger loption binary-units

31. Cest--dire valant 0 ou 1


32. Abrviation de binary digit
33. Sauf cas exceptionnels
Units binaires
Octets

Confrence
LATEX no 4

Denis Bitouz
octet : dsigne 8 bits, not o

Construction
de tableaux Remarque
criture des 1 o = 8 bit = 1 B
nombres et
grandeurs
criture des nombres
criture des angles
Remarque
criture des
grandeurs Loctet nest pas prvu par siunitx
Tableaux de nombres
la frontire du si
Raffinements
Mais on peut dclarer une nouvelle unit pour lui :
Mise en forme
de listings
informatiques Code source

\DeclareSIUnit{\octet}{o}
Units binaires
Exemple

Confrence
LATEX no 4
Exemple
Denis Bitouz

Construction Code source


de tableaux

criture des \DeclareSIUnit{\octet}{o}


nombres et
grandeurs
\sisetup{binary-units,per-mode=symbol}
criture des nombres
criture des angles 1 Le dbit dune ligne ADSL, annon \og 100~mgas\fg{},
criture des
grandeurs 2 est en fait de \SI{100}{\mega\bit\per\second} donc de
Tableaux de nombres
3 $\frac{1}{8}\times\SI{100}{\mega\octet\per\second}$,
la frontire du si
Raffinements 4 cest--dire de \SI{12.5}{\mega\octet\per\second}.
Mise en forme
de listings
informatiques Rsultat
Le dbit dune ligne ADSL, annon 100 mgas ,
est en fait de 100 Mbit/s donc de 81 100 Mo/s,
cest--dire de 12,5 Mo/s.
Units binaires
Multiples binaires

Confrence
LATEX no 4 Les multiples des units binaires sont normalement
Denis Bitouz exprims en puissances :
Construction
de tableaux
non pas de 10
criture des mais de 2
nombres et
grandeurs
criture des nombres Prfixe Valeur Symbole Macro
210
criture des angles
criture des kilo binaire Ki \kibi
grandeurs
Tableaux de nombres mga binaire 220 Mi \mebi
la frontire du si
Raffinements giga binaire 230 Gi \gibi
Mise en forme
de listings tra binaire 240 Ti \tebi
informatiques
pta binaire 250 Pi \pebi
exa binaire 260 Ei \exbi
zetta binaire 270 Zi \zebi
yotta binaire 280 Yi \yobi
Units binaires
Exemple

Confrence
LATEX no 4
Exemple
Denis Bitouz

Construction
Code source
de tableaux

criture des
\sisetup{binary-units}
nombres et
grandeurs
1 $\SI{1}{\mebi\byte}\neq\SI{1}{\mega\byte}$ car :
criture des nombres
criture des angles 2 \begin{align*}
criture des
grandeurs 3 \SI{1}{\mebi\byte} & = \SI{1048576}{\byte} \\
Tableaux de nombres
la frontire du si
4 \SI{1}{\mega\byte} & = \SI{1000000}{\byte}
Raffinements 5 \end{align*}
Mise en forme
de listings
informatiques
Rsultat
1 MiB , 1 MB car :

1 MiB = 1 048 576 B


1 MB = 1 000 000 B
Ce que nous dtaillons maintenant

Confrence
LATEX no 4

Denis Bitouz
2 criture des nombres et grandeurs
criture des nombres
Construction
de tableaux criture des angles
criture des
criture des grandeurs
nombres et Tableaux de nombres
grandeurs
criture des nombres la frontire du si
criture des angles
criture des
Raffinements
grandeurs
Tableaux de nombres
la frontire du si
Raffinements

Mise en forme
de listings
informatiques
criture des nombres
Options, passer localement ou (semi-)globalement

Confrence
LATEX no 4
Remarque
Denis Bitouz
Plusieurs options de la commande \num peuvent tre
Construction
de tableaux passes localement ou, via \sisetup{...},
criture des (semi-)globalement
nombres et
grandeurs
criture des nombres
criture des angles
criture des
grandeurs
Tableaux de nombres
la frontire du si
Raffinements

Mise en forme
de listings
informatiques
criture des nombres : options
Exemples : sparateurs de milliers

Confrence
LATEX no 4
Exemple
Denis Bitouz

Construction Code source


de tableaux

criture des 1 \num{12345} et \num[group-digits=false]{12345}


nombres et
grandeurs
criture des nombres
criture des angles Rsultat
criture des
grandeurs 12 345 et 12345
Tableaux de nombres
la frontire du si
Raffinements

Mise en forme
de listings
informatiques
criture des nombres : options
Exemples : nombres ngatifs

Confrence
LATEX no 4
Exemple
Denis Bitouz

Construction
Code source
de tableaux
1 \begin{itemize}
criture des
nombres et 2 \item \num{-3} et \num[negative-color=red]{-3}
grandeurs 3 \item \num{-3} et \num[negative-color=blue]{-3}
criture des nombres
criture des angles
4 \item \num{-4e3} et \num[negative-color=blue]{-4e3}
criture des
grandeurs
5 \item \num{4e-3} et \num[negative-color=blue]{4e-3}
Tableaux de nombres 6 \end{itemize}
la frontire du si
Raffinements

Mise en forme
de listings
Rsultat
informatiques
3 et 3
3 et 3
4 103 et 4 103
4 103 et 4 103
criture des nombres : options
Exemples : symbole de produit

Confrence
LATEX no 4
Exemple
Denis Bitouz

Construction Code source


de tableaux

criture des
1 \num{1e10} et \num[exponent-product=\cdot]{1e10}
nombres et
grandeurs
criture des nombres
criture des angles
Rsultat
criture des
grandeurs
Tableaux de nombres
1 1010 et 1 1010
la frontire du si
Raffinements

Mise en forme
de listings
informatiques
criture des nombres : options
Exemples : dcimales

Confrence
LATEX no 4
Exemple
Denis Bitouz

Construction
Code source
de tableaux
1 \sisetup{round-precision=2}
criture des
nombres et 2 \begin{itemize}
grandeurs 3 \item \num{1.234} et \num[round-mode=places]{1.234}
criture des nombres
criture des angles
4 \item \num{5.4} et \num[round-mode=places]{5.4}
criture des
grandeurs
5 \item \num{-1.234} et \num[round-mode=places]{-1.234}
Tableaux de nombres 6 \item \num{1.23(4)} et \num[round-mode=places]{1.23(4)}
la frontire du si
7 \end{itemize}
Raffinements

Mise en forme
de listings
informatiques Rsultat
1,234 et 1,23
5,4 et 5,40
1,234 et 1,23
1,23(4) et 1,23(4)
criture des nombres : options
Exemples : chiffres significatifs

Confrence
LATEX no 4
Exemple
Denis Bitouz

Construction
Code source
de tableaux
1 \sisetup{round-precision=2}
criture des
nombres et 2 \begin{itemize}
grandeurs 3 \item \num{1.234} et \num[round-mode=figures]{1.234}
criture des nombres
criture des angles
4 \item \num{5.4} et \num[round-mode=figures]{5.4}
criture des
grandeurs
5 \item \num{-1.234} et \num[round-mode=figures]{-1.234}
Tableaux de nombres 6 \item \num{1.23(4)} et \num[round-mode=figures]{1.23(4)}
la frontire du si
7 \end{itemize}
Raffinements

Mise en forme
de listings
informatiques Rsultat
1,234 et 1,2
5,4 et 5,4
1,234 et 1,2
1,23(4) et 1,23(4)
criture des nombres : options
Exemple : partie entire et mantisse implicites/explicites

Confrence
LATEX no 4
Exemple
Denis Bitouz

Construction Code source


de tableaux

criture des
1 \begin{itemize}
nombres et 2 \item \num{1.} et \num[add-decimal-zero=false]{1.}
grandeurs
criture des nombres 3 \item \num{.5} et \num[add-integer-zero=false]{.5}
criture des angles
criture des
4 \end{itemize}
grandeurs
Tableaux de nombres
la frontire du si
Raffinements Rsultat
Mise en forme
de listings
1,0 et 1,
informatiques
0,5 et ,5
criture des nombres : options
Exemple : signes implicites/explicites

Confrence
LATEX no 4
Exemple
Denis Bitouz

Construction Code source


de tableaux

criture des
1 \begin{itemize}
nombres et 2 \item \num{1} et \num[explicit-sign=+]{1}
grandeurs
criture des nombres 3 \item \num{1e10} et \num[explicit-sign=+]{1e10}
criture des angles
criture des
4 \end{itemize}
grandeurs
Tableaux de nombres
la frontire du si
Raffinements Rsultat
Mise en forme
de listings
1 et +1
informatiques
1 1010 et +1 1010
Plan

Confrence
LATEX no 4
1 Construction de tableaux
Denis Bitouz

Construction 2 criture des nombres et grandeurs


de tableaux

criture des
nombres et 3 Mise en forme de listings informatiques
grandeurs

Mise en forme
de listings
informatiques
Insertion de listings
Fragments de code
Fonctionnalits
diverses
Accents dans les
listings
Usage avanc
Packages

Confrence
LATEX no 4 Plusieurs packages sont possibles. Lun des plus aboutis est
Denis Bitouz listings 34
Construction
de tableaux Attention !
criture des
nombres et
Le package listings doit tre charg aprs le package babel
grandeurs

Mise en forme Remarque


de listings
informatiques Dans la suite, le package listings est suppos
Insertion de listings
Fragments de code systmatiquement charg 35
Fonctionnalits
diverses
Accents dans les
listings
Usage avanc
Code source
\usepackage{listings} % (!) Aprs babel

34. Dautres, tels que minted sont plus puissants, mais ne sont pas aussi
immdiats utiliser
35. Il est sera de mme du package xcolor, le cas chant
Package listings
Fonctionnalits principales

Confrence
LATEX no 4

Denis Bitouz
1 Mise en relief automatique des mots-cls, des
commentaires
Construction
de tableaux 2 Reconnaissance des chanes de caractres (strings)
criture des
nombres et
3 Possibilit de numrotation des lignes
grandeurs

Mise en forme
4 Possibilit de lgende et de cadre
de listings
informatiques
5 Nombreux langages et dialectes reconnus :
Insertion de listings
Fragments de code
orients math. : Gnuplot, Mathematica, MuPad, R, S, SAS
Fonctionnalits
diverses orients sciences : Matlab, octave, Scilab
Accents dans les
listings orients programmation : bash, C, C++, Fortran, Java,
Usage avanc
Pascal, Python, Perl, SQL, XML, etc.
gnralistes : LATEX, Ada, HTML, PHP, etc.
6 Personnalisation trs pousse
Ce que nous dtaillons maintenant

Confrence
LATEX no 4

Denis Bitouz
3 Mise en forme de listings informatiques
Insertion de listings
Construction
de tableaux
Insertion directe
Insertion par importation de fichier
criture des
nombres et Fragments de code
grandeurs
Fonctionnalits diverses
Mise en forme
de listings
Accents dans les listings
informatiques Usage avanc
Insertion de listings
Insertion directe
Importation de
fichier
Fragments de code
Fonctionnalits
diverses
Accents dans les
listings
Usage avanc
Ce que nous dtaillons maintenant

Confrence
LATEX no 4

Denis Bitouz
3 Mise en forme de listings informatiques
Insertion de listings
Construction
de tableaux
Insertion directe
Insertion par importation de fichier
criture des
nombres et Fragments de code
grandeurs
Fonctionnalits diverses
Mise en forme
de listings
Accents dans les listings
informatiques Usage avanc
Insertion de listings
Insertion directe
Importation de
fichier
Fragments de code
Fonctionnalits
diverses
Accents dans les
listings
Usage avanc
Insertion directe dun listing

Confrence
LATEX no 4 Insertion directe dun <listing informatique> au moyen
Denis Bitouz de lenvironnement lstlisting :
Construction
de tableaux Syntaxe (insertion directe dun listing)
\begin{lstlisting}[<options>]
criture des
nombres et
grandeurs
<listing informatique>
Mise en forme
de listings \end{lstlisting}
informatiques
Insertion de listings
Insertion directe
Importation de
fichier
Fragments de code
Fonctionnalits
diverses
Accents dans les
listings
Usage avanc
Insertion directe dun listing
Exemple

Confrence
LATEX no 4 Exemple
Denis Bitouz
Code source
Construction
de tableaux 1 \begin{lstlisting}[language=Python]
2 # Calcul de la factorielle
criture des 3 def factorielle(x):
nombres et 4 if x < 2:
grandeurs 5 return 1
6 else:
Mise en forme 7 return x * factorielle(x-1)
de listings 8 str(5) + "! = " + str(factorielle(5))
informatiques 9 \end{lstlisting}
Insertion de listings
Insertion directe
Importation de
fichier Rsultat
Fragments de code
Fonctionnalits # C a l c u l de l a f a c t o r i e l l e
diverses
Accents dans les
def f a c t o r i e l l e ( x ) :
listings
i f x < 2:
Usage avanc
return 1
else :
return x * f a c t o r i e l l e ( x 1)
s t r ( 5 ) + " ! = " + s t r ( f a c t o r i e l l e ( 5 ) )
noter

Confrence
LATEX no 4 On note que, automatiquement :
Denis Bitouz
les mots cls du langage ont t mis en gras
Construction
de tableaux les commentaires ont t mis en italique
criture des
nombres et
les espaces dans les chanes de caractres ont t mis
grandeurs en vidence
Mise en forme
de listings les caractres rservs de LATEX nont pas t
informatiques
Insertion de listings
interprts
Insertion directe
Importation de les retours la ligne ont t interprts tels quels
fichier
Fragments de code
Fonctionnalits
diverses
Accents dans les
listings
Usage avanc
Options

Confrence
LATEX no 4 Des <options> peuvent tre passs en argument optionnel
Denis Bitouz de lenvironnement lstlisting. Mais il est prfrable de les
Construction dclarer de faon (semi-)globale au moyen de la
de tableaux
commande :
criture des
nombres et
grandeurs Syntaxe
Mise en forme
de listings
\lstset{<options>}
informatiques
Insertion de listings
Insertion directe
Importation de
Ces <options> peuvent notamment spcifier :
fichier
Fragments de code le langage sous-jacent
Fonctionnalits
diverses la mise en forme :
Accents dans les
listings
Usage avanc
gnrale
des mots cls
des commentaires
des chanes de caractres
etc.
Options passes (semi-)globalement
Exemple

Confrence
LATEX no 4 Exemple
Denis Bitouz
Code source
Construction
de tableaux 1 \lstset{language=Python,basicstyle=\ttfamily}
2 \begin{lstlisting}
criture des 3 # Calcul de la factorielle
nombres et 4 def factorielle(x):
grandeurs 5 if x < 2:
6 return 1
Mise en forme 7 else:
de listings 8 return x * factorielle(x-1)
informatiques 9 str(5) + "! = " + str(factorielle(5))
Insertion de listings 10 \end{lstlisting}
Insertion directe
Importation de
fichier
Fragments de code Rsultat
Fonctionnalits
diverses
# Calcul de la factorielle
Accents dans les
listings def factorielle(x):
Usage avanc if x < 2:
return 1
else:
return x * factorielle(x-1)
str(5) + "! = " + str(factorielle(5))
Rglage minimum conseill

Confrence
LATEX no 4
Attention !
Denis Bitouz
Loption basicstyle=\ttfamily est trs fortement
Construction
de tableaux conseille
criture des
nombres et
grandeurs Dans la suite, on suppose systmatiquement charg
Mise en forme
de listings Code source
informatiques
Insertion de listings 1 \lstset{language=Python,basicstyle=\ttfamily}
Insertion directe
Importation de
fichier
Fragments de code Remarque
Fonctionnalits
diverses
Accents dans les
Dautres exemples de mise en forme sont vus plus loin
listings
Usage avanc
Ce que nous dtaillons maintenant

Confrence
LATEX no 4

Denis Bitouz
3 Mise en forme de listings informatiques
Insertion de listings
Construction
de tableaux
Insertion directe
Insertion par importation de fichier
criture des
nombres et Fragments de code
grandeurs
Fonctionnalits diverses
Mise en forme
de listings
Accents dans les listings
informatiques Usage avanc
Insertion de listings
Insertion directe
Importation de
fichier
Fragments de code
Fonctionnalits
diverses
Accents dans les
listings
Usage avanc
Insertion dun listing
Par importation dun fichier

Confrence
LATEX no 4 On peut aussi insrer un listing en :
stockant le code dans un <fichier annexe>
Denis Bitouz
1

Construction
de tableaux
2 important ce <fichier annexe>
criture des
nombres et
Limportation se fait au moyen de la commande 36 :
grandeurs

Mise en forme
Syntaxe
de listings
informatiques \lstinputlisting[<options>]{<fichier annexe>}
Insertion de listings
Insertion directe
Importation de
fichier Attention !
Fragments de code
Fonctionnalits
diverses
Mthode privilgier pour viter les soucis de maintenance
Accents dans les
listings
Usage avanc

36. Analogue la commande \input, mais spcialise dans limport de


listings informatiques
Exemple : importation dun fichier

Confrence
LATEX no 4 Supposons que le code Python prcdent soit enregistr
Denis Bitouz dans un fichier nomm facto.py. Alors, on peut utiliser :
Construction
de tableaux
Exemple
criture des
nombres et Code source
grandeurs

Mise en forme 1 \lstinputlisting{facto.py}


de listings
informatiques
Insertion de listings
Insertion directe Rsultat
Importation de
fichier
Fragments de code
# Calcul de la factorielle
Fonctionnalits
diverses def factorielle(x):
Accents dans les
listings if x < 2:
Usage avanc
return 1
else:
return x * factorielle(x-1)
str(5) + "! = " + str(factorielle(5))
Mise en forme (suite)
Exemple

Confrence
LATEX no 4
Exemple
Denis Bitouz

Construction
Code source
de tableaux
1 \lstset{keywordstyle=\color{magenta},
criture des
nombres et 2 keywordstyle=[2]\color{orange},
grandeurs
3 commentstyle=\color{gray}\itshape,
Mise en forme
de listings
4 stringstyle=\color{cyan}}
informatiques 5 \lstinputlisting{facto.py}
Insertion de listings
Insertion directe
Importation de
fichier
Fragments de code
Rsultat
Fonctionnalits
diverses # Calcul de la factorielle
Accents dans les
listings def factorielle(x):
Usage avanc
if x < 2:
return 1
else:
return x * factorielle(x-1)
str(5) + "! = " + str(factorielle(5))
Mise en forme (suite)
Commandes employer

Confrence
LATEX no 4
Attention !
Denis Bitouz
La mise en forme des diffrents lments dun listing se
Construction
de tableaux fait, pour chacun dentre eux, essentiellement par le biais
criture des de bascules
nombres et
grandeurs

Mise en forme
de listings
informatiques
Insertion de listings
Insertion directe
Importation de
fichier
Fragments de code
Fonctionnalits
diverses
Accents dans les
listings
Usage avanc
Ce que nous dtaillons maintenant

Confrence
LATEX no 4

Denis Bitouz
3 Mise en forme de listings informatiques
Insertion de listings
Construction
de tableaux Fragments de code
criture des
Fonctionnalits diverses
nombres et Accents dans les listings
grandeurs
Usage avanc
Mise en forme
de listings
informatiques
Insertion de listings
Fragments de code
Fonctionnalits
diverses
Accents dans les
listings
Usage avanc
Fragments de code dans du texte ordinaire

Confrence
LATEX no 4
Remarque
Denis Bitouz
Il peut tre utile de faire figurer dans du texte ordinaire des
Construction
de tableaux fragments de code (mis en forme)
criture des
nombres et
grandeurs Exemple
Mise en forme
de listings
informatiques
Rsultat
Insertion de listings
Fragments de code
Le mot cl def dfinit une fonction et le mot cl
Fonctionnalits
diverses
return retourne une valeur. Les commentaires sont
Accents dans les
listings introduits par le caractre #.
Usage avanc
Fragments de code dans du texte ordinaire

Confrence
LATEX no 4 Ceci peut se faire au moyen de la commande \lstinline :
Denis Bitouz
Syntaxe
Construction
de tableaux
\lstinline<caractre><frag. code><caractre>
criture des
nombres et
grandeurs
o le <fragment de code> est encadr par un <caractre>
Mise en forme
de listings quelconque mais :
informatiques
Insertion de listings unique
Fragments de code
Fonctionnalits
diverses
identique
Accents dans les
listings
absent du fragment
Usage avanc
diffrent des caractres rservs de TEX
Remarque
Des options peuvent tre spcifies :
\lstinline[<options>]<carac.><frag. code><carac.>
Fragments de code dans du texte ordinaire

Confrence
LATEX no 4
Exemple
Denis Bitouz

Construction Code source


de tableaux

criture des
1 Le mot cl \lstinline|def| dfinit une fonction et
nombres et 2 le mot cl \lstinline|return| retourne une valeur.
grandeurs
3 Les commentaires sont introduits par le caractre
Mise en forme
de listings 4 \lstinline|#|.
informatiques
Insertion de listings
Fragments de code
Fonctionnalits Rsultat
diverses
Accents dans les
listings
Le mot cl def dfinit une fonction et le mot cl
Usage avanc
return retourne une valeur. Les commentaires sont
introduits par le caractre #.
Fragments de code dans du texte ordinaire

Confrence
LATEX no 4
Exemple
Denis Bitouz

Construction Code source


de tableaux

criture des
1 Le mot cl \lstinline|def| dfinit une fonction et
nombres et 2 le mot cl \lstinline|return| retourne une valeur.
grandeurs
3 Les commentaires sont introduits par le caractre
Mise en forme
de listings 4 \lstinline[commentstyle={}]|#|.
informatiques
Insertion de listings
Fragments de code
Fonctionnalits Rsultat
diverses
Accents dans les
listings
Le mot cl def dfinit une fonction et le mot cl
Usage avanc
return retourne une valeur. Les commentaires sont
introduits par le caractre #.
Fragments de code dans du texte ordinaire
Caractre dlimiteur non fig

Confrence
LATEX no 4
Remarque
Denis Bitouz
Les caractres utiliss pour dlimiter le code peuvent varier
Construction
de tableaux

criture des Exemple


nombres et
grandeurs

Mise en forme
Code source
de listings
informatiques 1 Les mots cls \lstinline|return|,
Insertion de listings
Fragments de code
2 \lstinline+return+
Fonctionnalits
diverses 3 et \lstinline!return!
Accents dans les
listings 4 sont identiques.
Usage avanc

Rsultat
Les mots cls return, return et return sont
identiques.
Ce que nous dtaillons maintenant

Confrence
LATEX no 4

Denis Bitouz
3 Mise en forme de listings informatiques
Insertion de listings
Construction
de tableaux Fragments de code
criture des
Fonctionnalits diverses
nombres et Accents dans les listings
grandeurs
Usage avanc
Mise en forme
de listings
informatiques
Insertion de listings
Fragments de code
Fonctionnalits
diverses
Accents dans les
listings
Usage avanc
Exemple : numrotation et cadre

Confrence
LATEX no 4
Exemple
Denis Bitouz

Construction
Code source
de tableaux
1 \lstset{numbers=left,frame=single}
criture des
nombres et 2
grandeurs
3 Voici un listing encadr, joli.
Mise en forme
de listings
4 \lstinputlisting{facto.py}
informatiques
Insertion de listings
Fragments de code
Fonctionnalits
Rsultat
diverses
Accents dans les Voici un listing encadr, joli.
listings
1 # Calcul de la factorielle
Usage avanc
2 def factorielle(x):
3 if x < 2:
4 return 1
5 else:
6 return x * factorielle(x-1)
7 str(5) + "! = " + str(factorielle(5))
Exemple : cadre moins serr

Confrence
LATEX no 4
Exemple
Denis Bitouz

Construction
Code source
de tableaux
1 \lstset{numbers=left,frame=single,
criture des
nombres et 2 framesep=2pt,aboveskip=1ex}
grandeurs
3 Voici un listing encadr, encore plus joli.
Mise en forme
de listings
4 \lstinputlisting{facto.py}
informatiques
Insertion de listings
Fragments de code
Fonctionnalits
Rsultat
diverses
Accents dans les Voici un listing encadr, encore plus joli.
listings
Usage avanc 1 # Calcul de la factorielle
2 def factorielle(x):
3 if x < 2:
4 return 1
5 else:
6 return x * factorielle(x-1)
7 str(5) + "! = " + str(factorielle(5))
Exemple : extraction de portions de listings

Confrence
LATEX no 4
Exemple
Denis Bitouz

Construction Code source


de tableaux
1 \lstset{backgroundcolor=\color{cyan!50}}
criture des
nombres et 2 Examinons le code suivant:
grandeurs
3 \lstinputlisting[numbers=left]{facto.py}
Mise en forme 4 On y introduit une chane et un commentaire :
de listings
informatiques 5 \lstinputlisting[linerange={1-1}]{facto.py}
Insertion de listings
6 Puis on y dfinit une fonction :
Fragments de code
Fonctionnalits 7 \lstinputlisting[linerange={2-6}]{facto.py}
diverses
Accents dans les
listings
Usage avanc
Exemple : extraction de portions de listings
suite
Confrence
LATEX no 4 Exemple (suite)
Denis Bitouz
Rsultat
Construction
de tableaux Examinons le code suivant :
criture des 1 # Calcul de la factorielle
nombres et 2 def factorielle(x):
grandeurs
3 if x < 2:
Mise en forme
de listings 4 return 1
informatiques 5 else:
Insertion de listings
Fragments de code
6 return x * factorielle(x-1)
Fonctionnalits 7 str(5) + "! = " + str(factorielle(5))
diverses
Accents dans les On y introduit une chane et un commentaire :
listings
Usage avanc
# Calcul de la factorielle
Puis on y dfinit une fonction :
def factorielle(x):
if x < 2:
return 1
else:
return x * factorielle(x-1)
Ce que nous dtaillons maintenant

Confrence
LATEX no 4

Denis Bitouz
3 Mise en forme de listings informatiques
Insertion de listings
Construction
de tableaux Fragments de code
criture des
Fonctionnalits diverses
nombres et Accents dans les listings
grandeurs
Usage avanc
Mise en forme
de listings
informatiques
Insertion de listings
Fragments de code
Fonctionnalits
diverses
Accents dans les
listings
Usage avanc
Caractres accentus dans les listings

Confrence
LATEX no 4
Exemple
Denis Bitouz

Construction Code source


de tableaux

criture des 1 \begin{lstlisting}


nombres et
grandeurs 2 # Calcul de la factorielle par rcursivit
Mise en forme 3 def factorielle(x):
de listings
informatiques 4 if x < 2:
Insertion de listings
Fragments de code
5 return 1
Fonctionnalits
diverses
6 else:
Accents dans les
listings 7 return x * factorielle(x-1)
Usage avanc
8 str(5) + "! = " + str(factorielle(5))
9 \end{lstlisting}

Les listings doivent parfois comporter des caractres


accentus, notamment dans les commentaires
Caractres accentus dans les listings
UTF-8 : attention ! Prcautions prendre

Confrence
LATEX no 4
Attention !
Denis Bitouz
Pour des listings comportant des caractres accentus
Construction
de tableaux avec un codage dentre en UTF-8, il est ncessaire de 37 :
criture des
nombres et
1 remplacer le package listings par listingsutf8
grandeurs
2 spcifier loption inputencoding=utf8/latin1
Mise en forme
de listings
informatiques
3 uniquement recourir limportation de listings via
Insertion de listings \lstinputlisting 38
Fragments de code
Fonctionnalits
diverses
Accents dans les
listings
Usage avanc

37. Avec LATEX et PDFLATEX


38. Ni la commande \lstinline, ni lenvironnement lstlisting ne
peuvent tre utiliss
Caractres accentus dans les listings
UTF-8 : attention ! Prcautions prendre (rsum)

Confrence
LATEX no 4
Syntaxe
Denis Bitouz

Construction \usepackage{listingsutf8}
de tableaux
\lstset{%
criture des
nombres et inputencoding=utf8/latin1,
grandeurs
<autres options>
Mise en forme
de listings }
informatiques

\lstinputlisting{<nom du fichier avec accents>}


Insertion de listings
Fragments de code
Fonctionnalits
diverses
Accents dans les
listings
Usage avanc
Ce que nous dtaillons maintenant

Confrence
LATEX no 4

Denis Bitouz
3 Mise en forme de listings informatiques
Insertion de listings
Construction
de tableaux Fragments de code
criture des
Fonctionnalits diverses
nombres et Accents dans les listings
grandeurs
Usage avanc
Mise en forme
de listings
informatiques
Insertion de listings
Fragments de code
Fonctionnalits
diverses
Accents dans les
listings
Usage avanc
Fragments de code dans du texte ordinaire
Raccourcis \lstinline

Confrence
LATEX no 4
Remarque
Denis Bitouz
On peut spargner la saisie systmatique de \lstinline
Construction
de tableaux en ne saisissant que le caractre dlimiteur de code
criture des
nombres et
grandeurs Pour cela, on choisit un caractre quon active au moyen
Mise en forme
de listings
de la commande \lstMakeShortInline
informatiques
Insertion de listings Syntaxe
Fragments de code
Fonctionnalits
diverses \lstMakeShortInline[<options>]<caractre>
Accents dans les
listings
Usage avanc

On peut alors insrer des fragments de code au moyen de


Syntaxe
<caractre><fragment de code><mme caractre>
Fragments de code dans du texte ordinaire
Raccourcis \lstinline

Confrence
LATEX no 4
Exemple
Denis Bitouz

Construction Code source


de tableaux

criture des 1 \lstMakeShortInline|


nombres et
grandeurs 2 Le mot cl |def| dfinit une fonction.
Mise en forme
de listings
informatiques Rsultat
Insertion de listings
Fragments de code Le mot cl def dfinit une fonction.
Fonctionnalits
diverses
Accents dans les
listings
Usage avanc
Fragments de code dans du texte ordinaire
Raccourcis \lstinline : dsactivation possible

Confrence
LATEX no 4
Attention !
Denis Bitouz
Selon, le caractre choisi, il peut y avoir des
Construction
de tableaux incompatibilits avec certaines commandes !
criture des
nombres et
grandeurs Remarque
Mise en forme Au besoin, on peut dsactiver le caractre au moyen de
de listings
informatiques la commande \lstDeleteShortInline
Insertion de listings
Fragments de code
Fonctionnalits
diverses Syntaxe
Accents dans les

\lstDeleteShortInline<caractre>
listings
Usage avanc
Fragments de code dans du texte ordinaire
(Ds)Activation de raccourcis \lstinline : exemple

Confrence
LATEX no 4
Exemple
Denis Bitouz

Construction Code source


de tableaux
1 \lstMakeShortInline|
criture des 2 \begin{itemize}
nombres et 3 \item Le mot cl |def| dfinit une fonction.
grandeurs 4 \item\lstDeleteShortInline| Le caractre | nest plus actif : |def|.
5 \item\lstMakeShortInline! Le mot cl !def! dfinit une fonction.
Mise en forme 6 \end{itemize}
de listings
informatiques
Insertion de listings
Fragments de code Rsultat
Fonctionnalits
diverses
Accents dans les
Le mot cl def dfinit une fonction.
listings
Usage avanc Le caractre | nest plus actif : |def|.
Le mot cl def dfinit une fonction.
Exemple : quelques fonctionnalits
tel que visualis habituellement

Confrence
LATEX no 4
Code source
Denis Bitouz
\usepackage{graphicx,xcolor,listings}
Construction \everymath{\color{blue}}
de tableaux \lstset{language=C++,basicstyle=\ttfamily,keywordstyle=\color{magenta},
commentstyle=\color{gray},
criture des frame=tb,
nombres et framerule=0.7pt,
grandeurs rulecolor=\color{green},
escapeinside=~~,
Mise en forme mathescape=true}
de listings
informatiques
1 \begin{lstlisting}[caption=Calcul de la factorielle,label=facto]
Insertion de listings
2 double fact(int n)
Fragments de code 3 {
Fonctionnalits 4 double f = 1;
diverses
5 while (n >= 1) f *= n--;
Accents dans les
listings 6 return f;
Usage avanc
7 }
8 // OK, mais comment calculer la factorielle de, par exemple, $\frac{2}{3}$ ?
9 // Pour ce faire, on dispose heureusement de la fonction
10 // $\Gamma:z\mapsto\int_0^{+\infty}t^{z-1}\,e^{-t}\,\mathrm{d}t$.
11 // Mais ma parole, il y a un
12 // ~\par\centering\includegraphics[height=2cm]{tiger}\par~
13 // dans ce listing !
14 // ~\rmfamily\fbox{Coucou les amis, je suis dans \LaTeX{}!}~
15 \end{lstlisting}
16 Le listing~\ref{facto} est instructif.
Listing 1 Calcul de la factorielle
double fact ( int n )
{
double f = 1;
while ( n >= 1) f *= n - -;
return f ;
}
2
// OK , mais comment calculer la factorielle de , par exemple , 3
?
// Pour ce faire , on dispose heureusement de la fonction
R
// : z 7 0+ tz1 et dt.
// Mais ma parole , il y a un
//

// dans ce listing !
// Coucou les amis, je suis dans LATEX !

Le listing 1 est instructif.

Vous aimerez peut-être aussi