summaryrefslogtreecommitdiff
path: root/help/LaTeX-FAQ-francaise/part4
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /help/LaTeX-FAQ-francaise/part4
Initial commit
Diffstat (limited to 'help/LaTeX-FAQ-francaise/part4')
-rw-r--r--help/LaTeX-FAQ-francaise/part42906
1 files changed, 2906 insertions, 0 deletions
diff --git a/help/LaTeX-FAQ-francaise/part4 b/help/LaTeX-FAQ-francaise/part4
new file mode 100644
index 0000000000..36dd3e146d
--- /dev/null
+++ b/help/LaTeX-FAQ-francaise/part4
@@ -0,0 +1,2906 @@
+Path: tempo.univ-lyon1.fr!univ-lyon1.fr!howland.erols.net!cpk-news-hub1.bbnplanet.com!news.gtei.net!opentransit.net!proxad.net!teaser.fr!fdn.fr!edgard.fdn.fr!not-for-mail
+Date: 08 Jun 2001 13:31:18 +0200
+Newsgroups: fr.comp.text.tex,fr.usenet.reponses
+Subject: [FAQ] fr.comp.text.tex - parties 12 a 15
+Message-ID: <faq-fctt-p420010608133118@edgard.fdn.fr>
+X-Posted-By: poste.sh version 1.1
+From: bayartb@edgard.fdn.fr (Nono le robot)
+Supersedes: <faq-fctt-p420010501143416@edgard.fdn.fr>
+Expires: 08 Jul 2001 13:31:17 +0200
+Followup-To: poster
+Organization: French Data Network
+Approved: bayartb@edgard.fdn.fr
+Lines: 2894
+Xref: tempo.univ-lyon1.fr fr.comp.text.tex:23524 fr.usenet.reponses:20390
+
+Archive-name: fr/faq-latex-francaise/part4
+
+Author: Marie-Paule Kluth
+Posting-Frequency: mensuel (monthly)
+Version: 2.27
+
+================================================================
+ Cette FAQ, rédigée initialement par MP Kluth est maintenant
+ tenue à jour autant que possible par B. Bayart et
+ plusieurs volontaires (voir question [30]).
+================================================================
+
+================================================================
+[12] MATHÉMATIQUES
+================================================================
+
+# 12.1 # Comment passer en mode mathématique ?
+----------------------------------------------
+* Pour les mathématiques en ligne, il faut utiliser :
+$ et $ ou
+\( et \) ou
+\begin{math} et \end{math}
+
+Exemple :
+Résoudre l'équation~:
+$ 3 + 4 x = 0 $
+%%%% fin exemple %%%%
+
+* Pour les formules isolées, il faut utiliser les modes :
+ $$ et $$ ou
+ \[ et \] ou
+ \begin{displaymath} et \end{displaymath}.
+
+Exemple :
+Résoudre l'équation~:
+$$
+3 + 4 x = 0
+$$
+%%%% fin exemple %%%%
+
+* Avec l'environnement \displaystyle, on peut quand même avoir
+une formule de style isolée dans le texte mais cela modifie
+localement les interlignes.
+
+Exemple :
+Texte texte texte texte texte texte texte texte texte texte
+texte texte texte texte texte texte texte texte texte texte
+texte texte texte texte texte texte texte texte texte texte
+$\displaystyle \sum_{i=0}^n u_i $ texte texte texte texte
+texte texte texte texte texte texte texte texte texte texte
+%%%% fin exemple %%%%
+
+* De même, on peut utiliser $\sum\limits{i=0}^n u_i$.
+
+* Pour écrire des mathématiques sous LaTeX2e, les packages
+'amsmath', disponible sur ftp://ftp.fdn.org/pub/CTAN/fonts/ams/amslatex/, et
+'amssymb' sont incontournables. En LaTeX2.09, on peut utiliser
+'amstex', disponible sur ftp://ftp.fdn.org/pub/CTAN/macros/amstex/, 'amsby' et
+'amsopn' mais il faut savoir que amstex est obsolète.
+
+ATTENTION : en mode mathématique, la gestion des espaces et des
+ retours à la ligne est entièrement prise en charge
+ par LaTeX (cf. question 12.33). En outre, les lignes
+ vides ne sont pas autorisées.
+
+# 12.2 # Qu'est que AMS-LaTeX ?
+-------------------------------
+AMS-TeX est un terme utilisé pour désigner un ensemble de
+fichiers distribués par l'American Mathematical Society (AMS).
+AMS-LaTeX s'appuie sur TeX et LaTeX2e. AMS-LaTeX est
+principalement dû a F. Mittelbach et R. Schopf. C'est un outil
+complémentaire à LaTeX pour écrire des mathématiques (il devient
+d'ailleurs rapidement indispensable).
+
+Il existe une FAQ disponible sur
+ftp://ftp.fdn.org/pub/CTAN//macros/latex/packages/amslatex/math/amslatex.faq.
+
+Les packages proposés sont 'amsmath' (complet), 'amstext' (pour
+écrire du texte en mode mathématique), 'amsbsy' (pour les
+symboles gras), 'amsopn' (pour la déclaration d'opérateurs),
+'amsthm' (pour les environnements proof et theorem), 'amsintx'
+(pour étendre la syntaxe des sommes et intégrales), 'amscd'
+(pour les diagrammes commutatifs), 'amsxtra' et 'upref' (pour
+les références croisées).
+
+Ces packages sont disponibles par ftp sur
+ftp://e-math.ams.org/pub/tex/amslatex/. Il faut également
+récupérer les fontes associées dans
+ftp://e-math.ams.org/pub/tex/amsfonts/,
+ftp://e-math.ams.org/pub/tex/amsltx11/ et
+ftp://e-math.ams.org/pub/tex/amstex/. Sur CTAN, les
+répertoires correspondants sont
+ftp://ftp.fdn.org/pub/CTAN/macros/latex/packages/amslatex/, ftp://ftp.fdn.org/pub/CTAN/fonts/amsfonts/,
+ftp://ftp.fdn.org/pub/CTAN/macros/latex209/contrib/amslatex/ et
+ftp://ftp.fdn.org/pub/CTAN/macros/amstex/. Il existe également le site WEB
+http://www.ams.org/tex.
+
+# 12.3 # Comment écrire les symboles d'ensembles ?
+--------------------------------------------------
+Un peu d'histoire (T. Bouche) : au temps jadis, dans les livres,
+les symboles d'ensemble étaient imprimés en gras pour qu'on les
+voie bien. Problème, comment, lorsque l'on écrit sur un tableau
+noir, maintenir ce type de distinction ? En fait, au lieu
+d'écraser la craie avec force sur le tableau pour élargir un
+trait, on a décidé de le doubler. Ce qui est comique, c'est
+qu'en retour, les livres se sont mis à copier l'usage des profs,
+et ont distingué le "gras" (bold), du "gras de tableau" qui est
+une fonte à part (dessin normal à barre redoublée).
+
+* Les symboles mathématiques d'ensemble et bien d'autres sont
+disponibles par défaut dans les fontes AMS : famille msam
+(e.g., msam10 pour 10pt) et msbm. Ces fontes sont disponibles
+par ftp anonyme sur ftp://e-math.ams.org/pub/tex/amsfonts/ ou sur
+ftp://ftp.fdn.org/pub/CTAN/fonts/ams/amsfonts/sources/symbols/. Pour avoir accès
+aux symboles, il faut alors utiliser les packages 'amsfonts' et
+'amssymb'.
+
+Exemple :
+soit on définit une commande spéciale (dans le préambule):
+ \newcommand{\R}{\mathbb{R}}
+
+et on utilise :
+
+ $\R$
+
+soit on tape directement :
+
+ $\mathbb{R}$ (LaTeX2e) ou
+
+ ${\Bbb R}$ (LaTeX2.09)
+%%%% fin exemple %%%%
+
+* Si vous ne disposez pas des packages ams vous pouvez au grand
+dam de certains puristes utiliser les commandes :
++ pour les naturels :
+ \def\N{\mbox{I\hspace{-.15em}N}}
++ pour les entiers :
+ \def\Z{\mbox{Z\hspace{-.3em}Z}}
++ pour les reels :
+ \def\R\mbox{I\hspace{-.15em}R}}
++ pour les complexes :
+ \def\C{\mbox{l\hspace{-.47em}C}}
++ ...
+
+Il faut savoir dans ce cas que leur utilisation est limitée :
+pas de mise en indice, exposant, etc.
+
+* C. Fiorio (fiorio@math.tu-berlin.de) propose également un
+certain nombre de macros (LaTeX2e) :
+
+%%%% debut macro %%%%
+%
+%% Les ensembles de nombres
+%
+\def\nbR{\ensuremath{\mathrm{I\!R}}} % IR
+\def\nbN{\ensuremath{\mathrm{I\!N}}} % IN
+\def\nbF{\ensuremath{\mathrm{I\!F}}} % IF
+\def\nbH{\ensuremath{\mathrm{I\!H}}} % IH
+\def\nbK{\ensuremath{\mathrm{I\!K}}} % IK
+\def\nbL{\ensuremath{\mathrm{I\!L}}} % IL
+\def\nbM{\ensuremath{\mathrm{I\!M}}} % IM
+\def\nbP{\ensuremath{\mathrm{I\!P}}} % IP
+%
+% \nbOne : 1I : symbol one
+\def\nbOne{{\mathchoice {\rm 1\mskip-4mu l} {\rm 1\mskip-4mu l}
+{\rm 1\mskip-4.5mu l} {\rm 1\mskip-5mu l}}}
+%
+% \nbC : Nombres Complexes
+\def\nbC{{\mathchoice {\setbox0=\hbox{$\displaystyle\rm C$}%
+\hbox{\hbox to0pt{\kern0.4\wd0\vrule height0.9\ht0\hss}\box0}}
+{\setbox0=\hbox{$\textstyle\rm C$}\hbox{\hbox
+to0pt{\kern0.4\wd0\vrule height0.9\ht0\hss}\box0}}
+{\setbox0=\hbox{$\scriptstyle\rm C$}\hbox{\hbox
+to0pt{\kern0.4\wd0\vrule height0.9\ht0\hss}\box0}}
+{\setbox0=\hbox{$\scriptscriptstyle\rm C$}\hbox{\hbox
+to0pt{\kern0.4\wd0\vrule height0.9\ht0\hss}\box0}}}}
+%
+% \nbQ : Nombres Rationnels Q
+\def\nbQ{{\mathchoice {\setbox0=\hbox{$\displaystyle\rm
+Q$}\hbox{\raise
+0.15\ht0\hbox to0pt{\kern0.4\wd0\vrule height0.8\ht0\hss}\box0}}
+{\setbox0=\hbox{$\textstyle\rm Q$}\hbox{\raise
+0.15\ht0\hbox to0pt{\kern0.4\wd0\vrule height0.8\ht0\hss}\box0}}
+{\setbox0=\hbox{$\scriptstyle\rm Q$}\hbox{\raise
+0.15\ht0\hbox to0pt{\kern0.4\wd0\vrule height0.7\ht0\hss}\box0}}
+{\setbox0=\hbox{$\scriptscriptstyle\rm Q$}\hbox{\raise
+0.15\ht0\hbox to0pt{\kern0.4\wd0\vrule height0.7\ht0\hss}\box0}}}}
+%
+% \nbT : T
+\def\nbT{{\mathchoice {\setbox0=\hbox{$\displaystyle\rm
+T$}\hbox{\hbox to0pt{\kern0.3\wd0\vrule height0.9\ht0\hss}\box0}}
+{\setbox0=\hbox{$\textstyle\rm T$}\hbox{\hbox
+to0pt{\kern0.3\wd0\vrule height0.9\ht0\hss}\box0}}
+{\setbox0=\hbox{$\scriptstyle\rm T$}\hbox{\hbox
+to0pt{\kern0.3\wd0\vrule height0.9\ht0\hss}\box0}}
+{\setbox0=\hbox{$\scriptscriptstyle\rm T$}\hbox{\hbox
+to0pt{\kern0.3\wd0\vrule height0.9\ht0\hss}\box0}}}}
+%
+% \nbS : S
+\def\nbS{{\mathchoice
+{\setbox0=\hbox{$\displaystyle \rm S$}\hbox{\raise0.5\ht0%
+\hbox to0pt{\kern0.35\wd0\vrule height0.45\ht0\hss}\hbox
+to0pt{\kern0.55\wd0\vrule height0.5\ht0\hss}\box0}}
+{\setbox0=\hbox{$\textstyle \rm S$}\hbox{\raise0.5\ht0%
+\hbox to0pt{\kern0.35\wd0\vrule height0.45\ht0\hss}\hbox
+to0pt{\kern0.55\wd0\vrule height0.5\ht0\hss}\box0}}
+{\setbox0=\hbox{$\scriptstyle \rm S$}\hbox{\raise0.5\ht0%
+\hboxto0pt{\kern0.35\wd0\vrule height0.45\ht0\hss}\raise0.05\ht0%
+\hbox to0pt{\kern0.5\wd0\vrule height0.45\ht0\hss}\box0}}
+{\setbox0=\hbox{$\scriptscriptstyle\rm S$}\hbox{\raise0.5\ht0%
+\hboxto0pt{\kern0.4\wd0\vrule height0.45\ht0\hss}\raise0.05\ht0%
+\hbox to0pt{\kern0.55\wd0\vrule height0.45\ht0\hss}\box0}}}}
+%
+% \nbZ : Entiers Relatifs Z
+\def\nbZ{{\mathchoice {\hbox{$\sf\textstyle Z\kern-0.4em Z$}}
+{\hbox{$\sf\textstyle Z\kern-0.4em Z$}}
+{\hbox{$\sf\scriptstyle Z\kern-0.3em Z$}}
+{\hbox{$\sf\scriptscriptstyle Z\kern-0.2em Z$}}}}
+%%%% fin macro %%%%
+
+Exemple :
+$ \nbN $ pour les entiers naturels
+%%%% fin exemple %%%%
+
+* Autres alternatives :
+en metafont:
++ les fontes 'bbold' d'A. Jeffrey (une sorte de Futura vraiment
+doublé par endroit, pas détouré - mais du coup pas du tout du
+même style que les autres lettres du mode mathématique)
+
+Exemple :
+\font\bbold=bbold12
+\newcommand{\R}{\mbox{\bbold R}}
+%%%% fin exemple %%%%
+
+en postscript (produits commerciaux)
++ dextor outline
++ Mathematical Pi (une sorte d'helvetica doublé par endroit)
+
+* Le package 'bbm' disponible sur ftp://ftp.fdn.org/pub/CTAN/fonts/cm/bbm/
+propose certaines variantes pour les fontes Computer Modern.
+
+# 12.4 # Comment numéroter les équations ?
+------------------------------------------
+* Sous LaTeX2e, les options de classe leqno et fleqn permettent
+d'indiquer si les numéros d'équations doivent apparaître à
+droite ou à gauche des équations.
+
+Exemple, pour que les numéros apparaîssent à gauche :
+\documentclass[leqno]{report}
+\begin{document}
+\begin{eqnarray}
+ x + 4 & = & 0 \\
+ 8 - y & = & 0
+\end{eqnarray}
+%%%% fin exemple %%%%
+
+* Pour supprimer la numérotation des équations, il suffit
+d'ajouter le caractère * aux noms des environnements d'équation.
+
+Exemple :
+\begin{eqnarray*}
+ x + 4 & = & 0 \\
+ 8 - y & = & 0
+\end{eqnarray*}
+%%%% fin exemple %%%%
+
+* Pour supprimer la numérotation d'une ligne particulière dans
+un groupe d'équations, il suffit d'utiliser la commande
+\nonumber (avant les \\). Avec amsmath, il faut utiliser \notag.
+
+* Pour réinitialiser le compteur d'équations dans chaque
+section, il faut inclure :
+%%%% debut macro %%%%
+\makeatletter
+\renewcommand\theequation{\thesection.\arabic{equation}}
+\@addtoreset{equation}{section}
+\makeatother
+%%%% fin macro %%%%
+dans le préambule.
+
+Remarque : dans ce cas, il ne faut pas mettre d'équation dans un
+ chapitre avant la première section sous peine d'avoir
+ un numéro du style 3.0.1.
+
+* Pour modifier le style de numérotation, il faut modifier la
+commande \theequation.
+
+Exemple 1 :
+\documentclass{report}
+\usepackage{french}
+\pagestyle{empty}
+\renewcommand{\theequation}{\thesection \Alph{equation}}
+\begin{document}
+\chapter{Systèmes d'équations.}
+ \section{À une variable.}
+ \begin{eqnarray}
+ x + 4 & = & 0 \\
+ x & = & 3
+ \end{eqnarray}
+ \section{À deux variables.}
+ \begin{eqnarray}
+ x + 4 & = & 0 \\
+ 8 - y & = & 0
+ \end{eqnarray}
+\end{document}
+%%%% fin exemple %%%%
+
+Exemple 2 (pour avoir les numéros entre crochets) :
+\makeatletter
+\renewcommand{\@eqnnum}{{\normalfont\normalcolor\theequation}}
+\renewcommand{\theequation}{[\arabic{equation}]}
+\makeatother
+
+\begin{document}
+ \begin{eqnarray}
+ x + 4 & = & 0 \\
+ y - 2 & = & 0
+ \end{eqnarray}
+%%%% fin exemple %%%%
+
+* Avec le package 'amsmath', disponible sur
+ftp://ftp.fdn.org/pub/CTAN/fonts/ams/amslatex/, la commande \numberwithin permet de
+numéroter les équations suivant le paragraphe auquel elles
+appartiennent. Il faut alors appeler :
+\numberwithin{equation}{section} dans le préambule.
+
+* Les packages 'seceqn' et 'apeqnum' disponibles sur CTAN
+permettent pour le premier de numéroter les équations par
+section et pour le second de numéroter individuellement les
+équations dans les annexes.
+
+* Le package 'deleq' disponible sur
+ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/ ou sur
+ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/other/deleq/ permet de définir un label
+par groupe d'équations (4) en plus des labels individuels de
+type (4a), (4b), etc.
+
+* La commande \tag{xxx} du package 'amsmath' sous LaTeX2e permet
+de personnaliser la numérotation des équations.
+
+Exemple : pour permettre à deux équations d'avoir le même
+numéro :
+\begin{equation}
+ x - y = 0
+ \label{equa}
+\end{equation}
+...
+\begin{equation}
+ x = y
+ \tag{\eqref{equa}}
+\end{equation}
+%%%% fin exemple %%%%
+
+Remarque : \eqref remplace \ref pour les équations : la fonte
+ utilisée est toujours la même (c'est plus beau).
+
+* Les environnements subequations (du package 'amsmath') et
+subeqnarray (du package 'subeqnarray') permettent de référencer
+différentes lignes d'un même groupe d'équations par des indices
+(3.a), (3.b), etc.
++ Sous subequations, une référence à une ligne particulière
+s'obtient alors par un \label placé sur cette ligne alors qu'une
+référence au système d'équation s'obtient par un \label placé
+immédiatement après \begin{subequations}.
+
+Exemple :
+\begin{subequations} \label{E:gp}
+ \begin{gather}
+ x_1 x_2 + x_1^2 x_2^2 + x_3 \label{E:gp1} \\
+ x_1 x_3 + x_1^2 x_3^2 + x_2 \label{E:gp2} \\
+ x_1 x_2 x_3 \label{E:gp3}
+ \end{gather}
+\end{subequations}
+
+[...]
+
+Voir le système~\ref{E-gp} et en particulier
+l'équation~\ref{E-gp2}.
+%%%% fin exemple %%%%
+
+Remarque : c'est le \\ qui incrémente le compteur des
+ sous-références.
+
++ Sous subeqnarray une référence à une ligne particulière se
+fait alors par \slabel au lieu de \label.
+
+# 12.5 # Comment aligner des équations ?
+----------------------------------------
+* Pour aligner des équations sur un signe de relation, il suffit
+sous LaTeX d'appeler l'environnement eqnarray avec ou sans la
+commande \lefteqn ou si l'on dispose du package
+'amsmath', disponible sur ftp://ftp.fdn.org/pub/CTAN/fonts/ams/amslatex/,
+d'utiliser un des environnements split, multline, align ou
+flalign.
+
+Exemples :
+
+\begin{align}
+ f(x) & = & x^2 + 8x + 16 \\
+ & = & (x+4)^2
+\end{align}
+
+\begin{eqnarray}
+ \lefteqn{x + 3y - 6z} \\
+ & = & -4a + 5b -7b \\
+ & = & -4a - 2b
+\end{eqnarray}
+
+\begin{align}
+ \begin{split}
+ A &= B + C + D + E + F + G \\
+ &\quad + H + I
+ \end{split} \\
+ F &= G + H
+\end{align}
+%%%% fin exemple %%%%
+
+ * L'environnement equationarray du package 'eqnarray' associe
+ les avantages des environnements eqnarray et array. Il n'est
+ pas limité en nombre de colonnes.
+
+* Pour produire le système d'équations suivant :
+ x = y + z
+ x1 = y1 + z1
+on peut utiliser l'environnement alignat du package 'amsmath'.
+Toutefois, il faut noter que cet environnement est alors
+détourné de son utilisation normale. En effet, ce dernier est
+prévu pour aligner des objets différents sur des colonnes
+alternativement justifiées à droite puis à gauche. L'utilisation
+de colonnes vides permet alors de choisir la justification
+voulue. D'autre part l'utilisation de {} permet d'obtenir des
+espacements "normaux".
+
+Exemple :
+\begin{alignat}{2}
+ x & = y &&+ z\\
+ x_1 & = y_1 &&+ z_1
+\end{alignat}
+
+\begin{alignat}{5}
+ 10a& ={}& 3x&& 3y& +{}& 18z&& 2w&\\
+ 6a& ={}& 17x&& & +{}& 5z&& 19w&
+\end{alignat}
+%%%% fin exemple %%%%
+
+* Le package 'mathenv' disponible sur CTAN propose un éventail
+d'environnements mathématiques pour aligner des entités en
+colonne.
+
+# 12.6 # Comment générer des vecteurs ?
+---------------------------------------
+* Il suffit d'utiliser le package 'amsmath', disponible sur
+ftp://ftp.fdn.org/pub/CTAN/fonts/ams/amslatex/, et d'appeler la commande
+\overrightarrow.
+
+Exemple :
+Le vecteur $\overrightarrow{u}$
+%%%% fin exemple %%%%
+
+* On peut également définir ses propres flèches notamment pour
+régler leur hauteur par rapport aux lettres qu'elles surmontent.
+La solution présentée ci-dessous utilise les packages 'amsmath',
+'amssymb' et 'xy' :
+%%%% debut macro %%%%
+\newcommand{\xyflecheverladroite}
+{\mbox{\xymatrix{*{\hphantom{OM}}\ar[]+L;[]+R}}}
+
+\newcommand{\ra}[1]
+{\mathchoice
+{\overset{\mbox{\xymatrix{*{\hphantom{\displaystyle #1}}
+\ar[]+L;[]+R}}}{\displaystyle #1}}%
+{\overset{\mbox{\xymatrix{*{\hphantom{\textstyle #1}}
+\ar[]+L;[]+R}}}{\textstyle #1}}%
+{\overset{\mbox{\xymatrix{*{\hphantom{\scriptstyle #1}}
+\ar[]+L;[]+R}}}{\scriptstyle #1}}%
+{\overset{\mbox{\xymatrix{*{\hphantom{\scriptscriptstyle #1}}
+\ar[]+L;[]+R}}}{\scriptscriptstyle #1}}% }
+
+%Pour changer la distance de la flèche, on peut procéder ainsi.
+%\renewcommand{\ra}[1]
+%{\overset{\raisebox{-1pt}{\mbox{\xymatrix{*{\hphantom{#1}}
+%\ar[]+L;[]+R}}}}{#1}}
+%%%% fin macro %%%%
+
+Exemples :
+$$ \ra{OM} $$
+$\ra{OM}$
+$\ra{OM_i}$
+$$ \ra{OM} _{\ra{OM}_{\ra{OM}}}$$
+%%%% fin exemple %%%%
+
+* Le package 'vector', de N. Efford, est disponible sur
+ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/vector/. Il offre notamment
+un certain nombre de vecteurs utiles aux physiciens et des
+commandes automatiques d'énumération des coordonnées.
+
+Exemple :
+$(\irvec[4]x)$
+
+$\bvec{y} = \left[ \cvec{y}{0}{3} \right]$
+%%%% fin exemple %%%%
+
+* Le package 'easyvector' disponible sur
+ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/easy/ permet de définir des
+vecteurs suivant une syntaxe de type C.
+
+# 12.7 # Comment écrire du texte en mode mathématique ?
+-------------------------------------------------------
+* La commande \text{xxx} du package 'amsmath', disponible sur
+ftp://ftp.fdn.org/pub/CTAN/fonts/ams/amslatex/, permet d'inclure du texte dans
+une formule mathématique sans que les accents et les espacements
+mathématiques ne soient nécessaires.
+
+* La commande \textrm{xxx} du package 'amsmath' (ou amstext)
+permet en outre de prendre en compte la taille de la fonte
+courante.
+
+Exemple :
+La fonction~: $ f_{\textrm{tracage}} $ sert au tracé de
+courbes.
+%%%% fin exemple %%%%
+
+* Il est également possible d'utiliser la commande \mbox.
+
+Remarque : aucune de ces commandes ne gère les retours à la
+ ligne en fin de ligne.
+
+# 12.8 # Comment ajuster la taille de délimiteurs ?
+---------------------------------------------------
+* Pour ajuster la taille de délimiteurs tels que les
+parenthèses, les accolades, etc, il suffit d'utiliser les
+commandes \left et \right.
+
+Remarque : si l'on veut utiliser un seul délimiteur (sans son
+ symétrique) il faut utiliser \right. en fermeture.
+
+Exemples :
+$\left( \frac{1}{2} \right)$
+
+$\left \{ \mathrm{et} \right \}$
+
+Résoudre le système~:
+\[
+\left \{
+\begin{array}{ccc}
+ x + y & = & 0 \\
+ x - y & = & 0
+\end{array}
+\right.
+\]
+%%%% fin exemple %%%%
+
+Remarque : Pour changer la taille des délimiteurs de façon
+ relative à la taille des données qu'ils encadrent,
+ c'est le paramètre \delimitershortfall qui est
+ utilisé. Lorsqu'il vaut 0pt, les délimiteurs qu'il
+ contrôle sont au plus aussi grands que le contenu
+ qu'ils encadrent ; pour que les délimiteurs puissent
+ être plus grands que leur contenu, il faut donner une
+ valeur négative à \delimitershortfall.
+
+* Pour imposer son propre choix de taille de délimiteurs
+notamment pour des délimiteurs imbriqués, il existe les
+commandes \big, \Big, \bigg et \Bigg.
+
+Exemples :
+$\Big( (x+1) (x-1) \Big) ^{2}$
+
+$\big\{\Big\{\bigg\{\Bigg\{$
+%%%% fin exemple %%%%
+
+# 12.9 # Comment changer de fonte en mode mathématique ?
+--------------------------------------------------------
+* Il faut utiliser les packages 'amsmath' ou 'amssymb' puis :
++ pour du gothique
+\frak{Texte} en LaTeX2.09
+\mathfrak{Texte} en LaTeX2e
+
++ pour du caligraphique gras :
+\boldsymbol{\mathcal{TEXTE}}
+on peut aussi générer tout l'alphabet correspondant :
+\DeclareSymbolFont{boldsymbols}{OMS}{cmsy}{b}{n}
+\DeclareSymbolFontAlphabet{\mathbfcal}{boldsymbols}
+puis utiliser la commande \mathbfcal
+
+Remarque : La commande \mathcal ne marche qu'avec des
+ majuscules.
+
++ pour du gras italique :
+\DeclareMathAlphabet\mbi{OML}{cmm}{b}{it}
+ou
+\DeclareSymbolFont{mathbold}{OML}{cmm}{b}{it}
+\DeclareMathSymbol{\biGamma}{\mathord}{mathbold}{0}
+
++ pour des symboles en gras :
+\boldsymbol{\alpha}
+ou
+\DeclareSymbolFont{mathbold}{OML}{cmm}{b}{it}
+\DeclareMathSymbol{\balpha}{\mathord}{mathbold}{11}
+
+Remarque : si cela ne marche pas, c'est que les caractères gras
+ correspondants n'existent pas. Il faut alors soit
+ utiliser la commande \pmb{...} soit utiliser un
+ package supplémentaire tel que 'amsbsy'. Il existe
+ par ailleurs des versions postscript de fontes AMS
+ disponibles sur CTAN.
+
+* Sous LaTeX2e, il existe un certain nombre de commandes de
+changement de fonte. Il s'agit de :
++ mathcal pour du calligraphique (argument en majuscule),
++ mathrm pour du roman,
++ mathbf pour du gras,
++ mathsf pour du sans serif,
++ mathtt pour du typewriter (machine à écrire),
++ mathnormal pour revenir à la fonte par défaut,
++ mathit pour de l'italique.
+
+* Pour écrire toute une formule en gras, on peut aussi utiliser
+la commande \mathversion{xxx} de LaTeX2e. xxx peut valoir bold
+ou normal.
+
+Exemple :
+Une formule importante~:
+\mathversion{bold}
+$$\sum_{i=0}^n u_i + v_i$$
+
+Une formule moins importante~:
+\mathversion{normal}
+$$\sum_{i=0}^n v_i$$
+%%%% fin exemple %%%%
+
+* Le package 'bm' disponible sur
+ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/bm/ permet de bien gérer les
+symboles mathématiques en gras.
+
+# 12.10 # Comment obtenir le L de la transformée de Laplace ?
+-------------------------------------------------------------
+Pour obtenir le L de la transformée de Laplace, il faut
+utiliser le package 'mathrsfs' puis la commande
+\renewcommand{\L}{\mathscr{L}}.
+
+Remarque : ce package fait appel à des fontes particulières
+ qu'il faut également installer.
+
+# 12.11 # Comment réaliser un tableau en mode mathématique ?
+------------------------------------------------------------
+
+Il faut utiliser l'environnement array.
+
+Exemple :
+Résultats~:
+\[
+\begin{array}{|c @=c|}
+ \hline
+ \alpha + \beta & 12 \\
+ \hline
+ \sqrt{\gamma} & 36 \\
+ \hline
+\end{array}
+\]
+%%%% fin exemple %%%%
+
+# 12.12 # Comment obtenir d'autres symboles mathématiques ?
+-----------------------------------------------------------
+* LaTeX propose un grand nombre de commandes de symboles.
+
++ pour les opérateurs binaires :
+ \pm \cap \diamond \oplus
+ \mp \cup \bigtriangleup \ominus
+ \times \uplus \bigtriangledown \otimes
+ \div \sqcap \triangleleft \oslash
+ \ast \sqcup \triangleright \odot
+ \star \vee \wedge \bigcirc
+ \dagger \setminus \amalg \circ
+ \ddagger \cdot \wr \bullet
+ \lhd \rhd \unlhd \unrhd
+
++ pour les opérateurs de relation :
+ \leq \geq \equiv \models
+ \prec \succ \sim \perp
+ \preceq \succeq \simeq \mid
+ \ll \gg \asymp \parallel
+ \subset \supset \approx \bowtie
+ \subseteq \supseteq \cong \Join
+ \sqsubset \sqsupset \neq \smile
+ \sqsubseteq \sqsupseteq \doteq \frown
+ \in \ni \propto
+ \vdash \dashv
+
++ pour les opérateurs fléchés :
+ \leftarrow \longleftarrow \uparrow
+ \Leftarrow \Longleftarrow \Uparrow
+ \rightarrow \longrightarrow \downarrow
+ \Rightarrow \Longrightarrow \Downarrow
+ \leftrightarrow \longleftrightarrow \updownarrow
+ \Leftrightarrow \Longleftrightarrow \Updownarrow
+ \mapsto \longmapsto \nearrow
+ \hookleftarrow \hookrightarrow \searrow
+ \leftharpoonup \rightharpoonup \swarrow
+ \leftharpoondown \rightharpoondown \nwarrow
+ \rightleftharpoons \leadsto
+
++ autres opérateurs :
+ \sum \bigcap \bigodot
+ \prod \bigcup \bigotimes
+ \coprod \bigsqcup \bigoplus
+ \int \bigvee \biguplus
+ \oint \bigwedge
+
++ autres symboles :
+ \aleph \prime \forall \infty
+ \hbar \emptyset \exists \Box
+ \imath \nabla \neg \Diamond
+ \jmath \surd \flat \triangle
+ \ell \top \natural \clubsuit
+ \wp \bot \sharp \diamondsuit
+ \Re \| \backslash \heartsuit
+ \Im \angle \partial \spadesuit
+ \mho
+
+* Des symboles mathématiques supplémentaires (en plus de ceux
+offerts par amsmath) sont disponibles dans les packages
+'stmaryrd' disponible sur ftp://ftp.fdn.org/pub/CTAN/fonts/stmaryrd/, et
+'yhmath' également disponible sur
+ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/yhmath/.
+
+# 12.13 # Comment définir une fonction ?
+----------------------------------------
+* Il existe un certain nombre de fonctions définies par défaut.
+Il s'agit des fonctions :
+ \arccos \cos \csc \exp \ker \limsup \min \sinh
+ \arcsin \cosh \deg \gcd \lg \ln \Pr \sup
+ \arctan \cot \det \hom \lim \log \sec \tan
+ \arg \coth \dim \inf \liminf \max \sin \tanh
+
+* On peut utiliser la commande \mathop :
+\newcommand{\fonction}{\mathop{fonction}}
+Si on utilise en plus la commande \nolimits, on peut déterminer
+la gestion des indices et exposants de cette fonction.
+
+Exemple :
+\newcommand{\rad}{\mathop{\mathrm{rad}}}
+\newcommand{\radn}{\mathop{\mathrm{rad}}\nolimits}
+
+\begin{document}
+\[
+\alpha \rad_{t \rightarrow \infty} = 0
+\]
+
+\[
+\alpha \radn_{t \rightarrow \infty} = 0
+\]
+\newcommand{\rad}{\mathop{\mathrm{rad}}}
+\newcommand{\radn}{\mathop{\mathrm{rad}}\nolimits}
+
+\begin{document}
+\[
+\alpha \rad_{t \rightarrow \infty} = 0
+\]
+
+\[
+\alpha \radn_{t \rightarrow \infty} = 0
+\]
+\end{document}
+%%%% fin exemple %%%%
+
+* Sous LaTeX2e, le package 'amsopn' est disponible sur
+ftp://ftp.fdn.org/pub/CTAN/fonts/ams/amslatex/ et par ftp sur
+ftp://e-math.ams.org/pub/tex/amslatex/inputs/. Il permet
+de déclarer de nouvelles fonctions qui seront gérées comme une
+fonction mathématique (gestion de la fonte, disposition des
+indices et exposants, etc). Pour cela il faut déclarer une
+commande du type : \DeclareMathOperator{\fonction}{fonction} dans
+le préambule du document. Pour que les indices et exposants de la
+nouvelle fonction puissent être géres comme ceux de la fonction
+\sum , il faut alors plutot utiliser \DeclareMathOperator*.
+
+* De même, le package 'amstex' (LaTeX2.09) définit les commandes
+\operatorname et \operatornamewithlimits.
+
+Exemple :
+$\operatorname{rad}$
+%%%% fin exemple %%%%
+
+# 12.14 # Comment définir une matrice ?
+---------------------------------------
+* Il suffit de construire un tableau sans lignes avec
+l'environnement array.
+
+Exemple :
+\[
+\begin{array}{ccc}
+ x_{11} & \cdots & x_{1p} \\
+ \vdots & \ddots & \vdots \\
+ x_{n1} & \cdots & x_{np}
+\end{array}
+\]
+%%%% fin exemple %%%%
+
+Pour encadrer cette matrice avec des délimiteurs, cf.
+paragraphe 12.8.
+
+* Le package 'amsmath',disponible sur
+ftp://ftp.fdn.org/pub/CTAN/fonts/ams/amslatex/, permet de définir une matrice de manière
+plus rapide qu'avec l'environnement array. Les environnements
+disponibles sont :
++ matrix,
++ pmatrix pour une matrice encadrée par des parenthèses,
++ bmatrix pour une matrice encadrée par des crochets,
++ vmatrix pour une matrice encadrée par des lignes verticales,
++ Vmatrix pour une matrice encadrée par des doubles lignes
+verticales.
+
+Exemple :
+\[
+\begin{pmatrix}
+ a & b \\
+ c & d
+\end{pmatrix}
+\]
+%%%% fin exemple %%%%
+
+* Le package 'easybmat' disponible sur
+ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/easy/ permet facilement d'écrire
+des matrices par bloc.
+
+* Le package 'easymat' disponible sur
+ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/easy/ facilite également
+l'écriture de matrices.
+
+# 12.15 # Comment encadrer des formules ?
+-----------------------------------------
+* Le package 'amsmath', disponible sur
+ftp://ftp.fdn.org/pub/CTAN/fonts/ams/amslatex/, offre la commande \boxed.
+
+Exemple :
+$$\boxed{a=b}$$
+%%%% fin exemple %%%%
+
+* Il existe également la commande \fbox.
+
+Remarque : Avec les environnements multi-lignes de AMSTeX (comme
+ multline ou split), il peut être utile de les
+ encapsuler dans un math ou dans un displaymath.
+
+Exemple :
+\begin{equation}
+ \fbox{$
+ \begin{array}{rcl}
+ x + y + z & = & 0 \\
+ 2x + 2y + 2z & = & 0
+ \end{array}
+ $}
+\end{equation}
+%%%% fin exemple %%%%
+
+* Le package 'fancybox' disponible sur
+ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/other/seminar/inputs/ peut également être
+utile.
+
+Exemple :
+\linethickness{3pt}
+\Ovalbox{
+\begin{Beqnarray}
+ds^2&\,=\,& \displaystyle{\frac{\epsilon^{\prime 2}}{L^2}
+\frac{12N}{(N+1)(N+2)}}
+\end{Beqnarray}
+}
+%%%% fin exemple %%%%
+
+* Une dernière solution consiste à mettre la formule dans un
+tableau d'une seule cellule.
+
+# 12.16 # Comment ajuster la longueur d'une flèche par rapport à un texte ?
+---------------------------------------------------------------------------
+Le package 'amsmath',disponible sur
+ftp://ftp.fdn.org/pub/CTAN/fonts/ams/amslatex/, permet de générer des flèches dont la
+longueur dépend de la longueur du texte qui est placé au dessus
+ou en dessous (ou de la chaîne la plus longue lorsqu'il y a à la
+fois un texte au dessus et un autre en dessous).
+
+Exemple :
+$\xrightarrow[\text{au dessus}]{\text{en dessous}}$
+%%%% fin exemple %%%%
+
+# 12.17 # Comment obtenir des indices ou exposants à gauche ?
+-------------------------------------------------------------
+* Les commandes \sideset \overset et \underset du
+package 'amsmath' permettent de placer du texte à gauche, en
+haut ou en bas.
+
+Exemple, mettre dans le préambule :
+\newcommand{\transposee}[1]{{\vphantom{#1}}^{\mathit t}{#1}}
+
+puis, dans le corps du document :
+ \[
+\transposee{
+\begin{pmatrix}
+ a & b \\
+ c & d \\
+\end{pmatrix}
+}
+\]
+%%%% fin exemple %%%%
+
+Remarque : on peut également utiliser \sideset qui ne marche
+ que pour les opérateurs :
+ \newcommand{\transposee}[1]{\sideset{^{\mathit{t}}}{}
+ {#1}}
+
+* A défaut, on peut utiliser ${}_{j}H$ ou ${_jH}$
+
+* Le package 'chemsym' disponible sur
+ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/chemsym/ peut également être utile.
+
+# 12.18 # Comment tracer des diagrammes commutatifs ?
+-----------------------------------------------------
+* Xy-pic est un outil simple et puissant qui permet de réaliser
+de tels diagrammes (cf. paragraphe 8.6).
+
+Exemple :
+\documentclass[a4paper,12pt]{article}
+\usepackage[all]{xy}
+\begin{document}
+ \[\xymatrix{
+ A \ar[d] \ar[r] \ar@{=}[rd] & B \ar[d] \\
+ C \ar[r] & D }
+\]
+\end{document}
+%%%% fin exemple %%%%
+
+* On peut également utiliser le package 'amscd' disponible sur
+ftp://ftp.fdn.org/pub/CTAN/macros/latex/packages/amslatex/math/ ou plus
+généralement le package 'amsmath' et l'environnement CD mais
+son offre est plus limitée.
+
+Exemple 1 (amscd) :
+\[
+\begin{CD}
+ \mathcal{F} @>\otimes>> T\\
+ @VdrVlfV @ViVjV\\
+ \mathtt{f} @= t
+\end{CD}
+\]
+
+\[
+\begin{CD}
+d @>>> e @>>> f \\
+@AAA @. @AAA \\
+a @>>> b @>>> c
+\end{CD}
+\]
+%%%% fin exemple %%%%
+
+Exemple 2 (amsmath) :
+\[
+\begin{array}{ccccc}
+d & \longrightarrow & e & \longrightarrow &f \\
+\uparrow &&&& \uparrow \\
+a & \longrightarrow & b &\longrightarrow& c\\
+\end{array}
+\]
+%%%% fin exemple %%%%
+
+Remarque : dans la dernière version de amscd, la syntaxe
+ @>Exp1>Exp2> utilisée pour les flèches extensibles a
+ été abandonnée au profit des commandes \xleftarrow et
+ \xrightarrow.
+
+ Pour plus de détails consultez :
+ + "\amslatex/ Version 1.2\\User's Guide", dans le
+ fichier "amsldoc.tex"
+ + "Differences between \amslatex/ version 1.1 and
+ \amslatex/ version 1.2", dans le fichier "diff12.tex".
+
+* Il existe le package 'cd' écrit pour LaTeX2.09 par D.
+Hankerson. Ce package étend les capacités des fonction
+AMS-TeX. Les longueurs de texte s'ajustent avec la longueur des
+arguments.
+
+Exemple (doc package) :
+\documentstyle[12pt,cd]{article}
+\newcommand{\cdrl}{\cd\rightleftarrows}
+\newcommand{\cdlr}{\cd\leftrightarrows}
+\newcommand{\cdr}{\cd\rightarrow}
+\newcommand{\cdl}{\cd\leftarrow}
+\newcommand{\cdu}{\cd\uparrow}
+\newcommand{\cdd}{\cd\downarrow}
+\newcommand{\cdud}{\cd\updownarrows}
+\newcommand{\cddu}{\cd\downuparrows}
+\begin{document}
+\[\CD
+G \cdrl {\gamma}{\delta} H \cdr {}{\Delta} K \\
+\cd. \cdud {f}{g} \cd| {h}{k} \\
+0 \cdr {}{} G' \cd= {\beta}{} H' \endCD
+\]
+\end{document}
+%%%% fin exemple %%%%
+
+* Le package 'catmac' définit un ensemble de macros pour tracer
+des diagrammes commutatifs. Il propose par défaut un ensemble
+de formes mais permet également via un certain nombre de
+macros prédéfinies de composer ses propres formes.
+
+Exemple :
+\begin{center}
+ \resetparms
+ \square[A`B`C`D;f`g`h`k]
+\end{center}
+%%%% fin exemple %%%%
+
+ATTENTION : ce package n'est pas compatible avec le package
+ french qui rend le ; actif.
+
+# 12.19 # Comment ajuster la taille de certains opérateurs ?
+------------------------------------------------------------
+* Pour ajuster la taille de certains opérateurs, il faut
+utiliser le package 'exscale' disponible sur
+ftp://ftp.fdn.org/pub/CTAN/macros/latex/base/.
+
+* Le package 'amsmath', disponible sur
+ftp://ftp.fdn.org/pub/CTAN/fonts/ams/amslatex/, donne la même possibilité.
+
+# 12.20 # Comment mettre en page des algorithmes ?
+--------------------------------------------------
+* Les packages 'algorithms' et 'algorithmic' disponibles sur
+ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/algorithms/, ont été
+spécifiquement conçus pour mettre en forme des algorithmes.
+
+* Il existe aussi le package 'alg' disponible sur
+ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/other/alg/.
+
+* Le package 'newalg' est également disponible sur
+ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/newalg/. Il propose un
+environnement algorithm qui par défaut utilise le mode
+mathématique et l'environnement array pour les alignements. La
+commande \text est également disponible. Le package gère les
+instructions : if-then-else, for, while, repeat, switch et
+propose un certain nombre de macros telles que call, error,
+algkey, return, nil.
+
+Exemple :
+\begin{algorithm}{StrictSup}{x, y}
+ \begin{IF}{x > y}
+ \RETURN x
+ \ELSE
+ \ERROR{x leq y}
+ \end{IF}
+\end{algorithm}
+%%%% fin exemple %%%%
+
+# 12.21 # Comment mettre en page des formules longues ?
+-------------------------------------------------------
+L. Lamport définit certaines conventions dans sa page WEB :
+http://www.research.digital.com/SRC/personal/Leslie_Lamport/latex/latex.html.
+
+# 12.22 # Comment créer des unités de mesure ?
+----------------------------------------------
+Le problème du mode mathématique est qu'il change
+automatiquement de fonte et qu'il utilise une gestion
+particulière des espaces. Le mieux pour écrire des unités de
+mesures du type m/s sans avoir à taper systématiquement des
+barbarismes du type \rm\,m/s\mit ou \,\textrm{m}/\textrm{s} est
+de définir une commande spéciale dans le préambule du document.
+
+Exemples :
+\newcommand{\units}[2]{#1\textrm{\thinspace #2}}
+cette commande nécessite le package 'amsmath'
+utilisation : \units{10}{m/s}
+
+ou plus rapide :
+\newcommand{\ms}[1]{\units{#1}{m/s}}
+utilisation : \ms{10}
+%%%% fin exemple %%%%
+
+# 12.23 # Comment écrire proprement a/b ?
+-----------------------------------------
+Pour qu'à l'impression le numérateur 'a' soit légèrement décalé
+vers le haut et vers la gauche et que le dénominateur 'b' soit
+légèrement décalé vers le bas et vers la droite, les deux étant
+plus petits que la fonte courante, il existe la commande \sfrac
+du package tugboat disponible sur
+ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/tugboat/.
+
+# 12.24 # Comment créer des notes de bas de page dans une formule mathématique ?
+--------------------------------------------------------------------------------
+* On peut utiliser directement la commande \footnote{} ou les
+commandes spécifiques \footnotemark[] et \footnotetext[]{}
+si l'on veut fixer soit même les compteurs. \footnotemark permet
+de gérer le compteur de notes et \footnotetext permet d'insérer
+le texte correspondant en bas de page.
+
+Exemple :
+\[
+Place_{libre}\footnotemark[1] +
+Place_{occup\acute ee}\footnotemark[2] +
+Place_{d\acute efaillante} =
+Capacit\acute e
+\]
+\footnotetext[1]{La place libre~\ldots}
+\footnotetext[2]{La place occup\' ee~\ldots}
+%%%% fin exemple %%%%
+
+# 12.25 # Comment forcer le style d'un tableau à displaystyle ?
+---------------------------------------------------------------
+Le style par défaut dans un "array" est textstyle. Pour éviter
+d'avoir à écrire \displaystyle dans chaque cellule, on peut
+déclarer un tableau entièrement en mode displaystyle via la
+macro:
+%%%% debut macro %%%%
+\newenvironment{disarray}%
+ {\everymath{\displaystyle\everymath{}}\array}%
+ {\endarray}
+%%%% fin macro %%%%
+
+# 12.26 # Comment réduire les espaces gérés par eqnarray ?
+----------------------------------------------------------
+Il suffit d'inclure la macro suivante dans le préambule de votre
+document :
+
+%%%% debut macro %%%%
+\makeatletter
+\newlength{\earraycolsep}
+\setlength{\earraycolsep}{2pt}
+\def\eqnarray{\stepcounter{equation}\let\@currentlabel%
+\theequation
+\global\@eqnswtrue\m@th
+\global\@eqcnt\z@\tabskip\@centering\let\\\@eqncr
+$$\halign to\displaywidth\bgroup\@eqnsel\hskip\@centering
+$\displaystyle\tabskip\z@{##}$&\global\@eqcnt\@ne
+\hskip 2\earraycolsep \hfil$\displaystyle{##}$\hfil
+&\global\@eqcnt\tw@ \hskip 2\earraycolsep
+$\displaystyle\tabskip\z@{##}$\hfil
+\tabskip\@centering&\llap{##}\tabskip\z@\cr}
+\makeatother
+%%%% fin macro %%%%
+
+# 12.27 # Comment réduire la taille des indices ?
+-------------------------------------------------
+* Il faut utiliser la commande \DeclareMathSizes :
+\DeclareMathSizes{10}{10}{6}{5}
+\DeclareMathSizes{11}{11}{7}{5}
+\DeclareMathSizes{12}{12}{7}{5}
+Ces déclarations permettent de réduire la taille des indices des
+fontes 10pt, 11pt et 12pt.
+
+Exemple :
+\documentclass[12pt]{report}
+\usepackage{french}
+\pagestyle{empty}
+\DeclareMathSizes{12}{12}{7}{5}
+\begin{document}
+La capacité totale est définie par~:
+\[
+C_{libre} + C_{occup\acute ee} = C_{totale}
+\]
+\end{document}
+%%%% fin exemple %%%%
+
+* On peut aussi utiliser les commandes scriptstyle ou
+scriptscriptstyle.
+
+Exemple :
+$\rho_{AB}$
+$\rho_{\scriptstyle AB}$
+$\rho_{\scriptscriptstyle AB}$
+%%%% fin exemple %%%%
+
+* En utilisant les caractères romans, on peut appliquer la
+commande \small.
+
+Exemple :
+$\rho_{\textrm{\small AB}}$
+%%%% fin exemple %%%%
+
+# 12.28 # Comment aligner des indices ?
+---------------------------------------
+La commande \vphantom définit une boîte invisible dont la
+hauteur est celle de son argument.
+
+Exemple :
+\[
+f_{\vphantom{\widehat{ef}} d} = f_{\widehat{ef}} \mathrm{\ au \
+lieu \ de~:} f_d = f_{\widehat{ef}}
+\]
+%%%% fin exemple %%%%
+
+# 12.29 # Comment mettre en page des théorèmes ?
+------------------------------------------------
+* LaTeX offre la commande
+\newtheorem{nom}[compteur]{texte}[section]
+où nom est une clé pour identifier le théorème, et
+texte le titre du théorème qui sera imprimé. compteur permet de
+référencer un autre théorème pour obtenir la même numérotation.
+section permet de préciser le niveau de numérotation voulu.
+
+Exemple :
+dans le préambule :
+\newtheorem{th-imp}{Théorème important}[section]
+\newtheorem{th-u}{Théorème}[subsection]
+
+dans le texte :
+
+\section{Introduction.}
+
+ \begin{th-imp} \label{label-th-AA}
+ BLA BLA
+ \end{th-imp}
+
+ \subsection{Bases.}
+
+ \begin{th-u} \label{label-th-aaa}
+ bla bla bla
+ \end{th-u}
+
+ \begin{th-u}
+ bla ble
+ \end{th-u}
+
+\section{Conclusion}
+
+ Le théorème important~\ref{label-th-AA} est à apprendre par
+ c\oe{}ur, le théorème~\ref{label-th-aaa} peut être utile.
+%%%% fin exemple %%%%
+
+* Il existe pour cela le package 'thmmarks' disponible à
+http://www.informatik.uni-freiburg.de/~may/thmmarks.html.
+
+* Le package 'newthm' disponible sur
+ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/other/newthm/ permet de générer une liste
+des théorèmes apparaissant dans un document.
+
+* Les trois packages suivants permettent de définir son propre style.
+
+ ** Le package 'amsmath', disponible sur ftp://ftp.fdn.org/pub/CTAN//fonts/ams/amslatex/,
+ définit l'environnement proof en insérant un carré.
+ Des exemples de théorèmes se trouvent dans le fichier thmtest.tex
+
+ ** Le package 'theorem', disponible sur CTAN. Voir le fichier
+ theorem.dvi
+
+ ** Il existe également le package 'ntheorem' disponible sur CTAN
+ ou sur
+ http://www.informatik.uni-freiburg.de/~may/Ntheorem/ntheorem.html
+ Il peut générer une liste des théoremes de la même manière que
+ 'listoffigures', est compatible avec amsmath, permet d'ajouter des
+ symboles à la fin d'un théoreme 'carré, q.e.d.), permet la référence
+ à d'autres théoremes. Voir le fichier ntheorem.dvi
+
+** Voici un tableau récapitulatif :
+
+ +------------------------------------+--------+---------+----------+
+ |Package | amsthm | theorem | ntheorem |
+ +------------------------------------+--------+---------+----------+
+ |Retour à la ligne après le titre | x | x | x |
+ +------------------------------------+--------+---------+----------+
+ |Pas de numérotation d'un théoreme | x | | x |
+ +------------------------------------+--------+---------+----------+
+ |Position du numéro du théoreme | | x | x |
+ +------------------------------------+--------+---------+----------+
+ |Style de la numérotation | | | x |
+ +------------------------------------+--------+---------+----------+
+ |Ponctuation après le titre (:,.,etc)| x | | x |
+ +------------------------------------+--------+---------+----------+
+ |Fonte du titre ou du corps | x | x | x |
+ +------------------------------------+--------+---------+----------+
+ |Indentation du titre | x | | |
+ +------------------------------------+--------+---------+----------+
+ |Espace vertical autour du théorème | x | x | x |
+ +------------------------------------+--------+---------+----------+
+
+# 12.30 # Comment changer la taille de la fonte ?
+-------------------------------------------------
+Voici une solution présentée par T. Bouche et S.A. Zaimi :
+
+Exemple :
+\documentclass{report}
+\def\mathtitre#1{
+\font\tenrm=cmr10 scaled \magstep#1
+\font\sevenrm=cmr7 scaled \magstep#1
+\font\fiverm=cmr5 scaled \magstep#1
+\font\teni=cmmi10 scaled \magstep#1
+\font\seveni=cmmi7 scaled \magstep#1
+\font\fivei=cmmi5 scaled \magstep#1
+\font\tensy=cmsy10 scaled \magstep#1
+\font\sevensy=cmsy7 scaled \magstep#1
+\font\fivesy=cmsy5 scaled \magstep#1
+\font\tenex=cmex10 scaled \magstep#1
+\textfont0=\tenrm \scriptfont0=\sevenrm \scriptscriptfont0=\fiverm
+\textfont1=\teni \scriptfont1=\seveni \scriptscriptfont1=\fivei
+\textfont2=\tensy \scriptfont2=\sevensy \scriptscriptfont2=\fivesy
+\textfont3=\tenex \scriptfont3=\tenex \scriptscriptfont3=\tenex
+}
+
+\begin{document}
+ {\mathtitre0 $$A+B=C^{B^A}$$}
+ {\mathtitre1 $$A+B=C^{B^A}$$}
+ {\mathtitre2 $$A+B=C^{B^A}$$}
+ {\mathtitre3 $$A+B=C^{B^A}$$}
+ {\mathtitre4 $$A+B=C^{B^A}$$}
+ {\mathtitre5 $$A+B=C^{B^A}$$}
+\end{document}
+%%%% fin exemple %%%%
+
+ATTENTION : il ne faut pas que le bloc en police \mathtitreXX
+ se trouve à cheval sur deux pages... cela mettrait
+ le numéro de page (et les en-têtes-pieds de page)
+ dans ladite police...
+
+# 12.31 # A quoi sert la commande \displaystyle ?
+-------------------------------------------------
+Elle permet de forcer LaTeX à gérer les indices et les exposants
+comme si il était en mode mathématique isolé. Cela peut alors
+induire une modification locale de l'interligne courant.
+
+Exemple :
+Elle permet de forcer \LaTeX à gérer les indices et les
+exposants comme si il était en mode mathématique isolé
+$\displaystyle{\sum_{i=0}^n x_i}$. Cela peut alors induire une
+modification locale de l'interligne courant. Ce texte contient
+un exemple probant. Le changement d'interligne est bien visible.
+%%%% fin exemple %%%%
+
+# 12.32 # Comment aligner des données sur le point décimal ?
+------------------------------------------------------------
+* Le package 'dcolumn' disponible sur
+ftp://ftp.fdn.org/pub/CTAN/macros/latex/packages/tools/ permet d'aligner les nombres d'un
+tableau par rapport à leur point décimal.
+
+* On peut également utiliser un tableau avec une virgule comme
+séparateur de colonnes.
+
+Exemple :
+\[
+\begin{array}{r @{,} l}
+ 1&2 \\
+ 233&456 \\
+ x&y \\
+\end{array}
+\]
+%%%% fin exemple %%%%
+
+# 12.33 # Comment gérer les espaces en mode mathématique ?
+----------------------------------------------------------
+Voici les différents espaces prédéfinis :
+\! réduit l'espace par défaut,
+\, donne un petit espace,
+\ suivit d'un espace, donne un espace de taille moyenne,
+\quad donne un espace moyen,
+\qquad donne un grand espace.
+
+Exemple :
+\[
+\begin{array}{l}
+ sin cos \\
+ sin \! cos \\
+ sin \, cos \\
+ sin \ cos \\
+ sin \quad cos \\
+ sin \qquad cos \\
+\end{array}
+\]
+%%%% fin exemple %%%%
+
+# 12.34 # Comment obtenir des accolades horizontales ?
+------------------------------------------------------
+\overbrace et \underbrace.
+
+Exemple :
+\[
+\overbrace{f(x)}^{=0} + \underbrace{g(y)}_{=0} = 0
+\]
+%%%% fin exemple %%%%
+
+# 12.35 # Comment obtenir des points de suspensions ?
+-----------------------------------------------------
+En mode math, il existe différents types de points de suspension
+suivant leur orientation :
++ \ldots pour des points horizontaux sur la ligne d'écriture
++ \cdots pour des points horizontaux au dessus de la ligne
+d'écriture
++ \vdots pour des points verticaux
++ \ddots pour des points en diagonale
+
+Exemple :
+\[
+\begin{array}{ccc}
+ x_{11} & \cdots & x_{1p} \\
+ \vdots & \ddots & \vdots \\
+ x_{n1} & \cdots & x_{np}
+\end{array}
+\]
+%%%% fin exemple %%%%
+
+# 12.36 # Comment mettre en page un système d'équations ?
+---------------------------------------------------------
+* On peut utiliser les commandes \left délimiteur et \right.
+ classiques devant un tableau.
+
+Exemple :
+\[
+\left \{
+\begin{array}{c @{=} c}
+ x & \sin a \cos b \\
+ y & \sin a \sin b \\
+\end{array}
+\right.
+\]
+%%%% fin exemple %%%%
+
+* On peut utiliser le package 'mathenv', permettant de numéroter le
+ système ou chaque équation du système, le compteur pouvant alors être
+ personnalisé.
+
+Exemples :
+
+% numérotation du système
+\begin{System}
+ 2x + y = 6 \\
+ 3x + y = 7
+\end{System}
+
+%numérotation de chaque équation du système
+\begin{EqSystem}
+ 2x + y = 6 \\
+ 3x + y = 7
+\end{EqSystem}
+%%%% fin exemple %%%%
+
+* On peut utiliser le package 'amsmath', permettant de placer des
+ alternatives conditionnelles.
+
+Exemple :
+\begin{equation*}
+ |x|=
+ \begin{cases}
+ -x & \text{si $x$ est impair} \\
+ x & \text{si $x$ est pair ou nul}
+ \end{cases}
+\end{equation*}
+%%%% fin exemple %%%%
+
+* Le package 'cases' disponible sur
+ ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/other/misc/ gère les systèmes d'équations.
+
+Exemple :
+\begin{numcases}{|x|=}
+ x, & for $x \geq 0$\\
+ -x, & for $x < 0$
+\end{numcases}
+%%%% fin exemple %%%%
+
+* Voici une adaptation de ce package par J. Laurens :
+%%%% debut macro %%%%
+% fichier xtdeqnra.sty ver 1.0 Decembre 1997
+%
+% Copyright (C) 1997 by Jerome LAURENS
+%
+% Ces macros peuvent e^tre librement transmises, sans modification aucune
+% tant que cette notice est intacte.
+% Base' sur le paquetage cases.sty de D.Arseneau
+% et la commande \eqnarray de Leslie Lamport et de l'e'quipe LaTeX3.
+%
+% On rajoute un parame`tre optionnel a` l'environnement eqnarray qui
+% est un delimiteur gauche
+%
+% Exemple : source
+%
+% \begin{eqnarray}[\{]
+% x_1 & = & valeur_1 \\
+% x_2 & = & valeur_2 \\
+% x_3 & = & valeur_3
+% \end{eqnarray}
+%
+% Re'sultat
+%
+% / x_1 = valeur_1 (1)
+% |
+% < x_2 = valeur_2 (2)
+% |
+% \ x_3 = valeur_3 (3)
+%
+% Pour utiliser ce paquetage,
+% inclure "\usepackage{xtdeqnra}" apre`s \documentclass.
+%
+% On peut utiliser l'environnement subequations pour avoir (1a), (1b) et (1c)
+% - - - - -
+%
+
+\ProvidesPackage{xtdeqnra}[1997/12/05 version 1.0 ]
+
+% - sauvegarde de l'environnement eqnarray
+\let\x@eqnarray\eqnarray
+\let\endx@eqnarray\endeqnarray
+%
+% - environnement de remplacement
+\def\eqnarray{\@ifnextchar[%
+ {\let\endeqnarray\endy@eqnarray\y@eqnarray}
+ {\let\endeqnarray\endx@eqnarray\x@eqnarray}}
+%
+% - nouvel environnement avec un de'limiteur a` gauche
+\def\y@eqnarray[#1]%
+{ \gdef\@leftdelimiter{#1}
+ \displaymath
+ \setbox\tw@\vbox
+ \bgroup
+ \stepcounter{equation}%
+ \def\@currentlabel{\p@equation\theequation}%
+ \global\@eqnswtrue
+ \m@th
+ \everycr{}%
+ \tabskip\@centering
+ \let\\\@eqncr
+ \halign to\displaywidth
+ \bgroup
+ \hskip \@ne\arraycolsep
+ \hfil$\displaystyle
+ \tabskip\z@skip{##}$%
+ \@eqnsel
+ &\global\@eqcnt\@ne
+ \hskip \tw@\arraycolsep
+ \hfil${##}$\hfil
+ &\global\@eqcnt\tw@
+ \hskip\tw@\arraycolsep
+ $\displaystyle{##}$\hfil
+ \unskip\hfil
+ \tabskip\@centering% \unskip removes space if no explanations
+ &\global\@eqcnt\thr@@
+ \hb@xt@\z@\bgroup\hss##\egroup
+ \tabskip\z@skip
+ \cr
+}
+\def\endy@eqnarray{%
+ \@@eqncr
+ \egroup % end \halign, which does not contain brace
+ \global\advance\c@equation\m@ne
+ \unskip\unpenalty
+ \unskip\unpenalty
+ \setbox\z@\lastbox % grab last line
+ \nointerlineskip
+ \copy\z@ % then put it back
+ \setbox\z@\hbox{\unhbox\z@}%
+ \global\dimen@i\wd\z@
+ \egroup% end \vbox (box\tw@, box\z@ is restored to LHS)
+ \hbox to\displaywidth{%
+ \m@th % assemble the whole equation
+ \hskip\@centering
+ \hbox to\dimen@i{%
+ $\displaystyle%
+ \dimen@\ht\tw@
+ \advance\dimen@\dp\tw@ % get size of brace
+ \setbox\z@\hbox{$\mathord{\left\@leftdelimiter\vcenter
+to\dimen@{\vfil}\right.}$}%
+ \dimen@\wd\z@
+ \kern-\dimen@
+ \box\z@%
+ \n@space % make brace
+ $\hfil}
+ \hskip\@centering % finished first part (filled whole line)
+ \kern-\displaywidth$%
+ \vcenter{\box\tw@}$% overlay the alignment
+ }% end the \hbox
+ \enddisplaymath
+ \global\@ignoretrue
+}
+
+\endinput
+
+% fin du fichier xtdeqnra.sty
+%%%% fin macro %%%%
+
+* Le package 'delarray' disponible sur
+ftp://ftp.fdn.org/pub/CTAN/macros/latex/packages/tools/ peut également être utilisé dans
+ce but.
+
+# 12.37 # Comment mettre en page des diagrammes de Feynman ?
+------------------------------------------------------------
+Le package 'feynmf' disponible sur
+ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/feynmf/ permet de gérer la mise
+en page de diagrammes de Feynman.
+
+# 12.38 # Comment obtenir une fraction ?
+----------------------------------------
+LaTeX propose la commande \frac{arg1}{arg2} dont l'argument arg1
+est le numérateur et arg2 dénominateur.
+
+Exemple :
+en formule~:
+$$\frac{\alpha}{6 + \sqrt{2}}$$
+ou dans le texte $\frac{\alpha}{6 + \sqrt{2}}$.
+%%%% fin exemple %%%%
+
+# 12.39 # Comment obtenir une racine ?
+--------------------------------------
+Il existe la commande \sqrt[n]{arg}, qui représente la racine
+nième de arg. [n] est un paramètre optionnel.
+
+Exemple :
+$$ \sqrt[3]{\sqrt{\sqrt[\gamma]{x+y}}} $$
+%%%% fin exemple %%%%
+
+# 12.40 # Quels sont les délimiteurs disponibles ?
+--------------------------------------------------
+( ) [ ] \{ \}
+\uparrow \downarrow \updownarrow
+\Uparrow \Downarrow \Updownarrow
+\lfloor \rfloor \lceil \rceil
+\langle \rangle
+/ \backslash | \|
+
+# 12.41 # Comment appeler les lettres grecques ?
+------------------------------------------------
+Il suffit de faire précéder leur nom en toutes lettres d'un
+backslash :
++ minuscules :
+\alpha \beta \gamma \delta \epsilon \varepsilon \zeta \eta
+\theta \vartheta \iota \kappa \lambda \mu \nu \xi \pi \varpi
+\rho \varrho \sigma \varsigma \tau \upsilon \phi \varphi \chi
+\psi \omega
+
++ majuscules :
+\Gamma \Delta \Theta \Lambda \Xi \Pi \Sigma \Upsilon \Phi \Psi
+\Omega
+
+# 12.42 # Quels sont les accents mathématique standards ?
+---------------------------------------------------------
+* Il en existe dix pour des lettres seules :
++ $\hat{a}$
++ $\check{a}$
++ $\breve{a}$
++ $\acute{a}$
++ $\grave{a}$
++ $\tilde{a}$
++ $\bar{a}$
++ $\vec{a}$
++ $\dot{a}$
++ $\ddot{a}$
+
+Remarque : pour placer un accent sur un i ou un j, il faut
+ utiliser les commandes \imath et \jmath qui
+ permettent de supprimer le point par défaut.
+
+* Il en existe également d'autres pour couvrir des ensembles de
+lettres :
++ $\widehat{abc}$
++ $\widetilde{def}$
++ $\overrightarrow{ghi}$
++ $\overline{jkl}$
++ $\underline{mno}$
++ $\overbrace{pqr}$
++ $\underbrace{stu}$
+
+# 12.43 # Comment superposer deux symboles ?
+--------------------------------------------
+Il existe pour cela la commande \stackrel{dessus}{dessous}
+
+Exemple :
+\[
+A \stackrel{\theta}{\Rightarrow} B
+\]
+%%%% fin exemple %%%%
+
+# 12.44 # Comment définir un nouvel opérateur ou symbole ?
+----------------------------------------------------------
+* Il existe pour cela la commande \DeclareMathOperator du
+package 'amsmath', disponible sur ftp://ftp.fdn.org/pub/CTAN/fonts/ams/amslatex/.
+Elle s'utilise dans le préambule.
+
+Exemple :
+\DeclareMathOperator{\init}{init}
+
+\[
+\init f = 0 \mathrm{\ au \ lieu \ de~:} init f = 0
+\]
+%%%% fin exemple %%%%
+
+* On peut également utiliser \newcommand, toujours dans le
+préambule du document.
+
+Exemple :
+\newcommand{\affecte}{\mathrel{:=}}
+
+$x \affecte 0$
+
+$y \affecte 1$
+%%%% fin exemple %%%%
+
+* On peut utiliser \def.
+
+Exemple :
+\makeatletter
+\def\log{\mathop{\operator@font log}\nolimits}
+\makeatother
+
+$\log 28 = 1.447158$
+%%%% fin exemple %%%%
+
+* Pour définir un nouveau symbole de plusieurs caractères, il
+faut utiliser \mathit.
+
+# 12.45 # Comment obtenir des lettres grecques en gras ?
+--------------------------------------------------------
+* On peut utiliser le package 'amsmath', disponible sur
+ftp://ftp.fdn.org/pub/CTAN/fonts/ams/amslatex/ :
+
+Exemple :
+...
+\usepackage{amsmath}
+...
+\begin{document}
+...
+$\boldsymbol{\alpha}$
+%%%% fin exemple %%%%
+
+* On peut également utiliser le package 'bm' disponible sur
+ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/bm/.
+
+Exemple :
+...
+\usepackage{bm}
+...
+\begin{document}
+...
+$\bm{\alpha}$
+%%%% fin exemple %%%%
+
+# 12.46 # Comment tracer un tableau de variations ?
+---------------------------------------------------
+
+* Avec l'environnement array en mode mathématiques (cf. question
+12.11).
+
+Exemple:
+$
+\begin{array}{|c|ccccr|}
+\hline
+x & -\infty & & 0 & & +\infty \\
+\hline
+f'(x) & 5 & + & 0 & - & -10 \\
+\hline
+ & & & 10 & & \\ % ligne des valeurs "max"
+f(x) & &\nearrow & &\searrow & \\ % flèches
+& -\infty & & & & -10 \\ % ligne des valeurs "min"
+\hline
+\end{array}
+$
+%%%% fin exemple %%%%
+
+* On peut faire de plus jolies flèches (redimensonnables) avec les commandes
+graphiques.
+
+Pour cela, il faut choisir une unité de longueur avant par:
+ \unitlength=1cm
+et remplacer par exemple \nearrow par (flèches de 2cm de large et de haut)
+
+Exemple:
+\begin{minipage}{2cm}
+ \begin{picture}(2,2)
+ \put(0,0){\vector(1,1){2}}
+ \end{picture}
+\end{minipage}
+%%%% fin exemple %%%%
+
+================================================================
+[13] RÉFÉRENCES CROISÉES
+================================================================
+
+# 13.1 # Quelles sont les commandes de base ?
+---------------------------------------------
+* LaTeX permet de gérer automatiquement des références croisées
+grâce aux commandes suivantes :
+\label{} pour repérer la référence à rappeler
+\ref{} pour faire appel à la référence décrite par la commande
+\label
+\pageref{} pour faire référence à la page de la référence
+reperée par la commande \label
+\cite{} pour faire référence à un document cité en
+bibliographie.
+
+L'utilisation de ces commandes nécessite alors plusieurs (deux
+à trois) compilations successives, jusqu'à ce que toutes les
+références croisées soient correctes.
+
+ATTENTION : pour les figures et les tables, la commande \label
+ doit se situer juste après un \caption ou en faire
+ partie pour que les références soient correctes.
+
+ATTENTION : lorsque l'on travaille avec une version inférieure à
+ 3.6 du package babel et l'option french, sachant que
+ cette dernière redéfinit certains caractères de
+ ponctuation tels que :;?! pour gérer automatiquement
+ les espaces, il ne faut pas les utiliser dans des
+ noms de label : \label{section:Introduction} est
+ interdit.
+
+Exemple :
+Remplir la table~\ref{table-add}, page~\pageref{table-add}
+\begin{table}[htbp]
+ \begin{center}
+ \begin{tabular}{c|c}
+ \hline
+ Question & Réponse \\
+ \hline
+ 1 + 12 & \\
+ 45 + 76 & \\
+ \end{tabular}
+ \caption{Additions. \label{table-add}}
+ \end{center}
+\end{table}
+%%%% fin exemple %%%%
+
+* Le package 'prettyref' disponible sur
+ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/prettyref/ permet de définir ses
+propres styles de référence.
+
+# 13.2 # Comment obtenir un renvoi à une page ?
+-----------------------------------------------
+* Il suffit d'utiliser la commande \pageref présentée ci-dessus.
+
+* Le package 'varioref', de F. Mittelbach, disponible sur
+ftp://ftp.fdn.org/pub/CTAN/macros/latex/packages/tools/, permet de n'appeler une
+référence de page que si l'objet flottant auquel elle se
+rattache n'est pas présent sur la page courante. Pour cela, ce
+package définit la commande \vpageref qui ne fera apparaître le
+numéro de la page référencée que si ce n'est pas la page
+courante. Cette commande peut également introduire des
+expressions du type "sur la page précédente", "sur cette même
+page", etc. Dans ce cas, on précise la langue voulue en option
+lors de l'appel du package.
+
+Exemple:
+\documentclass{report}
+\usepackage{french}
+\usepackage[french]{varioref}
+
+\begin{document}
+Remplir la table~\ref{table-add}~\vpageref{table-add}
+\begin{table}[htbp]
+ \begin{center}
+ \begin{tabular}{c|c}
+ \hline
+ Question & Réponse \\
+ \hline
+ 1 + 12 & \\
+ 45 + 76 & \\
+ \end{tabular}
+ \caption{Additions. \label{table-add}}
+ \end{center}
+\end{table}
+\end{document}
+%%%% fin exemple %%%%
+
+Remarque : Ce package est incompatible avec les styles de page
+ sans numérotation (e.g. empty).
+
+# 13.3 # Comment obtenir des références croisées à partir de plusieurs sources ?
+--------------------------------------------------------------------------------
+Le package 'xr', de D. Carlisle, permet de faire des références
+d'un document à l'autre. Il est disponible sur
+ftp://ftp.fdn.org/pub/CTAN/macros/latex/packages/tools/. Le document contenant les labels
+est appelé dans le document contenant les références via la
+commande \externaldocument. La commande
+\externaldocument[KEY]{DOCUMENT} permet même de gérer les
+références de même nom.
+
+Exemple :
+* fichier essai.tex :
+ \documentclass[a4paper,12pt]{book}
+
+ \begin{document}
+ \section{Ma section.\label{ma-sect}}
+ \end{document}
+
+* fichier essai-ass.tex :
+ \documentclass[11pt]{report}
+ \usepackage{xr}
+ \externaldocument{essai}
+
+ \begin{document}
+ Pour plus de détails, voir le document \textit{essai},
+ paragraphe~\ref{ma-sect}
+ \end{document}
+%%%% fin exemple %%%%
+
+# 13.4 # Comment définir des liens hypertexte sous LaTeX ?
+----------------------------------------------------------
+* Le package 'hyperref' de S. Rahtz disponible sur
+ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/hyperref/ permet de définir des
+liens hypertexte pour PDF. Il définit pour cela des commandes de
+type \ref{}.
+
+* Voir également les packages 'hyper' et 'hyperlatex'
+disponibles sur
+ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/hyper/.
+
+* La distribution Y&Y TeX System supporte des liens en TeX
+debuggable dans le previewer qui seront automatiquement
+convertis en liens PDF pour Adobe.
+
+# 13.5 # Comment faire référence à ses propres compteurs ?
+----------------------------------------------------------
+Lorsque l'on définit son propre environnement avec ses popres
+compteurs, pour que les commandes \label et \ref puissent les
+prendre en compte, il suffit d'utiliser \refstepcounter au
+lieu de \stepcounter pour incrémenter le compteur auquel on
+fait référence.
+
+================================================================
+[14] TABLE DES MATIÈRES
+================================================================
+
+# 14.1 # Comment générer une table des matières ?
+-------------------------------------------------
+* LaTeX propose la commande \tableofcontents à appeler à
+l'endroit où l'on veut insérer la table des matières.
+
+# 14.2 # Comment générer plusieurs tables des matières ?
+--------------------------------------------------------
+* Le package 'french' propose la commande sommaire[n] qui permet
+d'inclure une table des matière de niveau de profondeur n.
+
+Remarque : dans ce cas \tableofcontents reste utilisable.
+
+* Le package 'shorttoc' ci-dessous, de J.P. Drucbert, définit la
+commande \shorttableofcontents{TITRE}{NIVEAU}.
+
+Remarque : dans ce cas \tableofcontents reste également
+ utilisable.
+
+%%%% debut macro %%%%
+%shorttoc.sty
+\ProvidesPackage{shorttoc}%
+[1995/01/04 v1.0 Short table of contents package (JPFD)]
+\def\@startshorttoc#1{\bgroup
+ \makeatletter
+ \@input{\jobname.#1}%
+ \global\@nobreakfalse \egroup}
+
+\def\shorttableofcontents#1#2{\bgroup\c@tocdepth=#2\@restonecolfalse
+ \if@twocolumn\@restonecoltrue\onecolumn\fi
+ \@ifundefined{chapter}%
+ {\section*{{#1}
+ \@mkboth{\uppercase{#1}}{\uppercase{#1}}}}%
+ {\chapter*{{#1}
+ \@mkboth{\uppercase{#1}}{\uppercase{#1}}}}%
+ \@startshorttoc{toc}\if@restonecol\twocolumn\fi\egroup}
+%%%% fin macro %%%%
+
+* Le package 'minitoc', disponible sur
+ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/minitoc/, permet de construire
+une minitable des matières au début de chaque chapitre sous les
+classes 'book' et 'report'. Pour l'utiliser, il faut appeler les
+commandes \dominitoc avant la commande \tableofcontents
+habituelle. La commande \faketableofcontents permet de ne garder
+que les tables des matières locales et remplace alors la
+commande \tableofcontents. La commande \minitoc doit être
+appelée après chaque commande de début de chapitre \chapter dans
+lequel on veut inclure une table locale. A chaque appel de
+minitoc correspond un fichier .mtc<n> où n est le numéro du
+chapitre.
+
+Le compteur minitocdepth permet de fixer la profondeur des
+tables des matières désirées.
+
+Exemple :
+\documentclass{report}
+\usepackage{minitoc}
+\usepackage{french}
+\setcounter{minitocdepth}{1}
+\begin{document}
+
+\dominitoc
+\tableofcontents
+
+\chapter{Introduction.}
+\minitoc
+
+\section{Quelques rappels.}
+ Texte.
+
+ \subsection{La gravité.}
+
+ Texte sur la gravité.
+
+ \subsection{Loi de Newton.}
+
+ Deux corps s'attirent en raison inverse du carré
+ de leur distance et proportionnellement à leur
+ masse.
+
+\section{Nouveaux théorèmes.}
+
+ Encore des résultats.
+
+\section{Approfondissement.}
+
+ Toujours plus loin.
+
+pour ne faire apparaître que les titres de sections.
+\end{document}
+%%%% fin exemple %%%%
+
+Le bon fonctionnement des numérotations peut nécessiter jusqu'à
+trois compilations enchaînées.
+
+ATTENTION : minitoc sait faire:
++ les tables des matières (liste des figures/tables) par partie,
++ par chapitre (classe book et report) et,
++ par section (classe article).
+
+Par contre, il ne fait pas les tables des matières par section
+(et en dessous) pour les classes book et report, ni les tables
+des matières par sous-section (et en dessous) pour la classe
+article.
+
+# 14.3 # Comment ajouter une entrée dans la table des matières ?
+----------------------------------------------------------------
+Pour ajouter un titre de paragraphe qui n'apparaît pas par
+défaut dans la table des matières, il faut utiliser la commande
+\addcontentsline{1}{2}{3} où :
+1 est l'extension du fichier contenant la table des matières
+généralement 1 vaut toc,
+2 est un niveau défini dans la table des matières; ce peut être
+chapter, section, ... et,
+3 est le texte que l'on veut voir apparaître dans la table.
+
+Exemple :
+\bibliography{sdf}
+\addcontentsline{toc}{chapter}{Bibliographie.}
+%%%% fin exemple %%%%
+
+# 14.4 # Comment changer le titre de la table des matières ?
+------------------------------------------------------------
+On peut utiliser la commande :
+\renewcommand{\contentsname}{Contenu du document.}
+
+Remarque : suivant les packages utilisés, il faut placer cette
+ définition avant ou après le \begin{document}.
+
+# 14.5 # Comment changer la profondeur de la table des matières ?
+-----------------------------------------------------------------
+Les sections sont numérotées si leur profondeur est inférieure à
+secnumdepth.
+
+Elles apparaissent dans la table des matières si leur profondeur
+est inférieure à tocdepth.
+
+Il suffit de changer les valeurs de ces deux compteurs. Il peut
+alors être nécessaire d'enchaîner deux compilations LaTeX.
+
+Exemple :
+\documentclass[a4paper]{article}
+\usepackage{french}
+\pagestyle{empty}
+% Profondeur de \subsubsection = 3
+\setcounter{tocdepth}{3} % Dans la table des matieres
+\setcounter{secnumdepth}{3} % Avec un numero.
+
+\begin{document}
+\tableofcontents
+\vspace{.5cm}
+\hrule
+
+\part{Aaa.}
+\section{aaa.}
+ \subsection{bbb.}
+ \subsubsection{ccc.}
+\end{document}
+%%%% fin exemple %%%%
+
+# 14.6 # Comment gérer des chapitres de préface, d'introduction, et de conclusion non numérotés ?
+-------------------------------------------------------------------------------------------------
+* La classe book définit les commandes \frontmatter, \mainmatter
+et \backmatter qui permettent de faire cela.
+
+Exemple :
+\documentclass[a4paper,12pt,openany]{book}
+\usepackage{french}
+
+\def\TEXTE{Bla bla bla...}
+
+\begin{document}
+
+\frontmatter
+
+%\begin{abstract} Bla, bla... \end{abstract}
+
+\chapter{Préface} \TEXTE
+\chapter{Introduction} \TEXTE
+
+\mainmatter
+
+\chapter{Début} \TEXTE
+\chapter{Suite} \TEXTE
+\chapter{Fin} \TEXTE
+
+\appendix
+\chapter{Résultats élémentaires}
+\chapter{Résultats compliqués}
+
+\backmatter
+
+\chapter{Conclusion} \TEXTE
+
+\tableofcontents
+\end{document}
+%%%% fin exemple %%%%
+
+* L'autre solution consiste à définir ses propres commandes
+\introduction, \preface, etc, à partir des définitions
+de \chapter sans prendre en compte la numérotation.
+
+* On peut également utiliser les commandes étoilées et gérer
+soit même la table des matières et éventuellement les en-têtes
+et bas de page.
+
+Exemple :
+\chapter*{Intro}
+\addcontentsline{toc}{chapter}{Intro...}
+%%%% fin exemple %%%%
+
+# 14.7 # Comment enlever le numérotation des pages de tdm ?
+-----------------------------------------------------------
+Il suffit d'inclure les lignes suivantes dans le préambule du
+document :
+%%%% debut macro %%%%
+\makeatletter
+\def\addcontentsline@toc#1#2#3{%
+ \addtocontents{#1}{\protect\thispagestyle{empty}}%
+ \addtocontents{#1}{\protect\contentsline{#2}{#3}{\thepage}}}
+\def\addcontentsline#1#2#3{%
+ \expandafter\@ifundefined{addcontentsline@#1}%
+ {\addtocontents{#1}{\protect\contentsline{#2}{#3}{\thepage}}}
+ {\csname addcontentsline@#1\endcsname{#1}{#2}{#3}}}
+\makeatother
+%%%% fin macro %%%%
+
+================================================================
+[15] BIBLIOGRAPHIE SOUS LATEX
+================================================================
+
+# 15.1 # Comment construire une bibliographie ?
+-----------------------------------------------
+* Il existe deux techniques pour construire une bibliographie :
++ la première consiste à l'intégrer dans le corps même du
+document (fichier.tex),
++ la seconde consiste à la définir dans un fichier particulier
+(fichier.bib) puis à l'appeler dans le corps du document.
+
+* Technique on-line :
+Il suffit d'appeler l'environnement thebibliography et de
+définir des bibitem.
+
+Exemple :
+\begin{thebibliography}{2}
+ \bibitem[label]{cle} Auteur, TITRE, editeur, annee
+ \bibitem[LAM94]{lam1} L. LAMPORT, {\it \LaTeX : A Document
+ preparation system, Addison-Wesley, 1994}
+\end{thebibliography}
+%%%% fin exemple %%%%
+
+[label] définit le label qui apparaîtra dans la bibliographie
+et dans le texte après appel de la commande \cite{cle}.
+
+* BibTeX permet de construire simplement une bibliographie. La
+technique consiste alors à écrire un ou plusieurs fichiers.bib
+qui seront appelés dans le document source par la commande
+\bibliography{fichier1, fichier2,...}. BibTeX est disponible
+sur ftp://ftp.fdn.org/pub/CTAN/biblio/bibtex.
+
+Le style de la bibliographie doit être défini par
+\bibliographystyle{xxx} avec xxx valant généralement plain ou
+alpha, mais il existe aussi d'autres styles. La commande
+\bibliographystyle doit être appelée après \begin{document}.
+
+Le contenu d'un fichier.bib est un ensemble de déclarations du
+style :
+@ARTICLE{cle,
+author = "liste-noms-auteur",
+title = "titre-article",
+journal = "nom-journal",
+year = "annee-parution",
+}
+% OPTIONAL FIELDS
+% volume = "",
+% number = "",
+% pages = "",
+% month = "",
+% note = "",
+
+La syntaxe des différentes déclarations possibles peut se
+trouver dans toute bonne documentation LaTeX ou dans les menus
+des éditeurs tels que emacs ou Alpha.
+
+Losqu'on utilise BibTeX, il faut alors enchaîner plusieurs
+compilations pour que toutes les références soient exactes.
+Généralement, il faut exécuter une passe LaTeX, une
+passe Bibtex et encore deux passes LaTeX.
+
+* Pour pouvoir inclure dans la bibliographie des références à
+des documents qui ne sont pas cités explicitement par une
+commande \cite, il suffit d'inclure la commande
+\nocite{la-ref-non-citee} avant la commande
+\bibliography{fichier_biblio}. Pour faire apparaître toutes les
+références non citées sans toutes les énumérer, on peut utiliser
+\nocite{*}.
+
+* BIBDB, disponible sur CTAN, est un gestionnaire de
+bibliographie BIBTEX, facile à manipuler qui tourne sous DOS.
+
+* Bibview est un programme tournant sous X11 et permettant la
+saisie et la consultation de fichiers bibtex.
+
+# 15.2 # Comment gérer plusieurs bibliographies ?
+-------------------------------------------------
+* Le package 'chapterbib' permet d'inclure une bibliographie
+par chapitre. Il est disponible sur
+ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/cite/. Les bibliographies
+réparties peuvent alors apparaître comme section de ce chapitre
+grâce à la commande : \usepackage[sectionbib]{chapterbib}.
+
+* Le package 'bibunits', de A. Fernandez, permet de partager une
+bibliographie en plusieurs unités, chacune attenante à une
+section, ou à un chapitre d'un article ou d'un livre donné.
+
+Exemple :
+
+////////////// fichier rapport.tex /////////////
+\documentclass[a4paper]{report}
+
+\usepackage{bibunits}
+\usepackage{french}
+
+\begin{document}
+\chapter{Algorithmes.}
+
+Présentation d'algorithmes.
+
+\nocite*
+\bibliographystyle{alpha}
+\bibliography{alg}
+
+\chapter{Géométrie.}
+
+Texte sur la géométrie.
+
+\nocite*
+\bibliographystyle{plain}
+\bibliography{geom}
+\end{document}
+
+////////////// fichier alg.bib /////////////
+@UNPUBLISHED{algg,
+author = MPK,
+title = Algorithmes et rythmes,
+note = RAS,
+}
+
+////////////// fichier geom.bib /////////////
+@INBOOK{geomm,
+author = Me again,
+title = Principes de géométrie,
+chapter = Les droites,
+publisher = Home publishing,
+year = 1997,
+}
+%%%% fin exemple %%%%
+
+* Le package 'bibtopics', de P. Basso, permet de contruire une
+bibliographie générale comportant des rubriques diverses
+(livres, articles, thèses, ...) ou des sujets divers (physique,
+mathématiques, ...). Il est disponible par ftp sur
+ftp://ftp.gutenberg.eu.org/pub/gut/contrib/.
+
+Remarque : pour les versions récentes de LaTeX, il peut être
+ nécessaire d'inclure les lignes :
+ \makeatletter
+ \let\if@openbib\iffalse
+ \makeatother
+ dans le préambule du document.
+
+* Voici un petit fichier 'multibib.sty' de V. Henn, créé en
+recopiant les définitions LaTeX des commandes relatives à la
+gestion des bibliographies, et en les rendant paramétrables.
+
+Les commandes qui ont été définies sont :
+\newbibliographyGENE{biblio} pour déclarer une bibliographie
+ biblio.
+\citeGENE{biblio}{clé} pour appeler une référence.
+\bibliographystyleGENE{biblio-x}{alpha} pour définir le style de
+ biblio.
+\bibliographyGENE{biblio}{fichier-biblio1} pour faire
+ référence au fichier fichier-biblio1.bib qui contient
+ les références.
+
+%%%% debut macro %%%%
+%% A sauver dans multibib.sty
+%%%%%% biblio generique %%%%%%%%
+
+\newcommand\newbibliographyGENE[1]{%
+\expandafter\expandafter\expandafter\newwrite\@nameuse{@#1aux}
+\immediate\expandafter\expandafter\openout\@nameuse{@#1aux}=#1.aux
+%\expandafter\expandafter\expandafter\show\@nameuse{@#1aux}
+}
+
+\def\citeGENE#1{\@ifnextchar [{\@tempswatrue\@citexGENE{#1}}%
+{\@tempswafalse\@citexGENE{#1}[]}}
+
+\def\@citexGENE#1[#2]#3{\if@filesw\immediate\expandafter%
+\expandafter\expandafter\write\@nameuse{@#1aux}{\string%
+\citation{#3}}\fi
+ \let\@citea\@empty
+ \@cite{\@for\@citeb:=#3\do
+ {\@citea\def\@citea{,\penalty\@m\ }%
+ \def\@tempa##1##2\@nil{\edef\@citeb{\if##1\space##2%
+ \else##1##2\fi}}%
+ \expandafter\@tempa\@citeb\@nil
+ \@ifundefined{b@\@citeb}{{\reset@font\bf ?}\@warning
+ {Citation `\@citeb' on page \thepage \space undefined}}%
+ \hbox{\csname b@\@citeb\endcsname}}}{#2}}
+
+\def\bibliographyGENE#1#2{\if@filesw\immediate\expandafter%
+\expandafter\expandafter\write\@nameuse{@#1aux}{\string%
+\bibdata{#2}}\fi
+ \@input{#1.bbl}}
+
+\def\bibliographystyleGENE#1#2{\if@filesw\immediate\expandafter%
+\expandafter\expandafter\write\@nameuse{@#1aux}
+ {\string\bibstyle{#2}}\fi}
+
+\def\nociteGENE#1#2{\@bsphack
+ \if@filesw\immediate\write\@nameuse{@#1aux}{\string%
+ \citation{#2}}\fi
+ \@esphack}
+%%%% fin macro %%%%
+
+Exemple d'utilisation :
+Les fichiers gene.bib et speci.bib contiennent respectivement
+une référence bibliographie de clé cle-gene et cle-speci.
+
+\documentclass{report}
+\usepackage{multibib}
+\usepackage{french}
+
+\begin{document}
+
+\newbibliographyGENE{Toto}
+\newbibliographyGENE{Titi}
+
+\chapter{Introduction.}
+ blabla bla \citeGENE{Toto}{cle-gene} et
+\citeGENE{Titi}{cle-speci} rebla rebla rebla
+
+\bibliographystyleGENE{Toto}{plain}
+\bibliographyGENE{Toto}{gene}
+
+\bibliographystyleGENE{Titi}{alpha}
+\bibliographyGENE{Titi}{speci}
+
+\end{document}
+
+il faut alors compiler de la manière suivante :
+latex fichier-source
+bibtex Toto
+bibtex Titi
+latex fichier-source
+latex fichier-source
+%%%% fin exemple %%%%
+
+# 15.3 # Comment changer de langue dans une bibliographie ?
+-----------------------------------------------------------
+* Il existe des versions francisées des styles bibliographiques
+(fplain, falpha, fralpha, frealfullname...) qui ne sont pas
+parfaits mais qui peuvent être modifiés facilement. Voir la
+distribution GUTenberg.
+
+Exemple :
+\documentstyle{falpha}
+%%%% fin exemple %%%%
+
+* Sachant que les items d'une bibliographie sont des
+paragraphes, ils peuvent commencer par la spécification d'une
+langue. Si on utilise le package 'french', on dispose des
+commandes \french et \english et si l'on utilise le package
+'babel', il faut utiliser la commande \selectlanguage{} (cf.
+paragraphe 11.1).
+
+* Voir également le package 'frbib' pour les bibliographies
+françaises.
+
+* Le package 'mlbib' disponible sur
+ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/mlbib/ permet de gérer des
+bibliographies multilingues.
+
+# 15.4 # Comment renvoyer une référence en note de bas de page ?
+----------------------------------------------------------------
+* Pour remplacer une référence insérée dans le texte par la
+commande \cite, par un appel à une note de bas de page
+contenant une référence succinte à un document (la référence
+détaillée apparaissant toujours dans la bibliographie), il faut
+redéfinir la commande \cite dans le préambule du document par :
+%%%% debut macro %%%%
+\makeatletter
+\def\@cite#1#2{%
+ \footnote{#1\if@tempswa, #2\fi}}
+\makeatother
+%%%% fin macro %%%%
+
+Les informations reportées dans la note de bas de page
+dépendent du style de bibliographie choisi.
+
+* Le package 'overcite', de D. Arseneau, est disponible sur
+ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/cite/. Il permet de faire
+référence à des documents par un exposant.
+
+Le problème qui se pose alors est de distinguer les références,
+des notes de bas de page. Si le document contient moins de 10
+notes de bas de page, on peut utiliser la commande
+\renewcommand{\thefootnote}{\fnsymbol{footnote}}. Sinon pour
+disposer de 10 notes de bas de page par page, il existe le
+package 'footnote' de R. Fairbairns disponible sur
+ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/footnote/.
+
+Exemple :
+\usepackage[perpage,symbol]{footnote}
+%%%% fin exemple %%%%
+
+* Le package 'camel' disponible sur
+ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/camel/, propose différents
+styles de bibliographies renvoyant à des notes de bas de page.
+
+* E. Domenjoud a également écrit le package 'footbib',
+disponible sur CTAN, qui permet de faire cela.
+Eric.Domenjoud@loria.fr.
+
+# 15.5 # Comment faire référence à un document ?
+------------------------------------------------
+Il suffit d'utiliser la commande \cite avec en paramètre la clé
+du document (cf. paragraphe 15.1). La commande \cite peut
+prendre un texte en option.
+
+Exemple :
+Voir~: \cite[chapitre 1]{cle}.
+%%%% fin exemple %%%%
+
+# 15.6 # Comment grouper des références multiples ?
+---------------------------------------------------
+* Le package 'cite' de D. Arseneau est disponible sur
+ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/cite/. Il permet de trier
+et de grouper les références multiples. Par exemple, il permet
+automatiquement de générer [1-6] au lieu de lister [1, 2, 3, 4,
+5, 6].
+
+* Il existe également les packages 'mcite' et 'rangecite' (pour
+LaTeX2.09) disponibles sur
+ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/mcite/ et dans
+ftp://ftp.fdn.org/pub/CTAN/macros/latex209/contrib/misc/.
+
+# 15.7 # Comment changer le titre de la bibliographie ?
+-------------------------------------------------------
+Suivant la classe de document que l'on utilise (article,
+book, report, ...), il faut redéfinir :
+\renewcommand{\bibname}{R\'ef\'erences}
+ou
+\renewcommand{\refname}{R\'ef\'erences}
+dans le préambule.
+
+Remarque : avec certains packages comme french, il faut placer
+ cette nouvelle définition de commande après le
+ \begin{document}.
+
+# 15.8 # Comment changer le style de la bibliographie ?
+-------------------------------------------------------
+* Il existe un certain nombre de style par défaut (alpha,
+plain, unsrt, abbrrv) que l'on peut appeler par la commande
+\bibliographystyle{xxx} placée après la commande
+\begin{document}.
+
+Remarque : Certains styles comme plain, acm ou apalike trient
+ alphabétiquement les références d'une bibliographie
+ suivant le premier auteur de chaque référence.
+ D'autres comme alpha utilisent la première lettre du
+ nom de chacun des auteurs multiples.
+
+* Il existe également le package 'custom-bib' disponible sur
+ftp://ftp.fdn.org/pub/CTAN/macros/latex/supported/custom-bib/ qui permet de
+définir ses propres styles sans avoir à se plonger dans le
+language BibTeX. Le programme est interactif.
+
+* De même le package 'natbib' est disponible sur
+ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/natbib. Il
+permet entre autres de classer la bibliographie de plusieurs
+façons différentes, notamment par ordre alphabétique pour les
+auteurs, par l'année de parution, etc.
+
+* Pour remplacer la numérotation [1] par 1., on peut utiliser la
+commande :
+\makeatletter
+\renewcommand{\@biblabel}[1]{\quad #1.}
+\makeatother
+
+* Pour supprimer toute numérotation, il faut utiliser de la même
+manière :
+\makeatletter
+\renewcommand{\@biblabel}[1]{}
+\makeatother
+
+* Le package 'easybib' disponible sur
+ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/easy/ permet par une syntaxe
+simple de définir ses propres styles bibliographiques.
+
+# 15.9 # Comment construire une bibliographie à partir de plusieurs fichiers .bib ?
+-----------------------------------------------------------------------------------
+Pour cela il existe le package 'biblist' de J. chrod, disponible
+sur ftp://ftp.fdn.org/pub/CTAN/macros/latex209/contrib/biblist/.
+
+Exemple :
+\documentclass[12pt]{article}
+\usepackage{biblist}
+\begin{document}
+\nocite{*}
+\bibliographystyle{plain}
+\bibliography{bibfile1,bibfile2,...}
+\end{document}
+%%%% fin exemple %%%%
+
+# 15.10 # Comment utiliser la commande \cite dans un \caption ?
+---------------------------------------------------------------
+On peut mettre la commande \cite dans un \caption à condition de
+la protéger : \protect\cite.
+
+# 15.11 # Comment référencer une thèse française ou un mémoire ?
+----------------------------------------------------------------
+Il faut définir de nouvelles références. Pour cela, copier le
+fichier .bst dans un autre fichier .bst avec un nom différent
+et rechercher PhD thesis puis remplacer par Thèse de doctorat.
+
+Exemple :
+FUNCTION {thesedoc}
+{ output.bibitem
+format.authors "author" output.check
+new.block
+format.btitle "title" output.check
+new.block
+"Th\`ese de Doctorat" format.thesis.type output.nonnull
+school "school" output.check
+address output
+format.date "year" output.check
+new.block
+note output
+fin.entry
+}
+%%%% fin exemple %%%%
+
+Idem pour les mémoires de DEA :
+
+FUNCTION {memdea}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ "M\'emoire de D.E.A." format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+# 15.12 # Comment supprimer la virgule supplémentaire dans une liste d'auteurs ?
+--------------------------------------------------------------------------------
+Par défaut, dans une liste d'auteurs le "et" qui introduit le
+dernier auteur est précédé d'une virgule. Pour la supprimer, il
+faut modifier la fonction format.names dans un nouveau fichier
+.bst de la manière suivante :
+
+%%%% debut macro %%%%
+FUNCTION {format.names}
+{ 's :=3D
+ #1 'nameptr :=3D
+ s num.names$ 'numnames :=3D
+ numnames 'namesleft :=3D
+ { namesleft #0 > }
+ { s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 't :=3D
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { namesleft #2 >
+ { "," * }
+ 'skip$
+ if$
+ t "others" =3D
+ { " et~al." * }
+ { " and " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=3D
+ namesleft #1 - 'namesleft :=3D
+ }
+ while$
+}
+%%%% fin macro %%%%
+
+# 15.13 # Comment configurer la commande \cite ?
+------------------------------------------------
+* Le package 'cite' disponible sur
+ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/cite/ offre certaines
+possibilités.
+
+Exemple :
+\usepackage{cite}
+\renewcommand\citepunct{;\penalty999\ }
+%%%% fin exemple %%%%
+
+* Pour afficher une clé à la place du label [??] dans le cas où
+LaTeX/BibTex ne trouve pas la clé spécifiée dans la
+bibliographie, on peut utiliser la macro suivante :
+
+%%%% debut macro %%%%
+\def\@citex[#1]#2{%
+ \let\@citea\@empty
+ \@cite{\@for\@citeb:=#2\do
+ {\@citea\def\@citea{,\penalty\@m\ }%
+ \edef\@citeb{\expandafter\@firstofone\@citeb}%
+ \if@filesw\immediate\write\@auxout{\string\citation{\@citeb}}
+ \fi
+%%%% Ligne originale %%%%
+% \@ifundefined{b@\@citeb}{\mbox{\reset@font\bfseries ?}%
+%%%% Ligne modifiée %%%%
+ \@ifundefined{b@\@citeb}{\mbox{\reset@font\bfseries \@citeb}%
+ \G@refundefinedtrue
+ \@latex@warning
+ {Citation `\@citeb' on page \thepage \space undefined}}%
+ {\hbox{\csname b@\@citeb\endcsname}}}}{#1}}
+%%%% fin macro %%%%
+
+# 15.14 # Comment construire une liste d'auteurs ?
+--------------------------------------------------
+Pour séparer les éléments d'une liste d'auteurs, il faut
+utiliser "and".
+
+Exemple :
+Dewitt, D.J. and Naughton, J.
+%%%% fin exemple %%%%
+
+# 15.15 # Comment spécifier un tri dans une bibliographie ?
+-----------------------------------------------------------
+Il existe l'outil BibTool disponible sur
+ftp://ftp.fdn.org/pub/CTAN/biblio/bibtex/utils/bibtool/ ou sur
+http://www.aber.ac.uk/~dbt93/Downloads/bibtool/. BibTool est un
+outil de manipulation de bases de données BibTeX et il permet en
+particulier de spécifier différents ordres de tri pour une
+bibliographie.
+
+Exemples :
+* bibtool -s file.bib -o the_new_bibtex_file.bib
+pour trier suivant les auteurs et les titres
+* bibtool -s -- 'sort.format={%d(year)}' file.bib -o
+the_new_bibtex_file.bib
+pour trier par ordre croissant des années de parution
+* bibtool -s -- 'sort.format={%s($type)%N(author)}' gn-publ.bib
+pour trier par classe de document et par auteur.
+
+L'appel du fichier ainsi trié se fait alors par exemple par :
+\documentclass{article}
+\begin{document}
+\nocite{*}
+\bibliographystyle{unsrt}
+\bibliography{the_new_bibtex_file}
+\end{document}
+%%%% fin exemple %%%%
+
+# 15.16 # Comment référencer les pages contenant des citations ?
+----------------------------------------------------------------
+Il faut utiliser le package 'backref' disponible sur CTAN.
+
+# 15.17 # Où trouver des styles de bibliographie ?
+--------------------------------------------------
+* Le package 'biblist' de J. Schrod offre différents styles de
+bibliographie prédéfinis. Il est disponible sur
+ftp://ftp.fdn.org/pub/CTAN/macros/latex209/contrib/biblist/.
+
+* Le package 'apacite' est disponible sur
+ftp://ftp.fdn.org/pub/CTAN/biblio/bibtex/contrib/.
+
+* Le package 'bbtbase' disponible sur CTAN propose des styles
+bibliographiques de base.
+
+* De nombreux autres styles sont disponibles sur CTAN.
+
+# 15.18 # Comment faire des références croisées ?
+-------------------------------------------------
+Il faut utiliser le champ crossref de bibtex.
+
+Exemple :
+@InProceedings{contejean96rta,
+ author = "Evelyne Contejean and Claude March\'e",
+ title = "{CiME: Completion Modulo $E$}",
+ crossref = "rta96",
+ pages = "416--419",
+ year = 1996,
+ note = "System Description",
+ ftp = "ftp://ftp.lri.fr/LRI/art/march/cime-rta96.ps.gz",
+ abstract = "http://www.lri.fr/~marche/cime-rta96.html"
+}
+
+@Proceedings{rta96,
+ title = "7th International Conference on ...",
+ booktitle = "7th International Conference on ...",
+ editor = "Harald Ganzinger",
+ publisher = SV,
+ year = 1996,
+ month = jul,
+ address = "New Brunswick, NJ, USA",
+ series = LNCS,
+ volume = 1103,
+}
+%%%% fin exemple %%%%
+
+ATTENTION : l'ordre de déclaration @InProceedings/@Proceedings
+ dans le fichier .bib est important.
+
+# 15.19 # Comment citer une URL ?
+---------------------------------
+* Le style harvard propose un champ URL. Il est disponible à :
+http://www.arch.su.edu.au/~peterw/latex/harvard/ ou sur
+ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/harvard/.
+
+* Le style bibliographique 'utphys', de J. Distler, disponible à
+http://xxx.lanl.gov/hypertex/bibstyles/ ajoute le champ eprint à
+toutes les entrées BibTeX classiques.
+
+* On peut également utiliser la macro @MISC et mettre la
+référence URL dans le champ note.
+
+* M. Moreau propose la solution suivante :
+J'ai recupéré le fichier falpha.bst auquel j'ai ajouté :
+
+FUNCTION {format.url}
+{ url empty$
+ {"empty"}
+ { url emphasize }
+ if$
+}
+
+FUNCTION {onTheNet}
+{ output.bibitem
+ format.authors output
+ format.title "title" output.check
+ new.block
+ institution "institution" output.check
+ format.date output
+ new.block
+ format.url "url" output.check
+ fin.entry
+}
+
+Autrement dit, si on peut avoir des documents de type onTheNet avec
+pour entrée obligatoire : title, institution, url et entrée
+optionnelle : author, year, month, note. L'URL est indiquée en
+italique.
+
+# 15.20 # Comment définir des initiales à deux lettres ?
+--------------------------------------------------------
+En français, les prénoms commencant par Ch, Ph, Th... ont pour
+initiales leurs deux premières lettres (Ex : Philippe --> Ph.).
+Pour forcer BibTeX à considérer ces groupes de lettres, il faut
+utiliser : {\relax Ph}ilippe. BibTeX prend alors tout le groupe
+{..} pour une lettre. La commande \relax est considérée comme
+une commande d'accent qui est supprimée lors du tri
+alphabétique. Elle est nécessaire car lorsqu'un groupe apparaît
+dans un nom, BibTeX s'attend à trouver une commande d'accent
+juste après l'accolade ouvrante.
+
+# 15.21 # Comment conserver les majuscules dans les titres ?
+------------------------------------------------------------
+Il suffit de mettre les majuscules entres accolades.
+
+# 15.22 # Comment changer l'espace entre les item ?
+---------------------------------------------------
+Il faut copier la définition de l'environnement thebibliography
+qui se trouve dans le fichier de style de la classe utilisée
+(par exemple article.cls pour un article) dans un fichier de
+style (qui sera appelé via une commande \usepackage) ou dans le
+préambule de votre document (entre \makeatletter, \makeatother).
+Il faut ensuite remplacer \newenvironment par \renewenvironment
+et modifier la définition en ajoutant \setlength{\itemsep}{0pt}
+après \list.
+
+# 15.23 # Comment réaliser des fiches de lecture ?
+--------------------------------------------------
+* S. O. Genaud (genaud@galaad.u-strasbg.fr) a écrit un petit
+logiciel de gestion des références bibliographiques au format
+BibTeX, sous la forme d'une interface graphique. La version
+actuelle n'est peut être pas exempte de tout bug. Elle tourne
+sur Linux, SunOS et Solaris avec la librairie xview.
+
+Pour récupérer l'exécutable ou avoir plus d'informations :
+http://icps.u-strasbg.fr/~genaud/FRM/
+
+Le programme bibfrm permet de lire un fichier BibTeX ou de créer
+un fichier de références bibliographiques au format BibTeX et
+d'associer à chaque référence un résumé. L'interface graphique
+permet de savoir immédiatement quels sont les champs optionnels
+et obligatoires pour un type de document donné. Le logiciel
+permet de parcourir les différentes références du fichier, de
+faire une recherche sur une chaîne, de trier les références par
+nom d'auteur, année ou type de document. Pour chaque référence,
+un résumé peut être saisi dans l'éditeur de texte incorporé dans
+l'interface. Ce résumé peut être envoyé par mail à une liste de
+diffusion prédéfinie.
+
+* Le package 'abstbook' disponible sur
+ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/other/misc/ permet de mettre en page des
+catalogues de résumés.
+
+# 15.24 # Comment utiliser la commande \cite dans un item ?
+-----------------------------------------------------------
+Pour utiliser la commande \cite dans l'item d'un environnement
+description, il suffit de l'encadrer dans des accolades.
+
+Exemple :
+\item[{\cite[\S3.1]{Author1}}]
+%%%% fin exemple %%%%
+
+# 15.25 # Comment générer l'expression et al automatiquement ?
+--------------------------------------------------------------
+Voici une fonction "format.names" (tirée de plain.bst) où V. Henn
+a rajouté quelques lignes pour mettre un et al pour les auteurs
+de numéro supérieurs à 4. N'importe quel style biblio utilise une
+fonction avec une syntaxe similaire, il n'y a qu'à insérer les
+nouvelles lignes dans la fonction format.names (juste avant la
+fin du while) du fichier biblio qui vous plaît et le tour est
+joué...
+
+%%%% debut macro %%%%
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 't :=
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ t "others" =
+ { " et~al." * }
+ { " and " * t * }
+ if$
+ }
+ if$
+ } % fin du "si nameptr > 1"
+ 't % "si nameptr = 1"
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+
+% ------------------------------
+% si à ce stade on se retrouve avec des noms à placer et que
+% le pointeur nameptr est égal à 4 alors il faut
+% 1. ajouter un "et al."
+% 2. ne pas prendre en compte les auteurs suivants : nameleft:=0
+ nameptr #4 = namesleft #0 > and
+ { " \emph{et~al.}" *
+ #0 'namesleft :=
+ }
+ 'skip$
+ if$
+% fin des ajouts
+% ------------------------------
+
+ }
+ while$ % tant qu'il reste des nom à placer
+}
+%%%% fin macro %%%%
+
+--
+Benjamin Bayart
+bayartb@edgard.fdn.fr