texlive[69211] Master/texmf-dist: frenchmath (24dec23)

commits+karl at tug.org commits+karl at tug.org
Sun Dec 24 22:26:52 CET 2023


Revision: 69211
          https://tug.org/svn/texlive?view=revision&revision=69211
Author:   karl
Date:     2023-12-24 22:26:52 +0100 (Sun, 24 Dec 2023)
Log Message:
-----------
frenchmath (24dec23)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/frenchmath/README.md
    trunk/Master/texmf-dist/doc/latex/frenchmath/frenchmath.pdf
    trunk/Master/texmf-dist/source/latex/frenchmath/frenchmath.dtx
    trunk/Master/texmf-dist/tex/latex/frenchmath/frenchmath.sty

Modified: trunk/Master/texmf-dist/doc/latex/frenchmath/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/frenchmath/README.md	2023-12-24 15:11:59 UTC (rev 69210)
+++ trunk/Master/texmf-dist/doc/latex/frenchmath/README.md	2023-12-24 21:26:52 UTC (rev 69211)
@@ -5,10 +5,10 @@
 
 The package provides:
 - roman uppercase letters in mathematical mode according to French rule (can be optionnally disabled),
-- optionally lowercase Greek letters in upright shape,
 - correct spacing in math mode after commas, before a semicolon and around square brackets,
 - 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,...
+- several macros for writing French operator names like pgcd, ppcm, Card, rg, Vect,...
+- optionally lowercase Greek letters in upright shape.
 
 
 ## Documentation

Modified: trunk/Master/texmf-dist/doc/latex/frenchmath/frenchmath.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/source/latex/frenchmath/frenchmath.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/frenchmath/frenchmath.dtx	2023-12-24 15:11:59 UTC (rev 69210)
+++ trunk/Master/texmf-dist/source/latex/frenchmath/frenchmath.dtx	2023-12-24 21:26:52 UTC (rev 69211)
@@ -20,7 +20,7 @@
 %<*package> 
 \NeedsTeXFormat{LaTeX2e}[2005/12/01]
 \ProvidesPackage{frenchmath}
-    [2023/03/08 v2.6 .dtx frenchmath file]
+    [2023/12/15 v2.7 .dtx frenchmath file]
 %</package>
 %<*driver>
 \documentclass{ltxdoc}
@@ -27,9 +27,9 @@
 \usepackage[utf8]{inputenc}
 \usepackage[T1]{fontenc}
 \usepackage[french]{babel}
-\usepackage[font=fcm]{lgrmath}
-\usepackage{mathpazo}
-\usepackage[upgreek]{frenchmath}
+\usepackage{lmodern}
+\usepackage[lgrmath]{frenchmath}
+\usepackage[Euler]{upgreek}
 \usepackage{textalpha} 
 \usepackage{metalogo} % pour les logos XeLaTeX et LuaLaTeX
 \usepackage{sectsty}
@@ -65,7 +65,7 @@
 %</driver>
 % \fi
 %
-% \CheckSum{535}
+% \CheckSum{519}
 %
 % \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
@@ -85,6 +85,7 @@
 %
 %
 % \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}
 %
@@ -109,7 +110,8 @@
 %        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)}
+%    - Ajout des macros étoilées pour les repères (O;i,j) et (O;i,j,k)
+%    - ajout des macros pour les bases (i,j) et (i,j,k)}
 %
 % \changes{v1.6}{2022/10/16}{
 %    - Remplacement de icomma par ncccomma, grâce à une proposition de J. F. Burnol,
@@ -156,27 +158,43 @@
 % \changes{v2.6}{08/03/2023}{
 %    - La macro curs ne doit et ne peut plus être utilisée en mode texte}
 %
+% \changes{v2.7}{06/12/2023}{
+%    - Nouveau package decimalcomma pour la virgule en mode math}
+% \changes{v2.7}{08/12/2023}{
+%    - Changements dans la doc : lettres grecques en dernier, retour à la police lmodern}
+% \changes{v2.7}{12/12/2023}{
+%    - upgreek charge l'option Symbol et non plus Euler,
+%    - sauvegarde des lettres grecques d'origine avec lgrmath comme pour upgreek,
+%    - réécriture de l'introduction, mention de unicode-math avec XeLaTeX ou LuaLaTeX,
+%    - PackageWarning remplacé par PackageInfo,
+%    - optimisation du code pour les majuscules avec la macro apply}
+%
 % \GetFileInfo{frenchmath.sty}
 %
 % \title{L'extension \textsf{frenchmath}\thanks{Ce document
-%     correspond à \textsf{frenchmath}~\fileversion, dernière modification le 08/03/2023.}}
+%     correspond à \textsf{frenchmath}~\fileversion, dernière modification le 23/12/2023.}}
 % \author{Antoine Missier \\ \texttt{antoine.missier at ac-toulouse.fr}}
-% \date{8 mars 2023}
+% \date{23 décembre 2023}
 % \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
+% permet le respect des règles typographiques des mathématiques françaises, 
+% en particulier elle permet 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
+% (voir~\cite{RTIN} et~\cite{IGEN}),
+% et elle gère correctement les espacements
 % pour les virgules, point-virgules et crochets.
-% Depuis la version 2.0, des options permettent
-% de composer les minuscules grecques du mode mathématique en forme droite.
 %
-% D'autres solutions pour composer les majuscules mathématiques en romain
-% sont proposées dans les extensions \textsf{fourier} de Michel Bovani~\cite{FOUR} 
+% L'extension fournit en outre diverses macros francisées.
+% Mais contrairement à \textsf{mafr} nous avons choisi de ne pas
+% conserver le même nom de commande pour substituer 
+% des symboles français aux symboles anglais.
+%
+% D'autres solutions existent pour composer les majuscules mathématiques en romain,
+% par exemple l'extension \textsf{unicode-math} mais qui doit être compilée
+% avec \XeLaTeX\ ou \LuaLaTeX  ;
+% avec pdf\LaTeX\, nous avons les extensions \textsf{fourier} de Michel Bovani~\cite{FOUR} 
 % (avec la famille des fontes Adobe Utopia)
 % ou encore \textsf{mathdesign} de Paul Pichaureau~\cite{DESIGN} 
 % (avec les polices Adobe Utopia, URW Garamond ou Bitstream Charter). 
@@ -183,44 +201,41 @@
 % Mais \textsf{frenchmath} fournit une solution générique 
 % s'adaptant à n'importe quelle police de caractères.
 %
-% D'autres préconisations, telles que composer en lettre droite
+% Certaines préconisations, telles que composer en lettre droite
 % et non en italique le symbole différentiel, 
 % les constantes mathématiques i et e~\cite{IGEN}, 
 % sont des règles internationales~\cite{TYPMA}~\cite{NIST}~\cite{ICTNS}.
 % 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 
-% anglais avec le même nom de commande ;
-% \item les macros présentées dans la section 2 correspondant à 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 :
+% qui fournit diverses macros pour les mathématiques internationales.},
+% tout comme diverses commandes que l'on trouve dans \textsf{mafr} 
+% et qui ne sont pas spécifiques aux mathématiques françaises :
 % c'est le cas de |\vect|
-% \footnote{Pour de jolis vecteurs on dispose de l'extension \textsf{esvect}
+% \footnote{Pour de jolis vecteurs on dispose de l'extension \textsf{esvect}~\cite{VECT}
 % d'Eddie Saudrais.},
-% des ensembles de nombres |\R|, |\N|, \ldots (pour $\mathbf{R}, \mathbf{N}, \ldots$)
+% 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 aussi beaucoup de commandes francisées.
-% 
+% Mentionnons par ailleurs l'extension \textsf{tablvar}~\cite{TABL} qui permet de réaliser 
+% de jolis tableaux de variations, spécificité des mathématiques françaises,
+% ou encore \textsf{tdsfrmath} de Yvon Henel~\cite{FRM}
+% qui fournit également beaucoup de commandes francisées.
 %
+% Depuis la version 2.0, \textsf{frenchmath} propose deux options permettant
+% de composer les minuscules grecques du mode mathématique en forme droite.
+%
 % \section{Utilisation}
 %
 % \subsection{Majuscules mathématiques}
 % Dans les mathématiques françaises, pour l'alphabet latin,
 % \og les lettres majuscules sont toujours
-% composées en romain \fg ($A, B, C, \ldots$) et non en italique 
+% composées en romain \fg ($A, B, C\ldots$) et non en italique 
 % (cf. \cite{RTIN} p.107, voir aussi~\cite{IGEN}).
 % En utilisant \XeLaTeX\ ou \LuaLaTeX\ avec des polices mathématiques OpenType, 
-% cette convention est assez commode à mettre en œuvre ;
-% par contre, avec \LaTeX\ ou pdf\LaTeX, est peu respectée
+% cette convention est assez commode à mettre en œuvre
+% \footnote{Voir les options \texttt{math-style=upright} 
+% ou \texttt{math-style=french} de l'extension \textsf{unicode-math}.} ;
+% par contre, avec \LaTeX\ ou pdf\LaTeX, elle est peu respectée
 % et les extensions précitées ne fonctionnent qu'avec des polices particulières.
 % Par défaut \textsf{frenchmath} compose automatiquement les majuscules
 % mathématiques latines en romain,
@@ -237,142 +252,21 @@
 % \medskip
 % Que l'option soit activée ou pas, il est toujours possible de changer ponctuellement 
 % l'aspect d'une lettre particulière, avec les macros \LaTeX\ |\mathrm| et |\mathit|.
-% Sinon l'extension \textsf{mismath}~\cite{MIS} fournit deux bascules puissantes
-% |\MathUp| et |\MathIt| qui agissent de manière générale (ou locale dans un environnement)
+% D'autre part l'extension \textsf{mismath}~\cite{MIS} fournit deux bascules puissantes
+% |\MathUp| et |\MathIt| qui agissent de manière globale (ou locale dans un environnement)
 % et permettent à tout moment 
-% de changer la \og famille \fg d'une lettre particulière,
-% ainsi qu'une commande générique |\apply| pour appliquer ces macros sur une liste.
-% Ainsi |\apply\MathIt{F,G,X}| remettra en italique les lettres $\mathit{F,G,X}$.
+% de changer la \og famille \fg d'une lettre particulière ;
+% une commande générique |\apply| permet y compris d'appliquer ces macros sur une liste.
+% Ainsi |\apply\MathIt{F,G,X}| remettra en italique les lettres $\mathit{F,G}$ et $\mathit{X}$.
 %
-% \subsection{Lettres grecques}
-% La norme concernant l'usage des lettres grecques en italique ou en forme droite
-% pour les mathématiques françaises ne semble pas aussi claire et les auteurs 
-% divergent sur ce point. Plusieurs recommandent l'usage des lettres grecques
-% minuscules en forme droite~\cite{FOUR}~\cite{DESIGN}~\cite{PMISO}, mais d'autres
-% préconisent l'italique,
-% comme pour toutes les variables mathématiques~\cite{AA}.
-% Le lexique des règles typographiques en usage à l’Imprimerie Nationale~\cite{RTIN}
-% les compose en forme droite et relativement grasses (p.108) 
-% sans préciser s'il s'agit vraiment d'une règle
-% s'appliquant aux variables, au même titre que celles énoncées pour l'alphabet latin.
+% \subsection{Virgule, point-virgule et crochets}
 %
-% Pour les physiciens (et chimistes) l'affaire est plus claire puisque 
-% les quantités doivent toujours être écrites en italique et les unités ou les constantes en 
-% romain (forme droite), conformément à la norme ISO~\cite{TYPMA}~\cite{NIST}~\cite{ICTNS}. 
-% Ainsi la constante $\pi \approx 3,14$ ne s'écrit pas de la même manière
-% qu'une variable $\itpi$.
-% Dans la section \og How to get upright small Greek letters \fg,
-% la documentation de \textsf{isomath} de Günter Milde~\cite{ISOM} 
-% expose différentes méthodes pour obtenir les lettres grecques
-% en forme droite.
-% Par exemple les extensions \textsf{mathdesign}~\cite{DESIGN},
-% \textsf{fourier}~\cite{FOUR}
-% ou \textsf{kpfonts}~\cite{KPF} disposent d'options permettant
-% l'écriture automatique des lettres grecques minuscules en forme droite 
-% (ou des majuscules en italique).
-% Citons également \textsf{newpxmath}, \textsf{newtxmath} 
-% \footnote{L'extension \textsf{newtxmath} doit être chargée
-% après \textsf{frenchmath} qui utilise \textsf{amssymb} car la compilation
-% produit sinon un message d'erreur pour la commande
-% \texttt{\string\Bbbk}.}
-% et \textsf{libertinust1math} 
-% de Michael Sharpe,
-% \textsf{pxgreeks}, \textsf{txgreeks} 
-% \footnote{Si on utilise \textsf{amsmath} (ou \textsf{mismath}),
-% \textsf{pxgreeks} ou \textsf{txgreeks} doit être chargée 
-% \emph{après} \textsf{amsmath} (ou \textsf{mismath}),
-% pour éviter une erreur de compilation due à la redéfinition des commandes 
-% \texttt{\string\iint}, \texttt{\string\iiint}, \texttt{\string\iiiint}, 
-% \texttt{\string\idotsint}.}
-% et \textsf{libgreek} de Jean-François Burnol,
-% qui donnent de beaux résultats pour une utilisation avec 
-% respectivement les polices Palatino, Times et Libertinus.
-%
-% \medskip
-% \DescribeEnv{[lgrmath]}
-% Jean-François Burnol a également développé l'extension \textsf{lgrmath}~\cite{LGR}
-% qui permet d'utiliser, en mode mathématique, les différentes fontes de lettres
-% grecques accessibles par \LaTeX\ avec l'encodage LGR. La documentation
-% de l'extension indique comment consulter et utiliser les fontes accessibles 
-% sur votre distribution. 
-%
-% En activant l'option \texttt{lgrmath}, \textsf{frenchmath}  
-% charge cette extension avec l'option \texttt{style=french} 
-% et la fonte fcm (de l'extension \textsf{cm-lgc})
-% \footnote{Évidemment il faut que \textsf{cm-lgc} soit installée
-% sur votre distribution sans quoi la fonte de substitution LGR/cmr/m/n sera utilisée.}
-% qui se marie particulièrement bien avec la police usuelle Latin Modern.
-% Les commandes |\alpha|, |\beta|, etc.
-% produisent alors automatiquement les lettres en forme droite 
-% $\alphaup$, $\betaup$, \ldots, $\piup$, etc.,
-% tandis que |\alphait|, |\betait|, etc. produisent des formes italiques
-% $\alphait$, $\betait$, \ldots, $\piit$, etc.
-% Ces dernières sont peu à notre goût, mais elles n'ont pas vocation à être
-% utilisées lorsque l'on active l'option \texttt{lgrmath}.
-% Par contre, on peut choisir d'autres options de fontes en chargeant l'extension
-% \textsf{lgrmath} indépendamment de \textsf{frenchmath}
-% (voir par exemple avec l'option \texttt{font=Alegreya-LF} ou \texttt{font=Cochineal-LF}).
-%
-% \medskip
-% \DescribeEnv{[upgreek]}
-% Avec la même philosophie, \textsf{frenchmath} fournit l'option \texttt{upgreek}
-% basée sur l'extension \textsf{upgreek} de Walter Schmidt~\cite{UPGREEK} qui donne
-% accès aux lettres grecques minuscules en forme droite : 
-% |\upalpha|, |\upbeta|, etc. 
-% L'extension \textsf{upgreek} sera chargée avec l'option par défaut \texttt{Euler}.
-% Si l'on veut, par contre, utiliser l'extension \textsf{upgreek}
-% avec l'une de deux autres options disponibles, \texttt{Symbol}
-% (utilisant la police Adobe Symbol et qui donne des lettres grecques assez grasses : 
-% $\upalphasym$, $\upbetasym$, \ldots, $\uppisym$) ou \texttt{Symbolsmallscale},
-% il faut charger l'extension \textsf{upgreek} avec l'option souhaitée 
-% \emph{avant} \textsf{frenchmath}
-% \footnote{L'option	\texttt{Symbol} de \textsf{upgreek} se marie mieux 
-% avec une police comme Times par exemple.}.
-% L'option \texttt{upgreek} de \textsf{frenchmath} redéfinit ensuite les commandes 
-% |\alpha|, |\beta|, etc. 
-% pour produire automatiquement les lettres en forme droite 
-% $\alpha$, $\beta$, \ldots, $\pi$, \ldots ; les formes italiques, $\italpha, \itbeta$, \ldots,
-% $\itpi$, etc. restant cependant disponibles avec les commandes 
-% |\italpha|, |\itbeta|, \ldots, |\itpi|, etc.
-%
-% \medskip
-% \DescribeEnv{[Upgreek]}
-% Avec \LaTeX, les lettres grecques majuscules sont automatiquement composées
-% en forme droite et l'option \texttt{upgreek} ne concerne que les minuscules.
-% Cependant l'extension \textsf{upgreek}
-% propose aussi |\Upgamma|, \ldots, |Upomega| : $\Upgamma, \ldots, \Upomega$.
-% Si l'on veut conserver majuscules et minuscules dans le même style, 
-% l'option \texttt{Upgreek} de \textsf{frenchmath} redéfinit les majuscules 
-% |\Gamma|, \ldots, |\Omega| pour correspondre à ces variantes.
-% Par contre l'on n'a alors plus accès aux caractères d'origine : $\Gamma, \ldots, \Omega$.
-%
-% L'option \texttt{Upgreek} reprend aussi
-% les minuscules grecques de l'option \texttt{upgreek}, qu'il est donc 
-% inutile d'invoquer simultanément.
-%
-% \medskip
-% Signalons enfin l'extension \textsf{textalpha} de Günter Milde~\cite{ALPHA} qui 
-% donne accès aux lettres en forme droite \textalpha, \textbeta, \ldots,
-% \textpi, \ldots,
-% mais en mode texte avec |\textalpha|, |\textbeta|, etc.
-% Ces glyphes se marient également bien avec la police Latin Modern.
-% Par contre le theta produit, \texttheta, n'est pas vraiment 
-% celui qui est d'usage en mathématiques.
-%
-% \medskip
-% Mentionnons ce commentaire de Walter Schmidt~\cite{UPGREEK} que le mu
-% utilisé pour le préfixe des unités physiques, \textmicro, doit se composer avec |\textmu|
-% \footnote{L'extension \textsf{textalpha} fournit à la place \texttt{\string\textmicro}
-% (depuis 2020) car elle redéfinit \texttt{\string\textmu}.},
-% disponible en mode texte dans beaucoup de fontes (ou avec \textsf{textcomp}) ;
-% il diffère du $\upmu$ de |\upmu|.
-%
-% \subsection{Virgules, point-virgule et crochets}
-% \DescribeMacro{virgules}
+% \DescribeMacro{virgule}
 % Dans le mode mathématique de \LaTeX, la virgule est toujours, par défaut, 
-% un symbole de ponctuation et 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 
+% un symbole de ponctuation et sera donc suivie d'une espace.
+% Ceci est légitime dans une liste ou un intervalle :
+% |$[a,b]$| donne $[a,b]$. Mais, en français, la virgule sert aussi de séparateur décimal
+% pour les nombres et ne doit, dans ce cas, pas être suivie d'espace ; or |$12,5$| donne 
 % $12, 5$ au lieu de $12,5$.
 % L'extension \textsf{babel}, avec l'option |french|~\cite{BABEL}, fournit deux bascules :
 % |\DecimalMathComma| et |\StandardMathComma|, qui permettent d'adapter
@@ -392,7 +286,8 @@
 % \end{itemize}
 %
 % Cette deuxième approche parait meilleure, néanmoins \textsf{ncccomma}
-% ne fonctionne pas avec avec l'option \texttt{autolanguage}
+% ne fonctionne pas avec avec \textsf{babel-french} utilisé conjointement avec
+% l'option \texttt{autolanguage}
 % \footnote{L'option \texttt{autolanguage} de \textsf{numprint} utilisée 
 % conjointement avec l'option \texttt{french} de \textsf{babel} garantit un espacement
 % correct entre les groupes de trois chiffres dans les grands nombres,
@@ -399,19 +294,20 @@
 % qui doit être une espace insécable et non dilatable~\cite{RTIN},
 % légèrement plus grande que l'espace que l'on obtient sans cette option.}
 % de l'extension \textsf{numprint}.
-% Par contre \textsf{icomma} fonctionne et était utilisé 
-% jusqu'à la version 1.5 de \textsf{frenchmath}.
-% Depuis la version 1.6, \textsf{frenchmath} charge \textsf{ncccomma}, grâce
-% à un code proposé par Jean-François Burnol qui permet d'utiliser conjointement
-% \textsf{ncccomma} avec l'option \texttt{autolanguage} de \textsf{numprint}
-% \footnote{Mentionnons aussi l'article \emph{Intelligent commas} 
-% de Claudio Beccari~\cite{BECC} qui propose une solution simplifiée 
-% par rapport à \textsf{ncccomma} mais dont l'avantage semble discutable.}.
-% Signalons que, si l'on compile avec \LuaLaTeX, \textsf{ncccomma} 
-% (et donc \textsf{frenchmath}) doit être chargé
-% \emph{après} \textsf{babel-french} 
-% (ce qui est, somme toute, la pratique normale), 
-% sinon \textsf{babel} génère une erreur.
+% En outre \textsf{ncccomma} ne fonctionne pas non plus
+% avec l'extension \textsf{unicode-math} (et bugue à l'appel |\setmathfont|).
+% Dans son article \emph{Intelligent commas}~\cite{BECC},
+% Claudio Beccari propose une autre solution,
+% voisine de \textsf{ncccomma}, mais qui produit le même type d'incompatibilités.
+% Le code a donc été revu et simplifié afin de régler proprement ces incompatibilités.
+% Comme bien des pays utilisent la virgule comme
+% séparateur décimal, il fait l'objet d'une extension séparée,
+% \textsf{decimalcomma}~\cite{DECC}, qui est chargée par \textsf{frenchmath}
+% (depuis la version 2.7).
+% Mais il est alors impératif de charger \textsf{unicode-math} \emph{avant} 
+% \textsf{frenchmath} 
+% \footnote{L'extension \textsf{icomma} présente la même limitation et doit être chargé
+% après \textsf{unicode-math}.}.
 %
 % \medskip
 % Lorsque l'on utilise l'extension \textsf{pstricks-add} de \textsf{PSTricks}
@@ -460,11 +356,11 @@
 % Si la borne de gauche possède un signe - (ou +),
 % \emph{il ne faut pas laisser d'espace entre le premier crochet 
 % et le signe}: par exemple |$x \in ] -\infty, 0]$| produit 
-% $x \in ] -\infty, 0]$ avec des espaces trop grandes autour du signe.
-% Mais au contraire lorsque l'on souhaite faire de l'algèbre sur les intervalles,
+% $x \in ] -\infty, 0]$ au lieu de $x \in ]-\infty, 0]$.
+% Mais au contraire lorsque l'on veut faire de l'algèbre sur les intervalles,
 % \emph{il faut laisser une espace entre le second crochet et l'opération} + ou -,
-% par exemple, |$[a, b] + [c, d]$| produit $[a, b] + [c, d]$
-% mais |$[a, b]+ [c, d]$| produit $[a, b]+ [c, d]$.
+% par exemple, |$[a,b] + [c,d]$| produit $[a,b] + [c,d]$
+% mais |$[a,b]+ [c,d]$| produit $[a,b]+ [c,d]$.
 %
 % En cas de comportement problématique, par exemple si
 % une coupure de ligne se produit entre les deux crochets d'un intervalle,
@@ -474,15 +370,13 @@
 % \subsection{Quelques macros et alias utiles}
 %
 % \DescribeMacro{\curs}
-% Les lettres cursives ($\curs{A}, \curs{B}, \curs{C}, \curs{D}, \ldots$),
-% provenant de l'extension \textsf{mathrsfs} chargée par \textsf{frenchmath}, sont composées
+% Les lettres cursives ($\curs{A}, \curs{B}, \curs{C}, \curs{D}\ldots$),
+% provenant de l'extension \textsf{mathrsfs}, chargée par \textsf{frenchmath}, sont composées
 % avec |\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{\string\mathcal}.}
-% ($\mathcal{A}, \mathcal{B}, \mathcal{C}, \mathcal{D}, \ldots$).*
-% \footnote{L'astérisque en fin d'item signale
-% une fonctionnalité similaire dans \textsf{mafr}.}
+% ($\mathcal{A}, \mathcal{B}, \mathcal{C}, \mathcal{D}\ldots$).
 %
 % \medskip
 % \DescribeMacro{\infeg} \DescribeMacro{\supeg}
@@ -489,14 +383,14 @@
 % 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 de |\leqslant| et |\geqslant| de l'extension \textsf{amssymb},
-% chargée par \textsf{frenchmath}.*
+% chargée par \textsf{frenchmath}.
 %
 % \medskip
 % \DescribeMacro{\vide}
 % Le symbole de l'ensemble vide $\vide$ 
 % s'obtient avec |\vide| (alias de la commande |\varnothing| de l'extension \textsf{amssymb}) ;
-% il diffère de celui obtenu avec |\emptyset| 
-% (particulièrement laid dans la fonte par défaut Computer Modern : $\cmemptyset$).*
+% il diffère de celui obtenu avec |\emptyset|,
+% particulièrement laid dans la fonte classique Latin Modern : $\cmemptyset$.
 %
 % \medskip
 % \DescribeMacro{\paral}
@@ -506,11 +400,11 @@
 % défini comme une \emph{relation} mathématique plutôt que 
 % \texttt{\string\bot} défini comme un \emph{symbole} (les espacements diffèrent).}
 % du parallélisme : $\curs{D}\paral\curs{D}'$,
-% plutôt que sa version anglaise |\parallel| : $\curs{D}\parallel\curs{D}'$.*
+% plutôt que sa version anglaise |\parallel| : $\curs{D}\parallel\curs{D}'$.
 %
-% \pagebreak
+% \medskip
 % \DescribeMacro{\ssi}
-% La commande |\ssi| produit \og \ssi \fg.
+% La commande |\ssi| produit le texte \og \ssi \fg.
 %
 % \medskip
 % \DescribeMacro{\cmod}
@@ -525,7 +419,7 @@
 % En arithmétique, nous avons les classiques |\pgcd| et |\ppcm|, 
 % qui diffèrent de leur version anglaise |\gcd| et |\lcm|
 % \footnote{Cette dernière n'est pas implémentée en standard dans \LaTeX\ 
-% (mais dans \textsf{mismath}).}.
+% (mais dans \textsf{mismath}~\cite{MIS}).}.
 %
 % \medskip
 % \DescribeMacro{\card} \DescribeMacro{\Card}
@@ -554,15 +448,14 @@
 % En principe, les fonctions hyperboliques s'écrivent en français 
 % avec les macros \LaTeX\ standard |\cosh|, |\sinh|, |\tanh|.
 % Néanmoins les écritures $\ch x$, $\sh x$ et $\th x$, qui sont la norme
-% avec les langues d'Europe de l'Est~\cite{COMP}, 
+% avec les langues d'Europe de l'Est (voir \cite{COMP}), 
 % sont aussi utilisées en français~\cite{RTIN}. 
 % On les obtient avec les commandes |\ch|, |\sh| et |\th|
 % \footnote{La commande \texttt{\string\th} existe déjà, pour le mode texte uniquement,
 % et produit \th ;
-% elle a été redéfinie, uniquement pour le mode mathématique, à la place
-% de l'ancienne commande \texttt{\string\tgh}, utilisée jusqu'à la version 1.6,
-% désormais obsolète.}.
+% elle a été redéfinie, uniquement pour le mode mathématique.}.
 %
+% \enlargethispage{1ex}
 % \medskip
 % \DescribeMacro{\cosec} \DescribeMacro{\cosech}
 % La fonction cosécante (inverse du sinus) s'obtient avec la macro |\csc|, mais en français,
@@ -585,6 +478,7 @@
 % comme séparateur après le point O, comme mentionné dans~\cite{RTIN}.
 % On obtient \Oij*, \Oijk*, \Ouv*.
 %
+% \medskip
 % \DescribeMacro{\ij} \DescribeMacro{\ijk}
 % Enfin les macros |\ij|
 % \footnote{Notons que la macro \texttt{\string\ij} existait déjà 
@@ -597,6 +491,136 @@
 % en chargeant alors \textsf{dotlessj}~\cite{DLJ} de David Carlisle,
 % ce qui permet aux macros ci-dessus de fonctionner normalement.
 %
+% \subsection{Lettres grecques}
+% La norme concernant l'usage des lettres grecques en italique ou en forme droite
+% pour les mathématiques françaises ne semble pas aussi claire que pour les lettres romaines
+% et les auteurs 
+% divergent sur ce point. Plusieurs recommandent l'usage des lettres grecques
+% minuscules en forme droite~\cite{FOUR}~\cite{DESIGN}~\cite{PMISO}, mais d'autres
+% préconisent l'italique,
+% comme pour toutes les variables mathématiques~\cite{AA}.
+% Le lexique des règles typographiques en usage à l’Imprimerie Nationale~\cite{RTIN}
+% les compose en forme droite et relativement grasses (p.108) 
+% sans préciser s'il s'agit vraiment d'une règle
+% s'appliquant aux variables, au même titre que celles énoncées pour l'alphabet latin.
+%
+% \medskip
+% Pour les physiciens (et chimistes) l'affaire est plus claire puisque 
+% les quantités doivent toujours être écrites en italique et les unités ou les constantes en 
+% romain (forme droite), conformément à la norme ISO~\cite{TYPMA}~\cite{NIST}~\cite{ICTNS}. 
+% Ainsi la constante $\pi \approx 3,14$ ne s'écrit pas de la même manière
+% qu'une variable $\itpi$.
+% Dans la section \og How to get upright small Greek letters \fg,
+% la documentation de \textsf{isomath} de Günter Milde~\cite{ISOM} 
+% expose différentes méthodes pour obtenir les lettres grecques
+% en forme droite.
+% Par exemple les extensions \textsf{mathdesign}~\cite{DESIGN},
+% \textsf{fourier}~\cite{FOUR}
+% ou \textsf{kpfonts}~\cite{KPF} disposent d'options permettant
+% l'écriture automatique des lettres grecques minuscules en forme droite 
+% (ou des majuscules en italique).
+% Citons également \textsf{newpxmath}, \textsf{newtxmath} 
+% \footnote{L'extension \textsf{newtxmath} doit être chargée
+% après \textsf{frenchmath} qui utilise \textsf{amssymb} car la compilation
+% produit sinon un message d'erreur pour la commande
+% \texttt{\string\Bbbk}.}
+% et \textsf{libertinust1math} 
+% de Michael Sharpe,
+% \textsf{pxgreeks}, \textsf{txgreeks} 
+% \footnote{Si on utilise \textsf{amsmath} (ou \textsf{mismath}),
+% \textsf{pxgreeks} ou \textsf{txgreeks} doit être chargée 
+% \emph{après} \textsf{amsmath} (ou \textsf{mismath}),
+% pour éviter une erreur de compilation due à la redéfinition des commandes 
+% \texttt{\string\iint}, \texttt{\string\iiint}, \texttt{\string\iiiint}, 
+% \texttt{\string\idotsint}.}
+% et \textsf{libgreek} de Jean-François Burnol,
+% qui donnent de beaux résultats pour une utilisation avec 
+% respectivement les polices Palatino, Times et Libertinus.
+%
+% Enfin, comme pour les majuscules, \XeLaTeX\ ou \LuaLaTeX\ réalisent cette tâche
+% automatiquement avec l'option \texttt{math-style=french} de l'extension \textsf{unicode-math}. 
+%
+% \medskip
+% Jean-François Burnol a également développé l'extension \textsf{lgrmath}~\cite{LGR}
+% qui permet d'utiliser, en mode mathématique, les différentes fontes de lettres
+% grecques accessibles par \LaTeX\ avec l'encodage LGR. La documentation
+% de l'extension indique comment consulter et utiliser les fontes accessibles 
+% sur votre distribution. 
+%
+% \medskip
+% \DescribeEnv{[lgrmath]}
+% En activant l'option \texttt{lgrmath}, \textsf{frenchmath}  
+% charge cette extension avec son option \texttt{style=french} 
+% et la fonte fcm (de l'extension \textsf{cm-lgc})
+% \footnote{Évidemment il faut que \textsf{cm-lgc} soit installée
+% sur votre distribution sans quoi la fonte de substitution LGR/cmr/m/n sera utilisée.}.
+% Celle-ci se marie particulièrement bien avec la police usuelle Latin Modern.
+% Les commandes |\alpha|, |\beta|, etc.
+% produisent alors les lettres en forme droite 
+% $\alphaup$, $\betaup$, \ldots, $\piup$, etc.,
+% tandis que |\alphait|, |\betait|, etc. produisent des formes italiques
+% $\alphait$, $\betait$, \ldots, $\piit$, etc.
+% Ces dernières sont peu à notre goût, mais on conserve les lettres
+% d'origine avec |\italpha|, |\itbeta| : $\italpha$, $\itbeta$, \ldots, $\itpi$, etc.
+% On peut aussi choisir d'autres fontes en chargeant l'extension
+% \textsf{lgrmath} indépendamment de \textsf{frenchmath}
+% (voir par exemple avec l'option \texttt{font=Alegreya-LF} ou \texttt{font=Cochineal-LF}).
+%
+% \medskip
+% \DescribeEnv{[upgreek]}
+% Avec la même philosophie, \textsf{frenchmath} fournit aussi l'option \texttt{upgreek}
+% basée sur l'extension \textsf{upgreek} de Walter Schmidt~\cite{UPGREEK} qui donne
+% accès à d'autres fontes de lettres grecques minuscules en forme droite avec 
+% |\upalpha|, |\upbeta|, etc. 
+% L'extension \textsf{upgreek} sera chargée avec son option \texttt{Symbol}
+% \footnote{L'option	\texttt{Symbol} de \textsf{upgreek} se marie bien 
+% avec une police comme Times par exemple.}
+% utilisant la police Adobe Symbol et qui produit des lettres grecques assez grasses : 
+% $\upalphasym$, $\upbetasym$, \ldots, $\uppisym$, etc.
+% Si l'on veut, par contre, utiliser l'extension \textsf{upgreek}
+% avec l'une des deux autres options disponibles, \texttt{Euler}
+% (qui produit $\upalpha, \upbeta, \ldots, \uppi$, etc.)
+% ou \texttt{Symbolsmallscale},
+% il faut charger l'extension \textsf{upgreek} avec l'option souhaitée 
+% indépendamment de \textsf{frenchmath}.
+% Mais en conservant toutefois l'option \texttt{upgreek}, \textsf{frenchmath} 
+% redéfinira les commandes |\alpha|, |\beta|, etc. 
+% pour composer automatiquement les lettres en forme droite ; 
+% les formes italiques d'origine, 
+% restant toujours disponibles avec les commandes 
+% |\italpha|, |\itbeta|, \ldots, |\itpi|, etc.
+%
+% \medskip
+% \DescribeEnv{[Upgreek]}
+% Avec \LaTeX, les lettres grecques majuscules sont automatiquement composées
+% en forme droite et l'option \texttt{upgreek} ne concerne que les minuscules.
+% Cependant l'extension \textsf{upgreek}
+% propose aussi |\Upgamma|, \ldots, |Upomega| : $\Upgamma, \ldots, \Upomega$.
+% Afin de conserver majuscules et minuscules dans le même style, 
+% \textsf{frenchmath} fournit l'option \texttt{Upgreek} qui redéfinit les majuscules 
+% |\Gamma|, \ldots, |\Omega| pour correspondre à ces variantes.
+% Par contre l'on n'a alors plus accès aux caractères d'origine : $\Gamma, \ldots, \Omega$.
+% L'option \texttt{Upgreek} reprend aussi
+% les minuscules grecques de l'option \texttt{upgreek}, qu'il est donc 
+% inutile d'invoquer simultanément.
+%
+% \medskip
+% Signalons aussi l'extension \textsf{textalpha} de Günter Milde~\cite{ALPHA} qui 
+% donne accès aux lettres en forme droite \textalpha, \textbeta, \ldots,
+% \textpi, etc.,
+% mais en mode texte avec |\textalpha|, |\textbeta|, etc.
+% Ces glyphes, voisines de la fonte fcm accessible avec \textsf{lgrmath},
+% se marient également bien avec la police Latin Modern,
+% par contre le thêta produit, \texttheta, n'est pas vraiment 
+% celui qui est d'usage en mathématiques.
+%
+% \medskip
+% Mentionnons pour finir ce commentaire de Walter Schmidt~\cite{UPGREEK} que le mu
+% utilisé pour le préfixe des unités physiques, \textmicro, doit se composer avec |\textmu|
+% \footnote{L'extension \textsf{textalpha} fournit à la place \texttt{\string\textmicro}
+% (depuis 2020) car elle redéfinit \texttt{\string\textmu}.},
+% disponible en mode texte dans beaucoup de fontes (ou avec \textsf{textcomp}) ;
+% il diffère du $\mu$ droit mathématique.
 % \StopEventually{}
 %
 % \section{Le code}
@@ -604,12 +628,13 @@
 %    \begin{macrocode}
 \newif\ifcapsit
 \DeclareOption{capsit}{\capsittrue}
+\newif\iffrenchmathgreek % pour sauvegarder les lettres d'origine
 \newif\iflgrmath
-\DeclareOption{lgrmath}{\lgrmathtrue}
+\DeclareOption{lgrmath}{\lgrmathtrue\frenchmathgreektrue}
 \newif\ifupgreek
-\DeclareOption{upgreek}{\upgreektrue}
+\DeclareOption{upgreek}{\upgreektrue\frenchmathgreektrue}
 \newif\ifUpgreek
-\DeclareOption{Upgreek}{\Upgreektrue\upgreektrue}
+\DeclareOption{Upgreek}{\Upgreektrue\upgreektrue\frenchmathgreektrue}
 \newif\ifnoibrackets
 \DeclareOption{noibrackets}{\noibracketstrue}
 \ProcessOptions \relax
@@ -616,7 +641,7 @@
 
 \AtBeginDocument{
     \@ifpackageloaded{mathdesign}{
-        \PackageWarningNoLine{frenchmath}{Package mathdesign 
+        \PackageInfo{frenchmath}{Package mathdesign 
             is loaded, \MessageBreak
             I don't load mathrsfs and amssymb packages}
     }{
@@ -625,85 +650,150 @@
     }
 }
 \RequirePackage{amsopn} % fournit \DeclareMathOperator
-\@ifpackageloaded{mathptmx}{\RequirePackage{dotlessj}}
-\iflgrmath
+\@ifpackageloaded{mathptmx}{\RequirePackage{dotlessj}}{}
+
+%    \end{macrocode}
+% Ce n'est qu'à la fin du préambule, donc avec |\AtBeginDocument|, que l'on examine
+% si les extensions \textsf{lgrmath} ou \textsf{upgreek} sont déjà chargées,
+% pour laisser à l'utilisateur la possibilité de les charger après \textsf{frenchmath}
+% et éviter un conflit d'option.
+%    \begin{macrocode}
+\AtBeginDocument{
+  \iflgrmath
     \@ifpackageloaded{lgrmath}{}{
         \RequirePackage[font=fcm,style=french]{lgrmath}}
-\fi
-\ifupgreek
-    \@ifpackageloaded{upgreek}{}{\RequirePackage[Euler]{upgreek}}
-\fi
+  \fi
+  \ifupgreek
+    \@ifpackageloaded{upgreek}{}{
+        \RequirePackage[Symbol]{upgreek}}
+  \fi
+}
 \RequirePackage{xspace} % utile pour les commandes \curs, \ssi, \Oij
-\ifnoibrackets\else \RequirePackage{ibrackets} \fi % intelligent brackets
+\ifnoibrackets\else\RequirePackage{ibrackets}\fi % intelligent brackets
 
-\RequirePackage{ncccomma} %  depuis frenchmath 1.6
-\@ifpackagewith{babel}{french}{}{
-    \RequirePackage{iftex}
-    \ifluatex
-    \PackageWarningNoLine{frenchmath}{With LuaTeX engine, 
-        \MessageBreak
-        load babel before frenchmath}
-    \fi
-}
-\AtBeginDocument{\mathcode`\,="8000\relax
-    \@ifpackageloaded{babel}{
-        \addto\extrasfrench{\mathcode`\,="8000\relax}
-    }{}
-}
+\RequirePackage{decimalcomma} %  depuis frenchmath 2.7
+
 %    \end{macrocode}
-% La macro ci-dessus, qui m'a été proposée par Jean-François Burnol,
-%  permet d'utiliser \textsf{ncccomma} à la place de \textsf{icomma}.
-% L'extension \textsf{ncccomma} doit être chargée après \textsf{babel-french} 
-% si on utilise \LuaLaTeX, sinon une erreur de compilation se produit.
 %
+% \DescribeMacro{\DeclareMathUp}
 % Sauf si l'option \texttt{capsit} est activée, on redéfinit toutes les lettres majuscules
-% du mode mathématique ; |\AtBeginDocument| est nécessaire pour que 
-% ces définitions soient prises en compte avec la classe \textsf{beamer}
-% par exemple.
+% du mode mathématique grâce à la commande |\DeclareMathUp|.
+% Contrairement aux bascules |\MathUp| et |\MathIt| de l'extension \textsf{mismath},
+% |\DeclareMathUp| ne fonctionne que dans le préambule, mais son code est bien plus simple
+% et suffit à nos besoins ici.
+% Pour balayer toutes les lettres majuscules de l'alphabet,
+% les boucles usuelles |\@for| ou |\foreach| 
+% ne fonctionnent pas et produisent un message d'erreur 
+% \og\texttt{!~Improper alphabetic constant}\fg.
+% Ceci est dû au fait qu'une \emph{séquence de contrôle} comme par exemple |\@letter| 
+% ne peut être utilisée comme argument de la macro |\DeclareMathUp|
+% et ne sera pas gérée de manière identique à un simple caractère.
+% \DescribeMacro{\apply}
+% Mais la macro |\apply| ci-dessous va faire le travail
+% \footnote{Cette puissante macro, postée le 26/02/2021 sous le pseudonyme de \emph{wipet},
+% se trouve sur le forum de discussion \texttt{iterate190.rssing.com},
+% en réponse à \og TeX How to iterate over a comma separated list$?$\fg.
+% Que son auteur, Petr Olšák, soit remercié.
+% Cette macro a été définie de manière identique dans \textsf{mismath}, 
+% mais cela ne génère pas d'incompatibilité.}.
+% |\AtBeginDocument| est nécessaire pour que ces définitions 
+% soient prises en compte avec la classe \textsf{beamer} par exemple.
 % \smallskip
 %    \begin{macrocode}
-\newcommand*\@mathup[1]{
-    \DeclareMathSymbol{#1}{\mathalpha}{operators}{`#1}
-}
+\newcommand*\DeclareMathUp[1]{
+    \DeclareMathSymbol{#1}{\mathalpha}{operators}{`#1}}
+    
+\def\apply#1#2{\apply@#1#2,\apply@,}
+\def\apply@#1#2,{\ifx\apply@#2\empty
+    \else #1{#2}\afterfi@{\apply@#1}\fi}
+\def\afterfi@#1#2\fi{\fi#1}
+
 \ifcapsit\else
-    \AtBeginDocument{
-        \@mathup{A}
-        \@mathup{B}
-        \@mathup{C}
-        \@mathup{D}
-        \@mathup{E}
-        \@mathup{F}
-        \@mathup{G}
-        \@mathup{H}
-        \@mathup{I}
-        \@mathup{J}
-        \@mathup{K}
-        \@mathup{L}
-        \@mathup{M}
-        \@mathup{N}
-        \@mathup{O}
-        \@mathup{P}
-        \@mathup{Q}
-        \@mathup{R}
-        \@mathup{S}
-        \@mathup{T}
-        \@mathup{U}
-        \@mathup{V}
-        \@mathup{W}
-        \@mathup{X}
-        \@mathup{Y}
-        \@mathup{Z}
-    }
-\fi        
+  \AtBeginDocument{
+    \apply\DeclareMathUp{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}
+  }
+\fi    
 
+\AtBeginDocument{\@ifpackageloaded{pstricks-add}{\psset{comma=true}}{}}
+\DeclareMathSymbol{;}{\mathbin}{operators}{'73} % \mathpunct à l'origine
+
 %    \end{macrocode}
-% Avec l'option \texttt{upgreek}, on charge l'extension \textsf{upgreek}
-% (sauf si elle est déjà chargée, ce qui évite les incompatibilités d'option)
-% et on redéfinit les commandes |\alpha|, |\beta|, \ldots
-% \texttt{Upgreek} transforme en outre les majuscules grecques pour garder
-% le même style.
+% Passons aux alias et identifiants de fonctions classiques.
 %    \begin{macrocode}
-\ifupgreek
+\newcommand*\curs[1]{\mathscr{#1}}
+\newcommand\infeg{\leqslant}
+\newcommand\supeg{\geqslant}
+\newcommand\vide{\varnothing}
+%    \end{macrocode}
+% La définition de |\paral| remplace, depuis la version 2.2,
+% l'ancienne définition plus simple |\mathrel{/\!\!/}|, mais qui donnait des barres 
+% trop serrées avec \textsf{mathastext} + \textsf{times} ou avec \textsf{libertinust1math}.
+% Merci à Jean-François Burnol de me l'avoir fait remarquer 
+% et pour ses suggestions dans la mise au point d'une macro plus efficace.
+%    \begin{macrocode}
+\newcommand\paral{\mathrel{\ooalign{$\mkern-1.75mu/\mkern1.75mu$\cr%
+    $\mkern1.75mu/\mkern-1.75mu$}}}
+\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}
+\AtBeginDocument{\let\oldth\th %\th existe déjà (mode texte)
+    \renewcommand\th{\TextOrMath{\oldth}{\operatorname{th}}}}
+\DeclareMathOperator{\cosec}{cosec}
+\DeclareMathOperator{\cosech}{cosech}
+
+%    \end{macrocode}
+% Présentons les commandes pour les bases et repères, qui peuvent être utilisées
+% en mode texte grâce à |\ensuremath| (et |\xspace| qui garantit le bon espacement).
+%    \begin{macrocode}
+\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}
+% On sauvegarde les lettres grecques d'origine dans les macros |\italpha|, \ldots, |\itomega|.
+% Le booléen |frenchmathgreek| a été activé par les options de lettres grecques
+% \texttt{lgrmath}, \texttt{upgreek} ou \texttt{Upgreek}.
+%    \begin{macrocode}
+\iffrenchmathgreek
     \@ifundefined{italpha}{\let\italpha\alpha}{
         \PackageWarningNoLine{frenchmath}{Command
             \string\italpha\space already exist \MessageBreak
@@ -744,7 +834,8 @@
     \@ifundefined{itvarphi}{\let\itvarphi\varphi}{}
 \fi
 
-\ifupgreek
+\AtBeginDocument{
+  \ifupgreek
     \renewcommand\alpha{\upalpha}
     \renewcommand\beta{\upbeta}
     \renewcommand\gamma{\upgamma}
@@ -774,9 +865,9 @@
     \renewcommand\varrho{\upvarrho}
     \renewcommand\varsigma{\upvarsigma}
     \renewcommand\varphi{\upvarphi}
-\fi
+  \fi
 
-\ifUpgreek
+  \ifUpgreek
     \renewcommand\Gamma{\Upgamma}
     \renewcommand\Delta{\Updelta}
     \renewcommand\Theta{\Uptheta}
@@ -788,79 +879,12 @@
     \renewcommand\Phi{\Upphi}
     \renewcommand\Psi{\Uppsi}
     \renewcommand\Omega{\Upomega}
-\fi
-
-\AtBeginDocument{\@ifpackageloaded{pstricks-add}{\psset{comma=true}}{}}
-\DeclareMathSymbol{;}{\mathbin}{operators}{'73} % \mathpunct à l'origine
-
-\newcommand*\curs[1]{\mathscr{#1}}
-\newcommand\infeg{\leqslant}
-\newcommand\supeg{\geqslant}
-\newcommand\vide{\varnothing}
-\newcommand\paral{\mathrel{\ooalign{$\mkern-1.75mu/\mkern1.75mu$\cr%
-        $\mkern1.75mu/\mkern-1.75mu$}}
+  \fi
 }
 %    \end{macrocode}
-% Cette définition remplace, depuis la version 2.2,
-% l'ancienne définition plus simple |\mathrel{/\!\!/}|, mais qui donnait des barres 
-% trop serrées avec \textsf{mathastext} + \textsf{times} ou avec \textsf{libertinust1math}.
-% Merci à Jean-François Burnol de me l'avoir fait remarquer 
-% et pour ses suggestions dans la mise au point d'une macro plus efficace.
-%    \begin{macrocode}
-\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}
-\AtBeginDocument{\let\oldth\th %\th existe déjà (mode texte)
-    \renewcommand\th{\TextOrMath{\oldth}{\operatorname{th}}}}
-\DeclareMathOperator{\cosec}{cosec}
-\DeclareMathOperator{\cosech}{cosech}
-
-\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}
 %
 % \medskip
-% \begin{thebibliography}{26}
+% \begin{thebibliography}{28}
 % \begin{raggedright}
 % \bibitem{RTIN} \emph{Lexique des règles typographiques en usage à l’Imprimerie Nationale},
 % édition du 26/08/2002.
@@ -882,33 +906,24 @@
 % I.M.~Mills and W.V.~Metanomski, ICTNS (Interdivisional Committee on Terminology,
 % Nomenclature and Symbols), dec 1999.
 %\url{https://old.iupac.org/standing/idcns/italic-roman_dec99.pdf}
-% \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}, 
-% Tobias Oetiker, Hubert Partl, Irene Hyna et Elisabeth Schlegl, CTAN, v6.4 09/03/2021.
-% \url{http://tug.ctan.org/info/lshort/english/lshort.pdf}
+% \bibitem{ISOM} \emph{\textsf{isomath} -- Mathematical style for science and technology},
+% Günter Milde, CTAN, v0.6.1 2012/09/04.
+% \bibitem{PMISO} \emph{\textsf{PM-ISOmath} -- The Poor Man ISO math bundle}, 
+% Claudio Beccari, CTAN, v1.2.00 2021/08/04.
 % \bibitem{MAFR} \emph{La distribution \textsf{mafr}}, Christian Obrecht, 
 % CTAN, v1.0 17/09/2006.
-% \bibitem{MIS} \emph{\textsf{mismath} -- Miscellaneous mathematical macros},
-% Antoine Missier, CTAN, v2.7 05/03/2023.
-% \bibitem{FRM} \emph{L'extension \textsf{tdsfrmath}}, Yvon Henel, 
-% CTAN, v1.3 22/06/2009.
 % \bibitem{FOUR} \textsf{Fourier-GUT\hspace{-0.1em}\emph{enberg}},
 % Michel Bovani, CTAN, v1.3 30/01/2005.
 % \bibitem{DESIGN} \emph{The \textsf{mathdesign} package},
 % Paul Pichaureau, CTAN, v2.31 29/08/2013.
-% \bibitem{KPF} \emph{\textsf{Kp-Fonts} -- The Johannes Kepler project},
-% Christophe Caignaert, CTAN, v3.34 20/09/2022.
-% \bibitem{ALPHA} \emph{The \textsf{textalpha} package}
-% (partie de l'extension \textsf{greek-fontenc}), Günter Milde, CTAN, v2.1 14/06/2022.
-% \bibitem{LGR} \emph{The \textsf{lgrmath} package}, Jean-François B., CTAN, 
-% v1.0 16/11/2022.
-% \bibitem{UPGREEK} \emph{The \textsf{upgreek} package for \LaTeXe}, Walter Schmidt, CTAN, 
-% v2.0 12/03/2003.
-% \bibitem{ISOM} \emph{\textsf{isomath} -- Mathematical style for science and technology},
-% Günter Milde, CTAN, v0.6.1 2012/09/04.
-% \bibitem{PMISO} \emph{\textsf{PM-ISOmath} -- The Poor Man ISO math bundle}, 
-% Claudio Beccari, CTAN, v1.2.00 2021/08/04.
+% \bibitem{MIS} \emph{\textsf{mismath} -- Miscellaneous mathematical macros},
+% Antoine Missier, CTAN, v2.8 27/07/2023.
+% \bibitem{VECT} \emph{\textsf{esvect}  -- Typesetting vectors with beautiful 
+% arrow with \LaTeXe}, Eddie Saudrais, CTAN, v1.3 11/07/2013.
+% \bibitem{TABL} \emph{L'extension \textsf{tablvar}}, Antoine Missier,
+% CTAN, v2.0 23/12/2023.
+% \bibitem{FRM} \emph{L'extension \textsf{tdsfrmath}}, Yvon Henel, 
+% CTAN, v1.3 22/06/2009.
 % \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}. 
@@ -918,9 +933,21 @@
 % \bibitem{BECC} \emph{Intelligent commas}. Claudio Beccari, The Prac\TeX\ Journal, 
 % 2011, No.\@1.
 % \url{https://tug.org/pracjourn/2011-1/beccari/Intcomma.pdf}
+% \bibitem{DECC} \emph{The \textsf{decimalcomma} package}. Antoine Missier,
+% CTAN, v1.1 19/12/2023.
 % \bibitem{BRACKETS} \emph{Intelligent brackets -- The \textsf{ibrackets} package},
 % Antoine Missier, v1.1 26/12/2022.
 % \bibitem{DLJ} \emph{\textsf{dotlessj}}, David Carlisle, CTAN, v0.03 09/12/1998.
+% \bibitem{KPF} \emph{\textsf{Kp-Fonts} -- The Johannes Kepler project},
+% Christophe Caignaert, CTAN, v3.34 20/09/2022.
+% \bibitem{LGR} \emph{The \textsf{lgrmath} package}, Jean-François B., CTAN, 
+% v1.0 16/11/2022.
+% \bibitem{UPGREEK} \emph{The \textsf{upgreek} package for \LaTeXe}, Walter Schmidt, CTAN, 
+% v2.0 12/03/2003.
+% \bibitem{ALPHA} \emph{The \textsf{textalpha} package}
+% (partie de l'extension \textsf{greek-fontenc}), Günter Milde, CTAN, v2.1 14/06/2022.
+% \bibitem{COMP} \emph{\LaTeX\ Companion}, Frank Mittelbach, Michel Goossens,
+% 2\ieme édition, Pearson Education France, 2005.
 % \end{raggedright}
 % \end{thebibliography}
 

Modified: trunk/Master/texmf-dist/tex/latex/frenchmath/frenchmath.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/frenchmath/frenchmath.sty	2023-12-24 15:11:59 UTC (rev 69210)
+++ trunk/Master/texmf-dist/tex/latex/frenchmath/frenchmath.sty	2023-12-24 21:26:52 UTC (rev 69211)
@@ -22,15 +22,16 @@
 %% 
 \NeedsTeXFormat{LaTeX2e}[2005/12/01]
 \ProvidesPackage{frenchmath}
-    [2023/03/08 v2.6 .dtx frenchmath file]
+    [2023/12/15 v2.7 .dtx frenchmath file]
 \newif\ifcapsit
 \DeclareOption{capsit}{\capsittrue}
+\newif\iffrenchmathgreek % pour sauvegarder les lettres d'origine
 \newif\iflgrmath
-\DeclareOption{lgrmath}{\lgrmathtrue}
+\DeclareOption{lgrmath}{\lgrmathtrue\frenchmathgreektrue}
 \newif\ifupgreek
-\DeclareOption{upgreek}{\upgreektrue}
+\DeclareOption{upgreek}{\upgreektrue\frenchmathgreektrue}
 \newif\ifUpgreek
-\DeclareOption{Upgreek}{\Upgreektrue\upgreektrue}
+\DeclareOption{Upgreek}{\Upgreektrue\upgreektrue\frenchmathgreektrue}
 \newif\ifnoibrackets
 \DeclareOption{noibrackets}{\noibracketstrue}
 \ProcessOptions \relax
@@ -37,7 +38,7 @@
 
 \AtBeginDocument{
     \@ifpackageloaded{mathdesign}{
-        \PackageWarningNoLine{frenchmath}{Package mathdesign
+        \PackageInfo{frenchmath}{Package mathdesign
             is loaded, \MessageBreak
             I don't load mathrsfs and amssymb packages}
     }{
@@ -46,66 +47,98 @@
     }
 }
 \RequirePackage{amsopn} % fournit \DeclareMathOperator
-\@ifpackageloaded{mathptmx}{\RequirePackage{dotlessj}}
-\iflgrmath
+\@ifpackageloaded{mathptmx}{\RequirePackage{dotlessj}}{}
+
+\AtBeginDocument{
+  \iflgrmath
     \@ifpackageloaded{lgrmath}{}{
         \RequirePackage[font=fcm,style=french]{lgrmath}}
-\fi
-\ifupgreek
-    \@ifpackageloaded{upgreek}{}{\RequirePackage[Euler]{upgreek}}
-\fi
+  \fi
+  \ifupgreek
+    \@ifpackageloaded{upgreek}{}{
+        \RequirePackage[Symbol]{upgreek}}
+  \fi
+}
 \RequirePackage{xspace} % utile pour les commandes \curs, \ssi, \Oij
-\ifnoibrackets\else \RequirePackage{ibrackets} \fi % intelligent brackets
+\ifnoibrackets\else\RequirePackage{ibrackets}\fi % intelligent brackets
 
-\RequirePackage{ncccomma} %  depuis frenchmath 1.6
-\@ifpackagewith{babel}{french}{}{
-    \RequirePackage{iftex}
-    \ifluatex
-    \PackageWarningNoLine{frenchmath}{With LuaTeX engine,
-        \MessageBreak
-        load babel before frenchmath}
-    \fi
-}
-\AtBeginDocument{\mathcode`\,="8000\relax
-    \@ifpackageloaded{babel}{
-        \addto\extrasfrench{\mathcode`\,="8000\relax}
-    }{}
-}
-\newcommand*\@mathup[1]{
-    \DeclareMathSymbol{#1}{\mathalpha}{operators}{`#1}
-}
+\RequirePackage{decimalcomma} %  depuis frenchmath 2.7
+
+\newcommand*\DeclareMathUp[1]{
+    \DeclareMathSymbol{#1}{\mathalpha}{operators}{`#1}}
+
+\def\apply#1#2{\apply@#1#2,\apply@,}
+\def\apply@#1#2,{\ifx\apply@#2\empty
+    \else #1{#2}\afterfi@{\apply@#1}\fi}
+\def\afterfi@#1#2\fi{\fi#1}
+
 \ifcapsit\else
-    \AtBeginDocument{
-        \@mathup{A}
-        \@mathup{B}
-        \@mathup{C}
-        \@mathup{D}
-        \@mathup{E}
-        \@mathup{F}
-        \@mathup{G}
-        \@mathup{H}
-        \@mathup{I}
-        \@mathup{J}
-        \@mathup{K}
-        \@mathup{L}
-        \@mathup{M}
-        \@mathup{N}
-        \@mathup{O}
-        \@mathup{P}
-        \@mathup{Q}
-        \@mathup{R}
-        \@mathup{S}
-        \@mathup{T}
-        \@mathup{U}
-        \@mathup{V}
-        \@mathup{W}
-        \@mathup{X}
-        \@mathup{Y}
-        \@mathup{Z}
-    }
+  \AtBeginDocument{
+    \apply\DeclareMathUp{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}
+  }
 \fi
 
-\ifupgreek
+\AtBeginDocument{\@ifpackageloaded{pstricks-add}{\psset{comma=true}}{}}
+\DeclareMathSymbol{;}{\mathbin}{operators}{'73} % \mathpunct à l'origine
+
+\newcommand*\curs[1]{\mathscr{#1}}
+\newcommand\infeg{\leqslant}
+\newcommand\supeg{\geqslant}
+\newcommand\vide{\varnothing}
+\newcommand\paral{\mathrel{\ooalign{$\mkern-1.75mu/\mkern1.75mu$\cr%
+    $\mkern1.75mu/\mkern-1.75mu$}}}
+\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}
+\AtBeginDocument{\let\oldth\th %\th existe déjà (mode texte)
+    \renewcommand\th{\TextOrMath{\oldth}{\operatorname{th}}}}
+\DeclareMathOperator{\cosec}{cosec}
+\DeclareMathOperator{\cosech}{cosech}
+
+\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}
+
+\iffrenchmathgreek
     \@ifundefined{italpha}{\let\italpha\alpha}{
         \PackageWarningNoLine{frenchmath}{Command
             \string\italpha\space already exist \MessageBreak
@@ -146,7 +179,8 @@
     \@ifundefined{itvarphi}{\let\itvarphi\varphi}{}
 \fi
 
-\ifupgreek
+\AtBeginDocument{
+  \ifupgreek
     \renewcommand\alpha{\upalpha}
     \renewcommand\beta{\upbeta}
     \renewcommand\gamma{\upgamma}
@@ -176,9 +210,9 @@
     \renewcommand\varrho{\upvarrho}
     \renewcommand\varsigma{\upvarsigma}
     \renewcommand\varphi{\upvarphi}
-\fi
+  \fi
 
-\ifUpgreek
+  \ifUpgreek
     \renewcommand\Gamma{\Upgamma}
     \renewcommand\Delta{\Updelta}
     \renewcommand\Theta{\Uptheta}
@@ -190,69 +224,9 @@
     \renewcommand\Phi{\Upphi}
     \renewcommand\Psi{\Uppsi}
     \renewcommand\Omega{\Upomega}
-\fi
-
-\AtBeginDocument{\@ifpackageloaded{pstricks-add}{\psset{comma=true}}{}}
-\DeclareMathSymbol{;}{\mathbin}{operators}{'73} % \mathpunct à l'origine
-
-\newcommand*\curs[1]{\mathscr{#1}}
-\newcommand\infeg{\leqslant}
-\newcommand\supeg{\geqslant}
-\newcommand\vide{\varnothing}
-\newcommand\paral{\mathrel{\ooalign{$\mkern-1.75mu/\mkern1.75mu$\cr%
-        $\mkern1.75mu/\mkern-1.75mu$}}
+  \fi
 }
-\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}
-\AtBeginDocument{\let\oldth\th %\th existe déjà (mode texte)
-    \renewcommand\th{\TextOrMath{\oldth}{\operatorname{th}}}}
-\DeclareMathOperator{\cosec}{cosec}
-\DeclareMathOperator{\cosech}{cosech}
-
-\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}
-
 \endinput
 %%
 %% End of file `frenchmath.sty'.



More information about the tex-live-commits mailing list.