From 16601821d2505d574a327464554b1c68a06f6d6f Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Thu, 16 May 2019 21:03:55 +0000 Subject: frenchmath (16may19) git-svn-id: svn://tug.org/texlive/trunk@51144 c570f23f-e606-0410-a88d-b1316a301751 --- .../source/latex/frenchmath/frenchmath.dtx | 252 +++++++++++---------- 1 file changed, 137 insertions(+), 115 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 deb45e7b39a..547efed53fa 100644 --- a/Master/texmf-dist/source/latex/frenchmath/frenchmath.dtx +++ b/Master/texmf-dist/source/latex/frenchmath/frenchmath.dtx @@ -22,7 +22,7 @@ %<*package> \NeedsTeXFormat{LaTeX2e}[2005/12/01] \ProvidesPackage{frenchmath} - [27/04/2019 v1.2 .dtx frenchmath file] + [2019/05/15 v1.3 .dtx frenchmath file] % %<*driver> \documentclass{ltxdoc} @@ -75,47 +75,53 @@ % \changes{v1.0}{15/01/2019}{Initial version} % \changes{v1.1}{15/04/2019}{Nouvelles macros pour les repères, % changements mineurs dans la documentation} +% \changes{v1.1}{07/04/2019}{ajouté |\Oij| et |Oijk|} +% \changes{v1.1}{07/04/2019}{ajouté |\ensuremath| dans |\curs|} +% \changes{v1.2}{25/04/2019}{ajouté |\Ouv|} % \changes{v1.2}{25/04/2019}{L'option capsrm fonctionne à présent avec beamer, % modifications du fichier README.md} % \changes{v1.2}{27/04/2019}{capsrm -> capsup} +% \changes{v1.3}{10/05/2019}{intégration de icomma et psset{comma=true}, +% changements dans la documentation} % % \GetFileInfo{frenchmath.sty} % % \title{L'extension \textsf{frenchmath}\thanks{Ce document -% correspond à \textsf{frenchmath}~\fileversion, dernière modification le \filedate.}} +% correspond à \textsf{frenchmath}~\fileversion, dernière modification le 15/05/2019.}} % \author{Antoine Missier \\ \texttt{antoine.missier@ac-toulouse.fr}} -% \date{27 avril 2019} +% \date{15 mai 2019} % \maketitle % % \section{Introduction} % Cette extension, inspirée de \textsf{mafr} de Christian Obrecht~\cite{MAFR}, % permet le respect des règles typographiques mathématiques françaises, -% en particulier la possibilité d'obtenir automatiquement les majuscules -% mathématiques en romain (lettres droites) plutôt qu'en italique, -% comme préconisé dans~\cite{RTIN} et~\cite{IGEN}. +% en particulier la possibilité d'obtenir automatiquement +% les majuscules en romain (lettres droites) plutôt qu'en italique +% (voir~\cite{RTIN} et~\cite{IGEN}) +% ainsi que des espacements corrects +% pour les virgules et point-virgules. % % D'autres solutions pour composer les majuscules mathématiques en romain -% sont proposées dans l'extension \textsf{fourier}~\cite{FOUR} +% sont proposées dans les extensions \textsf{fourier}~\cite{FOUR} % (avec la famille des polices Adobe Utopia) % ou encore \textsf{mathdesign}~\cite{DESIGN} (avec les polices Adobe Utopia, % URW Garamond ou Bitstream Charter). Mais \textsf{frenchmath} % fournit une méthode générique s'adaptant à n'importe quelle police, en particulier % Latin Modern (extension \textsf{lmodern}) avec laquelle ce document a été composé. % -% D'autres préconisations peu respectées, telles que composer en lettre droite +% D'autres préconisations, telles que composer en lettre droite % et non en italique le symbole différentiel, les nombres i et e~\cite{IGEN}, -% sont en fait des règles internationales~\cite{TYPMA}~\cite{ICTNS}~\cite{LSHORT}. +% 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}. -% Celle-ci fournit également diverses macros -% pour les mathématiques internationales.}. +% \footnote{Nous proposons pour cela l'extension \textsf{mismath}~\cite{MIS} +% qui fournit diverses macros pour les mathématiques internationales.}. % % L'extension fournit en outre diverses macros francisées. % Quelques différences sont à signaler avec \textsf{mafr} : % \begin{itemize} % \item nous avons choisi de ne pas substituer les symboles français aux symboles anglo-saxons % avec le même nom de commande mais de créer de nouvelles commandes ; -% \item les macros présentées dans la section 2 correspondant à des macros de \textsf{mafr} +% \item les macros présentées dans la section 2 qui correspondent à des macros de \textsf{mafr} % sont signalées par un astérisque en fin d'item, les autres sont nouvelles ; % \item enfin quelques commandes de \textsf{mafr} ne sont pas spécifiques % aux mathématiques françaises et ne sont donc pas abordées ici : @@ -131,14 +137,7 @@ % % \section{Utilisation} % -% Contrairement à \textsf{mafr}, \textsf{frenchmath} ne charge pas les extensions -% \textsf{fontenc} avec l'option |T1|, -% ni \textsf{babel} avec l'option |french| -% \footnote{L'ancienne option \texttt{frenchb} est devenue obsolète -% et doit être remplacée par \texttt{french}~\cite{BABEL}.} -% afin de laisser à l'utilisateur plus de souplesse sur le choix de ces options. -% -% \medskip +% \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}). @@ -146,37 +145,96 @@ % 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}).* +% de \textsf{frenchmath} (comme de \textsf{mafr}). % % \medskip % \DescribeEnv{capsup, capsit} % L'extension \textsf{frenchmath} possède deux options : |capsup| (par défaut) et |capsit|. -% Avec |capsup|, les majuscules du mode mathématique sont composées automatiquement -% en forme droite (dans la famille par défaut, généralement romain) -% et avec |capsit| en italique. -% Quelque soit l'option choisie, on peut toujours changer l'aspect +% Avec |capsit|, les majuscules du mode mathématique sont composées automatiquement +% en italique et avec |capsup| +% en forme droite (dans la famille de fonte par défaut, généralement romain). +% Quelque soit l'option choisie, il est toujours possible de changer l'aspect % d'une lettre particulière, avec les macros \LaTeX\ |\mathrm| et |\mathit|. +% Par défaut |\[ P(X)=\sum_{i=0}^{n}a_i X^i \]| donne +% \[ P(X)=\sum_{i=0}^{n}a_i X^i \] +% +% \subsection{Virgules et point-virgule} +% \StandardMathComma +% Dans le mode mathématique de \LaTeX, la virgule est toujours, par défaut, +% un symbole de ponctuation qui sera donc suivi d'une espace. +% Ceci est légitime dans un intervalle : +% |$[a,b]$| donne $[a,b]$, mais pas pour un nombre en français : |$12,5$| donne $12,5$ +% au lieu de \DecimalMathComma $12,5$. +% L'extension \textsf{babel}, avec l'option |french|~\cite{BABEL}, fournit deux bascules : +% |\DecimalMathComma| et |\StandardMathComma|, qui permettent d'adapter +% le comportement de la virgule du mode mathématique. +% Deux autres extensions bien commodes permettent néanmoins de se passer de ces bascules +% \footnote{Dans ce cas il ne faut pas utiliser les bascules, +% au risque de rendre ces extensions inopérantes.}. +% En mode mathématique : +% \begin{itemize} +% \item avec \textsf{icomma} (intelligent comma) de Walter Schmidt~\cite{ICOMMA}, +% la virgule se comporte comme un caractère de ponctuation si elle est suivie d'une espace, +% sinon c'est un caractère ordinaire, +% \item avec \textsf{ncccomma} de Alexander I.~Rozhenko~\cite{NCC}, +% la virgule se comporte comme un caractère ordinaire si elle est suivie d'un chiffre +% (sans espace), sinon c'est un caractère de ponctuation. +% \end{itemize} +% Cette deuxième approche parait meilleure, néanmoins \textsf{ncccomma} +% ne fonctionne pas avec l'extension \textsf{numprint} +% lorsque celle-ci est chargée avec l'option \texttt{autolanguage} +% \footnote{L'option \texttt{autolanguage} de \textsf{numprint} utilisé +% conjointement avec l'option \texttt{french} de \textsf{babel} garantit un espacement +% correct entre les groupes de trois chiffres dans les grands nombres, +% qui doit être une espace insécable et non dilatable~\cite{RTIN}, +% légèrement plus grand que l'espace que l'on obtient sans cette option.}. +% Par contre \textsf{icomma} fonctionne mais à condition d'être chargé postérieurement. +% Vu son intérêt cette extension est automatiquement chargée par \textsf{frenchmath}. +% Il faudra donc prendre garde à appeler, dans le préambule, |\usepackage{frenchmath}| +% \emph{après} un éventuel |\usepackage[autolanguage]{numprint}|. +% +% Mentionnons enfin l'article \emph{Intelligent commas} de Claudio Beccari~\cite{BECC} +% qui propose une solution simplifiée par rapport à \textsf{ncccomma} mais qui +% ne fonctionne pas mieux. % % \medskip -% Nous présentons d'abord quelques commandes de \textsf{frenchmath} -% qui sont pour certaines de simples alias. +% Lorsque l'on utilise l'extension \textsf{pstricks-add} de \textsf{PSTricks} +% pour tracer des axes de coordonnées, l'appel |\psset{comma=true}| +% permet d'avoir les graduations avec une virgule au lieu du point décimal. +% Ce réglage est effectué par défaut ici. % % \medskip +% Le symbole \og;\fg\ a été redéfini pour le mode mathématique +% car l'espace précédant le point-virgule est incorrecte en français +% |$x \in [0,25 ; 3,75]$| donne +% $x\in [0,25 \PV 3,75 ]$ sans \textsf{frenchmath} et $x\in [0,25; 3,75]$ +% avec \textsf{frenchmath} ; +% le comportement de \og ;\fg devient identique à celui de \og:\fg +% \footnote{Un autre problème d'espacement, non spécifique au français, +% se pose avec les délimiteurs $[$ et $]$, +% par exemple $x \in ]0, \pi[$. Une solution est proposée +% dans l'extension \textsf{mismath}.}. +% \StandardMathComma +% +% \subsection{Quelques macros et alias utiles} +% % \DescribeMacro{\curs} % Les lettres cursives ($\curs{A}, \curs{B}, \curs{C}, \curs{D}, \ldots$) sont composées % avec la macro |\curs| et sont différentes de celles obtenues % avec |\mathcal| -% \footnote{L'extension \textsf{calrsfs} fournit les mêmes cursives en redéfinissant +% \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. +% ($\mathcal{A}, \mathcal{B}, \mathcal{C}, \mathcal{D}, \ldots$). +% L'activation du mode mathématique n'est pas nécessaire.* +% \footnote{Comme dit dans l'introduction, l'astérisque en fin d'item signale +% une fonctionnalité similaire dans \textsf{mafr}.} % % \medskip % \DescribeMacro{\infeg} \DescribeMacro{\supeg} % Les relations $\infeg$ et $\supeg$ s'obtiennent avec les commandes |\infeg| et |\supeg| % et diffèrent des versions anglaises de |\leq| ($\leq$) et |\geq| ($\geq$). % Ce sont des alias des commandes |\leqslant| et |\geqslant| de l'extension \textsf{amssymb} -% automatiquement chargée par \textsf{frenchmath}.* +% chargée par \textsf{frenchmath}.* % % \medskip % \DescribeMacro{\vide} @@ -210,16 +268,14 @@ % % \medskip % \DescribeMacro{\Oij} \DescribeMacro{\Oijk} -% Les repères classiques du plan ou de l'espace seront composés automatiquement, +% Les repères classiques du plan ou de l'espace seront composés % avec des hauteurs de flèches homogénéisées : % |\Oij| compose \Oij, |\Oijk| compose \Oijk et |\Ouv| compose \Ouv % (utilisé dans le plan complexe). \DescribeMacro{\Ouv} % On peut écrire ces commandes en mode texte, sans les délimiteurs du mode mathématique. % -% \medskip -% Les commandes suivantes sont déclarées comme identifiants de fonctions. +% \subsection{Identifiants de \og fonctions\fg classiques} % -% \medskip % \DescribeMacro{\pgcd} \DescribeMacro{\ppcm} % En arithmétique, nous avons les classiques |\pgcd| et |\ppcm|, % qui diffèrent de leur version anglo-saxonne |\gcd| et |\lcm| @@ -251,40 +307,11 @@ % \DescribeMacro{\ch} \DescribeMacro{\sh} \DescribeMacro{\tgh} % En principe, les fonctions hyperboliques s'écrivent en français avec les macros \LaTeX\ standard % |\cosh, \sinh, \tanh| ; les écritures $\ch x$, $\sh x$ et $\tgh x$ ne sont la norme -% qu'avec les langues d'Europe de l'Est~\cite{COMP}, mais celles-ci -% sont néanmoins utilisées en France~\cite{RTIN}. +% qu'avec les langues d'Europe de l'Est~\cite{COMP}, néanmoins ces écritures +% sont aussi utilisées en France~\cite{RTIN}. % On les obtient avec les commandes |\ch|, |\sh| et |\tgh| % \footnote{La commande \texttt{\bslash th} existe déjà et produit $\th$.}. % -% \medskip -% Traitons pour finir de questions de ponctuation. -% -% \medskip -% \DescribeMacro{\virgdec} \DescribeMacro{\virgstd} -% Par défaut la virgule est un symbole de ponctuation et, en mode mathématique, -% une espace sera ajoutée après la virgule, ce qui est légitime dans un intervalle : -% |$[a,b]$| donne $[a,b]$, mais pas pour un nombre en français : |$12,5$| donne $12,5$ -% avec une espace trop grande après la virgule. -% L'extension \textsf{babel}, avec l'option |french|, fournit deux bascules : -% |\DecimalMathComma| et |\StandardMathComma|~\cite{BABEL}, qui permettent de modifier -% le comportement de la virgule en mode mathématique. -% Nous proposons ici les alias |\virgdec| et |\virgstd| pour ces deux commandes -% \footnote{Une autre solution très commode est l'utilisation de l'extension \textsf{icomma} -% (intelligent comma) de Walter Schmidt~\cite{COMMA}, -% mais, contrairement à \texttt{\bslash virgdec}, \textsf{icomma} ne rétablit -% pas l'espace après la virgule quand -% on tape \texttt{\$[a,b]\$}.}. -% -% \medskip -% \DescribeMacro{;} \virgdec -% Le symbole \og;\fg\ a été redéfini pour le mode mathématique -% car l'espace précédant le double-point est incorrecte en français -% |$x \in [0,25 ; 3,75]$| donne -% $x\in [0,25 \PV 3,75 ]$ sans \textsf{frenchmath} et $x\in [0,25; 3,75]$ avec \textsf{frenchmath} ; -% le comportement de \og ;\fg devient identique à celui de \og:\fg -% \footnote{Un autre problème d'espacement se pose avec les délimiteurs $[$ et $]$, -% par exemple $x \in ]0, \pi[$. Une solution est proposée -% dans l'extension \textsf{mismath}.}.\virgstd % % \section{Le code} % @@ -299,51 +326,9 @@ \RequirePackage{amssymb} % fournit \leqslant, \geqslant et \varnothing \RequirePackage{amsopn} % fournit \DeclareMathOperator \RequirePackage{xspace} % utile pour les commandes \curs, \ssi, \Oij - -\newcommand*\curs[1]{\ensuremath{\mathscr{#1}}\xspace} -% \end{macrocode} -% \changes{v1.1}{07/04/2019}{ajouté |\ensuremath| dans |\curs|} -% \begin{macrocode} -\newcommand\infeg{\leqslant} -\newcommand\supeg{\geqslant} -\newcommand\vide{\varnothing} -\newcommand{\paral}{\mathrel{/\!\!/}} % \parallel existe déjà : || -\newcommand\ssi{si, et seulement si,\xspace} -\newcommand*{\cmod}[1]{\quad[#1]} -\newcommand{\Oij}{\ensuremath{ - \left(O, \vec{\imath}, \vec{\jmath}\,\right) - }\xspace -} -\newcommand{\Oijk}{\ensuremath{ - \left(O, \vec{\vphantom{t}\imath}, \vec{\vphantom{t}\jmath}, - \vec{\vphantom{t}\smash{k}}\,\right) - }\xspace -} -\newcommand{\Ouv}{\ensuremath{ - \left(O, \vec{u}, \vec{v}\,\right)}\xspace -} -% \end{macrocode} -% \changes{v1.1}{07/04/2019}{ajouté |\Oij| et |Oijk|} -% \changes{v1.2}{25/04/2019}{ajouté |\Ouv|} -% \begin{macrocode} - -\DeclareMathOperator{\pgcd}{pgcd} -\DeclareMathOperator{\ppcm}{ppcm} -\DeclareMathOperator{\card}{card} -\DeclareMathOperator{\Card}{Card} -\DeclareMathOperator{\Ker}{Ker} -\DeclareMathOperator{\Hom}{Hom} -\DeclareMathOperator{\rg}{rg} -\DeclareMathOperator{\Vect}{\Vect} -\DeclareMathOperator{\ch}{ch} -\DeclareMathOperator{\sh}{sh} -\DeclareMathOperator{\tgh}{th} - -\newcommand\virgdec{\DecimalMathComma} -\newcommand\virgstd{\StandardMathComma} +\RequirePackage{icomma} % virgule intelligente \DeclareSymbolFont{up}{\encodingdefault}{\familydefault}{m}{n} -\DeclareMathSymbol{;}\mathbin{up}{059} % \mathpunct à l'origine % \end{macrocode} % L'option \texttt{capsup} redéfinit toutes les lettres majuscules % du mode mathématique ; |\AtBeginDocument| est nécessaire pour que @@ -378,9 +363,43 @@ \DeclareMathSymbol{Y}\mathalpha{up}{`Y} \DeclareMathSymbol{Z}\mathalpha{up}{`Z} }} +\AtBeginDocument{\@ifpackageloaded{pstricks-add}{\psset{comma=true}}{}} +\DeclareMathSymbol{;}\mathbin{up}{059} % \mathpunct à l'origine + +\newcommand*\curs[1]{\ensuremath{\mathscr{#1}}\xspace} +\newcommand\infeg{\leqslant} +\newcommand\supeg{\geqslant} +\newcommand\vide{\varnothing} +\newcommand\paral{\mathrel{/\!\!/}} % \parallel existe déjà : || +\newcommand\ssi{si, et seulement si,\xspace} +\newcommand*\cmod[1]{\quad[#1]} +\newcommand\Oij{\ensuremath{ + \left(O, \vec{\imath}, \vec{\jmath}\,\right) + }\xspace +} +\newcommand\Oijk{\ensuremath{ + \left(O, \vec{\vphantom{t}\imath}, \vec{\vphantom{t}\jmath}, + \vec{\vphantom{t}\smash{k}}\,\right) + }\xspace +} +\newcommand\Ouv{\ensuremath{ + \left(O, \vec{u}, \vec{v}\,\right)}\xspace +} + +\DeclareMathOperator{\pgcd}{pgcd} +\DeclareMathOperator{\ppcm}{ppcm} +\DeclareMathOperator{\card}{card} +\DeclareMathOperator{\Card}{Card} +\DeclareMathOperator{\Ker}{Ker} +\DeclareMathOperator{\Hom}{Hom} +\DeclareMathOperator{\rg}{rg} +\DeclareMathOperator{\Vect}{\Vect} +\DeclareMathOperator{\ch}{ch} +\DeclareMathOperator{\sh}{sh} +\DeclareMathOperator{\tgh}{th} %\th existe déjà % \end{macrocode} % -% \begin{thebibliography}{16} +% \begin{thebibliography}{19} % \bibitem{RTIN} \emph{Lexique des règles typographiques en usage à l’Imprimerie Nationale}. % Édition du 26/08/2002. % \bibitem{IGEN} \emph{Composition des textes scientifiques}. @@ -408,13 +427,16 @@ % Paul Pichaureau, CTAN, 29/08/2013. % \bibitem{BABEL} \emph{A Babel language definition file for French}. Extension \LaTeX\ % \textsf{babel-french} de Daniel Flipo, CTAN, v3.5c 14/09/2018. -% \bibitem{COMMA} \emph{The \textsf{icomma} package for \LaTeXe}. -% Extension \LaTeX\ de Walter Schmidt, -% CTAN, v2.0 10/03/2002. +% \bibitem{ICOMMA} \emph{The \textsf{icomma} package for \LaTeXe}. +% Extension \LaTeX\ de Walter Schmidt, CTAN, v2.0 10/03/2002. +% \bibitem{NCC} \emph{The \textsf{ncccomma} package}. Alexander I.~Rozhenko, +% CTAN, v1.0 10/02/2005. +% \bibitem{BECC} \emph{Intelligent commas}. Claudio Beccari, The Prac\TeX\ Journal, +% 2011, No.\@1 % \bibitem{VECT} \emph{Typesetting vectors with beautiful arrow with \LaTeXe}. % Extension \LaTeX\ \textsf{esvect} d'Eddie Saudrais, CTAN, v1.3 11/07/2013. % \bibitem{MIS} \emph{\textsf{mismath} -- Miscellaneus mathematical macros}. Extension \LaTeX\ -% d'Antoine Missier, CTAN, v1.2 27/04/2019. +% d'Antoine Missier, CTAN, v1.3 08/05/2019. % \end{thebibliography} % \Finale -- cgit v1.2.3