diff options
author | Karl Berry <karl@freefriends.org> | 2024-06-17 20:10:33 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2024-06-17 20:10:33 +0000 |
commit | dcdc58507a6eadb2b206527a11fb3c36b7a7e5d9 (patch) | |
tree | c8ffe4e67bedbe5bacc6ed067034a59e14ede8b8 /Master/texmf-dist/source | |
parent | fb638b031640e9ff2c4d989bfa29c6810f8d94f4 (diff) |
mismath (17jun24)
git-svn-id: svn://tug.org/texlive/trunk@71549 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source')
-rw-r--r-- | Master/texmf-dist/source/latex/mismath/mismath.dtx | 707 |
1 files changed, 421 insertions, 286 deletions
diff --git a/Master/texmf-dist/source/latex/mismath/mismath.dtx b/Master/texmf-dist/source/latex/mismath/mismath.dtx index f3fd2168bca..c2d10d32afb 100644 --- a/Master/texmf-dist/source/latex/mismath/mismath.dtx +++ b/Master/texmf-dist/source/latex/mismath/mismath.dtx @@ -20,7 +20,7 @@ %<*package> \NeedsTeXFormat{LaTeX2e}[2005/12/01] \ProvidesPackage{mismath} - [2024/05/04 v3.0 .dtx Miscellaneous mathematical macros] + [2024/06/16 v3.1 .dtx Miscellaneous mathematical macros] %</package> %<*driver> \documentclass{ltxdoc} @@ -34,13 +34,16 @@ \usepackage{multicol} \usepackage{sectsty} \usepackage{xcolor} -\usepackage{spacingtricks} +\usepackage[pifont]{spacingtricks} \usepackage{array} \usepackage{metalogo} % for logos of XeLaTeX et LuaLaTeX \definecolor{darkbrown}{rgb}{0.5,0.1,0.1} \allsectionsfont{\color{darkbrown}} +% Next command is used for showing original Latin Modern \i and \j in text mode: +%\DeclareTextFontCommand{\extrafont}{\fontfamily{lmr}\selectfont} % useless with fourier + % The following commands provide several shapes for pi \DeclareFontEncoding{LGR}{}{} \def\pilmr{\text{\usefont{LGR}{lmr}{m}{n}\symbol{112}}} @@ -62,15 +65,13 @@ \def\pipx{\text{\usefont{U}{pxmia}{m}{it}\symbol{"19}}} \def\pitx{\text{\usefont{U}{txmia}{m}{it}\symbol{"19}}} -% Next command is used for showing original Latin Modern \i and \j in text mode: -%\DeclareTextFontCommand{\extrafont}{\fontfamily{lmr}\selectfont} % useless with fourier +\let\updelta\otherdelta \DisableCrossrefs %\CodelineIndex %\RecordChanges \usepackage{hyperref} -\let\C\relax % "\C already defined" with hyperref when compiling with xelatex or lualatex \hypersetup{% colorlinks, linkcolor=blue, @@ -87,7 +88,7 @@ %</driver> % \fi % -% \CheckSum{845} +% \CheckSum{854} % % \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 @@ -105,157 +106,13 @@ % Grave accent \` Left brace \{ Vertical bar \| % Right brace \} Tilde \~} % -% \changes{v0.1}{2011/12/27}{First personal version} -% -% \changes{v1.0}{2019/04/11}{ -% - Initial published version: creating dtx and ins files} -% -% \changes{v1.1}{2019/04/20}{ -% - Some forgotten french 'et' -> 'and', citecolor=blue, -% - changing the default font for pinumber Euler -> Symbol} -% -% \changes{v1.2}{2019/04/27}{ -% - Works fine with beamer now, -% - AtBeginDocument for enumber, inumber, jnumber, -% - creating general mm@operator macro, -% - using mathup instead of mathrm -% - added mathtools package, -% - font definition Roman -> up, -% - changes in documentation, -% - replacing the PEroman macro by PEupright} -% -% \changes{v1.3}{2019/05/08}{ -% - Using bslash in the internal mm@warning macro, -% - loading of mathfixs package -% - Many corrections in documentation} -% -% \changes{v1.4}{2019/05/22}{ -% - Changing font definition up -> UpSh, due to incompatibility with unicode-math} -% -% \changes{v1.5}{2019/05/30}{ -% - A solution for using mul with frac -> braces, -% - addition of paren macro} -% \changes{v1.5}{2019/06/22}{ -% - Small corrections in documentation} -% -% \changes{v1.6}{2019/09/06}{ -% - Removing mathfixs package, problems with fractions} -% -% \changes{v1.7}{2019/12/27}{ -% - Adding a table of contents to the documentation} -% -% \changes{v1.8}{2020/11/15}{ -% - Incompatibility mentioned when using `i' with accent in beamer titles -> use \^i, -% - small changes in documentation} -% -% \changes{v1.9}{2020/10/17}{ -% - UpSh replaced by "operators" font in math mode, -% - PackageWarning `command exist' replaced by PackageWarningNoLine, -% - medspace replaced by thickspace in the lfrac command, -% - changing font in documentation, lmodern -> Palatino (mathpazo)} -% -% \changes{v1.10}{2020/10/25}{\ -% - pinumber command code adapted to avoid incompatibility with the new frenchmath, -% - default option (in upgreek) changed from Symbol to Euler.} -% -% \changes{v2.0}{2022/11/11}{ -% - pinumber command has been enhanced to use other Greek letters packages, -% (and LGR encoding pi by default), it is no longer compatible with the older, -% - paren command has been removed, -% - hvect and hlbar have been slightly modified (phantom t instead of phantom h), -% - several changes in the documentation, -% - now using the Charter font in the doc (with the package mathdesign)} -% -% \changes{v2.1}{2022/12/26}{ -% - Improved management of square brackets with the ibrackets package, -% - new macros codim, sinc, var, eqdef*, -% - removing the systematic warning for paren command, -% - a small change in norm command -> bars in small size, -% - several changes in documentation} -% -% \changes{v2.2}{2023/01/06}{ -% - Loading of ibrackets package is now optional, due to an error -% when using DeclarePairedDelimiter with square brackets.} -% -% \changes{v2.3}{2023/02/09}{ -% - Introducing keyval options for enumber, inumber, jnumber, PEupright -% (corresponding old commands are maintained for now), -% - and also for ibrackets, boldvect and arrowvect -% - Documentation update} -% -% \changes{v2.4}{2023/02/18}{ -% - New powerful macros MathUp, MathIt and also MathNumbers, MathProba, MathNormal, -% - keyval options are no longer useful and have been deleted, -% - loading package ifthen has been forgotten in v2.3 (causing possible errors), -% - no more incompatibility when using `i' with accent in beamer titles} -% -% \changes{v2.5}{2023/02/23}{ -% - Unification of the code of MathUp and MathIt, -% - a powerful macro `apply' is used in MathNormal to act on a list, -% - a new `tensor' command, -% - small changes in the documentation} -% -% \changes{v2.6}{2023/03/01}{ -% - A bug correction in mm@macro -% - incompatibility of \C macro solved, when using babel with Russian -% (thanks to Murray Eisenberg for this bug report on TeX StackExchange) -% - mathrm added in macro eqdef* (useful if italicized Greek uppercase Delta) -% - Tiny changes in the documentation} -% -% \changes{v2.7}{2023/03/05}{ -% - Macros for sets of numbers (\R, \C,...) now available only in math mode -% (following remarks by David Carlisle and Enrico Gregorio) -% - special (not generic) warning when loading babel with russian -% (\C will not be defined in that case)} -% -% \changes{v2.8}{2023/07/26}{ -% - Some small changes in the documentation -% - New macro `onlymathC' designed for using '\C' when Russian language is loaded} -% -% \changes{v2.9}{2023/12/19}{ -% - New option decimalcomma -% - Some small changes in the documentation} -% -% \changes{v2.10}{2024/02/20}{ -% - Better compatibility with unicode-math: -% for the options ibrackets, decimalcomma and the commands MathUp, MathIt -% - Explicit error message when using mathcols without loading the multicol package} -% -% \changes{v2.11}{2024/02/26}{ -% - Enhancements of the pinumber macro with keyval options: -% * no necessity to load a Greek letters package -% * improvements of compatibility with unicode-math -% - Now using the Adobe Utopia font with the package fourier} -% -% \changes{v2.12}{2024/02/29}{ -% - The xparse package has been removed by mistake in v2.11, -% this may cause some compatibility problems; -% it is loaded again by mismath -% - Improvements to make pinumber work perfectly with unicode-math -% - Small corrections in the doc} -% -% \changes{v3.0}{2024/03/15}{ -% - Rewriting of the pinumber command including the pifonts macro -% - Presenting other lgrmath values for pinumber in the doc -% - The \C macro is now in AtBeginDocument -% - amsmath isn't loaded anymore because mathtools loads it -% - Bug fix with options decimalcomma and ibrackets -% - New option 'nofunction' to lighten the package loading -% - Addition of coker and Res in standard operator names -% - New option 'classicReIm' to deactivate Im and Re redefinition -% - New option 'otherReIm' to provide an alternative writing with cmsy font -% - Removal of the PEupright command -% - Additional space in the lfrac macro increased from \: (5mu) to 7mu -% - New optional parameter for adjusting the space in lfrac -% - Changing the vphantom in hvect, hvec and lbar from `t' to `A', looks better} -% % \GetFileInfo{mismath.sty} % % \title{Miscellaneous mathematical macros \\The \textsf{mismath} package\thanks{This document % corresponds to \textsf{mismath}~\fileversion, dated \filedate. % Thanks to François Bastouil for initial help in English translation.}} % \author{Antoine Missier \\ \texttt{antoine.missier@ac-toulouse.fr}} -% \date{May 04, 2024} +% \date{June 16, 2024} % % \maketitle % \tableofcontents @@ -292,8 +149,7 @@ % \item displaymath in double columns for lengthy calculations with short expressions. % \end{itemize} % -% To avoid compatibility issues, -% most of our macros will only be defined +% To avoid compatibility issues, most of our macros will only be defined % if there isn't already a command with the same name in the packages loaded % before \textsf{mismath}. If a macro is already defined, % a warning message will be displayed and the \textsf{mismath} definition @@ -302,16 +158,19 @@ % % \medskip % \DescribeEnv{\oarg{options}} -% The \textsf{mismath} package loads the \textsf{mathtools} +% The \textsf{mismath} package loads the \textsf{mleftright} +% \footnote{The \textsf{mleftright} package defines variants \texttt{\string \mleft} +% and \texttt{\string \mright} of \texttt{\string left} and \texttt{\string \right}.} +% package by Heiko Oberdiek~\cite{MLR} and also \textsf{mathtools} % \footnote{The \textsf{mathtools} package offers numerous helpful macros and improvements % of the \textsf{amsmath} package.} -% package by Morten Høgholm and Lars Madsen~\cite{TOOL} which in turn loads -% the \textsf{amsmath} package~\cite{AMS}. +% by Morten Høgholm and Lars Madsen~\cite{TOOL} which in turn loads +% the \mbox{\textsf{amsmath}} package~\cite{AMS}. % If you want to use \mbox{\textsf{amsmath}} or \textsf{mathtools} with specific options, % you can include these options as options of \mbox{\textsf{mismath}}, or % you can load \textsf{amsmath} or \textsf{mathtools} % with the desired options before loading \mbox{\textsf{mismath}}. -% When using the package \textsf{unicode-math}~\cite{UNIC}, \textsf{mismath} +% When using the package \mbox{\textsf{unicode-math}}~\cite{UNIC}, \textsf{mismath} % should be loaded before \textsf{unicode-math}, just like \textsf{amsmath}. % % \medskip @@ -364,7 +223,7 @@ % or imaginary number $\i$, with |\mathup{e}| or |\mathup{i}|, % the package provides the |\e| command for Euler's number % and |\i| or |\j| for imaginary numbers. -% Let us notice that |\i| and |\j| already exist in LaTeX. In LR (left-to-right) mode, +% Let us notice that |\i| and |\j| already exist in \LaTeX. In LR (left-to-right) mode, % they produce \mbox{`\i,\ \j'} without the dot, % allowing you to place accents on them. % However, in mathematical mode, they produce the warning @@ -376,7 +235,7 @@ % \medskip % \DescribeMacro{\MathUp} % Indeed, typing a lot of backslashes for constants like $\e$, $\i$, or $\j$ -% in a document with numerous formulas can become tiresome. +% in a document with numerous formulas using them can become tiresome. % To alleviate this, the package proposes another solution % with the macro |\MathUp|\marg{char}. % For example, when |\MathUp{e}| is called, any subsequent occurrence of $\e$ @@ -420,7 +279,7 @@ % These three commands, used until version 2.2 but only functioning within the preamble, % serve now as aliases for the commands |\MathUp{e}|, |\MathUp{i}| or |\MathUp{j}|, % so they can be used anywhere -% in the document or preamble and has an inverse switches with |\MathIt|. +% in the document or preamble and has an inverse switch with |\MathIt|. % % \medskip % \DescribeMacro{\pinumber[\meta{option}]} @@ -452,7 +311,7 @@ % which allows the use of any Greek LGR-encoded font in math mode, % an idea taken up in \textsf{mathgreeks}~\cite{MGREEK}. % Also note \textsf{newtxmath}~\cite{NTX} which has several font options. -% These packages provide commands like |\uppi| (\textsf{upgreek}), +% These packages provide commands like |\uppi| (\textsf{upgreek}, \textsf{mathgreeks}), % |\piup| (\textsf{mathdesign}, \textsf{kpfonts}, \textsf{lgrmath}), % |\otherpi| (\textsf{fourier}), etc. % \footnote{They have also options to typeset all the Greek lowercase @@ -461,7 +320,7 @@ % In this case, |\pinumber| must be called in the preamble % with an optional argument being the name of the command, \emph{without the backslash}, % giving access to the upright pi: -% piup, uppi, otherpi\ldots +% \texttt{piup}, \texttt{uppi}, \texttt{otherpi}\ldots % However, installing such a Greek letters package will modify % all the other Greek letter glyphs. % ^^A even if, except for pi, they will be in italics. @@ -482,7 +341,7 @@ % providing the same glyph. % The following table summarizes the available options. % When a key is given without a value, |\pinumber| will choose a default value -% specified in the following text (depending on the key). +% specified in the text list following the table. % % \begin{center} % \setlength{\extrarowheight}{1pt} @@ -556,18 +415,18 @@ % (based on Palatino), % \texttt{txfonts} (based on Times) % are booleans whose default value is \texttt{true} (when called). -% The \texttt{txfonts} option yields the same glyph than \texttt{lgrmath=txr}. +% The \texttt{txfonts} key yields the same glyph than \texttt{lgrmath=txr}. % % \end{itemize} % \end{enumerate} % -% The \textsf{unicode-math} package~\cite{UNIC} provides |\uppi|, and you can use +% The \textsf{unicode-math} package~\cite{UNIC} provides |\uppi|, so you can use % |\pinumber[uppi]| to produce automatic upright pi in the selected math font, -% but |\pinumber[uppi]| must be called \emph{after} \mbox{\textsf{unicode-math}}, -% and a math font must have been explicitly chosen with |\setmathfont|. -% You can also use the \texttt{fontspec} key option to obtain pi in any font -% that is supported by \mbox{\textsf{unicode-math}} \eg -% |\pinumber[fontspec=STIX Two Math]|. +% but a math font must have been explicitly chosen with |\setmathfont|. +% You can also use the \texttt{fontspec} key option, +% \eg |\pinumber[fontspec=STIX Two Math]|, +% to obtain pi in any font +% that is supported by \textsf{unicode-math}. % % For other fonts, it can be quite complicated to make Greek letters packages % work with \textsf{unicode-math}. In any case, such a package must be loaded @@ -616,7 +475,7 @@ % \DescribeMacro{\boldvect} % The |\vect| macro allows vector names to be typeset using bold italic font, % as recommended by ISO~\cite{NIST}~\cite{SI}, instead of using arrows. -% By using the |\boldvect| command, you can modify the behavior of |\vect| +% To achieve this, call the |\boldvect| command, it will modify the behavior of |\vect| % locally or globally, depending on its placement in the document (inside or outside % a group or an environment):\\[2ex] % \begin{minipage}{8cm} @@ -639,16 +498,16 @@ % \textsf{isomath} with |\mathbfit| % or \textsf{bm} with the |\bm| command; % \textsf{unicode-math} provides the |\symbfit| command. -% To use an alternative command instead of |\boldsymbol| in \textsf{mismath}, +% To use an alternative command instead of |\boldsymbol| in \mbox{\textsf{mismath}}, % redefine |\boldvectcommand|, -% for instance after loading \textsf{fixmath}: +% for instance if \textsf{fixmath} is loaded: % % \medskip % \centeredline{|\renewcommand\boldvectcommand{\mathbold}|} % % \medskip % According to ISO rules, symbols for matrices are also in bold italic. -% Therefore you can use the same |\boldvect| command or create another alias. +% Therefore you can also use |\vect| with |\boldvect| for matrices, or create another alias. % % \medskip % \DescribeMacro{\arrowvect} @@ -663,7 +522,7 @@ % When vectors with arrows are typeset side by side, % the arrows can be set up slightly higher using |\hvect| % (which places a vertical phantom box containing `$A$') -% to avoid inelegant effects. For example, writing +% to prevent inelegant effects. For example, writing % \begin{itemize} % \item $\vect{AB}=\hvect{u} + \vect{AC}$, obtained with |\hvect{u}|, % looks better than $\vect{AB}=\vect{u}+ \vect{AC}$; @@ -696,7 +555,7 @@ % for adaptive delimiters. Unfortunately, these delimiters % are always vertically centered, relatively to the mathematical center line, % whereas vectors with arrows are asymmetric objects. -% The code |$\norm{\vec{h}}$| raises a smaller double bar to produce $\norm{\vec{h}}$ +% The code |$\norm{\vec{h}}$| raises the double bar to produce $\norm{\vec{h}}$ % instead of $\Vert\vec{h}\Vert$ or $\left\Vert \vec{h} \right\Vert$. % Let's notice that the height of the bars don't adjust to content, % but however to context: main text, subscripts or exponents, @@ -745,6 +604,27 @@ % The command |\di| can also represent the \emph{distance}, hence its name: % \[\di(u, \cmmathcal{H}) = \frac{\abs{\langle u,v\rangle}}{\lVert v \rVert}.\] % +% \DescribeMacro{\opDelta} \DescribeMacro{\opdelta} +% Two other `difference' operators allow for expressing variations ($\opDelta$) +% or small variations ($\opdelta$). +% They are obtained using the |\opDelta| and |\opdelta| commands. +% \begin{align*} +% \opDelta f \approx \opDelta h = f'(x_0) \opDelta x && +% \frac{\opdelta T}{T}=\frac{1}{2}\frac{\opdelta l}{l} && +% h= \opdelta x\opdelta y +% \end{align*} +% +% Like |\di|, these operators use specific spacing and are typeset using +% the upright Greek letters given by |\updelta| and |\upDelta|. +% By default |\upDelta| is an alias for |\Delta| (which is supposed to be in upright shape); +% |\updelta| is not provided by \textsf{mismath} but can be obtained with +% other packages such as \textsf{mathgreeks}~\cite{MGREEK}, +% \mbox{\textsf{unicode-math}}~\cite{UNIC}, +% or as an alias for the upright delta provided by other fonts +% \footnote{With \textsf{fourier} (without the \texttt{upright} option) we have used +% \texttt{\string\let\string\updelta\string\otherdelta}.}. +% +% \pagebreak % \DescribeMacro{\P} \DescribeMacro{\E} % To refer to probability % \footnote{\LaTeX\ provides also \texttt{\string \Pr} which gives $\Pr$.} @@ -754,7 +634,7 @@ % % \medskip % \DescribeMacro{\Par} -% The |\P| command already existed to refer to the end of paragraph symbol \Par\ +% The |\P| command already existed to refer to the `end of paragraph' symbol (\Par) % and has been redefined, but this symbol can still be obtained with |\Par|. % % \medskip @@ -762,17 +642,16 @@ % Variance is generally denoted by $\var$ or $\Var$ (see the following table), % but some authors prefer to use $\V$, which can be produced using |\V|. % -% \pagebreak % \DescribeMacro{\MathProba}\DescribeMacro{\MathNormal} % As for $\e$, $\i$ or $\j$, you can use |\MathUp{P}|, |\MathUp{E}| % or |\MathUp{V}| to avoid typing many |\P|, |\E| or |\V|. % However you can also achieve this in a single command with |\MathProba|, % for example |\MathProba{PE}|. We get the inverse toggle with -% |\MathIt| for any individual letter or |\MathNormal| for a list. +% |\MathIt| for any individual letter or |\MathNormal| for a comma-separated list. % % \medskip % \DescribeMacro{\probastyle} -% Some authors use ``outline'' font shape to represent probability, expectation +% Some authors use double-struck font shape to represent probability, expectation % and variance: $\mathbb{P}, \mathbb{E}, \mathbb{V}$. % The |\probastyle| macro sets the appearance of |\P|, |\E| and |\V|. % For instance |\renewcommand\probastyle{\mathbb}| @@ -780,7 +659,7 @@ % in which it is used.} % brings the double-struck letters. % The |\mathbb| command is provided by \textsf{amsfonts} package -% (which needs to be called in the preamble), but also by other complete math font +% (which needs to be loaded in the preamble), but also by other complete math font % packages such as \textsf{mathdesign}, \textsf{kpfonts}, \textsf{fourier}, % \textsf{unicode-math}\ldots % \hypertarget{nofunction}{} @@ -829,8 +708,8 @@ % % \DescribeMacro{[nofunction]} % Some may find that the definition of all these operators and functions is not useful -% for their needs. So, the above definitions (on this page) -% can be disabled with the \texttt{nofunction} option. +% for their needs. So, the definitions of standard operators and functions in both +% previous tables can be disabled with the \texttt{nofunction} option. % \hypertarget{classicReIm}{} % % \medskip @@ -841,7 +720,6 @@ % Nevertheless, it is still possible to obtain the old symbols % with |\oldRe| and |\oldIm|. % -% \medskip % \DescribeMacro{[otherReIm]} % An alternative notation $\Re$, $\Im$ is provided by invoking the \texttt{otherReIm} % package option, @@ -874,9 +752,9 @@ % \DescribeMacro{\mathset} % The |\mathset| command enables you to change the behavior % of all these macros in a global way. -% By default, |\mathset| is an alias for |\mathbf|, but if you prefer outline letters, -% you can simply use |\renewcommand\mathset{\mathbb}| (with local effect when -% inside an environment or a pair of curly braces). +% By default, |\mathset| is an alias for |\mathbf|, but if you prefer double-struck letters, +% you can simply use |\renewcommand\mathset{\mathbb}| (with local effect within +% an environment or a pair of curly braces). % % \smallskip % \DescribeMacro{\onlymathC} @@ -894,7 +772,7 @@ % % \medskip % Symbols with limits behave differently for in-line formulas or for displayed equations. -% In the latter case, ``limits'' are placed under or above the symbol +% In the latter case, `limits' are placed under or above the symbol % whereas for in-line math mode, % they are placed on the right, as a subscript or exponent. Compare: % $\zeta(s)=\sum_{n=1}^{\infty }\frac{1}{n^s}$ with @@ -905,9 +783,9 @@ % With in-line math mode, displaymath can be forced with |\displaystyle| % or its alias |\ds|. However, when using these commands, all the rest of the current % mathematical environment will be set in displaymath mode -% (as shown in the previous example, where the fraction will be expanded). +% (as shown in the previous example, where the fraction is expanded). % To limit the display style effect to the affected symbol only, -% similar the the \textsf{amsmath} command |\dfrac|, +% similar to the \textsf{amsmath} command |\dfrac|, % we can use the following macros: % |\dlim|, |\dsum|, |\dprod|, |\dcup|, |\dcap|. % So @@ -969,13 +847,16 @@ % \DescribeMacro{\iif} % |\iif| is an alias for ``\iif'', to be used in text mode. % +% \medskip +% \DescribeMacro{\then} +% This macro produces the symbol $\Longrightarrow$ surrounded by large spaces, +% like the standard macro |\iff| does it with $\Longleftrightarrow$. +% It's just an alias for the \textsf{amsmath} |\implies| macro. +% % \subsection{Improved spacing in mathematical formulas} % -% \DescribeMacro{\then} -% The |\then| macro produces the symbol $\Longrightarrow$ surrounded by large spaces -% just like the standard macro |\iff| does it with $\Longleftrightarrow$. -% Similarly, the |\txt|, \DescribeMacro{\txt} -% based on the |\text| macro from the \textsf{amstext} package +% \DescribeMacro{\txt} +% The |\txt| macro, based on |\text| from the \textsf{amstext} package % (loaded by \textsf{amsmath}), % leaves em quad spaces (|\quad|) around the text. See the following example: % \begin{center} @@ -988,76 +869,82 @@ % The multiplication symbol obtained with |\times| produces the same spacing as addition % or subtraction operators, whereas division obtained with $/$ is closer to its operands. % This actually hides the priority of multiplication over $+$ and $-$. -% That's why we provide the |\mul| macro, behaving like $/$ -% (ordinary symbol) and leaving less space around than |\times|: +% That's why we provide the |\mul| macro, to avoid the large space surrounding |\times|: % \begin{center} % $\lambda+\alpha \mul b-\beta \mul c$, obtained with |\mul|, % looks better than $\lambda+\alpha \times b-\beta \times c$. % \end{center} % -% When using |\mul| before a function name or around a |\left...\right| structure, -% the space may be too large on one side of |\mul|. -% To ensure the same amount of space on both sides, -% you can use thin negative spaces |\!| -% or enclose the function or structure with braces: +% Using |\mul| before a function name works also fine (since v3.1) without the need +% of curly braces to avoid the additional space before the operator name: +% |$x\mul\sin x$| yields $x\mul{\sin x}$. +% +% \medskip +% When using a |\left| \ldots |\right| structure, +% \TeX\ sets additional surrounding space in some situations. +% The \textsf{mleftright}~\cite{MLR} package, loaded by \textsf{mismath}, +% offers the variants |\mleft| and |\mright| +% to address these spacing issues of inner formulas. +% It also provides the |\mleftright| macro that redefines |\left| as |\mleft| +% and |\right| as |\mright|. +% % \begin{center} -% $x\mul{\sin x}$, obtained with |x\mul{\sin x}|, is slightly better than $x\mul\sin x$;\\[1ex] -% |$\sin\!{\left( \frac{\pi}{3} \right)} \mul 2$|\\ -% yields $\sin\!{\left(\frac{\pi}{3}\right)}\mul 2$, which looks better than -% $\sin\left(\frac{\pi}{3}\right)\mul 2$. +% Compare $\sin\left(\frac{\pi}{3}\right)\mul 2$ with +% $\sin\mleft(\frac{\pi}{3}\mright)\mul 2$ obtained with +% |$\sin\mleft(\frac{\pi}{3}\mright)}\mul 2$|. % \end{center} -% The negative thin space after the function name is not related to |\mul|, -% but to the ``excessive'' spaces around the |\left... \right| structure. % -% \medskip % \DescribeMacro{\pow} % In the same way, when typesetting an exponent after a closing \emph{big} % parenthesis produced by |\right)|, % the exponent appears to be a little to far from the parenthesis. % To address this issue, the |\pow|\marg{expr}\marg{pow} command is provided % \footnote{This macro gives bad results with \emph{normal-sized} parenthesis.}, -% which sets the positioning of the exponent \meta{pow} +% which places \meta{expr} in a pair of parenthesis and +% sets the positioning of the exponent \meta{pow} % slightly closer to the right parenthesis. % Compare: % \[ \e^a =\lim_{n \to +\infty}\pow{1+\frac{a}{n}}{n} % \txt{obtained with \texttt{\string \pow}, rather than} % \e^a =\lim_{n \to +\infty}\left(1+\frac{a}{n}\right)^{n}.\] % -% \DescribeMacro{\abs} -% The correct typesetting of absolute value (or modular for a complex number) is achieved -% using |\lvert| \ldots |\rvert|, rather than $\mid$, as the latter doesn't maintain -% proper spacing in some situations (when a sign follows the open delimiter). -% For bars whose height has to adapt to the content, -% we can use |\left\vert| \ldots |\right\vert| or, more simply, -% the |\abs|\{\ldots\} command, which is equivalent +% \DescribeMacro{\abs} \DeleteShortVerb{\|} +% The \cs{abs} command typesets the absolute value while properly managing the spacing, +% which \texttt{|}\ldots\texttt{|} does not. Compare $\abs{-x}$, +% obtained with \cs{abs}, to $|-x|$ without. +% Using the delimiters \cs{lvert} and \cs{rvert} presents another issue when +% the absolute value follows a function name; \eg \verb@\ln\lvert x\rvert@ yields +% $\ln \lvert x\rvert$ +% instead of $\ln\abs{x}$ (with \verb@\ln\abs{x}@). +% Moreover, with \cs{abs}, the size of the delimiters adapts to the content % \footnote{We could also define \texttt{\string \abs} % using \texttt{\string \DeclarePairedDelimiter} % from the \mbox{\textsf{mathtools}} package~\cite{TOOL}.}. +% \MakeShortVerb{\|} % % \medskip % \DescribeMacro{\lfrac} % The |\lfrac| macro behaves like |\frac| -% but with thicker spaces around the arguments, -% making the corresponding fraction bar slightly longer. See the following examples: +% but with additional spacing around the arguments, +% making the corresponding fraction bar slightly longer. +% This macro has an optional parameter |\lfrac|\oarg{space}\marg{num}\marg{denom} +% to adjust the length of the fraction bar. The optional \meta{space} argument must be given +% with \emph{math units} (\texttt{mu}); +% the default value is \texttt{7mu} (equivalent to |\:\,|). +% See the following examples; +% the last one is obtained with |\lfrac[4mu]{1}{\sqrt{x}}|. % \[ \lbar{Z} = \lfrac{\lbar{z_1-z_2}}{\lbar{z_1+z_2}} \qquad % u(x)= \lfrac{\frac{1-2x}{5}}{x^2+1} \qquad % y'+xy=\lfrac[4mu]{1}{\sqrt{x}} % \] -% -% This macro has an optional parameter |\lfrac|\oarg{space}\marg{num}\marg{denom} -% to adjust the length of the fraction bar. The optional \meta{space} argument must be given -% in \emph{math units} (\texttt{mu}); -% the default value is \texttt{7mu} (equivalent to |\:\,|), -% \texttt{4mu} in the last example. % \hypertarget{ibrackets}{} % -% \medskip % \DescribeMacro{[ibrackets]} % Open intervals are commonly represented with parenthesis, \eg $(0, +\infty)$, % but sometimes square brackets are used, especially in French mathematics: $]0, +\infty[$. -% In that specific case, the space around the square brackets is often inappropriate, +% In that case, the space around the square brackets is generally inappropriate, % as in the expression $x \in \mathclose{]} 0, +\infty[$. -% To address this issue, we have redefined the brackets in the \textsf{ibrackets} +% To address this issue, we have redefined the brackets in the \mbox{\textsf{ibrackets}} % package~\cite{BRACKET}. % This one can be optionally % loaded by \textsf{mismath} using the \texttt{ibrackets} package option. @@ -1107,7 +994,7 @@ % However, in the math mode of \LaTeX, the comma is always, by default, % treated as a punctuation symbol and therefore is followed by a space. % This is appropriate in intervals: |$[a,b]$| results in $[a,b]$, -% but is not appropriate for numbers where the comma represents the decimal separator. +% but not for numbers where the comma represents the decimal separator. % For example, |$12,5$| is displayed as $12, 5$ instead of $12{,}5$. % % Two very convenient packages allow handling the decimal comma in math mode: @@ -1143,15 +1030,15 @@ % \DescribeMacro{\systemsep} % This first example could also have been achieved using the \texttt{cases} environment % from the \textsf{amsmath} package, although \texttt{cases} places mathematical expressions -% closer to the bracket. -% The |\systemsep| length allows you to adjust the gap between -% the bracket and the expressions. +% closer to the curly brace. +% The |\systemsep| length allows to adjust the gap between +% the bracket and the math expressions. % By default, the gap is set to |\medspace|. You can reduce this gap by redefining -% the command, \eg: |\renewcommand{\systemsep}{\thinspace}|. -% Alternatively you can increase the gap using |\thickspace| -% and the same spacing as of the \texttt{cases} environment -% is obtained with |\renewcommand\systemsep}{}|. -% The |\systemsep| command allows for greater flexibility in adjusting the spacing +% the command, \eg |\renewcommand{\systemsep}{\thinspace}|. +% Alternatively you can increase the gap using |\thickspace|; +% the same spacing as of the \texttt{cases} environment +% being obtained with |\renewcommand\systemsep}{}|. +% So the |\systemsep| command allows for greater flexibility in adjusting the spacing % within the \texttt{system} environment. % % \medskip @@ -1179,7 +1066,7 @@ % The default spacing between the lines of a \texttt{system} environment has been slightly % enlarged compared to the one used in \texttt{array} environments (using a factor of 1.2). % This can be adjusted by using -% |\renewcommand{\systemstretch}|\marg{stretch}, where \meta{stretch} is the desired value +% |\renewcommand{\systemstretch}|\marg{stretch}, where \meta{stretch} is the desired factor % for the spacing. You can place this command % inside the current mathematical environment for a local change, or outside % for a global change. The default value for is 1.2. @@ -1241,7 +1128,7 @@ % as shown in the following example. % However, to use this feature, the \textsf{multicol} package must be loaded in the preamble. % The \texttt{mathcols} environment activates mathematical mode -% in display style and uses an \texttt{aligned} environment. +% in display style and uses the \texttt{aligned} environment (from \textsf{amsmath}). % \begin{mathcols} % & \frac{1}{2 \mul {\pow{\frac{1}{4}}{n}} + 1} \geq 0.999 \\ % \iff\ & 1 \geq 1.998 \pow{\frac{1}{4}}{n} + 0.999 \\ @@ -1293,6 +1180,7 @@ % \end{tabular} % \end{center} % \StopEventually{} +% % \section{Implementation} % % We load certain packages conditionally to avoid 'option clash' errors in cases @@ -1314,6 +1202,7 @@ %\@ifpackageloaded{amsmath}{}{\RequirePackage{amsmath}} \@ifpackageloaded{mathtools}{}{\RequirePackage{mathtools}} \@ifpackageloaded{esvect}{}{\RequirePackage[b]{esvect}} +\RequirePackage{mleftright} \RequirePackage{ifthen} \RequirePackage{xparse} % provides \NewDocumentCommand, now in LaTeX3 \RequirePackage{xspace} % for \iif command @@ -1369,7 +1258,7 @@ % \DescribeMacro{\mm@warning} \DescribeMacro{\mm@macro} \DescribeMacro{\mm@operator} % The next three internal macros serve as meta commands for % conditionally defining macros while providing a warning message if the macro already exists. -% These macros can be useful in other packages as well. +% % \medskip % \begin{macrocode} \newcommand\mm@warning[1]{ @@ -1395,7 +1284,7 @@ % This command also works fine with other sans serif fonts like \textsf{cmbright}. % % Moreover for \textsf{beamer}, which changes the default font family (to sans serif), -% |\e|, |\i|, |\j| have no effect without |\AtBeginDocument|. +% |\e|, |\i|, |\j| have no effect without |\AtBeginDocument| and % |\AtBeginDocument| is also necessary to redefine |\i| when calling % the \textsf{hyperref} package which overwrites the |\i| definition. % \medskip @@ -1411,15 +1300,15 @@ % \end{macrocode} % % \DescribeMacro{\MathFamily} -% The following macros |\MathUp| and |\MathIt| are switches that transform +% The following macros |\MathUp| and |\MathIt| are toggles that transform % any chosen letter in math mode to roman or italic style. -% These switches can be used anywhere in the document or preamble. +% These switches can be used anywhere in the document or the preamble. % They are based on the generic macro |\MathFamily|. % To obtain a letter in roman style instead of italic, we need to change the % mathcode digit that represents the font family: 1 to 0. % % For example, except for \LuaLaTeX, mathcode of the `e' letter is: -% `e="7165 (decimal 29029), with the second digit `1' indicating ``italic'' style. +% e="7165 (decimal 29029), with the second digit `1' indicating ``italic'' style. % To get a roman `e', we need to change its mathcode to "7065. % % When used in the preamble, we call |\MathFamily| by |\AtBeginDocument| @@ -1531,7 +1420,7 @@ % Let its author, Petr Ol\v{s}ák, be thanked. % This macro allows to accomplish tasks that % usual loop instructions like |\@for| or |\foreach| cannot achieve due to -% errors like ``!~Improper alphabetic constant''. +% errors like ``\texttt{!~Improper alphabetic constant}''. % For instance, if you try |\def\letter{A} \MathUp{\letter}| it will fail % because the control sequence |\letter| is not strictly % equivalent here to the single character `A'. @@ -1549,11 +1438,11 @@ % \end{macrocode} % -% The following commands were used until version 2.2 but still work. -% They were intended to set some letters in upright shape -% in math mode, but only worked in the preamble. -% This is now managed by the more powerful |\MathUp| command, and -% the old commands are maintained but as alias for |\MathUp|. +% The following commands were used originally (until version 2.2) +% to set the math letters e, i or j in upright shape, +% but only worked in the preamble. +% This is now managed by the more powerful |\MathUp| command, but +% the old commands are maintained as alias for |\MathUp|. % \medskip % % \begin{macrocode} @@ -1564,7 +1453,7 @@ % \end{macrocode} % % Obtaining an upright Greek letter $\pi$ must be handled differently. -% The switches are called |\pinumber| and |\pinormal| +% The toggles are called |\pinumber| and |\pinormal| % and can be used anywhere in the document. % % But |\pinumber| must be called first in the preamble with an optional argument. @@ -1573,11 +1462,11 @@ % Compatibility with \textsf{unicode-math} is a bit tricky! % When given without an argument in the preamble, % |\pinumber| uses an LGR font encoding called \texttt{lmr}. -% A new feature (v2.11) is to use |\pinumber| with a keyval option to +% A new feature (v2.11) for |\pinumber| is provided with keyval options to % use many other Greek pi letters without loading % a whole package, thus without altering the other (italic) Greek letters. % We achieve this with |\DeclareSymbolFont| and |\DeclareMathSymbol|. -% We just have to know the ``name'' of the desired symbol font. +% We just have to know the `name' of the desired symbol font. % % \medskip % \begin{macrocode} @@ -1722,28 +1611,28 @@ % \end{macrocode} % When |\pinumber|\oarg{keyval} has been called, you can also get -% some other mathematical constants using Greek letters, +% some other mathematical constants using Greek letters in the same font (\texttt{mmupgr}) % \eg $\othergamma$, the Euler-Mascheroni constant: % \begin{verbatim} % \let\gamma\relax % \DeclareMathSymbol{\gamma}{\mathord}{mmupgr}{"0D} % \end{verbatim} % \vspace{-2ex} -% If \textsf{unicode-math} is used, you must put these commands in +% If \textsf{unicode-math} is used, you must put these commands inside % |\AtBeginDocument|. % The hexadecimal code |"0D| depends on the option passed to |\pinumber| -% in the preamble (see the command |\pifonts| above and search in package docs). \\ +% in the preamble (see the command |\pifonts| above and search in package docs). % And to get the golden ratio $\othervarphi$: % \begin{verbatim} -% \let\phi\relax +% \let\varphi\relax % \DeclareMathSymbol{\varphi}{\mathord}{mmupgr}{"27} % \end{verbatim} % \vspace{-2ex} -% To preserve the original $\gamma$ or $\varphi$, +% I you want to preserve the original $\gamma$ or $\varphi$, % you can define |\upgamma| or |\upvarphi| instead. % % \medskip -% And now the commands for vectors and tensors. +% Commands for vectors and tensors follow. % \medskip % \begin{macrocode} \newboolean{arrowvect} @@ -1774,9 +1663,48 @@ \newcommand{\tensor}{\mathbfsfit} % isomath uses \mathsfbfit % \end{macrocode} +% +% `Operators', as for example common function names, are generally defined +% using the |\DeclareMathOperator| command or |\operatorname| for occasional use. +% Operators are then typeset in roman (upright) shape and with appropriate thin space +% before and after the operator name. +% However, for the `differential' operator d, no space should be left after it +% to obtain, for example, `$\di x$' instead of `$\operatorname{d} x$'. +% +% \medskip +% Two other operators, suggested by `quark67', representing differences +% or variations are defined by the macros |\opDelta| and |\opdelta|. +% They use the Greek letters $\upDelta$ and $\updelta$ with appropriate spacing, +% similar to |\di|. +% By default |\upDelta| will be an alias for |\Delta|. +% Generally, the uppercase Delta is upright +% unless a package is loaded to change this, but the lowercase delta +% is italic by default. +% +% To use the |\opdelta| macro, it is therefore necessary +% to load a package that provides the lowercase delta in upright shape, +% such as \textsf{mathgreeks} or \textsf{unicode-math}, +% or you can use the same symbol font \texttt{mmupgr} as seen above for the upright pi +% (if |\pinumber|\oarg{keyval} has been called previously). +% So you could get the upright delta with: +% \begin{verbatim} +% \DeclareMathSymbol{\updelta}{\mathord}{mmupgr}{"0E} +% \end{verbatim} \vspace{-2ex} +% The hexadecimal code |"0E| depends on the option passed to |\pinumber|. +% If you have loaded a package that provides upright shapes of Delta and delta, +% it may be necessary to create new aliases for |\upDelta| or |\updelta|, +% \eg |\let\updelta\|\meta{mydelta}. +% \begin{macrocode} +\mm@macro{di}{\operatorname{d}\mathopen{}} +\mm@macro{upDelta}{\Delta} +\mm@macro{opDelta}{\operatorname{\upDelta}\mathopen{}} +\mm@macro{opdelta}{\operatorname{\updelta}\mathopen{}} +% \end{macrocode} +% For the field of probability, we provide the macros |\P|, |\E|, and |\V|, +% which are defined as operators. They are typeset in normal roman font, +% but can be changed to double-struck style (or another style) if desired. % \begin{macrocode} -\mm@macro{di}{\mathop{}\!\mathup{d}} \newcommand\probastyle{} \let\Par\P % end of paragraph symbol \renewcommand{\P}{\operatorname{\probastyle{P}}} @@ -1790,7 +1718,7 @@ } % \end{macrocode} -% Classic identifiers are presented below. They will be defined only +% Classic operators or function identifiers are presented below. They will be defined only % if the option \texttt{nofunction} has not been activated. % \medskip % \begin{macrocode} @@ -1840,13 +1768,13 @@ % % The |\mathcal| alphabet, from the original Computer Modern font family, % is used here to produce $\Re$, $\Im$ and $\bigO$. -% Several font packages redefines this alphabet producing glyphs that may seem less +% Several font packages redefine this alphabet producing glyphs that may seem less % suitable for the commands below. % We have therefore retained the original |\cmmathcal| math alphabet, % which can be used for other letters. % If \textsf{unicode-math} is called, it will redefine the commands |\Re| and |\Im| -% in |\AtBeginDocument|, hence the use of `|\AtEndPreamble{\AtBeginDocument{|' -% to ensure that the \textsf{mismath} redefinition occur after the actions +% in |\AtBeginDocument|, hence the use of |\AtEndPreamble{\AtBeginDocument{|\ldots +% to ensure that the \textsf{mismath} redefinitions occur after the actions % of \textsf{unicode-math}. % % \begin{macrocode} @@ -1880,24 +1808,23 @@ % \end{macrocode} % And finally we present the remaining macros. % -% With Cyrillic languages, the command |\C| may already be defined but only for text mode. -% Thus, it will not be redefined by \textsf{mismath}. However, when activating -% |\onlymathC|, you can to use our |\C| macro only for math mode, +% With Cyrillic languages, the command |\C| may already be defined +% but works only in text mode. +% Then, it will not be redefined by \textsf{mismath}. However, the command +% |\onlymathC| allows to use our |\C| macro in math mode, % without interfering the definition of the text |\C| that is already defined. % % When using \XeTeX\ or \LuaTeX\ engines with the \textsf{hyperref} package, % |\C| will be already defined and -% you get the message "\texttt{Command \string\C\space unavailable in encoding TU}". +% you get the message ``\texttt{Command \string\C\space unavailable in encoding TU}''. % Therefore |\onlymathC| is automatically called in that case. % \medskip % \begin{macrocode} \mm@macro{mathset}{\mathbf} \mm@macro{R}{\mathset{R}} -\AtBeginDocument{ - \@ifpackageloaded{hyperref}% - {\iftutex\onlymathC\fi}% LuaTex or XeTeX engines - {\mm@macro{C}{\mathset{C}}} -} +\mm@macro{C}{\mathset{C}} +\AtBeginDocument{% \iftutex = LuaTex or XeTeX engines + \@ifpackageloaded{hyperref}{\iftutex\onlymathC\fi}{} } \providecommand\onlymathC{\let\oldC\C \renewcommand{\C}{\TextOrMath{\oldC}{\mathset{C}}} } \mm@macro{N}{\mathset{N}} @@ -1918,29 +1845,27 @@ \providecommand*{\hlbar}[1]{\overline{\vphantom{A}#1}}}{ \mm@warning{hlbar} } \newcommand\@eqdef{\stackrel{\mathup{def}}{=}} -\newcommand\@@eqdef{\stackrel{\mathrm{\Delta}}{=}} +\newcommand\@@eqdef{\stackrel{\upDelta}{=}} \mm@macro{eqdef}{\@ifstar{\@@eqdef}{\@eqdef}} \mm@macro{unbr}{\underbrace} \mm@macro{iif}{if and only if\xspace} +\mm@macro{then}{\implies} -% \end{macrocode} -% Above, we have used |\mathrm| before |\Delta| in case of defining capital Greek letters -% in italics (for example with the \textsf{fixmath} package). -% -% The use of |\mbox{}| ensures that the space produced by |\| in the |\then| macro -% is not suppressed in tables. -% \medskip -% \begin{macrocode} -\mm@macro{then}{\ \Longrightarrow \ \mbox{} } \@ifundefined{txt}{ \providecommand*{\txt}[1]{\quad\text{#1}\quad} }{ \mm@warning{txt} } -\mm@macro{mul}{\mathord{\times}} +\mm@macro{mul}{\mathclose{}\mathord{\times}\mathopen{}} \@ifundefined{pow}{ \providecommand*{\pow}[2]{\left( #1 \right)^{\!#2}} }{ \mm@warning{pow} } +% \end{macrocode} +% For |\abs|, the |\left...\right| structure is inserted within a pair of curly braces +% to prevent incorrect spacing before the first delimiter when it follows a function name, +% in cases where the package \textsf{mleftright} is used and activated. +% This issue was pointed out by `quark67'. +% \begin{macrocode} \@ifundefined{abs}{ - \providecommand*{\abs}[1]{\left\vert#1\right\vert} }{ + \providecommand*{\abs}[1]{{\left\vert#1\right\vert}} }{ \mm@warning{abs} } \@ifundefined{lfrac}{ \providecommand*{\lfrac}[3][7mu]{% @@ -1981,7 +1906,216 @@ } % \end{macrocode} % -% \begin{thebibliography}{34} +% \pagebreak +% \section*{Change History} +% +% \begin{multicols}{2}\begin{raggedright} +% \renewcommand\changes[3]{\item[#1 \ (#2)] \mbox{}\\ #3} +% \setlength{\compactlistindent}{-1em} +% \begin{list}{}{\setlength\labelwidth{1.4em}\setlength{\leftmargin}{2em} +% \setlength{\parsep}{0pt}} +% +% \changes{v0.1}{2011/12/27}{First personal version.} +% +% \changes{v1.0}{2019/04/11}{Initial published version.} +% +% \changes{v1.1}{2019/04/20}{ +% Changing the default font for \cs{pinumber} from Euler to Symbol.} +% +% \changes{v1.2}{2019/04/27}{ +% \begin{compactlist} +% \item commands \cs{enumber}, \cs{inumber}, \cs{jnumber} in \cs{AtBeginDocument}\\ +% \hand works fine with \textsf{beamer} now, +% \item new general \cs{mm@operator} macro, +% \item using \cs{mathup} instead of \cs{mathrm}, +% \item including \textsf{mathtools}, +% \item in \cs{DeclareSymbolFont} 'Roman' changed to 'up', +% \item changes in the documentation, +% \item replacing \cs{PEroman} by \cs{PEupright}. +% \end{compactlist}} +% +% \changes{v1.3}{2019/05/08}{ +% \begin{compactlist} +% \item using \cs{bslash} in the internal \cs{mm@warning} macro +% to type out a control sequence whose name is given as parameter, +% \item including the \textsf{mathfixs} package, +% \item many corrections in the documentation. +% \end{compactlist}} +% +% \changes{v1.4}{2019/05/22}{ +% In \cs{DeclareSymbolFont} 'up' chan\-ged to 'UpSh' +% to prevent incompatibility with \textsf{unicode-math}.} +% +% \changes{v1.5}{2019/05/30}{ +% \begin{compactlist} +% \item a solution for using \cs{mul} with \cs{frac} \hand use braces, +% \item addition of the \cs{paren} macro. +% \end{compactlist}} +% +% \changes{v1.6}{2019/09/06}{ +% Removing the \textsf{mathfixs} package because of problems with fractions.} +% +% \changes{v1.7}{2019/12/27}{ +% Adding a table of contents to the documentation.} +% +% \changes{v1.8}{2020/11/15}{ +% Small changes in the documentation, in particular +% an incompatibility is mentioned when using `i' with accent in \textsf{beamer} titles: +% (use \texttt{\textbackslash\textasciicircum i} instead of î).} +% +% \changes{v1.9}{2020/10/17}{ +% \begin{compactlist} +% \item in \cs{DeclareSymbolFont} 'UpSh' replaced by 'operators' +% \item\cs{PackageWarning} replaced by \cs{PackageWarningNoLine} for existing macros, +% \item \cs{thickspace} replaces \cs{medspace} in \cs{lfrac}, +% \item changing the documentation font: from lmodern to Palatino (\textsf{mathpazo}). +% \end{compactlist}} +% +% \changes{v1.10}{2020/10/25}{ +% \cs{pinumber} code updated to prevent incompatibility +% with the new version of the \textsf{frenchmath} package +% (in which the default 'upgreek' option has been changed from Symbol to Euler).} +% +% \changes{v2.0}{2022/11/11}{ +% \begin{compactlist} +% \item enhancing \cs{pinumber} to use other Greek letters packages +% (it is no longer compatible with the older), +% \item \cs{paren} has been removed (useless), +% \item \cs{hvect} and \cs{hlbar} have been slightly modified (\cs{phantom}\texttt{\{t\}} +% instead of \cs{phantom}\texttt{\{h\}}), +% \item several changes in the documentation +% (now the Charter font is used, with the \textsf{mathdesign} package). +% \end{compactlist}} +% +% \changes{v2.1}{2022/12/26}{ +% \begin{compactlist} +% \item including the \textsf{ibrackets} package to improve +% the management of square brackets, +% \item new macros \cs{codim}, \cs{sinc}, \cs{var}, \cs{eqdef*}, +% \item removing the warning for the obsolete \cs{paren} command, +% \item a small change in the \cs{norm} command (bars in small size), +% \item several changes in documentation. +% \end{compactlist}} +% +% \changes{v2.2}{2023/01/06}{ +% New option \texttt{ibrackets} to load the \textsf{ibrackets} package +% \emph{optionally} because of errors +% when using \cs{DeclarePairedDelimiter} with square brackets.} +% +% \changes{v2.3}{2023/02/09}{ +% Introducing keyval options as an alternative to \cs{enumber}, +% \cs{inumber}, \cs{jnumber}, \cs{PEupright}, +% and also for using ibrackets, \cs{boldvect} and \cs{arrowvect}.} +% +% \changes{v2.4}{2023/02/18}{ +% \begin{compactlist} +% \item new powerful macros \cs{MathUp}, \cs{MathIt}, +% (and \cs{MathNumbers}, \cs{MathProba}, \cs{MathNormal}), +% \item keyval options are no longer useful and have been removed, +% \item loading the package \textsf{ifthen} has been forgotten in v2.3 +% (causing possible issues), +% \item no more incompatibility when using `i' with accent in \textsf{beamer} titles. +% \end{compactlist}} +% +% \changes{v2.5}{2023/02/23}{ +% \begin{compactlist} +% \item unification of the code of \cs{MathUp} and \cs{MathIt}, +% \item a new powerful macro \cs{apply} is used in \cs{MathNormal} to act on a list, +% \item new \cs{tensor} command. +% \end{compactlist}} +% +% \changes{v2.6}{2023/03/01}{ +% \begin{compactlist} +% \item bug fix in \cs{mm@macro}, +% \item solving incompatibility of the \cs{C} macro when using \textsf{babel} with Russian +% (thanks to Murray Eisenberg for this bug report on TeX StackExchange), +% \item \cs{mathrm} added in the macro \cs{eqdef*}. +% \end{compactlist}} +% +% \columnbreak +% \changes{v2.7}{2023/03/05}{ +% \begin{compactlist} +% \item macros for sets of numbers (\cs{R}, \cs{C}\ldots) now available only in math mode +% (following remarks by David Carlisle and Enrico Gregorio), +% \item special warning when loading \textsf{babel} with Russian +% (\cs{C} will not be defined in that case). +% \end{compactlist}} +% +% \changes{v2.8}{2023/07/26}{ +% New macro \cs{onlymathC} designed for using \cs{C} in pmath mode +% when Russian language is loaded.} +% +% \changes{v2.9}{2023/12/19}{ +% New option \texttt{decimalcomma}.} +% +% \changes{v2.10}{2024/02/20}{ +% \begin{compactlist} +% \item better compatibility with \textsf{unicode-math}: +% for the options \texttt{ibrackets}, \texttt{decimalcomma} +% and the commands \cs{MathUp}, \cs{MathIt}, +% \item Explicit error message when using \texttt{mathcols} +% without loading the \textsf{multicol} package. +% \end{compactlist}} +% +% \changes{v2.11}{2024/02/26}{ +% \begin{compactlist}\setlength\compactlistindent{-0.5em} +% \item enhancements of the \cs{pinumber} macro with keyval options: +% \begin{compactlist}[\dash] +% \item no necessity to load a Greek letters package, +% \item improvements of compatibility with \textsf{unicode-math}; +% \end{compactlist} +% \item changing the font to Adobe Utopia with the package \textsf{fourier}. +% \end{compactlist}} +% +% \changes{v2.12}{2024/02/29}{ +% \begin{compactlist} +% \item the \textsf{xparse} package has been removed by mistake in v2.11, +% causing some compatibility issues, it is loaded again by \textsf{mismath}, +% \item improvements to make \cs{pinumber} work better with \textsf{unicode-math}. +% \end{compactlist}} +% +% \changes{v3.0}{2024/03/15}{ +% \begin{compactlist} +% \item rewriting the \cs{pinumber} command with a new \cs{pifonts} macro, +% \item presenting other \texttt{lgrmath} values for \cs{pinumber} in the doc, +% \item The \cs{C} macro is now inside \cs{AtBeginDocument}, +% \item \textsf{amsmath} isn't loaded explicitly because \textsf{mathtools} loads it, +% \item bug fix with options \texttt{decimalcomma} and \texttt{ibrackets}, +% \item new option \texttt{nofunction} to lighten the package loading, +% \item addition of macros \cs{coker} and \cs{Res} as standard operator names, +% \item new option \texttt{classicReIm} to deactivate \cs{Im} and \cs{Re} redefinition, +% \item new option \texttt{otherReIm} to provide an alternative writing +% with \texttt{cmsy} font, +% \item removing the \cs{PEupright} command, +% \item additional space in the \cs{lfrac} macro increased from \texttt{\textbackslash:} +% (5mu) to 7mu, +% \item new optional parameter for adjusting the space in \cs{lfrac}, +% \item changing the \cs{vphantom} argument in \cs{hvect}, \cs{hvec} and \cs{lbar} +% from `t' to `A', looks better. +% \end{compactlist}} +% +% \changes{v3.1}{2024/06/16}{ +% \begin{compactlist}\setlength\compactlistindent{-0.5em} +% \item adding a change history, +% \item bug fix with the \cs{C} macro when using \textsf{hyperref} with +% \LuaTeX{} or \XeTeX{} engines, +% \item the $\upDelta$ produced in \cs{eqdef*} is now obtained with \cs{upDelta} +% (\cs{mathrm}, used before, doesn't work generally), +% \item several relevant suggestions and remarks by `quark67': +% \begin{compactlist}[\dash] +% \item new macros for variations \cs{opDelta} and small variations \cs{opdelta}, +% \item redefinition of \cs{then} as an alias for \cs{implies}, +% \item improvement of the \cs{abs} macro, +% \item including the \textsf{mleftright} package; +% \end{compactlist} +% \item new implementation of \cs{di}, +% \item improvement of the \cs{mul} macro. +% \end{compactlist}} +% +% \end{list}\end{raggedright} +% \end{multicols} +% +% \begin{thebibliography}{35} % \begin{raggedright} % \bibitem{TYPMA} \emph{Typesetting mathematics for science and technology according % to ISO 31/XI}, Claudio Beccari, TUGboat Volume 18 (1997), No.~1. @@ -1997,6 +2131,7 @@ % \url{https://old.iupac.org/standing/idcns/italic-roman_dec99.pdf}. % \bibitem{VECT} \emph{\textsf{esvect} -- Typesetting vectors with beautiful % arrow with \LaTeXe}, Eddie Saudrais, CTAN, v1.3 2013/07/11. +% \bibitem{MLR} \emph{The \textsf{mleftright} package}, Heiko Oberdiek, CTAN, v1.2 2019/12/03. % \bibitem{TOOL} \emph{The \textsf{mathtools} package}, Morten Høgholm, Lars Madsen, CTAN, % v1.29 2022/06/29. % \bibitem{AMS} \emph{\textsf{amsmath} -- \AmS\ mathmatical facilities for \LaTeX}, |