diff options
Diffstat (limited to 'Master/texmf-doc/doc/french/FAQ-fr/part4')
-rw-r--r-- | Master/texmf-doc/doc/french/FAQ-fr/part4 | 2906 |
1 files changed, 0 insertions, 2906 deletions
diff --git a/Master/texmf-doc/doc/french/FAQ-fr/part4 b/Master/texmf-doc/doc/french/FAQ-fr/part4 deleted file mode 100644 index 36dd3e146d6..00000000000 --- a/Master/texmf-doc/doc/french/FAQ-fr/part4 +++ /dev/null @@ -1,2906 +0,0 @@ -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 |