I. Préambule et installation :
TeX est un langage informatique qui, une fois compilé, offre des rendus PDFs dignes d'un éditeur professionnel. Le but de LaTeX est que vous insériez vos commandes directement au sein de votre texte (un peu comme du HTML ou encore du bbcode) et que lui calcule le tout pour vous (sans vous demander votre avis si vous ne lui avez pas spécifié de contraintes). Il mettra en forme votre document.
En gros, vous faites un document un peu laid et très peu professionnel parsemé de commandes LaTeX et il vous offrira un magnifique document après compilation.
Vous l'aurez compris, LaTeX permet aisément de construire de magnifiques documents sans avoir à vous soucier de grand chose.
1. Le code est écrit dans l'éditeur LaTeX (win=TeXnicCenter, mac=TeXShop, lin=Kile), il génère des .tex
2. La distribution LaTeX compile (win=MiKTeX, mac=MacTeX, lin=TeXLive) les .tex en .pdf, .ps ou .dvi
3. Le lecteur de PDF ou PostScript (win=Ghostscript, mac=Skim, lin=Okular) lit les .pdf, .ps ou .dvi.
download
II. Code source démo :
Code source commenté illustrant la majorité des commandes présentées en partie 3.
Téléchargez le .zip ici (saisissez votre e-mail pour recevoir le link de DL), cliquez sur le .tex et il s'ouvrira dans votre éditeur TeX.
Grâce au code source complet et commenté, vous pourrez :
- modifier le code source, puis une fois compilé pouvoir voir les changements directement dans votre lecteur ;
- vous en servir de base pour la création de nouveaux documents LaTeX.
Note : il est possible que le source bug. En effet, moi je le force à s'exécuter (à sortir le rendu PDF) grâce à la touche 's' parce-qu'il est mal conçu. C'est normal puisque j'ai mis une grande partie des commandes majeures de LaTeX dans le même document sans faire attention à quoi que ce soit étant donné que c'est simplement pour que vous puissiez "jouer" avec afin de comprendre rapidement le mécanisme des commandes TeX et leur rendu en PDF. Donc, si vous souhaitez un document qui ne bug pas refaites votre propre document en vous aidant de mon source bordélique.
L'essentiel est que vous ayez toutes les possibilités sous le nez et que vous puissiez voir leurs rendus pour vous donner une idée de leur utilité.
III. Liste de commandes et leurs fonctions :
=== Table des caractères utilisés par TeX ===
$ & % # _ { } ^ \
Il suffit de mettre un \ devant un caractère utilisé pour Tex pour qu'il soit interprété normalement : exemple : \$
Concernant le backslash lui-même, il faut : \textbackslash{}
Pour faire un [espace] il faut faire un backslash puis un espace. '\ '
=== Packages ===
Les packages permettent d'utiliser des commandes, il faut les appeler en début de document.
Les commandes pour utiliser les packages sont à placer juste après \documentclass
\usepackage[option]{type} : permet d'appeler un package.
\usepackage[utf8x]{inputenc} : permet d'utiliser les accents de la langue française
\usepackage[T1]{fontenc} : permet d'utiliser toutes les touches clavier FR
\usepackage[francais]{babel} : permet d'utiliser toutes les touches clavier FR
ex:
Commandes package babel :
\og : «
\fg : »
\up{} : Exposant
\bsc{Lamport} : Petites Majuscules
1\ier : 1er
2\ieme : 2e
\primo : 1°
\secundo : 2°
\tertio : 3°
\quarto : 4°
\FrenchEnumerate{8} : 8° (ou n'importe quel autre chiffre)
\no : no
\No : No
\nos : nos
\Nos : Nos
40\degres : 40° (le caractère degré)
=== Commentaires ===
% : % commentaire
=== Commandes générales d'édition et de mise ne page ===
\documentclass{} : c'est la première commande de tout texte LaTeX. Entre parenthèse est indiqué le 'type'. LaTeX compilera en fonction de lui.
Différents types d'édition :
article : Article
book : Livre
letter : Lettre
report : Rapport
Nous pouvons y ajouter le format du papier, la taille de la police principale, l'alignement des équations, les colonnes, la première page des chapitres, le recto/verso, etc.
Sous la forme (ex.) : \documentclass[twocolumn, 12pt]{book}
Format du papier : a4paper, a5paper, letterpaper, b5paper… (letterpaper par défaut)
Taille de la police principale : 10pt, 11pt, 12pt (10pt par défaut)
Alignement des équations : fleqn (à gauche) (centrées par défaut)
Colonnes : onecolumn, twocolumn (onecolumn par défaut)
Première page des chapitres : openany, openright (openright par défaut)
Recto verso : oneside, twoside (article et report : oneside par défaut, book : twoside par défaut)
Marges :
\usepackage[top=2cm, bottom=2cm, left=2cm, right=2cm]{geometry} : permet de définir dans l'en-tête les marges du document
\layout : affiche un rendu graphique du gabarit utilisé
Interlignes :
\usepackage{setspace} : permet de pouvoir préciser un interligne spécifique dans ses structures
onehalfspace : permet d'avoir un interligne 1,5 fois supérieur à la normale (1)
doublespace : permet d'avoir un interligne 2 fois supérieur à la normale (1)
Listes à puces, listes numérotées :
- ouverture de l'environnement itemize ;
- écriture de chaque élément de la liste précédé de la commande \item ;
- fermeture de l'environnement itemize.
Tel que :
\begin{itemize}
\item puce 1
\item puce 2
\item[@] puce 3
\end{itemize}
En plaçant un @ entre crochets après \item, la puce devient @
Liste numérotée :
\begin{enumerate}
\item puce 1
\item puce 2
\item puce 3
\end{enumerate}
En-têtes, pieds de page :
\pagestyle{nom du style}
Styles possibles :
plain : il permet d'insérer le numéro de page au milieu du pied de page (par défaut)
headings : il permet d'insérer le nom du chapitre et le numéro de page en en-tête. Le pied de page est vide
empty : l'en-tête et le pied de page sont vides
Ainsi que :
\pagestyle{fancy}
en ayant au préalable loadé le package :
\usepackage{fancyhdr}
Cela permet de découper chaque en-tête et pied de page en trois morceaux, de sorte que nous devons personnaliser six commandes différentes pour arriver à créer une mise en page cohérente des en-têtes et pieds de pages :
\lhead{} : gère le coin gauche de l'en-tête
\chead{} : gère le centre de l'en-tête
\rhead{} : gère le coin droit de l'en-tête
\lfoot{} : gère le coin gauche du pied de page
\cfoot{} : gère le centre du pied de page
\rlfoot{} : gère le coin droit du pied de page
A cela s'ajoute d'autres commandes possibles :
\leftmark : nom du chapitre
\rightmark : nom de la section
\thepage : numéro de page
\thechapter : numéro du chapitre
\thesection : numéro de la section courante
\renewcommand{\headrulewidth}{épaisseur dans l'unité de votre choix} : épaisseur de la ligne entre l'en-tête et le corps du texte
\renewcommand{\footrulewidth}{épaisseur dans l'unité de votre choix} : épaisseur de la ligne entre le pied de page et le corps du texte
\renewcommand{\headsep}{longueur dans l'unité de votre choix} : espacement entre l'en-tête et le corps du document
\thispagestyle{} : placée n'importe où, permet d'adapter un style à une seule page en particulier (accepte les options 'plain', 'empty' ou 'headings')
Structures :
Différentes tailles de structures (décroissant) :
\part{nom de la partie} : Partie
\chapter{nom du chapitre} : Chapitre
\section{nom de la section} : Section
\subsection{nom de la sous section} : Sous-section
\subsubsection{nom de la sous sous section} : Sous-sous-section
\paragraph{nom du paragraphe} : Paragraphe
\subparagraph{nom du sous paragraphe} : Sous-paragraphe
Note : \chapter n'est pas disponible pour les classes de document 'article' et 'letter'
Note : \chapter*{nom du chapitre} : permet de ne pas donner de numéro à un chapitre (c'est valable pour tout type de structure)
\begin{} : commence une portion de texte. Mettre entre accolades le nom de la portion. 'document' si c'est l'ensemble, ou autre si plus petit
\end{}
\frontmatter : se positionne juste après \begin{}, permet de numéroter le préambule en chiffres romains
\mainmatter : se place entre le préambule et le premier chapitre, permet de lancer la numérotation arabe habituelle des pages (1, 2, 3, etc.).
\backmatter : se place avant le chapitre épilogue, les index et bibliographies, il stoppe la numérotation des chapitres mais pas la numérotation des pages
Page de garde :
\title{votre titre} : le titre du document
\author{les noms des auteurs} : l'auteur
\date{la date que vous souhaitez} : la date
Note : ces trois éléments sont introduits avant la commande \begin{document}
\maketitle : se place juste après \begin{document} et valide la page de garde
Centrage : par défaut le texte est ajusté. Il faut mettre un des types suivants dans /begin{} /end{} pour modifier cela :
center : centre
flushleft : aligne à gauche
flushright : aligne à droite
Sauts :
\newline ou \\ : va à la ligne sans créer de nouveau paragraphe
\newpage : ferme le paragraphe et en commence un autre à la page suivante
sauts de page en fonction des images :
\clearpage : saut de page + impose de mettre tous les flottants en page (produira des pages remplies par les flottants non traités)
\cleardoublepage : idem sauf qu'il reprend la nouvelle page sur une page impaire
Encadrer du texte :
\fbox : permet d'encadrer du texte, de sélectionner l'épaisseur du trait, etc.
ex:
% Commande permettant de définir l'écart entre le texte dans la "boîte" et la bordure
\setlength{\fboxsep}{8mm}
% Commande permettant de définir l'épaisseur de la bordure
\setlength{\fboxrule}{2mm}
\fbox{Le texte}
=== Tableaux ===
Utilisation de l'environnement 'tabular'.
On précise en option si les cellules du tableau doivent être centrées ('c'), alignée à gauche ('g') ou à droite ('r')
Le nombre d'options représente le nombre de colonnes
\begin{tabular}{cc}
\end{tabular}
ex:
\begin{tabular}{cc}
1 & 2 \\
3 & 4 \\
\end{tabular}
\hline : insère une ligne horizontale dans un tableau
ex:
\begin{tabular}{cc}
\hline
1 & 2 \\
\hline
3 & 4 \\
\hline
\end{tabular}
Pour les lignes verticales, c'est dans l'option, on y met des pipes :
ex:
\begin{tabular}{|c|c|}
\hline
1 & 2 \\
\hline
3 & 4 \\
\hline
\end{tabular}
La taille des cellules s'adapte toute seule.
D'autres fonctions comme la fusion de cellules de tableau, définir une taille exacte des cellules, la gestion du style (couleurs, typo, etc.) et autres existent.
=== Mise en forme ===
Taille de la typo :
\tiny : Minuscule
\scriptsize : Très très petite
\footnotesize : Très petite
\small : Petite
\normalsize : Normale (définie dans \documentclass)
\large : Légèrement plus grande que la normale
\Large : Grande
\LARGE : Très grande
\huge : Très très grande
\Huge : Énorme
exemple : Voici mon {\large{texte}} élargi.
\emph{texte} : laissera à la latitude de LaTeX de la mise en forme (différente de son environnement), approprié
Note : les commandes se terminant par des lettres doivent être suivies de {} afin de pouvoir insérer une espace à leur suite.
\begin{rm}un exemple \end{rm} : normale
\begin{bf}un exemple \end{bf} : bold
\begin{it}un exemple \end{it} : italique
\begin{sl}un exemple \end{sl} : penché
\begin{tt}un exemple \end{tt} : font machine à écrire
\begin{sc}un exemple \end{sc} : petites majuscules
Voici un\textsuperscript{exemple} : mettra le texte entre parenthèses en exposant
\fbox{un exemple} : en encadré (paramétrable)
\ul{un exemple} : soulignement (package soul)
\uuline{un exemple} : double soulignement (package ulem)
\uwave{un exemple} : soulignement en vaguelettes (package ulem)
\st{un exemple} : barré (package soul)
Coloration du texte :
\textcolor{couleur}{texte en couleur} : couleur possibles par défaut : black, white, red, green, blue, yellow, magenta, cyan
\definecolor{le nom de couleur choisi}{rgb}{taux de rouge entre 0 et 1,taux de vert,taux de bleu} ex: \definecolor{ma_couleur}{rgb}{0.71,0.14,0.07}
Type de police :
Les packs de police définissent 4 cas :
- des caractères avec empattements
- des caractères sans empattements
- des caractères façon machine à écrire (à chasse fixe)
- des caractères servant à écrire des formules mathématiques
Hormis celui par défaut, il existe beaucoup de packs de typo.
Appeler le pack au préalable : \usepackage{nom_du_pack} ex: \usepackage{bookman}
Pour l'insérer à un paragraphe ou quelques mots : {\fontfamily{code_de_la_police}\selectfont mon bout de texte}
ex: {\fontfamily{pbk}\selectfont voici mon texte}
Introduits dans le texte via la commande :
{\fontfamily{code_de_la_police}\selectfont mon bout de texte}
Définir l'option d'une commande en début de document (insérer avant le préambule) :
\renewcommand{nom de la commande}{fonctions liées à cette commande}
ex:
\renewcommand{\emph}{\texttt} : mettra une typo de style 'machine à écrire' lors du placement de balise \emph (gras, italique… s'adaptera)
=== Appel de fichier externe ===
On peut structurer son document en plusieurs parties, toutes ayant l'extension .tex, et on peut les appeler chacun dans chaque document via une commande d'appel :
\input : LaTeX remplace simplement la commande par le contenu du fichier appelé.
ex:
\documentclass{book}
\begin{document}
\input{chapitre1.tex}
\input{chapitre2.tex}
\input{partie2/chapitre3.tex}
\end{document}
=== Citation, code, URL ===
Citation :
\begin{quote}la citation \end{quote}
\begin{quotation}la citation \end{quotation}
Citation de Code source :
\verb{tout petit code source à insérer dans la continuité d'un texte}
\begin{verbatim} code source \end{verbatim}
ex:
\begin{verbatim} #include <iostream>
using namespace std;
int main()
{
cout << "This is a test" << endl;
return 0;
}
\end{verbatim}
pour du code indenté, privilégier verbatimtab :
\begin{verbatimtab}[nombre_d'espaces_par_tabulation] code source \end{verbatimtab}
utiliser le package 'moreverb' : \usepackage{moreverb}
\begin{verbatimtab}[9]
#include <iostream>
using namespace std;
// comm test
int main()
{
cout << "Hello world!" << endl;
return 0;
}
\end{verbatimtab}
pour du code dans un environnement totalement maîtrisé, privilégier : lstlisting.
en en-tête :
\usepackage{listings}
avant begin{document} : on paramètre la commande
\lstset{
% permet de paramétrer la commande \lstlisting pour les codes sources du document, ex:
language=C : précise le type de langage
basicstyle=\footnotesize : taille de la police du code
numbers=left, : placer le numéro de chaque ligne à gauche (ou right)
numberstyle=\normalsize, : taille de la police des numéros
numbersep=7pt, : distance entre le code et sa numérotation
backgroundcolor=\color{white}, : couleur du fond
}
Puis dans le document, le source : ex:
\begin{lstlisting}
if (type == male)
{
printf("Que voulez-vous ?");
}
else if (type == female)
{
printf("Saluuuut... ");
}
\end{lstlisting}
=== URL cliquable ===
en-tête :
\usepackage{url}
\usepackage{hyperref}
dans le document :
\url{http://www.google.com}
=== Mini page ===
Permet de créer une page (document) dans une autre.
ex. simple :
\fbox{ : fbox est utilisé pour voir les bords de la minipage
\begin{minipage}[c]{5cm} : [c] = Center, peut aussi être en alignement vertical haut [t] ou bas [b] ; 5cm = largeur
Un petit paragraphe.
\end{minipage}
}
=== Notes de bas de page ===
\footnote{texte qui sera mis en bas de page adossé au numéro dans l'ordre} : les numéros sont mis automatiquement dans l'ordre de parution
ou
\footnotemark[8] : 8 étant le chiffre correspondant à la note et étant dans le texte en exposant, on définit le chiffre
\footnotetext[8]{arabelum vespace} : "arabelum vespace" étant la note en pied de page, associée au numéro
=== Références internes ===
\label{nom_du_label} : on choisit où mettre le label et comment le nommer, c'est une sorte de "drapeau"
\ref{nom_choisi} : indique le numéro de la structure (partie, chapitre, sous-chapitre, section, sous-section) où se situe le drapeau
{\pageref{nom_choisi}} : indique le N° de la page où se situe le drapeau
=== Insertion d'images et de figures ===
formats acceptés : .png, .jpeg, .gif, .bmp, etc. (pour une compilation en PDF) et .eps (pour une compilatione en PS)
\usepackage{graphicx} : package pour insérer des images et des figures
\includegraphics{nom_de_l_image.png} : permet l'insertion d'une image ou d'un graphique ; le chemin peut être relatif ou absolu
taille de l'image :
\includegraphics[width=200]{une_image.png} : la hauteur se définit automatiquement
\includegraphics[height=200]{une_image.png} : la largeur se définit automatiquement
\includegraphics[height=200, width=600]{une_image.png} : hauteur et largeur définie (risque de déformation d'image)
\includegraphics[scale=1.5]{une_image.png} : gère le ratio de la taille en respectant les proportions
\includegraphics[angle=45]{une_image.png} : gère l'angle de rotation de l'image
Insérer une image dans un paragraphe :
Flottants (première méthode : préconisée) :
\begin{figure}[les options non séparées par des virgules]
\begin{figure}[t] : environnement 'figure', flottant en haut (top)
\begin{center}
\includegraphics{img.png} : insertion des images
\end{center}
\end{figure}
\begin{figure}[!b] : force à placer cette image en bas ( !b ) (bottom)
\begin{center}
\includegraphics{img2.png}
\end{center}
\end{figure}
il existe également les options 'left' et 'right', et 'b', 'bt', 'h', 'H', 'hb', etc.
Le placement créé par LaTeX dépend de sa distribution. Pour changer celle-ci il faut la commande suivante :
\floatplacement{type de flottant}{options}
Légendes d'images :
\caption{légende de mon image} : Elle s'utilise à la suite de l'environnement center et précède une éventuelle commande \label
ex:
\begin{figure}
\begin{center}
\includegraphics{img3.png}
\end{center}
\caption{mon image 3}
\label{mon image 3}
\end{figure}
\begin{figure}
\begin{center}
\includegraphics{img4.png}
\end{center}
\caption{mon image 4}
\label{mon image 4}
\end{figure}
Flottants (deuxième méthode : peu recommandée) :
\usepackage{wrapfig} : permet l'utilisation de l'environnement "wrapfigure"
\begin{wrapfigure}[nombre de lignes]{placement}{distance extérieure image en cm}
\includegraphics[width=largeur en cm]{chemin de l'image}
paragraphe de texte à mettre autour de l'image
\end{wrapfigure}
ex:
\begin{wrapfigure}[7]{r}{4cm}
\includegraphics[width=4cm]{img4.png}
\end{wrapfigure}
long texte à mettre encadrant la photo
\euro{} : symbole €
=== Mathématiques ===
$x+1^2$ : insérer une expression mathématique dans la continuité d'un texte
\begin{math}x+y+z=4\end{math} : insérer une expression mathématique dans la continuité d'un texte
\[x+1^2\] : insérer une expression entre deux paragraphes (on peut la numéroter)
$$x+1^2$$ : insérer une expression entre deux paragraphes (on peut la numéroter)
\begin{equation}x+y+z=4\end{equation} : insérer une expression entre deux paragraphes (on peut la numéroter)
\text{texte inséré} : pour insérer du texte dans une expression
fonctions usuelles :
\[\frac{7}{5}+\frac{88}{9}\] : fraction
\[\cfrac{num1}{den1 + \cfrac{num2}{den2}}\] : fraction en cascade
\[\sqrt[15]{9}\] : racine carrée
\[\lim_{nbr1 \to nbr2} x+42\] : limite
\[92100^{3}\] : exposant
\[279_{4}\] : indice
$ \left( \frac{a+b}{c-d} \right)$ : fraction entourée de grandes parenthèses
\[\cos\] ou en enchaînant : \[\cos^{42}(\lambda)\] : cosinus, cosinus suivi d'autre chose
Commandes fonctions mathématiques usuelles :
\cos cos cosinus
\sin sin sinus
\arccos arccos arc cosinus
\arcsin arcsin arc sinus
\cosh cosh cosinus hyperbolique
\sinh sinh sinus hyperbolique
\tan tan tangente
\arg arg argument
\arctan arctan arc tangente
\ln ln logarithme népérien
\tanh tanh tangente hyperbolique
\log log logarithme
\exp exp exponentielle
\dim dim dimension
\min min minimum
\max max maximum
$\Delta y = f'(x) \cdot \delta x$ : les lettres grecques sont en Majuscule lorsqu'elles commencent par une majuscule, inversement pour minuscule
\alpha
\beta
\gamma
\chi
\psi
\omega
Notons que certaines lettres existent en deux écritures différentes :
\epsilon et \varepsilon
\theta et \vartheta
\pi et \varpi
\rho et \varrho
\sigma et \varsigma
\phi et \varphi
\Gamma \Lambda \Sigma \Psi \Delta \Xi \Upsilon \Omega \Theta \Pi \Phi
\oe : œ
=== unités de mesures prises en compte par LaTeX ===
pt : Point : 0,35 mm
mm : Millimètre : 1,00 mm
pc : Pica : 4,21 mm
cc : Cicéro : 4,53 mm
cm : Centimètre : 10,00 mm
in : Inch : 25,4 mm
Note : Le mode draft aide à compiler plus rapidement un document car il repère les erreur et les mets en valeur : donc plus facile à débugger.
=== Table des matières ===
\tableofcontents : à insérer où l'on souhaite qu'elle s'affiche : elle se génère automatiquement
\renewcommand{\contentsname}{Votre nouveau titre} : renommer Table des matières (en sommaire, par ex), à insérer dans le corps du document, avant la commande \tableofcontents.
Cela est valable pour d'autres structures.
ex :
\contentsname par \partname : remplace le nom des "parties".
Profondeur de la table des matières :
Partie : -1
Chapitre : 0
Section : 1
Sous-section : 2
Sous-sous-section : 3
Paragraphe : 4
Sous-paragraphe : 5
\setcounter{tocdepth}{Nombre de votre choix} : permet de définir quelle profondeur aura notre table des matières
Si l'on souhaite rajouter une ligne dans le sommaire (qui n'a pas été traité automatiquement, dû à un * qui enlève la prise en compte par LaTeX) :
\addcontentsline{toc}{élément de structure sans son backslash ni ses accolades et crochets}{titre apparaissant dans le sommaire}
=== bibliographie ===
Le fichier est à enregistrer en .bib
ex:
@Article{ref,
author={Durand, Patrick AND Gaudin, René},
journal={Le beau journal},
title={Les agents bactériologiques},
year={2001},
month={jan},
pages={24},
notes={sympathique}
}
@book
{ref2,
author={Dupont, Fernand},
title={Les mécanismes économiques},
publisher={Eyrolles},
year={2011}
}
Le but est donc de créer une bibliographie en bas de document mais également de mettre des notes n'importe où dans le document qui appelleront la base de données pour délivrer la mention au livre référencé.
\cite{référence_courte} : permet d'insérer une référence à un livre dans la bdd dans un texte
\bibliography{nom du fichier.bib sans l'extension .bib} : précise l'emplacement de la base de données
\bibliographystyle{} : donne à LaTeX le style de mise en page souhaité pour la bibliographie
classes pour \bibliographystyle{} :
{plain} : classe les entrées par ordre alphabétique et les numérote en conséquence.
{abbrv} : classe les entrées par ordre alphabétique, les numérote en conséquence et abrège certains éléments de la bibliographie
{unsrt} : trie les entrées par ordre d'apparition dans le texte
{alpha} : le repère n'est plus un chiffre, mais les trois premières lettres du nom de l'auteur accolées aux deux derniers chiffres de l'année de parution
Note importante : il faut compiler notre .tex deux fois en LaTeX, puis une fois en Bibtex, puis deux fois en LaTeX.
Note : LyX est un logiciel permettant de générer des PDFs ou PS en LaTeX depuis une GUI donc sans avoir à taper des commandes. Vous le trouverez ici.
- - -
Ce tutoriel vous permets de prendre rapidement LaTeX en main, sans avoir à vous taper des kilomètres de blabla inutiles. Profitez-en ! Vous avez le documents .tex qui vous servira à comprendre le mécanisme de LaTeX tout de suite ! Créez un premier document à l'aide de celui-ci afin de vous faire un peu la main !
Terminé les documents Word dégueulasses !
TeX est un langage informatique qui, une fois compilé, offre des rendus PDFs dignes d'un éditeur professionnel. Le but de LaTeX est que vous insériez vos commandes directement au sein de votre texte (un peu comme du HTML ou encore du bbcode) et que lui calcule le tout pour vous (sans vous demander votre avis si vous ne lui avez pas spécifié de contraintes). Il mettra en forme votre document.
En gros, vous faites un document un peu laid et très peu professionnel parsemé de commandes LaTeX et il vous offrira un magnifique document après compilation.
Vous l'aurez compris, LaTeX permet aisément de construire de magnifiques documents sans avoir à vous soucier de grand chose.
1. Le code est écrit dans l'éditeur LaTeX (win=TeXnicCenter, mac=TeXShop, lin=Kile), il génère des .tex
2. La distribution LaTeX compile (win=MiKTeX, mac=MacTeX, lin=TeXLive) les .tex en .pdf, .ps ou .dvi
3. Le lecteur de PDF ou PostScript (win=Ghostscript, mac=Skim, lin=Okular) lit les .pdf, .ps ou .dvi.
download
II. Code source démo :
Code source commenté illustrant la majorité des commandes présentées en partie 3.
Téléchargez le .zip ici (saisissez votre e-mail pour recevoir le link de DL), cliquez sur le .tex et il s'ouvrira dans votre éditeur TeX.
Grâce au code source complet et commenté, vous pourrez :
- modifier le code source, puis une fois compilé pouvoir voir les changements directement dans votre lecteur ;
- vous en servir de base pour la création de nouveaux documents LaTeX.
Note : il est possible que le source bug. En effet, moi je le force à s'exécuter (à sortir le rendu PDF) grâce à la touche 's' parce-qu'il est mal conçu. C'est normal puisque j'ai mis une grande partie des commandes majeures de LaTeX dans le même document sans faire attention à quoi que ce soit étant donné que c'est simplement pour que vous puissiez "jouer" avec afin de comprendre rapidement le mécanisme des commandes TeX et leur rendu en PDF. Donc, si vous souhaitez un document qui ne bug pas refaites votre propre document en vous aidant de mon source bordélique.
L'essentiel est que vous ayez toutes les possibilités sous le nez et que vous puissiez voir leurs rendus pour vous donner une idée de leur utilité.
III. Liste de commandes et leurs fonctions :
=== Table des caractères utilisés par TeX ===
$ & % # _ { } ^ \
Il suffit de mettre un \ devant un caractère utilisé pour Tex pour qu'il soit interprété normalement : exemple : \$
Concernant le backslash lui-même, il faut : \textbackslash{}
Pour faire un [espace] il faut faire un backslash puis un espace. '\ '
=== Packages ===
Les packages permettent d'utiliser des commandes, il faut les appeler en début de document.
Les commandes pour utiliser les packages sont à placer juste après \documentclass
\usepackage[option]{type} : permet d'appeler un package.
\usepackage[utf8x]{inputenc} : permet d'utiliser les accents de la langue française
\usepackage[T1]{fontenc} : permet d'utiliser toutes les touches clavier FR
\usepackage[francais]{babel} : permet d'utiliser toutes les touches clavier FR
ex:
Commandes package babel :
\og : «
\fg : »
\up{} : Exposant
\bsc{Lamport} : Petites Majuscules
1\ier : 1er
2\ieme : 2e
\primo : 1°
\secundo : 2°
\tertio : 3°
\quarto : 4°
\FrenchEnumerate{8} : 8° (ou n'importe quel autre chiffre)
\no : no
\No : No
\nos : nos
\Nos : Nos
40\degres : 40° (le caractère degré)
=== Commentaires ===
% : % commentaire
=== Commandes générales d'édition et de mise ne page ===
\documentclass{} : c'est la première commande de tout texte LaTeX. Entre parenthèse est indiqué le 'type'. LaTeX compilera en fonction de lui.
Différents types d'édition :
article : Article
book : Livre
letter : Lettre
report : Rapport
Nous pouvons y ajouter le format du papier, la taille de la police principale, l'alignement des équations, les colonnes, la première page des chapitres, le recto/verso, etc.
Sous la forme (ex.) : \documentclass[twocolumn, 12pt]{book}
Format du papier : a4paper, a5paper, letterpaper, b5paper… (letterpaper par défaut)
Taille de la police principale : 10pt, 11pt, 12pt (10pt par défaut)
Alignement des équations : fleqn (à gauche) (centrées par défaut)
Colonnes : onecolumn, twocolumn (onecolumn par défaut)
Première page des chapitres : openany, openright (openright par défaut)
Recto verso : oneside, twoside (article et report : oneside par défaut, book : twoside par défaut)
Marges :
\usepackage[top=2cm, bottom=2cm, left=2cm, right=2cm]{geometry} : permet de définir dans l'en-tête les marges du document
\layout : affiche un rendu graphique du gabarit utilisé
Interlignes :
\usepackage{setspace} : permet de pouvoir préciser un interligne spécifique dans ses structures
onehalfspace : permet d'avoir un interligne 1,5 fois supérieur à la normale (1)
doublespace : permet d'avoir un interligne 2 fois supérieur à la normale (1)
Listes à puces, listes numérotées :
- ouverture de l'environnement itemize ;
- écriture de chaque élément de la liste précédé de la commande \item ;
- fermeture de l'environnement itemize.
Tel que :
\begin{itemize}
\item puce 1
\item puce 2
\item[@] puce 3
\end{itemize}
En plaçant un @ entre crochets après \item, la puce devient @
Liste numérotée :
\begin{enumerate}
\item puce 1
\item puce 2
\item puce 3
\end{enumerate}
En-têtes, pieds de page :
\pagestyle{nom du style}
Styles possibles :
plain : il permet d'insérer le numéro de page au milieu du pied de page (par défaut)
headings : il permet d'insérer le nom du chapitre et le numéro de page en en-tête. Le pied de page est vide
empty : l'en-tête et le pied de page sont vides
Ainsi que :
\pagestyle{fancy}
en ayant au préalable loadé le package :
\usepackage{fancyhdr}
Cela permet de découper chaque en-tête et pied de page en trois morceaux, de sorte que nous devons personnaliser six commandes différentes pour arriver à créer une mise en page cohérente des en-têtes et pieds de pages :
\lhead{} : gère le coin gauche de l'en-tête
\chead{} : gère le centre de l'en-tête
\rhead{} : gère le coin droit de l'en-tête
\lfoot{} : gère le coin gauche du pied de page
\cfoot{} : gère le centre du pied de page
\rlfoot{} : gère le coin droit du pied de page
A cela s'ajoute d'autres commandes possibles :
\leftmark : nom du chapitre
\rightmark : nom de la section
\thepage : numéro de page
\thechapter : numéro du chapitre
\thesection : numéro de la section courante
\renewcommand{\headrulewidth}{épaisseur dans l'unité de votre choix} : épaisseur de la ligne entre l'en-tête et le corps du texte
\renewcommand{\footrulewidth}{épaisseur dans l'unité de votre choix} : épaisseur de la ligne entre le pied de page et le corps du texte
\renewcommand{\headsep}{longueur dans l'unité de votre choix} : espacement entre l'en-tête et le corps du document
\thispagestyle{} : placée n'importe où, permet d'adapter un style à une seule page en particulier (accepte les options 'plain', 'empty' ou 'headings')
Structures :
Différentes tailles de structures (décroissant) :
\part{nom de la partie} : Partie
\chapter{nom du chapitre} : Chapitre
\section{nom de la section} : Section
\subsection{nom de la sous section} : Sous-section
\subsubsection{nom de la sous sous section} : Sous-sous-section
\paragraph{nom du paragraphe} : Paragraphe
\subparagraph{nom du sous paragraphe} : Sous-paragraphe
Note : \chapter n'est pas disponible pour les classes de document 'article' et 'letter'
Note : \chapter*{nom du chapitre} : permet de ne pas donner de numéro à un chapitre (c'est valable pour tout type de structure)
\begin{} : commence une portion de texte. Mettre entre accolades le nom de la portion. 'document' si c'est l'ensemble, ou autre si plus petit
\end{}
\frontmatter : se positionne juste après \begin{}, permet de numéroter le préambule en chiffres romains
\mainmatter : se place entre le préambule et le premier chapitre, permet de lancer la numérotation arabe habituelle des pages (1, 2, 3, etc.).
\backmatter : se place avant le chapitre épilogue, les index et bibliographies, il stoppe la numérotation des chapitres mais pas la numérotation des pages
Page de garde :
\title{votre titre} : le titre du document
\author{les noms des auteurs} : l'auteur
\date{la date que vous souhaitez} : la date
Note : ces trois éléments sont introduits avant la commande \begin{document}
\maketitle : se place juste après \begin{document} et valide la page de garde
Centrage : par défaut le texte est ajusté. Il faut mettre un des types suivants dans /begin{} /end{} pour modifier cela :
center : centre
flushleft : aligne à gauche
flushright : aligne à droite
Sauts :
\newline ou \\ : va à la ligne sans créer de nouveau paragraphe
\newpage : ferme le paragraphe et en commence un autre à la page suivante
sauts de page en fonction des images :
\clearpage : saut de page + impose de mettre tous les flottants en page (produira des pages remplies par les flottants non traités)
\cleardoublepage : idem sauf qu'il reprend la nouvelle page sur une page impaire
Encadrer du texte :
\fbox : permet d'encadrer du texte, de sélectionner l'épaisseur du trait, etc.
ex:
% Commande permettant de définir l'écart entre le texte dans la "boîte" et la bordure
\setlength{\fboxsep}{8mm}
% Commande permettant de définir l'épaisseur de la bordure
\setlength{\fboxrule}{2mm}
\fbox{Le texte}
=== Tableaux ===
Utilisation de l'environnement 'tabular'.
On précise en option si les cellules du tableau doivent être centrées ('c'), alignée à gauche ('g') ou à droite ('r')
Le nombre d'options représente le nombre de colonnes
\begin{tabular}{cc}
\end{tabular}
ex:
\begin{tabular}{cc}
1 & 2 \\
3 & 4 \\
\end{tabular}
\hline : insère une ligne horizontale dans un tableau
ex:
\begin{tabular}{cc}
\hline
1 & 2 \\
\hline
3 & 4 \\
\hline
\end{tabular}
Pour les lignes verticales, c'est dans l'option, on y met des pipes :
ex:
\begin{tabular}{|c|c|}
\hline
1 & 2 \\
\hline
3 & 4 \\
\hline
\end{tabular}
La taille des cellules s'adapte toute seule.
D'autres fonctions comme la fusion de cellules de tableau, définir une taille exacte des cellules, la gestion du style (couleurs, typo, etc.) et autres existent.
=== Mise en forme ===
Taille de la typo :
\tiny : Minuscule
\scriptsize : Très très petite
\footnotesize : Très petite
\small : Petite
\normalsize : Normale (définie dans \documentclass)
\large : Légèrement plus grande que la normale
\Large : Grande
\LARGE : Très grande
\huge : Très très grande
\Huge : Énorme
exemple : Voici mon {\large{texte}} élargi.
\emph{texte} : laissera à la latitude de LaTeX de la mise en forme (différente de son environnement), approprié
Note : les commandes se terminant par des lettres doivent être suivies de {} afin de pouvoir insérer une espace à leur suite.
\begin{rm}un exemple \end{rm} : normale
\begin{bf}un exemple \end{bf} : bold
\begin{it}un exemple \end{it} : italique
\begin{sl}un exemple \end{sl} : penché
\begin{tt}un exemple \end{tt} : font machine à écrire
\begin{sc}un exemple \end{sc} : petites majuscules
Voici un\textsuperscript{exemple} : mettra le texte entre parenthèses en exposant
\fbox{un exemple} : en encadré (paramétrable)
\ul{un exemple} : soulignement (package soul)
\uuline{un exemple} : double soulignement (package ulem)
\uwave{un exemple} : soulignement en vaguelettes (package ulem)
\st{un exemple} : barré (package soul)
Coloration du texte :
\textcolor{couleur}{texte en couleur} : couleur possibles par défaut : black, white, red, green, blue, yellow, magenta, cyan
\definecolor{le nom de couleur choisi}{rgb}{taux de rouge entre 0 et 1,taux de vert,taux de bleu} ex: \definecolor{ma_couleur}{rgb}{0.71,0.14,0.07}
Type de police :
Les packs de police définissent 4 cas :
- des caractères avec empattements
- des caractères sans empattements
- des caractères façon machine à écrire (à chasse fixe)
- des caractères servant à écrire des formules mathématiques
Hormis celui par défaut, il existe beaucoup de packs de typo.
Appeler le pack au préalable : \usepackage{nom_du_pack} ex: \usepackage{bookman}
Pour l'insérer à un paragraphe ou quelques mots : {\fontfamily{code_de_la_police}\selectfont mon bout de texte}
ex: {\fontfamily{pbk}\selectfont voici mon texte}
Introduits dans le texte via la commande :
{\fontfamily{code_de_la_police}\selectfont mon bout de texte}
Définir l'option d'une commande en début de document (insérer avant le préambule) :
\renewcommand{nom de la commande}{fonctions liées à cette commande}
ex:
\renewcommand{\emph}{\texttt} : mettra une typo de style 'machine à écrire' lors du placement de balise \emph (gras, italique… s'adaptera)
=== Appel de fichier externe ===
On peut structurer son document en plusieurs parties, toutes ayant l'extension .tex, et on peut les appeler chacun dans chaque document via une commande d'appel :
\input : LaTeX remplace simplement la commande par le contenu du fichier appelé.
ex:
\documentclass{book}
\begin{document}
\input{chapitre1.tex}
\input{chapitre2.tex}
\input{partie2/chapitre3.tex}
\end{document}
=== Citation, code, URL ===
Citation :
\begin{quote}la citation \end{quote}
\begin{quotation}la citation \end{quotation}
Citation de Code source :
\verb{tout petit code source à insérer dans la continuité d'un texte}
\begin{verbatim} code source \end{verbatim}
ex:
\begin{verbatim} #include <iostream>
using namespace std;
int main()
{
cout << "This is a test" << endl;
return 0;
}
\end{verbatim}
pour du code indenté, privilégier verbatimtab :
\begin{verbatimtab}[nombre_d'espaces_par_tabulation] code source \end{verbatimtab}
utiliser le package 'moreverb' : \usepackage{moreverb}
\begin{verbatimtab}[9]
#include <iostream>
using namespace std;
// comm test
int main()
{
cout << "Hello world!" << endl;
return 0;
}
\end{verbatimtab}
pour du code dans un environnement totalement maîtrisé, privilégier : lstlisting.
en en-tête :
\usepackage{listings}
avant begin{document} : on paramètre la commande
\lstset{
% permet de paramétrer la commande \lstlisting pour les codes sources du document, ex:
language=C : précise le type de langage
basicstyle=\footnotesize : taille de la police du code
numbers=left, : placer le numéro de chaque ligne à gauche (ou right)
numberstyle=\normalsize, : taille de la police des numéros
numbersep=7pt, : distance entre le code et sa numérotation
backgroundcolor=\color{white}, : couleur du fond
}
Puis dans le document, le source : ex:
\begin{lstlisting}
if (type == male)
{
printf("Que voulez-vous ?");
}
else if (type == female)
{
printf("Saluuuut... ");
}
\end{lstlisting}
=== URL cliquable ===
en-tête :
\usepackage{url}
\usepackage{hyperref}
dans le document :
\url{http://www.google.com}
=== Mini page ===
Permet de créer une page (document) dans une autre.
ex. simple :
\fbox{ : fbox est utilisé pour voir les bords de la minipage
\begin{minipage}[c]{5cm} : [c] = Center, peut aussi être en alignement vertical haut [t] ou bas [b] ; 5cm = largeur
Un petit paragraphe.
\end{minipage}
}
=== Notes de bas de page ===
\footnote{texte qui sera mis en bas de page adossé au numéro dans l'ordre} : les numéros sont mis automatiquement dans l'ordre de parution
ou
\footnotemark[8] : 8 étant le chiffre correspondant à la note et étant dans le texte en exposant, on définit le chiffre
\footnotetext[8]{arabelum vespace} : "arabelum vespace" étant la note en pied de page, associée au numéro
=== Références internes ===
\label{nom_du_label} : on choisit où mettre le label et comment le nommer, c'est une sorte de "drapeau"
\ref{nom_choisi} : indique le numéro de la structure (partie, chapitre, sous-chapitre, section, sous-section) où se situe le drapeau
{\pageref{nom_choisi}} : indique le N° de la page où se situe le drapeau
=== Insertion d'images et de figures ===
formats acceptés : .png, .jpeg, .gif, .bmp, etc. (pour une compilation en PDF) et .eps (pour une compilatione en PS)
\usepackage{graphicx} : package pour insérer des images et des figures
\includegraphics{nom_de_l_image.png} : permet l'insertion d'une image ou d'un graphique ; le chemin peut être relatif ou absolu
taille de l'image :
\includegraphics[width=200]{une_image.png} : la hauteur se définit automatiquement
\includegraphics[height=200]{une_image.png} : la largeur se définit automatiquement
\includegraphics[height=200, width=600]{une_image.png} : hauteur et largeur définie (risque de déformation d'image)
\includegraphics[scale=1.5]{une_image.png} : gère le ratio de la taille en respectant les proportions
\includegraphics[angle=45]{une_image.png} : gère l'angle de rotation de l'image
Insérer une image dans un paragraphe :
Flottants (première méthode : préconisée) :
\begin{figure}[les options non séparées par des virgules]
\begin{figure}[t] : environnement 'figure', flottant en haut (top)
\begin{center}
\includegraphics{img.png} : insertion des images
\end{center}
\end{figure}
\begin{figure}[!b] : force à placer cette image en bas ( !b ) (bottom)
\begin{center}
\includegraphics{img2.png}
\end{center}
\end{figure}
il existe également les options 'left' et 'right', et 'b', 'bt', 'h', 'H', 'hb', etc.
Le placement créé par LaTeX dépend de sa distribution. Pour changer celle-ci il faut la commande suivante :
\floatplacement{type de flottant}{options}
Légendes d'images :
\caption{légende de mon image} : Elle s'utilise à la suite de l'environnement center et précède une éventuelle commande \label
ex:
\begin{figure}
\begin{center}
\includegraphics{img3.png}
\end{center}
\caption{mon image 3}
\label{mon image 3}
\end{figure}
\begin{figure}
\begin{center}
\includegraphics{img4.png}
\end{center}
\caption{mon image 4}
\label{mon image 4}
\end{figure}
Flottants (deuxième méthode : peu recommandée) :
\usepackage{wrapfig} : permet l'utilisation de l'environnement "wrapfigure"
\begin{wrapfigure}[nombre de lignes]{placement}{distance extérieure image en cm}
\includegraphics[width=largeur en cm]{chemin de l'image}
paragraphe de texte à mettre autour de l'image
\end{wrapfigure}
ex:
\begin{wrapfigure}[7]{r}{4cm}
\includegraphics[width=4cm]{img4.png}
\end{wrapfigure}
long texte à mettre encadrant la photo
\euro{} : symbole €
=== Mathématiques ===
$x+1^2$ : insérer une expression mathématique dans la continuité d'un texte
\begin{math}x+y+z=4\end{math} : insérer une expression mathématique dans la continuité d'un texte
\[x+1^2\] : insérer une expression entre deux paragraphes (on peut la numéroter)
$$x+1^2$$ : insérer une expression entre deux paragraphes (on peut la numéroter)
\begin{equation}x+y+z=4\end{equation} : insérer une expression entre deux paragraphes (on peut la numéroter)
\text{texte inséré} : pour insérer du texte dans une expression
fonctions usuelles :
\[\frac{7}{5}+\frac{88}{9}\] : fraction
\[\cfrac{num1}{den1 + \cfrac{num2}{den2}}\] : fraction en cascade
\[\sqrt[15]{9}\] : racine carrée
\[\lim_{nbr1 \to nbr2} x+42\] : limite
\[92100^{3}\] : exposant
\[279_{4}\] : indice
$ \left( \frac{a+b}{c-d} \right)$ : fraction entourée de grandes parenthèses
\[\cos\] ou en enchaînant : \[\cos^{42}(\lambda)\] : cosinus, cosinus suivi d'autre chose
Commandes fonctions mathématiques usuelles :
\cos cos cosinus
\sin sin sinus
\arccos arccos arc cosinus
\arcsin arcsin arc sinus
\cosh cosh cosinus hyperbolique
\sinh sinh sinus hyperbolique
\tan tan tangente
\arg arg argument
\arctan arctan arc tangente
\ln ln logarithme népérien
\tanh tanh tangente hyperbolique
\log log logarithme
\exp exp exponentielle
\dim dim dimension
\min min minimum
\max max maximum
$\Delta y = f'(x) \cdot \delta x$ : les lettres grecques sont en Majuscule lorsqu'elles commencent par une majuscule, inversement pour minuscule
\alpha
\beta
\gamma
\chi
\psi
\omega
Notons que certaines lettres existent en deux écritures différentes :
\epsilon et \varepsilon
\theta et \vartheta
\pi et \varpi
\rho et \varrho
\sigma et \varsigma
\phi et \varphi
\Gamma \Lambda \Sigma \Psi \Delta \Xi \Upsilon \Omega \Theta \Pi \Phi
\oe : œ
=== unités de mesures prises en compte par LaTeX ===
pt : Point : 0,35 mm
mm : Millimètre : 1,00 mm
pc : Pica : 4,21 mm
cc : Cicéro : 4,53 mm
cm : Centimètre : 10,00 mm
in : Inch : 25,4 mm
Note : Le mode draft aide à compiler plus rapidement un document car il repère les erreur et les mets en valeur : donc plus facile à débugger.
=== Table des matières ===
\tableofcontents : à insérer où l'on souhaite qu'elle s'affiche : elle se génère automatiquement
\renewcommand{\contentsname}{Votre nouveau titre} : renommer Table des matières (en sommaire, par ex), à insérer dans le corps du document, avant la commande \tableofcontents.
Cela est valable pour d'autres structures.
ex :
\contentsname par \partname : remplace le nom des "parties".
Profondeur de la table des matières :
Partie : -1
Chapitre : 0
Section : 1
Sous-section : 2
Sous-sous-section : 3
Paragraphe : 4
Sous-paragraphe : 5
\setcounter{tocdepth}{Nombre de votre choix} : permet de définir quelle profondeur aura notre table des matières
Si l'on souhaite rajouter une ligne dans le sommaire (qui n'a pas été traité automatiquement, dû à un * qui enlève la prise en compte par LaTeX) :
\addcontentsline{toc}{élément de structure sans son backslash ni ses accolades et crochets}{titre apparaissant dans le sommaire}
=== bibliographie ===
Le fichier est à enregistrer en .bib
ex:
@Article{ref,
author={Durand, Patrick AND Gaudin, René},
journal={Le beau journal},
title={Les agents bactériologiques},
year={2001},
month={jan},
pages={24},
notes={sympathique}
}
@book
{ref2,
author={Dupont, Fernand},
title={Les mécanismes économiques},
publisher={Eyrolles},
year={2011}
}
Le but est donc de créer une bibliographie en bas de document mais également de mettre des notes n'importe où dans le document qui appelleront la base de données pour délivrer la mention au livre référencé.
\cite{référence_courte} : permet d'insérer une référence à un livre dans la bdd dans un texte
\bibliography{nom du fichier.bib sans l'extension .bib} : précise l'emplacement de la base de données
\bibliographystyle{} : donne à LaTeX le style de mise en page souhaité pour la bibliographie
classes pour \bibliographystyle{} :
{plain} : classe les entrées par ordre alphabétique et les numérote en conséquence.
{abbrv} : classe les entrées par ordre alphabétique, les numérote en conséquence et abrège certains éléments de la bibliographie
{unsrt} : trie les entrées par ordre d'apparition dans le texte
{alpha} : le repère n'est plus un chiffre, mais les trois premières lettres du nom de l'auteur accolées aux deux derniers chiffres de l'année de parution
Note importante : il faut compiler notre .tex deux fois en LaTeX, puis une fois en Bibtex, puis deux fois en LaTeX.
Note : LyX est un logiciel permettant de générer des PDFs ou PS en LaTeX depuis une GUI donc sans avoir à taper des commandes. Vous le trouverez ici.
- - -
Ce tutoriel vous permets de prendre rapidement LaTeX en main, sans avoir à vous taper des kilomètres de blabla inutiles. Profitez-en ! Vous avez le documents .tex qui vous servira à comprendre le mécanisme de LaTeX tout de suite ! Créez un premier document à l'aide de celui-ci afin de vous faire un peu la main !
Terminé les documents Word dégueulasses !
Commentaire