summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/frenchmath
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2024-02-20 21:06:15 +0000
committerKarl Berry <karl@freefriends.org>2024-02-20 21:06:15 +0000
commit9361ede47a4c03d1acf723fe20f227bcd2014b10 (patch)
tree44438982955109e3fe6a9fa892cbfb93062682a4 /Master/texmf-dist/tex/latex/frenchmath
parent6b2e72b5cd3b05306db196391125158562f09161 (diff)
frenchmath (20feb24)
git-svn-id: svn://tug.org/texlive/trunk@70022 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/frenchmath')
-rw-r--r--Master/texmf-dist/tex/latex/frenchmath/frenchmath.sty170
1 files changed, 105 insertions, 65 deletions
diff --git a/Master/texmf-dist/tex/latex/frenchmath/frenchmath.sty b/Master/texmf-dist/tex/latex/frenchmath/frenchmath.sty
index 029f45a9029..73513cfb339 100644
--- a/Master/texmf-dist/tex/latex/frenchmath/frenchmath.sty
+++ b/Master/texmf-dist/tex/latex/frenchmath/frenchmath.sty
@@ -22,46 +22,56 @@
%%
\NeedsTeXFormat{LaTeX2e}[2005/12/01]
\ProvidesPackage{frenchmath}
- [2024/01/22 v2.8 .dtx frenchmath file]
+ [2024/02/20 v2.9 .dtx Typesetting mathematics according to French rules]
+
\newif\ifcapsit
\DeclareOption{capsit}{\capsittrue}
-\newif\iffrenchmathgreek % pour sauvegarder les lettres d'origine
\newif\iflgrmath
-\DeclareOption{lgrmath}{\lgrmathtrue\frenchmathgreektrue}
+\DeclareOption{lgrmath}{\lgrmathtrue}
\newif\ifupgreek
-\DeclareOption{upgreek}{\upgreektrue\frenchmathgreektrue}
+\DeclareOption{upgreek}{\upgreektrue}
\newif\ifUpgreek
-\DeclareOption{Upgreek}{\Upgreektrue\upgreektrue\frenchmathgreektrue}
+\DeclareOption{Upgreek}{\Upgreektrue\upgreektrue}
\newif\ifnoibrackets
\DeclareOption{noibrackets}{\noibracketstrue}
\ProcessOptions \relax
-\AtBeginDocument{
+\@ifpackageloaded{unicode-math}{
+ \@ifpackageloaded{mathdesign}{
+ \PackageInfo{frenchmath}{Package mathdesign
+ is loaded, \MessageBreak
+ I don't load mathrsfs and amssymb}
+ }{
+ %\let\circledS\relax % utilisé uniquement par mathdesign
+ \let\eth\relax % 3 incompatibilités unicode-math / amssymb
+ \let\digamma\relax
+ \let\backepsilon\relax
+ \RequirePackage{amssymb}
+ \PackageInfo{frenchmath}{Package unicode-math
+ is loaded, \MessageBreak
+ I don't load mathrsfs}
+ }
+ \let\vide\varnothing % \varnothing sera écrasé par unicode-math
+}{
+ \AtBeginDocument{
\@ifpackageloaded{mathdesign}{
\PackageInfo{frenchmath}{Package mathdesign
is loaded, \MessageBreak
- I don't load mathrsfs and amssymb packages}
+ I don't load mathrsfs and amssymb}
}{
\RequirePackage{amssymb} % \leqslant, \geqslant, \varnothing
- \@ifundefined{mathscr}{\RequirePackage{mathrsfs}}{}
+ \@ifundefined{mathscr}{\RequirePackage{mathrsfs}}{
+ \PackageInfo{frenchmath}{Command \string\mathscr\space
+ already defined, \MessageBreak
+ I don't load mathrsfs}
+ }
}
+ }
}
\RequirePackage{amsopn} % fournit \DeclareMathOperator
\@ifpackageloaded{mathptmx}{\RequirePackage{dotlessj}}{}
-
-\AtBeginDocument{
- \iflgrmath
- \@ifpackageloaded{lgrmath}{}{
- \RequirePackage[font=fcm,style=french]{lgrmath}}
- \fi
- \ifupgreek
- \@ifpackageloaded{upgreek}{}{
- \RequirePackage[Symbol]{upgreek}}
- \fi
-}
\RequirePackage{xspace} % utile pour les commandes \ssi, \Oij
\ifnoibrackets\else\RequirePackage{ibrackets}\fi % intelligent brackets
-
\RequirePackage{decimalcomma} % depuis frenchmath 2.7
\newcommand*\DeclareMathUp[1]{
@@ -72,9 +82,8 @@
\else #1{#2}\afterfi@{\apply@#1}\fi}
\def\afterfi@#1#2\fi{\fi#1}
-\ifcapsit\else
- \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}
+\ifcapsit\else\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
@@ -84,7 +93,7 @@
\newcommand\curs{\mathscr}
\newcommand\infeg{\leqslant}
\newcommand\supeg{\geqslant}
-\newcommand\vide{\varnothing}
+\@ifundefined{vide}{\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}
@@ -138,49 +147,80 @@
\vec{\vphantom{t}\smash{k}}\,\right)}%
\xspace}
-\iffrenchmathgreek
- \@ifundefined{italpha}{\let\italpha\alpha}{
- \PackageWarningNoLine{frenchmath}{Command
- \string\italpha\space already exist \MessageBreak
- and will not be redefined, \MessageBreak
- no more warning for the other Greek letters, \MessageBreak
- except pi}
- }
- \@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}{
- \PackageWarningNoLine{frenchmath}{Command
- \string\itpi\space already exist \MessageBreak
- and will not be redefined}
- }
- \@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}{}
-\fi
+\newcommand\SaveGreekItalics{
+ \let\italpha\alpha
+ \let\itbeta\beta
+ \let\itgamma\gamma
+ \let\itdelta\delta
+ \let\itepsilon\epsilon
+ \let\itzeta\zeta
+ \let\iteta\eta
+ \let\ittheta\theta
+ \let\itiota\iota
+ \let\itkappa\kappa
+ \let\itlambda\lambda
+ \let\itmu\mu
+ \let\itnu\nu
+ \let\itxi\xi
+ \let\itpi\pi
+ \let\itrho\rho
+ \let\itsigma\sigma
+ \let\ittau\tau
+ \let\itupsilon\upsilon
+ \let\itphi\phi
+ \let\itchi\chi
+ \let\itpsi\psi
+ \let\itomega\omega
+ \let\itvarepsilon\varepsilon
+ \let\itvartheta\vartheta
+ \let\itvarpi\varpi
+ \let\itvarsigma\varsigma
+ \let\itvarphi\varphi
+}
+
+\newcommand\upgreekUndefined{
+ \let\upalpha\@undefined
+ \let\upbeta\@undefined
+ \let\upgamma\@undefined
+ \let\updelta\@undefined
+ \let\upepsilon\@undefined
+ \let\upzeta\@undefined
+ \let\upeta\@undefined
+ \let\uptheta\@undefined
+ \let\upiota\@undefined
+ \let\upkappa\@undefined
+ \let\uplambda\@undefined
+ \let\upmu\@undefined
+ \let\upnu\@undefined
+ \let\upxi\@undefined
+ \let\uppi\@undefined
+ \let\uprho\@undefined
+ \let\upsigma\@undefined
+ \let\uptau\@undefined
+ \let\upupsilon\@undefined
+ \let\upphi\@undefined
+ \let\upchi\@undefined
+ \let\uppsi\@undefined
+ \let\upomega\@undefined
+ \let\upvarepsilon\@undefined
+ \let\upvartheta\@undefined
+ \let\upvarpi\@undefined
+ \let\upvarrho\@undefined
+ \let\upvarsigma\@undefined
+ \let\upvarphi\@undefined
+}
\AtBeginDocument{
+ \iflgrmath
+ \SaveGreekItalics
+ \RequirePackage[font=fcm,style=french]{lgrmath}
+ \fi
\ifupgreek
+ \@ifpackageloaded{upgreek}{}{
+ \@ifpackageloaded{unicode-math}{\upgreekUndefined}{}
+ \SaveGreekItalics
+ \RequirePackage[Symbol]{upgreek}
+ }
\renewcommand\alpha{\upalpha}
\renewcommand\beta{\upbeta}
\renewcommand\gamma{\upgamma}
@@ -211,8 +251,8 @@
\renewcommand\varsigma{\upvarsigma}
\renewcommand\varphi{\upvarphi}
\fi
-
\ifUpgreek
+ % unicode-math utilise \upGamma, \upDelta...
\renewcommand\Gamma{\Upgamma}
\renewcommand\Delta{\Updelta}
\renewcommand\Theta{\Uptheta}