Previous Contents Next

Chapter 12   Mathématiques

Ce pour quoi LATEX a été écrit : les mathématiques, c'est un domaine où il excelle.

12.1   Comment passer en mode mathématique ?

Pour les mathématiques en ligne, il faut utiliser :

  1. $ et $ ou
  2. \( et \) ou
  3. \begin{math} et \end{math}
Exemple :
 
Résoudre l'équation: 
$ 3 + 4 x = 0 $ 
%%%% fin exemple %%%%
ce qui donne :

 

Résoudre l'équation : 3 + 4 x = 0

 

Pour les formules isolées, il faut utiliser les modes :

  1. $$ et $$ ou
  2. \[ et \] ou
  3. \begin{displaymath} et  \end{displaymath}.
Exemple :
 
Résoudre l'équation: 
$$ 
3 + 4 x = 0 
$$ 
%%%% fin exemple %%%%
ce qui donne :

 

Résoudre l'équation :
3 + 4 x = 0

 

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 %%%%
ce qui donne :

 

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 åi=0n ui texte texte texte texte texte texte texte texte texte texte texte texte texte texte

 

De même, on peut utiliser

$\sum\limits{i=0}n u_i$.
ce qui donne :

 

åi=0n ui.

 

Pour écrire des mathématiques sous LATEX 2e, 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 LATEX 2e. 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/amslatex/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/required/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 :

        \def\N{\mbox{I\hspace{-.15em}N}} 
        \def\Z{\mbox{Z\hspace{-.3em}Z}}
        \def\R\mbox{I\hspace{-.15em}R}}
        \def\C{\mbox{l\hspace{-.47em}C}}
Il faut savoir dans ce cas que leur utilisation est limitée :

C. Fiorio (fiorio@math.tu-berlin.de) propose également un certain nombre de macros (LATEX 2e) :

%%%% 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 :

Exemple :
 
\font\bbold=bbold12 
\newcommand{\R}{\mbox{\bbold R}} 
%%%% fin exemple %%%%
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 LATEX 2e, 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 %%%%
ce qui donne :

x + 4 = 0     (12.1)
8 - y = 0     (12.2)

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 %%%%
ce qui donne :

x + 4 = 0
8 - y = 0

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 LATEX 2e 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 %%%%
ce qui donne :

x - y = 0     (12.3)
...
x = y equa     (12.4)

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_12 x_22 + x_3 
\label{E:gp1} \\ 
    x_1 x_3 + x_12 x_32 + 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 %%%%
ce qui donne :

x1 x2 + x12 x22 + x3     (12.5)
x1 x3 + x12 x32 + x2     (12.6)
x1 x2 x3     (12.7)
[...] Voir le système ?? et en particulier l'équation ??.

Remarque :
c'est le \\ qui incrémente le compteur des sous-références.

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) & = & x2 + 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 %%%%
ce qui donne :

 

2 x= y+ z
x_1= y_1+ z_1 5 10a=3x3y+18z2w
6a=17x+5z19w

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 %%%%
ce qui donne :

 

Le vecteur u

 

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 %%%%
ce qui donne :

 

( 1/2 ) { et } Résoudre le système :
ì
í
î
x + y = 0
x - y = 0

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 %%%%
ce qui donne :

 

( (x+1) (x-1) ) 2 {{{{

12.9   Comment changer de fonte en mode mathématique ?

Il faut utiliser les packages 'amsmath' ou 'amssymb' puis :

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.
\DeclareMathAlphabet\mbi{OML}{cmm}{b}{it}
\DeclareSymbolFont{mathbold}{OML}{cmm}{b}{it} 
\DeclareMathSymbol{\biGamma}{\mathord}{mathbold}{0}
\boldsymbol{\alpha}
\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.
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 %%%%
ce qui donne :

Une formule importante : bold
n
å
i=0
ui + vi
Une formule moins importante : normal
n
å
i=0
vi


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.

\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

 


\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 sqsubset \sqsupset sqsupset \neq ¹ \smile  
\sqsubseteq \sqsupseteq \doteq =· \frown  
\in Î \ni ' \propto µ    
\vdash |- \dashv -|        

 


\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    

 


\sum å \bigcap Ç \bigodot  
\prod Õ \bigcup È \bigotimes Ä
\coprod \bigsqcup ú`½ \bigoplus Å
\int ò \bigvee Ú \biguplus  
\oint \bigwedge Ù    

 


\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 CTAN dans /fonts/stmaryrd/, et 'yhmath' également disponible sur CTAN dans /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 arccos \cos cos \csc csc \exp exp
\arcsin arcsin \cosh cosh \deg deg \gcd gcd
\arctan arctan \cot cot \det det \hom hom
\arg arg \coth coth \dim dim \inf inf
\ker ker \limsup limsup \min min \sinh sinh
\lg lg \ln ln \Pr Pr \sup sup
\lim lim \log log \sec sec \tan tan
\liminf liminf \max max \sin sin \tanh tanh

\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 LATEX 2e, 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 %%%%
ce qui donne :

x11 ··· x1p
·
·
·
·  
 · 
  ·
·
·
·
xn1 ··· xnp

Pour encadrer cette matrice avec des délimiteurs, cf. paragraphe ??.

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 :

Exemple :
 
\[ 
\begin{pmatrix} 
         a & b 
\\ 
         c & d 
\end{pmatrix} 
\] 
%%%% fin exemple %%%%
 

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 %%%%
ce qui donne :

a=b

 

Il existe également la commande \fbox.

Remarqu :
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 %%%%
ce qui donne :

x + y + z = 0
2x + 2y + 2z = 0
    (12.8)

 

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} 
ds2&
\,=\,& \displaystyle{\frac{\epsilon{\prime 2}}{L2} 
\frac{12N}{(N+1)(N+2)}} 
\end{Beqnarray} 

%%%% fin exemple %%%%
ce qui donne :

3pt ds^2 = e^2/L^2 12N/(N+1)(N+2)

 

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 %%%%
ce qui donne :

[au dessus]en dessous

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/required/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 %%%%
ce qui donne :

d ¾® e ¾® f
­       ­
a ¾® b ¾® c

 

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 :

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 
\cdrl {\gamma}{\delta} H \cdr {}{\Delta} K \\ 
\cd. \cdud {f}{g} \cd| {h}{k} \\ 
\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 'algorithm' 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 %%%%
ce qui donne :

rAB r AB r AB

 

En utilisant les caractères romans, on peut appliquer la commande \small.

Exemple
:
$\rho_{\textrm{\small AB}}$ 
%%%% fin exemple %%%%
ce qui donne :

rAB

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 %%%%
ce qui donne :

f
 
ef d
= f
 
ef
au lieu de : fd = f
 
ef

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 %%%%
Les trois packages suivants permettent de définir son propre style.

  1. 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
  2. Le package 'theorem', disponible sur CTAN. Voir le fichier theorem.dvi
  3. 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 Ö Ö Ö
Pas de numérotation d'un théoreme Ö   Ö
Position du numéro du théoreme   Ö Ö
Style de la numérotation     Ö
Ponctuation après le titre (:,.,etc) Ö   Ö
Fonte du titre ou du corps Ö Ö Ö
Indentation du titre Ö    
Espace vertical autour du théorème Ö Ö Ö

Table 12.1: Tableau récapitulatif des fonctionnalités des packages


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{BA}$$} 
        {
\mathtitre1 $$A+B=C{BA}$$} 
        {
\mathtitre2 $$A+B=C{BA}$$} 
        {
\mathtitre3 $$A+B=C{BA}$$} 
        {
\mathtitre4 $$A+B=C{BA}$$} 
        {
\mathtitre5 $$A+B=C{BA}$$} 
\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/required/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 :

Exemple :
 
\[ 
\begin{array}{l} 
   sin cos 
\\ 
   sin 
\! cos \\ 
   sin 
\, cos \\ 
   sin 
\  cos \\ 
   sin 
\quad cos \\ 
   sin 
\qquad cos \\ 
\end{array} 
\] 
%%%% fin exemple %%%%
ce qui donne :

sin cos
sin cos
sin   cos
sin cos
sin    cos
sin      cos

12.34   Comment ecrire un interieur proprement ?

Pour écrire un intérieur suivant les habitudes mathématiques françaises, Yannis Haralambous propose un package, ymath, disponible sur le CTAN dans ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/yhmath. On y trouve notamment les commandes \ring{} et \windering{} pour définir un intérieur.

Exemple :
 
\[ > \ring{A}=\widering{\bigcup\limits_{x\in A} \{x\}} > \]

%%%% fin exemple %%%% 
On pourra utiliser aussi \wideparen pour étendre ce genre de notation à d'autre caractères que le rond de l'intérieur.

12.35   Comment obtenir des accolades horizontales ?

\overbrace et \underbrace.

Exemple :
 
\[ 
\overbrace{f(x)}{=0} + \underbrace{g(y)}_{=0} = 0 
\] 
%%%% fin exemple %%%%
ce qui donne :

f(x)=0 + g(y)=0 = 0

12.36   Comment obtenir des points de suspensions ?

En mode math, il existe différents types de points de suspension suivant leur orientation :

Exemple :
 
\[ 
\begin{array}{ccc} 
   x_{11} & 
\cdots & x_{1p} \\ 
   
\vdots & \ddots & \vdots \\ 
   x_{n1} & 
\cdots & x_{np} 
\end{array} 
\] 
%%%% fin exemple %%%%
ce qui donne :

x11 ··· x1p
·
·
·
·  
 · 
  ·
·
·
·
xn1 ··· xnp

12.37   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 %%%%
ce qui donne :

ì
í
î
x = sin a cos b
y = sin a sin b

 

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 etre 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/required/tools/ peut également être utilisé dans ce but.

12.38   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.39   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 %%%%
ce qui donne :

en formule :
a
6 + 2
ou dans le texte a/6 + 2.

12.40   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 %%%%
ce qui donne :

[3][g]x+y

12.41   Quels sont les délimiteurs disponibles ?

12.42   Comment appeler les lettres grecques ?

Il suffit de faire précéder leur nom en toutes lettres d'un backslash :

12.43   Quels sont les accents mathématique standards ?

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 :

12.44   Comment superposer deux symboles ?

Il existe pour cela la commande

\stackrel{dessus}{dessous}
Exemple :
 
\[ 
\stackrel{\theta}{\Rightarrow} B 
\] 
%%%% fin exemple %%%%
ce qui donne :

A
q
Þ
 
B

12.45   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.46   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.47   Comment tracer un tableau de variations ?

Avec l'environnement array en mode mathématiques (cf. question ??).

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 %%%%
ce qui donne :

x -¥   0   +¥
f'(x) 5 + 0 - -10
      10    
f(x)          
  -¥       -10

 

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 %%%%
ce qui donne :

=1cm 2cm (2,2) (0,0)(1,1)2




Previous Contents Next