Structure de base
La structure de base se présente comme suit :
\documentclass[option]{style}[date] préambule \begin{document} texte \end{document}
La première ligne correspond au "<!DOCTYPE html>" en HTML et définit 4 styles de publication.
- book : peut être divisé en parties puis en chapitres
- report : ne peut être divisé qu'en plusieurs chapitres
- article : ne contiendra aucun chapitre mais uniquement des sections.
- letter
Le préambule - correspondant au <header> en HTML - contient la définition de la taille des pages et les définitions des commandes, des environnements et des théorèmes. Il peut également contenir des commandes d'inclusion de fichiers de style.
La taille des caractères par défaut est 10 points.
Si le warning "Bad Box" et "... too wide ... " apparaît avec une police, il suffit de
réduire la taille des caractères.
document - correspondant au <body> en HTML - est l'environnement principal de tout document qui doit se trouver une et une seule fois. Tout le texte rédigé se trouve dans cet environnement
Il faut compiler deux fois le document pour être certain que la table des matières soit correcte.
Préambule
Le préambule est la zone située entre les deux commandes :
\documentclass[option]{style} % type de publication préambule % = <head> ... </head> \begin{document} % = <body>
%
Latex compile le fichier d'entrée (.tex). Comme avec tout code-source, il est
possible de le commenter. En LaTeX, ce qui suit le caractère %
est un commentaire
Un document peut se composer de plusieurs fichiers d'entrée.
Encodage
LaTeX utilise, par défaut, qu'une partie des codes ASCII, soit les 52
lettres et 10 chiffres ainsi que les 16 caractères de ponctuation suivants :
.;,?:!'`()[]-/*@
. Soit 78 caractères.
Caractères réservés
Comme dans tous les langages informatiques (utilisé pour écrire le code source), certains caractères sont réservés. Dans les langages de programmation, certains mots sont réservés.
En HTML, le caractère <
(indiquant le début d'une
balise)
En XML, les caractères : <
et &
En C, il existe 32
mots réservés
En LaTeX, il existe 10 caractères réservés : #$&%_^~{}\
Pour imprimer les 9 premiers de ces caractères, ils doivent être précédé par\
Pour imprimer le 10ème - \
- , il faut utiliser la
commande : \textbackslash{}
Packages
Un package est une chose utile à la réalisation d'un document. La commande \usepackage[option]{type}
, placée dans le préambule, permet d'appeler un
package.
Pour les français, il faut indiquer, dans le préambule, l'encodage utilisé et utiliser cet encodage lors de l'édition. Ainsi, l'encodage de l'éditeur doit être réglé avant de commencer à taper le texte.
\usepackage[utf8]{inputenc} % encodage d'entrée \usepackage[T1]{fontenc} % police de sortie, T1 = vectorielle \usepackage{lmodern} % ou bookman \usepackage[french]{babel} % typographie française \usepackage{eurosym} % taper la commande \euro{} pour afficher le signe €
Pour un encodage latin1 déclaré dans le préambule - \usepackage[latin1]{inputenc}
- l'encodage de l'éditeur doit-être
ISO-8859-1
L'encodage utilisé apparaît dans la barre d'état (en bas) de l'éditeur TeXnicCenter
Package : inputenc
Ce package sert à indiquer le type d'encodage utilisé dans le fichier
source. Cela permet d'y taper, par exemple, é
au lieu
de \'{e}
. Grâce à ce package, lors de la compilation, la
conversion entre ces caractères accentués et les commandes d'accentuation sera faite
automatiquement. En option de ce package, il est impératif de préciser quel encodage est
utilisé pour le fichier source : [utf8] ou [latin1] ou ...
Package : fontenc
Ce package sert à indiquer le type de font (police) utilisée. L'option [T1] indique que la police de sortie est vectorielle.
Package : babel
Ce package sert à indiquer le type de typographie. L'option [french] indique que les règles de typographie française devront être utilisées par le compilateur.
Le package babel permet l'utilisation de commandes propres à la langue choisie
« \og » \fg Exposant \up{} Petites Majuscules \bsc{texte} 1er 1\ier 2e 2\ieme 1° \primo 2° \secundo 3° \tertio 4° \quarto x° \FrenchEnumerate{x} no \no No \No nos \nos Nos \Nos xx° xx\degres
où est un chiffre
babel propose la commande \bsc
pour placer un bout de
texte en petites capitales. Cela peut être pratique pour les acronymes, siglaisons et les
noms propres. Exemple :
Thibaut \bsc{pigné}
Documentation sur le module babel-french
Package : eurosym
Permet d'afficher le symbole de l'euro € via la commande \euro{}
Package : lmodern
L'ensemble de polices d'écriture LATIN MODERN, composé de 72 fontes de caractères, auxquelles on ajoute 20 fontes pour les mathématiques. En tout, il y a 58604 caractères pour un total d'environ 69000 glyphes ...
An exploration of the Latin Modern fonts
\documentclass{article} \usepackage[utf8]{inputenc} % encodage d'entrée \usepackage[T1]{fontenc} % police de sortie, T1 = vectorielle \usepackage{lmodern} % ou bookman \usepackage[french]{babel} % typographie française \usepackage{eurosym} % taper la commande \euro{} pour afficher le signe € \begin{document} \LaTeX\ est génial. Avec l'encodage utf8, on peut imprimer les 18 lettres suivantes :\\ À Â Ç É È Ê Ë Î Ï Ô Ù Û Ü Ÿ Æ Œ æ œ Avec le package eurosym, le signe de l'euro : \euro{}\newline en utilisant la commande \textbackslash{}euro\{\} Thibaut \bsc{pigné} \end{document}
A ce stade, vous savez écrire les 84 caractères de l'alphabet français, le symbole de l'euro et les 16 caractères de ponctuation,
Pour créer un paragraphe, il suffit de taper deux retour à la ligne.
Et, pour un retour à la ligne, on utilise la commande \newline
ou \\
en fin de ligne
Package : layout
Package facultatif
La commande \layout
ajoute une page permettant de mieux
visualiser les marges
Package : geometry
Package faculatif, si top=2cm, bottom=2cm, left=2cm, right=2cm
\usepackage[top=2cm, bottom=2cm, left=2cm, right=2cm]{geometry}
Package : setspace
Package faculatif, si on veut modifier l'interligne
\usepackage{setspace}
Les commandes \onehalfspacing
et \doublespacing
, dans le préambule, permettent d'obtenir dans tout le
document un interligne respectivement 1,5 et 2 fois plus grand.
Pour ne changer les interlignes que dans des petits morceaux de votre composition, les
environnements \begin{onehalfspace}
\end{onehalfspace}
et \begin{doublespace}
\end{doublespace}
sont plus adaptés.
Ce package pourrait être téléchargé (non installé par défaut).
Package : color
Package faculatif, si on veut coloriser le texte.
Package : ulem
Package faculatif (non installé par défaut), si on veut souligner du texte.
Le package "soul" (non installé par défaut) génère des erreurs.
Package : url
Package faculatif (non installé par défaut), si on veut placer une URL.
Package Manager
Avec la distribution MikTex, il est possible d'obtenir la liste des packages installés
via le programme C:\Latex\miktex\bin\x64\mpm.exe
où Latex est le dossier
d'installation de la distribution.
Fichiers de style
Un fichier de style est un fichier texte d'extension .sty
.
Mutatis mutandis, il correspond au fichier CSS lié à un fichier HTML
Si votre package à l'extension .sty
, tel que
A4.sty, il suffit de le copier dans le dossier contenant le
fichier-source .tex
. Le compilateur en tiendra alors compte.
Un fichier nommé A4.sty
contiendra, par exemple, la définition
des dimensions des feuilles de format A4. Pour utiliser ses instructions dans un fichier
d'entrée, on insère dans le préambule de ce fichier la ligne :
\usepackage{A4}
Structure d'un document
- Partie \part{nom de la partie} (si book|report)
- Chapitre \chapter{nom du chapitre} (si book|report)
- Section \section{nom de la section}
- Sous-section \subsection{nom de la sous section}
- Sous-sous-section \subsubsection{nom de la sous sous section}
- Paragraphe \paragraph{nom du paragraphe} (ou \par)
- Sous-paragraphe \subparagraph{nom du sous-paragraphe}
Dans un livre
Si \documentclass{book}
book : Numérotations des pages
En mode publication d'un livre (book),
La commande \frontmatter
, qui se positionne juste après
\begin{document}
, permet de numéroter le préambule [du
document] en chiffres romains (i,ii, iii, ...).
Ensuite, la commande \mainmatter
se place entre le préambule
[du document] et le premier chapitre. Cette commande permet de lancer la numérotation
arabe habituelle des pages (1, 2, 3, ....).
Enfin, la commande \backmatter
se place après les annexes. Elle
stoppe la numérotation des chapitres, mais pas la numérotation arabe des pages.
Page de garde
La page de garde est composée des trois commandes suivantes, placées dans le préambule :
- le titre du document =>
\title{le titre}
- l'auteur =>
\author{prénom \bsc{nom}}
- la date =>
\date{la date}
La commande \maketitle
, qui crée la page de garde, se place
juste après \begin{document}
.
Commandes
Chaque commande est identifiée par un nom unique qui doit commencer par le caractère \ et se poursuivre par une séquence de lettres. Remarquons que les minuscules et les majuscules sont considérées comme différentes.
L'utilisateur peut créer des commandes supplémentaires qui lui permettront, par exemple,
d'abréger l'écriture de son texte. La définition d'une commande de nom nom et de
texte associé texte se fait au moyen de la ligne
\newcommand{nom}{texte}
Idéalement, la définition d'une commande se fait dans le préambule. Chaque fois
qu'elle sera insérée dans le document, sera remplacée à la compilation par le texte.
associé.
Pour forcer un espace après une commande, il faut insérer la commande \
(un
antislash suivit directement d'un espace) juste dernière le nom de la commande. Par
exemple, \LaTeX\ est génial.
\verb
la commande \verb
mettra en forme le code délimité par le
caractère venant juste après son appel, généralement |
Attention. Il se peut que le caractère | soit utilisé dans certaines zones du code.
Le caractère délimitateur peut être tout caractère (ASCII ?) n'intervenant pas dans le
code.
Exemple de l'opérateur logique OU en C : \verb$if(age<18 || age>67){ ... }$
\url
Pour insérer une URL, il vous suffit d'utiliser le package url ainsi que
la commande \url{adresse}
\footnote
La commande \footnote{texte} place la note en bas de page
Environnements
Un environnement permet de spécifier une présentation particulière du texte. Les environnements sont les fondements de la mise en page de LaTeX, les <div> du HTML.
Les environnements pré-définis
LaTeX possède de nombreux environnements pré-définis qui permettent de créer des listes numérotées ou non, des citations, des textes littéraux, des tableaux, ...
\begin{nomEnvironnement} texte \end{nomEnvironnement}
Les alignements
Par défaut, le texte est justifié.
Les environnements flushright, center et flushleft permettre d'aligner le texte (à droite, au centre et à gauche)
\begin{flushright} texte aligné à droite \end{flushright}
Aérez le code en insérant un retour chariot (= taper sur la touche Enter) dans le fichier d'entrée avant et après les instructions de début et de fin d'environnement.
LaTeX présentera alors le texte avec la mise en page spécifiée dans la définition de l'environnement.
itemize
\begin{itemize} \item Un canard. \item Un mammouth. \item Un canard. \item Un mammouth. \item Un canard. \item Un mammouth. \item[@] Une pintade. % En plaçant un @ entre crochets après \item, j'ai transformé la puce en @ \item[0] Un lapin. \end{itemize}
enumerate
\begin{enumerate} \item un canard \item un mammouth \item un canard \item un mammouth \item un canard \item un mammouth \end{enumerate}
Description
\begin{description} \item[Un canard :] bestiole qui fait coin. \item[Un poulpe :] bestiole qui fait bloub. \item[Un ornithorynque :] bestiole qui fait rire. \item[Un ours :] bestiole qui fait mal. \end{description}
citation courte
\paragraph{} La devise de la Belgique est : \begin{quote} L'union fait la force \end{quote}
citation longue
\paragraph{} Extrait de la Constitution belge : \begin{quotation} Art. 23 Chacun a le droit de mener une vie conforme à la dignité humaine.\\ A cette fin, la loi, le décret ou la règle visée à l'article 134 garantissent, en tenant compte des obligations correspondantes, les droits économiques, sociaux et culturels, et déterminent les conditions de leur exercice. Ces droits comprennent notamment :\\ \primo le droit au travail et au libre choix d'une activité professionnelle dans le cadre d'une politique générale de l'emploi, visant entre autres à assurer un niveau d'emploi aussi stable et élevé que possible, le droit à des conditions de travail et à une rémunération équitables, ainsi que le droit d'information, de consultation et de négociation collective;\\ \secundo le droit à la sécurité sociale, à la protection de la santé et à l'aide sociale, médicale et juridique;\\ \tertio le droit à un logement décent;\\ \quarto le droit à la protection d'un environnement sain;\\ \FrenchEnumerate{5} le droit à l'épanouissement culturel et social ;\\ \FrenchEnumerate{6} le droit aux prestations familiales.\\ \end{quotation}
verbatim
\par Code en langage C : \begin{verbatim} #include <stdio.h> int main() { printf("Veuillez entrer votre nom : "); // invitation à fournir des données int nombrEntier = 17; printf("\n"); // \n signifie "new line" printf("La variable 'nombrEntier' vaut : %d\n", nombrEntier); printf("\nCaractEres spEciaux : (\\) et (%%) \n\n"); ... return 0; } \end{verbatim}
verbatimtab
La commande requiert le package moreverb
\begin{verbatimtab}[nombre_d'espaces_par_tabulation] votre code \end{verbatimtab}
listing
La commande requiert le package listings (non installé par défaut et qui génère beaucoup d'erreur avec l'UTF8
La commande \lstset se place avant \begin{document} et possède un grand nombre d'arguments paramétrables.
Avant le \begin{document} :
% commande liée au package "listings" \lstset{ language=C, basicstyle=\footnotesize, numbers=left, numberstyle=\normalsize, numbersep=7pt, }
\begin{listing} votre code \end{listing}
L'environnement listing permet de mettre en forme de façon colorée et d'utiliser de nombreuses options pour afficher du code.
minipage
La commande \fbox permettent d'encadrer du texte. L'environnement minipage ajout de options à cette commande.
\fbox{ %fbox est utilisé pour voir les bords de la minipage \begin{minipage}[c]{5cm} Un petit paragraphe. \end{minipage} }
Ses environnements
On peut définir son propre environnement, dans le préambule :
\newenvironnement{name}{beg_texte}{end_texte}
où beg_texte est le texte ajouté au début et end_texte le texte ajouté
à la fin
Les sauts
Pour créer un paragraphe, il vous suffit de sauter deux lignes.
\begin{document} Un paragraphe. Un second paragraphe. \end{document}
Le paragraphe se détecte par un petit retrait de la première ligne (et non pas une ligne vide entre deux paragraphes).
Pour aller à la ligne sans créer de nouveau paragraphe, il vous faudra
taper la commande \newline
ou la commande \\
.
Pour faire un saut de page, il vous faut taper la commande \newpage
Options du document
Format du papier a4paper, a5paper, letterpaper, b5paper… Taille police principale 10pt, 11pt, 12pt Alignement des équations fleqn (à gauche), centrées par défaut Colonnes onecolumn, twocolumn Page 1 des chapitres openany, openright Recto verso oneside, twoside
article et report : oneside
book : twoside
Entêtes et pieds de page
Pour donner un style à une page en particulier, il suffit d'utiliser la commande
\pagestyle{nom du style}
dans le préambule. Ce nom est :
- empty : pas d'entête ni de pied de page
- headings : uniquement entête (pas de pied de page)
- plain : numéro de la page en pied de page (style par défaut)
Police
En mode texte, il existe des macros qui changent la fonte de leur argument, \textrm, \textit, \textsl, \textbf, \texttt, \textsc, \textsf, \emph et des environements huge, LARGE, Large, large, footnotesize, small, tiny, (rmfamily, sffamily, ttfamily, bfseries, mdseries, upshape, slshape, scshape, itshape, slshape, em.)
Un "pack" de polices comprend quatre polices cohérentes correspondant à des caractères :
- avec empattements (serif, Times New Roman, ... = plus raffinée)
- sans empattements (sans serif, Helvetica, ...
- à chasse (largeur) fixe
- pour des formules mathématiques
LaTeX utilise par défaut les fontes Computer Modern (CM)
Une chasse fixe conduit à un alignement vertical des caractères et est pour ce fait utilisé pour présenter du code. Nom de telles polices : courier new, monospaced, consolas, ...
Notons que LaTeX 2ε utilise un système de gestion des polices appelé NFSS (new font selection scheme), qui permet de les manipuler simplement (par exemple d'avoir du gras et italique en même temps). Il importe donc de ne retenir, parmi les solutions que l'on peut trouver sur le Net, que celles qui utilisent le système NFSS.
Taille de la police
Via \commande{texte}, où texte représente le texte visé et une des 10 commandes ci-dessous (par taille croissante) :
- \tiny
- \scriptsize
- \footnotesize
- \small
- \normalsize (valeur par défaut)
- \large
- \Large
- \LARGE
- \huge
- \Huge
Gras, soulignement, italique, ...
- textbf{texte} => bf = bold font (= gras)
- textit{texte} => it = italic (= italique)
- textsl{texte} => sl = slanted (= incliné)
- texttt{texte} => tt = télétype (= machine à écrire = à chasse fixe)
- textsc{texte} => sc = small capitals (= petites majuscules)
- textsuperscript{texte} => (= exposant)
- fbox{texte} => (= encadré)
- uuline{texte} => soulignement deux lignes (package ulem)
- uwave{texte} => soulignement en ondulé (package ulem)
Ces commandes (et \emph{texte}) changent la fonte de la police.
\emph{texte}
La commande \emph{texte}
met en valeur le texte (en fonction du
contexte).
Colorisation du texte
Pour la colorisation du texte, nous utiliserons le package color. Ce package propose par
défaut huit couleurs (black, white, red, green, blue, yellow, magenta et cyan), que vous
utilisez via la commande suivante : \textcolor{couleur}{texte en
couleur}