summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/frenchmath/frenchmath.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/frenchmath/frenchmath.dtx')
-rw-r--r--macros/latex/contrib/frenchmath/frenchmath.dtx401
1 files changed, 238 insertions, 163 deletions
diff --git a/macros/latex/contrib/frenchmath/frenchmath.dtx b/macros/latex/contrib/frenchmath/frenchmath.dtx
index fb72a379ec..ebe9e760c2 100644
--- a/macros/latex/contrib/frenchmath/frenchmath.dtx
+++ b/macros/latex/contrib/frenchmath/frenchmath.dtx
@@ -20,21 +20,18 @@
%<*package>
\NeedsTeXFormat{LaTeX2e}[2005/12/01]
\ProvidesPackage{frenchmath}
- [2022/11/15 v2.2 .dtx frenchmath file]
+ [2022/12/26 v2.3 .dtx frenchmath file]
%</package>
%<*driver>
\documentclass{ltxdoc}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[french]{babel}
+\usepackage[font=fcm]{lgrmath}
\usepackage{mathpazo}
\usepackage[upgreek]{frenchmath}
\usepackage{textalpha}
\usepackage{metalogo} % pour les logos XeLaTeX et LuaLaTeX
-% Pour certains exemples de la doc on restitue les définitions originales :
-\DeclareMathSymbol{\PV}\mathpunct{operators}{'73} % code octal du ; dans ecrm (ou cmr)
-\DeclareMathSymbol{\OB}\mathclose{operators}{093} % crochet ouvrant [
-\DeclareMathSymbol{\CB}\mathopen{operators}{091} % crochet fermant ]
\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
@@ -59,7 +56,7 @@
%</driver>
% \fi
%
-% \CheckSum{543}
+% \CheckSum{541}
%
% \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
@@ -79,39 +76,70 @@
%
%
% \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}
-% \changes{v1.1}{07/04/2019}{Nouvelles macros pour les repères (Oij, Oijk),
-% ajouté ensuremath dans curs}
-% \changes{v1.1}{15/04/2019}{Changements mineurs dans la documentation}
-% \changes{v1.2}{25/04/2019}{L'option capsrm fonctionne à présent avec beamer,
-% ajouté Ouv, modifications du fichier README.md}
-% \changes{v1.2}{27/04/2019}{capsrm -> capsup}
-% \changes{v1.3}{15/05/2019}{Intégration de icomma et psset{comma=true},
-% changements dans la documentation}
-% \changes{v1.4}{2019/05/22}{Changement de la définition de fonte up -> operators,
-% 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)}
-% \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,
-% suppression de l'option capsup (capsit à false suffit),
-% remplacement de \bslash 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}
-% \changes{v2.1}{11/11/2022}{reprise du doc pour les lettres grecques, les crochets
-% et les références ;
-% nouvelle commande paral*, \mathop{\operatorfont th} remplacé par \operatorname{th}}
-% \changes{v2.2}{15/11/2022}{Quelques changements dans la doc, fonte Palatino avec mathpazo,
-% commande paral redéfinie, la commande paral* devient inutile}
+% \changes{v1.0}{15/01/2019}{
+% - Première version publiée, création des fichiers dtx et ins}
+%
+% \changes{v1.1}{07/04/2019}{
+% - Nouvelles macros pour les repères (Oij, Oijk),
+% - ajouté ensuremath dans curs}
+% \changes{v1.1}{15/04/2019}{
+% - Changements mineurs dans la documentation}
+%
+% \changes{v1.2}{25/04/2019}{
+% - L'option capsrm fonctionne à présent avec beamer,
+% - ajouté Ouv, modifications du fichier README.md}
+% \changes{v1.2}{27/04/2019}{
+% - capsrm -> capsup}
+%
+% \changes{v1.3}{15/05/2019}{
+% - Intégration de icomma et psset{comma=true},
+% - changements dans la documentation}
+%
+% \changes{v1.4}{2019/05/22}{
+% - Changement de la définition de fonte up -> operators,
+% 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)}
+%
+% \changes{v1.6}{2022/10/16}{
+% - Remplacement de icomma par ncccomma, grâce à une proposition de J. F. Burnol,
+% - amélioration du code redéfinissant les majuscules mathématiques,
+% - suppression de l'option capsup (capsit à false suffit),
+% - remplacement de tgh par th pour la tangente hyperbolique.}
+%
+% \changes{v2.0}{2022/10/24}{
+% - nouvelle 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}
+%
+% \changes{v2.1}{11/11/2022}{
+% - Reprise du doc pour les lettres grecques, les crochets et les références ;
+% - nouvelle commande paral*,
+% - '\mathop{\operatorfont th}' remplacé par '\operatorname{th}'}
+%
+% \changes{v2.2}{15/11/2022}{
+% - Quelques changements dans la doc, police Palatino avec mathpazo,
+% - commande paral redéfinie, la commande paral* devient inutile}
+%
+% \changes{v2.3}{16/11/2022}{
+% - Bug corrigé dans la commande Vect}
+% \changes{v2.3}{20/11/2022}{
+% - Ajout dans la doc : frenchmath doit être chargé après babel}
+% \changes{v2.3}{19/12/2022}{
+% - Suppression des warnings systématiques,
+% - utilisation de \string à la place de \bslash}
+% \changes{v2.3}{25/12/2022}{
+% - Nouvelle option lgrmath,
+% - utilisation de l'extension ibrackets,
+% - définition de cosec et cosech}
%
% \GetFileInfo{frenchmath.sty}
%
% \title{L'extension \textsf{frenchmath}\thanks{Ce document
-% correspond à \textsf{frenchmath}~\fileversion, dernière modification le 15/11/2022.}}
+% correspond à \textsf{frenchmath}~\fileversion, dernière modification le 26/12/2022.}}
% \author{Antoine Missier \\ \texttt{antoine.missier@ac-toulouse.fr}}
-% \date{15 novembre 2022}
+% \date{26 décembre 2022}
% \maketitle
%
% \section{Introduction}
@@ -121,18 +149,19 @@
% 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
-%\footnote{Merci à Jean-François Burnol pour certaines 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.
+% pour les virgules
+%\footnote{Merci à Jean-François Burnol pour certaines améliorations proposées au code.}
+% et point-virgules.
+% 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}
% (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).
+% (avec les polices Adobe Utopia, URW Garamond ou Bitstream Charter).
% Mais \textsf{frenchmath} fournit une solution générique
-% s'adaptant à n'importe quelle fonte.
+% s'adaptant à n'importe quelle police de caractères.
%
% D'autres préconisations, telles que composer en lettre droite
% et non en italique le symbole différentiel,
@@ -159,7 +188,7 @@
% \end{itemize}
%
% Mentionnons aussi l'extension \textsf{tdsfrmath}~\cite{FRM} de Yvon Henel
-% qui fournit beaucoup de commandes francisées.
+% qui fournit aussi beaucoup de commandes francisées.
%
%
% \section{Utilisation}
@@ -168,20 +197,21 @@
% 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}).
-% En utilisant \XeLaTeX\ ou \LuaLaTeX\ avec des fontes mathématiques OpenType,
+% En utilisant \XeLaTeX\ ou \LuaLaTeX\ avec des polices mathématiques OpenType,
% cette convention est assez commode à mettre en œuvre,
% mais, avec \LaTeX\ ou pdf\LaTeX, assez peu d'auteurs la respectent
-% et les extensions précitées ne fonctionnent qu'avec des fontes précises.
+% 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,
% 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. \]
%
-% \DescribeEnv{capsit}
-% L'extension \textsf{frenchmath} possède une option, |capsit|,
-% qui permet de conserver la composition des majuscules du mode mathématique
-% en italique (dans la famille de fonte par défaut).
+% \DescribeEnv{[capsit]}
+% 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|.
%
@@ -215,7 +245,7 @@
% \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{\bslash Bbbk}.}
+% \texttt{\string\Bbbk}.}
% et \textsf{libertinust1math}
% de Michael Sharpe,
% \textsf{pxgreeks}, \textsf{txgreeks}
@@ -223,40 +253,66 @@
% \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{\bslash iint}, \texttt{\bslash iiint}, \texttt{\bslash iiiint},
-% \texttt{\bslash idotsint}.}
+% \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 fontes Palatino, Times et Libertinus.
+% 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}
+% \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
+% |\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}
-% ou \texttt{Symbolsmallscale} (utilisant la fonte Adobe Symbol),
+% ou \texttt{Symbolsmallscale} (utilisant la police 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.}.
+% avec une police comme Times par exemple.}.
% L'option \texttt{upgreek} de \textsf{frenchmath} redéfinit ensuite les commandes
-% |\alpha|, |\beta|, \ldots
+% |\alpha|, |\beta|, etc.
% pour produire automatiquement les lettres en forme droite
% $\alpha$, $\beta$, \ldots, $\pi$, \ldots ; les formes italiques, $\italpha, \itbeta$, \ldots,
-% $\itpi$, \ldots, restant cependant disponibles avec les commandes
-% |\italpha|, |\itbeta|, \ldots, |\itpi|, \ldots
+% $\itpi$, etc. restant cependant disponibles avec les commandes
+% |\italpha|, |\itbeta|, \ldots, |\itpi|, etc.
%
% \medskip
-% \DescribeEnv{Upgreek}
+% \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}
+% 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$.
-% L'option \texttt{Upgreek} de \textsf{frenchmath} redéfinit les majuscules
+% 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$.
%
@@ -269,30 +325,25 @@
% 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 particulièrement bien avec la fonte Latin Modern.
-% Par contre le theta produit n'est pas vraiment celui attendu, \texttheta,
-% à moins d'utiliser la fonte \textsf{libertinus} ou l'extension \textsf{fontspec}
-% avec \XeLaTeX\
-% (et seulement avec les versions de \textsf{textalpha} postérieures à 2020) ;
-% d'autre part le rendu de |\textpi| est parfois curieusement déformé.
+% 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{\bslash textmicro}
-% (depuis 2020) car elle redéfinit \texttt{\bslash 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{,}
-% \StandardMathComma
+% \DescribeMacro{virgules}
% 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 $12,5$
-% \DecimalMathComma
-% au lieu de $12,5$.
+% |$[a,b]$| donne $[a,b]$, mais pas pour un nombre en français : |$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
% le comportement de la virgule du mode mathématique.
@@ -304,7 +355,7 @@
% \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,
+% 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.
@@ -327,6 +378,10 @@
% 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, il est impératif de charger
+% \textsf{frenchmath} \emph{après} \textsf{babel-french}
+% (ce qui est, somme toute, la pratique normale).
+%
% \medskip
% Lorsque l'on utilise l'extension \textsf{pstricks-add} de \textsf{PSTricks}
% pour tracer des axes de coordonnées, l'appel |\psset{comma=true}|
@@ -334,46 +389,52 @@
% Ce réglage est effectué par défaut ici.
%
% \medskip
-% \DescribeMacro{;}
+% \DescribeMacro{point-virgule}
% 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]$
+% $x\in [0,25 \mathpunct; 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
-% \StandardMathComma
+% le comportement de \og ;\fg devient identique à celui de \og:\fg.
%
% \medskip
-% \DescribeMacro{[ ]}
-% Les crochets ouvrants et fermants $[$ et $]$ ont été redéfinis pour le mode
-% mathématique car l'espace extérieure est souvent incorrecte
+% \DescribeMacro{crochets}
+% Alors que les Anglais utilisent généralement les parenthèses
+% pour les intervalles ouverts $(0, +\infty)$, l'usage en français est d'utiliser
+% les crochets $]0, +\infty[$. Mais comme cela n'est pas prévu par \LaTeX,
+% les espaces seront souvent incorrectes.
+% Nous avons redéfini les crochets dans l'extension \textsf{ibrackets}~\cite{BRACKETS}
+% qui est chargée par \textsf{frenchmath}
% \footnote{L'extension \textsf{interval} fournit une autre
-% solution basée sur la macro \texttt{\bslash interval} ;
+% solution basée sur la macro \texttt{\string\interval} ;
% citons aussi \textsf{mathtools} et sa commande
-% \texttt{\bslash DeclarePairedDelimiter}.
-% Sinon l'extension \textsf{mismath} définit les crochets de la même manière
-% que \textsf{frenchmath}, sans incompatibilité entre les deux.}:
-% \begin{center}
-% |$x\in ]0,\pi[ \cup ]2\pi,3\pi[$| \hfill
-% $\left\{\begin{array}{@{\,}ll}
-% x\in \OB 0,\pi \CB \cup \OB 2\pi, 3\pi \CB
-% &\mbox{sans \textsf{frenchmath},}\\
-% x\in ]0, \pi[ \cup ]2\pi, 3\pi[
-% &\mbox{avec \textsf{frenchmath}.}
-% \end{array}\right.$
-% \end{center}
-% Dans notre code, les symboles $[$ et $]$ ne sont plus définis comme des délimiteurs.
+% \texttt{\string\DeclarePairedDelimiter}.}.
+% 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}}. \]
+%
+% Dans notre code, les caractères $[$ et $]$ deviennent \og actifs \fg
+% et ne sont plus définis par défaut comme des délimiteurs.
% De ce fait, une coupure de ligne peut se produire entre les deux,
% mais il est toujours possible de transformer alors ces crochets en délimiteurs
% avec |\left| et |\right|.
-% Un autre problème se pose lorsque la borne inférieure de l'intervalle
-% contient un symbole d'opération car les espaces autour de l'opération seront alors
-% trop grandes : |$[-1, 1]$| donne
-% $[-1, 1]$ au lieu de $[{-1}, 1]$
-% \footnote{Problème signalé par J.F. Burnol, mais cela n'enlève pas l'intérêt de
-% cette redéfinition.}.
-% Pour rétablir les espaces correctes, il faut
-% entourer le $-$ ou le $-1$ par des accolades ou utiliser |\left| et |\right|.
+%
+% 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
+% c'est un délimiteur ouvrant.
+% 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,
+% \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]$.
+%
% \subsection{Quelques macros et alias utiles}
%
% \DescribeMacro{\curs}
@@ -382,7 +443,7 @@
% 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}.}
+% la commande \texttt{\string\mathcal}.}
% ($\mathcal{A}, \mathcal{B}, \mathcal{C}, \mathcal{D}, \ldots$).
% La commande |\curs| permet aussi de composer ces lettres en mode texte,
% sans les délimiteurs du mode mathématique.*
@@ -407,9 +468,9 @@
% \DescribeMacro{\paral}
% La commande |\paral| fournit la \emph{relation}
% \footnote{Pour noter que deux objets sont perpendiculaires, on utilise
-% \texttt{\bslash perp} : $\curs{D}\perp\curs{D}'$,
+% \texttt{\string\perp} : $\curs{D}\perp\curs{D}'$,
% défini comme une \emph{relation} mathématique plutôt que
-% \texttt{\bslash bot} défini comme un \emph{symbole} (les espacements diffèrent).}
+% \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}'$.*
%
@@ -443,7 +504,7 @@
% \LaTeX\ fournit les macros
% |\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
+% \footnote{La commande \texttt{\string\Im} existe déjà pour la
% partie imaginaire des nombres complexes et produit $\Im$ ;
% elle est redéfinie en Im par l'extension \textsf{mismath}
% et peut aussi être utilisée pour l'image.}
@@ -462,10 +523,19 @@
% avec les langues d'Europe de l'Est~\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{\bslash th} existe déjà, pour le mode texte uniquement,
+% \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{\bslash tgh}, désormais obsolète.}.
+% de l'ancienne commande \texttt{\string\tgh}, utilisée jusqu'à la version 1.6,
+% désormais obsolète.}.
+%
+% \medskip
+% \DescribeMacro{\cosec} \DescribeMacro{\cosech}
+% La fonction cosécante (inverse du sinus) s'obtient avec la macro |\csc|, mais en français,
+% on utilise aussi |\cosec|~\cite{RTIN} et |\cosech| pour la cosécante hyperbolique
+% \footnote{La fonction sécante est définie en standard par \LaTeX\
+% avec \texttt{\textbackslash sec} et la sécante hyperbolique \texttt{\textbackslash sech}
+% est définie par \textsf{mismath}~\cite{MIS}.}.
%
% \subsection{Bases et repères}
%
@@ -483,23 +553,26 @@
%
% \DescribeMacro{\ij} \DescribeMacro{\ijk}
% Enfin les macros |\ij|
-% \footnote{Notons que la macro \texttt{\bslash ij} existait déjà
+% \footnote{Notons que la macro \texttt{\string\ij} existait déjà
% (ligature entre i et j pour le hollandais) et a été redéfinie.}
% 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{\bslash jmath},
+% 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).
%
% \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}
@@ -518,10 +591,15 @@
}
}
\RequirePackage{amsopn} % fournit \DeclareMathOperator
+\ifthenelse{\boolean{lgrmath}}{
+ \@ifpackageloaded{lgrmath}{}{
+ \RequirePackage[font=fcm,style=french]{lgrmath}}
+}{}
\ifthenelse{\boolean{upgreek}}{
\@ifpackageloaded{upgreek}{}{\RequirePackage[Euler]{upgreek}}
}{}
\RequirePackage{xspace} % utile pour les commandes \curs, \ssi, \Oij
+\RequirePackage{ibrackets} % intelligent brackets
% \RequirePackage{icomma} % intelligent comma
\RequirePackage{ncccomma} % depuis frenchmath 1.6
\AtBeginDocument{\mathcode`\,="8000\relax
@@ -531,9 +609,9 @@
}
% \end{macrocode}
% La macro ci-dessus permet d'utiliser \textsf{ncccomma} à la place de \textsf{icomma}.
-% Elle m'a été proposée par Jean-François Burnol, de même qu'une amélioration
-% du code ci-après,
-% redéfinissant les majuscules mathématiques.
+% \textsf{ncccomma} doit être chargée après \textsf{babel-french} si on utilise \LuaLaTeX.
+% Cette macro m'a été proposée par Jean-François Burnol, de même qu'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
@@ -582,10 +660,11 @@
\ifthenelse{\boolean{upgreek}}{
\@ifundefined{italpha}{\let\italpha\alpha}{
- \PackageWarningNoLine{frenchmath}{Italicized Greek
- \bslash italpha already exist \MessageBreak
+ \PackageWarningNoLine{frenchmath}{Command
+ \string\italpha\space already exist \MessageBreak
and will not be redefined, \MessageBreak
- no more warning for the other letters, except pi}
+ no more warning for the other Greek letters, \MessageBreak
+ except pi}
}
\@ifundefined{itbeta}{\let\itbeta\beta}{}
\@ifundefined{itgamma}{\let\itgamma\gamma}{}
@@ -601,8 +680,8 @@
\@ifundefined{itnu}{\let\itnu\nu}{}
\@ifundefined{itxi}{\let\itxi\xi}{}
\@ifundefined{itpi}{\let\itpi\pi}{
- \PackageWarningNoLine{frenchmath}{Italicized Greek
- \bslash itpi already exist \MessageBreak
+ \PackageWarningNoLine{frenchmath}{Command
+ \string\itpi\space already exist \MessageBreak
and will not be redefined}
}
\@ifundefined{itrho}{\let\itrho\rho}{}
@@ -667,9 +746,7 @@
}{}
\AtBeginDocument{\@ifpackageloaded{pstricks-add}{\psset{comma=true}}{}}
-\DeclareMathSymbol{;}\mathbin{operators}{'73} % \mathpunct à l'origine
-\DeclareMathSymbol{]}\mathord{operators}{093} % \mathclose à l'origine
-\DeclareMathSymbol{[}\mathord{operators}{091} % \mathopen à l'origine
+\DeclareMathSymbol{;}{\mathbin}{operators}{'73} % \mathpunct à l'origine
\newcommand*\curs[1]{\ensuremath{\mathscr{#1}}\xspace}
\newcommand\infeg{\leqslant}
@@ -695,21 +772,14 @@
\DeclareMathOperator{\Ker}{Ker}
\DeclareMathOperator{\Hom}{Hom}
\DeclareMathOperator{\rg}{rg}
-\DeclareMathOperator{\Vect}{\Vect}
+\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}}}}
-{\catcode`\|=\z@ \catcode`\\=12 |gdef|bslash{\}} % commande \bslash
-\PackageWarningNoLine{frenchmath}{Command \bslash tgh in now obsolete,
- \MessageBreak
- 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).
+\DeclareMathOperator{\cosec}{cosec}
+\DeclareMathOperator{\cosech}{cosech}
-% \begin{macrocode}
\newcommand\@Oij{%
\ensuremath{\left(O, \vec{\imath}, \vec{\jmath}\,\right)}\xspace}
\newcommand\@@Oij{%
@@ -745,50 +815,53 @@
% \end{macrocode}
%
% \medskip
-% \begin{thebibliography}{19}
+% \begin{thebibliography}{25}
% \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}.
-% \bibitem{AA} \emph{Règles françaises de typographie mathématique}.
+% \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}
+% \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}.
-% \bibitem{ES} \emph{Le petit typographe rationnel}. Eddie Saudrais, 20/03/2000.
+% \url{http://sgalex.free.fr/typo-maths_fr.pdf}
+% \bibitem{ES} \emph{Le petit typographe rationnel}, Eddie Saudrais, 20/03/2000.
+% \url{https://www.gutenberg-asso.fr/IMG/pdf/saudrais-typo.pdf}
% \bibitem{TYPMA} \emph{Typesetting mathematics for science and technology according
% to ISO 31/XI}, Claudio Beccari, TUGboat Volume 18 (1997), \No1.
-% \url{http://www.tug.org/TUGboat/tb18-1/tb54becc.pdf}.
+% \url{http://www.tug.org/TUGboat/tb18-1/tb54becc.pdf}
% \bibitem{NIST} \emph{Typefaces for Symbols in Scientific Manuscripts}.
-% \url{https://www.physics.nist.gov/cuu/pdf/typefaces.pdf}.
+% \url{https://www.physics.nist.gov/cuu/pdf/typefaces.pdf}
% \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 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,
+%\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}. Manuel \LaTeX\
-% de 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{MAFR} \emph{La distribution \textsf{mafr}}. Christian Obrecht,
+% \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{MAFR} \emph{La distribution \textsf{mafr}}, Christian Obrecht,
% CTAN, v1.0 17/09/2006.
-% \bibitem{FRM} \emph{L'extension \textsf{tdsfrmath}}. 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}}.
+% \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}.
+% \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}.
+% \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{UPGREEK} \emph{The \textsf{upgreek} package for \LaTeXe}. Walter Schmidt, CTAN,
+% (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}.
+% \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},
+% \bibitem{PMISO} \emph{\textsf{PM-ISOmath} -- The Poor Man ISO math bundle},
% Claudio Beccari, CTAN, v1.2.00 2021/08/04.
-% \bibitem{BABEL} \emph{A Babel language definition file for French}. Extension \LaTeX\
+% \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}.
% Walter Schmidt, CTAN, v2.0 10/03/2002.
@@ -796,9 +869,11 @@
% CTAN, v1.0 10/02/2005.
% \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{MIS} \emph{\textsf{mismath} -- Miscellaneus mathematical macros}.
-% Antoine Missier, CTAN, v2.0 11/11/2022.
+% \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.
% \end{raggedright}
% \end{thebibliography}