From 3aa8d9864cfba44da31702861cb6a211fc1c8935 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sat, 25 Feb 2023 22:06:12 +0000 Subject: frenchmath (25feb23) (branch) git-svn-id: svn://tug.org/texlive/branches/branch2022.final@66155 c570f23f-e606-0410-a88d-b1316a301751 --- .../source/latex/frenchmath/frenchmath.dtx | 200 ++++++++++++--------- .../source/latex/frenchmath/frenchmath.ins | 4 +- 2 files changed, 113 insertions(+), 91 deletions(-) (limited to 'Master/texmf-dist/source') diff --git a/Master/texmf-dist/source/latex/frenchmath/frenchmath.dtx b/Master/texmf-dist/source/latex/frenchmath/frenchmath.dtx index 63c577e1732..e2037917fbd 100644 --- a/Master/texmf-dist/source/latex/frenchmath/frenchmath.dtx +++ b/Master/texmf-dist/source/latex/frenchmath/frenchmath.dtx @@ -1,6 +1,6 @@ % \iffalse meta-comment % -% Copyright (C) 2019-2022 by Antoine Missier +% Copyright (C) 2019-2023 by Antoine Missier % % This file may be distributed and/or modified under the conditions of % the LaTeX Project Public License, either version 1.3 of this license @@ -20,7 +20,7 @@ %<*package> \NeedsTeXFormat{LaTeX2e}[2005/12/01] \ProvidesPackage{frenchmath} - [2023/01/22 v2.4 .dtx frenchmath file] + [2023/02/24 v2.5 .dtx frenchmath file] % %<*driver> \documentclass{ltxdoc} @@ -34,8 +34,13 @@ \usepackage{metalogo} % pour les logos XeLaTeX et LuaLaTeX \usepackage{sectsty} \usepackage{xcolor} + \definecolor{darkbrown}{rgb}{0.5,0.1,0.1} \allsectionsfont{\color{darkbrown}} +\DeclareSymbolFont{ugrfm}{U}{psy}{m}{n} % pour les lettres de upgreek avec l'option Symbol +\DeclareMathSymbol{\upalphasym}{\mathord}{ugrfm}{`a} +\DeclareMathSymbol{\upbetasym}{\mathord}{ugrfm}{`b} +\DeclareMathSymbol{\uppisym}{\mathord}{ugrfm}{`p} \DeclareSymbolFont{cmsymbols}{OMS}{cmsy}{m}{n} % symbole \emptyset de computer modern \DeclareMathSymbol{\cmemptyset}{\mathord}{cmsymbols}{'73} % code octal dans cmsy \DeclareTextSymbol{\textmicro}{TS1}{181} % mu de micro @@ -60,7 +65,7 @@ % % \fi % -% \CheckSum{552} +% \CheckSum{537} % % \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 @@ -142,12 +147,18 @@ % - Option noibrackets car incompatibilité avec DeclarePairedDelimiter, % - warning si compilation avec LuaLaTeX et babel-french non chargé.} % +% \changes{v2.5}{24/02/2023}{ +% - Mention des macros MathUp et MathIt de mismath dans la doc, +% - remplacement des ifthenelse par des if... fi, +% - simplification du code pour la mise en majuscule, +% - chargement conditionnel de dotlessj pour mathptmx} +% % \GetFileInfo{frenchmath.sty} % % \title{L'extension \textsf{frenchmath}\thanks{Ce document -% correspond à \textsf{frenchmath}~\fileversion, dernière modification le 22/01/2023.}} +% correspond à \textsf{frenchmath}~\fileversion, dernière modification le 24/02/2023.}} % \author{Antoine Missier \\ \texttt{antoine.missier@ac-toulouse.fr}} -% \date{22 janvier 2023} +% \date{24 février 2023} % \maketitle % % \section{Introduction} @@ -200,15 +211,16 @@ % \section{Utilisation} % % \subsection{Majuscules mathématiques} -% En France, les lettres majuscules du mode mathématique doivent toujours -% être composées en romain ($A, B, C, \ldots$) et non en italique -% (\cite{RTIN} p.107, voir aussi~\cite{IGEN}). +% 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 +% (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, assez peu d'auteurs la respectent +% par contre, avec \LaTeX\ ou pdf\LaTeX, 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 toutes les majuscules -% mathématiques en romain, +% Par défaut \textsf{frenchmath} compose automatiquement les majuscules +% mathématiques latines en romain, % quelle que soit la fonte utilisée. % Par exemple |\[ P(X)=\sum_{i=0}^{n} a_i X^i \]| donne avec \textsf{frenchmath} % \[ P(X)=\sum_{i=0}^{n}a_i X^i. \] @@ -217,9 +229,17 @@ % L'option \texttt{capsit} de \textsf{frenchmath} % permet de désactiver la composition des majuscules du mode mathématique % en romain pour conserver la composition par défaut (en italique) : -% |\usepackage[capsit]{frenchmath}| -% 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|. +% |\usepackage[capsit]{frenchmath}|. +% +% \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) +% 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}$. % % \subsection{Lettres grecques} % La norme concernant l'usage des lettres grecques en italique ou en forme droite @@ -296,10 +316,11 @@ % 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}. +% 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 police Adobe Symbol), +% 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 @@ -423,10 +444,12 @@ % Le code % |$x\in ]-\pi, 0[ \cup ]2\pi, 3\pi[$| % produira -% \[ x\in ]-\pi, 0[ \cup ]2\pi, 3\pi[ \mbox{\quad avec \textsf{ibrackets}}, \] -% au lieu de -% \[ x\in \mathclose{]}-\pi, 0 \mathopen{[} \cup \mathclose{]} 2\pi, 3\pi \mathopen{[} -% \mbox{\quad sans \textsf{ibrackets}}. \] +% \begin{eqnarray*} +% & x\in ]-\pi, 0[ \cup ]2\pi, 3\pi[ \mbox{\quad avec \textsf{ibrackets}},\\ +% \mbox{au lieu de} & x\in \mathclose{]}-\pi, 0 \mathopen{[} +% \cup \mathclose{]} 2\pi, 3\pi \mathopen{[} +% \mbox{\quad sans \textsf{ibrackets}}. +% \end{eqnarray*} % % Avec \textsf{ibrackets}, un crochet devient un caractère ordinaire, % sauf s'il est immédiatement suivi par un signe + ou - (sans espace), auquel cas @@ -484,7 +507,7 @@ % du parallélisme : $\curs{D}\paral\curs{D}'$, % plutôt que sa version anglaise |\parallel| : $\curs{D}\parallel\curs{D}'$.* % -% \medskip +% \pagebreak % \DescribeMacro{\ssi} % La commande |\ssi| produit \og \ssi \fg. % @@ -568,28 +591,26 @@ % et |\ijk| composent les bases du plan et de l'espace, \ij % et \ijk, en homogénéisant la hauteur des flèches. % -% Signalons que les macros de ce paragraphe peuvent ne pas fonctionner -% avec certaines fontes mathématiques qui ne connaissent pas \texttt{\string\jmath}, -% par exemple l'extension \textsf{mathptmx} (basée sur la fonte de texte Times). +% Signalons que, pour l'extension \textsf{mathptmx} (basée sur la police de texte Times), +% |\jmath| n'est pas disponible, mais \textsf{frenchmath} contourne ce problème +% en chargeant alors \textsf{dotlessj}~\cite{DLJ} de David Carlisle, +% ce qui permet aux macros ci-dessus de fonctionner normalement. % % \StopEventually{} % -% \pagebreak % \section{Le code} % % \begin{macrocode} -\RequirePackage{ifthen} -\newboolean{capsit} -\DeclareOption{capsit}{\setboolean{capsit}{true}} -\newboolean{lgrmath} -\DeclareOption{lgrmath}{\setboolean{lgrmath}{true}} -\newboolean{upgreek} -\DeclareOption{upgreek}{\setboolean{upgreek}{true}} -\newboolean{Upgreek} -\DeclareOption{Upgreek}{\setboolean{Upgreek}{true} - \setboolean{upgreek}{true}} -\newboolean{noibrackets} -\DeclareOption{noibrackets}{\setboolean{noibrackets}{true}} +\newif\ifcapsit +\DeclareOption{capsit}{\capsittrue} +\newif\iflgrmath +\DeclareOption{lgrmath}{\lgrmathtrue} +\newif\ifupgreek +\DeclareOption{upgreek}{\upgreektrue} +\newif\ifUpgreek +\DeclareOption{Upgreek}{\Upgreektrue\upgreektrue} +\newif\ifnoibrackets +\DeclareOption{noibrackets}{\noibracketstrue} \ProcessOptions \relax \AtBeginDocument{ @@ -603,17 +624,17 @@ } } \RequirePackage{amsopn} % fournit \DeclareMathOperator -\ifthenelse{\boolean{lgrmath}}{ +\@ifpackageloaded{mathptmx}{\RequirePackage{dotlessj}} +\iflgrmath \@ifpackageloaded{lgrmath}{}{ \RequirePackage[font=fcm,style=french]{lgrmath}} -}{} -\ifthenelse{\boolean{upgreek}}{ +\fi +\ifupgreek \@ifpackageloaded{upgreek}{}{\RequirePackage[Euler]{upgreek}} -}{} +\fi \RequirePackage{xspace} % utile pour les commandes \curs, \ssi, \Oij -\ifthenelse{\boolean{noibrackets}}{}{ - \RequirePackage{ibrackets}} % intelligent brackets -% \RequirePackage{icomma} % intelligent comma +\ifnoibrackets\else \RequirePackage{ibrackets} \fi % intelligent brackets + \RequirePackage{ncccomma} % depuis frenchmath 1.6 \@ifpackagewith{babel}{french}{}{ \RequirePackage{iftex} @@ -634,46 +655,46 @@ % L'extension \textsf{ncccomma} doit être chargée après \textsf{babel-french} % si on utilise \LuaLaTeX, sinon une erreur de compilation se produit. % -% Je dois également à Jean-François Burnol une amélioration -% du code ci-après, redéfinissant les majuscules mathématiques. -% % 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}}{}{ +\newcommand*\@mathup[1]{ + \DeclareMathSymbol{#1}{\mathalpha}{operators}{`#1} +} +\ifcapsit\else \AtBeginDocument{ - \DeclareMathSymbol{A}\mathalpha{operators}{`A} - \DeclareMathSymbol{B}\mathalpha{operators}{`B} - \DeclareMathSymbol{C}\mathalpha{operators}{`C} - \DeclareMathSymbol{D}\mathalpha{operators}{`D} - \DeclareMathSymbol{E}\mathalpha{operators}{`E} - \DeclareMathSymbol{F}\mathalpha{operators}{`F} - \DeclareMathSymbol{G}\mathalpha{operators}{`G} - \DeclareMathSymbol{H}\mathalpha{operators}{`H} - \DeclareMathSymbol{I}\mathalpha{operators}{`I} - \DeclareMathSymbol{J}\mathalpha{operators}{`J} - \DeclareMathSymbol{K}\mathalpha{operators}{`K} - \DeclareMathSymbol{L}\mathalpha{operators}{`L} - \DeclareMathSymbol{M}\mathalpha{operators}{`M} - \DeclareMathSymbol{N}\mathalpha{operators}{`N} - \DeclareMathSymbol{O}\mathalpha{operators}{`O} - \DeclareMathSymbol{P}\mathalpha{operators}{`P} - \DeclareMathSymbol{Q}\mathalpha{operators}{`Q} - \DeclareMathSymbol{R}\mathalpha{operators}{`R} - \DeclareMathSymbol{S}\mathalpha{operators}{`S} - \DeclareMathSymbol{T}\mathalpha{operators}{`T} - \DeclareMathSymbol{U}\mathalpha{operators}{`U} - \DeclareMathSymbol{V}\mathalpha{operators}{`V} - \DeclareMathSymbol{W}\mathalpha{operators}{`W} - \DeclareMathSymbol{X}\mathalpha{operators}{`X} - \DeclareMathSymbol{Y}\mathalpha{operators}{`Y} - \DeclareMathSymbol{Z}\mathalpha{operators}{`Z} + \@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 + % \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) @@ -681,8 +702,7 @@ % \texttt{Upgreek} transforme en outre les majuscules grecques pour garder % le même style. % \begin{macrocode} - -\ifthenelse{\boolean{upgreek}}{ +\ifupgreek \@ifundefined{italpha}{\let\italpha\alpha}{ \PackageWarningNoLine{frenchmath}{Command \string\italpha\space already exist \MessageBreak @@ -721,9 +741,9 @@ \@ifundefined{itvarpi}{\let\itvarpi\varpi}{} \@ifundefined{itvarsigma}{\let\itvarsigma\varsigma}{} \@ifundefined{itvarphi}{\let\itvarphi\varphi}{} -}{} +\fi -\ifthenelse{\boolean{upgreek}}{ +\ifupgreek \renewcommand\alpha{\upalpha} \renewcommand\beta{\upbeta} \renewcommand\gamma{\upgamma} @@ -753,9 +773,9 @@ \renewcommand\varrho{\upvarrho} \renewcommand\varsigma{\upvarsigma} \renewcommand\varphi{\upvarphi} -}{} +\fi -\ifthenelse{\boolean{Upgreek}}{ +\ifUpgreek \renewcommand\Gamma{\Upgamma} \renewcommand\Delta{\Updelta} \renewcommand\Theta{\Uptheta} @@ -767,7 +787,7 @@ \renewcommand\Phi{\Upphi} \renewcommand\Psi{\Uppsi} \renewcommand\Omega{\Upomega} -}{} +\fi \AtBeginDocument{\@ifpackageloaded{pstricks-add}{\psset{comma=true}}{}} \DeclareMathSymbol{;}{\mathbin}{operators}{'73} % \mathpunct à l'origine @@ -839,13 +859,14 @@ % \end{macrocode} % % \medskip -% \begin{thebibliography}{25} +% \begin{thebibliography}{26} % \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. -% \url{http://mslp.ac-dijon.fr/IMG/pdf/typo_txt_sci.pdf} +% \url{http://mslp.ac-dijon.fr/IMG/pdf/typo_txt_sci.pdf}\\ +% \url{https://euler.ac-versailles.fr/IMG/pdf/typo2.pdf} % \bibitem{AA} \emph{Règles françaises de typographie mathématique}, % Alexandre André, 02/09/2015. % \url{http://sgalex.free.fr/typo-maths_fr.pdf} @@ -867,6 +888,8 @@ % \url{http://tug.ctan.org/info/lshort/english/lshort.pdf} % \bibitem{MAFR} \emph{La distribution \textsf{mafr}}, Christian Obrecht, % CTAN, v1.0 17/09/2006. +% \bibitem{MIS} \emph{\textsf{mismath} -- Miscellaneus mathematical macros}, +% Antoine Missier, CTAN, v2.5 24/02/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}}, @@ -895,9 +918,8 @@ % 2011, No.\@1. % \url{https://tug.org/pracjourn/2011-1/beccari/Intcomma.pdf} % \bibitem{BRACKETS} \emph{Intelligent brackets -- The \textsf{ibrackets} package}, -% Antoine Missier, v1.0 19/12/2022. -% \bibitem{MIS} \emph{\textsf{mismath} -- Miscellaneus mathematical macros}, -% Antoine Missier, CTAN, v2.1 26/12/2022. +% Antoine Missier, v1.1 26/12/2022. +% \bibitem{DLJ} \emph{\textsf{dotlessj}}, David Carlisle, CTAN, v0.03 09/12/1998. % \end{raggedright} % \end{thebibliography} diff --git a/Master/texmf-dist/source/latex/frenchmath/frenchmath.ins b/Master/texmf-dist/source/latex/frenchmath/frenchmath.ins index 65dbcdfa9cc..8e0901845ea 100644 --- a/Master/texmf-dist/source/latex/frenchmath/frenchmath.ins +++ b/Master/texmf-dist/source/latex/frenchmath/frenchmath.ins @@ -1,5 +1,5 @@ %% -%% Copyright (C) 2019-2022 by Antoine Missier +%% Copyright (C) 2019-2023 by Antoine Missier %% %% This file may be distributed and/or modified under the conditions of %% the LaTeX Project Public License, either version 1.3 of this license @@ -21,7 +21,7 @@ This is a generated file. -Copyright (C) 2019-2022 by Antoine Missier +Copyright (C) 2019-2023 by Antoine Missier This file may be distributed and/or modified under the conditions of the LaTeX Project Public License, either version 1.3 of this license -- cgit v1.2.3