summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/frenchmath
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /macros/latex/contrib/frenchmath
Initial commit
Diffstat (limited to 'macros/latex/contrib/frenchmath')
-rw-r--r--macros/latex/contrib/frenchmath/README.md35
-rw-r--r--macros/latex/contrib/frenchmath/frenchmath.dtx442
-rw-r--r--macros/latex/contrib/frenchmath/frenchmath.ins55
-rw-r--r--macros/latex/contrib/frenchmath/frenchmath.pdfbin0 -> 476296 bytes
4 files changed, 532 insertions, 0 deletions
diff --git a/macros/latex/contrib/frenchmath/README.md b/macros/latex/contrib/frenchmath/README.md
new file mode 100644
index 0000000000..28cc6dc4ce
--- /dev/null
+++ b/macros/latex/contrib/frenchmath/README.md
@@ -0,0 +1,35 @@
+# The frenchmath package - Typesetting mathematics according to French rules
+
+
+## Presentation
+
+The package provides:
+- capital letters in upright shape for mathematical mode according to French rule (package option),
+- correct spacing after commas and before a semicolon in math mode,
+- some useful macros and aliases for symbols used in France : `\infeg`, `\supeg`, `\paral`,...
+- several macros for writing french operator names like pgcd, ppcm, Card, rg, Vect,...
+
+
+## Documentation
+
+The documentation is in French.
+
+
+## Installation
+
+- run LaTeX on frenchmath.ins, you obtain the file frenchmath.sty,
+- if then you run pdfLaTeX on frenchmath.dtx you get the file frenchmath.pdf which is also in the archive,
+- put the files frenchmath.sty and frenchmath.pdf in your TeX Directory Structure.
+
+
+## Author
+
+Antoine Missier
+
+Email: antoine.missier@ac-toulouse.fr
+
+
+## License
+
+Released under the LaTeX Project Public License v1.3 or later.
+See http://www.latex-project.org/lppl.txt
diff --git a/macros/latex/contrib/frenchmath/frenchmath.dtx b/macros/latex/contrib/frenchmath/frenchmath.dtx
new file mode 100644
index 0000000000..f9f413d647
--- /dev/null
+++ b/macros/latex/contrib/frenchmath/frenchmath.dtx
@@ -0,0 +1,442 @@
+% \iffalse meta-comment
+%
+% Copyright (C) 2019 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}
+ [2019/05/22 v1.4 .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{692}
+%
+% \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}
+%
+% \GetFileInfo{frenchmath.sty}
+%
+% \title{L'extension \textsf{frenchmath}\thanks{Ce document
+% correspond à \textsf{frenchmath}~\fileversion, dernière modification le 22/05/2019.}}
+% \author{Antoine Missier \\ \texttt{antoine.missier@ac-toulouse.fr}}
+% \date{22 mai 2019}
+% \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}$.
+%
+% \medskip
+% \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.
+%
+% \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}).}.
+%
+% \medskip
+% \DescribeMacro{\Card} \DescribeMacro{\card}
+% Pour le cardinal d'un ensemble, nous proposons |\Card|, cité dans~\cite{RTIN},
+% ou |\card|, cité dans~\cite{AA}.
+%
+% \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$.}.
+%
+%
+% \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]}
+\newcommand\Oij{\ensuremath{
+ \left(O, \vec{\imath}, \vec{\jmath}\,\right)
+ }\xspace
+}
+\newcommand\Oijk{\ensuremath{
+ \left(O, \vec{\vphantom{t}\imath}, \vec{\vphantom{t}\jmath},
+ \vec{\vphantom{t}\smash{k}}\,\right)
+ }\xspace
+}
+\newcommand\Ouv{\ensuremath{
+ \left(O, \vec{u}, \vec{v}\,\right)}\xspace
+}
+
+\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à
+% \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
diff --git a/macros/latex/contrib/frenchmath/frenchmath.ins b/macros/latex/contrib/frenchmath/frenchmath.ins
new file mode 100644
index 0000000000..5df632c9fb
--- /dev/null
+++ b/macros/latex/contrib/frenchmath/frenchmath.ins
@@ -0,0 +1,55 @@
+%%
+%% Copyright (C) 2019 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.
+%%
+
+\input docstrip.tex
+\keepsilent
+
+\usedir{tex/latex/frenchmath}
+
+\preamble
+
+This is a generated file.
+
+Copyright (C) 2019 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.
+
+\endpreamble
+
+\generate{\file{frenchmath.sty}{\from{frenchmath.dtx}{package}}}
+
+\obeyspaces
+\Msg{*************************************************************}
+\Msg{* *}
+\Msg{* To finish the installation you have to move the following *}
+\Msg{* file into a directory searched by TeX: *}
+\Msg{* *}
+\Msg{* frenchmath.sty *}
+\Msg{* *}
+\Msg{* To produce the documentation run the file frenchmath.dtx *}
+\Msg{* through LaTeX. *}
+\Msg{* *}
+\Msg{* Happy TeXing! *}
+\Msg{* *}
+\Msg{*************************************************************}
+
+\endbatchfile
diff --git a/macros/latex/contrib/frenchmath/frenchmath.pdf b/macros/latex/contrib/frenchmath/frenchmath.pdf
new file mode 100644
index 0000000000..29ea11e0cf
--- /dev/null
+++ b/macros/latex/contrib/frenchmath/frenchmath.pdf
Binary files differ