Documentation avanc´ee en LATEX - Page web de Bakir...
Transcript of Documentation avanc´ee en LATEX - Page web de Bakir...
![Page 1: Documentation avanc´ee en LATEX - Page web de Bakir FARHIfarhi.bakir.free.fr/index_fichiers/BakirLatex.pdf · 1.1.4 Les marges, l’espace en haut de page et l’espace en bas de](https://reader033.fdocuments.in/reader033/viewer/2022050102/5f4189f7e31df7144e7664c0/html5/thumbnails/1.jpg)
Documentation avancee en LATEX
Departement de MathematiquesUniversite A. Mira de BejaiaAlgerie.
![Page 2: Documentation avanc´ee en LATEX - Page web de Bakir FARHIfarhi.bakir.free.fr/index_fichiers/BakirLatex.pdf · 1.1.4 Les marges, l’espace en haut de page et l’espace en bas de](https://reader033.fdocuments.in/reader033/viewer/2022050102/5f4189f7e31df7144e7664c0/html5/thumbnails/2.jpg)
TABLE DES MATIERES
1 Structure generale d’un document LATEX 1
1.1 Gestion des differents espacements a l’interieur d’un document LATEX . . . . . . . . 1
1.1.1 L’indentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1.2 L’espace interparagraphe . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1.3 L’espace interligne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1.4 Les marges, l’espace en haut de page et l’espace en bas de page . . . . . . . 3
1.2 Mettre des traits horizontaux a l’interieur d’un document LATEX . . . . . . . . . . . 3
1.2.1 Un trait horizontal simple . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2.2 Un trait horizontal d’une certaine largeur et d’une certaine epaisseur . . . . . 4
1.2.3 Un trait horizontal completant une ligne de texte . . . . . . . . . . . . . . . 4
1.2.4 Un trait horizontal centre ou mis a droite . . . . . . . . . . . . . . . . . . . 4
1.2.5 Un trait horizontal de couleur . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.3 Ecrire un document ou une partie d’un document LATEX sur plusieurs colonnes . . . . 5
1.3.1 Ecrire un texte LATEX sur deux colonnes, remplies l’une apres l’autre . . . . . 5
1.3.2 Ecrire un texte LATEX sur plusieurs colonnes, remplies equitablement . . . . . 7
1.4 Creer des en-tetes et des pieds de page personnalises . . . . . . . . . . . . . . . . . 9
1.4.1 Le fonctionnement par defaut du style de page fancy . . . . . . . . . . . . . 9
1.4.2 Modification du style de page fancy pour creer ses propres en-tetes et piedsde page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2 Les notes en bas de page 20
2.1 Les types de numerotations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.1.1 Numerotation en chiffres romains . . . . . . . . . . . . . . . . . . . . . . . 20
2.1.2 Numerotation en lettres latines . . . . . . . . . . . . . . . . . . . . . . . . 20
2.1.3 Numerotations a l’aide de symboles (autres les chiffres et les lettres) . . . . 20
2.2 Comment forcer une footnote a prendre un numero voulu . . . . . . . . . . . . . . 21
2.3 Comment faire une footnote a l’interieur de certains environnements . . . . . . . . . 21
i
![Page 3: Documentation avanc´ee en LATEX - Page web de Bakir FARHIfarhi.bakir.free.fr/index_fichiers/BakirLatex.pdf · 1.1.4 Les marges, l’espace en haut de page et l’espace en bas de](https://reader033.fdocuments.in/reader033/viewer/2022050102/5f4189f7e31df7144e7664c0/html5/thumbnails/3.jpg)
3 Latex Mathematique 23
3.1 Les equations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.1.1 Equations courtes et moyennes . . . . . . . . . . . . . . . . . . . . . . . . 23
3.1.2 Equations longues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.1.3 Serie d’equations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.1.4 Equations numerotees par une numerotation de notre choix . . . . . . . . . 25
4 Les couleurs 26
4.1 Les couleurs predefinies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
4.2 Couleurs personnelles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
4.3 Pour une liste exhaustive de couleurs . . . . . . . . . . . . . . . . . . . . . . . . . 29
4.4 Comment utiliser rapidement avec WinEdt une couleur : . . . . . . . . . . . . . . . 29
4.5 Les couleurs generees par l’option dvipsnames du package xcolor . . . . . . . . . . . 30
5 Les boites 31
5.1 Comment fabriquer des boites sans package particulier . . . . . . . . . . . . . . . . 31
5.1.1 Boites contenant un texte d’une ligne . . . . . . . . . . . . . . . . . . . . . 31
5.1.2 Boites contenant un paragraphe . . . . . . . . . . . . . . . . . . . . . . . . 32
5.2 Boites avec le package fancybox . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
5.2.1 Boites contenant un texte d’une ligne . . . . . . . . . . . . . . . . . . . . . 33
5.2.2 Boites contenant un paragraphe . . . . . . . . . . . . . . . . . . . . . . . . 33
5.3 Boites de couleurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
5.4 Boites a titre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
5.5 Utilisation des boites pour empecher certaines cesures LATEX . . . . . . . . . . . . . 37
5.6 Le package framed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
5.6.1 Les differents environnements du package framed . . . . . . . . . . . . . . . 38
5.6.2 Comment redefinir l’environnement leftbar . . . . . . . . . . . . . . . . . . 40
6 Les figures 43
6.1 Elements de base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
6.2 Comment modifier la taille d’une figure a inserer . . . . . . . . . . . . . . . . . . . 45
6.3 Comment mettre sa figure dans un cadre . . . . . . . . . . . . . . . . . . . . . . . 45
6.4 Insertion de figures d’extension autre que eps . . . . . . . . . . . . . . . . . . . . . 46
6.5 Insertion de plusieurs figures cote a cote . . . . . . . . . . . . . . . . . . . . . . . 47
7 Dessiner en utilisant le package PSTricks 51
7.1 Codes de base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
7.2 Lignes, vecteurs et lignes brises . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
7.3 Polygones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
ii
![Page 4: Documentation avanc´ee en LATEX - Page web de Bakir FARHIfarhi.bakir.free.fr/index_fichiers/BakirLatex.pdf · 1.1.4 Les marges, l’espace en haut de page et l’espace en bas de](https://reader033.fdocuments.in/reader033/viewer/2022050102/5f4189f7e31df7144e7664c0/html5/thumbnails/4.jpg)
7.4 Cercles, arcs de cercles et ellipses . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
7.5 Axes de coordonnees . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
7.6 Courbes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
7.6.1 Courbes d’interpolation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
7.6.2 Courbes definies comme graphe d’une fonction . . . . . . . . . . . . . . . . 58
7.6.3 Courbes parametrees . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
7.7 Tangentes a une courbe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
7.7.1 Cas d’une courbe d’interpolation . . . . . . . . . . . . . . . . . . . . . . . 60
7.7.2 Cas d’une courbe definie comme graphe d’une fonction . . . . . . . . . . . . 60
7.7.3 Cas d’une courbe parametree . . . . . . . . . . . . . . . . . . . . . . . . . 61
8 Commandes et environnements 63
8.1 La commande let . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
8.2 La commande def . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
8.3 La commande DeclareMathOperator* . . . . . . . . . . . . . . . . . . . . . . . . . 65
8.4 La commande newcommand . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
iii
![Page 5: Documentation avanc´ee en LATEX - Page web de Bakir FARHIfarhi.bakir.free.fr/index_fichiers/BakirLatex.pdf · 1.1.4 Les marges, l’espace en haut de page et l’espace en bas de](https://reader033.fdocuments.in/reader033/viewer/2022050102/5f4189f7e31df7144e7664c0/html5/thumbnails/5.jpg)
CHAPITRE 1
STRUCTURE GENERALE D’UN DOCUMENT LATEX
1.1 Gestion des differents espacements a l’interieur d’un do-
cument LATEX
En LATEX, les differents espaces specifiques d’un document (marges, indentation, espace inter-ligne, . . . etc) sont fixes par defaut. Cependant, ces espaces pourraient etre modifies a n’importequel endroit du document. Nous donnons dans ce qui suit les codes permettant de modifier cesespaces.
1.1.1 L’indentation
Pour modifier l’indentation d’un document LATEX, a partir d’un certain endroit, on utilise lecode : \parindent=indentation voulue, ou bien le code :
\setlength{\parindent}{indentation voulue}
Exemple : Le code :
\parindent=2cm
\par Les quaternions furent decouverts en 1843 par le mathematicien irlandais
William Rowan Hamilton (1805-1865).
donne :
Les quaternions furent decouverts en 1843 par le mathematicien irlandais William RowanHamilton (1805-1865).
N.B : Le code \par signale que le texte qui le suit est un nouveau paragraphe. Sinon, il est bienconnu qu’en LATEX, un espace vertical est interprete comme un passage a un nouveau paragraphe.Si l’on desire laisser un espace vertical dans notre document LATEX(pour l’aerer par exemple) sanspour autant passer a un nouveau paragraphe dans le document visualise, on utilise la commande\noindent qu’on mettra au debut du texte que l’on ne desire pas indenter.Notons par ailleurs que l’indentation par defaut d’un document LATEX est d’environ 6 mm.
1
![Page 6: Documentation avanc´ee en LATEX - Page web de Bakir FARHIfarhi.bakir.free.fr/index_fichiers/BakirLatex.pdf · 1.1.4 Les marges, l’espace en haut de page et l’espace en bas de](https://reader033.fdocuments.in/reader033/viewer/2022050102/5f4189f7e31df7144e7664c0/html5/thumbnails/6.jpg)
Bakir FARHI CHAPITRE 1. STRUCTURE GENERALE D’UN DOCUMENT LATEX
1.1.2 L’espace interparagraphe
Si l’on desire modifier l’espace vertical se trouvant entre deux paragraphes consecutifs d’undocument LATEX, on utilise le code \parskip=espace voulu ou le code :
\setlength{\parskip}{espace voulu}
que l’on mettra a l’endroit a partir duquel on souhaite modifier l’espace interparagraphe.
Exemple : Le code :
\parskip=1.5cm
\par Les quaternions furent decouverts en 1843 par le mathematicien irlandais
William Rowan Hamilton (1805-1865).
\par En faisant des calculs avec les nombres complexes, il s’interessa a
l’interpretation geometrique de l’addition et de la multiplication dans le
plan (a 2 dimensions). Il se demanda, si avec des nombres hypercomplexes, on
ne pourrait pas obtenir des resultats analogues dans l’espace (a 3 dimensions).
donne :
Les quaternions furent decouverts en 1843 par le mathematicien irlandais William Rowan Hamil-ton (1805-1865).
En faisant des calculs avec les nombres complexes, il s’interessa a l’interpretation geometrique del’addition et de la multiplication dans le plan (a 2 dimensions). Il se demanda, si avec des nombreshypercomplexes, on ne pourrait pas obtenir des resultats analogues dans l’espace (a 3 dimensions).
N.B : L’espace interparagraphe par defaut d’un document LATEX est d’environ 1 pt.
1.1.3 L’espace interligne
Si l’on desire modifier l’espace interligne d’un document LATEX, c’est-a-dire l’espace verticalseparant deux lignes consecutives, on utilise le code : \baselineskip=espace voulu, ou le code :
\setlength{\baselineskip}{espace voulu}
que l’on mettra a l’endroit a partir duquel on souhaite modifier l’espace interligne.
Exemple : Le code :
\baselineskip=7mm
\par Durant de nombreuses annees, Hamilton avait espere trouver une forme de
multiplication satisfaisante pour les triplets de nombres reels avec de bonnes
proprietes. Ses recherches sont bien decrites par la celebre anecdote avec son
fils. Peu de temps avant sa mort, il ecrivit a son fils: \og{}Tous les matins,
alors que tu descendais pour prendre le petit dejeuner, tu me demandais:
Eh bien papa, est ce que tu peux multiplier les triplets? J’etais toujours
oblige de repondre, avec un triste hochement de tete: ‘‘Non, je peux
seulement les additionner et les soustraire’’\fg{}. \\
Finalement, Hamilton a eu l’idee geniale de passer a une dimension de plus.
Il ecrivit: ‘‘Ainsi naquit l’idee en moi d’admettre une quatrieme dimension
pour calculer avec les triplets’’. Il aboutit aux quaternions.
2 c© http://farhi.bakir.free.fr/
![Page 7: Documentation avanc´ee en LATEX - Page web de Bakir FARHIfarhi.bakir.free.fr/index_fichiers/BakirLatex.pdf · 1.1.4 Les marges, l’espace en haut de page et l’espace en bas de](https://reader033.fdocuments.in/reader033/viewer/2022050102/5f4189f7e31df7144e7664c0/html5/thumbnails/7.jpg)
Bakir FARHI CHAPITRE 1. STRUCTURE GENERALE D’UN DOCUMENT LATEX
donne :
Durant de nombreuses annees, Hamilton avait espere trouver une forme de multiplication sa-
tisfaisante pour les triplets de nombres reels avec de bonnes proprietes. Ses recherches sont bien
decrites par la celebre anecdote avec son fils. Peu de temps avant sa mort, il ecrivit a son fils :
≪ Tous les matins, alors que tu descendais pour prendre le petit dejeuner, tu me demandais : Eh
bien papa, est ce que tu peux multiplier les triplets ? J’etais toujours oblige de repondre, avec un
triste hochement de tete : “Non, je peux seulement les additionner et les soustraire ≫.
Finalement, Hamilton a eu l’idee geniale de passer a une dimension de plus. Il ecrivit : “Ainsi naquit
l’idee en moi d’admettre une quatrieme dimension pour calculer avec les triplets”. Il aboutit aux
quaternions.
N.B : L’espace interligne par defaut d’un document LATEX est environ 5 mm.
1.1.4 Les marges, l’espace en haut de page et l’espace en bas de page
Pour modifier les marges et les espaces en haut et en bas de page d’un document LATEX, onutilise le package geometry qu’on chargera a l’en-tete du document. Si l’on souhaite par exempleque notre document ait comme espace en haut de page h, comme espace en bas de page b, commemarge de gauche g et comme marge de droite d, on mettra a son en-tete le code :
\usepackage[top=h,bottom=b,left=g,right=d]{geometry}
Lorsque les marges de gauche et de droite souhaitees ont la meme mesure m (ce qui est souvent lecas), on pourra simplifier ce code en :
\usepackage[top=h,bottom=b,margin=m]{geometry}
Exemple : Le code :
\usepackage[top=1.5cm,bottom=1cm,margin=2cm]{geometry}
permet d’avoir sur notre document, un espace de haut de page de 1,5 cm, un espace de bas de pagede 1 cm et une marge de 2 cm (que ce soit la marge de gauche ou celle de droite).
1.2 Mettre des traits horizontaux a l’interieur d’un document
LATEX
Quand on redige des documents LATEX d’un certain type (CV, sujet d’examen, serie de TD,. . . etc), on aura souvent besoin de mettre, dans certains endroits, des traits horizontaux (commepar exemple mettre un titre entre deux traits horizontaux ou mettre un demi-trait horizontal pourmarquer la fin du document ou de l’une de ses parties). Dans cette section, on donnera les codespermettant de generer les differents types de traits horizontaux.
1.2.1 Un trait horizontal simple
En LATEX, pour generer un trait horizontal simple, on utilise le code : \hrule. Ce code donnececi :
3 c© http://farhi.bakir.free.fr/
![Page 8: Documentation avanc´ee en LATEX - Page web de Bakir FARHIfarhi.bakir.free.fr/index_fichiers/BakirLatex.pdf · 1.1.4 Les marges, l’espace en haut de page et l’espace en bas de](https://reader033.fdocuments.in/reader033/viewer/2022050102/5f4189f7e31df7144e7664c0/html5/thumbnails/8.jpg)
Bakir FARHI CHAPITRE 1. STRUCTURE GENERALE D’UN DOCUMENT LATEX
1.2.2 Un trait horizontal d’une certaine largeur et d’une certaine epaisseur
• Pour generer un trait horizontal d’une largeur ℓ, on utilise le code :
\hrule width ℓ
Par exemple, le code :
\hrule width 5cm
donne :
• Pour generer un trait horizontal d’une epaisseur (c’est-a-dire hauteur) e, on utilise le code :
\hrule height e
Par exemple, le code :
\hrule height 1pt
donne :
• Pour generer un trait horizontal d’une largeur ℓ et d’une epaisseur e, on utilise le code :
\hrule width ℓ height e
Par exemple, le code :
\hrule width 4cm height 2pt
donne :
1.2.3 Un trait horizontal completant une ligne de texte
• Pour completer une ligne de texte (lorsqu’elle est incomplete bien sur) par un trait horizontal, onutilise le code : \hrulefill. Par exemple, le code :
C’est genial la programmation en VBA \hrulefill
donne :
C’est genial la programmation en VBA
• Pour completer une ligne de texte (lorsqu’elle est incomplete bien sur) par des points de suspension,on utilise le code \dotfill. Par exemple, le code :
C’est genial la programmation en VBA \dotfill
donne :
C’est genial la programmation en VBA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2.4 Un trait horizontal centre ou mis a droite
• Pour generer un trait horizontal centre (par exemple de largeur 1/3 de la largeur d’une ligne detexte), on utilise le code :
\hspace*{0.33\textwidth} \hrulefill \hspace*{0.33\textwidth}
(apres un retour a la ligne). Ce qui donne ceci :
• Pour generer un trait horizontal mis a droite (par exemple de largeur 1/3 de la largeur d’une lignede texte), on utilise le code :
\hspace*{0.66\textwidth} \hrulefill
(apres un retour a la ligne). Ce qui donne ceci :
4 c© http://farhi.bakir.free.fr/
![Page 9: Documentation avanc´ee en LATEX - Page web de Bakir FARHIfarhi.bakir.free.fr/index_fichiers/BakirLatex.pdf · 1.1.4 Les marges, l’espace en haut de page et l’espace en bas de](https://reader033.fdocuments.in/reader033/viewer/2022050102/5f4189f7e31df7144e7664c0/html5/thumbnails/9.jpg)
Bakir FARHI CHAPITRE 1. STRUCTURE GENERALE D’UN DOCUMENT LATEX
1.2.5 Un trait horizontal de couleur
Pour generer un trait horizontal de couleur, il suffit d’utiliser le code :
{\color{la couleur voulue} \hrule ...}
(N’oubliez pas de charger l’un des deux packages color ou xcolor au preambule du document).
Par exemple, pour generer un trait horizontal de couleur magenta, de largeur 8 cm et d’epaisseur 1pt, on tape le code :
{\color{magenta} \hrule width 8cm height 1pt}
Ce qui donne :
1.3 Ecrire un document ou une partie d’un document LATEX
sur plusieurs colonnes
1.3.1 Ecrire un texte LATEX sur deux colonnes, remplies l’une apres l’autre
Presenter un document LATEX en entier sur deux colonnes
Pour ecrire un document LATEX en entier sur deux colonnes qui vont etre remplies l’une apresl’autre, il suffit d’integrer l’option twocolumn dans la classe du document en question. On taperapar exemple au preambule du document :
\documentclass[twocolumn]{article}
ou encore :
\documentclass[a4paper,twocolumn,12pt]{article}
. . . etc.
Il est a noter qu’avec cette option, les deux colonnes de chaque page du document seront rempliesl’une apres l’autre. Autrement dit, le remplissage des colonnes n’est pas equiparti. On peut ainsiavoir, dans une meme page, la colonne de gauche beaucoup plus remplie (en texte) que la colonnede droite. Plus loin, on verra comment faudrait-il proceder pour obtenir un remplissage equiparti decolonnes.
Presenter une partie d’un document LATEX sur deux colonnes
Pour agir localement, c’est-a-dire ecrire seulement une partie d’un document LATEX sur deuxcolonnes (remplies l’une apres l’autre), il n’est pas necessaire d’integrer l’option twocolumn a laclasse du document mais il suffit simplement de taper la commande \twocolumn juste avant letexte que l’on souhaite presenter sur deux colonnes. Une autre alternative consiste a taper plutot :
\twocolumn{Le texte que l’on souhaite presenter sur deux colonnes}
ou encore :
\begin{twocolumn}
Le texte que l’on souhaite presenter sur deux colonnes
\end{twocolumn}
Si l’on desire presenter un texte sur deux colonnes (remplies l’une apres l’autre) mais avec un titrequi tient sur une seule colonne, on tapera :
5 c© http://farhi.bakir.free.fr/
![Page 10: Documentation avanc´ee en LATEX - Page web de Bakir FARHIfarhi.bakir.free.fr/index_fichiers/BakirLatex.pdf · 1.1.4 Les marges, l’espace en haut de page et l’espace en bas de](https://reader033.fdocuments.in/reader033/viewer/2022050102/5f4189f7e31df7144e7664c0/html5/thumbnails/10.jpg)
Bakir FARHI CHAPITRE 1. STRUCTURE GENERALE D’UN DOCUMENT LATEX
\twocolumn[Le titre sur une colonne]{Le texte sur deux colonnes}
ou encore :
\begin{twocolumn}[Le titre sur une colonne]
Le texte sur deux colonnes
\end{twocolumn}
Ainsi, le code :
\twocolumn[\section{Le titre de votre section}]{Le texte de votre section}
mettra le titre de votre section sur une seule colonne et son texte sur deux colonnes (remplies l’uneapres l’autre). Il en est de meme pour le code :
\begin{twocolumn}[\section{Le titre de votre section}]
Le texte de votre section
\end{twocolumn}
Remarque : L’environnement twocolumn nous offre une meilleur lisibilite du texte source (fichiertex) mais a part cela, il n’a aucun autre interet.
Presenter certaines parties d’un document LATEX sur une colonne et d’autres parties surdeux colonnes
Si l’on souhaite maintenant presenter certaines parties d’un document LATEX sur une colonneet d’autres parties sur deux colonnes (remplies l’une apres l’autre), on utilisera les commandes :\onecolumn et \twocolumn. On ecrira par exemple :
\twocolumn Un texte sur deux colonnes
\onecolumn Un autre texte sur une colonne
\twocolumn Un autre texte sur deux colonnes...
etc
Le grand inconvenient de ces deux commandes \onecolumn et \twocolumn reside dans le fait qu’achaque fois que l’une d’elle est utilisee, elle entraıne automatiquement un changement de page. Ama connaissance, cet inconvenient de taille est incontournable !
Remarque importante : Si l’on souhaite presenter un document LATEX entierement sur deux co-lonnes, il est nettement preferable d’integrer l’option twocolumn a la classe du document que d’uti-liser la commande \twocolumn au debut du document. En effet, la commande \twocolumn esttellement fragile qu’elle pourrait entraıner des anomalies comme la suivante : ≪ certaines lignes dela colonne gauche arrivent a toucher les lignes d’en face de la colonne droite d’une meme page dudocument ≫.
Mettre un trait vertical pour separer les colonnes d’un texte LATEX presente sur deuxcolonnes
Pour faire apparaıtre un trait vertical separant les deux colonnes d’un texte LATEX (ecrit sur deuxcolonnes), on devra taper, juste avant le texte en question, le code :
\columnseprule=epaisseur voulue pour le trait vertical
ou le code :
\setlength{\columnseprule}{epaisseur voulue pour le trait vertical}
6 c© http://farhi.bakir.free.fr/
![Page 11: Documentation avanc´ee en LATEX - Page web de Bakir FARHIfarhi.bakir.free.fr/index_fichiers/BakirLatex.pdf · 1.1.4 Les marges, l’espace en haut de page et l’espace en bas de](https://reader033.fdocuments.in/reader033/viewer/2022050102/5f4189f7e31df7144e7664c0/html5/thumbnails/11.jpg)
Bakir FARHI CHAPITRE 1. STRUCTURE GENERALE D’UN DOCUMENT LATEX
Par exemple, le code :
\columnseprule=0.1pt
\twocolumn Il etait une fois ...
mettra notre texte ≪ Il etait une fois . . . ≫ sur deux colonnes qu’il separe avec un trait verticald’epaisseur 0,1 pt (un trait fin).
N.B : Lorsqu’un document LATEX est entierement ecrit sur deux colonnes (via l’option twocolumn,integree a la classe du document), il suffit de mettre le code \columnseprule=epaisseur voulue
juste apres \begin{document} pour separer les deux colonnes de chaque page du document parun trait vertical d’une epaisseur voulue.
Forcer le passage a une nouvelle colonne ou a une nouvelle page
Supposons donnee une partie d’un document LATEX ecrite sur deux colonnes.Alors, pour forcer le passage a une nouvelle colonne a un endroit voulu, il suffit de taper a cetendroit le code \newpage. Noter que ce code est habituellement reserve pour forcer le passagea une nouvelle page, mais seulement dans ce cas (d’un texte ecrit sur deux colonnes), il force lepassage a une nouvelle colonne plutot qu’a une nouvelle page.Ainsi, en etant sur une colonne de gauche, pour forcer le passage a une nouvelle page, on doit taperle code \newpage~\newpage (et non pas \newpage ou \newpage\newpage).
1.3.2 Ecrire un texte LATEX sur plusieurs colonnes, remplies equitablement
Le package multicol (qu’on chargera au preambule d’un document LATEX via la commande\usepackage{multicol}) definit l’environnement multicols qui permet de presenter une partied’un document LATEX sur plusieurs colonnes (10 colonnes au maximum). On tapera par exemple :
\begin{multicols}{3}
Il etait une fois ...
\end{multicols}
pour presenter notre texte ≪ Il etait une fois . . . ≫ sur 3 colonnes, remplies equitablement.
L’importance de cet environnement est qu’il repartit le texte qu’il detient equitablement sur toutesles colonnes, et ceci meme lorsque la page contenant le texte en question n’est pas completementremplie.
L’environnement multicols nous permet egalement d’obtenir un texte reparti equitablement surplusieurs colonnes avec un titre ecrit sur une colonne. Pour ce faire, on utilise le code :
\begin{multicols}{Nombre de colonnes voulu}[Le titre sur une colonne]
Notre texte
\end{multicols}
Bien entendu, le titre en question pourrait etre une section, une sous-section, . . . etc.
Pour information, c’est l’environnement multicols qu’on utilise pour rediger (en LATEX) les articlesde journaux.
Enfin, pour ecrire une partie d’un document LATEX sur un nombre n de colonnes (1 ≤ n ≤ 10),remplies equitablement, et faire apparaıtre des traits verticaux d’epaisseur e separant chaque deuxcolonnes consecutives, on devrait taper (juste avant l’environnement multicols) l’un des deux codesequivalents :
\columnseprule=e
7 c© http://farhi.bakir.free.fr/
![Page 12: Documentation avanc´ee en LATEX - Page web de Bakir FARHIfarhi.bakir.free.fr/index_fichiers/BakirLatex.pdf · 1.1.4 Les marges, l’espace en haut de page et l’espace en bas de](https://reader033.fdocuments.in/reader033/viewer/2022050102/5f4189f7e31df7144e7664c0/html5/thumbnails/12.jpg)
Bakir FARHI CHAPITRE 1. STRUCTURE GENERALE D’UN DOCUMENT LATEX
ou
\setlength{\columnseprule}{e}
Exemple : Le code complet 1 :
\documentclass[a4paper,12pt]{article}
\usepackage[T1]{fontenc} % pour avoir des caracteres en codage T1
\usepackage[latin1]{inputenc} % pour gerer les accents
\usepackage{multicol}
\begin{document}
\thispagestyle{empty}
\columnseprule=0.1pt
\begin{multicols}{4}[\section*{De bonnes raisons pour enseigner l’arithmetique}]
Il n’y a pas deux branches des mathematiques qui presentent un plus grand
contraste que l’arithmetique et la theorie des nombres.\\
Le caractere de grande generalite et de simplicite de ses regles rend
l’arithmetique accessible a l’esprit le moins ouvert.\\
Par contre, la theorie des nombres est de beaucoup la plus difficile des
sciences mathematiques. Sans doute, l’expose de ses problemes est si simple
qu’un enfant peut comprendre de quoi il s’agit; mais les methodes employees
sont si particulieres qu’il faut une adresse insoupconnee et une habilete
consommee pour decouvrir la voie qui permet d’aborder ces problemes. Des
propositions tenues pour vraies pendant des siecles ont ete ulterieurement
reconnues fausses, et actuellement il existe des problemes qui ont epuise
toutes les capacites des plus grands mathematiciens et restent encore sans
solution.\\
La theorie des nombres est la branche des mathematiques qui a trouve le plus
petit nombre d’applications; non seulement elle est restee bien loin de toute
influence sur le progres technique, mais dans le domaine des mathematiques
pures, elle est toujours restee isolee, n’ayant que de vagues liaisons avec
le fond general de la science \dots
\end{multicols}
\end{document}
donne :
1. Le texte contenu dans l’environnement multicols est du a Tobias Dantzig (Le nombre langage de la
science, 1974).
8 c© http://farhi.bakir.free.fr/
![Page 13: Documentation avanc´ee en LATEX - Page web de Bakir FARHIfarhi.bakir.free.fr/index_fichiers/BakirLatex.pdf · 1.1.4 Les marges, l’espace en haut de page et l’espace en bas de](https://reader033.fdocuments.in/reader033/viewer/2022050102/5f4189f7e31df7144e7664c0/html5/thumbnails/13.jpg)
Bakir FARHI CHAPITRE 1. STRUCTURE GENERALE D’UN DOCUMENT LATEX
De bonnes raisons pour enseigner l’arithmétique
Il n’y a pas deux
branches des math-
ématiques qui
présentent un plus
grand contraste
que l’arithmétique
et la théorie des
nombres.
Le caractère de
grande généralité
et de simplicité
de ses règles rend
l’arithmétique ac-
cessible à l’esprit
le moins ouvert.
Par contre, la
théorie des nom-
bres est de beau-
coup la plus dif-
ficile des sci-
ences mathéma-
tiques. Sans doute,
l’exposé de ses
problèmes est si
simple qu’un en-
fant peut com-
prendre de quoi
il s’agit; mais
les méthodes em-
ployées sont si
particulières qu’il
faut une adresse
insoupçonnée et
une habileté con-
sommée pour dé-
couvrir la voie qui
permet d’aborder
ces problèmes.
Des propositions
tenues pour vraies
pendant des siècles
ont été ultérieure-
ment reconnues
fausses, et actuelle-
ment il existe des
problèmes qui ont
épuisé toutes les
capacités des plus
grands mathémati-
ciens et restent en-
core sans solution.
La théorie des
nombres est la
branche des math-
ématiques qui a
trouvé le plus
petit nombre
d’applications; non
seulement elle est
restée bien loin de
toute influence sur
le progrès tech-
nique, mais dans
le domaine des
mathématiques
pures, elle est
toujours restée
isolée, n’ayant
que de vagues li-
aisons avec le fond
général de la sci-
ence . . .
1.4 Creer des en-tetes et des pieds de page personnalises
Le moyen le plus simple pour creer ses propres en-tetes et pieds de page consiste a utiliser le packagefancyhdr que l’on chargera au preambule du document Latex via la commande :
\usepackage{fancyhdr}
Le chargement de ce package seul n’entraıne ni une en-tete particuliere ni un pied de page particulier.C’est par contre le style de page qui donnera a un document Latex une en-tete et un pied de pageparticuliers.Pour definir son propre style de page (c’est-a-dire sa propre en-tete et son propre pied de page),nous devons d’abord charger le style de page fancy via la commande :
\pagestyle{fancy}
que l’on mettra dans le preambule ou dans le corps du document (a l’endroit a partir duquel onsouhaite adopter le style de page fancy) ; ensuite modifier ce style aux endroits voulus du documentpar des commandes que nous allons detailler ci-dessous.Avant tout, nous allons expliquer comment fonctionne le style de page fancy par defaut.
1.4.1 Le fonctionnement par defaut du style de page fancy
Le style de page fancy cree des en-tetes particulieres qui dependent en fait de la classe du document(article, report ou book) et du mode du document (oneside ou twoside). Pour ce qui concerne les 3types de classes : article, report et book d’un document Latex, ils sont bien connus et nous jugeonsinutile de les rappeler en detail ; juste en deux mots : la classe article est utilisee pour rediger desarticles alors que les deux classes report et book sont utilisees pour rediger desmemoires de these,des polycopies, des livres, . . . etc. En revanche, les modes oneside et twoside d’un document Latexnecessitent un eclaircissement.
9 c© http://farhi.bakir.free.fr/
![Page 14: Documentation avanc´ee en LATEX - Page web de Bakir FARHIfarhi.bakir.free.fr/index_fichiers/BakirLatex.pdf · 1.1.4 Les marges, l’espace en haut de page et l’espace en bas de](https://reader033.fdocuments.in/reader033/viewer/2022050102/5f4189f7e31df7144e7664c0/html5/thumbnails/14.jpg)
Bakir FARHI CHAPITRE 1. STRUCTURE GENERALE D’UN DOCUMENT LATEX
Le mode oneside :
C’est le mode “recto”. Le role de ce mode est d’attribuer a toutes les pages d’un document Latexla meme en-tete et le meme pied de page.
Le mode twoside :
C’est le mode “recto-verso”. Le role de ce mode est d’attribuer aux pages d’un document Latex desen-tetes et des pieds de page differents selon leur parite. Plus precisement, il attribue aux pagespaires la meme en-tete et le meme pied de page et aux pages impaires aussi la meme en-tete et lememe pied de page. Ainsi, une page impaire (recto) aura une en-tete et un pied de page differentsde ceux d’une page paire (verso).
Le mode que l’on choisit pour rediger son document Latex doit etre declare comme argument(optionnel) de la classe du document. On tapera par exemple :
\documentclass[a4paper,twoside,12pt]{report}
N.B : Si on ne declare pas le mode d’un document Latex, il sera attribue par defaut a ce documentle mode oneside s’il est de classe article ou report et le mode twoside s’il est de classe book.
L’en-tete par defaut du style de page fancy est decrite dans ce qui suit :
1. Pour la classe article :
(a) Pour le mode oneside : On verra apparaıtre un trait horizontal au dessus duquelfigure : la section courante a droite et la sous-section courante a gauche.
(b) Pour le mode twoside : On verra apparaıtre un trait horizontal au dessus duquelfigure :
Pour les pages paires : la section courante a droite et la sous-section cou-rante a gauche.
Pour les pages impaires : la section courante a gauche et la sous-sectioncourante a droite.
2. Pour les classes report et book :
(a) Pour le mode oneside : On verra apparaıtre un trait horizontal au dessus duquelfigure : le chapitre courant a droite et la section courante a gauche.
(b) Pour le mode twoside : On verra apparaıtre un trait horizontal au dessus duquelfigure :
Pour les pages paires : le chapitre courant a droite et la section courante agauche.
Pour les pages impaires : le chapitre courant a gauche et la section courantea droite.
Remarques :— Dans l’en-tete par defaut du style de page fancy, les titres figurant au dessus du trait
horizontal sont ecrits en majuscules et en italique.— Pour ce qui concerne le pied de page, le style fancy n’ajoute rien a ce qui est standard, a
savoir la numerotation de la page courante au centre du bas de page.
Nous allons maintenant expliquer comment modifier le style de page fancy pour creer nos propresen-tetes et nos propres pieds de page.
10 c© http://farhi.bakir.free.fr/
![Page 15: Documentation avanc´ee en LATEX - Page web de Bakir FARHIfarhi.bakir.free.fr/index_fichiers/BakirLatex.pdf · 1.1.4 Les marges, l’espace en haut de page et l’espace en bas de](https://reader033.fdocuments.in/reader033/viewer/2022050102/5f4189f7e31df7144e7664c0/html5/thumbnails/15.jpg)
Bakir FARHI CHAPITRE 1. STRUCTURE GENERALE D’UN DOCUMENT LATEX
1.4.2 Modification du style de page fancy pour creer ses propres en-teteset pieds de page
Modification du trait horizontal de l’en-tete
Les commandes a utiliser pour supprimer ou rendre plus ou moins epais ou plus ou moins long letrait horizontal de l’en-tete sont :
\renewcommand{\headrulewidth}{0pt}
pour supprimer le trait en question ;
\renewcommand{\headrulewidth}{e}
pour modifier son epaisseur en e (ou e est une mesure donnee en pt, mm, . . . etc) et
\renewcommand{\headheight}{ℓ}
pour modifier sa longueur en ℓ (ou ℓ est une mesure donnee en cm, mm, pt, . . . etc).
N.B : Ces codes pourraient etre tapes aussi bien dans le preambule du document que dans lecorps du document mais dans les deux cas, ils agissent sur l’ensemble du document et non pasa partir de l’endroit ou ils etaient tapes. Il est donc preferable de les taper au preambule dudocument.
Il est aussi possible de modifier l’espacement entre l’en-tete et le corps du document en tapant (dansle preambule du document) l’un des deux codes equivalents suivants :
\setlength{\headsep}{esp} ou \headsep=esp,
ou esp est l’espacement voulu, qui est une mesure qu’on devrait fournir en pt, cm, mm, . . . etc.
Enfin, on peut carrement remplacer le trait horizontal de l’en-tete par tout autre chose de notrechoix en utilisant le code plus general :
\renewcommand{\headrule}{ce qu’on souhaite mettre a la place du trait
horizontal de l’en-tete}
Ce code nous permet en particulier de modifier la couleur du trait horizontal de l’en-tete qui estnoire par defaut. En effet, si l’on souhaite par exemple changer cette couleur par la rouge, il suffirade taper (dans le preambule du document) :
\renewcommand{\headrule}{\color{red} \hrule}
On peut meme specifier par ce meme code l’epaisseur et la longueur du trait horizontal de l’en-tete. Par exemple, si l’on souhaite modifier a la fois la couleur (en verte), l’epaisseur (en 1pt) et lalongueur (en 8cm) du trait horizontal de l’en-tete, on tapera (dans le preambule du document) :
\renewcommand{\headrule}{{\color{green} \hrule height 1pt width 8cm}}
En ayant un peu d’imagination, on peut meme fabriquer des en-tetes originales (voir qui sortent del’ordinaire) en remplacant le trait horizontal de l’en-tete par quelque chose d’autre. Pour illustration,nous donnons juste les deux exemples suivants :
Exemple 1 : Nous souhaitons avoir a la place du trait horizontal de l’en-tete deux traits horizontauxsimples, tres proches l’un de l’autre. L’idee pour realiser ce souhait consiste a se servir du packageulem qui permet de faire un double soulignement professionnel d’un texte voulu, via la commande\uuline{le texte voulu}.Il faudrait donc charger prealablement le package ulem au preambule du document ; ensuite taper(dans le preambule du document) le code :
11 c© http://farhi.bakir.free.fr/
![Page 16: Documentation avanc´ee en LATEX - Page web de Bakir FARHIfarhi.bakir.free.fr/index_fichiers/BakirLatex.pdf · 1.1.4 Les marges, l’espace en haut de page et l’espace en bas de](https://reader033.fdocuments.in/reader033/viewer/2022050102/5f4189f7e31df7144e7664c0/html5/thumbnails/16.jpg)
Bakir FARHI CHAPITRE 1. STRUCTURE GENERALE D’UN DOCUMENT LATEX
\renewcommand{\headrule}{\vspace{-3mm} \uuline{\hspace{\textwidth}}}
Exemple 2 : Nous souhaitons avoir a la place du trait horizontal de l’en-tete un trait horizontalondule (comme ✿✿✿✿✿✿). L’idee est la meme que celle de l’exemple precedent ; elle consiste a utiliserle package ulem qui permet de souligner un texte donne par un trait ondule via la commande\uwave{le texte voulu}. Apres avoir charge le package ulem au preambule du document, ondevrait (pour realiser notre souhait) taper (dans le preambule du document) le code :
\renewcommand{\headrule}{\vspace{-3mm} \uwave{\hspace{\textwidth}}}
Creation de sa propre en-tete et de son propre pied de page
La creation de sa propre en-tete et de son propre pied de page se fait en deux temps :— On supprime d’abord l’en-tete et le pied de page adoptes par defaut par le style fancy.— Ensuite, on definit sa propre en-tete et son propre pied de page.
Pour supprimer l’en-tete et/ou le pied de page adoptes par le style fancy, on procede comme suit :
1. Pour supprimer a la fois l’en-tete et le pied de page du style fancy (c’est-a-dire les titresfigurant au dessus du trait horizontal de chaque page et la numerotation de chaque page),on tapera la commande :
\fancyhf{}
(a placer dans le preambule ou dans le corps du document).
2. Pour supprimer juste l’en-tete du style fancy (c’est-a-dire les titres figurant au dessus dutrait horizontal de chaque page), on tapera la commande :
\fancyhead{}
(a placer dans le preambule ou dans le corps du document).
3. Pour supprimer juste le pied de page du style fancy (c’est-a-dire la numerotation de chaquepage), on tapera la commande :
\fancyfoot{}
(a placer dans le preambule ou dans le corps du document).
Une fois que l’on a supprime l’en-tete et/ou le pied de page par defaut du style fancy, on pourradefinir sa propre en-tete et son propre pied de page en procedant de la facon suivante :
1. Pour les documents de mode oneside : On tapera dans le preambule ou dans le corpsdu document ce qui suit :
(a) \lhead{ce qu’on desire mettre en haut-a gauche de chaque page}
(b) \rhead{ce qu’on desire mettre en haut-a droite de chaque page}
(c) \chead{ce qu’on desire mettre en haut-au centre de chaque page}
(d) \lfoot{ce qu’on desire mettre en bas-a gauche de chaque page}
(e) \rfoot{ce qu’on desire mettre en bas-a droite de chaque page}
(f) \cfoot{ce qu’on desire mettre en bas-au centre de chaque page}
2. Pour les documents de mode twoside : On dispose de deux manieres differentes pourrealiser sa mise en page :
1ere maniere : On tapera dans le preambule ou dans le corps du document ce qui suit :
(a) \lhead[ce qu’on desire mettre en haut-a gauche des pages paires]
{ce qu’on desire mettre en haut-a gauche des pages impaires}
Attention : il n’y a pas de saut de ligne dans ce code ainsi que dans ceux qui vontsuivre.
12 c© http://farhi.bakir.free.fr/
![Page 17: Documentation avanc´ee en LATEX - Page web de Bakir FARHIfarhi.bakir.free.fr/index_fichiers/BakirLatex.pdf · 1.1.4 Les marges, l’espace en haut de page et l’espace en bas de](https://reader033.fdocuments.in/reader033/viewer/2022050102/5f4189f7e31df7144e7664c0/html5/thumbnails/17.jpg)
Bakir FARHI CHAPITRE 1. STRUCTURE GENERALE D’UN DOCUMENT LATEX
(b) \rhead[ce qu’on desire mettre en haut-a droite des pages paires]
{ce qu’on desire mettre en haut-a droite des pages impaires}
(c) \chead[ce qu’on desire mettre en haut-au centre des pages paires]
{ce qu’on desire mettre en haut-au centre des pages impaires}
(d) \lfoot[ce qu’on desire mettre en bas-a gauche des pages paires]
{ce qu’on desire mettre en bas-a gauche des pages impaires}
(e) \rfoot[ce qu’on desire mettre en bas-a droite des pages paires]
{ce qu’on desire mettre en bas-a droite des pages impaires}
(f) \cfoot[ce qu’on desire mettre en bas-au centre des pages paires]
{ce qu’on desire mettre en bas-au centre des pages impaires}
2nde maniere : On tapera dans le preambule ou dans le corps du document ce qui suit :
(a) \fancyhead[LO]{ce qu’on desire mettre en haut-a gauche des pages impaires}
N.B : LO = Left-Odd = a gauche-impaire.
(b) \fancyhead[LE]{ce qu’on desire mettre en haut-a gauche des pages paires}
N.B : LE = Left-Even = a gauche-paire.
(c) \fancyhead[RO]{ce qu’on desire mettre en haut-a droite des pages impaires}
N.B : RO = Right-Odd = a droite-impaire.
(d) \fancyhead[RE]{ce qu’on desire mettre en haut-a droite des pages paires}
N.B : RE = Right-Even = a droite-paire.
(e) \fancyhead[CO]{ce qu’on desire mettre en haut-au centre des pages impaires}
N.B : CO = Center-Odd = au centre-impaire.
(f) \fancyhead[CE]{ce qu’on desire mettre en haut-au centre des pages paires}
N.B : CE = Center-Even = au centre-paire.
(g) \fancyfoot[LO]{ce qu’on desire mettre en bas-a gauche des pages impaires}
(h) \fancyfoot[LE]{ce qu’on desire mettre en bas-a gauche des pages paires}
(i) \fancyfoot[RO]{ce qu’on desire mettre en bas-a droite des pages impaires}
(j) \fancyfoot[RE]{ce qu’on desire mettre en bas-a droite des pages paires}
(k) \fancyfoot[CO]{ce qu’on desire mettre en bas-au centre des pages impaires}
(l) \fancyfoot[CE]{ce qu’on desire mettre en bas-au centre des pages paires}
Remarque : Si, par exemple, on desire mettre le meme titre en haut-a droite de chaquepage (peu importe sa parite), on peut taper simplement le code :
\rhead{le titre voulu}
ou encore :
\fancyhead[RO,RE]{le titre voulu}
Une importante numerotation de page :
Lorsqu’on redige un CV, une serie de TD ou tout autre document latex comportant peu de pages,il est souvent souhaitable de numeroter ses pages comme suit :
Le numero de la page / Le nombre total de pages
Ainsi, si le document latex dont il s’agit contient n pages, ces pages seront numerotees par :1/n, 2/n, . . . , n/n.
Pour ce faire, on doit d’abord charger au preambule du document le package lastpage, via la com-mande :
13 c© http://farhi.bakir.free.fr/
![Page 18: Documentation avanc´ee en LATEX - Page web de Bakir FARHIfarhi.bakir.free.fr/index_fichiers/BakirLatex.pdf · 1.1.4 Les marges, l’espace en haut de page et l’espace en bas de](https://reader033.fdocuments.in/reader033/viewer/2022050102/5f4189f7e31df7144e7664c0/html5/thumbnails/18.jpg)
Bakir FARHI CHAPITRE 1. STRUCTURE GENERALE D’UN DOCUMENT LATEX
\usepackage{lastpage}
Noter que ce package retient des informations sur la derniere page du document ; en particulier sonnumero qui n’est rien d’autre que le nombre total des pages du document et dont on a besoin ici.
Ensuite, dans le preambule ou dans le corps du document, on tapera le code suivant :
\cfoot{\thepage/\pageref{LastPage}}
si l’on souhaite que cette numerotation figure en bas-au centre de chaque page.
Les commandes Latex permettant d’imprimer les numeros et les intitules du chapitre,section et sous-section en cours :
1. Les commandes Latex permettant d’imprimer les numeros des titres courants :
• La commande permettant d’imprimer le numero du chapitre courant d’un document Latex (declasse book ou report) est : \thechapter.
• La commande permettant d’imprimer le numero de la section (resp. sous-section) courante d’undocument Latex (de classe book, report ou article) est : \thesection (resp. \thesubsection).
2. Les commandes Latex permettant d’imprimer les intitules des titres courants :
a) Pour les classes report et book :
• Les commandes \leftmark et \rightmark permettent d’imprimer respectivement les intitulesdu chapitre courant et de la section courante. Ces intitules vont apparaıtre sous la forme :
CHAPITRE n. INTITULE DU CHAPITRE
(pour le chapitre numero n) et
n.m. INTITULE DE LA SECTION
(pour la section numero m du chapitre numero n).
Noter que ces intitules sont ceux de la table des matieres 2, convertis en ecriture en lettres majuscules.
• Si l’on souhaite que ces intitules ne soient pas convertis en ecriture en lettres majuscules et nesoient pas precedes de leurs numeros mais soient exactement tel qu’ils apparaissent dans la tabledes matieres, on ajoutera au preambule du document Latex (apres la definition de son en-tete etjamais avant) les deux codes :
\renewcommand{\chaptermark}[1]{\markboth{#1}{}}
\renewcommand{\sectionmark}[1]{\markright{#1}}
Noter que les commandes \chaptermark et \sectionmark, lorsqu’elles sont utilisees, offrent res-pectivement aux commandes \leftmark et \rightmark ce qu’elles devront imprimer (voir le pro-chain item).
• Si l’on souhaite maintenant que les commandes \leftmark et \rightmark impriment autrechose que ce qui apparaıt dans la table des matieres, on devra ajouter juste apres (resp. juste avant)l’introduction du chapitre (resp. section) dont il s’agit, c’est-a-dire juste apres (resp. juste avant)\chapter{...} (resp. \section{...}), le code :
\chaptermark{le titre que l’on desire imprimer avec la commande \leftmark}
(resp. \sectionmark{le titre que l’on desire imprimer avec la commande \rightmark}).
Dans cette situation, l’impression donnera les titres que nous avons choisi, precedes des numeros
2. Il est possible qu’un chapitre (section, sous-section, . . .) apparaisse sous un certain nom dans la table desmatieres et sous un autre nom dans le corps du document.
14 c© http://farhi.bakir.free.fr/
![Page 19: Documentation avanc´ee en LATEX - Page web de Bakir FARHIfarhi.bakir.free.fr/index_fichiers/BakirLatex.pdf · 1.1.4 Les marges, l’espace en haut de page et l’espace en bas de](https://reader033.fdocuments.in/reader033/viewer/2022050102/5f4189f7e31df7144e7664c0/html5/thumbnails/19.jpg)
Bakir FARHI CHAPITRE 1. STRUCTURE GENERALE D’UN DOCUMENT LATEX
des chapitres (resp. sections) et convertis en ecriture en lettres majuscules.
• Pour aller encore plus loin, on peut souhaiter que les commandes \leftmark et \rightmark im-priment exactement ce qu’on ecrit entre les accolades des commandes \chaptermark et \sectionmark(y compris si l’on souhaite une ecriture en italique, en gras, en couleurs, . . . etc). Pour ce faire,il suffira d’ajouter au preambule du document Latex (apres la definition de son en-tete et jamaisavant) les codes :
\renewcommand{\chaptermark}[1]{\markboth{#1}{}}
(pour la gestion des intitules de chapitres) et :
\renewcommand{\sectionmark}[1]{\markright{#1}}
(pour la gestion des intitules de sections).
Un exemple plus complique :Dans un document Latex de classe report et de mode oneside, on souhaite avoir comme en-tete untrait horizontal simple au dessus duquel figurera :
A gauche : L’intitule du chapitre courant, ecrit sous la forme :
Chap n. Intitule du chapitre
(en couleur rouge).
A droite : L’intitule de la section courante, ecrit sous la forme :
Sec n.m. Intitule de la section
(en couleur verte).
Pour ce faire, il faudrait d’abord definir l’en-tete souhaitee au preambule du document par le code :
\pagestyle{fancy}
\fancyhead{}
\lhead{\leftmark}
\rhead{\rightmark}
(sans oublier bien sur de charger prealablement le package fancyhdr).
Ensuite, juste apres ceci et pas avant (toujours dans le preambule du document), redefinir les deuxcommandes \chaptermark et \sectionmark par :
\renewcommand{\chaptermark}[1]{\markboth{{\color{red} Chap \thechapter. #1}}{}}
\renewcommand{\sectionmark}[1]{\markright{{\color{green} Sec \thesection. #1}}}
Ainsi programme, les intitules des chapitres et sections qui apparaıtront dans l’en-tete du documentseront exactement ceux donnes par les commandes \chaptermark et \sectionmark lorsque celles-ci sont utilisees ; sinon ceux de la table des matieres.
b) Pour la classe article :
• Les commandes \leftmark et \rightmark permettent d’imprimer respectivement les intitulesde la section courante et de la sous-section courante. Ces intitules vont apparaıtre sous la forme :
n INTITULE DE LA SECTION
(pour la section numero n) et
n.m Intitule de la sous-section
(pour la sous-section numero m de la section numero n).
Noter que ces intitules sont ceux de la table des matieres, convertis en ecriture en lettres majusculespour les sections et laisses tels quels pour les sous-sections.
15 c© http://farhi.bakir.free.fr/
![Page 20: Documentation avanc´ee en LATEX - Page web de Bakir FARHIfarhi.bakir.free.fr/index_fichiers/BakirLatex.pdf · 1.1.4 Les marges, l’espace en haut de page et l’espace en bas de](https://reader033.fdocuments.in/reader033/viewer/2022050102/5f4189f7e31df7144e7664c0/html5/thumbnails/20.jpg)
Bakir FARHI CHAPITRE 1. STRUCTURE GENERALE D’UN DOCUMENT LATEX
• Si l’on souhaite que ces intitules ne soient ni precedes de leurs numeros ni convertis en ecriture enlettres majuscules (pour les sections) mais soient exactement tels qu’ils apparaissent dans la tablesdes matieres, on ajoutera au preambule du document Latex (apres la definition de son en-tete etjamais avant) les deux codes :
\renewcommand{\sectionmark}[1]{\markboth{#1}{}}
\renewcommand{\subsectionmark}[1]{\markright{#1}}
Noter que les commandes \sectionmark et \subsectionmark, lorsqu’elles sont utilisees, offrentrespectivement aux commandes \leftmark et \rightmark ce qu’elles devront imprimer (voir leprochain item).
• Si l’on souhaite maintenant que les commandes \leftmark et \rightmark impriment autre choseque ce qui apparaıt dans la table des matieres, on devra ajouter juste apres (resp. juste avant) l’in-troduction de la section (resp. sous-section) dont il s’agit, c’est-a-dire juste apres (resp. juste avant)\section{...} (resp. \subsection{...}), le code :
\sectionmark{le titre que l’on desire imprimer avec la commande \leftmark}
(resp. \subsectionmark{le titre que l’on desire imprimer avec la commande \rightmark}).
Dans cette situation, l’impression donnera les titres que nous avons choisi, precedes des numeros dessections (resp. sous-sections) concernees. Ces titres sont, en outre, convertis en ecriture en lettresmajuscules lorsqu’ils concernent des sections.
• Pour aller encore plus loin, on peut souhaiter que les commandes \leftmark et \rightmark im-priment exactement ce qu’on ecrit entre les accolades des commandes \sectionmark et \subsectionmark(y compris si l’on souhaite une ecriture en italique, en gras, en couleurs, en minuscules, . . . etc).Pour ce faire, il suffira d’ajouter au preambule du document Latex (apres la definition de son en-teteet jamais avant) les codes :
\renewcommand{\sectionmark}[1]{\markboth{#1}{}}
(pour la gestion des intitules de sections) et :
\renewcommand{\subsectionmark}[1]{\markright{#1}}
(pour la gestion des intitules de sous-sections).
Un exemple plus complique :Dans un document Latex de classe article et de mode oneside, on souhaite avoir comme en-tete untrait horizontal simple au dessus duquel figurera :
A gauche : L’intitule de la section courante, ecrit sous la forme :
Section n. Intitule de la section
(en couleur rouge).
A droite : L’intitule de la sous-section courante, ecrit sous la forme :
Sous-section n.m. Intitule de la sous-section
(en couleur verte).
Pour ce faire, il faudrait d’abord definir l’en-tete souhaitee au preambule du document par le code :
\pagestyle{fancy}
\fancyhead{}
\lhead{\leftmark}
\rhead{\rightmark}
(sans oublier bien sur de charger prealablement le package fancyhdr).
Ensuite, juste apres ceci et pas avant (toujours dans le preambule du document), redefinir les deuxcommandes \sectionmark et \subsectionmark par :
16 c© http://farhi.bakir.free.fr/
![Page 21: Documentation avanc´ee en LATEX - Page web de Bakir FARHIfarhi.bakir.free.fr/index_fichiers/BakirLatex.pdf · 1.1.4 Les marges, l’espace en haut de page et l’espace en bas de](https://reader033.fdocuments.in/reader033/viewer/2022050102/5f4189f7e31df7144e7664c0/html5/thumbnails/21.jpg)
Bakir FARHI CHAPITRE 1. STRUCTURE GENERALE D’UN DOCUMENT LATEX
\renewcommand{\sectionmark}[1]{\markboth{{\color{red} Section \thesection. #1}}{}}
\renewcommand{\subsectionmark}[1]{\markright{{\color{green} Sous-section \thesubsection. #1}}}
Ainsi programme, les intitules des sections et des sous-sections qui apparaıtront dans l’en-tete dudocument seront exactement ceux donnes par les commandes \sectionmark et \subsectionmarklorsque celles-ci sont utilisees ; sinon ceux de la table des matieres.
Une derniere remarque : Les commandes \leftmark et \rightmark fonctionnent correctementlorsqu’on les utilise pour definir sa propre en-tete (c’est-a-dire accompagnees des commandes tellesque \lhead, \rhead, . . . etc) mais elles fonctionnent moins bien lorsqu’on les utilise seules dans lecorps d’un document Latex.
Exercices
Exercice 1 : Le texte encadre ci-dessous constitue une page d’une serie de TD ecrite en Latex(classe article, mode oneside).
Université A. Mira de Béjaia Année 2011-2012
Exercice 4:
En aérodynamique et en mécanique des fluides, les fonctions φ et ψ dansl’expression f = φ + iψ, où f est une fonction holomorphe sur C sur C,s’appellent respectivement: potentiel des vitesses et fonction courant.Supposons que φ(x, y) = x2 + 4x− y2 + 2y.— Déterminer l’expression de ψ(x, y) en fonction de x et de y, puis en déduirel’expression de f(z) en fonction de z.
Exercice 5 (exercice additionnel):
Soit f une fonction holomorphe sur C dont l’expression algébrique est donnéepar:
f(z) = P (x, y) + i Q(x, y),
où z = x+ i y (x, y ∈ R), P = Ref et Q = Imf .On donne: P (x, y) = ex(x cos y − y sin y).
1. Déterminer l’expression de Q(x, y) en fonction de x et de y.
2. En déduire l’expression de f(z) en fonction de z.
Exercice 6:
La formule intégrale de Cauchy annonce ce qui suit:
Soit f une fonction holomorphe sur un ouvert D de C qui contientun chemin fermé γ et soit a un point du plan complexe se trouvantà l’intérieur de γ. Alors, on a:
f (n)(a) =n!
2πi
∮
γ
f(z)
(z − a)n+1dz,
où l’on a supposé que γ est orienté positivement.
1. En utilisant la formule intégrale de Cauchy montrer que l’on a pourtout t ∈ R et tout n ∈ N:
(
tn
n!
)2
=1
2π i
∮
γ
tnetz
n!zn+1dz ,
où γ est un contour fermé entourant l’origine (supposé orienté positive-ment).
2. En déduire que l’on a pour tout t ∈ R:∞∑
n=0
(
tn
n!
)2
=1
2π
∫ 2π
0
e2t cos θ dθ.
2/3 B. Farhi
Comme on le constate, l’en-tete et le pied de page du document en question sont composes commesuit :
17 c© http://farhi.bakir.free.fr/
![Page 22: Documentation avanc´ee en LATEX - Page web de Bakir FARHIfarhi.bakir.free.fr/index_fichiers/BakirLatex.pdf · 1.1.4 Les marges, l’espace en haut de page et l’espace en bas de](https://reader033.fdocuments.in/reader033/viewer/2022050102/5f4189f7e31df7144e7664c0/html5/thumbnails/22.jpg)
Bakir FARHI CHAPITRE 1. STRUCTURE GENERALE D’UN DOCUMENT LATEX
En-tete : Un trait horizontal d’epaisseur 1 pt. A sa droite c’est marque “Annee 2011-2012”et a sa gauche c’est marque “Universite A. Mira de Bejaia” (ecriture en italique).
Pied de page : A droite c’est marque le nom de l’auteur, en l’occurrence “B. Farhi”(ecriture en petites lettres majuscules). Au centre se trouve la numerotation de la pagequi est presentee ici sous la forme “Numero de la page/Nombre total de pages”. Enfin, agauche, on voit apparaıtre le logo de l’universite de Bejaia ; il s’agit d’une image de formateps, nommee logoubej, inseree a cet endroit en reduisant sa taille a moitie (on supposeraque cette image se trouve dans le meme repertoire que le document Latex dont il s’agit).
— Donner l’ensemble des instructions qui nous ont permis de realiser l’en-tete et le pied de page dece document.
Solution : Le code source qui permet d’obtenir l’en-tete et le pied de page du document enquestion est le suivant :
\documentclass[a4paper,12pt]{article} % Document de classe article (le mode
% est oneside par defaut)
\usepackage[T1]{fontenc} % Pour avoir des caracteres en codage T1
\usepackage[utf8]{inputenc} % Pour gerer les accents
\usepackage[francais]{babel} % Pour avoir certains titres en francais
\usepackage{graphicx} % Pour pouvoir inserer des figures
\usepackage{amsmath} % Pour avoir certains symboles mathematiques
\usepackage{amssymb} % Pour les symboles AMS
\usepackage{color} % Pour gerer les couleurs
\usepackage{fancyhdr} % Ce package contient le style de page fancy
\usepackage{lastpage} % Pour referencer la derniere page du document
\pagestyle{fancy}
\fancyhf{}
\renewcommand{\headrulewidth}{1pt}
\rhead{Annee 2011-2012}
\lhead{\textit{Universite A. Mira de Bejaia}}
\rfoot{\sc B. Farhi}
\cfoot{\thepage/\pageref{LastPage}}
\lfoot{\includegraphics[scale=0.5]{logoubej}}
\begin{document}...
\end{document}
N.B : Dans le code source ci-dessus, les instructions que l’on a colore en bleu sont celles agissantsur le style du document (c’est-a-dire sur son en-tete et son pied de page). �
Exercice 2 : On souhaite attribuer a un ouvrage mathematique ecrit en Latex (de classe book)la mise en page decrite ci-dessous :
En-tete :— Un trait horizontal de couleur magenta et d’epaisseur 0,1 pt.— Au dessus-a gauche de ce trait horizontal, on fera apparaıtre le nom de l’auteur, enl’occurrence B. Farhi, ecrit en vert et en petites lettres majuscules.— Au dessus-a droite du trait horizontal, on fera apparaıtre pour les pages impaires l’intituledu chapitre courant precede de son numero et pour les pages paires l’intitule de la sectioncourante precedee de son numero. Ces intitules seront ecrits en couleur rouge, en petitesecriture (small) et en lettres minuscules.
18 c© http://farhi.bakir.free.fr/
![Page 23: Documentation avanc´ee en LATEX - Page web de Bakir FARHIfarhi.bakir.free.fr/index_fichiers/BakirLatex.pdf · 1.1.4 Les marges, l’espace en haut de page et l’espace en bas de](https://reader033.fdocuments.in/reader033/viewer/2022050102/5f4189f7e31df7144e7664c0/html5/thumbnails/23.jpg)
Bakir FARHI CHAPITRE 1. STRUCTURE GENERALE D’UN DOCUMENT LATEX
Pied de page :— A droite, on fera apparaıtre l’url http://farhi.bakir.free.fr/ du site internet del’auteur, non pas comme un simple texte mais comme un lien hypertexte.— Au centre, le numero de la page courante.— A gauche, le logo de l’Universite de Bejaia (une image de format eps nommee logoubejet classee dans le meme repertoire que le document Latex en question, qu’on reduira amoitie).
— Donner l’ensemble des instructions qui feront realiser cette mise en page.
Solution : L’ensemble des instructions qui permettent de realiser la mise en page souhaitee estdonne dans ce qui suit :
\documentclass[a4paper,12pt]{book} % Document de classe book (le mode
% est twoside par defaut)
\usepackage[T1]{fontenc} % Pour avoir des caracteres en codage T1
\usepackage[utf8]{inputenc} % Pour gerer les accents
\usepackage[francais]{babel} % Pour avoir certains titres en francais
\usepackage{graphicx} % Pour pouvoir inserer des figures
\usepackage{amsmath} % Pour avoir certains symboles mathematiques
\usepackage{amssymb} % Pour les symboles AMS
\usepackage{color} % Pour gerer les couleurs
\usepackage{hyperref} % Pour gerer les liens hypertextes, en particulier
% les url
\usepackage{fancyhdr} % Ce package contient le style de page fancy
\pagestyle{fancy}
\fancyhf{}
\renewcommand{\headrule}{\color{magenta} \hrule height 0.1pt}
\lhead{\textcolor{green}{\sc B. Farhi}}
\rhead[\rightmark]{\leftmark}
\rfoot{\url{http://farhi.bakir.free.fr/}}
\cfoot{\thepage}
\lfoot{\includegraphics[scale=0.5]{logoubej}}
\renewcommand{\chaptermark}[1]{\markboth{{\color{red} {\small \thechapter. #1}}}{}}
\renewcommand{\sectionmark}[1]{\markright{{\color{red} {\small \thesection. #1}}}}
\begin{document}...
\end{document}
N.B : Dans le code source ci-dessus, les instructions que l’on a colore en bleu sont celles agissantsur le style du document (c’est-a-dire sur son en-tete et son pied de page). �
19 c© http://farhi.bakir.free.fr/
![Page 24: Documentation avanc´ee en LATEX - Page web de Bakir FARHIfarhi.bakir.free.fr/index_fichiers/BakirLatex.pdf · 1.1.4 Les marges, l’espace en haut de page et l’espace en bas de](https://reader033.fdocuments.in/reader033/viewer/2022050102/5f4189f7e31df7144e7664c0/html5/thumbnails/24.jpg)
CHAPITRE 2
LES NOTES EN BAS DE PAGE
En Latex, les notes en bas de la page se realisent par la commande :
\footnote{Le texte de la note}
que l’on met devant le mot auquel une note voulue est affectee. Par cette commande, les notes sontnumerotees par defaut en chiffres arabes (1, 2, 3, . . .etc). Plusieurs d’autres types de numerotationssont possibles. On donnera l’essentiel de ces types dans ce qui suit :
2.1 Les types de numerotations
2.1.1 Numerotation en chiffres romains
Pour obtenir des numerotations de footnotes en chiffres romains majuscules, il suffit d’ajouter al’en-tete de votre document latex ceci :
\def\thefootnote{\Roman{footnote}}
Pour obtenir des numerotations de footnotes en chiffres romains minuscules, on fait la meme choseen remplacant juste Roman par roman.Pour revenir ensuite, a partir d’un endroit voulu du document, a la numerotation standard defootnotes (c’est-a-dire a la numerotation en chiffres arabes), on met au debut de cet endroit ceci :
\def\thefootnote{\arabic{footnote}}
2.1.2 Numerotation en lettres latines
Pour obtenir des numerotations de footnotes en lettres latines majuscules, il suffit d’ajouter al’en-tete de votre document latex ceci :
\def\thefootnote{\Alph{footnote}}
Pour obtenir des numerotations de footnotes en lettres latines miniscules, on fait la meme chose enremplacant juste Alph par alph.
2.1.3 Numerotations a l’aide de symboles (autres les chiffres et les lettres)
En Latex, on peut numeroter les footnotes a l’aide des neufs symboles suivants :
∗ † ‡ § ¶ ‖ ∗∗ †† ‡‡ (dans cet ordre).
20
![Page 25: Documentation avanc´ee en LATEX - Page web de Bakir FARHIfarhi.bakir.free.fr/index_fichiers/BakirLatex.pdf · 1.1.4 Les marges, l’espace en haut de page et l’espace en bas de](https://reader033.fdocuments.in/reader033/viewer/2022050102/5f4189f7e31df7144e7664c0/html5/thumbnails/25.jpg)
Bakir FARHI CHAPITRE 2. LES NOTES EN BAS DE PAGE
Pour ce faire, il suffira de mettre au debut de votre document ceci :
\def\thefootnote{\fnsymbol{footnote}}
2.2 Comment forcer une footnote a prendre un numero voulu
Pour forcer une note a prendre un numero voulu (pour n’importe quel type de numerotation),on utilise le code :
\footnote[Le numero voulu]{Le texte de la note}
Exemple : Le texte suivant insere dans votre document latex :
\def\thefootnote{\fnsymbol{footnote}}
Le theoreme d’al-Kashi\footnote[7]{Mathematicien musulman.}
affirme que dans un triangle quelconque $ABC$, on a:
$BC^2 = AB^2 + AC^2 - 2 AB \cdot AC \cos\widehat{BAC}$.
donne :
Le theoreme d’al-Kashi∗∗affirme que dans un triangle quelconque ABC, on a : BC2 =
AB2 + AC2 − 2AB ·AC cos BAC .
Et en bas de la page, on aura la footnote :**Mathematicien musulman.
2.3 Comment faire une footnote a l’interieur de certains en-
vironnements
Dans certains environnements tels theorem, minipage, tabular, . . .etc, la commande \footnotene fonctionne pas correctement. En fait, le code \footnote{Le texte de la note} marque lemot qui le precede par un numero mais ne fait pas figurer la note qui lui est associee en basde la page. Pour y remedier a ce probleme, on doit plutot mettre \footnotemark juste apresle mot auquel on veut associer une note, puis apres, on precisera la note voulue par le code\footnotetext{Le texte de la note}.En fait, le code \footnotemark sert juste a marquer le mot qui le precede par un petit numero,alors que le code \footnotetext{Le texte de la note} fait figurer la note voulue en bas de lapage.
Attention : Le code \footnotetext{Le texte de la note} doit etre place apres le code\footnotemark auquel il est associe et avant un autre code \footnotemark pour eviter la confu-sion.
D’autres manieres d’utilisation des footnotes (notamment a l’interieur d’un environnement) sontdonnees dans ce qui suit :
• Pour associer un numero voulu n a une footnote a l’aide des commandes \footnotemark et\footnotetext, on mettra :
\footnotemark[n]
(juste apres le mot auquel on veut associer une note), puis apres :
\footnotetext[n]{Le texte de la note}
• Pour associer une seule note a plusieurs endroits (mots) du texte, on mettra devant chaque endroitvoulu :
21 c© http://farhi.bakir.free.fr/
![Page 26: Documentation avanc´ee en LATEX - Page web de Bakir FARHIfarhi.bakir.free.fr/index_fichiers/BakirLatex.pdf · 1.1.4 Les marges, l’espace en haut de page et l’espace en bas de](https://reader033.fdocuments.in/reader033/viewer/2022050102/5f4189f7e31df7144e7664c0/html5/thumbnails/26.jpg)
Bakir FARHI CHAPITRE 2. LES NOTES EN BAS DE PAGE
\footnotemark[n]
ou n est un numero voulu. Ensuite, apres le dernier endroit, on mettra le code :
\footnotetext[n]{Le texte de la note}
Exemple 1 : Le texte suivant dans un document latex :
Parmi les grands mathematiciens du monde, on cite:
al-Khawarizmi\footnotemark[3], Abu Kamil\footnotemark[3],
al-Kashi\footnotemark[3], Gauss\footnotemark[4], \dots \, etc.
\footnotetext[3]{Mathematicien musulman.}
\footnotetext[4]{Mathematicien allemand.}
donne :
Parmi les grands mathematiciens du monde, on cite : al-Khawarizmi3, Abu Kamil3,al-Kashi3, Gauss4, . . . etc.
puis apres en bas de la page :
3Mathematicien musulman.4Mathematicien allemand.
Exemple 2 : Supposons que l’on a deja mis 5 footnotes dans notre document. Alors, le meme textede l’exemple precedent peut s’ecrire comme suit :
Parmi les grands mathematiciens du monde, on cite:
al-Khawarizmi\footnote{Mathematicien musulmans.},
Abu Kamil\footnotemark[6], al-Kashi\footnotemark[6],
Gauss\footnote{Mathematicien allemand.}, \dots \, etc.
Ce qui donnera :
Parmi les grands mathematiciens du monde, on cite : al-Khawarizmi6, Abu Kamil6,al-Kashi6, Gauss7, . . . etc.
puis apres en bas de la page :
6Mathematicien musulman.7Mathematicien allemand.
Attention : L’astuce de ce second exemple marche bien a condition de ne pas ajouter apres desfootnotes avant celles du texte en l’occurrence.
22 c© http://farhi.bakir.free.fr/
![Page 27: Documentation avanc´ee en LATEX - Page web de Bakir FARHIfarhi.bakir.free.fr/index_fichiers/BakirLatex.pdf · 1.1.4 Les marges, l’espace en haut de page et l’espace en bas de](https://reader033.fdocuments.in/reader033/viewer/2022050102/5f4189f7e31df7144e7664c0/html5/thumbnails/27.jpg)
CHAPITRE 3
LATEX MATHEMATIQUE
3.1 Les equations
3.1.1 Equations courtes et moyennes
Pour ecrire une equation numerotee (qui tiendra sur une ligne), on utilise l’environnementequation. En voici un exemple :
\begin{equation}\label{al-karaji}
\sum_{k = 1}^n k^3 = \left(\sum_{k = 1}^n k\right)^2
= \frac{n^2(n+1)^2}{4}\end{equation}
Ce qui donne :n∑
k=1
k3 =
(
n∑
k=1
k
)2
=n2(n+ 1)2
4(1)
(en supposant que c’est la premiere equation de votre document).Le code \label{al-karaji} sert a referencer l’equation en question ; ici notre equation estreferencee par le nom du mathematicien qui l’a decouverte. Pour se referer ensuite a cette equationdans notre document, on utilise le code \eqref{al-karaji} ou bien le code (\ref{al-karaji})pour donner (1).Pour ecrire une equation non numerotee, on utilise l’environnement equation* plutot que equation.
3.1.2 Equations longues
Pour ecrire une equation longue (c’est-a-dire qui ne tient pas sur une seule ligne) et numerotee,on utilise la plupart du temps l’environnement multline. Par exemple, le code :\begin{multline}
(x-1)(x^{2n}+x^{2n-1}+\dots+1)+(x+1)(x^{2n}-x^{2n-1}+x^{2n-2})-\dots+1)= \\
(x^{2n+1}-1)+(x^{2n+1}+1)=2x^{2n+1}\end{multline}
donne :
(x− 1)(x2n + x2n−1 + · · ·+ 1) + (x+ 1)(x2n − x2n−1 + x2n−2 − · · ·+ 1) =
(x2n+1 − 1) + (x2n+1 + 1) = 2x2n+1 (2)
(en supposant que c’est la deuxieme equation de votre document).On pourra bien sur referencer l’equation longue en question en utilisant le code \label{la reference}.
23
![Page 28: Documentation avanc´ee en LATEX - Page web de Bakir FARHIfarhi.bakir.free.fr/index_fichiers/BakirLatex.pdf · 1.1.4 Les marges, l’espace en haut de page et l’espace en bas de](https://reader033.fdocuments.in/reader033/viewer/2022050102/5f4189f7e31df7144e7664c0/html5/thumbnails/28.jpg)
Bakir FARHI CHAPITRE 3. LATEX MATHEMATIQUE
Pour ecrire une equation longue non numerotee, on utilise l’environnement multline* plutot quemultline.Pour ecrire une equation longue numerotee avec des alignements bien precis, on utilise l’environne-ment split a l’interieur de l’environnement equation. Par exemple, le code :\begin{equation}
\begin{split}
(x-1)(x^{2n}+x^{2n-1}+\dots+1)+(x+1)(x^{2n}-x^{2n-1}+ x^{2n-2})-\dots+1) &= \\
(x^{2n+1}-1)+(x^{2n+1}+1) &= \\
2x^{2n+1}\end{split}
\end{equation}
donne :
(x− 1)(x2n + x2n−1 + · · ·+ 1) + (x+ 1)(x2n − x2n−1 + x2n−2 − · · ·+ 1) =
(x2n+1 − 1) + (x2n+1 + 1) =
2x2n+1
(3)
(en supposant que c’est la troisieme equation de votre document).Noter que le symbole & marque les endroits d’alignement.Pour une equation du meme style mais non numerotee, on utilise l’environnement equation* plutotque equation.Pour referencer l’equation en question, on utilise le code \label{la reference} et pour citerensuite cette reference dans le document, on utilise le code \eqref{la reference}.
3.1.3 Serie d’equations
Pour ecrire une serie d’equations numerotees et alignees, on utilise l’environnement eqnarray.Par exemple, le code :\begin{eqnarray}
(a+b)+(a-b) & = & 2a \\
(a+b)^2+(a-b)^2 & = & 2(a^2+b^2) \\
(a+b)^3+(a-b)^3 & = & 2a(a^2+3b^2)\end{eqnarray}
donne :
(a+ b) + (a− b) = 2a (1)
(a + b)2 + (a− b)2 = 2(a2 + b2) (2)
(a + b)3 + (a− b)3 = 2a(a2 + 3b2) (3)
(en supposant que ces equations sont les trois premieres equations de votre document).Rappelons que le symbole & precise les endroits d’alignement.Pour ecrire une serie d’equations alignees et non numerotees, on utilise l’environnement eqnarray*plutot que eqnarray.
Pour ecrire une serie d’equations alignees dont certaines sont numerotees et d’autres non, onutilise l’environnement eqnarray et on precisera qu’une equation est non numerotee en ajoutant lecode \notag a sa fin. Par exemple, le code :\begin{eqnarray}
(a+b)+(a-b) & = & 2a \\
(a+b)^2+(a-b)^2 & = & 2(a^2+b^2) \notag \\
(a+b)^3+(a-b)^3 & = & 2a(a^2+3b^2)\end{eqnarray}
24 c© http://farhi.bakir.free.fr/
![Page 29: Documentation avanc´ee en LATEX - Page web de Bakir FARHIfarhi.bakir.free.fr/index_fichiers/BakirLatex.pdf · 1.1.4 Les marges, l’espace en haut de page et l’espace en bas de](https://reader033.fdocuments.in/reader033/viewer/2022050102/5f4189f7e31df7144e7664c0/html5/thumbnails/29.jpg)
Bakir FARHI CHAPITRE 3. LATEX MATHEMATIQUE
donne :
(a+ b) + (a− b) = 2a (4)
(a + b)2 + (a− b)2 = 2(a2 + b2)
(a + b)3 + (a− b)3 = 2a(a2 + 3b2) (5)
3.1.4 Equations numerotees par une numerotation de notre choix
Pour ecrire une equation et la numeroter par une numerotation de notre choix, on utilise parexemple l’environnement equation en precisant a la fin de l’equation sa numerotation par le code :\tag{numero ou symbole choisi}. Par exemple le code :
\begin{equation}
E = mc^2 . \tag{$I$}
\end{equation}
donne :E = mc2. (I)
Noter que les parentheses de la numerotation se mettent par defaut.
Attention : Contrairement a \notag, le code \tag ne fonctionne par dans l’environnement eqnarray.Il fonctionne cependant dans l’environnement align qu’on verra plus loin.
25 c© http://farhi.bakir.free.fr/
![Page 30: Documentation avanc´ee en LATEX - Page web de Bakir FARHIfarhi.bakir.free.fr/index_fichiers/BakirLatex.pdf · 1.1.4 Les marges, l’espace en haut de page et l’espace en bas de](https://reader033.fdocuments.in/reader033/viewer/2022050102/5f4189f7e31df7144e7664c0/html5/thumbnails/30.jpg)
CHAPITRE 4
LES COULEURS
4.1 Les couleurs predefinies
Pour pouvoir utiliser des couleurs en Latex, on doit charger a l’en-tete de notre document l’undes deux packages suivants :
\usepackage{color} ou \usepackage{xcolor}
Ensuite, pour utiliser une couleur donnee, la commande est :
{\color{Nom de la couleur} Texte a colorer}
ou \textcolor{Nom de la couleur}{Texte a colorer}
Il est a savoir que le package color a 8 couleurs predefinies qui sont donnees dans le tableau suivant :
Nom de la couleur Nom en francais la couleur en questionblack Noirwhite Blancred Rougegreen Vertblue Bleucyan Bleu clairmagenta Magentayellow Jaune
Ainsi, pour ecrire par exemple le texte “Omar va a l’ecole” en magenta, on utilise l’une des deuxcommandes equivalentes suivantes :
{\color{magenta} Omar va a l’ecole}
ou
\textcolor{magenta}{Omar va a l’ecole}
De meme, pour ecrire le texte mathematique “∀x ∈ R : x2 + x + 1 ≥ 0” en rouge, on utilise lacommande :
{\color{red} $\forall x \in \mathbb{R} : x^2 + x + 1 \geq 0$}
26
![Page 31: Documentation avanc´ee en LATEX - Page web de Bakir FARHIfarhi.bakir.free.fr/index_fichiers/BakirLatex.pdf · 1.1.4 Les marges, l’espace en haut de page et l’espace en bas de](https://reader033.fdocuments.in/reader033/viewer/2022050102/5f4189f7e31df7144e7664c0/html5/thumbnails/31.jpg)
Bakir FARHI CHAPITRE 4. LES COULEURS
4.2 Couleurs personnelles
On pourrait bien avoir envie d’utiliser d’autres couleurs autre les 8 couleurs predefinies precedentes.Ceci est bien sur possible en Latex et on a trois types de couleurs que voici :
1er type : il est defini par la syntaxe gray. Il contient toutes les couleurs grises possibles, du blancau noir. La syntaxe gray est suivi du taux de blanc dans la couleur voulue. Le taux 1 correspond a lacouleur blanche et le taux 0 correspond a la couleur noir. Par exemple, pour definir la couleur grisede taux de blancheur 0.7, on insere a l’en-tete de notre document Latex la commande :
\definecolor{gris}{gray}{0.7}
(noter que le mot “gris” de la premiere accolade est de notre choix). Ensuite pour utiliser cettecouleur qu’on a nomme “gris”, on se sert de l’une des deux syntaxes equivalentes suivantes :
{\color{gris} Texte voulu} ou \textcolor{gris}{Texte voulu}
On obtient alors :
Texte voulu
Pour une utilisation unique, on pourra bien sur utiliser notre couleur grise sans la definir prealablement,et la syntaxe dans ce cas la est :
{\color[gray]{0.7} Texte voulu} ou \textcolor[gray]{0.7}{Texte voulu}
2eme type : il est defini par la syntaxe rgb. Il contient toutes les couleurs. Ces couleurs peuvent etredefinies a partir de trois taux :— Le taux de rouge (red) contenu dans la couleur— Le taux de vert (green) contenu dans la couleur— Le taux de bleu (blue) contenu dans la couleur.D’ou le nom rgb, comme red-green-blue. Voici un exemple de definition puis d’utilisation d’unecouleur de type rgb :
\definecolor{vertolive}{rgb}{0.5,0.5,0}
(bien entendu le nom “vertolive” est de notre choix). Cette definition est a inserer bien sur a l’en-tetedu document Latex. Ensuite, pour utiliser cette couleur que l’on vient de definir, on se sert de l’unedes deux syntaxes equivalentes suivantes :
{\color{vertolive} Texte voulu} ou \textcolor{vertolive}{Texte voulu}
On obtient alors :
Texte voulu
Noter bien que ces trois taux sont tous des nombres decimaux compris entre 0 et 1 mais leurs sommen’est pas obligatoirement egale a 1.Comme pour le premier type, si notre utilisation pour cette couleur est unique ou rare, on pourral’utiliser sans la definir prealablement. Pour ce faire, on utilise l’une des deux syntaxes equivalentessuivantes :
{\color[rgb]{0.5,0.5,0} Texte voulu} ou \textcolor[rgb]{0.5,0.5,0}{Texte voulu}
3eme type : il est defini par la syntaxe RGB. Ce codage (nomme RVB en francais) contient toutesles couleurs visibles par l’homme. Toute couleur est definie par trois entiers naturels, tous inferieursstrictement a 256 = 28. Ces nombres correspondent aux composantes du rouge, du vert et du bleudans une couleur donnee ; d’ou le nom RGB (comme Red-Green-Blue). En fait, chaque composanteest codee sur 8 bits, ce qui donne 28 = 256 niveaux d’intensite pour chacune d’elles. Noter quece codage est le plus utilise par les logiciels d’imagerie et c’est celui que nous preferons aussi pourLatex. En voici quelques exemples faciles de couleurs representees par ce codage :
27 c© http://farhi.bakir.free.fr/
![Page 32: Documentation avanc´ee en LATEX - Page web de Bakir FARHIfarhi.bakir.free.fr/index_fichiers/BakirLatex.pdf · 1.1.4 Les marges, l’espace en haut de page et l’espace en bas de](https://reader033.fdocuments.in/reader033/viewer/2022050102/5f4189f7e31df7144e7664c0/html5/thumbnails/32.jpg)
Bakir FARHI CHAPITRE 4. LES COULEURS
— Le rouge est evidemment un RGB(255, 0, 0).
— Le vert est evidemment un RGB(0, 255, 0).
— Le bleu est evidemment un RGB(0, 0, 255).
— Le jaune est un RGB(255, 255, 0) (c’est donc un melange du rouge et du vert avec unememe intensite, ce qui est bien connu).
— Le noir est un RGB(0, 0, 0).
— Le blanc est un RGB(255, 255, 255).
— Le cyan (ou le bleu clair) est un RGB(0, 255, 255).
— Le magenta est un RGB(255, 0, 255).
Pour chercher le codage RGB d’une couleur voulue, on peut consulter le site internet :
http://fr.wikipedia.org/wiki/Liste_de_couleurs .
Pour definir une couleur via son codage RGB, on utilise la commande :
\definecolor{Nom de votre choix}{RGB}{a,b,c}
ou a, b et c sont des entiers naturels inferieurs strictement a 256 et designant respectivement lesintensites du rouge, du vert et du bleu dans la couleur en question. Ensuite, pour utiliser cettecouleur afin de colorer par exemple un certain texte, on utilise comme avant l’une des deux syntaxesequivalentes suivantes :
{\color{Le nom choisi pour votre couleur} Texte voulu}
ou \textcolor{Le nom choisi pour votre couleur}{Texte voulu}
Pour utiliser de facon temporaire une couleur definie par son code RGB, on peut le faire sans definirprealablement cette couleur. La commande a utiliser est :
{\color[RGB]{a,b,c} Texte a colorer} ou \textcolor[RGB]{a,b,c}{Texte a colorer}
ou a, b et c designent respectivement les intensites du rouge, du vert et du bleu dans la couleur enquestion.
4eme type : il est defini par la syntaxe cmyk. Ce type contient toutes les couleurs. Il est code par 4taux qui sont : le taux de la couleur cyan, le taux de la couleur magenta, le taux de la couleur jaune(yellow) et le taux de la couleur noire. La definition d’une couleur via le codage cmyk se fait par lacommande :
\definecolor{Nom de votre choix}{cmyk}{a,b,c,d}
ou a, b, c et d sont les nombres decimaux compris entre 0 et 1 (mais de somme non forcementegale a 1) representant respectivement les taux du cyan, du magenta, du jaune et du noire dans lacouleur definie.Pour utiliser une couleur sans la definir prealablement, on utilise l’une des deux commandes equi-valentes suivantes :
{\color[cmyk]{a,b,c,d} Texte a colorer}
ou \textcolor[cmyk]{a,b,c,d}{Texte a colorer}
ou a, b, c et d sont les taux respectifs du cyan, du magenta, du jaune et du noire dans la couleurutilisee.
Une remarque supplementaire : On peut obtenir facilement le code rgb du code RGB et viceversa. Pour ce faire, on a la regle :
RGB(A,B,C) = rgb(a, b, c), avec a = A256
, b = B256
, c = C256
.
28 c© http://farhi.bakir.free.fr/
![Page 33: Documentation avanc´ee en LATEX - Page web de Bakir FARHIfarhi.bakir.free.fr/index_fichiers/BakirLatex.pdf · 1.1.4 Les marges, l’espace en haut de page et l’espace en bas de](https://reader033.fdocuments.in/reader033/viewer/2022050102/5f4189f7e31df7144e7664c0/html5/thumbnails/33.jpg)
Bakir FARHI CHAPITRE 4. LES COULEURS
4.3 Pour une liste exhaustive de couleurs
Pour avoir a sa disposition une liste plus exhaustive de couleurs (predefinies), on pourra utiliserle package xcolor avec l’une de ses trois differentes options : dvipsnames (qui charge 68 couleursdifferentes), svgnames (qui charge 151 couleurs differentes) et x11names (qui charge 317 couleursdifferentes !).
Exemple : En inserant a l’en-tete de notre document Latex le code :
\usepackage[x11names]{xcolor}
puis, au niveau du corps du meme document, la commande :
\textcolor{Red3}{Essai} % Red3 est l’une des couleurs chargees par l’option
x11names du package xcolor
on obtient ceci :
Essai
Les differentes couleurs que charge l’option dvipsnames du package xcolor sont donnees dans untableau a la page suivante. Pour les couleurs que nous offrent les deux autres options svgnames etx11names, on invite le lecteur a consulter l’internet (il les obtient immediatement par une simplerecherche google).
4.4 Comment utiliser rapidement avec WinEdt une couleur :
Sous WinEdt, il existe une facon simple d’utiliser ou de definir une couleur sans perdre sontemps a chercher son code. En cliquant sur l’icone se trouvant juste au dessous de I (de l’Italique),une palette de couleurs s’ouvre et il suffit de cliquer sur une couleur de notre choix pour que sacommande s’affiche sur le texte avec son code rgb. A droite de la palette, il y a egalement des casesa remplir par les intensites en code RGB d’une couleur a definir et voir immediatement cette couleur.
29 c© http://farhi.bakir.free.fr/
![Page 34: Documentation avanc´ee en LATEX - Page web de Bakir FARHIfarhi.bakir.free.fr/index_fichiers/BakirLatex.pdf · 1.1.4 Les marges, l’espace en haut de page et l’espace en bas de](https://reader033.fdocuments.in/reader033/viewer/2022050102/5f4189f7e31df7144e7664c0/html5/thumbnails/34.jpg)
Bakir FARHI CHAPITRE 4. LES COULEURS
4.5 Les couleurs generees par l’option dvipsnames du pa-
ckage xcolor
Code de la couleur La couleur en question
ApricotAquamarineBittersweetBlackBlueGreenBlueVioletBlueBrickRedBrownBurntOrangeCadetBlueCarnationPinkCeruleanCornflowerBlueCyanDandelionDarkOrchidEmeraldForestGreenFuchsiaGoldenrodGrayGreenYellowGreenJungleGreenLavenderLimeGreenMagentaMahoganyMaroonMelonMidnightBlueMulberryNavyBlue
Code de la couleur La couleur en question
OliveGreenOrangeRedOrangeOrchidPeachPeriwinklePineGreenPlumProcessBluePurpleRawSiennaRedOrangeRedVioletRedRhodamineRoyalBlueRoyalPurpleRubineRedSalmonSeaGreenSepiaSkyBlueSpringGreenTanTealBlueThistleTurquoiseVioletRedVioletWhiteWildStrawberryYellowGreenYellowOrangeYellow
30 c© http://farhi.bakir.free.fr/
![Page 35: Documentation avanc´ee en LATEX - Page web de Bakir FARHIfarhi.bakir.free.fr/index_fichiers/BakirLatex.pdf · 1.1.4 Les marges, l’espace en haut de page et l’espace en bas de](https://reader033.fdocuments.in/reader033/viewer/2022050102/5f4189f7e31df7144e7664c0/html5/thumbnails/35.jpg)
CHAPITRE 5
LES BOITES
5.1 Comment fabriquer des boites sans package particulier
5.1.1 Boites contenant un texte d’une ligne
En LATEX, pour fabriquer des boites contenant du texte, on utilise les commandes \fbox et\framebox. Ces deux commandes ne necessitent aucun package particulier. Les textes qu’on mettraa l’interieur de ces boites doivent tenir en une seule ligne 1.La commande \framebox comporte deux arguments optionnels. Le premier sert a fixer la largeurde la boite et le second sert a choisir l’alignement voulu au texte de la boite (alignement a gauche(l), alignement a droite (r), centralisation (c), repartition uniforme (s)).
Exemples :
1. Le code : \fbox{Une belle boite} donne :
Une belle boite
2. Le code : \framebox[6cm][c]{Une belle boite} donne :
Une belle boite
• L’epaisseur de la bordure est specifiee par le code : \setlength{\fboxrule}{epaisseur voulue}.
Exemple : Le code :
\setlength{\fboxrule}{2pt}
\framebox[8cm][c]{Rien de special!}
donne :
Rien de special !
• Les differents types d’alignement sont :
l (alignement a gauche)r (alignement a droite)c (centralisation)s (On repartit les mots du texte uniformement sur la longueur de la boite).
Exemple : Le code : \framebox[6cm][s]{Une belle boite} donne :
Une belle boite
Remarque : La commande \boxed est reservee a mettre dans une boite un texte mathematique(elle doit etre donc mise entre deux dollars).
1. Voir plus loin pour ce qui concerne les textes comportant plusieurs lignes.
31
![Page 36: Documentation avanc´ee en LATEX - Page web de Bakir FARHIfarhi.bakir.free.fr/index_fichiers/BakirLatex.pdf · 1.1.4 Les marges, l’espace en haut de page et l’espace en bas de](https://reader033.fdocuments.in/reader033/viewer/2022050102/5f4189f7e31df7144e7664c0/html5/thumbnails/36.jpg)
Bakir FARHI CHAPITRE 5. LES BOITES
Un exemple important et utile :Pour fabriquer une boite de largeur egale a 3 fois la largeur du texte qu’elle contiendra, lequel seracentre, on utilise le code \framebox[3\width]{le texte voulu}.Par exemple, le code : \framebox[3\width]{Une belle boite} donne :
Une belle boite
• Pour modifier l’espace entre le contenu de la boite et sa bordure, on utilise la commande \fboxsep.Par exemple, le code :
\setlength{\fboxsep}{1cm}
\fbox{Une belle boite}
donne :
Une belle boite
5.1.2 Boites contenant un paragraphe
Pour inserer tout un paragraphe dans une boite (avec la commande \fbox), on doit utiliser enplus la commande \parbox dont le premier parametre est la largeur de la boite et le second estson contenu. Pour controler l’alignement du texte de la boite, on utilise les commandes d’aligne-ment : \flushleft (alignement a gauche), \flushright (alignement a droite) et \centering
(centralisation).
Exemple : Le code 2
\fbox{\parbox{8cm}{\flushleft
Vers la fin du 19 eme siecle, beaucoup de mathematiciens comprirent
que l’integrale de Riemann devait etre remplacee par quelque autre
type d’integrale, tout a la fois plus souple, plus general et mieux
adapte au passage a la limite. Les tentatives les plus notables sont
dues a C. Jordan, E. Borel, W.H. Young et H. Lebesgue. Ce dernier
obtint la construction qui s’avera la plus reussie.
}
}
donne :
Vers la fin du 19 eme siecle, beaucoup demathematiciens comprirent que l’integrale deRiemann devait etre remplacee par quelqueautre type d’integrale, tout a la fois plussouple, plus general et mieux adapte aupassage a la limite. Les tentatives les plusnotables sont dues a C. Jordan, E. Borel,W.H. Young et H. Lebesgue. Ce dernier obtintla construction qui s’avera la plus reussie.
2. Le texte de la boite est extrait du livre de Walter Rudin, qui s’intitule ≪ Analyse reelle et complexe ≫ (traduiten francais par Jean Dhombres).
32 c© http://farhi.bakir.free.fr/
![Page 37: Documentation avanc´ee en LATEX - Page web de Bakir FARHIfarhi.bakir.free.fr/index_fichiers/BakirLatex.pdf · 1.1.4 Les marges, l’espace en haut de page et l’espace en bas de](https://reader033.fdocuments.in/reader033/viewer/2022050102/5f4189f7e31df7144e7664c0/html5/thumbnails/37.jpg)
Bakir FARHI CHAPITRE 5. LES BOITES
5.2 Boites avec le package fancybox
5.2.1 Boites contenant un texte d’une ligne
Le package fancybox (qu’on chargera a l’en-tete du fichier tex a travers la commande\usepackage{fancybox}) permet d’obtenir des boites a plusieurs types de bordures. Les com-mandes a utiliser sont :
• \doublebox (pour les boites a doubles bordures)• \ovalbox (pour les boites a bordures ovales)• \Ovalbox (pour les boites a bordures ovales et epaisses)• \shadowbox (pour les boites a ombre).
Exemples : Les codes :
\doublebox{double bordure}, \ovalbox{boite ovale},\Ovalbox{boite ovale a bordure epaisse} et \shadowbox{boite a ombre} donnent res-pectivement :
double bordure ,✞✝
☎✆boite ovale ,
✞✝ ☎✆boite ovale a bordure epaisse etboite a ombre
.
Quelques options supplementaires pour les commandes \ovalbox, \Ovalbox et \shadowbox :
• Pour les commandes \ovalbox et \Ovalbox, les rondeurs des coins arrondis peuvent etre modifieespar la commande \cornersize{rondeur voulue}.
• Pour la commande \shadowbox, la taille de l’ombre peut etre modifiee par la commande\setlength{\shadowsize}{taille voulue}.
Exemples : Le code :
\cornersize{1}
\ovalbox{coins arrondis}
donne :☛✡
✟✠coins arrondis
Et le code :
\setlength{\shadowsize}{8pt}
\shadowbox{ombre}
donne :
ombre.
5.2.2 Boites contenant un paragraphe
Les commandes \doublebox, \ovalbox, \Ovalbox et \shadowbox telles qu’on les a utiliseprecedemment ne peuvent fabriquer que des boites comportant une seule ligne. Pour qu’elles puissentfabriquer des boites comportant tout un paragraphe, il faudrait les combiner avec la commande\parbox ou avec l’environnement minipage.
Exemples :
1. Le code :
\doublebox{\parbox{6cm}{\flushleft
Vers la fin du 19 eme siecle, beaucoup de mathematiciens comprirent
que l’integrale de Riemann devait etre remplacee par quelque autre
33 c© http://farhi.bakir.free.fr/
![Page 38: Documentation avanc´ee en LATEX - Page web de Bakir FARHIfarhi.bakir.free.fr/index_fichiers/BakirLatex.pdf · 1.1.4 Les marges, l’espace en haut de page et l’espace en bas de](https://reader033.fdocuments.in/reader033/viewer/2022050102/5f4189f7e31df7144e7664c0/html5/thumbnails/38.jpg)
Bakir FARHI CHAPITRE 5. LES BOITES
type d’integrale, tout a la fois plus souple, plus general et mieux
adapte au passage a la limite. Les tentatives les plus notables sont
dues a C. Jordan, E. Borel, W.H. Young et H. Lebesgue. Ce dernier
obtint la construction qui s’avera la plus reussie.
}
}
donne :
Vers la fin du 19 eme siecle,beaucoup de mathematicienscomprirent que l’integrale deRiemann devait etre remplacee parquelque autre type d’integrale,tout a la fois plus souple, plusgeneral et mieux adapte aupassage a la limite. Les tentativesles plus notables sont dues a C.Jordan, E. Borel, W.H. Young etH. Lebesgue. Ce dernier obtint laconstruction qui s’avera la plusreussie.
2. Le code :
\Ovalbox{
\begin{minipage}{0.75\textwidth}
Vers la fin du 19 eme siecle, beaucoup de mathematiciens comprirent
que l’integrale de Riemann devait etre remplacee par quelque autre
type d’integrale, tout a la fois plus souple, plus general et mieux
adapte au passage a la limite. Les tentatives les plus notables sont
dues a C. Jordan, E. Borel, W.H. Young et H. Lebesgue. Ce dernier
obtint la construction qui s’avera la plus reussie.
\end{minipage}
}
donne :✬
✫
✩
✪
Vers la fin du 19 eme siecle, beaucoup de mathematiciens comprirentque l’integrale de Riemann devait etre remplacee par quelque autre typed’integrale, tout a la fois plus souple, plus general et mieux adapte au pas-sage a la limite. Les tentatives les plus notables sont dues a C. Jordan, E.Borel, W.H. Young et H. Lebesgue. Ce dernier obtint la construction quis’avera la plus reussie.
5.3 Boites de couleurs
Le package graphicx propose les commandes \colorbox et \fcolorbox qui permettent d’avoirdes boites de couleurs (fond et bordure). Ces deux commandes fonctionnent comme ceci :
1) Pour \colorbox :
Elle permet d’avoir une boite sans bordure avec une couleur de fond voulue.
Exemple : Le code : \colorbox{yellow}{Boite jaune} donne :
Boite jaune .
34 c© http://farhi.bakir.free.fr/
![Page 39: Documentation avanc´ee en LATEX - Page web de Bakir FARHIfarhi.bakir.free.fr/index_fichiers/BakirLatex.pdf · 1.1.4 Les marges, l’espace en haut de page et l’espace en bas de](https://reader033.fdocuments.in/reader033/viewer/2022050102/5f4189f7e31df7144e7664c0/html5/thumbnails/39.jpg)
Bakir FARHI CHAPITRE 5. LES BOITES
La aussi, pour avoir une boite de couleur (sans bordure) comportant tout un paragraphe, il faudraitcombiner cette commande avec la commande \parbox ou avec l’environnement minipage, commec’est deja explique auparavant.
2) Pour \fcolorbox :
Elle permet de creer une boite dont la bordure et le fond prennent des couleurs voulues.
Exemple : Le code : \fcolorbox{red}{yellow}{Demonstration} donne :
Demonstration .
Encore une fois, pour inclure tout un paragraphe dans une boite avec la commande \fcolorbox, ilfaudrait combiner cette commande soit avec la commande \parbox ou bien avec l’environnementminipage, comme c’est deja explique auparavant.
D’autres exemples ou les couleurs choisies sont definies a l’aide des codes gray, rgb ouRGB :
Le code :
\fcolorbox[gray]{0}{0.9}{\parbox{7cm}{\flushleft
Vers la fin du 19 eme siecle, beaucoup de mathematiciens comprirent
que l’integrale de Riemann devait etre remplacee par quelque autre
type d’integrale, tout a la fois plus souple, plus general et mieux
adapte au passage a la limite. Les tentatives les plus notables sont
dues a C. Jordan, E. Borel, W.H. Young et H. Lebesgue. Ce dernier
obtint la construction qui s’avera la plus reussie.
}
}
donne :
Vers la fin du 19 eme siecle, beaucoupde mathematiciens comprirent quel’integrale de Riemann devait etreremplacee par quelque autre typed’integrale, tout a la fois plus souple,plus general et mieux adapte au passagea la limite. Les tentatives les plusnotables sont dues a C. Jordan, E.Borel, W.H. Young et H. Lebesgue. Cedernier obtint la construction qui s’averala plus reussie.
Et le code :
\setlength{\fboxrule}{2pt}
\fcolorbox[RGB]{112,0,223}{255,128,0}{
\begin{minipage}{0.75\textwidth}
Vers la fin du 19 eme siecle, beaucoup de mathematiciens comprirent
que l’integrale de Riemann devait etre remplacee par quelque autre
type d’integrale, tout a la fois plus souple, plus general et mieux
adapte au passage a la limite. Les tentatives les plus notables sont
dues a C. Jordan, E. Borel, W.H. Young et H. Lebesgue. Ce dernier
obtint la construction qui s’avera la plus reussie.
\end{minipage}
}
35 c© http://farhi.bakir.free.fr/
![Page 40: Documentation avanc´ee en LATEX - Page web de Bakir FARHIfarhi.bakir.free.fr/index_fichiers/BakirLatex.pdf · 1.1.4 Les marges, l’espace en haut de page et l’espace en bas de](https://reader033.fdocuments.in/reader033/viewer/2022050102/5f4189f7e31df7144e7664c0/html5/thumbnails/40.jpg)
Bakir FARHI CHAPITRE 5. LES BOITES
donne :
Vers la fin du 19 eme siecle, beaucoup de mathematiciens comprirentque l’integrale de Riemann devait etre remplacee par quelque autre typed’integrale, tout a la fois plus souple, plus general et mieux adapte au pas-sage a la limite. Les tentatives les plus notables sont dues a C. Jordan, E.Borel, W.H. Young et H. Lebesgue. Ce dernier obtint la construction quis’avera la plus reussie.
5.4 Boites a titre
On va maintenant decouvrir comment fabriquer une boite avec bordure et un titre qui se situe pardessus de cette bordure. Pour ce faire, on utilise la commande \boxput qui permet de superposerdeux boites.
La commande \boxput prend deux boites en parametres et place la premiere boite derriere laseconde. La commande \boxput* joue le meme role mais elle place la seconde boite derriere lapremiere.
Enfin, on doit specifier deux coordonnees qui indiquent ou la premiere boite est placee par rapporta la seconde. Par exemple :— Les coordonnees (0,0) indiquent que la premiere boite est centree (horizontalement et verticale-ment) par rapport a la seconde.— Les coordonnees (0,1) indiquent que la premiere boite est centree (horizontalement) et se trouveen haut par rapport a la seconde.— Les coordonnees (1,0) indiquent que la premiere boite se trouve a droite et elle est centree (ver-ticalement) par rapport a la seconde.— Les coordonnees (-1,-1) indiquent que la premiere boite se trouve a gauche et en bas de laseconde.
En tout, on a 9 cas possibles pour les coordonnees a specifier, puisque ces coordonnees appartiennenta l’ensemble :
{(x, y) : x ∈ {−1, 0, 1} et y ∈ {−1, 0, 1}}.
La syntaxe des commandes \boxput (resp. \boxput*) est :
\boxput(x,y){1ere boite}{2nde boite} (resp. \boxput*(x,y){1ere boite}{2nde boite}).
Exemple :
On veut fabriquer une boite sans bordure, de fond gris, contenant un texte qui se trouve separe de lafrontiere de 10 points et on veut que cette boite porte un titre qui se trouvera en haut et au centre(en plus, ecrit en gras). Pour ce faire, on utilisera la commande \boxput* dans laquelle la premiereboite sera juste le titre (qui va etre considere comme une boite sans bordure, de fond blanc) et laseconde boite sera la boite a texte, de fond gris, en question. Le code complet est le suivant :
\boxput*(0,1){
\colorbox{white}{\bf Les integrales de Lebesgue}
}{
\setlength{\fboxsep}{10pt}
\colorbox[gray]{0.7}{\begin{minipage}{0.8\textwidth}
Vers la fin du 19 eme siecle, beaucoup de mathematiciens comprirent
que l’integrale de Riemann devait etre remplacee par quelque autre
type d’integrale, tout a la fois plus souple, plus general et mieux
adapte au passage a la limite. Les tentatives les plus notables sont
dues a C. Jordan, E. Borel, W.H. Young et H. Lebesgue. Ce dernier
obtint la construction qui s’avera la plus reussie.
\end{minipage}}
}
36 c© http://farhi.bakir.free.fr/
![Page 41: Documentation avanc´ee en LATEX - Page web de Bakir FARHIfarhi.bakir.free.fr/index_fichiers/BakirLatex.pdf · 1.1.4 Les marges, l’espace en haut de page et l’espace en bas de](https://reader033.fdocuments.in/reader033/viewer/2022050102/5f4189f7e31df7144e7664c0/html5/thumbnails/41.jpg)
Bakir FARHI CHAPITRE 5. LES BOITES
Ce qui donne :
Vers la fin du 19 eme siecle, beaucoup de mathematiciens comprirent quel’integrale de Riemann devait etre remplacee par quelque autre type d’integrale,tout a la fois plus souple, plus general et mieux adapte au passage a la limite.Les tentatives les plus notables sont dues a C. Jordan, E. Borel, W.H. Young etH. Lebesgue. Ce dernier obtint la construction qui s’avera la plus reussie.
Les integrales de Lebesgue
5.5 Utilisation des boites pour empecher certaines cesures
LATEX
LATEX fait souvent des cesures indesirables pour ne pas depasser la ligne. Pour empecher LATEXde commettre ces cesures, quitte a depasser la ligne s’il le faut, les specialistes utilisent des boitessans bordure et sans couleur. L’idee consiste a mettre le mot (ou le texte) a ne pas couper dans uneboite (sans bordure et sans couleur). LATEX ne saura jamais decouper une boite ; ce qui fait que lemot (ou le texte) de la boite restera toujours sur une meme ligne.Les codes permettant de creer des boites sans bordure et sans couleur sont de deux types : \mboxet \makebox.• Pour \mbox, la syntaxe est simple :
\mbox{le mot ou le texte a ne pas decouper}
• Pour \makebox, c’est la meme syntaxe mais elle met a notre disposition deux options facultatives :la premiere pour specifier la longueur de la boite et la seconde pour preciser l’alignement horizontaldu texte a l’interieur de la boite
(
alignement a gauche (l), alignement a droite (r), centralisation
(c) ou repartition uniforme des mots du texte (s))
. Ainsi, le code :
\mbox{salut tout le monde}\\
\makebox[8cm][l]{salut tout le monde}\\
\makebox[8cm][r]{salut tout le monde}\\
\makebox[8cm][c]{salut tout le monde}\\
\makebox[8cm][s]{salut tout le monde}
donne :
salut tout le mondesalut tout le monde
salut tout le mondesalut tout le monde
salut tout le monde
Exemple d’utilisation d’une boite pour eviter une cesure :
La phrase :
Pour Gauss et pour beaucoup de mathematiciens du monde, la theorie des nombres
est incontestablement la reine des mathematiques.
(ainsi tapee) donne apres compilation :
Pour Gauss et pour beaucoup de mathematiciens du monde, la theorie des nombres est incontesta-blement la reine des mathematiques.
ou l’on constate que le mot “incontestablement” est decoupe en incontesta-blement. Pour evitercette coupure, on devra taper la phrase precedente comme ceci :
37 c© http://farhi.bakir.free.fr/
![Page 42: Documentation avanc´ee en LATEX - Page web de Bakir FARHIfarhi.bakir.free.fr/index_fichiers/BakirLatex.pdf · 1.1.4 Les marges, l’espace en haut de page et l’espace en bas de](https://reader033.fdocuments.in/reader033/viewer/2022050102/5f4189f7e31df7144e7664c0/html5/thumbnails/42.jpg)
Bakir FARHI CHAPITRE 5. LES BOITES
Pour Gauss et pour beaucoup de mathematiciens du monde, la theorie des nombres
est \mbox{incontestablement} la reine des mathematiques.
Ce qui donne (apres compilation) :
Pour Gauss et pour beaucoup de mathematiciens du monde, la theorie des nombres est incontestablementla reine des mathematiques.
(Constater que le mot “incontestablement” n’est plus decoupe en deux).
5.6 Le package framed
Le package framed, qu’on chargera via la commande \usepackage{framed}, laquelle on mettraa l’en-tete du document LATEX, propose de nouveaux environnements permettant de creer des boitesdont le contenu pourrait etre un paragraphe (c’est-a-dire un texte comportant plusieurs lignes) etceci sans passer par la commande \parbox ni par l’environnement minipage ; ce qui est donc trespratique. Les boites creees par ces environnements peuvent contenir aussi plusieurs pages de texte !
5.6.1 Les differents environnements du package framed
Les plus importants environnements du package framed sont :
1. L’environnement framed :
Cet environnement cree une boite simple pouvant contenir un paragraphe de n’importe quelle taille(meme s’il prend plusieurs pages !). La boite qu’il cree est du meme type que celle que cree lacommande \fbox (vue precedemment).
Exemple 1 : Le code 3 :
\begin{framed}
Je reve d’un jour o\‘u l’egoısme ne regnera plus dans
les sciences, o\‘u on s’associera pour etudier, au lieu
d’envoyer aux academiciens des plis cachetes, on
s’empressera de publier ses moindres observations
pour peu qu’elles soient nouvelles, et on ajoutera \og je
ne sais pas le reste \fg.
\end{framed}
donne :
Je reve d’un jour ou l’egoısme ne regnera plus dans les sciences, ou on s’associera pouretudier, au lieu d’envoyer aux academiciens des plis cachetes, on s’empressera de publier sesmoindres observations pour peu qu’elles soient nouvelles, et on ajoutera ≪ je ne sais pas lereste ≫.
Pour modifier l’epaisseur de la bordure creee par cet environnement, on utilise la commande :\FrameRule=epaisseur voulu, qu’on mettra juste avant l’environnement framed. Et pour modi-fier l’espace separant le texte de la boite de sa bordure, on utilise la commande :\FrameSep=espace voulu, qu’on mettra aussi juste avant l’environnement framed.
Exemple 2 : Le code :
3. Ce texte fut ecrit par Evariste Galois (mathematicien francais du 19eme siecle).
38 c© http://farhi.bakir.free.fr/
![Page 43: Documentation avanc´ee en LATEX - Page web de Bakir FARHIfarhi.bakir.free.fr/index_fichiers/BakirLatex.pdf · 1.1.4 Les marges, l’espace en haut de page et l’espace en bas de](https://reader033.fdocuments.in/reader033/viewer/2022050102/5f4189f7e31df7144e7664c0/html5/thumbnails/43.jpg)
Bakir FARHI CHAPITRE 5. LES BOITES
\FrameRule=2pt
\FrameSep=1cm
\begin{framed}
Je reve d’un jour o\‘u l’egoısme ne regnera plus dans
les sciences, o\‘u on s’associera pour etudier, au lieu
d’envoyer aux academiciens des plis cachetes, on
s’empressera de publier ses moindres observations
pour peu qu’elles soient nouvelles, et on ajoutera \og je
ne sais pas le reste \fg.
\end{framed}
donne :
Je reve d’un jour ou l’egoısme ne regnera plus dans les sciences, ou on s’associerapour etudier, au lieu d’envoyer aux academiciens des plis cachetes, on s’empressera depublier ses moindres observations pour peu qu’elles soient nouvelles, et on ajoutera ≪ jene sais pas le reste ≫.
2. L’environnement oframed :
Sa seule difference avec l’environnement framed est le fait qu’il laisse ouvertes d’en bas (resp. d’enhaut) les boites qu’il construit en chaque page jusqu’a l’avant derniere (resp. sauf la premiere).Autrement dit, les boites de chaque page contenant le texte de l’environnement oframed sontouvertes d’en haut et d’en bas, sauf la premiere qui est ouverte juste d’en bas et la derniere qui estouverte juste d’en haut. On comprend bien donc que cet environnement est fait pour construire desboites contenant un texte tres long qui se tient en plusieurs pages.
3. L’environnement shaded :
Cet environnement est l’analogue de la commande \colorbox. Il cree une boite de couleur sansbordure pouvant contenir un paragraphe de n’importe quelle taille (meme s’il prend plusieurs pages).Avant d’utiliser l’environnement shaded, on doit obligatoirement lui preciser la couleur voulue dufond de la boite (voir les deux exemples ci-dessous).
Exemple 1 : Le code :
\definecolor{shadecolor}{gray}{0.9}
\begin{shaded}
Je reve d’un jour o\‘u l’egoısme ne regnera plus dans
les sciences, o\‘u on s’associera pour etudier, au lieu
d’envoyer aux academiciens des plis cachetes, on
s’empressera de publier ses moindres observations
pour peu qu’elles soient nouvelles, et on ajoutera \og je
ne sais pas le reste \fg.
\end{shaded}
donne :
39 c© http://farhi.bakir.free.fr/
![Page 44: Documentation avanc´ee en LATEX - Page web de Bakir FARHIfarhi.bakir.free.fr/index_fichiers/BakirLatex.pdf · 1.1.4 Les marges, l’espace en haut de page et l’espace en bas de](https://reader033.fdocuments.in/reader033/viewer/2022050102/5f4189f7e31df7144e7664c0/html5/thumbnails/44.jpg)
Bakir FARHI CHAPITRE 5. LES BOITES
Je reve d’un jour ou l’egoısme ne regnera plus dans les sciences, ou on s’associera pour etudier,au lieu d’envoyer aux academiciens des plis cachetes, on s’empressera de publier ses moindres ob-servations pour peu qu’elles soient nouvelles, et on ajoutera ≪ je ne sais pas le reste ≫.
Exemple 2 : Le code :
\definecolor{shadecolor}{rgb}{1,1,0}
\begin{shaded}
Je reve d’un jour o\‘u l’egoısme ne regnera plus dans
les sciences, o\‘u on s’associera pour etudier, au lieu
d’envoyer aux academiciens des plis cachetes, on
s’empressera de publier ses moindres observations
pour peu qu’elles soient nouvelles, et on ajoutera \og je
ne sais pas le reste \fg.
\end{shaded}
donne :
Je reve d’un jour ou l’egoısme ne regnera plus dans les sciences, ou on s’associera pour etudier,au lieu d’envoyer aux academiciens des plis cachetes, on s’empressera de publier ses moindres ob-servations pour peu qu’elles soient nouvelles, et on ajoutera ≪ je ne sais pas le reste ≫.
4. L’environnement leftbar :
L’environnement leftbar permet de generer un trait vertical dans la marge de gauche du texte qu’ilcontient.
Exemple : Le code :
\begin{leftbar}
Je reve d’un jour o\‘u l’egoısme ne regnera plus dans
les sciences, o\‘u on s’associera pour etudier, au lieu
d’envoyer aux academiciens des plis cachetes, on
s’empressera de publier ses moindres observations
pour peu qu’elles soient nouvelles, et on ajoutera \og je
ne sais pas le reste \fg.
\end{leftbar}
donne :
Je reve d’un jour ou l’egoısme ne regnera plus dans les sciences, ou on s’associera pour etudier,au lieu d’envoyer aux academiciens des plis cachetes, on s’empressera de publier ses moindresobservations pour peu qu’elles soient nouvelles, et on ajoutera ≪ je ne sais pas le reste ≫.
5.6.2 Comment redefinir l’environnement leftbar pour pouvoir modifiercertaines de ses mesures et de ses couleurs
L’environnement leftbar tel qu’il est defini ci-dessus nous laisse guere le choix sur ses mesures(comme l’epaisseur du trait vertical et l’espace separant ce trait du texte de l’environnement) etses couleurs (comme la couleur du trait vertical et la couleur de fond du texte de l’environnement).Pour pouvoir modifier ces mesures et ces couleurs, on a cree un petit programme LATEX qu’on devraitmettre au preambule de notre document (avant \begin{document}). Ce programme est le suivant :
40 c© http://farhi.bakir.free.fr/
![Page 45: Documentation avanc´ee en LATEX - Page web de Bakir FARHIfarhi.bakir.free.fr/index_fichiers/BakirLatex.pdf · 1.1.4 Les marges, l’espace en haut de page et l’espace en bas de](https://reader033.fdocuments.in/reader033/viewer/2022050102/5f4189f7e31df7144e7664c0/html5/thumbnails/45.jpg)
Bakir FARHI CHAPITRE 5. LES BOITES
\newlength{\leftbarwidth}
\newlength{\leftbarsep}
\newcommand*{\leftbarcolorcmd}{\color{leftbarcolor}}
\renewenvironment{leftbar}{
\def\FrameCommand{{\leftbarcolorcmd{
\vrule width \leftbarwidth \hspace{\leftbarsep}}}
\fboxsep=\FrameSep\colorbox{colorboxcolor}
}
\MakeFramed {\advance \hsize-\width \FrameRestore}
}{
\endMakeFramed}
Attention : Ne pas oublier de charger les packages framed et color (ou xcolor).
Pour construire apres, dans le corps de notre document, un texte avec une barre verticale a sa gauchetel que :
— L’epaisseur de la barre verticale soit de 1 pt,— L’espace qui separe la barre verticale du texte soit de 2 pt (en plus des 4 pt qui sont laissees
par defaut),— La couleur de la barre verticale soit rouge,— La couleur de fond du texte soit jaune ;
on tape 4 :
\setlength{\leftbarwidth}{1pt}
\setlength{\leftbarsep}{2pt}
\colorlet{leftbarcolor}{red}
\colorlet{colorboxcolor}{yellow}
\begin{leftbar}\noindent
Beaucoup de rois et de princes du monde islamique medieval ont
cree dans leurs pays des conditions favorables pour le travail
des mathematiciens et astronomes. Mais on trouve peu d’exemples
d’un roi qui s’est occupe lui-meme de l’etude des sciences mathematiques.
Un cas bien connu est celui d’Ulugh Beg, roi a Samarcande au commencement
du quinzieme siecle, qui a fonde un observatoire astronomique, dans
lequel il a employe plus de soixante mathematiciens et astronomes, et
qui a lui-meme participe activement aux discussions des sujets mathematiques
et astronomiques. Moins connu jusqu’a present etait le cas des deux
{\sc Bani Hud}, rois de Saragosse, en Espagne: {\sc Ahmad Al-Muqtadir},
qui regna de 1041 jusqu’a 1081, et son fils et successeur {\sc Al-Mutaman},
qui mourut en 1085.
\end{leftbar}
Ce qui donne :
4. Ce texte est extrait de l’article de J.P. Hogendijk, intitule : “Le Roi-Geometre al-Mutaman Ibn Hud etson livre de la perfection (Kitab al-Istikmal)”.
41 c© http://farhi.bakir.free.fr/
![Page 46: Documentation avanc´ee en LATEX - Page web de Bakir FARHIfarhi.bakir.free.fr/index_fichiers/BakirLatex.pdf · 1.1.4 Les marges, l’espace en haut de page et l’espace en bas de](https://reader033.fdocuments.in/reader033/viewer/2022050102/5f4189f7e31df7144e7664c0/html5/thumbnails/46.jpg)
Bakir FARHI CHAPITRE 5. LES BOITES
Beaucoup de rois et de princes du monde islamique medieval ontcree dans leurs pays des conditions favorables pour le travail desmathematiciens et astronomes. Mais on trouve peu d’exemples d’unroi qui s’est occupe lui-meme de l’etude des sciences mathematiques.Un cas bien connu est celui d’Ulugh Beg, roi a Samarcande au com-mencement du quinzieme siecle, qui a fonde un observatoire astrono-mique, dans leguel il a employe plus de soixante mathematiciens etastronomes, et qui a lui-meme participe activement aux discussions dessujets mathematiques et astronomiques. Moins connu jusqu’a presentetait le cas des deux Bani Hud, rois de Saragosse, en Espagne : Ah-
mad Al-Muqtadir, qui regna de 1041 jusqu’a 1081, et son fils etsuccesseur Al-Mutaman, qui mourut en 1085.
Une derniere remarque : Pour ne laisser aucun espace entre la barre verticale et le texte enquestion, utiliser le code \setlength{\leftbarsep}{-4pt}.
42 c© http://farhi.bakir.free.fr/
![Page 47: Documentation avanc´ee en LATEX - Page web de Bakir FARHIfarhi.bakir.free.fr/index_fichiers/BakirLatex.pdf · 1.1.4 Les marges, l’espace en haut de page et l’espace en bas de](https://reader033.fdocuments.in/reader033/viewer/2022050102/5f4189f7e31df7144e7664c0/html5/thumbnails/47.jpg)
CHAPITRE 6
LES FIGURES
6.1 Elements de base
Pour inserer une figure (ou une image) en Latex, on a besoin du package :
\usepackage{graphicx}
qu’il faudrait donc charger prealablement a l’en-tete de votre document Latex.Pour inserer ensuite une figure a l’interieur du document, on utilise l’environnement figure. Si parexemple le nom de notre figure est khawarizmi.eps, le code d’insertion de celle-ci serait :
\begin{figure}
\centering
\includegraphics{khawarizmi.eps}
\caption{Le grand mathematicien arabe al-Khawarizmi}
\label{kha}
\end{figure}
Explication du code :
1. Les commandes \begin{figure} et \end{figure} definissent l’environnement figure. Cet en-vironnement demande a Latex de placer la figure en question dans l’endroit le plus convenable.
Pour placer notre figure dans un endroit de notre choix (meme s’il n’est pas convenable), on doitajouter a \begin{figure} l’une des lettres : h, t, b ou p qu’on mettra entre deux crochets commececi :
\begin{figure}[h]
La signification de chacune des lettres h, t, b et p est donnee par ce qui suit :
• h (comme here) permet de placer la figure la ou l’on est arrive dans le tapement de notredocument.
• t (comme top) permet de placer la figure tout en haut de la page courante du document.
• b (comme bottom) permet de placer la figure tout en bas de la page courante du document.
• p (comme page) permet de placer la figure sur une page separee (apres la page courante).
Pour insister sur son choix de placement de sa figure, on ajoute un point d’exclamation juste avantl’une des lettres h, t, b ou p, comme ceci :
\begin{figure}[!h]
43
![Page 48: Documentation avanc´ee en LATEX - Page web de Bakir FARHIfarhi.bakir.free.fr/index_fichiers/BakirLatex.pdf · 1.1.4 Les marges, l’espace en haut de page et l’espace en bas de](https://reader033.fdocuments.in/reader033/viewer/2022050102/5f4189f7e31df7144e7664c0/html5/thumbnails/48.jpg)
Bakir FARHI CHAPITRE 6. LES FIGURES
2. La commande \centering permet juste de centrer la figure.
3. La commande \includegraphics est celle qui insere la figure souhaitee (dans notre exemple, ils’agit de la figure khawarizmi.eps).Noter que la figure a inserer doit se trouver dans le meme repertoire que le document Latex enquestion. Pour une gestion plus aisee et plus professionnelle des figures necessaires a un documentLatex, on conseille de mettre toutes ces figures dans un meme repertoire que l’on met (obligatoire-ment) dans le meme endroit ou se trouve notre document Latex. Dans notre exemple precedent, sinotre figure khawarizmi.eps se trouvait dans un repertoire nomme Rep, on aurait informer Latex dece repertoire par le code :
\includegraphics{Rep/khawarizmi.eps}
4. La commande \caption associe une legende (c’est-a-dire un titre) a notre figure. Cette legendeapparaıtra, selon le placement du code \caption, en dessus ou en dessous de la figure en question.Pour notre exemple precedent, on obtient (apres compilation) ce qui suit :
Figure 6.1 – Le grand mathematicien arabe al-Khawarizmi
Noter que la numerotation des figures est automatique et est toujours precedee du nom Fig. pardefaut ; on verra plus loin comment eliminer ou changer ce nom par un autre. Noter aussi que leplacement de la legende d’une figure est (par defaut) centre par rapport a la largeur de la figure.
5. Finalement, la commande \label a pour role de referencer la figure en lui attribuant un mot cle.Dans notre cas le mot cle est kha. Pour se referer alors a cette figure dans notre document Latex,on ecrira par exemple :
...(voir la figure \ref{kha})...
Ce qui donnera dans les fichiers dvi et pdf :
. . .(voir la figure 6.1) . . .
Pour se referer a la page ou se trouve notre figure, on ecrira dans notre document Latex :
...(voir la figure de la page \pageref{kha})...
Ce qui donnera :
. . .(voir la figure de la page 44) . . .
Remarque : On n’est pas oblige de preciser l’extension (ici eps) de la figure a inserer dans undocument Latex. On aurait pu ecrire simplement dans l’exemple precedent :
\includegraphics{khawarizmi}
44 c© http://farhi.bakir.free.fr/
![Page 49: Documentation avanc´ee en LATEX - Page web de Bakir FARHIfarhi.bakir.free.fr/index_fichiers/BakirLatex.pdf · 1.1.4 Les marges, l’espace en haut de page et l’espace en bas de](https://reader033.fdocuments.in/reader033/viewer/2022050102/5f4189f7e31df7144e7664c0/html5/thumbnails/49.jpg)
Bakir FARHI CHAPITRE 6. LES FIGURES
6.2 Comment modifier la taille d’une figure a inserer
La commande \includegraphics contient des arguments qui permettent de modifier la taille desa figure d’origine. Les plus utilises parmi ces arguments sont :
• width (qui veut dire largeur en anglais) : Il sert a specifier la largeur que l’on souhaite adaptera sa figure en l’agrandissant ou on la reduisant. Il est donne en cm, mm ou pt.
• height (qui veut dire hauteur en anglais) : Il sert a specifier la hauteur que l’on souhaiteadapter a sa figure. Il est donne en cm, mm ou pt.
• scale (qui veut dire echelle en anglais) : Il sert a specifier l’echelle que l’on souhaite adaptera sa figure (par exemple egale a 0.5 si l’on souhaite reduire a moitie les dimensions de safigure ; egale a 2 si l’on souhaite les doubler).
• angle : Il sert a specifier l’angle de rotation (dans le sens contraire a l’aiguille d’une montre)que l’on souhaite faire subir a sa figure. Il est donne en degre.
Ces arguments doivent etre specifies entre crochets juste apres la commande \includegraphics.Si l’on souhaite par exemple que notre figure khawarizmi.eps soit reduite a une largeur de 3 cm etune hauteur de 6 cm, on ecrira le code :
\includegraphics[width=3cm,height=6cm]{khawarizmi}
Si l’on souhaite maintenant que notre figure prenne par exemple comme largeur la moitie de lalargeur d’une ligne (complete) de texte dans notre document et qu’elle prenne comme hauteur 3/10de la hauteur d’une page (en texte) de notre document, on ecrira le code :
\includegraphics[width=0.5\textwidth,height=0.3\textheight]{khawarizmi}
La specification width=0.5\textwidth pourrait s’averer tres utile pour ecrire un texte suivi, a soncote droit, d’une figure (graphique, image ou photo) comme c’est le cas par exemple d’un CV avecphoto. On reviendra la dessus un peu plus loin.
Si l’on souhaite maintenant que notre figure se reduise a la moitie de ses dimensions reelles, onecrira le code :
\includegraphics[scale=0.5]{khawarizmi}
Noter que dans \includegraphics, il est possible de ne mettre aucun argument (comme on l’adeja fait tout au debut de ce chapitre), comme il est aussi possible d’en mettre un ou plusieurs.
6.3 Comment mettre sa figure dans un cadre
Pour qu’une figure inseree apparaisse dans un cadre, on utilisera la commande \fbox. Pour notreexemple, on devra ecrire le code :
\fbox{\includegraphics[...]{khawarizmi}}
On peut aussi mettre notre figure dans un cadre specifique. Pour notre exemple, si l’on souhaiteencadrer notre figure khawarizmi.eps dans un cadre qui sera espace d’elle de 1 cm et aura unebordure d’epaisseur 2 pt, on tapera le code :
\setlength\fboxsep{1cm}
\setlength\fboxrule{2pt}
\fbox{\includegraphics[...]{khawarizmi}}
Ce qui donnera ceci :
45 c© http://farhi.bakir.free.fr/
![Page 50: Documentation avanc´ee en LATEX - Page web de Bakir FARHIfarhi.bakir.free.fr/index_fichiers/BakirLatex.pdf · 1.1.4 Les marges, l’espace en haut de page et l’espace en bas de](https://reader033.fdocuments.in/reader033/viewer/2022050102/5f4189f7e31df7144e7664c0/html5/thumbnails/50.jpg)
Bakir FARHI CHAPITRE 6. LES FIGURES
Figure 6.2 – Le grand mathematicien arabe al-Khawarizmi
(Bien entendu, on a reduit les dimensions de notre figure d’origine en utilisant les commandes citeesauparavant).
6.4 Insertion de figures d’extension autre que eps
• Si l’on compile avec LATEX, le seul format de figures accepte est le format eps (EncapsulatedPostScript). Le format eps est defini par le systeme Adobe ; c’est un format vectoriel 1 de tres hautequalite, ce qui donne la facilite a Latex de le redimensionner comme on le souhaite sans que la figureperde sa qualite.
Plusieurs logiciels convertissent facilement les formats jpg, png ou pdf en eps. Par exemple Gsview
convertit les format pdf et ps en eps ; le logiciel professionnel Adobe Illustrator convertit presquen’importe quel format d’image au format eps.
Pour convertir une image d’extension jpg ou png au format eps sans utiliser le logiciel commercialAdobe Illustrator, on peut proceder comme suit :— On convertit d’abord l’image en question au format pdf en utilisant par exemple le logiciel gratuitPDFill ou en utilisant simplement une imprimante virtuelle telle pdf 995.— Ensuite, on utilise Gsview pour convertir l’image pdf ainsi obtenue au format eps.
• Si l’on compile avec PDFLATEX pour obtenir directement le fichier pdf de notre document, on a lechoix sur le format de la figure a inserer : Les formats jpg, png et pdf sont acceptes. Le format jpg estparticulierement ideal pour les photos. En revanche, on ne peut pas inserer une figure de format eps.Noter aussi que la mention de l’extension de la figure a inserer via la commande \includegraphicsn’est pas obligatoire.
• Lorsqu’un fichier pdf contient plusieurs pages et que l’on souhaite inserer precisement commefigure dans un document Latex, la page numero n de ce fichier, on indiquera ceci a Latex parl’argument “page=n” qu’on ajoutera entre crochets a la commande \includegraphics commececi :
\includegraphics[page=n]{nom du fichier pdf en question}
Exemple : On souhaite inserer dans le present document la page 8 de mon livre sur les sujets deBrevet, c’est-a-dire la page 8 du fichier pdf nomme bef.pdf. On devra alors utiliser le code suivant :
1. La qualite de l’image reste la meme lorsqu’on agrandit la figure.
46 c© http://farhi.bakir.free.fr/
![Page 51: Documentation avanc´ee en LATEX - Page web de Bakir FARHIfarhi.bakir.free.fr/index_fichiers/BakirLatex.pdf · 1.1.4 Les marges, l’espace en haut de page et l’espace en bas de](https://reader033.fdocuments.in/reader033/viewer/2022050102/5f4189f7e31df7144e7664c0/html5/thumbnails/51.jpg)
Bakir FARHI CHAPITRE 6. LES FIGURES
\begin{figure}[!h]
\centering
\includegraphics[scale=0.3,page=8]{bef}
\caption{La page 8 de mon livre de BEF}
\end{figure}
Ce qui donnera apres compilation, en utilisant obligatoirement PDFLATEX (et non pas LATEX), ceci :
Figure 6.3 – La page 8 de mon livre de BEF
N.B : Sans indiquer le numero de la page a inserer d’un fichier pdf, PDFLATEX insere par defaut lapremiere page du fichier.
6.5 Insertion de plusieurs figures cote a cote
On dispose de photos (en format eps) des trois grands mathematiciens arabes : Al Khawarizmi, AbuKamil et Abu al Wafa. Les fichiers eps en question sont nommes :
khawarizmi2.epsabukamil.epsabualwafa.eps
Pour mettre ces trois photos cote a cote avec une meme legende, on peut utiliser simplement lecode suivant :
\begin{figure}[!h]
\centering
\includegraphics[width=0.3\textwidth,height=5cm]{khawarizmi2}
\includegraphics[width=0.3\textwidth,height=5cm]{abukamil}
\includegraphics[width=0.3\textwidth,height=5cm]{abualwafa} \\
\caption{Trois grands mathematiciens arabes}
\end{figure}
Ce qui donne apres compilation ceci :
47 c© http://farhi.bakir.free.fr/
![Page 52: Documentation avanc´ee en LATEX - Page web de Bakir FARHIfarhi.bakir.free.fr/index_fichiers/BakirLatex.pdf · 1.1.4 Les marges, l’espace en haut de page et l’espace en bas de](https://reader033.fdocuments.in/reader033/viewer/2022050102/5f4189f7e31df7144e7664c0/html5/thumbnails/52.jpg)
Bakir FARHI CHAPITRE 6. LES FIGURES
Figure 6.4 – Trois grands mathematiciens arabes
Noter bien que l’on a redimensionne nos photos a une meme largeur (qui fait 0.3 de la largeur d’uneligne de texte) et une meme hauteur (qui est de 5 cm). Ceci a pour but d’avoir un alignement ideal.
Au lieu du code ci-dessus, on peut utiliser un code plus professionnel mais qui donne quasiment lememe resultat. Il s’agit d’un code utilisant en plus l’environnement tabular pour mettre chacune destrois photos dans une case d’un tableau de format : 1 lignes × 3 colonnes. Il est donne par :
\begin{figure}[!h]
\centering
\begin{tabular}{ccc}
\includegraphics[width=0.3\textwidth,height=5cm]{khawarizmi2} &
\includegraphics[width=0.3\textwidth,height=5cm]{abukamil} &
\includegraphics[width=0.3\textwidth,height=5cm]{abualwafa}
\end{tabular}
\caption{Trois grands mathematiciens arabes}
\end{figure}
Ce qui donne apres compilation ceci :
Figure 6.5 – Trois grands mathematiciens arabes
On constate que la seule difference avec le code d’avant est qu’ici les trois photos sont un peu plusespacees entre elles.
Si l’on souhaite maintenant faire apparaıtre au dessous de chacune des trois photos le nom dumathematicien qu’elle represente, il est necessaire d’utiliser l’environnement tabular afin de creer (al’interieur de l’environnement figure) un tableau de format : 2 lignes × 3 colonnes. Le code completest le suivant :
\begin{figure}[!h]
\centering
\begin{tabular}{ccc}
48 c© http://farhi.bakir.free.fr/
![Page 53: Documentation avanc´ee en LATEX - Page web de Bakir FARHIfarhi.bakir.free.fr/index_fichiers/BakirLatex.pdf · 1.1.4 Les marges, l’espace en haut de page et l’espace en bas de](https://reader033.fdocuments.in/reader033/viewer/2022050102/5f4189f7e31df7144e7664c0/html5/thumbnails/53.jpg)
Bakir FARHI CHAPITRE 6. LES FIGURES
\includegraphics[width=0.3\textwidth,height=5cm]{khawarizmi2} &
\includegraphics[width=0.3\textwidth,height=5cm]{abukamil} &
\includegraphics[width=0.3\textwidth,height=5cm]{abualwafa} \\
Al Khawarizmi &
Abu Kamil &
Abu Al Wafa
\end{tabular}
\caption{Trois grands mathematiciens arabes}
\end{figure}
Ce qui donne apres compilation ceci :
Al Khawarizmi Abu Kamil Abu Al Wafa
Figure 6.6 – Trois grands mathematiciens arabes
Si l’on souhaite maintenant que chacune des trois photos prenne une legende a elle seule, on doitutiliser a l’interieur de l’environnement figure l’environnement minipage qui permet de creer despetites pages de largeur voulue. L’idee consiste a mettre chaque figure dans une minipage reserveea elle seule afin de pouvoir lui affecter une legende dans cette minipage. Le code qu’on utilisera estle suivant :
\begin{figure}[!h]
\begin{minipage}{0.3\textwidth}
\centering
\includegraphics[width=\textwidth,height=5cm]{khawarizmi2}\\
\caption{Al Khawarizmi}
\end{minipage}
\begin{minipage}{0.3\textwidth}
\centering
\includegraphics[width=\textwidth,height=5cm]{abukamil}\\
\caption{Abu Kamil}
\end{minipage}
\begin{minipage}{0.3\textwidth}
\centering
\includegraphics[width=\textwidth,height=5cm]{abualwafa}\\
\caption{Abu Al Wafa}
\end{minipage}
\end{figure}
Ce qui donnera apres compilation ceci :
49 c© http://farhi.bakir.free.fr/
![Page 54: Documentation avanc´ee en LATEX - Page web de Bakir FARHIfarhi.bakir.free.fr/index_fichiers/BakirLatex.pdf · 1.1.4 Les marges, l’espace en haut de page et l’espace en bas de](https://reader033.fdocuments.in/reader033/viewer/2022050102/5f4189f7e31df7144e7664c0/html5/thumbnails/54.jpg)
Bakir FARHI CHAPITRE 6. LES FIGURES
Figure 6.7 – Al Khawarizmi Figure 6.8 – Abu Kamil Figure 6.9 – Abu Al Wafa
Quelques eclaircissements sur le code precedent :
• Avec la commande \begin{minipage}{0.3\textwidth}, on a cree une minipage de largeurfaisant 0.3 de la largeur d’une ligne de texte. Ensuite, avec la commande :
\includegraphics[width=\textwidth,height=5cm]{khawarizmi2},
on a mis la figure khawarizmi2.eps dans la minipage creee a cet effet apres l’avoir redimensionnee aune largeur egale a la largeur du texte de la minipage qui la contient et a une hauteur de 5 cm.• Bien que chaque figure a sa propre legende, on pourra mettre en plus une legende globale pourles trois figures. Pour ce faire, on n’a qu’a ajouter cette legende apres le dernier \end{minipage},c’est-a-dire juste avant \end{figure}.
50 c© http://farhi.bakir.free.fr/
![Page 55: Documentation avanc´ee en LATEX - Page web de Bakir FARHIfarhi.bakir.free.fr/index_fichiers/BakirLatex.pdf · 1.1.4 Les marges, l’espace en haut de page et l’espace en bas de](https://reader033.fdocuments.in/reader033/viewer/2022050102/5f4189f7e31df7144e7664c0/html5/thumbnails/55.jpg)
CHAPITRE 7
DESSINER EN UTILISANT LE PACKAGE PSTRICKS
PSTricks est un package permettant de construire des figures geometriques directement par descodes Latex, via l’environnement pspicture. Ce package necessite de passer par le postscript ; on doitdonc absolument obtenir le fichier ps avant le fichier pdf. Ainsi, on ne peut pas compiler le fichiersource (tex) avec le compilateur PdfLatex par exemple. Pour obtenir le fichier pdf a la suite du fichierps, on doit utiliser un bon convertisseur ps-pdf comme le ps2pdf par exemple. Malheureusement, iln’y a pas de bon convertisseur ps-pdf gratuit mais on verra par la suite une astuce permettant d’yremedier a ce probleme.
7.1 Codes de base
Pour utiliser l’environnement pspicture, on doit prealablement charger le package pstricks a l’en-tetedu document Latex par la commande :
\usepackage{pstricks}
L’environnement pspicture cree une boite rectangulaire dans laquelle on mettra nos figures geo-metriques souhaitees (point, ligne, cercle, . . .). Cette boite est caracterisee par son point du bas a
gauche et son point du haut a droite. Les unites de mesure sont par defaut : le centimetre pourles longueurs et le degre pour les angles. Pour mettre notre figure geometrique dans une boite deformat 10 cm × 10 cm par exemple, on utilise le code :
\begin{pspicture}(0,0)(10,10)
......................
\end{pspicture}
Ici (0, 0) represente les coordonnees du point du bas a gauche de la boite et (10, 10) designe lescoordonnees de son point du haut a droite. Noter que ce code est aussi equivalent a :
\begin{pspicture}(10,10)
......................
\end{pspicture}
car si le point du bas a gauche n’est pas mentionne, l’environnement pspicture le prend par defaut(0, 0).
7.2 Lignes, vecteurs et lignes brises
• Pour dessiner une ligne (c’est-a-dire un segment) reliant deux points de coordonnees (x0, y0) et(x1, y1), il suffit d’inserer a l’interieur de l’environnement pspicture le code :
51
![Page 56: Documentation avanc´ee en LATEX - Page web de Bakir FARHIfarhi.bakir.free.fr/index_fichiers/BakirLatex.pdf · 1.1.4 Les marges, l’espace en haut de page et l’espace en bas de](https://reader033.fdocuments.in/reader033/viewer/2022050102/5f4189f7e31df7144e7664c0/html5/thumbnails/56.jpg)
Bakir FARHI CHAPITRE 7. DESSINER EN UTILISANT LE PACKAGE PSTRICKS
\psline(x0, y0)(x1, y1)
• Pour dessiner un vecteur dont le point de depart a pour coordonnees (x0, y0) et le point d’arriveea pour coordonnees (x1, y1), on utilise le code :
\psline{->}(x0, y0)(x1, y1)
Le vecteur oppose de ce vecteur 1 peut s’obtenir par le code :
\psline{<-}(x0, y0)(x1, y1)
• Le segment fleche en ses deux extremites (x0, y0) et (x1, y1) s’obtient par le code :
\psline{<->}(x0, y0)(x1, y1)
Le segment fleche en ses deux extremites s’utilise en general pour mentionner des mesures degrandeurs.
• Une ligne brisee passant par des points de coordonnees (x0, y0), (x1, y1), . . . , (xn, yn) (dans cetordre) s’obtient par le code :
\psline(x0, y0)(x1, y1) . . . (xn, yn)
Remarquer qu’il est possible de se servir de ce code pour tracer un polygone. Par exemple pourdessiner le triangle (ABC), avec A(0, 0), B(1, 1) et C(1, 0), il suffit d’utiliser le code :
\psline(0, 0)(1, 1)(1, 0)(0, 0)
Plus loin, on decouvrira un code plus approprie aux polygones.
Les arguments de psline
La commande \psline possede des arguments optionnels importants qui caracterisent la ligne atracer ; par exemple : la couleur de la ligne, son epaisseur, . . . etc. Ces arguments doivent etrementionnes entre deux crochets qu’on mettra juste apres \psline. L’essentiel de ces arguments estdonne par le tableau suivant :
Argument Son effetlinewidth = epaisseur Ligne d’epaisseur epaisseurlinecolor = couleur Ligne de couleur couleurlinestyle = dashed Ligne en tirets (- - - - - -)linestyle = dotted Ligne en pointilles (............)doubleline = true Ligne doublee
Exemple : Pour tracer une ligne en pointilles liant entre les deux points de coordonnees (1, 1) et(3, 5) et qui soit de couleur bleu et d’epaisseur 2 pt, on utilise le code :
\psline[linewidth=2pt,linecolor=blue,linestyle=dotted](1,1)(3,5)
1. C’est-a-dire le vecteur dont le point de depart a pour coordonnees (x1, y1) et le point d’arrivee a pourcoordonnees (x0, y0).
52 c© http://farhi.bakir.free.fr/
![Page 57: Documentation avanc´ee en LATEX - Page web de Bakir FARHIfarhi.bakir.free.fr/index_fichiers/BakirLatex.pdf · 1.1.4 Les marges, l’espace en haut de page et l’espace en bas de](https://reader033.fdocuments.in/reader033/viewer/2022050102/5f4189f7e31df7144e7664c0/html5/thumbnails/57.jpg)
Bakir FARHI CHAPITRE 7. DESSINER EN UTILISANT LE PACKAGE PSTRICKS
Dessiner un segment avec des extremites apparentes
Pour dessiner un segment liant entre deux points (x0, y0) et (x1, y1), lesquels sont apparents2, on
doit ajouter comme argument a \psline :
showpoints=true
et on precisera le type du symbole montrant les extremites par l’argument :
dotstyle=symbole
ou symbole prend comme valeur l’un des symboles suivants :
+ , × , | , square (carre vide) , square* (carre plein) , diamond (losange vide), diamond* (losange plein) , triangle (triangle vide) , triangle* (triangle plein).
En cas d’absence de precision du type du symbole voulu pour pointer les extremites d’un segment,Latex prendra par defaut le type point gras (•).
On peut en outre preciser l’echelle (c’est-a-dire l’epaisseur) du symbole voulu pour pointer les deuxextremites d’un segment. Pour ce faire, il suffit d’ajouter l’argument :
dotscale=echelle voulue
L’echelle est bien entendu un nombre strictement positif.
Exemple 1 : Pour tracer le segment de droite liant entre les deux points de coordonnees (0, 0) et(3, 3) et pointer ses extremites par des points gras d’echelles 0.5 (donc des petits points gras),on utilise le code :
\psline[showpoints=true,dotscale=0.5](0,0)(3,3)
Exemple 2 : Pour dessiner la figure suivante :
| | | |
on peut utiliser le code complet :
\begin{pspicture}(3,3)
\psline[linewidth=1pt,linecolor=green,showpoints=true,
dotstyle=|,dotscale=2](0,0)(1,0)(2,0)(3,0)
\end{pspicture}
7.3 Polygones
• Pour dessiner un polygone dont les sommets ont pour coordonnees (x1, y1), (x2, y2), . . . , (xn, yn)(dans cet ordre), on utilise le code :
\pspolygon(x1, y1)(x2, y2) . . . (xn, yn)
Les arguments que l’on puisse utiliser tels : la couleur des cotes, l’epaisseur des cotes, . . . etcse codent de la meme facon que pour les lignes.
Exemple : Pour dessiner le rectangle suivant :
2. C’est-a-dire pointes par un certain symbole comme une croix (×), un point gras (•), un trait vertical (|),. . . etc.
53 c© http://farhi.bakir.free.fr/
![Page 58: Documentation avanc´ee en LATEX - Page web de Bakir FARHIfarhi.bakir.free.fr/index_fichiers/BakirLatex.pdf · 1.1.4 Les marges, l’espace en haut de page et l’espace en bas de](https://reader033.fdocuments.in/reader033/viewer/2022050102/5f4189f7e31df7144e7664c0/html5/thumbnails/58.jpg)
Bakir FARHI CHAPITRE 7. DESSINER EN UTILISANT LE PACKAGE PSTRICKS
on utilise le code complet :
\begin{pspicture}(2,2)
\pspolygon[linewidth=2pt,linecolor=red](0,0)(2,0)(2,1)(0,1)
\end{pspicture}
• Pour dessiner un polygone plein dont les sommets ont pour coordonnees (x1, y1), (x2, y2), . . . ,(xn, yn) (dans cet ordre), on utilise le code :
pspolygon*(x1, y1)(x2, y2) . . . (xn, yn)
Par exemple, le code complet :
\begin{pspicture}(2,2)
\pspolygon*[linecolor=green](0,0)(2,0)(2,1)(0,1)
\end{pspicture}
donne le rectangle vert plein :
7.4 Cercles, arcs de cercles et ellipses
• Pour dessiner le cercle de centre (x0, y0) et de rayon r, on utilise le code :
\pscircle[arguments](x0 , y0){r}
Les arguments pouvant etre utiles dans ce code sont : l’epaisseur du cercle en question et lacouleur de sa circonference.
• Pour avoir un cercle plein (c’est-a-dire un disque), il suffit de remplacer la commande \pscirclepar \pscircle*. On peut aussi utiliser la commande \qdisk mais sachez que celle-ci n’accepte pasd’arguments !
• Pour dessiner l’arc du cercle de centre (x0, y0) et de rayon r, qui part d’un angle θ1 et va vers unangle θ2 (ou les deux angles θ1 et θ2 sont donnes en degres), on utilise le code :
\psarc[arguments](x0, y0){r}{θ1}{θ2}
Exemple : Le code complet :
\begin{pspicture}(2,2)
\psline[linewidth=2pt,linecolor=red]{->}(-2,0)(2,0)
\psline[linewidth=2pt,linecolor=red]{->}(0,-2)(0,2)
\psarc[linewdith=2pt,linecolor=green](0,0){2}{30}{80}
\end{pspicture}
donne :
54 c© http://farhi.bakir.free.fr/
![Page 59: Documentation avanc´ee en LATEX - Page web de Bakir FARHIfarhi.bakir.free.fr/index_fichiers/BakirLatex.pdf · 1.1.4 Les marges, l’espace en haut de page et l’espace en bas de](https://reader033.fdocuments.in/reader033/viewer/2022050102/5f4189f7e31df7144e7664c0/html5/thumbnails/59.jpg)
Bakir FARHI CHAPITRE 7. DESSINER EN UTILISANT LE PACKAGE PSTRICKS
Le meme code avec \psarc remplace par \psarc* donne :
• Pour dessiner l’arc oriente du cercle de centre (x0, y0) et de rayon r, qui part d’un angle θ1 etva vers un angle θ2, on utilise le code :
\psarc[arguments]{->}(x0 , y0){r}{θ1}{θ2}
Exemple : Le code complet :
\begin{pspicture}(2,2)
\psline[linewidth=2pt,linecolor=red]{->}(-2,0)(2,0)
\psline[linewidth=2pt,linecolor=red]{->}(0,-2)(0,2)
\psarc[linewdith=2pt,linecolor=green]{->}(0,0){2}{30}{80}
\end{pspicture}
donne :
• Pour dessiner le secteur vide du disque de centre (x0, y0) et de rayon r, qui part d’un angle θ1et va vers un angle θ2, on utilise le code :
\pswedge[arguments](x0 , y0){r}{θ1}{θ2}
Pour dessiner le secteur plein correspondant, il suffit de remplacer \pswedge par \pswedge*.
Exemple : Le code complet :
\begin{pspicture}(2,2)
\pswedge[linewdith=2pt,linecolor=green](0,0){2}{30}{80}
\end{pspicture}
donne :
55 c© http://farhi.bakir.free.fr/
![Page 60: Documentation avanc´ee en LATEX - Page web de Bakir FARHIfarhi.bakir.free.fr/index_fichiers/BakirLatex.pdf · 1.1.4 Les marges, l’espace en haut de page et l’espace en bas de](https://reader033.fdocuments.in/reader033/viewer/2022050102/5f4189f7e31df7144e7664c0/html5/thumbnails/60.jpg)
Bakir FARHI CHAPITRE 7. DESSINER EN UTILISANT LE PACKAGE PSTRICKS
Le meme code avec \pswedge remplace par \pswedge* donne :
• Pour dessiner l’ellipse (dont les axes sont les axes de coordonnees de l’environnement pspicture)de centre (x0, y0), de rayon horizontal rx et de rayon vertical ry, on utilise le code :
\psellipse[arguments](x0 , y0)(rx, ry)
Exemple : Le code complet :
\begin{pspicture}(-5,-5)(2,2)
\psellipse[linewidth=1pt,linecolor=magenta](0,0)(4,1)
\end{pspicture}
genere la figure :
• Pour avoir une ellipse pleine, il suffit de remplacer la commande \psellipse par \psellipse*.
7.5 Axes de coordonnees
Pour tracer des axes de coordonnees au sein d’une figure, il est bien possible d’utiliser le code\psline deux fois. Cependant, il y a une commande plus immediate et plus appropriee pour cefaire. Cette commande necessite la package pstricks-add, qui est plus complet que pstricks.On doit donc charger prealablement ce package, a l’en-tete du document, par la commande :
\usepackage{pstricks-add}
Par suite, pour tracer deux axes de coordonnees perpendiculaires, on utilise le code :
\psaxes[arguments](x0, y0)(xmin, ymin)(xmax, ymax)
ou (x0, y0) est le centre (c’est-a-dire le point d’intersection des deux axes) et (xmin, ymin) et(xmax, ymax) sont respectivement le point le plus bas et le plus a gauche et le point le plus haut etle plus a droite du plan que generent les deux axes en question. Quant aux arguments, ils sont lesmemes que ceux d’une ligne simple.
• Pour tracer deux axes de coordonnees perpendiculaires orientes, on utilise le code :
\psaxes[arguments]{->}(x0 , y0)(xmin, ymin)(xmax, ymax)
Exemple : Le code complet :
\begin{pspicture}(-3,-3)(3,3)
\psaxes[linecolor=red]{->}(0,0)(-2,-2)(2.5,2.5)
\end{pspicture}
genere la figure suivante :
56 c© http://farhi.bakir.free.fr/
![Page 61: Documentation avanc´ee en LATEX - Page web de Bakir FARHIfarhi.bakir.free.fr/index_fichiers/BakirLatex.pdf · 1.1.4 Les marges, l’espace en haut de page et l’espace en bas de](https://reader033.fdocuments.in/reader033/viewer/2022050102/5f4189f7e31df7144e7664c0/html5/thumbnails/61.jpg)
Bakir FARHI CHAPITRE 7. DESSINER EN UTILISANT LE PACKAGE PSTRICKS
−1
−2
1
2
1 2−1−2
7.6 Courbes
7.6.1 Courbes d’interpolation
Pour tracer une courbe d’interpolation lisse passant par des points (x0, y0), (x1, y1), . . . , (xn, yn),la commande Latex a utiliser est :
\pscurve[arguments](x0, y0)(x1, y1) . . . (xn, yn)
Si l’on souhaite que cette courbe soit fermee (c’est-a-dire que le dernier point (xn, yn) rejoint lepremier point (x0, y0)), on utilise plutot le code :
\psccurve[arguments](x0 , y0)(x1, y1) . . . (xn, yn)
Remarque : Si, au lieu de ce dernier code, vous utilisez le code
\pscurve[arguments](x0 , y0)(x1, y1) . . . (xn, yn)(x0, y0)
vous aurez une courbe fermee passant par tous les points voulus mais elle ne sera pas (tres proba-blement) lisse en (x0, y0) (c’est-a-dire qu’elle aura deux demi-tangentes en ce point).
Exemples :
1. Le code :
\begin{pspicture}(0,0)(4,4)
\psaxes(0,0)(0,0)(4,4)
\pscurve[linecolor=red,linewidth=1pt](0,2)(0.5,1)(3,2)(2,2.5)(3.5,3)(2,3)
\end{pspicture}
genere la courbe suivante :
0
1
2
3
4
0 1 2 3 4
2. Le code :
\begin{pspicture}(0,0)(4,4)
\psaxes(0,0)(0,0)(4,4)
\psccurve[linecolor=red,linewidth=1pt](0,2)(0.5,1)(3,2)(2,2.5)(3.5,3)(2,3)
\end{pspicture}
engendre la courbe suivante :
57 c© http://farhi.bakir.free.fr/
![Page 62: Documentation avanc´ee en LATEX - Page web de Bakir FARHIfarhi.bakir.free.fr/index_fichiers/BakirLatex.pdf · 1.1.4 Les marges, l’espace en haut de page et l’espace en bas de](https://reader033.fdocuments.in/reader033/viewer/2022050102/5f4189f7e31df7144e7664c0/html5/thumbnails/62.jpg)
Bakir FARHI CHAPITRE 7. DESSINER EN UTILISANT LE PACKAGE PSTRICKS
0
1
2
3
4
0 1 2 3 4
7.6.2 Courbes definies comme graphe d’une fonction
Grace au package pstricks-add, on peut meme tracer des courbes representatives de fonctionspouvant s’exprimer a l’aide des fonctions elementaires. Pour ce faire, il faut d’abord charger cepackage par la commande \usepackage{pstricks-add}. Ensuite, il faut preceder l’endroit ou l’onsouhaite dessiner le graphe de notre fonction du code :
\psset{algebraic=true}
Pour tracer alors le graphe d’une fonction donnee f sur un intervalle [a, b], on insere le code :
\psplot[arguments]{a}{b}{expression de f}
Les operations elementaires et les noms de fonctions usuelles permettant d’ecrire l’expression de fsont donnees par le tableau suivant :
Operation ou nom de fonction usuelle Signification
+ addition− soustraction∗ multiplication/ division∧ puissancesqrt racine carreeEXP exponentielleln logarithme neperiencos cosinussin sinustan tangentearcos arc cosinusarcsin arc sinusarctan arc tangente
Il est possible egalement de definir d’abord l’expression de f par une commande du type :
\def\fct{expression de f}
(ou \fct est le nom que l’on a donne a notre fonction) puis tracer son graphe sur un intervalledonne [a, b] en inserant (dans le fichier tex) le code :
\psplot[arguments]{a}{b}{\fct}
Exemple : Le code complet :
\begin{pspicture}(-2,-2)(5,5)
\psaxes(0,0)(-2,-2)(5,5)
\psset{algebraic=true}
\def\fct1{ln(x)/x}
\psplot[linecolor=green]{0.5}{4.9}{\fct1}
\end{pspicture}
58 c© http://farhi.bakir.free.fr/
![Page 63: Documentation avanc´ee en LATEX - Page web de Bakir FARHIfarhi.bakir.free.fr/index_fichiers/BakirLatex.pdf · 1.1.4 Les marges, l’espace en haut de page et l’espace en bas de](https://reader033.fdocuments.in/reader033/viewer/2022050102/5f4189f7e31df7144e7664c0/html5/thumbnails/63.jpg)
Bakir FARHI CHAPITRE 7. DESSINER EN UTILISANT LE PACKAGE PSTRICKS
genere la figure suivante :
−1
−2
1
2
3
4
5
1 2 3 4 5−1−2
7.6.3 Courbes parametrees
Tout comme le tracage des courbes definies comme graphes de fonctions, le tracage des courbesparametrees necessite le package pstricks-add (plus riche que pstricks) que l’on doit (obligatoirement)charger a l’en-tete de notre document latex, via le code \usepackage{pstricks-add}. On doitinserer aussi (obligatoirement) dans l’environnement pspicture, relatif a notre courbe, la commande\psset{algebraic=true}. Soient a et b deux nombres reels tels que a < b et soient t 7→ x(t) ett 7→ y(t) deux fonctions reelles definies sur [a, b]. Pour tracer la courbe parametree, de parametrage :
{
x = x(t)y = y(t)
(t ∈ [a, b]),
on definie prealablement les fonctions t 7→ x(t) et t 7→ y(t) par des codes du type :
\def\x{l’expression de x(t)}\def\y{l’expression de y(t)}
Ensuite, on insere le code :
\psparametricplot{a}{b}{\x|\y}
Bien evidemment, on peut s’en passer de l’introduction de \x et \y et inserer directement leursexpressions dans la commande \psparametricplot.
Exemple : Le code complet suivant :
\begin{pspicture}(-3,-3)(3,3)
\psaxes(0,0)(-3,-3)(3,3)
\psset{algebraic=true}
\def\x{2*cos(t)-sin(t)}
\def\y{2*cos(t)+sin(t)}
\psparametricplot[linecolor=red]{-3.1416}{3.1416}{\x|\y}
\end{pspicture}
genere la figure suivante (dont la nature geometrique est une ellipse) :
59 c© http://farhi.bakir.free.fr/
![Page 64: Documentation avanc´ee en LATEX - Page web de Bakir FARHIfarhi.bakir.free.fr/index_fichiers/BakirLatex.pdf · 1.1.4 Les marges, l’espace en haut de page et l’espace en bas de](https://reader033.fdocuments.in/reader033/viewer/2022050102/5f4189f7e31df7144e7664c0/html5/thumbnails/64.jpg)
Bakir FARHI CHAPITRE 7. DESSINER EN UTILISANT LE PACKAGE PSTRICKS
−1
−2
−3
1
2
3
1 2 3−1−2−3
7.7 Tangentes a une courbe
7.7.1 Cas d’une courbe d’interpolation
Pour tracer la tangente T a une courbe d’interpolation (C ) en son point d’abscisse x0, On choisittrois points (x1, y1), (x2, y2) et (x3, y3) de (C ), parmi les points d’interpolation, qui soient les plusproches du point tangentiel et on choisit une grandeur ∆x = xmax − x0 = x0 − xmin, ou xmax etxmin sont respectivement les abscisses maximale et minimale des points du segment qui representela tangente en question (le point tangentiel sera situe au milieu de ce segment). Le code pour tracerT (qui doit etre precede du code pour tracer (C )) est alors :
\psTangentLine(x1, y1)(x2, y2)(x3, y3){x0}{∆x}
Exemple : Le code complet :
\begin{pspicture}(0,0)(5,5)
\psaxes(0,0)(0,0)(5,5)
\pscurve[linecolor=red](1,1)(1.9,1.5)(2.1,1.7)(3,4)(4,4.5)
\psTangentLine[linecolor=green](1.9,1.5)(2.1,1.7)(3,4){2}{1.5}
\end{pspicture}
genere la figure suivante :
0
1
2
3
4
5
0 1 2 3 4 5
7.7.2 Cas d’une courbe definie comme graphe d’une fonction
Pour tracer la tangent a une courbe definie comme graphe d’une fonction f en son point d’abs-cisse x0, on utilise le code suivant (naturellement precede du code pour tracer la courbe en question) :
\psplotTangent{x0}{∆x}{l’expression de f}
60 c© http://farhi.bakir.free.fr/
![Page 65: Documentation avanc´ee en LATEX - Page web de Bakir FARHIfarhi.bakir.free.fr/index_fichiers/BakirLatex.pdf · 1.1.4 Les marges, l’espace en haut de page et l’espace en bas de](https://reader033.fdocuments.in/reader033/viewer/2022050102/5f4189f7e31df7144e7664c0/html5/thumbnails/65.jpg)
Bakir FARHI CHAPITRE 7. DESSINER EN UTILISANT LE PACKAGE PSTRICKS
,
ou ∆x est defini comme au §7.7.1. Nous rappelons aussi que ce tracage necessite le package\usepackage{pstricks-add} (a charger a l’en-tete du document latex) et le code\psset{algebraic=true} (a inserer au debut de l’environnement pspicture).
Exemple : Le code complet :
\begin{pspicture}(-1,-1)(4,3)
\psaxes(0,0)(0,0)(4,3)
\psset{algebraic=true}
\def\f{x*EXP(x)/(x^3+x^2+1)}
\psplot[linecolor=red]{0}{4}{\f}
\psplotTangent[linecolor=green]{3}{2}{\f}
\psplotTangent[linecolor=magenta]{0.7}{2}{\f}
\end{pspicture}
genere la figure suivante :
0
1
2
3
0 1 2 3 4
7.7.3 Cas d’une courbe parametree
Soient a et b deux nombres reels tels que a < b et soient t 7→ x(t) et t 7→ y(t) deux fonctionsreelles definies sur [a, b]. On considere la courbe (C ) definie par le parametrage :
{
x = x(t)y = y(t)
(t ∈ [a, b]).
Etant donne t0 ∈ [a, b] et M0 = (x(t0), y(t0)) ∈ (C ), pour tracer la tangente a C au point M0, onutilise le code suivant (naturellement precede du code pour tracer (C )) :
\psplotTangent{t0}{∆x}{\x|\y}
ou les commandes \x et \y definissent respectivement les expressions de x(t) et y(t) (voir le§7.6.3) et ∆x est defini comme au §7.7.1. Nous rappelons aussi que ce tracage necessite le package\usepackage{pstricks-add} (a charger a l’en-tete du document) et le code\psset{algebraic=true} (a inserer au debut de l’environnement pspicture).
Exemple : Le code complet :
\begin{pspicture}(-2,-2)(2,2)
\psaxes(0,0)(-2,-2)(2,2)
\psset{algebraic=true}
\def\x{(sin(t))^3}
\def\y{cos(t)-(cos(t))^4}
\psparametricplot[linecolor=red]{-3.1416}{3.1416}{\x|\y}
\psplotTangent[linecolor=green]{-1}{2}{\x|\y}
\end{pspicture}
genere la figure suivante (la courbe en rouge est appelee le cœur de Raphael Laporte) :
61 c© http://farhi.bakir.free.fr/
![Page 66: Documentation avanc´ee en LATEX - Page web de Bakir FARHIfarhi.bakir.free.fr/index_fichiers/BakirLatex.pdf · 1.1.4 Les marges, l’espace en haut de page et l’espace en bas de](https://reader033.fdocuments.in/reader033/viewer/2022050102/5f4189f7e31df7144e7664c0/html5/thumbnails/66.jpg)
Bakir FARHI CHAPITRE 7. DESSINER EN UTILISANT LE PACKAGE PSTRICKS
−1
−2
1
2
1 2−1−2
62 c© http://farhi.bakir.free.fr/
![Page 67: Documentation avanc´ee en LATEX - Page web de Bakir FARHIfarhi.bakir.free.fr/index_fichiers/BakirLatex.pdf · 1.1.4 Les marges, l’espace en haut de page et l’espace en bas de](https://reader033.fdocuments.in/reader033/viewer/2022050102/5f4189f7e31df7144e7664c0/html5/thumbnails/67.jpg)
CHAPITRE 8
DEFINIR DE NOUVELLES COMMANDES ET DE NOUVEAUX
ENVIRONNEMENTS
8.1 La commande let
La commande \let est une simple commande que l’on introduit au preambule d’un document Latexpour remplacer une commande existante, que l’on considere assez lourde, par une autre commandequi existe deja ou qu’on cree et que l’on considere plutot legere. La syntaxe de cette commandeest :
\let\CommandeLegere=\CommandeLourde
Exemples
1. Supposons que l’on a introduit au preambule de notre document Latex le code suivant :
\let\up=\textsuperscript
Alors, dans le corps de notre meme document Latex, l’ecriture :
Les etudiants de la 2\up{eme} annee Licence Maths \dots
donne :
Les etudiants de la 2eme annee Licence Maths . . .
(Rappelons que le code \textsuperscript sert pour faire un exposant en mode “texte”).
2. Supposons maintenant que l’on a introduit dans le preambule de notre document Latexles codes :
\let\epsilon=\varepsilon
\let\phi=\varphi
Alors, dans le corps du meme document Latex, le code :
soit $\epsilon > 0$ et $\phi = \epsilon^2$ \dots
donne :
Soit ε > 0 et ϕ = ε2 . . .
(Rappelons que les commandes \epsilon, \varepsilon, \phi et \varphi correspondentrespectivement aux lettres grecques : ǫ, ε, φ et ϕ).
63
![Page 68: Documentation avanc´ee en LATEX - Page web de Bakir FARHIfarhi.bakir.free.fr/index_fichiers/BakirLatex.pdf · 1.1.4 Les marges, l’espace en haut de page et l’espace en bas de](https://reader033.fdocuments.in/reader033/viewer/2022050102/5f4189f7e31df7144e7664c0/html5/thumbnails/68.jpg)
Bakir FARHI CHAPITRE 8. COMMANDES ET ENVIRONNEMENTS
8.2 La commande def
La commande \def est une simple commande que l’on utilise au preambule d’un document Latexpour remplacer les codes exclusivement mathematiques, que l’on considere lourds, par des codesde notre creation et qui sont plus legers. Les codes mathematiques (lourds) auxquels on appliquecette commande sont generalement ceux qui se repetent souvent dans notre document Latex. Lasyntaxe de cette commande est :
\def\CommandeLegere{\CommandeLourde}
Exemples :
1. Les codes mathematiques \mathbb{N}, \mathbb{Z}, \mathbb{R} et \mathbb{C}, qu’onutilise respectivement pour les ensembles mathematiques N, Z, R et C, pourront etreremplaces par les codes plus legers \N, \Z, \R et \C et ceci grace aux instructions suivantesque l’on doit integrer prealablement au preambule de notre document Latex :
\def\N{\mathbb{N}}
\def\Z{\mathbb{Z}}
\def\R{\mathbb{R}}
\def\C{\mathbb{C}}
Par suite, dans le corps de notre document Latex, le code :
Soient $x \in \R$ et $a , b \in \Z$.
donne :
Soient x ∈ R et a, b ∈ Z.
2. On peut utiliser la commande \def pour definir certaines notations ou certains operateursmathematiques. Par exemple, les instructions :
\def\ker{\mathrm{Ker}}
\def\im{\mathrm{Im}}
\def\id{\mathrm{Id}}
\def\pgcd{\mathrm{pgcd}}
\def\ppcm{\mathrm{ppcm}}
\def\card{\mathrm{Card}}
\def\dist{\mathrm{dist}}
creent les nouvelles commandes \ker, \im, \id, \pgcd, \ppcm, \card et \dist pourrepresenter respectivement les notations mathematiques : Ker (pour le noyau d’une ap-plication lineaire), Im (pour l’image d’une application lineaire), Id (pour l’applicationidentite), pgcd (pour le plus grand commun diviseur), ppcm (pour le plus petit communmultiple), Card (pour le cardinal) et dist (pour la distance).
3. Nous allons voir maintenant deux autres exemples un peu plus compliques mais tres im-portants.
(a) La fonction indicatrice. L’instruction :
\def\ind{1\hspace*{-0.9mm}\mathrm{I}}
(que l’on insere prealablement au preambule de notre document Latex) cree la nouvellecommande \ind pour representer la fonction indicatrice d’un ensemble mathematiquedonne. Ainsi, le code :
$$
\int_{\mathbb{R}} \ind_A(x) \, d x = \int_A \, d x .
$$
64 c© http://farhi.bakir.free.fr/
![Page 69: Documentation avanc´ee en LATEX - Page web de Bakir FARHIfarhi.bakir.free.fr/index_fichiers/BakirLatex.pdf · 1.1.4 Les marges, l’espace en haut de page et l’espace en bas de](https://reader033.fdocuments.in/reader033/viewer/2022050102/5f4189f7e31df7144e7664c0/html5/thumbnails/69.jpg)
Bakir FARHI CHAPITRE 8. COMMANDES ET ENVIRONNEMENTS
(que l’on insere au corps du meme document Latex) donne :∫
R
1IA(x) dx =
∫
A
dx.
Ici 1IA designe la fonction indicatrice d’un sous-ensemble A de R.
Remarque : le code \hspace*{-0.9mm} permet d’introduire un espace horizontalnegatif de 0, 9 mm.
(b) La valeur absolue. La valeur absolue en Latex est codee par l’une des deux com-mandes identiques $|x|$ ou $\vert{x}\vert$ (pour representer la valeur absoluede x) ou encore par $$\left\vert{expression}\right\vert$$ lorsqu’une expres-sion donnee est de grande taille et que l’on est en mode displaystyle. Nous allonsmaintenant creer une nouvelle commande \vabs pour remplacer la commande Latex\left\vert{...}\right\vert que l’on trouve assez lourde. A la difference des com-mandes creees precedemment, la commande \vabs qu’on creera plus bas comporteraun argument, designe en Latex par #1, et reserve a l’expression que l’on souhaite mettreen valeur absolue. Pour ce faire, nous inserons au preambule de notre document Latexl’instruction :
\def\vabs#1{\left\vert{#1}\right\vert}
Une fois ceci est fait, le code :
$$
\vabs{\sum_{i=1}^{n} a_i} \leq \sum_{i = 1}^{n} \vabs{a_i}
$$
(insere au corps du meme document Latex) donne :∣
∣
∣
∣
∣
n∑
i=1
ai
∣
∣
∣
∣
∣
≤n∑
i=1
|ai|
N. B : La commande \vabs que l’on vient de creer fonctionne aussi bien en mode“normal” qu’en mode “displaystyle”.
Remarque : Si cette commande \vabs que l’on vient de creer vous porte bon-heur, vous pouvez faire exactement la meme chose pour creer une nouvelle com-mande (que vous pourrez nommer \norme) afin d’alleger la commande predefinie\left\Vert{...}\right\Vert de Latex, qui est utilisee pour representer la normed’un vecteur.
(c) Les congruences. Nous allons creer une nouvelle commande que nous nommons\restmod et que nous utilisons pour les congruences. Nous voulons que cette com-mande comporte deux arguments : le reste et le module, qui sont respectivementcodes (en Latex) par #1 et #2. Une des facons de realiser ceci est d’inserer dans lepreambule de notre document Latex l’instruction :
\def\restmod#1#2{#1\ (\mathrm{mod}\ #2)}
Ainsi, en tapant dans le corps du meme document Latex le code :
2014 \equiv \restmod{4}{10}
on obtient en visualisant (apres compilation) :
2014 ≡ 4 (mod 10)
8.3 La commande DeclareMathOperator*
La commande \DeclareMathOperator* permet de creer de nouveaux operateurs mathematiquessophistiques. Sa syntaxe (que nous devons inserer au preambule de notre document Latex) est :
65 c© http://farhi.bakir.free.fr/
![Page 70: Documentation avanc´ee en LATEX - Page web de Bakir FARHIfarhi.bakir.free.fr/index_fichiers/BakirLatex.pdf · 1.1.4 Les marges, l’espace en haut de page et l’espace en bas de](https://reader033.fdocuments.in/reader033/viewer/2022050102/5f4189f7e31df7144e7664c0/html5/thumbnails/70.jpg)
Bakir FARHI CHAPITRE 8. COMMANDES ET ENVIRONNEMENTS
\DeclareMathOperator*{\CodeOperateur}{Son apparition voulue}
Exemples :
1. Nous voulons creer deux nouveaux operateurs mathematiques, que nous codons par lescommandes \argmin et \argmax, pour designer respectivement l’argument minimal1 etl’argument maximal1 d’une fonction reelle. Pour se faire, il suffit d’inserer au preambule denotre document Latex les deux instructions :
\DeclareMathOperator*{\argmin}{argmin}
\DeclareMathOperator*{\argmax}{argmax}
Ainsi, en inserant par exemple dans le corps de notre document Latex le code :
$\argmin_{x \in \mathbb{R}} f(x) = 1$
on obtient :
argminx∈R f(x) = 1
alors qu’en inserant le meme code mais en mode displaystyle, c’est-a-dire :
$$
\argmin_{x \in \mathbb{R}} f(x) = 1
$$
on obtient :argmin
x∈Rf(x) = 1
2. Nous voulons creer un nouvel operateur mathematique qui s’occupera de la compositiond’une suite d’applications et qui fonctionnera exactement comme l’operateur de somma-tion
∑
. Nous voulons coder cet operateur par la commande \comp et nous voulons qu’ilapparaıtra (en impression) sous le signe “◦”. Pour ce faire, il suffit d’inserer au preambulede notre document Latex l’instruction :
\DeclareMathOperator*{\comp}{\circ}
Ainsi, en inserant par exemple dans le corps de notre meme document Latex le code :
$$
\comp_{i = 1}^{n} f_i = f
$$
on obtient :n◦i=1
fi = f
N. B : Par ces deux exemples, nous devons comprendre que l’interet de la commande\DeclareMathOperator* est de creer des operateurs mathematiques qui fonctionnent exactementcomme l’operateur de sommation
∑
.
8.4 La commande newcommand
La commande \newcommand permet de creer de nouvelles commandes (textuelles ou mathematiques).On peut creer aussi bien des commandes simples (c’est-a-dire sans argument) que des commandesavec plusieurs arguments2. Son utilisation pour creer une commande simple est fournie par la syn-taxe :
\newcommand{\CodeChoisiPourNotreNouvelleCommande}{Sa definition}
1. L’argument minimal (resp. maximal) d’une fonction reelle f : I → R est le point x ∈ I ou f atteint sonminimum (resp. maximum).
2. Le nombre d’arguments est limite a 9.
66 c© http://farhi.bakir.free.fr/
![Page 71: Documentation avanc´ee en LATEX - Page web de Bakir FARHIfarhi.bakir.free.fr/index_fichiers/BakirLatex.pdf · 1.1.4 Les marges, l’espace en haut de page et l’espace en bas de](https://reader033.fdocuments.in/reader033/viewer/2022050102/5f4189f7e31df7144e7664c0/html5/thumbnails/71.jpg)
Bakir FARHI CHAPITRE 8. COMMANDES ET ENVIRONNEMENTS
et son utilisation pour creer des commandes muni d’un ou plusieurs arguments est fournie par lasyntaxe :
\newcommand{\CodeChoisi}[Nombres d’arguments]{Definition}
ou dans la definition de la commande en question, un argument de rang n est designe par le symbole#n.Bien entendu, ces syntaxes doivent etre mises au preambule d’un document Latex.
Exemples :
1. On souhaite creer une nouvelle commande simple (c’est-a-dire sans argument), de nom\Indication, qui servira a inscrire une indication pour un exercice d’une serie de TDpar exemple ; et ceci en utilisant la figuration bien precise ☞ . Comme le symbole en-cadre est integre dans le package pifont sous le code \ding{43}, ce package doit etreprealablement inscrit dans le preambule de notre document Latex. L’instruction qui permetde creer notre commande souhaitee est alors :
\newcommand{\Indication}{\fbox{\ding{43}}~}
2. On souhaite creer une simple commande, de nom \Fin, qui servira par exemple a marquerla fin d’un chapitre ou d’une serie de TD. On souhaite plus exactement faire apparaıtre(via cette commande) la jolie forme :
Y Fi‹nffl Za
Noter que les symboles Y et a relevent du package fourier-orns que l’on doit donc obliga-toirement charger dans le preambule de notre document Latex, via le code\usepackage{fourier-orns}3 . Dans ce package, ces deux symboles sont respective-ment designes par les codes \decothreeleft et \decotwo. Par ailleurs, le style d’ecriture
du mot “Fin” (Fi‹nffl) releve du package frcursive que l’on doit donc charger egalement dansle preambule de notre meme document Latex, via le code \usepackage{frcursive}. Le
code d’obtention de l’ecriture Fi‹nffl est alors \cursive{Fin}. L’instruction qui permet decreer notre commande souhaitee se presente alors par le code :
\newcommand{\Fin}{\begin{center}%
\hrulefill{} ~~{\Huge\decothreeleft}~\cursive{Fin}~{\Huge\decothreeright}%
~~ \hrulefill{} \centerline{\fontsize{32}{32} \decotwo~~~}%
\end{center}}
Noter enfin que le code \fontsize{32}{32} sert a agrandir la taille des caracteres en lesmettant a 32 points ; son role ici est juste d’agrandir le symbole a.
3. Si l’on utilise plutot le package fourier, Latex prendra la fonte “fourier” comme fonte par defaut du documenten question.
67 c© http://farhi.bakir.free.fr/