Pour créer un premier document, aller dans le menu
.
Conformez-vous aux réglages illustrés ci-dessus :
Cliquer sur le bouton OK.
Écrivez quelques mots à l'intérieur de l'environnement
document :
Enregistrer le document avec l'extension .tex en choisissant un nom de fichier sans espace ni accent (par exemple : mesDebuts.tex).
Compiler le document en cliquant sur la flèche (Exécuter) à gauche de .
Le document .pdf obtenu doit alors s'afficher.
Amusez-vous à ajouter toutes sortes d'espaces, comme ceci :
Que constatez-vous après avoir compilé ?
La classe article offre différentes commandes pour structurer le document :
Ces commandes se chargent automatiquement de la numérotation, de la mise en forme (gras, plus grand, etc.) et gèrent par la même occasion la table des matières.
Chacune de ces commandes possèdent une forme « étoilée » (\section*{titre} etc.) qui supprime la numérotation et l'inscription correspondante dans la table des matières.
En copiant-collant des extraits du texte de ces deux pages :
http://fr.wikipedia.org/wiki/Lausanne
http://fr.wikipedia.org/wiki/Geneve
réaliser ce document.
Texmaker vous aide à générer le code avec l'icône
ou grâce au menu
.
L'inspection du menu LaTeX vous fera facilement
deviner la commande à utiliser pour générer automatiquement
la table des matières.
Constatez cependant qu'il est toujours nécessaire de compiler
deux fois le document pour qu'elle soit mise à jour.
À la section 1.1.2, vous peinez peut-être à obtenir :
50 % de la population...
Solution : tapez 50 \% de la population...
Explication :tout ce qui suit un signe % jusqu'à la fin de la ligne est considéré comme un commentaire et n'apparaît pas dans le texte imprimé. Dès que le code prend de l'ampleur, il est conseillé d'ajouter des commentaires, pour en faciliter la relecture et la compréhension.
Mais, les commentaires rendent aussi un autre service. Imaginons que l'on veuille masquer du texte imprimé les sections 1.1.1 et 1.1.2.
On va bien sûr commencer par sélectionner le code correspondant. Mais, au lieu de l'effacer, choisissez le menu . Après recompilation (deux fois pour mettre à jour la table des matières), on obtient le résultat voulu.
Si l'on souhaite par la suite faire à nouveau figurer l'ancienne section 1.1.2 à propos des quartiers et communes

il suffit de sélectionner le texte correspondant et de prendre le menu , tout en laissant commentée la partie concernant le climat.
Un environnement délimite une région en commençant par la commande \begin et en terminant par \end.
Remarquez, par exemple, que dans vos codes précédents, l'environnement \begin{document}...\end{document} contient le corps du texte.
Par défaut, le texte est toujours justifié, c'est-à-dire aligné aussi bien à gauche et à droite. Trois environnements permettent de modifier l'alignement du texte :
En sélectionnant le texte correspondant, produire, à l'aide des icônes
ou du menu , les modifications
suivantes au précédent document :
Il y a deux environnements qui permettent de citer du texte :
Ces deux environnements ajoutent un retrait à gauche et à droite du texte. De plus un espacement vertical s'insère avant et après la citation.
Il est recommandé d'utiliser l'environnement quote pour les citations brèves et l'environnement quotation pour les citations longues.
En copiant-collant des extraits du texte de cette page, réaliser ce document, en s'aidant du menu .
Les listes s'obtiennent au moyen des environnements
À l'intérieur de ces environnements, chaque entrée d'une liste doit être indiquée par la commande \item
Compléter le document précédent comme ceci.
En imbriquant deux listes l'une dans l'autre, réaliser ce nouveau document :
Après avoir terminé l'exercice,
Vu que LaTeX ignore les blancs en début de ligne, on peut s'en servir pour décaler des éléments vers la droite avec des tabulations, afin de faciliter la lecture du code, en mettant en évidence l'imbrication des environnements.
Utiliser cette méthode pour produire cette imbrication de listes :
Pour insérer des images, il faut au préalable charger le paquet
graphicx. En utilisant au besoin le menu
, insérer
dans le préambule, c'est-à-dire avant
\begin{document}, l'instruction :
\usepackage{graphicx}
On va reprendre le document sur Lausanne et Genève pour y insérer une image. Enregistrez cette image et déplacez le fichier Lausanne.jpg dans le même dossier que le document LaTeX.
Ajoutons l'instruction
\includegraphics{Lausanne.jpg} à l'endroit où l'on souhaite insérer l'image :
En compilant, on constate que l'image est trop grande et qu'il faut la réduire. En codant
\includegraphics[scale=0.3]{Lausanne.jpg}
l'image s'affiche avec une taille correspondant à 30 % de la taille originale.
On peut bien sûr encore centrer l'image avec l'environnement \begin{center}...\end{center}.
En modifiant l'échelle de l'image de 0.3 à 0.4, puis 0.5, ... on constate un problème : une image prend en général passablement de place, de sorte qu'elle rend le découpage des pages parfois mal aisé. LaTeX résout très bien ce problème : s'il reste suffisamment de place sur la page courante, il y place l'image, sinon il la dispose sur la page suivante. Cela empêche d'avoir des pages à moitié vide. Ceci est assuré par l'environnement
\begin{figure}[placement]...\end{figure}
où placement peut être l'une ou plusieurs des lettres suivantes, selon l'ordre de préférence du positionnement désiré :
Après la théorie, la pratique est rendue très facile grâce au menu
.
Il suffit d'ouvrir l'image, puis de cliquer sur le symbole +
pour préciser le placement, ainsi que le titre de l'image.
Après avoir ajusté l'échelle de l'image, on obtient directement le code :
De même, placez cette image dans la section concernant la Réforme à Genève, afin d'obtenir ce document.
La liste des figures s'obtient grâce à l'instruction \listoffigures
Les notes de bas de page sont réalisées avec l'instruction :
\footnote{Texte de la note de bas de page}
Le menu permet d'éviter de taper cette instruction.
Les notes dans la marge s'obtiennent avec l'instruction :
\marginpar{Texte de la note dans la marge}
Il arrive fréquemment que l'on doive renvoyer le lecteur à un autre endroit du document, en faisant référence à un numéro de page, un numéro de section, un numéro de figure, un numéro d'exercice, etc. Au cours de l'élaboration d'un document, ces numéros ne cessent de changer, si bien qu'il serait extrêmement fastidieux de maintenir à la main tous ces renvois.
LaTeX excelle dans la gestion des références croisées, grâce à trois commandes :
L'icône
facilite l'accès à ces commandes.
L'utilisation des références croisées peut être rendue encore plus simple d'utilisation, grâce à des liens hypertextes : il suffit, par exemple, de cliquer sur une rubrique de la table des matières pour y accéder directement.
Pour activer les liens hypertextes, il suffit de charger le
paquet hyperref en plaçant dans le
préambule l'instruction :
\usepackage{hyperref}
Ce paquet permet aussi de produire des références automatiques à des sites Internet.
C'est-à-dire que l'on peut obtenir un lien directement cliquable depuis le fichier pdf
vers une page web dans le navigateur Internet. Pour cela, on emploie la commande :
\href{http://www.exemple.com}{mon site web}
Poursuivre l'édition du document concernant Lausanne et Genève, en introduisant quelques notes de bas de page, notes dans la marge, références croisées et liens hypertextes : exemple de résultat.
On a vu que le caractère % a un rôle spécial, puisqu'il sert à signaler un commentaire dans le code. Il existe d'autres caractères assumant une fonction particulière :
L'espace insécable doit être utilisée pour empêcher tout passage à la ligne indésirable
entre deux mots.
M.~Dupont,
Louis~XIV,
12~fr.,
voir p.~\pageref{etiquette}...
Les signes de ponctuation haute (c'est-à-dire ? ! ; :) doivent être précédés d'une espace insécable. En principe, il vous revient de mettre une espace avant ces signes, LaTeX se chargeant d'en faire une espace insécable. Il faut ainsi écrire : texte ? texte ! texte ; texte : pour respecter les règles typographiques françaises. Toutefois, même si vous omettez ces espaces insécables, LaTeX se chargera de les mettre à votre place.
Pour obtenir trois points de suspension ..., il faut utiliser la commande \dots{}
Pour un obtenir un tiret (à ne pas confondre avec un trait d'union),
il faut écrire trois traits d'union successivement : c'est donc
--- qui donne —.
De plus, le signe mathématique moins s'obtient encore différemment :
il faut écrire $-$
N'employez surtout pas les guillemets informatiques " et ", ni les guillemets
anglais “ et ”, mais les guillemets français
« et ».
Ceux-ci s'obtiennent en redoublant les caractères
< et > et en spécifiant
explicitement l'espace insécable. Il faut donc écrire
<<~entre guillemets~>>~entre>~entre> pour obtenir
« entre guillemets ».
Vous pouvez aussi obtenir les guillemets avec les commandes
\og{} et \fg{} qui se
chargent de placer les espaces insécables.
Solution de facilité : sélectionnez votre texte et utilisez le menu
.
Pour écrire des formules mathématiques, il faut sortir du mode texte et entrer en mode mathématique. On réalise cela à l'aide de :
Par exemple, le code

produit ce résultat :
alors que le code

donne ceci :

En mode mathématique, LaTeX écrit automatiquement les noms des variables en italique
et gère également les espaces. Par exemple,
ou
ou encore
produisent exactement la même chose.
Sauf que... la lecture d'une multiplication peut être facilitée en ajoutant un petit espace avec \,. Comparer les deux codes suivants avec leur résultat respectif :
![]() |
![]() |
![]() |
![]() |
C'est ensuite à votre goût qu'il faut vous fier pour savoir quelle écriture choisir. Certains auteurs préfèrent la première, d'autres la seconde (c'est le choix retenu pour le logiciel wxMaxima).
Comme le suggèrent les icônes
et
de Texmaker,
les indices et les exposants s'obtiennent à l'aide respectivement des caractères
_ et ^.
Par exemple,
produit
.
Reproduire ceci :
Si l'on écrit
,
on obtient
où l'on constate un espace indésirable après la virgule.
Il est introduit automatiquement par LaTeX, considérant qu'il faut séparer
les arguments, comme lorsqu'on code
pour avoir
.
Pour résoudre ce problème (ainsi que quelques autres...), on va ajouter deux paquetages
dans le préambule, en prenant bien soin de leur ordre. Dorénavant, on supposera
que l'on travaille toujours avec ce préambule :
Dès lors
donne
.
Voici quelques autres emplois de cette commande :
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Remarque : pour abréger, on peut utiliser la commande \np en lieu et place de \numprint.
Comme l'indique l'icône
de Texmaker, une racine carrée s'obtient avec la commande
\sqrt.
Pour écrire une racine n-ième, il faut utiliser un argument optionnel :
![]() |
![]() |
![]() |
![]() |
Les fractions s'obtiennent avec la commande \frac{num}{den}.
Leur taille varie selon que la formule est en ligne (\textstyle) ou hors ligne (\displaystyle) :
produit
donne
Les commandes \textstyle et \displaystyle permettent d'imposer la taille voulue, que l'on soit en mode en ligne ou hors ligne :
produit
donne
Remarque :
on utilise très souvent les raccourcis
\tfrac et
\dfrac, plutôt que
\textstyle\frac et
\displaystyle\frac.
Par exemple, l'icône
de Texmaker introduit automatiquement le code
\dfrac{•}{•}.
Reproduire ceci :
Le formalisme mathématique utilise de très nombreux symboles. LaTeX offre bien sûr
une commande pour chacun d'eux. La liste étant très longue et difficile à
mémoriser, on en propose une sélection et vous laisse profiter au mieux
des palettes de symboles mises à disposition (on y accède à partir des icônes
et
).
|
|
|
|
||||||||
|
|
|
|
||||||||
|
|
|
|
|
||||||||
|
|
|
|
||||||||
|
|
|
|
||||||||
|
|
|
Signalons encore ces deux exemples :
Pour noter spécifiquement certains ensembles, on peut aussi recourir aux commandes suivantes :
|
|
|
|
etc. | ||||||||
|
|
|
|
etc. |
Remarque : la commande \mathscr nécessite de charger dans le préambule le paquetage mathrsfs.
|
|
||||
|
|
||||
|
|
||||
|
|
En général, toute lettre grecque s'obtient par la commande portant son nom.
Par contre, si la lettre majuscule est identique à son équivalent dans l'alphabet
latin, il n'y a pas de commande spécifique.
|
|
|
|
etc. | ||||||||
|
|
|
|
etc. |
Quelques lettres possèdent en outre deux variantes :
|
|
|
||||||||||||
|
|
Reproduire ceci :
Si l'on écrit
, on obtient
qui n'est pas le résultat souhaité :
en effet, LaTeX considère que l'on multiplie les trois variables
s, i et
n. Il faut coder
pour signaler à LaTeX la fonction
sinus et produire
.
Les principales fonctions ont ainsi leur commande. Texmaker fournit la liste dans le menu Math -> Fonctions math : \arccos, \arcsin, \arctan, \cos, etc.
Plus généralement, si l'on désire écrire du texte dans l'environnement mathématique,
par exemple pour le nom d'une fonction absente de cette liste, on emploie la commande
\text. Ainsi
donne
.
Comme pour les fractions, l'apparence des limites dépend du mode mathématique :
produit
donne
Là aussi, l'apparence des intégrales varie selon le mode mathématique :
produit
donne
Toujours en fonction du mode mathématique, on rencontre deux styles de présentation :
produit
et
donne
produit
et
donne
Comme pour les fractions, la commande
\displaystyle permet d'obtenir la grande taille du mode
hors ligne au sein du mode en ligne, alors que la commande
\textstyle fait l'inverse : elle produit la taille réduite
du mode en ligne à l'intérieur du mode hors ligne.
Ainsi
donne
,
tandis que
fournit
.
La commande \limits permet de placer les limites
inférieure et supérieure au-dessus du symbole d'intégration ou de sommation,
alors que la commande \nolimits force leur placement
sur le côté.
Donc
produit
,
mais
a pour résultat
.
Il arrive régulièrement que l'on ait besoin d'ajuster la taille des parenthèses, crochets, accolades ou autres délimiteurs.
Le plus souvent, on peut laisser le soin à LaTeX de le faire automatiquement,
en faisant précéder le délimiteur de gauche de
\left et le délimiteur de droite de
\right.
Par exemple,
a pour résultat peu satisfaisant
.
C'est pourquoi, on aura avantage à coder
pour obtenir
.
On rencontre aussi d'autres cas où LaTeX ne parvient pas à un bon ajustement
de la taille des délimiteurs. Il faut dès lors les régler à la main avec les
commandes suivantes, classées par ordre croissant :
\bigl ... \bigr,
\Bigl ... \Bigr,
\biggl ... \biggr et
\Biggl ... \Biggr.
Ainsi
donne
.
Comme on l'a vu à propos de la multiplication, il arrive aussi que l'on veuille ajuster manuellement l'espacement. On dispose pour cela des commandes suivantes :
| \qquad | 2 quad | ![]() |
![]() |
| \quad | 1 quad | ![]() |
![]() |
| \ | espace normal | ![]() |
![]() |
| \; | 5/18 quad | ![]() |
![]() |
| \: | 4/18 quad | ![]() |
![]() |
| \, | 3/18 quad | ![]() |
![]() |
| 0 quad | ![]() |
![]() |
|
| \! | -3/18 quad | ![]() |
![]() |
Par exemple
produit
.
Reproduire ceci :
Selon que l'on souhaite produire des matrices entourées de parenthèses ou de barres verticales, on utilise les environnements \begin{pmatrix} ... \end{pmatrix} ou \begin{vmatrix} ... \end{vmatrix} .
Chaque ligne doit se terminer par une double contre-oblique
\\.
Le caractère réservé & assure
le passage à la prochaine colonne.
Les matrices se codent ligne par ligne.
Par exemple
donne
.
Remarque : puisque LaTeX ne tient nullement compte des espaces, il est judicieux d'en profiter pour aligner les symboles &, afin de faciliter la lecture du code.
On distingue quatre sortes de points de suspension :
Ainsi
produit
.
Les matrices ne constituent qu'une version simplifiée de l'environnement plus général \begin{array} ... \end{array} pour la réalisation de tableaux. Voici sa syntaxe :
\begin{array}[position]{déclaration de rangée}
contenu du tableau
\end{array}
L'argument optionnel position précise la position du tableau par rapport à la ligne de base :
La déclaration de rangée indique le nombre de colonnes ainsi que l'alignement des éléments dans chacune d'elle. Chaque colonne est déclarée par l'une des lettres l, c ou r selon l'alignement désiré :
On peut en outre glisser le symbole | entre deux lettres de déclaration de rangée, afin d'avoir une ligne verticale séparant les colonnes en question.
Pour les lignes horizontales, on insère la commande
\hline entre les lignes.
Pour tracer une ligne allant seulement de la
colonne c1 à la
colonne c2, on
code \cline{c1-c2}.
Pour illustrer toutes ces instructions, voici un code et son résultat :
![]() |
![]() |
Les tableaux sont bien utiles pour l'écriture des systèmes d'équations.
Voici une première approche :
![]() |
![]() |
Évidemment que ce serait mieux d'avoir une accolade pour marquer le système :
on utilise pour cela \{.
Pour que la taille de l'accolade corresponde à celle du système, il suffit
de recourir à la commande
\left.
Mais celle-ci doit être utilisée conjointement avec la commande
\right. Or à droite, il n'y a aucune accolade ni
aucun autre délimiteur : c'est ce qu'on indique en utlisant le point .
comme délimiteur à droite.
En résumé :
![]() |
![]() |
Pour finalement réduire l'espace entre les colonnes du tableau, on utilise la commande \addtolength{\arraycolsep}{-3pt} que l'on prend soin de placer à l'intérieur d'un groupe délimité par des accolades, afin que cette modification demeure locale, c'est-à-dire qu'elle ne s'applique qu'au système concerné et non à l'ensemble du document.
![]() |
![]() |
Reproduire ceci :
Il ne s'agit plus ici de présenter de nouvelles notions, mais simplement des commandes utiles à la rédaction de formules géométriques.
Le symbole pour les degrés s'obtient avec la commande du même nom :
produit
.
On dispose de plusieurs commandes pour signaler les angles :
donne
produit
donne
produit
La commande \perp permet d'indiquer la perpendicularité :
génère
.
Pour le parallélisme, on dispose de la commande
\parallel.
Par exemple,
donne
.
On dispose de deux commandes pour placer les flèches au-dessus des vecteurs :
donne
produit
La norme d'un vecteur s'obtient avec le délimiteur
\|.
Par exemple,
engendre
.
Remarque : pour éviter les disgracieux
et
,
on code plutôt
et
pour obtenir
et
.
Pour écrire les composantes d'un vecteur, il suffit de coder une matrice ne contenant qu'une seule colonne.
Reproduire ceci :
La seule indication
absolue de taille des caractères est donnée dans la déclaration de la classe :
On indique ainsi la taille du corps du texte qui ne peut prendre que trois valeurs :
10pt, 11pt ou
12pt.
Toutes les indications de taille utilisées par LaTeX sont par la suite relatives :
| 10pt | 11pt | 12pt | |
| \tiny | 5pt | 6pt | 6pt |
| \scriptsize | 7pt | 8pt | 8pt |
| \footnotesize | 8pt | 9pt | 10pt |
| \small | 9pt | 10pt | 11pt |
| \normalsize | 10pt | 11pt | 12pt |
| \large | 12pt | 12pt | 14pt |
| \Large | 14pt | 14pt | 17pt |
| \LARGE | 17pt | 17pt | 20pt |
| \huge | 20pt | 20pt | 25pt |
| \Huge | 25pt | 25pt | 25pt |
Voici ce que l'on obtient par exemple avec l'option de classe 11pt :
![]() |
![]() |
On utilise ces commandes lorsqu'on ne doit modifier que quelques mots au sein d'un paragraphe. En revanche, pour modifier la taille des caractères de tout un paragraphe (voire plusieurs), on utilise plutôt un environnement, ce qui permet par la même occasion de modifier l'interligne en conséquence.
![]() |
![]() |
L'icône
de Texmaker facilite l'écriture de
ces environnements.
LaTeX distingue trois familles de polices :
![]() |
![]() |
LaTeX reconnaît quatre formes de caractères :
![]() |
![]() |
LaTeX offre deux graisses possibles :
![]() |
![]() |
Par défaut, LaTeX utilise la famille Latin Modern. Parce qu'il s'agit de la police originellement créée avec LaTeX, c'est sans aucun doute la plus complète et celle qui garantit le meilleur résultat.
Quelques autres familles sont néanmoins fournies :
Il faut bien entendu utiliser l'une de ces commandes en lieu et place de \usepackage{lmodern}.
Pour approfondir considérablement l'étendue des possibilités, on consultera avantageusement la page de mathastext.
Pour disposer des commandes de couleur, il faut charger le paquetage
xcolor en ajoutant dans le préambule :
\usepackage[dvipsnames]{xcolor}.
Avec l'option spécifiée, on dispose de quelques couleurs prédéfinies :
Comme l'indique la documentation officielle (p. 38), d'autres listes de couleurs sont accessibles avec les options svgnames ou x11names. On peut aussi définir soi-même ses couleurs.
![]() |
![]() |
Pour régler les marges et les dimensions de la page, la solution la plus facile consiste à utiliser le paquetage geometry.
Il suffit d'indiquer dans les options du paquetage les réglages que l'on souhaite effectuer. Il n'est nullement nécessaire d'indiquer toutes les dimensions, mais seulement celles que l'on souhaite spécifier.
Par exemple,
suffit pour indiquer la
largeur (15 cm) et la hauteur (24 cm) du texte. Par défaut,
les marges gauche, droite, supérieure et inférieure sont automatiquement
ajustées pour centrer le texte sur la page.
Pour une description complète des très nombreuses possibilités offertes, consulter la documentation officielle.
Par défaut, il n'y a aucun en-tête et le pied de page contient le numéro de page centré.
Pour supprimer aussi bien l'en-tête que le pied de page — comme
c'est souvent le cas sur les documents d'une seule page — il suffit
d'utiliser la commande (généralement au tout début du document) :
La façon la plus simple de personnaliser l'en-tête ou le pied de page
consiste à utiliser le paquetage
fancyhdr avec le style de page correspondant.
On écrit pour cela dans le préambule :
Les commandes \fancyhead{texte} et \fancyfoot{texte} permettent respectivement d'indiquer le contenu de l'en-tête et du pied de page. On ajoute également à ces commandes un argument optionnel (L, C ou R), selon que l'on désire modifier ce qui figure à gauche, au centre ou à droite. Les commandes \renewcommand{\headrulewidth}{largeur} et \renewcommand{\footrulewidth}{largeur} indiquent respectivement la largeur du filet horizontal en-dessous de l'en-tête et au-dessus du pied de page.
Voici un exemple pour résumer toutes ces instructions :
Pour faire afficher le numéro de page courant, il faut coder \thepage
En ajoutant dans le préambule \usepackage{lastpage}, on peut obtenir le numéro de la dernière page avec l'instruction \pageref{LastPage}
Voici, par exemple, comment produire, en bas à droite du pied de page,
une numérotation du type
:
D'autres exemples et des instructions plus détaillées figurent bien sûr dans la documentation officielle.
Il y a trois espaces prédéfinies :
Pour obtenir un saut vertical d'une dimension quelconque, on
utilise la commande
\vspace{dimension}, par exemple
\vspace{1cm} ou
\vspace{15pt}.
Signalons que
\vspace{3\baselineskip} produit
un saut vertical équivalent à trois interlignes, c'est-à-dire
trois lignes blanches.
La commande
\newpage provoque un saut de page.
La commande \clearpage fait de même, mais
insère également les flottants (images, tableaux) encore en attente
d'être affichés.
Comme on l'a vu, une ligne blanche signifie la fin d'un paragraphe.
Celle-ci peut aussi être signalée par la commande
\par.
La double contre-oblique
\\ permet de passer à la ligne, tout en restant dans
le même paragraphe.
Un argument optionnel permet en outre d'ajouter une espace verticale supplémentaire
lors du passage à la ligne :
\\[dimension]
![]() |
![]() |
Il existe aussi des espaces horizontales prédéfinies :
De même, un saut horizontal d'une dimension quelconque s'obtient avec \hspace{dimension}.
La commande \hrule tire un filet horizontal sur toute la largeur du texte.
La commande \rule[décalage]{largeur}{hauteur} tire un trait de la largeur et hauteur indiquées. Le paramètre optionnel permet de décaler le trait par rapport à la ligne de base, vers le haut ou le bas, selon la valeur positive ou négative spécifiée.
|
|
La solution la plus simple est de recourir au paquetage
setspace en ajoutant dans le préambule
.
On dispose alors des commandes
,
et
pour avoir un interligne respectivement simple (par défaut), augmenté de moitié
ou doublé.
En outre, on peut multiplier l'interligne simple par le facteur multiplicatif de son
choix (par exemple 1.5) avec la commande
.
L'indentention des paragraphes se règle en modifiant la valeur
de \parindent. Par exemple, pour supprimer
l'indentation de tous les paragraphes, on écrit
.
Pour supprimer l'indentation d'un seul paragraphe en particulier, il suffit
de le débuter par la commande
.
L'espacement entre les paragraphes est déterminé par
\parskip. Il vaut mieux lui attribuer
une grandeur élastique pour avoir plus de souplesse :
.
LaTeX gère les coupures entre les pages au moyen d'un système de pénalités. Pour empêcher entièrement les veuves (coupure après la première ligne d'un paragraphe) et les orphelines (coupure juste avant la dernière ligne d'un paragraphe), il suffit de mettre une pénalité « infinie » :
Le moyen le plus simple pour encadrer un paragraphe est de se servir du
paquetage framed. On ajoute donc
dans le préambule, puis on utilise l'environnement du même nom :
Pour plus de détails et d'autres possibilités, on consultera la documentation officielle.
Les tabulations sont fournies par l'environnement \begin{tabbing} ... \end{tabbing}.
Les taquets de tabulations se placent avec la commande \=. On les espace horizontalement avec la commande \hspace. Enfin, on termine la déclaration des tabulations avec la commande \kill pour rendre cette ligne muette.
On passe d'une tabulation à l'autre avec la commande \> et on termine la ligne avec une double contre-oblique : \\.
Le menu de Texmaker facilite grandement le travail.
Voici un exemple et son résultat :
|
|
Par défaut, on obtient des tabulations à gauche. Il faut utiliser des boîtes de largeur nulle (cf. boîtes) pour avoir une tabulation centrée ou une tabulation à droite :
permet de centrer le texte par rapport à la tabulation ;
ou
produit l'équivalent d'une tabulation à droite.
Modifions ainsi le début de l'exemple précédent :
|
|
S'il ne reste plus d'autres taquets de tabulation sur la ligne, on peut encore aligner un dernier élément sur la marge de droite, en l'introduisant par \`.
|
|
On a déjà vu que LaTeX propose des environnements de liste où chaque entrée est introduite par la commande \item :
On se propose ici de montrer comment modifier l'apparence de ces listes.
Le plus simple est d'utiliser le paquetage
enumitem.
Comme le paquetage
babel avec l'option
francais s'occupe aussi de modifier l'apparence
des listes, il vaut mieux éviter tout conflit entre ces deux paquetages,
en demandant à babel de ne pas prendre en charge les listes,
afin d'en laisser le soin à
enumitem. On ajoutera par conséquent dans le préambule :
Voici quelques exemples pour changer le style des listes non ordonnées :
|
|
|
|
|
|
|
|
En ajoutant dans le préambule le paquetage pifont, on peut alors utiliser également les symboles de la police Zapf Dingbats recensés ci-dessous :
On obtient par exemple ceci :
|
|
Le style des numérotations se change facilement grâce aux commandes suivantes :
Illustrons cela avec quelques exemples :
|
|
|
|
|
|
Bien des paramètres d'espacement sont ajustables dans une liste, comme l'illustre le schéma ci-dessous :
Le paquetage enumitem simplifie encore les réglages en introduisant un nouveau paramètre \labelindent tel que
\leftmargin + \itemindent = \labelindent + \labelwidth + \labelsep
Une nouvelle fois, on renvoie à la documentation officielle pour des explications plus fournies et l'étendue de toutes les possibilités.
Insistons encore sur le fait qu'il est très largement préférable de ne pas régler chaque liste à la main (comme dans tous les exemples précédents), mais d'effectuer au contraire un unique réglage global s'appliquant à toutes les listes du document, grâce à la commande \setlist (voir p. 9 du manuel).
Lorsqu'un exercice se compose de plusieurs questions courtes, il est pratique d'avoir des listes en colonnes.
On pourrait obtenir de telles listes avec des tabulations ou un tableau, mais il vaut mieux laisser LaTeX s'occuper de la numérotation automatique : sinon, l'ajout, l'insertion ou le retrait (préférablement en les commentant) de questions devient rapidement cauchemardesque...
Il existe plusieurs solutions avec leur lot d'avantages et d'inconvénients.
En chargeant le paquet multienum dans le préambule
avec l'instruction
,
on dispose d'un nouvel environnement
\begin{multienumerate} ... \end{multienumerate}.
Pour écrire les éléments de la liste, on utilise les commandes \mitemx{...}, \mitemxx{...}{...}, \mitemxxx{...}{...}{...} ou \mitemxxxx{...}{...}{...}{...}, selon que l'on désire 1, 2, 3 ou 4 items par ligne.
|
|
|
|
|
|
|
|
On prendra garde au fait que les éléments de la liste doivent être placés entre accolades.
Il existe en outre des commandes qui permettent à un item de s'étendre sur la colonne suivante : \mitemxox{...}{...}, \mitemxxo{...}{...}, \mitemxoxx{...}{...}{...}, \mitemxxox{...}{...}{...} ou \mitemxxxo{...}{...}{...}.
|
|
Voici le lien vers la documentation officielle.
La documentation n'explique toutefois pas comment modifier l'apparence des listes. Après avoir chargé le paquet, il faut redéfinir la commande \regularlisti chargée de la mise en page, comme l'illustrent les deux exemples suivants :
|
|
|
|
Le paquetage tablists propose un environnement \begin{tabenum} ... \end{tabenum}. On y introduit les différents éléments comme dans une liste ordinaire à l'aide de la commande \item. Par défaut, les éléments se succèdent horizontalement. Il faut donc laisser une ligne vide pour passer à la ligne suivante. Les éléments suivants sont alors automatiquement alignés en colonne.
|
|
Alors que le paquetage multienum répartit toute la largeur du texte entre les colonnes, le paquetage tablists établit la largeur des colonnes en fonction de leur contenu, mais maintient constant l'espace entre elles.
Pour fixer, par exemple, l'espace constant entre les colonnes à
1 cm, il faut écrire (après le chargement du paquetage)
.
La modification de l'apparence des listes est très intuitive :
|
|
|
|
Le chevauchement des colonnes, en revanche, l'est moins :
|
|
Pour d'autres informations, on consultera la documentation officielle.
Le paquetage shortlst ne fait pas partie de la distribution TeXLive, aussi vous faut-t-il le télécharger ici.
Voici le lien vers la documentation officielle.
LaTeX compose absolument TOUT en assemblant des boîtes. Ainsi, une page est une boîte constituée d'une boîte pour le corps du texte, au-dessus de laquelle figure une autre boîte pour l'en-tête et en-dessous de laquelle figure une troisième boîte pour le pied de page. À son tour, le corps du texte est constitué d'autant de boîtes qu'il y a de paragraphes. À nouveau, chaque paragraphe est formé de la superposition des boîtes contenant les lignes, lesquelles contiennent derechef une boîte pour chaque mot, etc.
C'est pourquoi, comprendre les boîtes permet de beaucoup mieux comprendre le fonctionnement de LaTeX. C'est aussi un point essentiel pour arranger et penser sa mise en pages de façon différente qu'avec un traitement de texte.
La commande \makebox[largeur][position]{texte} crée une boîte horizontale contenant du texte.
Par exemple, on peut mettre une formule mathématique dans une boîte,
afin de prévenir tout passage à la ligne :
.
Par défaut, la largeur de la boîte correspond à la largeur de son contenu. Mais, on peut aussi imposer à l'avance la largeur de la boîte, grâce au premier argument optionnel. Le texte est alors placé au centre de la boîte, à moins que l'on ne modifie sa position avec le second argument optionnel : l, respectivement r, impose que le texte soit aligné à gauche, respectivement à droite, de la boîte.
Par exemple, en imposant une boîte ayant exactement la largeur du corps du texte, on peut centrer du texte, l'aligner sur la marge de gauche ou celle de droite :
|
|
|
|
|
|
| En combinant astucieusement les boîtes, on peut par exemple — sans nullement recourir aux tabulations — créer une ligne contenant du texte aligné à gauche, du texte centré et du texte aligné à droite : | |
![]() |
![]() |
On a encore utilisé la commande \hfill afin de remplir les blancs, afin d'occuper entièrement la largeur de la boîte.
Si vous êtes habitué à un traitement de texte, voilà qui peut vous sembler bien étrange, voire bien compliqué. Mais cette façon de procéder présente aussi des avantages :
|
|
|
|
Les boîtes précédentes étaient horizontales, c'est-à-dire qu'il n'est pas possible d'y superposer des lignes, en d'autres termes d'y écrire un paragraphe.
L'environnement \begin{minipage}[position][hauteur][position interne]{largeur} ... \end{minipage} sert précisément à créer des boîtes de paragraphes.
L'argument essentiel indique la largeur de la boîte : on a ainsi spécifié un paragraphe d'une largeur de 6 cm dans l'exemple précédent.
Le premier argument optionnel indique la position par rapport à la ligne de base :
Par défaut ou en l'absence de cet argument optionnel, la ligne de base traverse la boîte en son milieu.
|
|
Les deux derniers arguments optionnels permettent d'imposer la hauteur de la boîte, puis de déterminer la position du paragraphe à l'intérieur de celle-ci : t (texte en haut de la boîte), c (texte au centre de la boîte) ou b (texte en bas de la boîte).
|
|
L'environnement \begin{minipage}{largeur} ... \end{minipage} s'utilise souvent pour juxtaposer texte et figures sur une même ligne :
|
|
Dans les options de configuration de Texmaker, sous la rubrique , il faut choisir l'option .
Remarque : avec ce réglage, l'insertion d'images n'est désormais possible qu'au seul format .eps.
Il faut bien sûr charger le paquetage pstricks
avec l'instruction
dans le préambule.
Toutes les instructions de dessin prennent place dans l'environnement
\begin{pspicture}(xgauche,ybas)(xdroite,yhaut) ... \end{pspicture}.
Cet environnement définit également les dimensions de la boîte que LaTeX réserve pour
le graphique.
Le graphique peut néanmoins outrepasser les limites de cette boîte. Pour qu'aucun élément graphique n'excède le cadre de cette boîte, on utilise plutôt la forme étoilée : \begin{pspicture*}(xgauche,ybas)(xdroite,yhaut) ... \end{pspicture*}.
La commande \psline(x1,y1)(x2,y2) trace un segment reliant deux points.
Plus généralement, on peut tracer une ligne brisée passant par un nombre quelconque de points : \psline(x1,y1)(x2,y2)(x3,y3)...(xn,yn)
La commande \pspolygon(x1,y1)(x2,y2)(x3,y3)...(xn,yn) trace le polygone ayant les sommets spécifiés.
La commande \psframe(x1,y1)(x2,y2) trace un rectangle dont les côtés sont parallèles aux axes, les coordonnées (x1,y1) et (x2,y2) désignant respectivement le coin inférieur gauche et le coin supérieur droit.
La commande \pscircle(x,y){r} trace le cercle de centre (x,y) et de rayon r.
La commande \psellipse(x,y)(a,b) trace l'ellipse de centre (x,y) et de demi-axes (parallèles aux axes) de longueurs respectives a et b.
Les commandes \psarc(x,y){r}{α}{β} et \psarcn(x,y){r}{α}{β} dessinent un arc de cercle centré en (x,y), de rayon r, depuis l'angle α jusqu'à l'angle β. La première tourne dans le sens du cercle trigonométrique et la seconde dans le sens des aiguilles de la montre.
La commande \pswedge(x,y){r}{α}{β} dessine un secteur centré en (x,y), de rayon r, depuis l'angle α jusqu'à l'angle β, en tournant dans le sens du cercle trigonométrique.
Notamment pour produire un polygone régulier, il peut être parfois plus avantageux d'utiliser les coordonnées polaires, plutôt que les coordonnées cartésiennes.
Il faut ajouter la commande \SpecialCoor pour pouvoir recourir aux coordonnées polaires. On écrit alors (r;φ).
L'argument optionnel origin={x,y} permet de déplacer l'origine du repère au point (x,y).
Les éléments grisés n'apparaissent pas dans le résultat final, mais ne servent qu'à mieux comprendre le code.
|
|
| télécharger le code |
|
|
| télécharger le code |
Reproduire les dessins suivants :
|
|
L'apparence des éléments graphiques se modifie aisément à l'aide d'arguments optionnels.
Il existe 4 types de traits :
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Si le style none a de quoi surprendre, il est très utile dans les cas où l'on désire délimiter une zone sans pour autant la tracer.
L'argument optionnel linecolor indique la couleur du trait.
![]() |
![]() |
Pour disposer d'une large palette de couleurs, on aura tout intérêt à ajouter dans le préambule : \usepackage[dvipsnames]{xcolor}, comme on l'a vu ici.
L'argument optionnel linewidth modifie l'épaisseur du trait.
![]() |
![]() |
L'argument optionnel arrows permet d'ajouter des flèches. Bien des combinaisons sont possibles à chacune des extrémités. On en présente ici un échantillon.
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Comme on s'en doute, l'argument optionnel arrowscale détermine la taille des flèches. Pour en faciliter la lecture, les exemples ci-dessus ont été produits avec le paramètre arrowscale=1.7.
L'argument optionnel fillstyle sert à remplir une région.
Par exemple, la valeur hlines hachure la région.
![]() |
![]() |
Par ailleurs, les paramètres hatchangle, hatchsep, hatchcolor ou hatchwidth permettent respectivement de régler l'angle des rayures, leur distance, leur couleur ou leur épaisseur.
![]() |
![]() |
La valeur solid du paramètre fillstyle permet le coloriage uniforme. L'argument fillcolor spécifie la couleur de remplissage.
![]() |
![]() |
Si l'on voulait dessiner tous les traits d'une figure en rouge et d'une épaisseur de 0.2pt, il deviendrait bien fastidieux de devoir ajouter l'argument optionnel [linecolor=red,linewidth=0.2pt] à chaque instruction. Pire, si l'on décidait de modifier ce réglage, les changements seraient encore plus pénibles.
La commande
\psset{...}
sert précisément à cela.
Dans le cas précédent, il suffirait donc de coder une seule instruction :
.
En plaçant cette commande à l'intérieur de l'environnement \begin{pspicture} ... \end{pspicture}, les modifications ne s'appliqueront qu'à cette seule figure.
En l'insérant dans le préambule ou au tout début du document, toutes les figures seront affectées.
Jugeant les traits par défaut trop épais et les flèches trop petites, j'ai
pour habitude d'ajouter, au début de tout document, la commande
.
Reproduire les figures suivantes :
|
|
|
Indications :
La commande \rput(x,y){...} permet de placer, au point (x,y), son argument, qui peut être aussi bien du texte que d'autres instructions de dessin.
|
|
Avant d'être déplacé vers le point (x,y), l'argument peut au préalable subir une rotation d'angle α centrée à l'origine, avec la commande \rput{α}(x,y){...}
|
|
La commande \rput s'avère bien peu pratique pour étiqueter les sommets d'une figure, car les étiquettes doivent figurer non sur les points eux-mêmes, mais à côté d'eux.
Pour cela, on utilise plutôt la commande
\uput{r}[φ]{α}(x,y){...}
dont les derniers arguments
α et
(x,y) jouent le même rôle
qu'avec la commande
\rput.
Les deux premiers arguments servent à positionner l'étiquette
par rapport au point (x,y)
en spécifiant en quelque sorte ses coordonnées polaires, c'est-à-dire
à quelle distance et dans quelle direction elle se situe.
|
|
| télécharger le code | |
|
|
| télécharger le code |
La commande
\psdots(x,y)
permet d'afficher explicitement le point
de coordonnées (x,y)
d'une figure.
L'apparence du point se modifie grâce à l'argument
optionnel dotstyle.
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Les commandes qui suivent, pour marquer les segments, nécessitent
de charger dans le préambule, après le paquetage
pstricks, un autre paquetage :
On notera également qu'en lieu et place de la commande \psline, il faut ici utiliser la commande \pcline.
Trois commandes permettent, après avoir dessiné un segment, d'y ajouter une étiquette :
|
|
| télécharger le code |
Quelques arguments optionnels permettent de régler le positionnement de l'étiquette (comme avec la commande \uput) :
|
|
| télécharger le code |
Signalons enfin l'argument optionnel offset de la commande \pcline, qui permet de décaler un segment d'un côté ou de l'autre, selon sa valeur positive ou négative.
|
|
| télécharger le code |
Reproduire les figures suivantes :
|
|
Le paquetage pst-eucl sert à construire des figures géométriques, à la façon d'un logiciel de géométrie dynamique comme GeoGebra.
Il faut bien évidemment le charger, à la suite de
pstricks, avec la commande
.
La commande \pstGeonode(x1,y1){A1}(x2,y2){A2}(x3,y3){A3}... permet de définir un ensemble de points, dont on spécifie les coordonnées et le nom. Il demeure toujours possible de définir un point par ses coordonnées polaires.
|
|
Une série de paramètres optionnels servent à régler l'apparence :
|
|
| télécharger le code |
Une fois que les points ont été définis, on peut les relier pour former, par exemple, un polygone avec la commande \pspolygon, ou un segment avec la commande \pcline.
|
|
| télécharger le code |
La commande \pcline peut prendre pour argument optionnel nodesepA, nodesepB ou nodesep, afin de raccourcir ou de rallonger le segment, en deçà ou au-delà de la première extrémité, de la seconde ou des deux simultanément.
En prenant une grande valeur négative et en utilisant l'environnement \begin{pspicture*} ... \end{pspicture*} pour tronquer tout ce qui outrepasse la zone de dessin, on obtient ainsi un moyen simple de tracer une droite passant par deux points.
|
|
| télécharger le code |
La commande \pstMarkSegment sert à marquer un segment. On prendra garde au fait que les noms des sommets doivent ici être placés entre accolades.
|
|
|
|
|
|
|
|
|
|
|
|
La commande \pstMarkAngle permet de marquer les angles d'une figure.
L'argument optionnel MarkAngleRadius spécifie le rayon de l'arc de cercle, alors que LabelSep indique la distance entre le sommet et l'étiquette de l'angle.
|
|
| télécharger le code |
Un angle droit se marque au moyen de la commande \pstRightAngle qui admet deux arguments optionnels :
|
|
| télécharger le code |
En plus de la commande \pscircle, le paquetage pst-eucl offre deux autres commandes :
|
|
| télécharger le code |
En plus des commandes \psarc et \psarcn, le paquetage \pst-eucl propose les commandes \pstArcOAB{O}{A}{B} et \pstArcnOAB{O}{A}{B}. Elles tracent un arc de cercle, respectivement dans le sens du cercle trigonométrique ou dans le sens des aiguilles de la montre, de centre O, depuis le point A, jusque dans la direction du point B (qui n'a pas besoin d'être à la même distance du point O que le point A).
|
|
| télécharger le code |
Reproduire la figure suivante (produite avec \psset{linewidth=.5pt}) :
Remarque :
comme on va le voir à la page suivante, il est préférable
de ne définir avec la commande
\pstGeonode
que les points O,
A et B, mais
non le point H.
Pour ce dernier, on a tout intérêt à le construire géométriquement
avec la commande
L'intérêt principal du paquetage pst-eucl réside dans sa capacité à réaliser des transformations géométriques.
L'ensemble des commandes présentées ici possèdent les arguments optionnels suivants :
La commande \pstSymO{O}{P} construit l'image du point P par la symétrie de centre O.
Plus généralement, on peut donner une liste de points dont on veut construire les symétriques : \pstSymO{O}{P,Q,R,S,T,...}
Par défaut, l'image du point P est nommée P'. Un argument optionnel permet de choisir le nom du symétrique à sa guise : \pstSymO{O}{P}[Q] appelle Q le symétrique de P.
|
|
| télécharger le code |
La commande \pstOrtSym{A}{B}{P} construit l'image du point P par la symétrie orthogonale d'axe AB.
Tout comme avec la commande précédente, on peut donner une liste de points dont veut construire les symétriques respectifs, ou spécifier leur nom avec un argument optionnel.
|
|
| télécharger le code |
La commande \pstRotation[RotAngle=α]{O}{P} construit l'image du point P par la rotation de centre O et d'angle α.
Là aussi, on peut donner une liste de points dont on veut construire les images, ou spécifier leur nom avec un argument optionnel.
|
|
| télécharger le code |
L'angle de rotation peut également être défini par trois points à l'aide de la commande \pstAngleAOB{A}{O}{B}.
Le paramètre optionnel AngleCoef, qui doit précéder RotAngle, permet en outre de multiplier cet angle par un coefficient.
|
|
| télécharger le code |
La commande \pstTranslation{A}{B}{P} construit l'image du point P par la translation de vecteur AB→.
À nouveau, on peut donner une liste de points dont on veut construire les images, ou spécifier leur nom avec un argument optionnel.
L'argument optionnel DistCoef permet également de faire une translation par un multiple du vecteur AB→.
|
|
| télécharger le code |
La commande \pstHomO[HomCoef=k]{O}{P} construit l'image du point P par l'homothétie de centre O et de rapport k.
Encore une fois, on peut donner une liste de points dont on veut construire les images, ou spécifier leur nom avec un argument optionnel.
|
|
| télécharger le code |
La commande \pstProjection{A}{B}{P} projette orthogonalement le point P sur la droite AB.
Comme d'habitude, on peut donner une liste de points dont on veut construire les images, ou spécifier leur nom avec un argument optionnel.
|
|
| télécharger le code |
La commande \pstMiddleAB{A}{B}{M} crée le point M, milieu des points A et B.
La commande \pstCGravABC{A}{B}{C}{G} crée le point G, centre de gravité du triangle ABC.
|
|
| télécharger le code |
La commande \pstMediatorAB{A}{B}{M}{P} produit, à partir des points donnés A et B, deux autres points :
Les points M et P sont finalement reliés.
|
|
| télécharger le code |
Les commandes \pstBissectBAC{B}{A}{C}{P} et \pstOutBissectBAC{B}{A}{C}{P} produisent le point P, situé sur la bissectrice, respectivement intérieure et extérieure, de l'angle BAC. Les points A et P sont ensuite reliés.
|
|
| télécharger le code |
La commande \pstInterLL{A}{B}{C}{D}{I} détermine le point d'intersection I entre les droites AB et CD.
|
|
| télécharger le code |
La commande \pstInterLC{A}{B}{O}{C}{I1}{I2} détermine les points d'intersection I1 et I2 entre la droite AB et le cercle centré en O et passant par C.
Tout comme pour la commande \pstCircleOA, l'argument pour le point C peut être laissé vide et le rayon ou le diamètre du cercle précisés avec les arguments optionnels Radius ou Diameter.
|
|
| télécharger le code |
La commande \pstInterCC{O1}{C1}{O2}{C2}{I1}{I2} détermine les points d'intersection I1 et I2 entre le cercle centré en O1 et passant par C1, et le cercle centré en O2 et passant par C2.
Comme avec la commande précédente, les arguments pour les points C1 ou C2 peuvent être laissés vacants. On indique alors le rayon ou le diamètre de l'un ou l'autre cercle avec les arguments optionnels RadiusA, RadiusB, DiameterA ou DiameterB.
|
|
télécharger le code |
Construire les figures suivantes :
|
|
|
La commande \psgrid(x1,y1)(x2,y2) permet de réaliser un quadrillage dont le coin inférieur gauche a pour coordonnées (x1,y1) et le coin supérieur droit (x2,y2).
En codant plutôt \psgrid(x0,y0)(x1,y1)(x2,y2), on spécifie encore l'abscisse x0 des graduations verticales et l'ordonnée y0 des graduations horizontales.
|
|
|
|
Plusieurs paramètres optionnels servent à régler l'apparence du quadrillage et du sous-quadrillage :
télécharger le code |
|
télécharger le code |
|
télécharger le code |
|
Pour tout ce qui suit, on devra ajouter dans le préambule
.
La commande \psaxes(x0,y0)(x1,y1)(x2,y2) fonctionne de même que la commande \psgrid, mais trace un système d'axes.
|
|
On peut bien entendu ajouter des flèches aux axes :
|
|
|
|
Pour changer la taille des graduations, on recourt aux commandes de changement de taille de LaTeX :
|
|
|
|
Les paramètres optionnels Dx et Dy permettent de régler l'incrémentation des graduations horizontale et verticale.
|
|
Les paramètres optionnels xsubticks et ysubticks permettent d'indiquer le nombre de subdivisions des unités sur chacun des axes.
|
|
Par défaut, l'unité est le cm.
Pour réduire ou agrandir un dessin, il suffit de modifier la valeur de l'unité.
Par exemple, pour obtenir une figure deux fois plus petite, il suffit d'ajouter,
au tout début du code, la commande
.
|
|
|
|
|
|
télécharger le code |
On peut également définir une échelle différente sur les deux axes, en spécifiant indépendamment xunit et yunit.
|
|
Ce qui est présenté ici nécessite toujours d'avoir chargé le paquet pstricks-add dans le préambule.
La commande \psplot{xmin}{xmax}{f} trace le graphe de la fonction f dans l'intervalle [xmin;xmax].
|
|
télécharger le code |
Si vous peinez à reconnaître la fonction de l'exemple précédent, c'est que PSTricks utilise par défaut la notation polonaise inverse.
Une autre façon de faire consiste à ajouter le paramètre optionnel
algebraic=true.
L'exemple précédent se code alors plus intuitivement :
Un autre argument optionnel que l'on emploie couramment est plotpoints : il détermine le nombre de points du graphe calculés, lesquels sont ensuite reliés par des segments pour tracer le graphe.
|
|
|
|
|
|
|
|
La commande \pscustom permet de délimiter la zone comprise entre deux courbes.
|
|
télécharger le code |
Ce qui est présenté ici vaut tout aussi bien pour les graphiques produits avec PSTricks que pour n'importe quelle image. On pourra donc sans autre remplacer l'environnement \begin{pspicture} ... \end{pspicture} par la commande \includegraphics{...}.
Pour centrer un graphique, il suffit de l'insérer dans l'environnement \begin{center} ... \end{center}
|
|
télécharger le code |
Pour autant que le graphique et le texte aient approximativement la même hauteur, on peut créer une boîte horizontale occupant toute la largeur du texte, contenant deux minipage, l'une pour le texte, l'autre pour le graphique.
|
|
télécharger le code |
Même méthode avec le graphique de l'autre côté :
|
|
télécharger le code |
L'inconvénient de la méthode précédente est que l'on n'a besoin d'un retrait du texte (pour laisser de la place pour le graphique) seulement pour les premières lignes du paragraphe et non pour toutes ses lignes.
On peut obtenir ce résultat avec les commandes \hangindent et \hangafter :
|
|
télécharger le code |
On constate que le graphique doit être placé au bon endroit avec la commande \rput.
De même, voici comment placer le graphique à gauche :
|
|
télécharger le code |
Une autre façon d'obtenir le même résultat qu'avec la 2e méthode consiste à utiliser le paquetage wrapfig, qu'il convient donc de charger dans le préambule avec l'instruction \usepackage{wrapfig}.
On dispose alors de l'environnement \begin{wrapfigure}[nombre de lignes]{placement}{largeur} ... \end{wrapfigure}.
Pour ajuster la distance entre la figure et le texte du paragraphe, il faut modifier les longueurs \columnsep ou \intextsep, selon que l'on désire corriger la distance horizontale ou verticale.
|
|
télécharger le code |
On remarque ici que l'on a fixé la distance horizontale entre la figure et le texte à 1.2cm, alors que la distance verticale a été diminuée de 10pt.
Voici la version correspondante avec le graphique de l'autre côté :
|
|
télécharger le code |
La dernière méthode est sans doute la plus laborieuse, mais aussi celle qui offre le plus de possibilités. Il s'agit d'une élaboration de la 2e méthode.
On recourt ici à la commande \parshape n i1 l1 i2 l2 i3 l3 ... qui spécifie respectivement l'indentation et la longueur de la ligne pour les n premières lignes du paragraphes, les suivantes gardant le dernier réglage.
|
|
télécharger le code |
Voici l'utilisation de cette méthode pour placer le graphique de l'autre côté :
|
|
télécharger le code |
L'un des intérêts majeurs de LaTeX est qu'il permet, comme tout langage de programmation, d'écrire ses propres commandes ou de définir ses environnements personnels. Chaque fois que l'on doit reproduire régulièrement la même série d'instructions, il devient judicieux de définir une commande chargée de cette tâche. Si l'on souhaite mettre en page une structure particulière du document (énoncé d'exercice, réponse, etc.), il est nettement souhaitable de créer un environnement spécifique.
On crée très facilement sa propre commande : \newcommand{\nomDeLaCommande}{instructions}
Par exemple, créons une commande \reels
pour produire le symbole des nombres réels :
On peut désormais utiliser notre commande \reels autant de fois qu'on le souhaite.
À chaque fois, la commande \reels sera
remplacée par l'instruction \mathbb{R}.
Ainsi
produit
.
On peut aussi définir une commande ayant un certain nombre d'arguments. On crée alors une nouvelle commande en codant \newcommand{\nomDeLaCommande}[nbArguments]{instructions}. On réfère ensuite au contenu du premier argument par #1, à celui du deuxième par #2 et ainsi de suite.
Par exemple, créons une commande \intervalle ayant 4 arguments :
Alors, le code
génère
.
Il va sans dire qu'il est tout à fait possible de créer des commandes s'appuyant sur ses propres commandes :
Le code
produit ainsi
.
On peut aussi définir une commande ayant un premier argument optionnel, en précisant sa valeur
par défaut :
\newcommand{\nomDeLaCommande}[nbArguments][valeurParDefaut]{instructions}.
Par exemple, créons une commande pour mettre en évidence des mots-clés.
Il y aura un premier argument optionnel, pour spécifier la couleur dans
laquelle le texte doit apparaître (par défaut en noir), ainsi qu'un argument obligatoire
contenant le texte à mettre en évidence (qui sera mis en italique et en gras).
donne
On crée tout aussi simplement un environnement :
\newenvironment{nomDeLEnvironnement}{instructions avant l'environnemnt}{instruction après l'environnement}
Imaginons, par exemple, que l'on souhaite créer un environnement \begin{remarque} ... \end{remarque}, pour mettre systématiquement en page toutes les remarques.
Voici une première version de cet environnement :
L'idée générale est de faire précéder cet environnement d'un saut vertical de 12pt,
d'écrire Remarque en gras et d'avoir encore un petit saut vertical
de 3pt avant le texte de la remarque.
À la fin de celui-ci, on va placer, tout à la fin de la ligne, le
symbole
.
Voici une illustration du résultat :
|
|
| télécharger le code |
L'instruction \addpenalty{-200} sert à encourager LaTeX à passer à la page suivante, s'il reste bien peu de place au bas de la page. Plus la valeur négative est importante, plus facilement LaTeX passera à la page suivante.
L'instruction \nobreak sert évidemment à prévenir un saut de page entre le texte Remarque et le début de la remarque elle-même.
Il arrive fréquemment que l'on définisse un nouvel environnement à partir d'autres environnements.
Voici une nouvelle définition de notre environnement \begin{remarque} ... \end{remarque}, qui s'appuie notamment sur les environnements \begin{shaded*} ... \end{shaded*} pour l'encadré et \begin{description} ... \end{description} pour mettre en page le texte de la remarque :
|
|
| télécharger le code |
Pour le plaisir de jouer avec les paquetages fancypar et frcursive, voici une autre version :
|
|
| télécharger le code |
On fait ici appel à une technique qui sera très utile pour faire apparaître l'ensemble des corrigés de tous les exercices en fin de chapitre. Le contenu de la remarque est placé dans une boîte, ouverte au début de l'environnement avec \bgroup, puis refermée à la fin avec \egroup, qui jouent respectivement le rôle d'accolades ouvrante { et fermante }. Le contenu de la boîte est ensuite vidé pour servir d'argument à la commande \NotebookPar.
Ces différentes versions montrent bien la méthode de production de documents prônée avec LaTeX : en structurant parfaitement son document, il suffit de définir des environnements pour régler la mise en pages de tout le document. Mieux, en plaçant ces définitions dans un fichier de style, c'est un ensemble de documents qui héritent de la même mise en pages.
Les compteurs servent bien sûr à numéroter des sections, des exercices, etc.
La commande \newcounter{compteur} crée un nouveau compteur
dont on choisit le nom.
On peut faire suivre cette instruction d'un argument optionnel, afin que
le compteur se remette à zéro à chaque incrémentation d'un compteur parent.
Par exemple, \newcounter{exercice}[section]
crée un compteur, nommé exercice, avec l'avantage que
la numérotation des exercices sera réinitialisée à chaque
nouvelle section.
Plusieurs commandes servent à modifier la valeur d'un compteur :
Les compteurs s'affichent grâce aux commandes que l'on a déjà vues dans le cas particulier des listes ordonnées :
À titre d'exemple, écrivons une commande pour la composition des exercices.
|
|
|
|
| télécharger le code |
On a déjà rencontré quelques longueurs : \textwidth, \parindent...
Lors de la préparation de la mise en page, il peut s'avérer utile de créer ses propres variables de longueur, grâce à l'instruction \newlength{\longueur}
On fixe ou modifie ensuite la valeur de cette longueur avec les commandes suivantes :
Les calculs de dimensions et de compteurs sont grandement facilités par le paquetage calc. On consultera la documentation officielle pour en savoir davantage.
Le paquetage ifthen permet de définir des conditions qui, selon qu'elles sont vraies ou fausses, permettent à LaTeX d'agir d'une façon ou d'une autre.
On utilise pour ce faire la commande
\ifthenelse{condition}{instructions si condition vérifiée}{instructions si condition non vérifiée}
Il est bien commode, là aussi, d'utiliser des variables conditionnelles que l'on gère avec les commandes suivantes :
À titre d'exemple, complétons les exercices précédents en ajoutant
les réponses. Mais leur affichage dépendra de la valeur de la variable
conditionnelle corrige. Il suffira alors
de changer la valeur de cette variable pour produire une version
sans corrigé pour les élèves ou une version avec corrigé pour le maître.
La stratégie consiste à placer le contenu du corrigé dans une boîte
qu'ensuite l'on pourra afficher ou non.
|
|
|
mettre la variable corrige à true mettre la variable corrige à false |
|
|
|
| télécharger le code | |
Documentation officielle du paquetage ifthen.
Les différentes sections déjà rencontrées (\section, \subsection, \subsubsection...) sont toutes créées à l'aide de la même commande \@startsection que l'on peut à notre tour utiliser pour créer de nouvelles sections. Sa syntaxe requiert 6 arguments :
\@startsection{compteur}{niveau}{indentation}{préséparation}{postséparation}{style}
Par exemple, on aurait aussi pu définir la commande \exercice de la page précédente ainsi :
Les types de listes déjà vus (\begin{enumerate} ... \end{enumerate}, \begin{itemize} ... \end{itemize} ou \begin{description} ... \end{description}) sont produits par une commande plus générale, qui nous permet, à notre tour, de produire d'autres types de listes :
\begin{list}{marquage des articles}{déclarations}
articles
\end{list}
Parce qu'on utilise en général une liste ainsi définie plus d'une fois, on place une telle création de liste dans la définition d'un nouvel environnement, afin de l'utiliser autant de fois que nécessaire.
L'étendue des possibilités offertes par la création de liste permet de les utiliser là où on ne les attend pas de prime abord. Par exemple, créons un environnement \begin{retrait}{gauche}{droite} ... \end{retrait} qui permet de décaler le texte par rapport à la marge de gauche et à celle de droite.
|
|
| télécharger le code |
Proposons encore une nouvelle définition de l'environnement \begin{exercice} ... \end{exercice} pour réaliser une mise en page au moyen d'une liste.
|
|
|
|
| télécharger le code |
Pour illustrer les pages précédentes, mais aussi comme modèles de documents, voici quelques exemples d'examens, tests et série d'exercices.
Dans un premier temps, le préambule et le fichier de style peuvent impressionner et déconcerter. Il est donc vivement recommandé de l'ignorer et d'examiner en premier lieu le corps du document, afin de comprendre comment il est très simplement structuré à l'aide d'environnements et de macros.
Ce n'est qu'en fonction de sa curiosité, de son intérêt ou de ses besoins que l'on pourra, dans un deuxième temps, commencer à scruter le code qui sert à la création de ces environnements et de ces macros. Libre à chacun ensuite de les modifier selon ses besoins ou de s'en inspirer pour définir ses propres environnements.