% \iffalse meta-comment
%
% Copyright (C) 2019-2020 by Antoine Missier <antoine.missier@ac-toulouse.fr>
%
% This file may be distributed and/or modified under the conditions of
% the LaTeX Project Public License, either version 1.3 of this license
% or (at your option) any later version.  The latest version of this
% license is in:
%
%   http://www.latex-project.org/lppl.txt
%
% and version 1.3 or later is part of all distributions of LaTeX version
% 2005/12/01 or later.
% \fi
%
% \iffalse
%<*driver>
\ProvidesFile{frenchmath.dtx}
%</driver>
%<*package> 
\NeedsTeXFormat{LaTeX2e}[2005/12/01]
\ProvidesPackage{frenchmath}   
    [2020/11/02 v1.5 .dtx frenchmath file]
%</package>
%<*driver>
\documentclass{ltxdoc}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[french]{babel}
\usepackage{lmodern}
\usepackage{frenchmath}
% pour l'exemple de la doc on utilise \PV pour simuler le ; d'origine
\DeclareMathSymbol{\PV}\mathpunct{UpSh}{059} % 059 = code du ;
\DisableCrossrefs         
%\CodelineIndex
%\RecordChanges
\usepackage{hyperref}
\hypersetup{%
    colorlinks,
    linkcolor=blue, 
    citecolor=blue,
    pdftitle={frenchmath}, 
    pdfsubject={LaTeX package}, 
    pdfauthor={Antoine Missier}
}
\begin{document}
  \DocInput{frenchmath.dtx}
  %\PrintChanges
  %\PrintIndex
\end{document}
%</driver>
% \fi
%
% \CheckSum{249}
%
% \CharacterTable
%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
%   Digits        \0\1\2\3\4\5\6\7\8\9
%   Exclamation   \!     Double quote  \"     Hash (number) \#
%   Dollar        \$     Percent       \%     Ampersand     \&
%   Acute accent  \'     Left paren    \(     Right paren   \)
%   Asterisk      \*     Plus          \+     Comma         \,
%   Minus         \-     Point         \.     Solidus       \/
%   Colon         \:     Semicolon     \;     Less than     \<
%   Equals        \=     Greater than  \>     Question mark \?
%   Commercial at \@     Left bracket  \[     Backslash     \\
%   Right bracket \]     Circumflex    \^     Underscore    \_
%   Grave accent  \`     Left brace    \{     Vertical bar  \|
%   Right brace   \}     Tilde         \~}
%
%
% \changes{v0.1}{27/12/2011}{Version personnelle préliminaire}
% \changes{v1.0}{15/01/2019}{Première version publiée, création des fichiers dtx et ins}
% \changes{v1.1}{07/04/2019}{Nouvelles macros pour les repères (Oij, Oijk),
% ajouté ensuremath dans curs}
% \changes{v1.1}{15/04/2019}{Changements mineurs dans la documentation}
% \changes{v1.2}{25/04/2019}{L'option capsrm fonctionne à présent avec beamer, 
% ajouté Ouv, modifications du fichier README.md}
% \changes{v1.2}{27/04/2019}{capsrm -> capsup}
% \changes{v1.3}{15/05/2019}{Intégration de icomma et psset{comma=true}, 
% changements dans la documentation}
% \changes{v1.4}{2019/05/22}{Changement de la définition de fonte up -> UpSh, 
% car incompatibilité avec l'extension unicode-math}
% \changes{v1.5}{2020/11/02}{Ajout des macros étoilées pour les repères du plan et de l'espace
% et la base (i,j,k)}
%
% \GetFileInfo{frenchmath.sty}
%
% \title{L'extension \textsf{frenchmath}\thanks{Ce document
%     correspond à \textsf{frenchmath}~\fileversion, dernière modification le 02/11/2020.}}
% \author{Antoine Missier \\ \texttt{antoine.missier@ac-toulouse.fr}}
% \date{2 novembre 2020}
% \maketitle
%
% \section{Introduction}
% Cette extension, inspirée de \textsf{mafr} de Christian Obrecht~\cite{MAFR},
% permet le respect des règles typographiques mathématiques françaises, 
% en particulier la possibilité d'obtenir automatiquement
% les majuscules en romain (lettres droites) plutôt qu'en italique 
% (voir~\cite{RTIN} et~\cite{IGEN})
% ainsi que des espacements corrects
% pour les virgules et point-virgules.
%
% D'autres solutions pour composer les majuscules mathématiques en romain
% sont proposées dans les extensions \textsf{fourier}~\cite{FOUR} 
% (avec la famille des polices Adobe Utopia)
% ou encore \textsf{mathdesign}~\cite{DESIGN} (avec les polices Adobe Utopia, 
% URW Garamond ou Bitstream Charter). Mais \textsf{frenchmath}
% fournit une méthode générique s'adaptant à n'importe quelle police, en particulier 
% Latin Modern (extension \textsf{lmodern}) avec laquelle ce document a été composé.
%
% D'autres préconisations, telles que composer en lettre droite
% et non en italique le symbole différentiel, les nombres i et e~\cite{IGEN}, 
% sont des règles internationales~\cite{TYPMA}~\cite{ICTNS}~\cite{LSHORT}.
% Elles ne sont donc pas implémentées dans \textsf{frenchmath}
% \footnote{Nous proposons pour cela l'extension \textsf{mismath}~\cite{MIS}
% qui fournit diverses macros pour les mathématiques internationales.}.
%
% L'extension fournit en outre diverses macros francisées.
% Quelques différences sont à signaler avec \textsf{mafr} : 
% \begin{itemize}
% \item nous avons choisi de ne pas substituer les symboles français aux symboles anglo-saxons 
% avec le même nom de commande mais de créer de nouvelles commandes ;
% \item les macros présentées dans la section 2 qui correspondent à des macros de \textsf{mafr}
% sont signalées par un astérisque en fin d'item, les autres sont nouvelles ;
% \item enfin quelques commandes de  \textsf{mafr} ne sont pas spécifiques 
% aux mathématiques françaises et ne sont donc pas abordées ici :
% c'est le cas de |\vect|
% \footnote{Pour de jolis vecteurs on dispose de l'extension \textsf{esvect}
% d'Eddie Saudrais~\cite{VECT}.},
% des ensembles de nombres |\R|, |\N|, \ldots (pour $\mathbf{R}, \mathbf{N}, \ldots$)
% ainsi que celles relatives à la réalisation de feuilles d'exercices.
% \end{itemize}
%
% Mentionnons aussi l'extension \textsf{tdsfrmath}~\cite{FRM} de Yvon Henel
% qui fournit beaucoup de commandes francisées.
%
% \section{Utilisation}
%
% \subsection{Majuscules mathématiques}
% En France, les lettres majuscules du mode mathématique doivent toujours
% être composées en romain ($A, B, C, \ldots$) et non en italique 
% (\cite{RTIN} p.107, voir aussi~\cite{IGEN}).
% Il faut dire que cette convention n'est pas commode à mettre en œuvre,
% ni avec \LaTeX, ni avec les éditeurs de formule des traitements de textes usuels,
% et peu d'auteurs la respectent.
% La mise en œuvre automatique de cette recommandation est le principal bénéfice 
% de \textsf{frenchmath} (comme de  \textsf{mafr}).
%
% \medskip
% \DescribeEnv{capsup, capsit}
% L'extension \textsf{frenchmath} possède deux options : |capsup| (par défaut) et |capsit|.
% Avec |capsit|, les majuscules du mode mathématique sont composées automatiquement
% en italique et avec |capsup|
% en forme droite (dans la famille de fonte par défaut, généralement romain).
% Quelque soit l'option choisie, il est toujours possible de changer l'aspect 
% d'une lettre particulière, avec les macros \LaTeX\ |\mathrm| et |\mathit|.
% Par défaut |\[ P(X)=\sum_{i=0}^{n}a_i X^i \]| donne
% \[ P(X)=\sum_{i=0}^{n}a_i X^i \]
%
% \subsection{Virgules et point-virgule}
% \StandardMathComma
% Dans le mode mathématique de \LaTeX, la virgule est toujours, par défaut, 
% un symbole de ponctuation qui sera donc suivi d'une espace.
% Ceci est légitime dans un intervalle :
% |$[a,b]$| donne $[a,b]$, mais pas pour un nombre en français : |$12,5$| donne $12,5$
% au lieu de \DecimalMathComma $12,5$.
% L'extension \textsf{babel}, avec l'option |french|~\cite{BABEL}, fournit deux bascules :
% |\DecimalMathComma| et |\StandardMathComma|, qui permettent d'adapter
% le comportement de la virgule du mode mathématique.
% Deux autres extensions bien commodes permettent néanmoins de se passer de ces bascules
% \footnote{Dans ce cas il ne faut pas utiliser les bascules, 
% au risque de rendre ces extensions inopérantes.}.
% En mode mathématique :
% \begin{itemize}
% \item avec \textsf{icomma} (intelligent comma) de Walter Schmidt~\cite{ICOMMA},
% la virgule se comporte comme un caractère de ponctuation si elle est suivie d'une espace,
% sinon c'est un caractère ordinaire,
% \item avec \textsf{ncccomma} de Alexander I.~Rozhenko~\cite{NCC},
% la virgule se comporte comme un caractère ordinaire si elle est suivie d'un chiffre 
% (sans espace), sinon c'est un caractère de ponctuation.
% \end{itemize}
% Cette deuxième approche parait meilleure, néanmoins \textsf{ncccomma}
% ne fonctionne pas avec l'extension \textsf{numprint} 
% lorsque celle-ci est chargée avec l'option \texttt{autolanguage}
% \footnote{L'option \texttt{autolanguage} de \textsf{numprint} utilisé 
% conjointement avec l'option \texttt{french} de \textsf{babel} garantit un espacement
% correct entre les groupes de trois chiffres dans les grands nombres,
% qui doit être une espace insécable et non dilatable~\cite{RTIN},
% légèrement plus grand que l'espace que l'on obtient sans cette option.}.
% Par contre \textsf{icomma} fonctionne mais à condition d'être chargé postérieurement.
% Vu son intérêt cette extension est automatiquement chargée par \textsf{frenchmath}.
% Il faudra donc prendre garde à appeler, dans le préambule, |\usepackage{frenchmath}|
% \emph{après} un éventuel |\usepackage[autolanguage]{numprint}|.
%
% Mentionnons enfin l'article \emph{Intelligent commas} de Claudio Beccari~\cite{BECC}
% qui propose une solution simplifiée par rapport à \textsf{ncccomma} mais qui
% ne fonctionne pas mieux.
%
% \medskip
% Lorsque l'on utilise l'extension \textsf{pstricks-add} de \textsf{PSTricks}
% pour tracer des axes de coordonnées, l'appel |\psset{comma=true}|
% permet d'avoir les graduations avec une virgule au lieu du point décimal.
% Ce réglage est effectué par défaut ici.
%
% \medskip
% Le symbole \og;\fg\ a été redéfini pour le mode mathématique
% car l'espace précédant le point-virgule est incorrecte en français
% |$x \in [0,25 ; 3,75]$| donne
% $x\in [0,25 \PV 3,75 ]$ sans \textsf{frenchmath} et $x\in [0,25; 3,75]$ 
% avec \textsf{frenchmath} ;
% le comportement de \og ;\fg devient identique à celui de \og:\fg
% \footnote{Un autre problème d'espacement, non spécifique au français,
% se pose avec les délimiteurs $[$ et $]$,
% par exemple  $x \in ]0, \pi[$. Une solution est proposée
% dans l'extension \textsf{mismath}.}. 
% \StandardMathComma
%
% \subsection{Quelques macros et alias utiles}
%
% \DescribeMacro{\curs}
% Les lettres cursives ($\curs{A}, \curs{B}, \curs{C}, \curs{D}, \ldots$) sont composées
% avec la macro |\curs| et sont différentes de celles obtenues 
% avec |\mathcal| 
% \footnote{L'extension \textsf{calrsfs} fournit les mêmes cursives mais en redéfinissant
% la commande \texttt{\bslash mathcal}.}
% ($\mathcal{A}, \mathcal{B}, \mathcal{C}, \mathcal{D}, \ldots$).
% L'activation du mode mathématique n'est pas nécessaire.*
% \footnote{Comme dit dans l'introduction, l'astérisque en fin d'item signale
% une fonctionnalité similaire dans \textsf{mafr}.}
%
% \medskip
% \DescribeMacro{\infeg} \DescribeMacro{\supeg}
% Les relations $\infeg$ et $\supeg$ s'obtiennent avec les commandes |\infeg| et |\supeg|
% et diffèrent des versions anglaises de |\leq| ($\leq$) et |\geq| ($\geq$).
% Ce sont des alias des commandes |\leqslant| et |\geqslant| de l'extension \textsf{amssymb}
% chargée par \textsf{frenchmath}.*
%
% \medskip
% \DescribeMacro{\vide}
% Le symbole $\vide$ 
% \footnote{\LaTeX\ fournit la commande \texttt{\bslash o} qui compose
% également un O barré, mais trop décalé vers le bas (pour l'ensemble vide) : $S=\o$,
% alors qu'avec \texttt{\bslash vide} on obtient $S=\vide$.}
% s'obtient avec |\vide| (alias de |\varnothing| de l'extension \textsf{amssymb}) ;
% il diffère de la version anglaise 
% obtenue avec |\emptyset| : $\emptyset$.*
%
% \medskip
% \DescribeMacro{\paral}
% La commande |\paral| fournit la \emph{relation} 
% \footnote{Pour noter que deux objets sont perpendiculaires, on utilise 
% \texttt{\bslash perp}, défini comme une \emph{relation} mathématique plutôt que 
% \texttt{\bslash bot} défini comme un \emph{symbole} (les espacements diffèrent).}
% du parallélisme : $\paral$,
% plutôt que sa version anglaise |\parallel| : $\parallel$.*
%
% \medskip
% \DescribeMacro{\ssi}
% La commande |\ssi| produit \og \ssi \fg.
%
% \medskip
% \DescribeMacro{\cmod}
% Bien que \LaTeX\ propose par défaut le modulo entre parenthèses, avec |\pmod|, 
% qui est d'usage en français, on peut vouloir composer  un modulo entre crochets,
% ce que permet la commande |\cmod| en respectant le bon espacement
% propre au modulo : $ 5 \equiv 53 \cmod{12}$.
%
% \subsection{Identifiants de \og fonctions\fg classiques}
%
% \DescribeMacro{\pgcd} \DescribeMacro{\ppcm} 
% En arithmétique, nous avons les classiques |\pgcd| et |\ppcm|, 
% qui diffèrent de leur version anglo-saxonne |\gcd| et |\lcm|
% \footnote{Cette dernière n'est pas implémentée en standard dans \LaTeX\ 
% (mais dans \textsf{mismath}).}.
%
% \newpage
% \DescribeMacro{\card} \DescribeMacro{\Card}
% Pour le cardinal d'un ensemble, nous proposons |\card|, cité dans~\cite{RTIN} et \cite{AA}, 
% ou |\Card|, d'usage courant (cf. Wikipedia).
%
% \medskip
% \DescribeMacro{\Ker} \DescribeMacro{\Hom}
% \LaTeX\ fournit les macros
% |\ker| et |\hom| alors que l'usage français est souvent
% de commencer ces noms par une majuscule pour obtenir $\Ker$
% \footnote{La commande \texttt{\bslash Im} existe déjà pour la
% partie imaginaire des nombres complexes et produit $\Im$ ; 
% elle est redéfinie en Im par l'extension \textsf{mismath} 
% et peut aussi être utilisée pour l'image.}
% et $\Hom$.
%
% \medskip
% \DescribeMacro{\rg} \DescribeMacro{\Vect}
% Le rang d'une application linéaire ou d'une matrice ($\rg$) s'obtient avec la commande |\rg|
% et l'espace vectoriel engendré par une famille de vecteurs avec |\Vect|.
%
% \medskip
% \DescribeMacro{\ch} \DescribeMacro{\sh} \DescribeMacro{\tgh}
% En principe, les fonctions hyperboliques s'écrivent en français avec les macros \LaTeX\ standard
% |\cosh, \sinh, \tanh| ; les écritures $\ch x$, $\sh x$ et $\tgh x$ ne sont la norme
% qu'avec les langues d'Europe de l'Est~\cite{COMP}, néanmoins ces écritures
% sont aussi utilisées en France~\cite{RTIN}. 
% On les obtient avec les commandes |\ch|, |\sh| et |\tgh|
% \footnote{La commande \texttt{\bslash th} existe déjà et produit $\th$.}.
%
% \subsection{Bases et repères}
%
% \DescribeMacro{\Oij} \DescribeMacro{\Oijk}
% Les repères classiques du plan ou de l'espace seront composés 
% avec des hauteurs de flèches homogénéisées :
% |\Oij| compose \Oij, |\Oijk| compose \Oijk et |\Ouv| compose \Ouv
% (utilisé dans le plan complexe). \DescribeMacro{\Ouv}
% On peut écrire ces commandes en mode texte, sans les délimiteurs du mode mathématique.
%
% \DescribeMacro{\Oij*} \DescribeMacro{\Oijk*} \DescribeMacro{\Ouv*}
% Les versions étoilées utilisent le point-virgule et non la virgule
% comme séparateur après le point O, comme mentionné dans \cite{RTIN}.
% On obtient \Oij*, \Oijk*, \Ouv*.
%
% \DescribeMacro{\ij} \DescribeMacro{\ijk}
% Enfin les macros |\ij| et |\ijk| composent la base du plan \ij 
% et de l'espace \ijk, en homogénéisant la hauteur des flèches.
% Notons que la macro |\ij| existait déjà (ligature entre i et j pour le hollandais)
% et a été redéfinie.
%
% \StopEventually{}
%
% \section{Le code}
%
%    \begin{macrocode}
\RequirePackage{ifthen}
\newboolean{capsit}
\DeclareOption{capsit}{\setboolean{capsit}{true}}
\DeclareOption{capsup}{\setboolean{capsit}{false}} % valeur par défaut
\ProcessOptions \relax

\RequirePackage{mathrsfs} % fournit les majuscules cursives
\RequirePackage{amssymb} % fournit \leqslant, \geqslant et \varnothing
\RequirePackage{amsopn} % fournit \DeclareMathOperator
\RequirePackage{xspace} % utile pour les commandes \curs, \ssi, \Oij
\RequirePackage{icomma} % virgule intelligente

\DeclareSymbolFont{UpSh}{\encodingdefault}{\familydefault}{m}{n} 
%    \end{macrocode}
% L'option \texttt{capsup} redéfinit toutes les lettres majuscules
% du mode mathématique ; |\AtBeginDocument| est nécessaire pour que 
% ces définitions soient prises en compte avec l'extension \textsf{beamer}.
% \smallskip
%    \begin{macrocode}
\ifthenelse{\boolean{capsit}}{}{\AtBeginDocument{
    \DeclareMathSymbol{A}\mathalpha{UpSh}{`A} %'A codage octal du A
    \DeclareMathSymbol{B}\mathalpha{UpSh}{`B}
    \DeclareMathSymbol{C}\mathalpha{UpSh}{`C}
    \DeclareMathSymbol{D}\mathalpha{UpSh}{`D}
    \DeclareMathSymbol{E}\mathalpha{UpSh}{`E}
    \DeclareMathSymbol{F}\mathalpha{UpSh}{`F}
    \DeclareMathSymbol{G}\mathalpha{UpSh}{`G}
    \DeclareMathSymbol{H}\mathalpha{UpSh}{`H}
    \DeclareMathSymbol{I}\mathalpha{UpSh}{`I}
    \DeclareMathSymbol{J}\mathalpha{UpSh}{`J}
    \DeclareMathSymbol{K}\mathalpha{UpSh}{`K}
    \DeclareMathSymbol{L}\mathalpha{UpSh}{`L}
    \DeclareMathSymbol{M}\mathalpha{UpSh}{`M}
    \DeclareMathSymbol{N}\mathalpha{UpSh}{`N}
    \DeclareMathSymbol{O}\mathalpha{UpSh}{`O}
    \DeclareMathSymbol{P}\mathalpha{UpSh}{`P}
    \DeclareMathSymbol{Q}\mathalpha{UpSh}{`Q}
    \DeclareMathSymbol{R}\mathalpha{UpSh}{`R}
    \DeclareMathSymbol{S}\mathalpha{UpSh}{`S}
    \DeclareMathSymbol{T}\mathalpha{UpSh}{`T}
    \DeclareMathSymbol{U}\mathalpha{UpSh}{`U}
    \DeclareMathSymbol{V}\mathalpha{UpSh}{`V}
    \DeclareMathSymbol{W}\mathalpha{UpSh}{`W}
    \DeclareMathSymbol{X}\mathalpha{UpSh}{`X}
    \DeclareMathSymbol{Y}\mathalpha{UpSh}{`Y}
    \DeclareMathSymbol{Z}\mathalpha{UpSh}{`Z}
}}
\AtBeginDocument{\@ifpackageloaded{pstricks-add}{\psset{comma=true}}{}}
\DeclareMathSymbol{;}\mathbin{UpSh}{059} % \mathpunct à l'origine

\newcommand*\curs[1]{\ensuremath{\mathscr{#1}}\xspace}
\newcommand\infeg{\leqslant} 
\newcommand\supeg{\geqslant} 
\newcommand\vide{\varnothing}
\newcommand\paral{\mathrel{/\!\!/}} % \parallel existe déjà : ||
\newcommand\ssi{si, et seulement si,\xspace}
\newcommand*\cmod[1]{\quad[#1]}

\DeclareMathOperator{\pgcd}{pgcd}
\DeclareMathOperator{\ppcm}{ppcm}
\DeclareMathOperator{\card}{card}
\DeclareMathOperator{\Card}{Card}
\DeclareMathOperator{\Ker}{Ker}
\DeclareMathOperator{\Hom}{Hom}
\DeclareMathOperator{\rg}{rg}
\DeclareMathOperator{\Vect}{\Vect}
\DeclareMathOperator{\ch}{ch}
\DeclareMathOperator{\sh}{sh}
\DeclareMathOperator{\tgh}{th} %\th existe déjà

\newcommand\@Oij{\ensuremath{
    \left(O, \vec{\imath}, \vec{\jmath}\,\right)
    }\xspace
}
\newcommand\@@Oij{\ensuremath{
    \left(O ; \vec{\imath}, \vec{\jmath}\,\right)
    }\xspace
}
\newcommand\Oij{\@ifstar{\@@Oij}{\@Oij}}

\newcommand\@Oijk{\ensuremath{
    \left(O, \vec{\vphantom{t}\imath}, \vec{\vphantom{t}\jmath}, 
    \vec{\vphantom{t}\smash{k}}\,\right)
    }\xspace
}
\newcommand\@@Oijk{\ensuremath{
    \left(O ; \vec{\vphantom{t}\imath}, \vec{\vphantom{t}\jmath}, 
    \vec{\vphantom{t}\smash{k}}\,\right)
    }\xspace
}
\newcommand\Oijk{\@ifstar{\@@Oijk}{\@Oijk}}

\newcommand\@Ouv{\ensuremath{
    \left(O, \vec{u}, \vec{v}\,\right)}\xspace
}
\newcommand\@@Ouv{\ensuremath{
    \left(O ; \vec{u}, \vec{v}\,\right)}\xspace
}
\newcommand\Ouv{\@ifstar{\@@Ouv}{\@Ouv}}

\AtBeginDocument{\renewcommand\ij{\ensuremath{
    \left(\vec{\imath}, \vec{\jmath}\,\right)
    }\xspace
}}
\newcommand\ijk{\ensuremath{
    \left(\vec{\vphantom{t}\imath}, \vec{\vphantom{t}\jmath}, 
    \vec{\vphantom{t}\smash{k}}\,\right)
    }\xspace
}

%    \end{macrocode}
%
% \begin{thebibliography}{19}
% \bibitem{RTIN} \emph{Lexique des règles typographiques en usage à l’Imprimerie Nationale}.
% Édition du 26/08/2002.
% \bibitem{IGEN} \emph{Composition des textes scientifiques}.
% Inspection générale de mathématiques (IGEN-DESCO), 06/12/2001.
% \bibitem{AA} \emph{Règles françaises de typographie mathématique}. Alexandre André, 02/09/2015.
% \bibitem{ES} \emph{Le petit typographe rationnel}. Eddie Saudrais, 20/03/2000.
% \bibitem{ISO} \emph{Norme ISO 31-11: 1992 et sa révision ISO 80000-2: 2009 (extraits)}.
% http://aalem.free.fr/maths/mathematiques.pdf.
% \bibitem{TYPMA} \emph{Typesetting mathematics for science and technology according 
% to ISO 31/XI}, Claudio Beccari, TUGboat Volume 18 (1997), \No1.
% \bibitem{ICTNS} \emph{On the Use of Italic and up Fonts for Symbols in Scientific Text},
% I.M.~Mills and W.V.~Metanomski, ICTNS (Interdivisional Committee on Nomenclature and Symbols), 
% dec 1999.
% \bibitem{COMP} \emph{\LaTeX\ Companion}. Frank Mittelbach, Michel Goossens,
% 2\ieme édition, Pearson Education France, 2005.
% \bibitem{LSHORT} \emph{The Not So Short Introduction to \LaTeXe}. Manuel \LaTeX\
% de Tobias Oetiker, Hubert Partl, Irene Hyna et Elisabeth Schlegl, CTAN, v6.2 28/02/2018.
% \bibitem{MAFR} \emph{La distribution \textsf{mafr}}. Extension \LaTeX\ de Christian Obrecht, 
% CTAN, v1.0 17/09/2006.
% \bibitem{FRM} \emph{L'extension \textsf{tdsfrmath}}. Extension \LaTeX\ de Yvon Henel, 
% CTAN, v1.3 22/06/2009.
% \bibitem{FOUR} \textsf{Fourier}-GUT\hspace{-0.1em}\emph{enberg}.
% Extension \LaTeX\ de Michel Bovani, CTAN, v1.3 30/01/2005.
% \bibitem{DESIGN} \emph{The \textsf{mathdesign} package}. Extension \LaTeX\ de
% Paul Pichaureau, CTAN, 29/08/2013.
% \bibitem{BABEL} \emph{A Babel language definition file for French}. Extension \LaTeX\ 
% \textsf{babel-french} de Daniel Flipo, CTAN, v3.5c 14/09/2018.
% \bibitem{ICOMMA} \emph{The \textsf{icomma} package for \LaTeXe}. 
% Extension \LaTeX\ de Walter Schmidt, CTAN, v2.0 10/03/2002.
% \bibitem{NCC} \emph{The \textsf{ncccomma} package}. Alexander I.~Rozhenko, 
% CTAN, v1.0 10/02/2005.
% \bibitem{BECC} \emph{Intelligent commas}. Claudio Beccari, The Prac\TeX\ Journal, 
% 2011, No.\@1
% \bibitem{VECT} \emph{Typesetting vectors with beautiful arrow with \LaTeXe}.
% Extension \LaTeX\ \textsf{esvect} d'Eddie Saudrais, CTAN, v1.3 11/07/2013.
% \bibitem{MIS} \emph{\textsf{mismath} -- Miscellaneus mathematical macros}. Extension \LaTeX\ 
% d'Antoine Missier, CTAN, v1.4 22/05/2019.
% \end{thebibliography}

% \Finale
\endinput
