summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/frenchmath
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2022-10-26 03:00:55 +0000
committerNorbert Preining <norbert@preining.info>2022-10-26 03:00:55 +0000
commitfac21618bdcd44d7ca47228c8b856488b12ee6a2 (patch)
treee9819cfcefa3d3865508f8a48a871338e56340c1 /macros/latex/contrib/frenchmath
parent170c76072a2b68eeeb23fa4a9e3dfbdee131e29c (diff)
CTAN sync 202210260300
Diffstat (limited to 'macros/latex/contrib/frenchmath')
-rw-r--r--macros/latex/contrib/frenchmath/README.md3
-rw-r--r--macros/latex/contrib/frenchmath/frenchmath.dtx409
-rw-r--r--macros/latex/contrib/frenchmath/frenchmath.pdfbin479690 -> 502874 bytes
3 files changed, 311 insertions, 101 deletions
diff --git a/macros/latex/contrib/frenchmath/README.md b/macros/latex/contrib/frenchmath/README.md
index 28cc6dc4ce..0e6ac53066 100644
--- a/macros/latex/contrib/frenchmath/README.md
+++ b/macros/latex/contrib/frenchmath/README.md
@@ -4,7 +4,8 @@
## Presentation
The package provides:
-- capital letters in upright shape for mathematical mode according to French rule (package option),
+- roman uppercase letters in mathematical mode according to French rule (can be optionnally disabled),
+- optionally lowercase Greek letters in upright shape,
- 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,...
diff --git a/macros/latex/contrib/frenchmath/frenchmath.dtx b/macros/latex/contrib/frenchmath/frenchmath.dtx
index 6713dd75aa..2172fda603 100644
--- a/macros/latex/contrib/frenchmath/frenchmath.dtx
+++ b/macros/latex/contrib/frenchmath/frenchmath.dtx
@@ -20,7 +20,7 @@
%<*package>
\NeedsTeXFormat{LaTeX2e}[2005/12/01]
\ProvidesPackage{frenchmath}
-[2022/10/16 v1.6 .dtx frenchmath file]
+ [2022/10/25 v2.0 .dtx frenchmath file]
%</package>
%<*driver>
\documentclass{ltxdoc}
@@ -28,10 +28,13 @@
\usepackage[T1]{fontenc}
\usepackage[french]{babel}
\usepackage{lmodern}
-\usepackage{frenchmath}
-\usepackage{upgreek}
+\usepackage[upgreek]{frenchmath}
% pour l'exemple de la doc on utilise \PV pour simuler le ; d'origine
-\DeclareMathSymbol{\PV}\mathpunct{operators}{'73} % '73 = code octal du ;
+\DeclareMathSymbol{\PV}\mathpunct{operators}{'73} % '73 = code octal du ; dans ecrm (ou cmr)
+% pour récupérer le symbole \emptyset de computer modern au cas où on voudrait
+% changer la fonte de ce doc :
+\DeclareSymbolFont{cmsymbols}{OMS}{cmsy}{m}{n}
+\DeclareMathSymbol{\cmemptyset}{\mathord}{cmsymbols}{'73} % code octal dans cmsy
\DisableCrossrefs
%\CodelineIndex
%\RecordChanges
@@ -39,7 +42,7 @@
\hypersetup{%
colorlinks,
linkcolor=blue,
- citecolor=blue,
+ citecolor=red,
pdftitle={frenchmath},
pdfsubject={LaTeX package},
pdfauthor={Antoine Missier}
@@ -52,7 +55,7 @@
%</driver>
% \fi
%
-% \CheckSum{266}
+% \CheckSum{523}
%
% \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
@@ -88,13 +91,18 @@
% \changes{v1.6}{2022/10/16}{Remplacement de icomma par ncccomma, grâce à une proposition
% de Jean-François Burnol, amélioration du code redéfinissant les majuscules mathématiques,
% remplacement de \backslash tgh par \th pour la tangente hyperbolique.}
+% \changes{v2.0}{2022/10/24}{option permettant de définir les lettres
+% grecques minuscules en forme droite,
+% correction de bug avec la commande \bslash qui n'était pas définie,
+% compatibilité avec mathdesign,
+% \mathop{\operatorfont th} remplacé par \operatorname{th}}
%
% \GetFileInfo{frenchmath.sty}
%
% \title{L'extension \textsf{frenchmath}\thanks{Ce document
-% correspond à \textsf{frenchmath}~\fileversion, dernière modification le 16/10/2022.}}
+% correspond à \textsf{frenchmath}~\fileversion, dernière modification le 25/10/2022.}}
% \author{Antoine Missier \\ \texttt{antoine.missier@ac-toulouse.fr}}
-% \date{16 octobre 2022}
+% \date{25 octobre 2022}
% \maketitle
%
% \section{Introduction}
@@ -102,20 +110,27 @@
% 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})
+% (voir~\cite{RTIN} et~\cite{IGEN})
% ainsi que des espacements corrects
% pour les virgules et point-virgules
%\footnote{Merci à Jean-François Burnol pour différentes améliorations proposées au code.}.
+% Depuis la version 2.0, une option permet également de composer les minuscules grecques
+% du mode mathématique en forme droite plutôt qu'en italique.
%
% 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 solution générique s'adaptant à n'importe quelle police.
+% sont proposées dans 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 fontes Adobe Utopia, URW Garamond ou Bitstream Charter).
+% Mais \textsf{frenchmath} fournit une solution générique
+% s'adaptant à n'importe quelle fonte
+% \footnote{Si l'on souhaite néanmoins utiliser \textsf{mathdesign} avec \textsf{frenchmath},
+% il faut charger \textsf{frenchmath} \emph{après} \textsf{mathdesign}.}.
+% \textdollar
%
% D'autres 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},
+% 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{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}
@@ -124,11 +139,11 @@
% 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 ;
-% \item les macros présentées dans la section 2 qui correspondent à des macros de \textsf{mafr}
+% \item nous avons choisi de ne pas substituer les symboles français aux symboles
+% anglo-saxons 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
+% \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}
@@ -150,18 +165,96 @@
% 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}).
+% La mise en œuvre automatique de cette recommandation, quelle que soit la fonte utilisée,
+% est le principal bénéfice
+% de \textsf{frenchmath}.
% Par défaut |\[ P(X)=\sum_{i=0}^{n}a_i X^i \]| donne avec \textsf{frenchmath}
-% \[ P(X)=\sum_{i=0}^{n}a_i X^i \]
+% \[ P(X)=\sum_{i=0}^{n}a_i X^i. \]
%
% \DescribeEnv{capsit}
-% L'extension \textsf{frenchmath} possède une option : |capsit|,
+% L'extension \textsf{frenchmath} possède l'option |capsit|,
% qui permet de conserver la composition des majuscules du mode mathématique
% en italique (dans la famille de fonte par défaut).
% Que l'option soit activée ou pas, il est toujours possible de changer l'aspect
% d'une lettre particulière, avec les macros \LaTeX\ |\mathrm| et |\mathit|.
%
+% \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 très claire et les auteurs
+% divergent sur ce point. Plusieurs recommandent l'usage des lettres grecques
+% minuscules en forme droite~\cite{FOUR}~\cite{DESIGN}, 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.
+%
+% 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{ISO}~\cite{TYPMA}~\cite{ICTNS}.
+% Ainsi la constante $\pi \approx 3,14$ ne s'écrit pas de la même manière
+% qu'une variable $\itpi$.
+% Les extensions \textsf{mathdesign}~\cite{DESIGN}
+% ou \textsf{fourier}~\cite{FOUR} disposent d'une option permettant
+% l'écriture automatique des lettres grecques minuscules en forme droite.
+%
+% \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|, \ldots
+% 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}
+% ou \texttt{Symbolsmallscale} (utilisant la fonte Adobe Symbol),
+% 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 fonte comme Times par exemple.}.
+% L'option \texttt{upgreek} de \textsf{frenchmath} redéfinit les commandes
+% |\alpha|, |\beta|, \ldots
+% pour produire automatiquement les lettres en forme droite
+% $\alpha$, $\beta$, \ldots, les formes italiques, $\italpha, \itbeta$, \ldots
+% restant cependant disponibles avec les commandes |\italpha|, |\itbeta|, \ldots
+%
+% Mentionnons ce commentaire de Walter Schmidt~\cite{UPGREEK} que le mu
+% utilisé pour le préfixe des unités physiques, \textmu, doit se composer avec |\textmu|,
+% disponible en mode texte dans la plupart des fontes (ou avec \textsf{textcomp}) ;
+% il diffère du $\upmu$ de |\upmu|.
+%
+% \medskip
+% \DescribeEnv{Upgreek}
+% Avec \LaTeX, les lettres grecques majuscules sont automatiquement composées
+% en forme droite, néanmoins il peut être utile de disposer de toutes
+% les lettres grecques dans le même style ; ainsi l'extension \textsf{upgreek}
+% propose aussi |\Upgamma|, \ldots, |Upomega| : $\Upgamma, \ldots, \Upomega$.
+% 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} couvre aussi toutes les fonctionnalités
+% des minuscules grecques de l'option \texttt{upgreek}, qu'il est donc
+% inutile d'invoquer simultanément.
+%
+% \medskip
+% Les caractères grecs de l'extension \textsf{upgreek} ne se marient pas toujours de manière
+% harmonieuse avec n'importe quelle fonte de texte.
+% On peut vouloir charger une autre fonte de lettres grecques
+% compatible avec la fonte de texte utilisée, si tant est qu'elle soit disponible.
+% Il suffit alors simplement de charger l'extension voulue sans appeler l'option
+% \texttt{upgreek} dans \textsf{frenchmath}.
+% Citons \textsf{pxgreeks}~\cite{PXGREEK}, \textsf{txgreeks}~\cite{TXGREEK}
+% ou \textsf{libgreek}~\cite{LIBGREEK} de Jean-François Burnol,
+% qui donnent de beaux résultats pour une utilisation avec
+% respectivement les fontes Palatino, Times et Libertine.
+% Mais attention ces extensions doivent être chargées \emph{après} \textsf{amsmath}
+% (et donc aussi \textsf{mismath})
+% \footnote{En effet, elles redéfinissent les commandes \texttt{\bslash iint},
+% \texttt{\bslash iiint}, \texttt{\bslash iiiint}, \texttt{\bslash idotsint}.}.
+% Ces paquets fournissent également des options
+% pour redéfinir les commandes de lettres grecques, minuscules comme majuscules.
+%
% \subsection{Virgules et point-virgule}
% \StandardMathComma
% Dans le mode mathématique de \LaTeX, la virgule est toujours, par défaut,
@@ -185,6 +278,7 @@
% 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 avec l'option \texttt{autolanguage}
% \footnote{L'option \texttt{autolanguage} de \textsf{numprint} utilisée
@@ -219,35 +313,37 @@
% \StandardMathComma
% \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, \uppi[$. L'extension \textsf{mismath}
-% fournit une solution à ce problème.}.
+% par exemple $x \in ]0, \pi[$. L'extension \textsf{mismath}
+% corrige ce problème.}.
%
% \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
+% 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{\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
+% La commande |\curs| permet aussi de composer ces lettres en mode texte,
+% sans les délimiteurs du mode mathématique.*
+% \footnote{Comme précisé 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}
+% Ce sont des alias de |\leqslant| et |\geqslant| de l'extension \textsf{amssymb},
% chargée par \textsf{frenchmath}.*
%
% \medskip
% \DescribeMacro{\vide}
-% Le symbole $\vide$
-% s'obtient avec |\vide| (alias de |\varnothing| de l'extension \textsf{amssymb}) ;
-% il diffère de la version anglaise
-% obtenue avec |\emptyset| : $\emptyset$.*
+% 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$).*
%
% \medskip
% \DescribeMacro{\paral}
@@ -264,8 +360,8 @@
%
% \medskip
% \DescribeMacro{\cmod}
-% Bien que \LaTeX\ propose par défaut le modulo entre parenthèses, avec |\pmod|,
-% qui est standard aussi en français, on peut vouloir composer un modulo entre crochets,
+% Le modulo se compose normalement entre parenthèses, avec |\pmod|,
+% mais on rencontre aussi, en français, le modulo entre crochets,
% ce que permet la commande |\cmod| en respectant le bon espacement
% propre au modulo : $ 5 \equiv 53 \cmod{12}$.
%
@@ -277,15 +373,16 @@
% \footnote{Cette dernière n'est pas implémentée en standard dans \LaTeX\
% (mais dans \textsf{mismath}).}.
%
-% \pagebreak
+% \medskip
% \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).
+% Pour le cardinal d'un ensemble, nous proposons |\card|,
+% cité dans~\cite{RTIN} et~\cite{AA},
+% ou |\Card|, qui est aussi 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
+% |\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$ ;
@@ -301,9 +398,9 @@
% \medskip
% \DescribeMacro{\ch} \DescribeMacro{\sh} \DescribeMacro{\th}
% 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 $\th x$ ne sont la norme
-% qu'avec les langues d'Europe de l'Est~\cite{COMP}, néanmoins ces écritures
+% 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},
% sont aussi utilisées en France~\cite{RTIN}.
% On les obtient avec les commandes |\ch|, |\sh| et |\th|
% \footnote{La commande \texttt{\bslash th} existe déjà (pour le mode texte uniquement) ;
@@ -321,14 +418,15 @@
%
% \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}.
+% 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.
+% Enfin les macros |\ij| et |\ijk| composent les bases du plan et de l'espace, \ij
+% et \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{}
%
@@ -338,30 +436,43 @@
\RequirePackage{ifthen}
\newboolean{capsit}
\DeclareOption{capsit}{\setboolean{capsit}{true}}
+\newboolean{upgreek}
+\newboolean{Upgreek}
+\DeclareOption{upgreek}{\setboolean{upgreek}{true}}
+\DeclareOption{Upgreek}{\setboolean{upgreek}{true}
+ \setboolean{Upgreek}{true}}
\ProcessOptions \relax
-\RequirePackage{mathrsfs} % fournit les majuscules cursives
-\RequirePackage{amssymb} % fournit \leqslant, \geqslant et \varnothing
+\@ifpackageloaded{mathdesign}{
+ \PackageWarningNoLine{frenchmath}{Package mathdesign is loaded,
+ I don't load mathrsfs and amssymb packages}
+}{
+ \RequirePackage{mathrsfs} % fournit les majuscules cursives
+ \RequirePackage{amssymb} % fournit \leqslant, \geqslant, \varnothing
+}
\RequirePackage{amsopn} % fournit \DeclareMathOperator
\RequirePackage{xspace} % utile pour les commandes \curs, \ssi, \Oij
% \RequirePackage{icomma}
\RequirePackage{ncccomma} % virgule intelligente
\AtBeginDocument{\mathcode`\,="8000\relax
- \@ifpackageloaded{babel}{\addto\extrasfrench{\mathcode`\,="8000\relax}}{}}
+ \@ifpackageloaded{babel}{
+ \addto\extrasfrench{\mathcode`\,="8000\relax}
+ }{}
+}
% \end{macrocode}
-% Merci à J.F. Burnol pour ce patch permettant d'utiliser \textsf{ncccomma}
+% Merci à J.F.~Burnol pour ce patch permettant d'utiliser \textsf{ncccomma}
% à la place de \textsf{icomma}, ainsi que pour l'amélioration du code ci-après,
% redéfinissant les majuscules mathématiques.
%
-% Sauf avec l'option \texttt{capsit}, on redéfinit toutes les lettres majuscules
+% 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.
% \smallskip
% \begin{macrocode}
-
-\ifthenelse{\boolean{capsit}}{}{\AtBeginDocument{
- \DeclareMathSymbol{A}\mathalpha{operators}{`A} %'A codage octal du A
+\ifthenelse{\boolean{capsit}}{}{
+ \AtBeginDocument{
+ \DeclareMathSymbol{A}\mathalpha{operators}{`A}
\DeclareMathSymbol{B}\mathalpha{operators}{`B}
\DeclareMathSymbol{C}\mathalpha{operators}{`C}
\DeclareMathSymbol{D}\mathalpha{operators}{`D}
@@ -387,7 +498,95 @@
\DeclareMathSymbol{X}\mathalpha{operators}{`X}
\DeclareMathSymbol{Y}\mathalpha{operators}{`Y}
\DeclareMathSymbol{Z}\mathalpha{operators}{`Z}
- }}
+ }
+}
+% \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.
+% \begin{macrocode}
+
+\ifthenelse{\boolean{upgreek}}{
+ \@ifpackageloaded{upgreek}{}{\RequirePackage[Euler]{upgreek}}
+ \@ifundefined{italpha}{\let\italpha\alpha}{
+ \PackageWarningNoLine{frenchmath}{Italicized Greek \bslash italpha
+ also defined, no more warning for the other letters}
+ }
+ \@ifundefined{itbeta}{\let\itbeta\beta}{}
+ \@ifundefined{itgamma}{\let\itgamma\gamma}{}
+ \@ifundefined{itdelta}{\let\itdelta\delta}{}
+ \@ifundefined{itepsilon}{\let\itepsilon\epsilon}{}
+ \@ifundefined{itzeta}{\let\itzeta\zeta}{}
+ \@ifundefined{iteta}{\let\iteta\eta}{}
+ \@ifundefined{ittheta}{\let\ittheta\theta}{}
+ \@ifundefined{itiota}{\let\itiota\iota}{}
+ \@ifundefined{itkappa}{\let\itkappa\kappa}{}
+ \@ifundefined{itlambda}{\let\itlambda\lambda}{}
+ \@ifundefined{itmu}{\let\itmu\mu}{}
+ \@ifundefined{itnu}{\let\itnu\nu}{}
+ \@ifundefined{itxi}{\let\itxi\xi}{}
+ \@ifundefined{itpi}{\let\itpi\pi}{}
+ \@ifundefined{itrho}{\let\itrho\rho}{}
+ \@ifundefined{itsigma}{\let\itsigma\sigma}{}
+ \@ifundefined{ittau}{\let\ittau\tau}{}
+ \@ifundefined{itupsilon}{\let\itupsilon\upsilon}{}
+ \@ifundefined{itphi}{\let\itphi\phi}{}
+ \@ifundefined{itchi}{\let\itchi\chi}{}
+ \@ifundefined{itpsi}{\let\itpsi\psi}{}
+ \@ifundefined{itomega}{\let\itomega\omega}{}
+ \@ifundefined{itvarepsilon}{\let\itvarepsilon\varepsilon}{}
+ \@ifundefined{itvartheta}{\let\itvartheta\vartheta}{}
+ \@ifundefined{itvarpi}{\let\itvarpi\varpi}{}
+ \@ifundefined{itvarsigma}{\let\itvarsigma\varsigma}{}
+ \@ifundefined{itvarphi}{\let\itvarphi\varphi}{}
+
+ \renewcommand\alpha{\upalpha}
+ \renewcommand\beta{\upbeta}
+ \renewcommand\gamma{\upgamma}
+ \renewcommand\delta{\updelta}
+ \renewcommand\epsilon{\upepsilon}
+ \renewcommand\zeta{\upzeta}
+ \renewcommand\eta{\upeta}
+ \renewcommand\theta{\uptheta}
+ \renewcommand\iota{\upiota}
+ \renewcommand\kappa{\upkappa}
+ \renewcommand\lambda{\uplambda}
+ \renewcommand\mu{\upmu}
+ \renewcommand\nu{\upnu}
+ \renewcommand\xi{\upxi}
+ \renewcommand\pi{\uppi}
+ \renewcommand\rho{\uprho}
+ \renewcommand\sigma{\upsigma}
+ \renewcommand\tau{\uptau}
+ \renewcommand\upsilon{\upupsilon}
+ \renewcommand\phi{\upphi}
+ \renewcommand\chi{\upchi}
+ \renewcommand\psi{\uppsi}
+ \renewcommand\omega{\upomega}
+ \renewcommand\varepsilon{\upvarepsilon}
+ \renewcommand\vartheta{\upvartheta}
+ \renewcommand\varpi{\upvarpi}
+ \renewcommand\varrho{\upvarrho}
+ \renewcommand\varsigma{\upvarsigma}
+ \renewcommand\varphi{\upvarphi}
+}{}
+
+\ifthenelse{\boolean{Upgreek}}{
+ \renewcommand\Gamma{\Upgamma}
+ \renewcommand\Delta{\Updelta}
+ \renewcommand\Theta{\Uptheta}
+ \renewcommand\Lambda{\Uplambda}
+ \renewcommand\Xi{\Upxi}
+ \renewcommand\Pi{\Uppi}
+ \renewcommand\Sigma{\Upsigma}
+ \renewcommand\Upsilon{\Upupsilon}
+ \renewcommand\Phi{\Upphi}
+ \renewcommand\Psi{\Uppsi}
+ \renewcommand\Omega{\Upomega}
+}{}
+
\DeclareMathSymbol{;}\mathbin{operators}{'73} % \mathpunct à l'origine
\AtBeginDocument{\@ifpackageloaded{pstricks-add}{\psset{comma=true}}{}}
@@ -410,90 +609,100 @@
\DeclareMathOperator{\ch}{ch}
\DeclareMathOperator{\sh}{sh}
\AtBeginDocument{\let\oldth\th %\th existe déjà (mode texte uniquement)
- \renewcommand{\th}{\TextOrMath{\oldth}{\mathop{\operatorfont th}}}
-}
+\renewcommand{\th}{\TextOrMath{\oldth}{\mathop{\operatorfont th}}}}
+{\catcode`\|=\z@ \catcode`\\=12 |gdef|bslash{\}} % la commande \bslash
\PackageWarningNoLine{frenchmath}{
- command \bslash tgh in now obsolete, use \bslash th instead
-}
+ Command \bslash tgh in now obsolete, use \bslash th instead}
+% \end{macrocode}
+% La commande |\bslash| provient du package \textsf{doc.sty} de Frank
+% Mittelbach. Elle est utilisée à la place de |\textbackslash|
+% (qui ne fonctionne pas ici).
-\newcommand\@Oij{\ensuremath{
- \left(O, \vec{\imath}, \vec{\jmath}\,\right)}\xspace
-}
-\newcommand\@@Oij{\ensuremath{
- \left(O ; \vec{\imath}, \vec{\jmath}\,\right)}\xspace
-}
+% \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{
+\newcommand\@Oijk{%
+ \ensuremath{%
\left(O, \vec{\vphantom{t}\imath}, \vec{\vphantom{t}\jmath},
- \vec{\vphantom{t}\smash{k}}\,\right)
- }\xspace
-}
-\newcommand\@@Oijk{\ensuremath{
+ \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
-}
+ \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{%
+ \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{
+\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
-}
+ \vec{\vphantom{t}\smash{k}}\,\right)}%
+ \xspace}
% \end{macrocode}
-%
% \begin{thebibliography}{19}
+% \begin{raggedright}
% \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}.
+% \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{ISO} \emph{Norme ISO 31-11}, 1992 et sa révision \emph{ISO 80000-2}, 2009.
% \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.
+% I.M.~Mills and W.V.~Metanomski, ICTNS (Interdivisional Committee on Terminology,
+% 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,
+% \bibitem{MAFR} \emph{La distribution \textsf{mafr}}. Christian Obrecht,
% CTAN, v1.0 17/09/2006.
-% \bibitem{FRM} \emph{L'extension \textsf{tdsfrmath}}. Extension \LaTeX\ de Yvon Henel,
+% \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}.
-% Extension \LaTeX\ de Michel Bovani, CTAN, v1.3 30/01/2005.
-% \bibitem{DESIGN} \emph{The \textsf{mathdesign} package}. Extension \LaTeX\ de
+% \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, 29/08/2013.
+% \bibitem{UPGREEK} \emph{The \textsf{upgreek} package for \LaTeXe}. Walter Schmidt, CTAN,
+% v2.0 12/03/2003.
+% \bibitem{PXGREEK} \emph{The \textsf{pxgreeks} package}. Jean-François Burnol, CTAN,
+% v1.0 16/03/2011.
+% \bibitem{TXGREEK} \emph{The \textsf{txgreeks} package}. Jean-François Burnol, CTAN,
+% v1.0 16/03/2011.
+% \bibitem{LIBGREEK} \emph{The \textsf{libgreek} package}. Jean-François Burnol, CTAN,
+% v1.0 14/03/2011.
% \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.
+% 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.
+% \bibitem{MIS} \emph{\textsf{mismath} -- Miscellaneus mathematical macros}.
+% Antoine Missier, CTAN, v1.10 25/10/2022.
+% \end{raggedright}
% \end{thebibliography}
% \Finale
\endinput
+
diff --git a/macros/latex/contrib/frenchmath/frenchmath.pdf b/macros/latex/contrib/frenchmath/frenchmath.pdf
index f51ddf7e49..96dd7338c7 100644
--- a/macros/latex/contrib/frenchmath/frenchmath.pdf
+++ b/macros/latex/contrib/frenchmath/frenchmath.pdf
Binary files differ