Uploaded by Yassine Raddaoui

aide-memoire Latex

advertisement
aide-mémoire LaTeX
Préambule standard
\documentclass[a4paper]{article}%␣␣␣␣␣␣autres␣choix␣:␣book,␣report
\usepackage[utf8]{inputenc}%␣␣␣␣␣␣␣␣␣␣␣gestion␣des␣accents␣(source)
\usepackage[T1]{fontenc}%␣␣␣␣␣␣␣␣␣␣␣␣␣␣gestion␣des␣accents␣(PDF)
\usepackage[francais]{babel}%␣␣␣␣␣␣␣␣␣␣gestion␣du␣français
\usepackage{textcomp}%␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣caractères␣additionnels
\usepackage{mathtools,amssymb,amsthm}%␣packages␣de␣l'AMS␣+␣mathtools
\usepackage{lmodern}%␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣police␣de␣caractère
\usepackage{geometry}%␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣gestion␣des␣marges
\usepackage{graphicx}%␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣gestion␣des␣images
\usepackage{xcolor}%␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣gestion␣des␣couleurs
\usepackage{array}%␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣gestion␣améliorée␣des␣tableaux
\usepackage{calc}%␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣syntaxe␣naturelle␣pour␣les␣calculs
\usepackage{titlesec}%␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣pour␣les␣sections
\usepackage{titletoc}%␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣pour␣la␣table␣des␣matières
\usepackage{fancyhdr}%␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣pour␣les␣en-têtes
\usepackage{titling}%␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣pour␣le␣titre
\usepackage{enumitem}%␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣pour␣les␣listes␣numérotées
\usepackage{hyperref}%␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣gestion␣des␣hyperliens
\hypersetup{pdfstartview=XYZ}%␣␣␣␣␣␣␣␣␣zoom␣par␣défaut
\begin{document}
...
\end{document}
Options de classe
Voici les options qu’on peut donner à \documentclass.
option
10pt
11pt
12pt
notitlepage
titlepage
openany
openright
description
le texte est en 10pt
le texte est en 11pt
le texte est en 12pt
le titre n’est pas sur une page à part
page de titre
saut de page simple avant les chapitres
un chapitre commence toujours sur
une page impaire
option
a4paper
onecolumn
twocolumn
oneside
twoside
leqno
fleqn
description
taille de la page A4
texte sur une colonne
texte sur deux colonnes
pour impression en recto uniquement
pour impression en recto-verso
les numéros d’équation sont à gauche
les formules mises en évidences sont
alignées à gauche
Exemple d’utilisation : \documentclass[twocolumn,titlepage]{article} met le texte sur deux colonnes et
le titre sur une page à part.
1
Spécificité du code source
Caractères spéciaux
\
%
#
{
}
début d’une commande
commentaire (tout ce qui suit sur la ligne est ignoré)
identificateur de numéro d’argument dans une macro
délimiteur ouvrant
délimiteur fermant
$
ˆ
_
&
˜
début/fin de mode mathématique
exposant (mode mathématique uniquement)
indice (mode mathématiques uniquement)
changement de colonne dans un tableau
espace insécable
Comportement des espaces
Les espaces sont ignorés en début de ligne ; plusieurs espaces ne comptent que comme un seul ; un saut de
ligne est un espace ; les espaces après les commandes-mots sont avalés ; les espaces après les commandes-caractères
sont pris en compte. Voici un exemple de ces règles en application (chaque espace est marqué par ).
code
␣␣␣␣␣␣␣␣␣La␣livre␣␣␣␣sterling␣a␣perdu
20~\%␣de␣sa␣valeur␣en␣quelques␣␣mois.
Aujourd'hui,␣1␣\pounds␣ne␣vaut␣␣plus
rien.
résultat
La livre sterling a perdu 20 % de sa valeur en quelques
mois. Aujourd’hui, 1 £ne vaut plus rien.
Table des symboles spéciaux
–
—
#
{
}
$
_
&
œ
æ
Œ
Æ
ß
---\#
\{
\}
\$
\_
\&
\oe
\ae
\OE
\AE
\ss
tiret demi-cadratin
tiret cadratin
croisillon
accolade ouvrante
accolade fermante
dollar
underscore
esperluète
diphtongue œ
diphtongue æ
diphtongue Œ
diphtongue Æ
eszett
«
»
“
”
1er
1re
4e
1ers
1res
4es
guillemets
français ouvrants
\fg{}
guillemets
français fermants
`` (accents graves) guillemets anglais
ouvrants
'' (apostrophes) guillemets anglais
fermants
1\ier{}
premier
1\iere{} première
4\ieme{} quatrième
1\iers{} premiers
1\ieres{} premières
4\iemes{} quatrièmes
\og
Mme
no
nos
No
Nos
¹
²
³
©
®
™
%
‰
€
^
~
M\up{me}
\no␣
\nos␣
\No␣
\Nos␣
\textonesuperior
\texttwosuperior
\textthreesuperior
\textcopyright
\textregistered
\texttrademark
\%
\textperthousand
\texteuro
\textasciicircum
\textasciitilde
Madame
numéro
numéros
Numéro
Numéros
lettre sup. 1
lettre sup. 2
lettre sup. 3
copyright
registred
trademark
pourcent
pourmille
euro
circonflexe
tilde
Remarque. — Les caractères suivants peuvent être tapés normalement : §, £, ¤, @, ° (degré). L’accent grave `
s’obtient sur la touche 7 d’un clavier de PC et l’apostrophe ' sur la touche 4.
2
Polices de caractères
Style de la police
Taille de la police
{\tiny...}
{\scriptsize...}
{\footnotesize...}
{\small...}
{\normalsize...}
{\large...}
{\Large...}
{\LARGE...}
{\huge...}
{\Huge...}
\textrm{...}
\textsf{...}
AaBbCcDdEeFfGgHhIiJjK \texttt{...}
AaBbCcDdEeFfGgHhIiJ
AaBbCcDdEeFfGgHhI \textmd{...}
\textbf{...}
AaBbCcDdEeFfGgHhIiJjKkLlMm
AaBbCcDdEeFfGgHhIiJjKk
AaBbCcDdEeFfGg
{\rmfamily...}
{\sffamily...}
{\ttfamily...}
romain
sans sérif
télétype
{\mdseries...}
{\bfseries...}
graisse normale
gras
{\upshape...}
{\itshape...}
{\em...}
droit
italique
emphase
AaBbCcDdEe
\textup{...}
\textit{...}
\emph{...}
AaBbCcD
\textsc{...}
{\scshape...}
\MakeUppercase{...}
\MakeLowercase{...}
petites capitales
CAPITALES
minuscules
\textnormal{...}
annule les changements
AaBbCcDdEeFf
AaBbCcDd
{\fontsize{10pt}{12pt}\selectfont...}
texte de 10pt, interligne de 12pt - 10pt = 2pt.
{\normalfont...}
Polices mathématiques et de texte
Voici les packages disponibles (ne pas oublier de charger aussi \usepackage{lmodern}) :
\usepackage{lmodern}
\usepackage{txfonts}
\usepackage{pxfonts}
\usepackage[garamond]{mathdesign}
\usepackage[charter]{mathdesign}
\usepackage[utopia]{mathdesign}
\usepackage{fourier}
\usepackage{kpfonts}
AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz
AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz
AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz
AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz
AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz
AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz
AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz
AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz
Maths complexes =⇒ éviter txfonts et pxfonts ; pour le texte, fourier = mathdesign/utopia, mais 6= pour les maths.
Autres polices pour les titres, sections, codes informatiques, etc.
Changer la police courante pour pnc : \fontfamily{pnc}\selectfont.
Changer la police sans sérif pour pag : \renewcommand{\sfdefault}{pag}.
Changer la police télétype pour fvm : \renewcommand{\ttdefault}{fvm}.
Liste des principales polices (voir http://www.tug.dk/FontCatalogue/ pour une liste complète) :
nom
Antiqua
Bera Serif
Bookman
Century Schoolbook
Charter
Garamond
Palatino
Times
Utopia
code
uaq
fve
pbk
pnc
bch
ugm
ppl
ptm
put
nom
Arev
Avant Garde
Bera Sans
Grotesq
Helvetica
LM Sans
Optima
code
fav
pag
fvs
ugq
phv
lmss
uop
nom
Bera Sans Mono
courier
CM Teletype
Letter Gothic
Luximono
TX Teletype
Inconsolata
code
fvm
pcr
cmtt
ulg
ul9
txtt
fi4
Si le document comporte des mathématiques, ne pas faire un changement de police direct, mais utiliser un
des packages décrit ci-dessus (fourier, mathdesign, etc.).
3
Macros personnelles
Syntaxe de la définition de macros
\newcommand{\Z}{\mathbb{Z}}
\newcommand{\definir}[1]{\emph{#1}}
\newcommand{\nompropre}[2]{#1␣\textsc{#2}}
\newcommand{\ZnZ}[1][n]{\Z/#1\Z}
\newcommand{\strong}[2][red]{\textcolor{#1}{#2}}
macro sans argument
macro à un argument
macro à deux arguments
macro à un argument optionnel
macro à un argument obligatoire et un optionnel
Si la commande existe déjà, utiliser \renewcommand. Pour définir une commande uniquement si elle n’existe pas
déjà, utiliser \providecommand.
Pour définir un environnement {questions} basé sur {enumerate}, utiliser
\newenvironment{questions}{\begin{enumerate}[label=\alph*.]}{\end{enumerate}}
Il y a aussi \renewenvironment pour redéfinir un environnement.
Macros avec un @ dans leur nom
Les macros contenant un @ dans leur nom sont des macros internes et doivent être entourées de \makeatletter
et \makeatother. Voici un exemple (voir page 7) :
\makeatletter
\titleformat{\paragraph}[runin]
␣␣{\normalfont\normalsize\bfseries}{\theparagraph}{1em}{}[\@addpunct{.}]
\makeatother
Espacement autour des macros et environnements
Espacement automatique après une macro avec le package xspace :
\newcommand{\ssi}{si␣et␣seulement␣si\xspace}
Pas d’espaces parasites autour d’un environnement :
\newenvironment{petit}{\small\ignorespaces}{\ignorespacesafterend}
Macros qui définissent des macros
Utile pour les titres :
\newcommand{\theuniversite}{}
\newcommand{\universite}[1]{\renewcommand{\theuniversite}{#1}}
Package xargs
Le package xargs permet de définir des macros à plusieurs paramètres optionnels. Voici un exemple :
\newcommandx{\suite}[3][1=n,3=\in\mathbb{N}]{(#2_{#1})_{#1#3}}
Résultat :
$\suite{u}$
$\suite{u}[\geq␣1]$
(un )n∈N
(un )n≥1
$\suite[k]{u}$
$\suite[k]{u}[\geq␣1]$
(uk )k∈N
(uk )k≥1
Voir la documentation (en français) pour plus de précisions :
http://mirror.ctan.org/macros/latex/contrib/xargs/xargs-fr.pdf
4
Titre du document
Titre standard
Dans le préambule :
\title{Titre␣du␣document}
\author{Nom␣du␣premier␣auteur␣\and␣Nom␣du␣second␣auteur}
\date{Date␣du␣document}%␣vide␣=␣pas␣de␣date␣;␣absent␣=␣date␣du␣jour
puis, après \begin{document}, là où doit apparaître le titre :
\maketitle
Page de titre personnalisée
Remplacer \maketitle par
\begin{titlepage}
␣␣\fontfamily{phv}\selectfont
␣␣\vspace*{\stretch{1}}
␣␣\begin{flushright}\LARGE
␣␣␣␣Victor␣Hugo
␣␣\end{flushright}
␣␣\hrule
␣␣\begin{flushleft}\huge\bfseries
␣␣␣␣Les␣misérables
␣␣\end{flushleft}
␣␣\vspace*{\stretch{2}}
␣␣\begin{center}
␣␣␣␣Éditions␣Lavarice
Victor Hugo
Les misérables
␣␣␣␣2009
␣␣\end{center}
\end{titlepage}
Éditions Lavarice
2009
Personnalisation avec le package titling
Voici la syntaxe du package titling :
\setlength{\droptitle}{-1cm}%␣asjutement␣de␣l'espace␣avant␣le␣titre
\renewcommand{\maketitlehooka}{}%␣matériel␣avant␣le␣titre
\pretitle{\begin{center}\LARGE}
\posttitle{\par\end{center}\vspace{0.5em}}
\renewcommand{\maketitlehookb}{}%␣matériel␣entre␣titre␣et␣auteur
\preauthor{\begin{center}\large
␣␣␣␣␣␣␣␣␣␣␣\begin{tabular}[t]{c}}
\postauthor{\end{tabular}\par\end{center}}
\renewcommand{\maketitlehookc}{}%␣matériel␣entre␣auteur␣et␣date
\predate{\begin{center}\large}
\postdate{\par\end{center}}
\renewcommand{\maketitlehookd}{}%␣matériel␣après␣la␣date
5
Résumé du document
Syntaxe
\begin{abstract}
Bla␣bla␣bla␣bla␣bla...
\end{abstract}
Pour changer le nom du résumé, redéfinir (dans le préambule) \abstractname avec :
\addto\captionsfrench{\renewcommand{\abstractname}{Plan}}
Résumés en plusieurs langues
Après avoir chargé chaque langue avec le package babel (voir page 15), il est possible de faire un résumé par
langue avec
\selectlanguage{francais}%␣on␣s'assure␣que␣la␣langue␣est␣bien␣le␣français
\begin{abstract}
Bla␣bla␣bla␣bla␣bla...
\end{abstract}
\selectlanguage{english}%␣on␣change␣de␣langue␣pour␣le␣résumé␣en␣anglais
\begin{abstract}
Bla␣bla␣bla␣bla␣bla...
\end{abstract}
\selectlanguage{francais}%␣on␣revient␣à␣la␣langue␣d'origine
Personnalisation avec le package abtract
Chargement du package abstract
\usepackage{abstract}␣%␣options␣:␣addtotoc,␣runin
Voici une liste des éléments personnalisables :
\renewcommand{\abstractnamefont}{\normalfont\small\bfseries}
\renewcommand{\abstracttextfont}{\normalfont\small}
\abslabeldelim{:}
\renewcommand{\absnamepos}{center}
\setlength{\abstitleskip}{2cm}
\setlength{\absleftindent}{0cm}
\setlength{\absrightindent}{0cm}
Police utilisée par le titre du résumé
Police utilisée par le texte du résumé
Ponctuation après le titre du résumé (avec runin)
Alignement du titre (sans runin)
Espace entre le titre et le texte du résumé
Marge gauche du résumé
Marge droite du résumé
Exemples d’utilisations du package abstract
\renewcommand{\abstractnamefont}{%
␣␣\normalfont\small\itshape}
\setlength{\abstitleskip}{-1em}
%...
\begin{abstract}
Bla␣bla␣bla...
\end{abstract}
Résumé
bla
bla
bla
bla
bla
\usepackage[runin]{abstract}
\abslabeldelim{.~---}
\setlength{\abstitleskip}{-\parindent}
%...
\begin{abstract}
Bla␣bla␣bla...
\end{abstract}
Bla bla bla bla bla bla bla bla bla bla
bla bla bla bla bla bla bla bla bla bla
bla bla bla bla bla bla bla bla bla bla
bla bla bla bla bla bla bla bla bla bla
bla bla bla bla bla bla bla bla bla bla
bla bla bla bla bla bla bla bla bla bla.
Résumé. — Bla bla bla bla bla bla bla
bla bla bla bla bla bla bla bla bla bla bla
bla bla bla bla bla bla bla bla bla bla bla
bla bla bla bla bla bla bla bla bla bla bla.
6
Sections
Commandes de sectionnement
Syntaxe. Section numérotée : \section[htitre sommaire/en-têtes/signets PDFi]{hTitre normali}
Section non numérotée : \section*{hTitrei}
Liste des commandes. \part, \chapter (non disponible en classe article), \section, \subsection, \subsubsection,
\paragraph, \subparagraph.
Numérotation des sections
Pour ajuster la profondeur de numérotation des sections, utiliser \setcounter{secnumdepth}{1} (dans le
préambule) où la correspondance profondeur/numérotation est donnée par le tableau suivant.
niveau nom
niveau nom
niveau nom
niveau nom
−1
part
0
chapter
2
subsection
4
paragraph
0
(en classe article)
1
section
3
subsubsection
5
subparagraph
Pour changer la façon dont apparaît le numéro d’une section, faire (voir page 20 pour les compteurs)
\renewcommand{\thesection}{\arabic{section}}
Personnalisation avec le package titlesec
Le package titlesec fournit les commandes \titleformat et \titlespacing pour personnaliser les titres
de sections. Voici ces commandes pour les principaux niveaux de sectionnement :
\titleformat{\chapter}%
\titleformat{\section}
␣␣[display]%␣style␣:␣hang,␣display,␣runin,␣leftmargin,␣...
␣␣[hang]%␣style␣:␣hang,␣display,␣runin,␣leftmargin,␣...
␣␣{\bfseries}%␣changement␣de␣fontenuméro␣+␣titre
␣␣{\normalfont\Large\bfseries}%␣fonte␣numéro␣+␣titre
␣␣{\huge\chaptertitlename~\thechapter}%␣numéro
␣␣{\thesection}%␣numéro
␣␣{20pt}%␣espace␣entre␣le␣numéro␣et␣le␣titre
␣␣{1em}%␣espace␣entre␣le␣numéro␣et␣le␣titre
␣␣{\Huge}%␣changement␣de␣fonte␣du␣titre
␣␣{}%␣fonte␣titre
\titlespacing*{\chapter}%
\titlespacing*{\section}
␣␣{0pt}%␣␣retrait␣à␣gauche
␣␣{0pt}%␣retrait␣à␣gauche
␣␣{50pt}%␣espace␣avant
␣␣{3.5ex␣plus␣1ex␣minus␣.2ex}%␣espace␣avant
␣␣{40pt}%␣espace␣après
␣␣{2.3ex␣plus␣.2ex}%␣espace␣après
␣␣[0pt]%␣␣retrait␣à␣droite
␣␣[0pt]%␣retrait␣à␣droite
\titleformat{\subsection}
\titleformat{\subsubsection}
␣␣[hang]%␣style␣:␣hang,␣display,␣runin,␣leftmargin,␣...
␣␣[hang]%␣style␣:␣hang,␣display,␣runin,␣leftmargin,␣...
␣␣{\normalfont\large\bfseries}%␣fonte␣numéro␣+␣titre
␣␣{\normalfont\normalsize\bfseries}%␣fonte␣numéro␣+␣titre
␣␣{\thesubsection}%␣numéro
␣␣{\thesubsubsection}%␣numéro
␣␣{1em}%␣espace␣entre␣le␣numéro␣et␣le␣titre
␣␣{1em}%␣espace␣entre␣le␣numéro␣et␣le␣titre
␣␣{}%␣fonte␣titre
␣␣{}%␣fonte␣titre
\titlespacing*{\subsection}
\titlespacing*{\subsubsection}
␣␣{0pt}%␣retrait␣à␣gauche
␣␣{0pt}%␣retrait␣à␣gauche
␣␣{3.25ex␣plus␣1ex␣minus␣.2ex}%␣espace␣avant
␣␣{3.25ex␣plus␣1ex␣minus␣.2ex}%␣espace␣avant
␣␣{1.5ex␣plus␣.2ex}%␣espace␣après
␣␣{1.5ex␣plus␣.2ex}%␣espace␣après
␣␣[0pt]%␣retrait␣à␣droite
␣␣[0pt]%␣retrait␣à␣droite
\titleformat{\paragraph}
\titleformat{\subparagraph}
␣␣[runin]%␣style␣:␣hang,␣display,␣runin,␣leftmargin,␣...
␣␣[runin]%␣style␣:␣hang,␣display,␣runin,␣leftmargin,␣...
␣␣{\normalfont\normalsize\bfseries}%␣fonte␣numéro␣+␣titre
␣␣{\normalfont\normalsize\bfseries}%␣fonte␣numéro␣+␣titre
␣␣{\theparagraph}%␣numéro
␣␣{\thesubparagraph}%␣numéro
␣␣{1em}%␣espace␣entre␣le␣numéro␣et␣le␣titre
␣␣{1em}%␣espace␣entre␣le␣numéro␣et␣le␣titre
␣␣{}%␣fonte␣titre
␣␣{}%␣fonte␣titre
␣␣[]%␣après␣le␣titre,␣p.ex.␣"\@addpunct{.}"␣de␣amsmath
␣␣[]%␣après␣le␣titre,␣p.ex.␣"\@addpunct{.}"␣de␣amsmath
\titlespacing*{\paragraph}
\titlespacing*{\subparagraph}
␣␣{0pt}%␣retrait␣à␣gauche
␣␣{\parindent}%␣retrait␣à␣gauche
␣␣{3.25ex␣plus␣1ex␣minus␣.2ex}%␣espace␣avant
␣␣{3.25ex␣plus␣1ex␣minus␣.2ex}%␣espace␣avant
␣␣{1em}%␣espace␣après
␣␣{1em}%␣espace␣après
Pour pouvoir utiliser \@addpunct (qui rajoute la ponctuation au besoin), il faut mettre \titleformat entre \makeatletter et \makeatother, voir page 4.
Exemples d’utilisations de titlesec
\titleformat{\section}[block]
␣␣{\normalfont\bfseries\filcenter}
␣␣{\fbox{\itshape\thesection}}
␣␣{0.5em}{}
\titleformat{\section}[frame]
␣␣{\normalfont}
␣␣{\filright\footnotesize\enspace
␣␣␣SECTION␣\thesection\enspace}
␣␣{8pt}
␣␣{\Large\bfseries\filcenter}
1 Titre long qui va sur
plusieurs lignes et qui continue
Bla bla bla bla bla bla bla bla bla bla
bla bla bla bla bla bla bla bla bla bla
bla bla bla bla bla bla bla bla bla bla
SECTION 1
Titre
Bla bla bla bla bla bla bla bla bla bla
bla bla bla bla bla bla bla bla bla bla
Bla bla bla bla bla bla bla bla bla bla
bla bla bla bla bla bla bla bla bla bla
\titleformat{\section}[wrap]
␣␣{\normalfont\bfseries\filright}
␣␣{\thesection.}{.5em}{}
\titlespacing{\section}{2.5cm}
␣␣{1em␣plus␣.1em␣minus␣.1em}{1em}
\titleformat{\section}[leftmargin]
␣␣{\normalfont\vspace{6pt}%
␣␣\bfseries\filleft}
␣␣{\thesection}{.5em}{}
\titlespacing{\section}{2cm}
␣␣{1em␣plus␣.1em␣minus␣.1em}{1em}
7
1. Titre qui est Bla bla bla
un peu long
bla bla bla
bla bla bla
bla bla bla bla bla bla bla bla
bla bla bla bla bla bla bla bla
bla
bla
bla
bla
bla
1
1 Titre très
long
Bla bla bla bla bla bla bla bla bla bla
bla bla bla bla bla bla bla bla bla bla
bla bla bla bla bla bla bla bla bla bla
bla bla bla bla bla bla bla bla bla bla
bla bla bla bla bla bla bla bla bla bla
Table des matières
Insérer une table des matières
Création de la table des matières. LaTeX créé automatiquement une table des matières à l’endroit où apparaît
\tableofcontents
Changer le nom de la table. Redéfinir \contentsname dans le préamble avec
\addto\captionsfrench{\renewcommand{\contentsname}{Sommaire}}
Ajuster la profondeur. Changer la valeur du compteur tocdepth (voir page 20 pour les compteurs) :
\setcounter{tocdepth}{1}
Ajouter du matériel à la table des matières
\addcontentsline{toc}{section}{Nom␣de␣l'entrée}
Package titletoc
Voici les définitions pour les classes book et report (pour article, décaler d’un niveau vers le haut les
définitions) :
\titlecontents{chapter}%
␣␣[1.5em]%␣retrait␣à␣gauche
␣␣{\addvspace{1em␣plus␣0pt}\bfseries}%␣matériel␣avant␣
%commun␣aux␣entrées␣numérotées␣ou␣pas
␣␣{\contentslabel{1.3em}}%␣avant␣lorsqu'il␣y␣a␣un␣numéro
␣␣{\hspace{-1.3em}}%␣avant␣lorsqu'il␣n'y␣a␣pas␣de␣numéro
␣␣{\hfill\contentspage}%␣points␣de␣suspension␣et␣no␣page
␣␣[\addvspace{0pt}]%␣matériel␣après
\dottedcontents{section}%
␣␣[3.8em]%␣retrait␣gauche
␣␣{\addvspace{0pt}}%␣matériel␣avant
␣␣{2.3em}%␣espacement␣de␣contentslabel
␣␣{0.75em}%␣espace␣entre␣les␣.␣.␣.␣.
␣␣[\addvspace{0pt}]%␣matériel␣après
Nom
part
chapter
section
subsection
subsubsection
paragraph
subparagraph
Niveau
−1/0
0
1
2
3
4
5
1
Titre du chapitre
1.1 Titre de section . . . . . .
1.1.1 Titre de sous-section
1.1.2 Titre de sous-section
1.2 Titre de section . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
3
3
4
5
7
\dottedcontents{subsection}%
␣␣[7.0em]%␣retrait␣gauche
␣␣{\addvspace{0pt}}%␣matériel␣avant
␣␣{3.2em}%␣espacement␣de␣contentslabel
␣␣{0.75em}%␣espace␣entre␣les␣.␣.␣.␣.
␣␣[\addvspace{0pt}]%␣matériel␣après
book et report
retrait
contentslabel
0 em
–
1.5 em
1.5 em
3.8 em
2.3 em
7.0 em
3.2 em
11.1 em
4.1 em
16.1 em
5.0 em
22.1 em
6.0 em
article
retrait
contentslabel
0 em
–
–
–
1.5 em
1.5 em
3.8 em
2.3 em
7.0 em
3.2 em
11.1 em
4.1 em
16.1 em
5.0 em
Il existe une variante étoilée de \titlecontents pour mettre les entrées de la table des matières sur une
même ligne.
\setcounter{secnumdepth}{1}
\titlecontents*{subsection}
␣␣[6em]%␣retrait␣à␣gauche
␣␣{\small}%␣matériel␣avant␣commun␣à␣toutes␣les␣entrées
␣␣{\thecontentslabel.␣}%␣avant␣lorsqu'il␣y␣a␣un␣numéro
␣␣{}%␣avant␣lorsqu'il␣n'y␣a␣pas␣de␣numéro
␣␣{,␣\thecontentspage}%␣affichage␣du␣numéro␣de␣page
␣␣[.␣---␣]%␣ponctuation␣entre␣les␣entrées
␣␣[.]%␣ponctuation␣à␣la␣fin␣des␣entrées
1
Titre du chapitre
1.1 Titre de section . . . . . . . . . . . . . . . . . . . . .
1.1.1. Titre de sous-section, 4. — 1.1.2. Titre de soussection, 5.
1.2 Titre de section . . . . . . . . . . . . . . . . . . . . .
Autres packages concernant les tables des matières
shorttoc (rajouter un sommaire plus court), minitoc (rajouter des sommaires par chapitre).
8
3
3
7
Théorèmes avec amsthm
Syntaxe de base
Pour les théorèmes, utiliser le package amsthm (il y a aussi le package ntheorem qui propose plus de fonctionnalités, mais qui a un certain nombre de bugs). Pour définir un théorème appelé « Théorème » correspondant à
l’environnement {theoreme}, utiliser \newtheorem{theoreme}{Théorème}. L’environnement {theorem} a
un argument optionnel :
\begin{theoreme}
Bla␣bla␣bla␣bla␣bla.
\end{theoreme}
Théorème 1. Bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla
bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla
bla bla bla bla bla bla bla bla bla bla bla.
\begin{theoreme}[Fermat]
Bla␣bla␣bla␣bla␣bla.
\end{theoreme}
Théorème 2 (Fermat). Bla bla bla bla bla bla bla bla bla bla bla bla
bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla
bla bla bla bla bla bla bla bla bla bla bla bla bla bla.
Styles de théorèmes. Voici les trois styles de base disponibles :
\theoremstyle{plain}
\newtheorem{theoreme}{Théorème}
Théorème 1. Bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla
bla bla bla bla bla bla.
\theoremstyle{definition}
\newtheorem{exercice}{Exercice}
Exercice 1. Bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla
bla bla bla bla bla bla.
\theoremstyle{remark}
\newtheorem{corrige}{Corrigé}
Corrigé 1. Bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla
bla bla bla bla bla.
Numérotation des théorèmes. Voici les options de numérotation :
\theoremstyle{plain}
\newtheorem{theoreme}{Théorème}[section]
\newtheorem{corollaire}[theoreme]{
Corollaire}
\newtheorem{lemme}[theoreme]{Lemme}
\newtheorem*{axiome}{Axiome}
Axiome. Bla bla bla bla bla bla bla bla bla.
Lemme 1.1. Bla bla bla bla bla bla bla bla bla.
Théorème 1.2. Bla bla bla bla bla bla bla bla bla.
Corollaire 1.3. Bla bla bla bla bla bla bla bla bla.
Démonstrations
Pour les démonstrations, utiliser l’environnement {proof}. Si jamais le carré de fin de démonstration est mal
placé, utiliser \qedhere pour le mettre au bon endroit. On peut changer le symbole de fin de démonstration
avec \renewcommand{\qedsymbol}{C.Q.F.D.}.
Personnalisation des théorèmes
␣␣{\bfseries}%␣police␣du␣titre␣du␣théorème
␣␣{.}%␣ponctuation␣après␣le␣théorème
␣␣{␣}%␣après␣le␣titre␣du␣théorème␣(espace␣ou␣\newline)
␣␣{}%␣spécifications␣du␣titre
\newtheoremstyle{remark}%
␣␣{\topsep}%␣espace␣avant
␣␣{\topsep}%␣espace␣après
␣␣{\upshape}%␣police␣du␣corps␣du␣théorème
␣␣{}%␣indentation␣(vide␣pour␣rien,␣\parindent)
␣␣{\itshape}%␣police␣du␣titre␣du␣théorème
␣␣{.}%␣ponctuation␣après␣le␣théorème
␣␣{␣}%␣après␣le␣titre␣du␣théorème␣(espace␣ou␣\newline)
␣␣{}%␣spécifications␣du␣titre
1
Il est possible de définir de nouveaux styles ou de
redéfinir les styles existants. Voici, à titre d’exemple,
la définition des trois styles plain, definition et
remark :
\newtheoremstyle{plain}%
␣␣{\topsep}%␣espace␣avant
␣␣{\topsep}%␣espace␣après
␣␣{\itshape}%␣police␣du␣corps␣du␣théorème
␣␣{}%␣indentation␣(vide␣pour␣rien,␣\parindent)
␣␣{\bfseries}%␣police␣du␣titre␣du␣théorème
␣␣{.}%␣ponctuation␣après␣le␣théorème
␣␣{␣}%␣après␣le␣titre␣du␣théorème␣(espace␣ou␣\newline)
␣␣{}%␣spécifications␣du␣titre
\newtheoremstyle{definition}%
␣␣{\topsep}%␣espace␣avant
␣␣{\topsep}%␣espace␣après
␣␣{\upshape}%␣police␣du␣corps␣du␣théorème
␣␣{}%␣indentation␣(vide␣pour␣rien,␣\parindent)
La valeur par défaut du dernier argument est
\thmname{#1}\thmnumber{␣\textup
{#2}}\thmnote{␣\textnormal{(#3)}}
où #1 est le titre, #2 le numéro et #3 l’argument optionnel du théorème.
1. En fait, la définition est légèrement plus compliquée pour prendre en compte le fait que #1 peut être vide.
9
Mathématiques
Taper une formule
Équation dans le texte
$...$
Équation hors-texte
\[...\]
Équation hors-texte numérotée \begin{equation}
\label{eq-nom}
...
\end{equation}
Référence à une équation
Texte dans une équation
Spécifier le numéro*
Enlever le numéro
Encadrer une formule
(en mode mathématique)
\eqref{eq-nom}
\text{...}
\tag{$(E)$}
\nonumber
\boxed{...}
* Ne pas utiliser \tag avec {equation}, cela cause des problèmes avec hyperref, mais remplacer {equation} par {gather}.
Équations alignées. Pour numéroter chacune des équations, enlever l’étoile.
\begin{align*}
...␣&␣=␣...␣\\
␣␣␣␣&␣=␣...
\end{align*}
\begin{gather*}
...␣\\
...
\end{gather*}
=
=
\begin{multline*}
...␣\\
...
\end{multline*}
code
\[\sum_{\substack{d\mid␣n\\
d\neq␣n}}␣a_d\]
ad
d|n
d6=n
√
2
√
3
2
$\sqrt{2}$
$\sqrt[3]{2}$
code
$\frac{a}{b}$
a
b
a
b
$\binom{n}{k}$
$\tfrac{a}{b}$
a
b
a
b
$\tbinom{n}{k}$
$\dfrac{a}{b}$
a
b
a
b
$\dbinom{n}{k}$
n
k
n
Çkå
n
k
Ç å
n
k
n
k
Ç å
n
k
Forcer le style « hors-texte » : \displaystyle ; forcer le style « dans le texte » : \textstyle.
Matrices et distinction de cas
\begin{matrix}␣a␣&␣b␣\\
c␣&␣d␣\end{matrix}
\begin{vmatrix}␣a␣&␣b␣\\
a b
a b
c␣&␣d␣\end{vmatrix}
c d
c d
Å
ã
\begin{pmatrix}␣a␣&␣b␣\\
\begin{Vmatrix}␣a␣&␣b␣\\
a b
a b
c␣&␣d␣\end{pmatrix}
c␣&␣d␣\end{Vmatrix}
c d
c d
ï
ò
\begin{bmatrix}␣a␣&␣b␣\\
(\begin{smallmatrix}␣a␣&␣b␣\\
a b
( ac db )
c␣&␣d␣\end{bmatrix}
c␣&␣d␣\end{smallmatrix})
c d
ß
™
Å
ã
\begin{Bmatrix}␣a␣&␣b␣\\
\begin{pmatrix}␣a␣&␣b␣&␣c␣\\
a b
a b c
c␣&␣d␣\end{Bmatrix}
\hdotsfor{3}␣\end{pmatrix}
c d
........
Changer le nombre maximal de colonnes : \setcounter{MaxMatrixCols}{50} (valeur par défaut = 10).
®
x
si x > 0,
\[f(x)␣=␣\begin{cases}␣x␣&␣\text{si␣$x␣>␣0$,}␣\\
f (x) =
␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣-x␣&␣\text{sinon}␣\end{cases}\]
−x sinon
Congruences et modules
$a␣\equiv␣b␣\mod␣m$
$a␣\equiv␣b␣\pmod␣m$
$a␣\equiv␣b␣\pod␣m$
$\gcd(n,m\bmod␣n)$
a ≡ b mod m
a ≡ b (mod m)
a ≡ b (m)
gcd(n, m mod n)
Placement vertical au dessus ou en-dessous
$\underset{x\to␣0}{\sim}$
∼
x→0
$\overset{\mathrm{def}}{=}$
10
def
=
hors-texte
x21
V
2F 1
X
t
dans le
texte
$x_1^2$
$\prescript{t}{}{V}$
$\prescript{}{2}{F}_1^{}$
dans le
texte
Syntaxe des mathématiques
hors-texte
Mettre \allowdisplaybreaks dans le préambule pour permettre les sauts de pages dans les équations.
Symboles mathématiques
Pour une liste complète, voir http://tug.ctan.org/pkg/comprehensive
Alphabets mathématiques
commande
\mathnormal
\mathit
\mathbf
\boldsymbol
\mathsf
exemple
ABCDEF GH . . . abcdef gh . . . 0123456789
ABCDEFGH . . . abcdefgh . . . 0123456789
ABCDEFGH . . . abcdefgh . . . 0123456789
ABCD . . . abcd . . . 0123 . . . αβγ . . . `∇ . . .
ABCDEFGH . . . abcdefgh . . . 0123456789
commande
\mathcal
\mathscr
\mathbb
\mathfrak
exemple
ABCDEF GHIJ KLMN OPQRST U . . .
A BC DE F G H I J K L M N OPQ . . .
ABCDEFGHIJKLMNOPQRQT . . . k (\Bbbk)
ABCDEFGH . . . abcdefgh . . . 0123456789
Alphabet grec
α
β
γ
δ
ε
\alpha
\beta
\gamma
\delta
\epsilon
\varepsilon
ζ
η
θ
ϑ
ι
κ
\zeta
\eta
\theta
\vartheta
\iota
\kappa
κ
λ
µ
ν
ξ
π
\varkappa
\lambda
\mu
\nu
\xi
\pi
$
ρ
ρ
σ
ς
τ
\varpi
\rho
\rho
\sigma
\varsigma
\tau
υ
φ
ϕ
χ
ψ
ω
\upsilon
\phi
\varphi
\chi
\psi
\omega
\digamma
\Gamma
\Delta
\Theta
\Lambda
\Xi
Π
Σ
Υ
Φ
Ψ
Ω
\Pi
\Sigma
\Upsilon
\Phi
\Psi
\Omega
\exists!
\varnothing
¬
∇
\neg
\nabla
z
Γ
∆
Θ
Λ
Ξ
Symboles alphanumériques
\aleph
\beth
ℵ
i
\gimel
\daleth
‫ג‬
k
`
∞
\ell
\infty
∂
℘
\partial
\wp
\forall
\exists
∀
∃
∃!
∅
Lois de composition
+
−
±
∓
+
\pm
\mp
×
·
÷
∗
\times
\cdot
\div
*
?
◦
∪
∩
\star
\circ
\cup
\cap
t
u
q
M
\sqcup
\sqcap
\amalg
\vartriangle
⊕
⊗
∧
∨
\oplus
\otimes
\wedge
\vee
C
B
o
n
\lhd
\rhd
\rtimes
\ltimes
q
o
⊥
>
\amalg
\wr
\bot
\top
Symboles de relation
Égalités.
= =
6
=
\neq
∝ \propto 6∝ \not\propto ' \simeq 6' \not\simeq u \approxeq 6u \not\approxeq
∼
:= \coloneqq :6= \vcentcolon\neq \asymp 6 \not\asymp ≈ \approx 6≈ \not\approx ∼
6 \not\cong
= \cong
=
≡ \equiv
6≡ \not\equiv
∼ \sim
6∼ \not\sim
Inclusions.
⊂
6
⊂
⊃
6
⊃
\subset
\not\subset
\supset
\not\supset
Inégalités.
< <
> >
⊆
*
⊇
+
\subseteq ( \subsetneq
\nsubseteq ) \supsetneq
\supseteq
\varsubsetneq
\nsupseteq ! \varsupsetneq
≤ \leq
≥ \geq
j
"
k
#
\subseteqq
\nsubseteqq
\supseteqq
\nsupseteqq
6 \leqslant
$
%
&
'
\subsetneqq
\supsetneqq
\varsubsetneqq
\varsupsetneqq
> \geqslant
\ll
@
6
@
A
6
A
\sqsubset
\not\sqsubset
\sqsupset
\not\sqsupset
v
6
v
w
6
w
\sqsubseteq
\not\sqsubseteq
\sqsupseteq
\not\sqsupseteq
\gg
Flèches
→
7
→
,→
\to
\mapsto
\hookrightarrow
\twoheadrightarrow
=⇒
⇐⇒
=⇒
6
⇐⇒
6
\implies
\iff
\centernot\implies (pkg centernot)
\centernot\iff (pkg centernot)
%
.
⇒
\nearrow
9
\swarrow
79
\rightleftarrows
\rightrightarrows 99K
f
\nrightarrow
\mapstochar\nrightarrow
\rightsquigarrow
\dashrightarrow
dessus
Flèches extensibles. \xrightarrow{f} donne −
→ et \xrightarrow[dessous]{dessus} donne −−−−−→.
←−−
−−→
7−−→
←→
\xleftarrow
\xrightarrow
\xmapsto
\xleftrightarrow
=⇒ \xRightarrow
⇐= \xLeftarrow
⇐
⇒ \xLeftrightarrow
−−+
−−*
)−−
(−−
11
\xrightharpoondown
\xrightharpoonup
\xleftharpoondown
\xleftharpoonup
dessous
−−
*
)
−
− \xrightleftharpoons
(
−
− \xleftrightharpoons
−
−
+
←−- \xhookleftarrow
,−→ \xhookrightarrow
Fonctions usuelles
\ln
\exp
\lim
\max
\sup
\min
ln
exp
lim
max
sup
min
\cos
\sin
\tan
\cot
\arccos
\arcsin
\arctan
\sinh
\cosh
\tanh
\coth
\inf
cos
sin
tan
cot
arccos
arcsin
\deg
\det
\dim
\ker
\arg
\gcd
arctan
sinh
cosh
tanh
coth
inf
\hom
\lg
\log
\liminf
\varliminf
\limsup
deg
det
dim
ker
arg
gcd
\varlimsup
\projlim
\varprojlim
\injlim
\varinjlim
hom
lg
log
lim inf
lim
lim sup
lim
proj lim
lim
←−
inj lim
lim
−→
Pour définir de nouvelles fonctions : \DeclareMathOperator{\Vect}{Vect}
Délimiteurs
délimiteurs ouvrants et fermants
(x) (x)
|x| \lvert x\rvert
[x] [x]
kxk \lVert x\rVert
{x} \{x\}
bxc \lfloor x\rfloor
hxi \langle x\rangle
JxK \llbracket x\rrbracket
dxe \lceil x\rceil
délimiteurs médiants
/ /
| |
\ \backslash k \|
(stmaryrd)
Pour ]−1 ; 1[, utiliser la commande \intervalleoo ci-dessous.
Pour changer la taille : \left, \right, \middle, \big, \bigl, \bigm, \bigr (ainsi que Big, bigg et Bigg)

p 1/p
ïX X
ò
X
X
p 1/p
\left et \right sont certaines fois trop grands : 
ai
.
xi,j 
ai
xi,j
contre
i
j
i
j
Grands opérateurs
Z
\int
R
\sum
PX
QY
\prod
ZZ
\iint
RR
\coprod
` a
S [
\bigcup
ZZZ
\iiint
RRR
R
\bigcap
T
\
\bigoplus
L
\bigsqcup
F
G
\bigotimes
N
\idotsint
···
R
Z
Z
I
\oint
H
M
\bigwedge
O
\bigvee
V^
W_
···
Utilisation de \limits, \nolimits et \displaystyle ainsi que \sideset
n
∗ Y0
k=1
Accents mathématiques
...
....
\bar ā \tilde ã \hat â \check ǎ \acute á \grave à \dot ȧ \ddot ä \dddot a \ddddot a
\vec ~a \breve ă
\mathring å
haut
z }| {
Accents extensibles. $\underbracket{ABC}_{bas}$ donne ABC et $\overbrace{ABC}^{haut}$ donne ABC.
bas
\overbrace
\overline
\overrightarrow
\overleftarrow
\overleftrightarrow
z }| {
\overbracket
ABC . . .
ABC . . .
ABC . . .
−−−−−→
ABC . . .
←−−−−−
ABC . . .
←−−−−→
ABC . . .
\underbrace
\underline
\underrightarrow
\underleftarrow
\underleftrightarrow
\underbracket
ABC
| {z . .}.
ABC . . .
ABC . . .
−−−−−→
ABC . . .
←−−−−−
ABC . . .
←−−−−→
ABC . . .
\widetilde
‰
ABCDEF
G
\widehat
⁄
ABCDEF
G
\wideparen
˛
ABCDEF
G
˚
˛
ABCDEF G
Ò
\widetriangle ABCDEF
G
\widering
Points de suspension
. . . ou · · · (automatique) \dots
. . . \ldots
· · · \cdots
..
. \vdots
..
. \ddots
..
.
\iddots (pkg mathdots)
Le package mathdots permet d’avoir des points de suspension corrects en indice ou exposant.
Raccourcis utiles pour les maths
\newcommand{\diff}{\mathop{}\mathopen{}\mathrm{d}}
\newcommand{\intervalle}[4]{\mathopen{#1}#2\mathpunct{};#3\mathclose{#4}}
\newcommand{\intervalleff}[2]{\intervalle{[}{#1}{#2}{]}}
\newcommand{\intervalleof}[2]{\intervalle{]}{#1}{#2}{]}}
\newcommand{\intervallefo}[2]{\intervalle{[}{#1}{#2}{[}}
\newcommand{\intervalleoo}[2]{\intervalle{]}{#1}{#2}{[}}
12
Bibliographies avec ou sans BibTeX
Bibliographie faite à la main
Voir␣\cite{SGA5}␣et␣\cite[p.~167]{Eucl.elts}.
\begin{thebibliography}{SGA~5}
␣␣␣␣\bibitem{Eucl.elts}␣\textsc{Euclide},␣\emph{Les␣
Éléments}.
␣␣␣␣\bibitem[SGA~5]{SGA5}␣\textsc{Grothendieck},␣\emph{
SGA5}.
\end{thebibliography}
Voir [SGA 5] et [1, p. 167].
Bibliographie
[1] Euclide, Les Éléments.
[SGA 5] Grothendieck, SGA5.
L’argument de {thebibliography} est l’étiquette la plus longue (« SGA 5 » dans l’exemple précédent).
Bibliographie automatique avec BibTeX
\bibliographystyle{smfalpha}
\bibliography{biblio}
Compilation. Compiler avec latex puis bibtex puis deux fois latex.
Fichier bib. Le fichier biblio.bib contient les entrées bibliographiques de la forme suivante.
@BOOK{DD.syst,
␣␣␣AUTHOR␣␣␣␣␣␣␣=␣"Durand,␣Anatole␣and␣Dupont,␣Georges",
␣␣␣TITLE␣␣␣␣␣␣␣␣=␣"{Nouveau␣traité␣d'analyse␣des␣données␣
systémiques}",
␣␣␣PUBLISHER␣␣␣␣=␣"Vuibert",
␣␣␣YEAR␣␣␣␣␣␣␣␣␣=␣"2002",
␣␣␣NOTE␣␣␣␣␣␣␣␣␣=␣""
}
@ARTICLE{Dup.nouvdem,
␣␣␣AUTHOR␣␣␣␣␣␣␣=␣"Dupont,␣Georges",
␣␣␣TITLE␣␣␣␣␣␣␣␣=␣"{Une␣nouvelle␣démonstration␣du␣théorème␣
fondamental␣des␣analyses␣de␣données␣systémiques}",
␣␣␣JOURNAL␣␣␣␣␣␣=␣"Journal␣of␣Systemic␣Data",
␣␣␣YEAR␣␣␣␣␣␣␣␣␣=␣"1995",
␣␣␣VOLUME␣␣␣␣␣␣␣=␣"4",
␣␣␣PAGES␣␣␣␣␣␣␣␣=␣"456-561",
␣␣␣NOTE␣␣␣␣␣␣␣␣␣=␣""
}
Autres types d’entrées : @INPROCEEDINGS, @MISC, @PHDTHESIS.
Styles BibTeX
Pour un texte en anglais, il y a les styles plain, alpha, etc. Pour un texte en français, utiliser
style smfplain
style smfalpha
[1] A. Durand et G. Dupont – Traité d’analyse des
données systémiques, Vuibert, 2002.
[DD02] A. Durand et G. Dupont – Traité d’analyse
des données systémiques, Vuibert, 2002.
[2] G. Dupont – « Sur l’analyse systémique », Journal
of Systemic Data 4 (1995), p. 456-561.
[Dup95] G. Dupont – « Sur l’analyse systémique »,
Journal of Systemic Data 4 (1995), p. 456-561.
[3] A. Durand – Analyses des données systémiques –
Une introduction, Masson, 1987.
[Dur87] A. Durand – Analyses des données systémiques – Une introduction, Masson, 1987.
Raccourcis dans BibTeX
On peut utiliser @STRING pour ne pas répéter du texte ; pour concaténer deux chaînes, utiliser # :
@STRING{GDupont="Dupont,␣Georges"}
@STRING{ADurand="Durand,␣Anatole"}
@BOOK{DD.syst,
␣␣␣AUTHOR␣␣␣␣␣␣␣=␣GDupont␣#␣"␣and␣"␣#␣ADurand,
}
On peut aussi définir des commandes LaTeX avec @PREAMBLE afin d’être sûr qu’elles soient présentes :
@PREAMBLE{"\newcommand{\arxivlink}[1]{\href{http://arxiv.org/abs/#1}{arXiv:#1}}"}
@ARTICLE{Perelman.ricci.surgery,
␣␣␣NOTE␣␣␣␣␣␣␣=␣"\arxivlink{math/0303109}"
}
ce qui mettra « arXiv:math/0303109 » à l’entrée correspondante.
13
Mise en page, en-têtes et pieds de pages
Mise en page
On peut personnaliser la mise en page en passant les arguments suivants à la commande \geometry.
option
landscape
portrait
margin=3cm
vmargin=3cm
hmargin=3cm
description
mode paysage (page en largeur)
mode portrait
toutes les marges à 3cm
marges hautes et basses à 3cm
marges gauches et droites à 3cm
option
description
top=3cm
marge haute à 3cm
right=3cm
marge droite à 3cm
bottom=3cm marge basse à 3cm
left=3cm
marge gauche à 3cm
autres options dans la doc de geometry
Exemple d’utilisation : pour obtenir des marges de 2,5 cm à gauche et à droite et 5 cm en haut et en bas, utiliser
\geometry{hmargin=2.5cm,vmargin=5cm}.
Commandes de style pour les en-têtes et pieds de pages
commande
\pagestyle
\thispagestyle
effet
style de page du document
style de la page courante
style
empty
plain
headings
description
page vide
numéro en bas centré
style standard
Personnaliser les en-têtes et pieds de pages
Voici la syntaxe du package fancyhdr.
\pagestyle{fancy}
\fancyhf{}␣%␣efface␣tout␣ce␣qu'il␣y␣avait␣avant
\fancyhead[LO,RE]{\leftmark}␣%␣LO␣=␣gauche/impair␣;␣RE␣=␣droite/pair
\fancyhead[RO,LE]{\rightmark}␣%␣RO␣=␣droite/impair␣;␣LE␣=␣gauche/pair
\fancyfoot[C]{\thepage}%␣C␣=␣centré
\renewcommand{\headrulewidth}{0pt}
\renewcommand{\footrulewidth}{0pt}
La commande \nouppercase permet d’éviter que les en-têtes soient en lettres capitales. Exemple :
\fancyhead{\nouppercase\leftmark}
La signification de \rightmark et \leftmark dépend de la classe de document :
\leftmark
book/report
chapter
article
section
\rightmark
book/report
section
article
subsection
Redéfinir les styles existants
Voici les définitions en terme de fancyhdr des styles plain et empty :
\fancypagestyle{plain}{%
␣␣\fancyhf{}%␣remise␣à␣zéro
␣␣\fancyfoot[C]{\thepage}%␣no␣page␣centré
␣␣\renewcommand{\headrulewidth}{0pt}
␣␣\renewcommand{\footrulewidth}{0pt}}
\fancypagestyle{empty}{%
␣␣\fancyhf{}%␣remise␣à␣zéro
␣␣\renewcommand{\headrulewidth}{0pt}
␣␣\renewcommand{\footrulewidth}{0pt}}
Marques d’en-têtes
Si jamais on veut changer le contenu des en-têtes, on peut utiliser \markboth et \markright pour changer
le contenu de \leftmark et \rightmark :
\markboth{left}{right}
\markright{right}
C’est utile pour mettre des en-têtes aux chapitres étoilées, ou effacer les en-têtes de la table des matières.
14
Autres commandes de base
Notes de bas de page
...bla\footnote{Bla␣bla␣bla␣bla␣bla.}␣bla␣bla.
Bien penser à coller la note au mot qui la précède. Pour changer la numérotation (voir page 20 sur les compteurs) :
\renewcommand{\thefootnote}{\fnsymbol{footnote}}
Les packages footmisc et l’option francais de babel permettent de personnaliser les \footnote.
Références à un élément
\label{definition.importante}
\ref{definition.importante}
\pageref{definition.importante}
\eqref{definition.importante}
Marque l’élément numéroté qui précède (section, théorème, etc.)
Fait référence au numéro de section, théorème, etc.
Fait référence au numéro de page de la section, du théorème, etc.
Variante de \ref à utiliser pour les équations
Insertion de fichiers
commande
\input{fichier.tex}
\include{chapitre1.tex}
\inludeonly{chapitre1.tex}
effet
inclut le fichier fichier.tex
saute une page puis inclut le fichier
n’inclut que chapitre1.tex parmi les fichiers inclus avec \include (s’utilise
uniquement dans le préambule et ne marche pas avec \input)
Changer de langue
\usepackage[francais,english]{babel} puis \selectlanguage{francais}.
langue
Allemand
Anglais
Espagnol
option de babel
ngerman
english
spanish
langue
Français
Italien
Latin
option de babel
francais
italian
latin
langue
Néerlandais
Portugais
option de babel
dutch
portuges
Une liste complète des langages est disponible dans la documentation de babel.
Paragraphes
\setlength{\parindent}{15pt} ajuste la valeur de l’indentation des paragraphes
\noindent supprime l’indentation du paragraphe si placé au tout début de celui-ci. À utiliser avec parcimonie.
Blocs de texte
aucun
{center}
\centering
{flushleft}
\raggedright
{flushright}
\raggedleft
1er juin 1944 :
« Bercent mon coeur d’une langueur monotone »
1er juin 1944 :
« Bercent mon coeur d’une
langueur monotone »
1er juin 1944 :
« Bercent mon coeur d’une
langueur monotone »
1er juin 1944 :
« Bercent mon coeur d’une
langueur monotone »
{quote}
1er juin 1944 :
« Bercent mon coeur
d’une langueur monotone »
{quotation}
1er juin 1944 :
« Bercent
mon
coeur d’une langueur
monotone »
{verse}
1er juin 1944 :
« Bercent mon coeur
d’une langueur monotone »
Bien noter que left et right sont inversés entre {flushleft} et \raggedright et {flushright} et \raggedleft.
15
Tableaux
Syntaxe des tableaux
Packages nécessaires. Toujours utiliser le package array.
Syntaxe. Les positions possibles sont c (centré), t (aligné en haut) et b (aligné en bas).
\begin{tabular}[hpositioni]{hspécification colonnesi}
...
\end{tabular}
Spécifications de colonnes.
l
colonne alignée à gauche
@{$\to$}
met $\to$ entre les colonnes
r
colonne alignée à droite
!{$\to$}
idem, mais garde l’espace entre les colonnes
c
colonne centrée
|
trait vertical entre les colonnes
p{5cm} colonne formée d’un paragraphe de 5cm >{\bfseries} Met \bfseries au début de la colonne
m{5cm} idem, mais centré verticalement
<{\texteuro} Met \texteuro à la fin de la colonne
b{5cm} idem, mais aligné en bas
*{6}{l@{,}r} répétition du motif l@{,}r six fois
>{\centering\arraybackslash}p{5cm} colonne p{5cm} avec texte centré horizontalement
Commandes.
\hline
Trait horizontal
&
Changement de colonne
\cline{2-5} Trait horizontal entre les 2e et 5e colonnes
\\
Changement de ligne
\\[3pt] idem mais rajoute 3pt d’espace vertical à
partir de la ligne de base
Fusion de cellules.
Fusion de colonnes
Fusion de lignes
Fusion de lignes et de colonnes
\multicolumn{3}{c}{Titre}
\multirow{3}{*}{Titre}
\multicolumn{3}{c}{\multirow{3}{*}{Titre}}
Espacement du tableau.
\setlength{\tabcolsep}{0.5em}
\renewcommand{\arraystretch}{1.25}
(package multirow)
(package multirow)
règle d’espace entre les colonnes
multiplie l’espace entre les lignes par 1,25
Couleurs dans les tableaux. Rajouter au package xcolor avec option table : \usepackage[table]{xcolor}.
\cellcolor{blue!10}
cellule de couleur
\rowcolors{2}{white}{blue!10} alterne les deux couleurs spécifiés à partir de la ligne no 1
\rowcolor{blue!10}
ligne de couleur
\columncolor{green!5}
colonne de couleur
Exemples de tableaux
\begin{center}
\rowcolors{2}{white}{blue!10}
\begin{tabular}{lll}
Titre␣&␣Titre␣&␣Titre␣\\
Texte␣&␣Texte␣&␣Texte␣\\
Texte␣&␣Texte␣&␣Texte␣\\
Texte␣&␣Texte␣&␣Texte␣\\
Texte␣&␣Texte␣&␣Texte␣\\
\end{tabular}\end{center}
Titre
Texte
Texte
Texte
Texte
Titre
Texte
Texte
Texte
Texte
Titre
Texte
Texte
Texte
Texte
\begin{center}\begin{tabular}{|l|l|l|}
\cline{2-3}
\multicolumn{1}{c|}{}␣&␣Titre␣&␣Titre␣\\
\hline
Titre␣&␣Texte␣&␣Texte␣\\␣\hline
Titre␣&␣\multicolumn{2}{c|}{\multirow{2}{*}{--}}␣
\\
\cline{1-1}
Titre␣&␣\multicolumn{2}{c|}{}␣\\\hline
\end{tabular}\end{center}
\begin{center}\begin{tabular}{|>{\columncolor{gray!20}}l|r@{,}l<{\$}|}
\hline
\multicolumn{1}{|>{\columncolor{gray!20}}c|}{\bfseries␣Denrée}␣&
\multicolumn{2}{c|}{\bfseries␣Prix}␣\\
\hline
Lait␣␣␣␣␣␣␣␣␣␣␣␣␣␣&␣␣0&80␣\\
\OE␣uf␣␣␣␣␣␣␣␣␣␣␣␣&␣␣3&75␣\\
Poulet␣␣␣␣␣␣␣␣␣␣␣␣&␣␣8&35␣\\
Lessive␣en␣poudre␣&␣10&02␣\\
\hline
\end{tabular}\end{center}
Pour des tableaux avec légende, utiliser l’environnement {table} (voir page 17).
16
Titre
Titre
Titre
Titre
Texte
Denrée
Lait
Œuf
Poulet
Lessive en poudre
Titre
Texte
–
Prix
0,80$
3,75$
8,35$
10,02$
Images et graphiques
Inclusion d’images
Pour inclure une image, utiliser le package graphicx. Les formats acceptés lorsqu’on produit directement du
PDF sont .jpg, .png, .pdf. Voici la syntaxe pour inclure l’image appelée, disons, tiger.png :
\includegraphics{tiger}
\includegraphics[scale=0.2]{tiger}
\includegraphics[width=1cm]{tiger}
\includegraphics[height=0.5cm]{tiger}
inclut l’image tiger.png (pas besoin de préciser l’extension)
idem, mais à l’échelle 0,2
idem, mais avec une largeur de 1cm
idem, mais avec une hauteur de 1cm
Inclusion de pages entières d’un PDF
Pour inclure des pages entières d’un PDF, utiliser le package pdfpages puis la commande \includepdf
\includepdf[pages=-]{document}
\includepdf[pages=3-5]{document}
inclure toutes les pages du fichier document.pdf
inclure les pages 3 à 5 du fichier document.pdf
Placement d’images
placement manuel
\usepackage{caption}
%...
\begin{center}
\includegraphics{tiger}
\captionof{figure}{Image␣d'un␣tigre}
\label{image-tigre}
\end{center}
placement automatique
\begin{figure}\centering
\includegraphics{tiger}
\caption{Image␣d'un␣tigre}
\label{image-tigre}
\end{figure}
(Noter que \label est toujours après \caption.)
Pour les tableaux (voir page 16), on utilisera {table} au lieu de {figure}.
Liste des figures
Pour faire une liste des figures, utiliser \listoffigures (pour une liste des tables, c’est \listoftables).
Texte autour d’une figure
Pour mettre du texte autour d’une figure, utiliser le package wrapfig (il vaut mieux éviter picinpar qui
pose un certain nombre de problèmes). Voici la syntaxe :
\begin{wrapfigure}{r}{0cm}%␣r␣à␣droite␣et␣l␣pour␣à␣gauche
\includegraphics{...}
\end{wrapfigure}
Ne pas utiliser à l’intérieur d’une liste ou d’un {center}. Le \begin{wrapfigure} se place à la fin de la ligne
précédent l’endroit où l’on veut que la figure apparaisse, même si c’est au milieu d’un mot.
Le␣tigre␣est␣un␣mammifère␣carnivore␣de␣la␣fa-%
\begin{wrapfigure}{r}{0cm}
\includegraphics[width=2cm]{tiger-crop}
\end{wrapfigure}%
mille␣des␣félidés␣du␣genre␣Panthera.␣Aisément␣
reconnaissable␣à␣sa␣fourrure␣rousse␣rayée␣de␣
noir,␣il␣est␣le␣plus␣grand␣félin␣sauvage␣du␣
monde.␣L'espèce␣est␣divisée␣en␣neuf␣sousespèces␣possédant␣des␣différences␣mineures␣en␣
termes␣de␣taille␣ou␣de␣comportement.
17
Le tigre est un mammifère carnivore de la famille des félidés du genre Panthera. Aisément reconnaissable à
sa fourrure rousse rayée de noir,
il est le plus grand félin sauvage
du monde. L’espèce est divisée en
neuf sous-espèces possédant des
différences mineures en termes
de taille ou de comportement.
(Texte provenant de l’article « Tigre » sur wikipédia.)
Couleurs, espacements, réglures, url, effets spéciaux
Couleurs
Pour changer la couleur, il y a la commande \textcolor{gray} et la bascule \color{gray} qui mettent
toutes les deux le texte dans la couleur gray. Voici une petite liste des couleurs prédéfinies :
black
red
purple
darkgray
orange
pink
gray
yellow
magenta
lightgray
green
cyan
white
blue
brown
violet
On peut mélanger ses couleurs pour en obtenir d’autres ; par exemple, green!60!black est du vert foncé auquel
on peut donner le nom darkgreen en faisant \colorlet{darkgreen}{green!60!black}. On peut aussi faire
\definecolor{bordeaux}{rgb}{.5,0,0} pour définir une couleur en RVB (les nombres sont entre 0 et 1).
commande
{\color{gray}texte}
\textcolor{gray}{texte}
\normalcolor
\pagecolor{blue!5}
résultat
texte
texte
couleur normale
met le fond de la page
commande
\fbox{texte}
\colorbox{gray!20}{texte}
\fcolorbox{black}{gray!20}{texte}
et de toutes celles qui suivent en blue!5
résultat
texte
texte
texte
Espacements
commande
\hspace{1cm}
\hspace*{1cm}
\hspace{\stretch{1}}
\hfill
~
\,
\quad
effet
espace horizontal de 1cm
idem, mais ne disparaît jamais
ressort horizontal de force 1
ressort horizontal (force 1)
espace-mot insécable
espace fine (insécable)
espace cadratin
commande
\vspace{1cm}
\vspace*{1cm}
\addvspace{1cm}
\vspace{\stretch{1}}
\vfill
\bigskip
\medskip
\smallskip
effet
espacement vertical de 1cm
idem, mais ne disparaît jamais
rajoute au plus 1cm d’espace
ressort vertical de force 1
ressort vertical (force 1)
grand espace vertical
espace vertical moyen
petit espace vertical
Pour les différentes unités possibles, voir l’entrée sur les longueurs page 20.
Filets et réglures
code
\hrule
\hrulefill
\vrule
description
code
filet horizontal (sur toute la longueur) \rule{1cm}{1pt}
ressort consistant d’un filet horizontal
filet vertical (sur la hauteur disponible) \rule[5pt]{1cm}{1pt}
description
réglure de 1cm le long et d’une épaisseur de 1pt :
idem, mais 5pt plus haut :
Effets spéciaux
\rotatebox{30}{texte}
\rotatebox[origin=c]{180}{texte}
\reflectbox{texte}
\url{http://www.google.fr}
\href{http://www.google.fr}{google}
\href{mailto:moi@woo.com}{moi@woo.com}
résultat
te
tex
texte
commande
etxet
http://www.google.fr
google
moi@woo.com
commande
\verb"\macro"
\verb|\symbol{"90}|
résultat
\macro
\symbol{"90}
\begin{verbatim}
#~$^_}{&\"|
\end{verbatim}
#~$^_}{&\"|
Remarque : les autres possibilités pour origin dans \rotatebox sont l, r, c, t, b et B. Pour présenter du code informatique, voir page 22
18
Listes à puces ou numérotées, descriptions
Types de listes
\begin{itemize}
␣␣\item␣Un.
␣␣\item␣Deux.
␣␣\item[$\cdot$]␣Trois.
\end{itemize}
– Un.
– Deux.
· Trois.
\begin{enumerate}
␣␣\item␣Un.
␣␣\item␣Deux.
␣␣\item␣Trois.
\end{enumerate}
1. Un.
2. Deux.
3. Trois.
\begin{description}
␣␣\item[primo]␣Un.
␣␣\item[secondo]␣Deux.
␣␣\item[tercio]␣Trois.
\end{description}
primo Un.
secondo Deux.
tercio Trois.
Paramètres du package enumitem
Une fois le package enumitem chargé, les listes prennent toutes un argument optionnel permettant de changer
leur présentation (pour {itemize}, mettre \frenchbsetup{StandardLists=true} dans le préambule).
\begin{enumerate}[label=\bfseries\alph*.,ref=\alph*.,leftmargin=\parindent]
numérotera (voir page 20 pour les compteurs) les item « a., b., c., . . . » tandis que l’utilisation de \ref donnera
« a., b., c., . . . » et la marge gauche sera égale à la valeur du retrait d’alinéa (\parindent). La police d’une
{description} se change via font. Les paramètres de distances possibles sont (\parskip est un paramètre de
distance global qui n’est pas spécifique aux listes)
Bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla
bla bla bla bla bla bla bla bla bla.
partopsep (si ligne blanche avant la liste)
itemindent
–
labelsep
topsep+parskip
Bla bla bla bla bla bla bla bla bla
bla bla bla bla bla bla bla.
parsep
listparindent
leftmargin
Bla bla bla bla bla bla bla bla bla
rightmargin
bla bla bla bla bla bla.
itemindent
–
labelsep
itemsep+parsep
Bla bla bla bla bla bla bla bla bla
bla bla bla bla bla bla bla.
topsep+parskip
partopsep (si ligne blanche avant la liste)
Bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla
bla bla bla bla bla bla bla bla bla bla bla bla.
topsep : espace avant et après
partopsep : espace avant si la liste est précédée d’une ligne blanche
itemsep : séparation entre les item
parsep : séparation entre les paragraphes
d’un item
leftmargin : marge gauche
rightmargin : marge droite
labelsep : distance étiquette/texte
itemindent : indentation du premier paragraphe d’un item
listparindent : indentation des autres
paragraphes d’un item
Personnalisation globale des listes avec enumitem
Listes à puces. Pour changer tous les {itemize}, utiliser \setitemize[1] (où 1 est la profondeur) :
\frenchbsetup{StandardLists=true}%␣désactive␣l'action␣de␣babel/francais
\setitemize[1]{label=--,partopsep=\parskip,topsep=-\parskip,itemsep=0pt,parsep=0pt}
Listes numérotées. Pour changer tous les {enumerate}, utiliser \setitemize[1] (où 1 est la profondeur) :
\setenumerate[1]{label=\arabic*.}␣␣␣\setenumerate[2]{label=\alph*.,ref=\theenumi.\alph*}
Descriptions. Pour changer toutes les {description}, utiliser \setdescription :
\setdescription{font=\bfseries\sffamily}
Changer makelabel avec enumitem
L’étiquette des listes est imprimée à l’aide d’une commande appelée \makelabel. Celle-ci vaut \hss\llap
{#1} pour {itemize} et {enumerate}, ce qui a pour effet de mettre l’étiquette, aussi grande soit-elle, à gauche du
texte. Pour {description}, c’est \hspace{\labelsep}\normalfont\bfseries#1. Il est possible de changer
\makelabel avec le package enumitem en utilisant la clef before :
\newcommand{\nouveaumakelabel}[1]{#1}
\begin{enumerate}[before=\renewcommand{\makelabel}{\nouveaumakelabel}]
19
Registres de compteurs et de longueurs
Compteurs
commande
\newcounter{compte}
\newcounter{compte}[section]
\refstepcounter{compte}
\setcounter{compte}{6}
\value{compte}
\thecompte
\setcounter{compte}{\numexpr\value{compte}+10}
\renewcommand{\thecompte}{\Roman{compte}}
\renewcommand{\thecompte}{\thesection.\arabic{compte}}
\numberwithin{equation}{section}
\makeatletter
\@removefromreset{section}{chapter}
\makeatother
effet
Définit le compteur compte
Définit le compteur compte et le réinitialise à chaque
changement de section
Incrémente le compteur compte
Met le compteur compte à 6
Valeur numérique du compteur
Affichage du compteur
Rajoute 10 à compte
Règle l’affichage du compteur en chiffres I, II, III, . . .
Rajoute le numéro de section devant celui de compte
Rend le compteur d’équation dépendant du compteur
de section
Rend le compteur section indépendant de chapter
(nécessite le package remreset)
Formats de compteurs. Voici les affichages disponibles pour les compteurs :
\arabic
\fnsymbol
1, 2, 3, 4, 5, 6, etc.
∗, †, ‡, §, ¶, k, etc.
\Roman
\roman
I, II, III, IV, V, VI, etc.
i, ii, iii, iv, v, vi, etc.
\Alph
\alph
A, B, C, D, E, F, etc.
a, b, c, d, e, f, etc.
Pour définir d’autres affichages :
\makeatletter
\newcommand{\astsymbol}[1]{\ensuremath{\ifcase\value{#1}\or{*}\or{*}{*}\or
␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣{*}{*}{*}\or{*}{*}{*}\else\@ctrerr\fi}}
\makeatother
Longueurs
\newlength{\longueur}
\setlength{\longueur}{3pt}
\addtolength{\longueur}{3pt}
\settowidth{\longueur}{texte}
\settoheight{\longueur}{texte}
\settodepth{\longueur}{texte}
\setlength{\longueur}{\dimexpr\longueur*12/10}
\the\longueur
Crée la dimension \longueur
Met la dimension \longueur à 3pt
Ajoute 3pt à la dimension \longueur
Met la dimension \longueur à la largeur de “texte”
Met la dimension \longueur à la hauteur de “texte”
Met la dimension \longueur à la profondeur de “texte”
Multiplie la dimension \longueur par 12/10
Valeur de la longueur (en points)
Unités de longueur
Unités de base
point
millimètre
hauteur de x
cadratin
centimètre
pt
mm
ex
em
cm
Autres unités disponibles
scaled point sp 0,0000153 pt
math unit
mu 0,05555 em
big point
bp 1,00374 pt
didot point dd 1,07000 pt
pica
pc 0,42172 cm
cicero
cc 0,45125 cm
inch
in 2,54000 cm
0,35114 mm
2,84526 pt
* ≈ 4,2 à 5,5 pt
* 10 pt
28,4526 pt
* Ces deux unités dépendent de la police courante. Valeurs données pour une police de 10 pt.
20
Index
Création de l’index
Dans le préambule, rajouter
\usepackage{makeidx}
\makeindex
puis, à l’endroit où l’index doit apparaître (généralement à la fin du document), mettre
\printindex
Point de vue de la compilation, il faut compiler avec latex puis avec makeindex puis une autre fois avec latex.
Sous TeXmaker, cela se fait en appuyant sur F6, F12 puis F6.
Commandes d’indexation
Lettres accentuées. Mettre \index{etude@étude} pour que le classement soit correct (makeindex prend mal en
charge les accents)
Formatage d’une entrée. Utiliser \index{Euler,␣Leonhard@\textsc{Euler},␣Leonhard} pour mettre Euler
en petites capitales :
Euler, Leonhard, 16
Reclassement d’une entrée. Utiliser \index{alpha@$\alpha$} pour mettre α à alpha :
alpes, 43
α, 65
alphabet, 78
Sous-entrée. Utiliser \index{hypergéométrique!fonction} et \index{hypergéométrique!équation} (en
fait, à cause des accents, il faut mieux écrire \index{hypergeometrique@hypergéométrique!fonction} et
\index{hypergeometrique@hypergéométrique!équation}) :
hypergéométrique
fonction, 10
équation, 12
Référence croisée. Utiliser \index{lemme␣de␣Schur|see{Schur}}
lemme de Schur, voir Schur
Indexer une plage de pages. Utiliser \index{mot_a_indexer|(} au début et \index{mot_a_indexer|)} à la
fin.
calcul de ζ(2), 5–14
Formattage spécial du numéro de page. Les commandes \index{constante␣d'Euler|textit} à la page 5,
\index{constante␣d'Euler} aux pages 8 et 12 et \index{constante␣d'Euler|textbf} à la page 13 donneront :
constante d’Euler, 5, 8, 12, 13
Bien entendu, il vaut mieux définir des commandes personnelles pour toutes ces questions de formattage. Par
exemple si 5 désigne un exemple important d’application du théorème et 13 sa démonstration, ce sera plus
pertinent de définir deux commandes
\newcommand{\indexexempleimportant}[1]{\textit{#1}}
\newcommand{\indexdemotheoreme}[1]{\textbf{#1}}
En suite, en tapant \index{constante␣d'Euler|indexexempleimportant} à la page 5, \index{constante
␣d'Euler} aux pages 8 et 12 et \index{constante␣d'Euler|indexdemotheoreme} à la page 13, on obtiendra
constante d’Euler, 5, 8, 12, 13
Pour préserver les hyperliens dans l’index, il faut légèrement modifier les définitions des commandes précédentes :
\newcommand{\indexexempleimportant}[1]{\textit{\hyperpage{#1}}}
\newcommand{\indexdemotheoreme}[1]{\textbf{\hyperpage{#1}}}
21
Code informatique avec listings
Configuration de base
\usepackage{listings}%␣package␣listings␣version␣1.4
options à toujours mettre
options de présentation
\lstset{upquote=true,
␣␣␣␣␣␣␣␣columns=flexible,
␣␣␣␣␣␣␣␣keepspaces=true,
␣␣␣␣␣␣␣␣breaklines,
␣␣␣␣␣␣␣␣breakindent=0pt}
\lstset{basicstyle=\ttfamily,
␣␣␣␣␣␣␣␣commentstyle=\itshape,
␣␣␣␣␣␣␣␣keywordstyle=\bfseries,
␣␣␣␣␣␣␣␣language=[LaTeX]TeX,
␣␣␣␣␣␣␣␣texcsstyle=*\bfseries}
Commandes de base
Il y a \lstinline"\macro{...}" qui donne \macro{...}. Pour faire plusieurs lignes :
\begin{lstlisting}[language={[LaTeX]TeX}]
...
\end{lstlisting}
Ne jamais écrire “\begin{lstlisting}%”, cela cause des problèmes. Pour définir un environnement de type
{lstlisting}, utiliser
\lstnewenvironment{pascalcode}[1][]
␣␣{\lstset{language=pascal,numbers=left,numberstyle=\tiny,#1}}
␣␣{}
Liste des languages les plus courants
[LaTeX]TeX
Metapost
Postscript
PSTricks
command.com (Batch)
bash
HTML
XML
PHP
SQL
Python
Ruby
Perl
Lisp
VBScript
R
Scilab
MuPad
Matlab
Mathematica
Gnuplot
Caml
[Objective]Caml
Java
C
C++
Asssembler
Basic
Cobol
Delphi
Fortran
Pascal
Options de présentation
Voici quelques options de présentation :
\lstset{xleftmargin=2em,xrightmargin=2em,aboveskip=\topsep,belowskip=\topsep,
␣␣␣␣␣␣␣␣frame=single,rulecolor=\color{blue},backgroundcolor=\color{blue!5}}
Pour numéroter les lignes, utiliser par exemple
\lstset{numbers=left,numberstyle=\tiny,stepnumber=2,numbersep=5pt}
Nouveaux languages
Voici comment définir un nouveau language pour BibTeX (à mettre dans le préambule) :
\lstdefinelanguage{BibTeX}
␣␣{morekeywords={@BOOK,@ARTICLE,@STRING,@PREAMBLE,@BOOKLET,@CONFERENCE,
␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣@INBOOK,@INCOLLECTION,@INPROCEEDINGS,@MANUAL,@MASTERSTHESIS,
␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣@MISC,@PHDTHESIS,@PROCEEDINGS,@TECHREPORT,@UNPUBLISHED,
␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣AUTHOR,TITLE,PUBLISHER,YEAR,NOTE,JOURNAL,VOLUME,PAGES,NUMBER,
␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣MONTH,SERIES,EDITION,HOWPUBLISHED,ADDRESS,ORGANIZATION,
␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣EDITOR,BOOKTITLE,CHAPTER,INSTITUTION},
␣␣␣sensitive=false,
␣␣␣morestring=[b]",
␣␣}
22
Rudiments de programmation
Tests
La commande \ifnum permet de comparer des nombres avec =, < ou >. Voici un exemple :
valeur
du compteur
1
2
3
4
5
\renewcommand{\thechapter}{%
␣␣\ifnum\value{chapter}=1
␣␣␣␣premier%
␣␣\else
␣␣␣␣\Roman{chapter}%
␣␣\fi
}
affichage
du compteur
premier
II
III
IV
V
Pour les dimensions, on dispose de \ifdim.
Macros étoilées
Pour faire des variantes étoilées d’une macro, on utiliser \@ifstar. Par exemple \section pourrait se définir
avec
\makeatletter
\newcommand{\section}{\@ifstar\section@star\section@nostar}
\newcommand{\section@star}[1]{...}
\newcommand{\section@nostar}[2][]{...}
\makeatother
Calculs
On peut faire des calculs avec \numexpr (sur les nombres) et avec \dimexpr (sur les dimensions). La
syntaxe est \number\numexpr...\relax et \the\dimexpr...\relax (\number et \the ne sont pas toujours
nécessaires). Voici un exemple qui répète un symbole un certain nombre de fois. Par exemple, \cloner{*}{5}
donne *****.
\newcommand{\cloner}[2]{%
␣␣\ifnum#2<1
␣␣␣␣%
␣␣\else
␣␣␣␣#1\cloner{#1}{\number\numexpr#2-1\relax}%
␣␣\fi
}
Voici maintenant une commande qui imprime « bla bla » un nombre de fois donné en argument optionnel :
\newcommand{\blabla}[1][25]{Bla\auxblabla[\numexpr#1-1\relax].}
\def\auxblabla[#1]{%
␣␣\ifnum#1<1\else
␣␣␣␣\space␣bla\auxblabla[\numexpr#1-1\relax]%
␣␣\fi
}
Voici pour finir une commande qui calcule la factorielle d’un nombre :
\newcommand{\fact}[1]{%
␣␣\ifnum#1<2
␣␣␣␣1%
␣␣\else
␣␣␣␣\number\numexpr#1*\fact{\numexpr#1-1\relax}\relax
␣␣\fi
}
23
Trouver de l’aide sur LaTeX
Recherche sur google sur le message d’erreur, sur le thème, etc. permet souvent d’obtenir de l’information
pertinente, mais ce n’est pas toujours la façon la plus efficace de faire.
Documents d’apprentissage
–
–
–
–
Une courte (?) introduction à LaTeX (http://ctan.org/pkg/lshort-french)
Framabook LaTeX (http://www.framabook.org/latex.html)
Polycopié du module LM204 (2008-2009) (http://www.math.jussieu.fr/~mpg/lm204/)
Feuilles de TP du module LM204 (2009-2010) (http://www.math.jussieu.fr/~goutet/latex/)
Documents de références
– http://mirror.ctan.org/info/latex2e-help-texinfo/latex2e.pdf : liste de la plupart des commandes disponibles sous LaTeX.
– http://ctan.org/get/info/symbols/comprehensive/symbols-a4.pdf : liste complète des symboles disponible avec LaTeX.
– http://detexify.kirelabs.org/classify.html recherche visuelle des symboles.
– http://ctan.org/get/info/math/voss/mathmode/Mathmode.pdf : document qui propose un certain nombre de solutions à des problèmes courants rencontré dans la mise en forme d’équations.
Documentations des packages
Aller les chercher dans C:\Program␣Files\MiKTeX␣2.9\doc\latex ou, en ligne de commande, utiliser
texdoc␣geometry pour obtenir la documentation de geometry ; sinon, rechercher le nom du package sur
http://ctan.org/search.html#byName.
Forums d’aide
–
–
–
–
http://forum.mathematex.net/latex-f6/
http://www.les-mathematiques.net/phorum/list.php?10
http://www.developpez.net/forums/f149/autres-langages/autres-langages/latex/
http://tex.stackexchange.com/ (en anglais)
Foires aux questions (FAQ)
– http://www.grappa.univ-lille3.fr/FAQ-LaTeX/
– http://www.tex.ac.uk/cgi-bin/texfaq2html (en anglais)
– http://ctan.org/get/info/visualFAQ/visualFAQ.pdf (version visuelle de la FAQ anglaise)
Livres
– Bitouzé & Charpentier, LaTeX, Pearson éducation (27 euros). — Un bon livre d’introduction avec exercices
corrigés.
– LaTeX pour l’impatient, 3e édition, H&K (15 euros). — Un livre concret avec exercices corrigés ; bien faire
attention de prendre la 3e édition qui corrige les erreurs des précédentes éditions.
– LaTeX Companion, Pearson éducation (55 euros) [existe aussi en anglais]. — L’ouvrage de référence décrivant
le fonctionnement de la plupart des packages courants.
Usenet
C’est un endroit fréquenté par beaucoup de spécialistes ; on peut y accéder par les newsgroups ou par google :
– http://groups.google.fr/group/fr.comp.text.tex
– http://groups.google.fr/group/comp.text.tex (en anglais)
Pour faire une recherche, utiliser http://groups.google.fr/advanced_search? et spécifier le groupe (il
arrive que la recherche normale ne donne pas de résultats exploitables).
24
Download