summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2019-05-02 22:27:58 +0000
committerKarl Berry <karl@freefriends.org>2019-05-02 22:27:58 +0000
commit567466a23c3a8ce7d279f1e1a31f061d1adcd6c4 (patch)
tree10ba70605a14005fb8ae16402010f10e78fe52e9
parent277946b9dea336c373d95806e4993a27e1766661 (diff)
mismath (28apr19)
git-svn-id: svn://tug.org/texlive/trunk@50929 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Master/texmf-dist/doc/latex/mismath/README.md31
-rw-r--r--Master/texmf-dist/doc/latex/mismath/mismath.pdfbin0 -> 530205 bytes
-rw-r--r--Master/texmf-dist/source/latex/mismath/mismath.dtx944
-rw-r--r--Master/texmf-dist/source/latex/mismath/mismath.ins55
-rw-r--r--Master/texmf-dist/tex/latex/mismath/mismath.sty213
-rwxr-xr-xMaster/tlpkg/bin/tlpkg-ctan-check2
-rw-r--r--Master/tlpkg/tlpsrc/collection-mathscience.tlpsrc1
-rw-r--r--Master/tlpkg/tlpsrc/mismath.tlpsrc0
8 files changed, 1245 insertions, 1 deletions
diff --git a/Master/texmf-dist/doc/latex/mismath/README.md b/Master/texmf-dist/doc/latex/mismath/README.md
new file mode 100644
index 00000000000..aa893179f4f
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/mismath/README.md
@@ -0,0 +1,31 @@
+## mismath - Miscellaneous mathematical macros
+
+
+## Purpose
+
+The package provides some mathematical macros to typeset:
+- mathematical constants e, i, pi in upright shape (automatically) as recommended by ISO 80000-2:2009,
+- vectors with beautiful arrow and adjusted norm,
+- some standard operator names,
+- improved spacing in mathematical mode,
+- displaymath layout in two columns.
+
+
+## Installation
+
+- run LaTeX on mismath.ins, you obtain the file mismath.sty,
+- if then you run pdfLaTeX on mismath.dtx you get the file mismath.pdf which is also in the archive,
+- put the files mismath.sty and mismath.pdf in your TeX Directory Structure.
+
+
+## Author
+
+Antoine Missier
+
+Email: antoine.missier@ac-toulouse.fr
+
+
+## License
+
+Released under the LaTeX Project Public License v1.3 or later.
+See http://www.latex-project.org/lppl.txt
diff --git a/Master/texmf-dist/doc/latex/mismath/mismath.pdf b/Master/texmf-dist/doc/latex/mismath/mismath.pdf
new file mode 100644
index 00000000000..76e462e1590
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/mismath/mismath.pdf
Binary files differ
diff --git a/Master/texmf-dist/source/latex/mismath/mismath.dtx b/Master/texmf-dist/source/latex/mismath/mismath.dtx
new file mode 100644
index 00000000000..e9920909957
--- /dev/null
+++ b/Master/texmf-dist/source/latex/mismath/mismath.dtx
@@ -0,0 +1,944 @@
+% \iffalse meta-comment
+%
+% Copyright (C) 2019 by Antoine Missier <antoine.missier@ac-toulouse.fr>
+%
+% Version 0.1 : 27/12/2011
+% Version 1.0 : dtx and ins files
+% This file may be distributed and/or modified under the conditions of
+% the LaTeX Project Public License, either version 1.3 of this license
+% or (at your option) any later version. The latest version of this
+% license is in:
+%
+% http://www.latex-project.org/lppl.txt
+%
+% and version 1.3 or later is part of all distributions of LaTeX version
+% 2005/12/01 or later.
+% \fi
+%
+% \iffalse
+%<*driver>
+\ProvidesFile{mismath.dtx}
+%</driver>
+%<*package>
+\NeedsTeXFormat{LaTeX2e}[2005/12/01]
+\ProvidesPackage{mismath}
+ [2019/04/27 v1.2 .dtx mismath file]
+%</package>
+%<*driver>
+\documentclass{ltxdoc}
+\usepackage[utf8]{inputenc}
+\usepackage[T1]{fontenc}
+\usepackage[english]{babel}
+\usepackage{lmodern}
+\usepackage{mismath}
+\usepackage{amssymb}
+\usepackage{multicol}
+\enumber
+\inumber
+\pinumber
+% for an example in this doc we substitute [ and ] by \OB and \CB
+\DeclareMathSymbol{\OB}\mathclose{up}{093}
+\DeclareMathSymbol{\CB}\mathopen{up}{091}
+
+\DisableCrossrefs
+%\CodelineIndex
+%\RecordChanges
+\usepackage{hyperref}
+\hypersetup{%
+ colorlinks,
+ linkcolor=blue,
+ citecolor=blue,
+ pdftitle={mismath},
+ pdfsubject={LaTeX package},
+ pdfauthor={Antoine Missier}
+}
+\begin{document}
+ \DocInput{mismath.dtx}
+ %\PrintChanges
+ %\PrintIndex
+\end{document}
+%</driver>
+% \fi
+%
+% \CheckSum{1764}
+%
+% \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
+% Lower-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
+% Digits \0\1\2\3\4\5\6\7\8\9
+% Exclamation \! Double quote \" Hash (number) \#
+% Dollar \$ Percent \% Ampersand \&
+% Acute accent \' Left paren \( Right paren \)
+% Asterisk \* Plus \+ Comma \,
+% Minus \- Point \. Solidus \/
+% Colon \: Semicolon \; Less than \<
+% Equals \= Greater than \> Question mark \?
+% Commercial at \@ Left bracket \[ Backslash \\
+% Right bracket \] Circumflex \^ Underscore \_
+% Grave accent \` Left brace \{ Vertical bar \|
+% Right brace \} Tilde \~}
+%
+%
+% \changes{v1.0}{2019/04/11}{Initial version}
+% \changes{v1.1}{2019/04/20}{some forgotten french 'et' -> 'and', citecolor=blue}
+% \changes{v1.1}{2019/04/20}{pinumber[Euler] -> [Symbol]}
+% \changes{v1.2}{2019/04/26}{works fine with beamer now: mathrm -> mathup,
+% AtBeginDocument for enumber, inumber, junmber, more general @moperator macro}
+% \changes{v1.2}{2019/04/27}{added mathtools package, font definition Roman -> up,
+% changes in documentation}
+%
+% \GetFileInfo{mismath.sty}
+%
+% \title{\textsf{mismath}\\ Miscellaneous mathematical macros\thanks{This document
+% corresponds to \textsf{mismath}~\fileversion, dated \filedate,
+% thanks to François Bastouil for help in English translation.}}
+% \author{Antoine Missier \\ \texttt{antoine.missier@ac-toulouse.fr}}
+% \date{April 27, 2019}
+% \maketitle
+%
+% \section{Introduction}
+%
+% This package provides some tools to get (automatically)
+% mathematical constants $\e$, $\i$, $\uppi$
+% in upright shape and not in italic (sloping shape) like
+% variables, according to the International Standards ISO~31-0:1992 to ISO~31-13:1992,
+% superseded by ISO~80000-2:2009 (see~\cite{TYPMA}~\cite{NIST}~\cite{ICTNS}~\cite{ISO}).
+%
+% Even if it is recommended to typeset vectors names
+% in bold italic style~\cite{NIST}~\cite{ICTNS},
+% they are often represented with arrows
+% (particularly in scholar documents or in physics).
+% To draw pretty arrows above vectors, we use \textsf{esvect} package
+% by Eddie Saudrais~\cite{VECT}
+% and we provide a few more macros related to vectors with arrows,
+% in particular to improve the typesetting of the norm: $\norm{\vect{AB}}$
+% instead of \LaTeX\ version $\lVert\vect{AB}\rVert$ which is not adjusted,
+% or worse $\left\Vert \vect{AB} \right\Vert$.
+%
+% \smallskip
+% The package also provides other macros for:
+% \begin{itemize}
+% \item some standard operator names,
+% \item a few useful aliases,
+% \item improving some spacing in mathematical mode,
+% \item systems of equations and matrices,
+% \item displaymath layout in two columns.
+% \end{itemize}
+%
+% To avoid incompatibility,
+% a large majority of our macros will be defined only
+% if there is not another command with the same name in the packages loaded
+% before \textsf{mismath}. If a macro is already defined,
+% compilation will produce a warning message and \textsf{mismath} definition
+% will simply be ignored. To keep \textsf{mismath} command,
+% either load \textsf{mismath} before the other package
+% with which it is in conflict for the name of the command
+% (assuming the other package supports it), or use
+% |\let\|\meta{command}|\relax| before loading \textsf{mismath}.
+%
+% \DescribeEnv{\oarg{options}\{mismath\}}
+% The \textsf{amsmath} package is automatically loaded by \textsf{mismath} without option,
+% and \textsf{mathtools} package also.
+% For using \textsf{amsmath} with options (see~\cite{AMS}),
+% these options can be added to \textsf{mismath}, or
+% \textsf{amsmath} has to be loaded
+% with the required options before \textsf{mismath}.
+%
+% A recommendation, seldom observed, is to typeset uppercase Greek letters in italic shape
+% like other variables~\cite{ICTNS}. This is automatically done with \textsf{fixmath} package
+% by Walter Schmidt~\cite{FIXM} or \textsf{isomath} by Günter Milde~\cite{ISOM},
+% but is not implemented in \textsf{mismath} because this rule is conflicting
+% to the one used for instance in France where all mathematics capitals
+% have to be typeset in upright shape\footnote{The package \textsf{frenchmath}~\cite{FR}
+% takes this rule into account.}.
+% The choice of loading or not one of these packages remains thus to the user.
+%
+% \section{Usage}
+%
+% \subsection{Mathematical constants}
+%
+% \DescribeMacro{\mathup}
+% As for classic functions identifiers, \emph{predefined} mathematical constants
+% should be typeset in upright shape (generally in roman family),
+% even if this practice is not really common and tedious
+% to respect. To avoid to stuff a document with |\mathrm{e}| or |\mathrm{i}|
+% (or better |\mathup{e}| and |\mathup{i}|\footnote{\texttt{\bslash mathup}
+% is based on \texttt{\bslash operatorfont}
+% (from \textsf{amsopn} package, automatically loaded by \textsf{amsmath}).
+% The \textsf{beamer}
+% package uses sans serif as default math font, but \texttt{\bslash mathrm}
+% produces a font with serif in \textsf{beamer}. This problem is solved by
+% using \texttt{\bslash mathup} instead
+% of \texttt{\bslash mathrm}.}),
+% \DescribeMacro{\e} \DescribeMacro{\i} \DescribeMacro{\j}
+% \textsf{mismath} package provides |\e| command for the base of natural logarithm
+% and |\i| or |\j| for imaginary numbers.
+% One can notice that |\i| and |\j| already exist in \LaTeX:
+% using in LR mode, they produce ``\i'' and ``\j'' without the point
+% so one can place accents on them, and in mathematical mode they produce
+% ``Latex warning: Command invalid in math mode''.
+% Redefining |\i| and |\j| by \textsf{mismath} only concerns mathematical mode.
+%
+% \DescribeMacro{\enumber} \DescribeMacro{\inumber} \DescribeMacro{\jnumber}
+% Nevertheless, it can be tiresome to type a lot of backslashes in a document with many formulas
+% with $\e$ or $\i$.
+% So a way is proposed here to free of it by placing |\enumber|, |\inumber| or |\jnumber|
+% in the preamble:
+% $e$, $i$ or $\j$ will then automatically be set in upright shape
+% in the whole document,
+% no need to type |\e|, |\i| or |\j|. However, we can still get italicized
+% $\mathit{e}$, $\mathit{i}$ or $\mathit{j}$ with \LaTeX\ command
+% |\mathit| or |\mathnormal|. Of course, this does not fully comply with \LaTeX\ philosophy:
+% in the document, objects have to be pointed out
+% by their nature rather than their typographical characteristics,
+% defined in the preamble. But these macros are really handy and
+% thanks to them it is possible to put in the standards a document
+% afterwards; moreover anyone is free to use them or not.
+%
+% \DescribeMacro{\pinumber\oarg{font}}
+% Mathematical constant $\pi$ should also be typeset in upright shape
+% which differs from italicized $\itpi$ (see~\cite{ICTNS} and~\cite{ISO}).
+% This recommendation is even less observed than the one concerning $\e$ and $\i$~\cite{TYPMA}.
+% The \textsf{upgreek} package by Walter Schmidt~\cite{GREEK} makes it possible to typeset
+% greek letters in upright font with commands such as |\upalpha|, |\upbeta|,\ldots\@
+% To avoid typing a lot of |\uppi|, \textsf{mismath} offers |\pinumber| macro,
+% which has to be put in the preamble. This command loads the \textsf{upgreek} package
+% with an optional \meta{font} argument: \texttt{Symbol} (by default), \texttt{Euler}
+% or \texttt{Symbolsmallscale} (see~\cite{GREEK}). It also redefines |\pi| command to typeset
+% all the |\pi| in the selected upright font.
+
+% By activating |\enumer|, |\inumber| and |\pinumber|
+% in the preamble, you get the following example:
+% \begin{center}
+% |$e^{i\pi} = -1$| \hspace{6em} $e^{i\pi}=-1$
+% \end{center}
+%
+% \DescribeMacro{\itpi}
+% When |\pinumber| is activated, the original italic $\itpi$ can be produced with |\itpi|.
+%
+% \subsection{Vectors}
+%
+% \DescribeMacro{\vect}
+% By default, |\vect| command\footnote{As for many macros of this package,
+% the definition will take effect only if this macro is not defined before
+% by another package.},
+% produces vectors with arrows
+% (thanks to \textsf{esvect} package by Eddie Saudrais\footnote{\textsf{esvect}
+% provides \texttt{\bslash vv} macro used in \texttt{\bslash vect}.})
+% which are much more elegant than those produced by \LaTeX\ |\overrightarrow| command
+% (giving $\overrightarrow{AB}$).
+% The \textsf{esvect} package has an optional argument
+% (one letter between \texttt{a} and \texttt{h}) defining
+% the required type of arrow (see~\cite{VECT}).
+% In \textsf{mismath}, \textsf{esvect} is loaded with the option \texttt{b}:
+% |\vect{AB}| gives $\vect{AB}$.
+% To choose another type of arrow, \textsf{esvect} must be called
+% with the required option \emph{before} \textsf{mismath}, for instance |\usepackage[d]{esvect}|
+% will give the arrows produced by default in~\cite{VECT}.
+%
+% \DescribeMacro{\boldvect}
+% With |\vect| it is also possible to typeset vector's names using bold italic,
+% according to ISO recommendation~\cite{ISO}, rather than arrows.
+% For this, calling |\boldvect| will modify the behavior of |\vect|:\\[1ex]
+% \begin{minipage}{8cm}
+% \begin{verbatim}
+%\[ \boldvect \vect{v}
+% =\lambda\vect{e}_x+\mu\vect{e}_y. \]
+% \end{verbatim}
+% \end{minipage}
+% \begin{minipage}{6cm}
+% $\boldvect \vect{v}=\lambda\vect{\mathit e}_x +\mu\vect{\mathit e}_y$.
+% \end{minipage}
+% \DescribeMacro{\boldvectcommand}
+% By default \textsf{mismath} uses |\boldsymbol|
+% command\footnote{\texttt{\bslash mathbf} gives upright bold style,
+% even if used in combination with \texttt{\bslash mathit}.}
+% from \textsf{amsbsy} package, automatically loaded by \textsf{amsmath}.
+% But other packages producing better bold italic can be preferred, for instance
+% \texttt{\bslash bm} from \textsf{bm} package or |\mathbold| from \textsf{fixmath} package
+% or also |\mathbfit| from \textsf{isomath} package.
+% To achieve this, |\boldvectcommand| can be redefined:
+% for instance |\renewcommand{\boldvectcommand}{\mathbold}|.
+% By redefining |\boldvectcommand| to |\mathbf|, |\vect| produces vectors
+% in bold \emph{upright} style,
+% which tends to be used instead of bold \emph{italic}
+% (but probably for bad reasons), .
+%
+% \DescribeMacro{\arrowvect}
+% It is possible at any moment to get back to default behavior with inverse switch
+% |\arrowvect|. These switches can be placed anywhere:
+% inside mathematical mode or inside an environment (with local effect) or outside
+% (with global effect).
+%
+% \DescribeMacro{\hvect}
+% When vectors with arrows are typeset side by side,
+% the arrows can be set up a bit higher (with a phantom box containing $h$)
+% to avoid inelegants effects:
+% \begin{itemize}
+% \item $\vect{AB}=\vect{u}+ \vect{AC}$ is less than $\vect{AB}=\hvect{u}+ \vect{AC}$,
+% produced by |\hvect{u}|;
+% \item $\vect{a} \cdot \vect{b}=0$ is less than $\hvect{a} \cdot \vect{b}=0$,
+% produced by |\hvect{a}|.
+% \end{itemize}
+% The |\boldvect| switch has no effect on |\hvect| macro which always typesets
+% arrows on vectors (with |\vv| command from \textsf{esvect} package).
+%
+% \DescribeMacro{\hvec}
+% In a similar way, |\hvec| raises the little arrow produced by
+% \LaTeX\ command |\vec| (but only from height of $t$ letter):
+% \begin{itemize}
+% \item $\mathcal{P}=\vec{f}\cdot\vec{v}$ is less than
+% $\mathcal{P}=\vec{f}\cdot\hvec{v}$, produced by |\hvec{v}|;
+% \item $\vec{f} =m \vec{a}$ is less than $\vec{f} =m \hvec{a}$,
+% produced by |\hvec{a}|.
+% \end{itemize}
+%
+% \DescribeMacro{\norm}
+% The norm of a vector is classically produced with delimiters |\lVert| and |\rVert|
+% (rather than \texttt{\bslash}$\mid$) or |\left\Vert| and |\right\Vert|
+% for delimiters adapting to the content. Unfortunately, these delimiters
+% are always vertically centred, relatively to the middle of the base line,
+% whereas vectors with arrows are asymetrics objects, the height above the middle of the base line
+% being superior to the depth under it.
+% The code |$\norm{\vec{h}}$| raises the double bar to produce $\norm{\vec{h}}$.
+% Let's notice that the height of the bars don't adjust to content,
+% but however to context: main text, indexes or exponents.
+%
+% \subsection{Standard operator names}
+%
+% \DescribeMacro{\di}
+% The \emph{differential} operator should be typeset in upright shape and not in
+% italic, to make it different from variables
+% (as mentioned in \cite{TYPMA}~\cite{NIST}~\cite{ICTNS}~\cite{LSHORT}).
+% To achieve this, \textsf{mismath} provides |\di| command\footnote{\texttt{\bslash d}
+% is already used in \LaTeX\ to put a dot under a symbol and
+% it seemed not a good idea to redefine this command.}.
+% See the following examples (notice thin space before the d, as for classic function's names): \\
+% \begin{minipage}[t]{7cm}
+% \begin{verbatim}
+%\[ \iint xy\di x\di y \]
+% \end{verbatim}
+% \end{minipage}
+% \begin{minipage}{6cm}
+% \[ \iint xy\di x\di y \]
+% \end{minipage}
+% \\
+% \begin{minipage}[t]{7cm}
+% \begin{verbatim}
+%\[ m\frac{\di^2x}{\di t^2}
+% + h\frac{\di x}{\di t} + kx = 0 \]
+% \end{verbatim}
+% \end{minipage}
+% \begin{minipage}[t]{6cm}
+% \[m\frac{\di^2x}{\di t^2}+h\frac{\di x}{\di t}+kx=0\]
+% \end{minipage}
+%
+% This command can also stand for \emph{distance}:
+% \[\lambda\di(A,\mathcal{F})+\mu\di(B,\mathcal{H}).\]
+%
+% \DescribeMacro{\P} \DescribeMacro{\E} \DescribeMacro{\V}
+% In probability field, the proper use is to typeset capital letters $\P$, $\E$
+% in upright shape to refer to probability and expectation\footnote{Upright shape
+% must be used for any standard function identifier.
+% \LaTeX\ provides also \texttt{\bslash Pr} which gives $\Pr$.}.
+% To achieve this \textsf{mismath} provides |\P| and |\E|.
+% Variance is normally denoted by $\Var$ (see later),
+% but in some countries we can find $\V$ produced here by |\V|.
+%
+% \DescribeMacro{\Par}
+% |\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|.
+%
+% \DescribeMacro{\probastyle}
+% Some authors use also ``blackbord bold'' font
+% to represent probability, expectation (and variance): $\mathbb{P}, \mathbb{E}, \mathbb{V}$.
+% To get these ``openwork'' letters,
+% use |\probastyle| macro to change appearance of |\P|, |\E| and |\V|:
+% |\renewcommand\probastyle{\mathbb}|\footnote{As for
+% \texttt{\bslash boldvect} and \texttt{\bslash arrowvect},
+% effect is local to container environment.}.
+% |\mathbb| comes from \textsf{amsfonts} package
+% (automatically loaded by \textsf{amssymb}
+% but also available standalone)
+% which has to be called in the preamble.
+%
+% \medskip
+% The following operator names are also defined in \textsf{mismath}:
+% \begin{center}
+% \begin{tabular}{rlrlrl}
+% |\adj| & $\adj$ \qquad\mbox{} & |\erf| & $\erf$ \qquad\mbox{} & |\rank| & $\rank$ \\
+% |\Aut| & $\Aut$ & |\grad| & $\grad$ & |\Re| & $\Re$ \\
+% |\Conv| & $\Conv$ & |\id| & $\id$ & |\rot| & $\rot$ \\
+% |\cov| & $\cov$ & |\Id| & $\Id$ & |\sgn| & $\sgn$ \\
+% |\Cov| & $\Cov$ & |\im| & $\im$ & |\spa| & $\spa$ \\
+% |\curl| & $\curl$ & |\Im| & $\Im$ & |\tr| & $\tr$ \\
+% |\divg| & $\divg$ & |\lb| & $\lb$ & |\Var| & $\Var$ \\
+% |\End| & $\End$ & |\lcm| & $ \lcm$ & |\Zu| & $\Zu$
+% \end{tabular}
+% \end{center}
+%
+% By default, operators returning vectors, |\grad| and |\curl| (or its synonym |\rot|
+% rather used in Europe), are written with an arrow on the top.
+% When |\boldvect| is activated, they are typeset in bold font:
+% $\boldvect \grad, \curl, \rot$.
+% For covariance and identity function, \textsf{mismath}
+% provides two notations, with or without a first capital letter,
+% because they are both very frequent.
+% On the other hand, $\im$ stands for the image of a linear transformation
+% (like $\ker$ for the kernel)
+% and $\Im$ is the imaginary part of a complex number.
+%
+% \DescribeMacro{\oldRe} \DescribeMacro{\oldIm}
+% |\Re| and |\Im| macros already existed, to refer to real and imaginary part
+% of a complex number, producing outdated symbols $\oldRe$ and $\oldIm$.
+% They have been redefined according to actual use, as mentionned in the above table,
+% but it is still possible to get old symbols with |\oldRe| and |\oldIm|.
+% Notice that |\div| and |\span| already exist
+% and haven't been redefined, therefore |\divg| and |\spa| macros.
+%
+% \medskip
+% Some (inverse) circular or hyperbolic fonctions, missing
+% in \LaTeX, are also provided by \textsf{mismath}:
+% \begin{center}
+% \begin{tabular}{rlrlrl}
+% |\arccot| & $\arccot$\qquad\mbox{} & |\arsinh| & $\arsinh$\qquad\mbox{} & |\arcoth| & $\arcoth$\\
+% |\sech| & $\sech$ & |\arcosh| & $\arcosh$ & |\arsech| & $\arsech$ \\
+% |\csch| & $\csch$ & |\artanh| & $\artanh$ & |\arcsch| & $\arcsch$
+% \end{tabular}
+% \end{center}
+%
+% \DescribeMacro{\bigO} \DescribeMacro{\bigo} \DescribeMacro{\lito}
+% Asymptotic comparison operators (in Landau notation) are obtained with
+% |\bigO| or |\bigo| and |\lito| commands:
+% \[ n^2+\bigO(n\log n) \txt{or} n^2+\bigo(n\log n)\txt{and} e^x=1+x+\lito(x^2).\]
+%
+% \subsection{A few useful aliases}
+%
+% In the tradition of Bourbaki and D.~Knuth, proper use requires
+% that classics sets of numbers are typeset in bold roman:
+% $\R, \C, \Z, \N, \Q$,
+% openwork letters ($\mathbb{R}, \mathbb{Z}, \ldots$)
+% being restricted to writing at blakbord~\cite{LSHORT};
+% and likewise to designate a field: $\F$ or $\K$ (Körper in German).
+% We get these symbols with the following macros:
+% \begin{center}
+% |\R|, |\C|, |\Z|, |\N|, |\Q|, |\F|, |\K|.
+% \end{center}
+%
+% \DescribeMacro{\mathset}
+% |\mathset| command enables to change in a global way the behavior of all these macros:
+% by default, |\mathset| is an alias for |\mathbf|, but if you prefer openwork letters,
+% you just have to place |\renewcommand\mathset{\mathbb}| in the preamble,
+% after loading \textsf{amsfonts} package (which provides the blackboard bold typeface).
+%
+% \medskip
+% \DescribeMacro{\ds}
+% |\displaystyle| command being very frequent, current alias |\ds| is proposed.
+% Not only it eases typing but also it makes source code formulas more readable.
+
+% Symbols with limits behave differently in in-line math mode or in displaymath mode.
+% In this last case, ``limits'' are put under or above whereas in in-line math mode,
+% they are put on the right side, in subscript or exponent. Compare:
+% $\upzeta(s)=\sum_{n=1}^{\infty }\frac{1}{n^s}$ with
+% \[\upzeta(s)=\sum_{n=1}^{\infty}\frac{1}{n^s}.\]
+% \DescribeMacro{\dlim} \DescribeMacro{\dsum} \DescribeMacro{\dcup} \DescribeMacro{\dcap}
+% In in-line mode, it is possible to force displaymath behavior with |\displaystyle|
+% command or its alias |\ds|, but then all the rest of the current mathematical
+% environment will be set in displaymath mode too (in our example, the fraction will be expanded).
+% Just like classic command |\dfrac|
+% only transforms the required fraction in displaymath, if we want to limit
+% displaymath effect to the affected symbol, it is possible to make
+% it followed by |\limits| command or use the following macros:
+% |\dlim|, |\dsum|, |\dcup|, |\dcap|.
+% So |$\dlim_{x\to +\infty}\frac{1}{x}$| gives $\dlim_{x \to +\infty}\frac{1}{x}$.
+%
+% \medskip
+% \DescribeMacro{\lbar} \DescribeMacro{\hlbar}
+% \LaTeX\ provides |\bar| macro to draw a little bar above a symbol,
+% for instance for the conjugate of a complex number $z$, typing |\bar{z}| produces $\bar{z}$.
+% However for larger bars, we have to use |\overline| to get for instance
+% $\lbar{z_1z_2}$ or, shorter, |\lbar| alias provided by \textsf{mismath}.
+% Such as for vectors, we can raise the bar (from the height of $h$) with
+% |\hlbar| command, in order to correct uneven bars heights.
+% \begin{center}
+% $\lbar{z+z'}=\lbar{z}+\lbar{z'}$ is less than $\lbar{z+z'}=\hlbar{z}+\lbar{z'}$,
+% obtained with |\hlbar{z}|.
+% \end{center}
+%
+% \DescribeMacro{\eqdef}
+% |\eqdef| macro writes equality symbol topped with ``def''
+% (thanks to \LaTeX\ command |\stackrel|):\\
+% \begin{minipage}[t]{8cm}
+% \begin{verbatim}
+% $ e^{i\theta} \eqdef
+% \cos\theta + i\sin\theta $
+% \end{verbatim}
+% \end{minipage}
+% \begin{minipage}{6cm}
+% $e^{i\theta}\eqdef\cos\theta+i\sin\theta$
+% \end{minipage}
+%
+% \DescribeMacro{\unbr}
+% |\unbr| is an alias for |\underbrace|\footnote{The \textsf{mathtools}
+% package by Morten Høgholm and Lars Madsen~\cite{TOOL}
+% provides a new improved version of \texttt{\bslash underbrace} command
+% (as many other usefull macros);
+% it is loaded by \textsf{mismath}.}.\\[2ex]
+% \begin{minipage}{6.75cm}
+% \begin{verbatim}
+%$ (QAP)^n = \unbr{QAP\mul QAP\mul
+% \cdots\mul QAP}_{n\text{ times}} $
+% \end{verbatim}
+% \end{minipage}
+% \begin{minipage}{6.5cm}
+% $ (QAP)^n = \unbr{QAP\mul QAP\mul\cdots\mul QAP}_{n\text{ times}} $
+% \end{minipage}
+%
+% \DescribeMacro{\iif}
+% |\iif| is an alias for ``\iif'' in text mode.
+%
+% \pagebreak
+% \subsection{Fixing some spacing in mathematical formulas}
+%
+% \DescribeMacro{\mul}
+% Multiplication symbol obtained with |\times| produces the same spacing than addition
+% or substraction operators, whereas division obtained with $/$ is tighten around its arguments.
+% This actually hides the priority of the multiplication on $+$ and $-$.
+% This is why \textsf{mismath} provides |\mul| macro, behaving like $/$
+% (ordinary symbol) and leaves less space around than |\times|:
+% \begin{center}
+% $\lambda+\alpha \times b-\beta \times c$
+% is less than $\lambda+\alpha \mul b-\beta \mul c$, obtained with |\mul|.
+% \end{center}
+%
+% \DescribeMacro{\then}
+% |\then| macro produces the symbol $\Longrightarrow$ but leaving more space around it,
+% as for standard macro |\iff| does it with $\Longleftrightarrow$;
+% in a similar way, |\txt| \DescribeMacro{\txt}
+% uses |\text| macro from \textsf{amstext} package
+% (automatically loaded by \textsf{amsmath})
+% leaving em quad spaces (|\quad|) around the text:
+% \begin{center}
+% |\ln x=a \then x=e^a \txt{or} \ln x=a \Longrightarrow x=e^a| \\[1ex]
+% $ \ln x=a \then x=e^a \txt{or} \ln x=a \Longrightarrow x=e^a$
+% \end{center}
+%
+% \DescribeMacro{\pow}
+% When typesetting an exponent after a closing parenthesis produced by |\right)|,
+% the exponent is little to far from the parenthesis.
+% The command |\pow|\marg{expr}\marg{pow} sets
+% \meta{expr} between the parentheses and puts the exponent \meta{pow}
+% slightly closer to the parenthesis. Compare:
+% \[ e^a \sim\left(1+\frac{a}{n}\right)^n \txt{and} e^a \sim\pow{1+\frac{a}{n}}{n}.\]
+%
+% \DescribeMacro{\abs}
+% Absolute value (or modular for a complex number) should be typeset with
+% |\lvert| \ldots |\rvert| rather than $\mid$ which doesn't respect correct
+% spaces for delimiters; for bars whose height has to adapt to content,
+% we use |\left\vert| \ldots |\right\vert| or, more simply,
+% \textsf{mismath} command |\abs|\{\ldots\} which is equivalent\footnote{Another
+% solution is to define \texttt{\bslash abs} with the
+% \texttt{\bslash DeclarePairedDelimiter} command
+% from the \textsf{mathtool} package~\cite{TOOL}.}.
+%
+% \medskip
+% \DescribeMacro{\lfrac}
+% This macro behaves like |\frac| but with medium spaces around the arguments,
+% so the corresponding fraction bar seems to be a little bit longer:\\
+% \begin{minipage}[t]{8cm}
+% \begin{verbatim}
+%\[ \lbar{Z} =
+% \lfrac{\lbar{z_1-z_2}}{\lbar{z_1+z_2}} \]
+% \end{verbatim}
+% \end{minipage}
+% \begin{minipage}[t]{4cm}
+% \[ \lbar{Z} = \lfrac{\lbar{z_1-z_2}}{\lbar{z_1+z_2}} \]
+% \end{minipage}
+%
+% \DescribeMacro{[ ]}
+% Brackets symbols $[$ and $]$ have been redefined for mathematical mode because,
+% in standard \LaTeX, the space before them can be unsuitable\footnote{The
+% \textsf{interval} package~\cite{INT} gives another solution, less direct,
+% based on an \texttt{\bslash interval} macro.}:
+% \begin{center}
+% |$x\in ]0,\pi[ \cup ]2\pi,3\pi[$| \hspace{0.5em}
+% $\begin{cases}
+% x\in \OB 0,\pi \CB \cup \OB2\pi, 3\pi \CB &\text{ without \textsf{mismath}}\\
+% x\in ]0, \pi[ \cup ]2\pi, 3\pi[ &\text{ with \textsf{mismath}}
+% \end{cases}$
+% \end{center}
+% In our code, $[$ and $]$ symbols are not defined anymore as delimiters.
+% One can regret it because a line break could occur between the two,
+% but in addition to the fact that it works very well like that for spaces
+% (because these delimiters are most of the time preceded or followed by relational,
+% binary or punctuation symbols), it is always possible to transform them
+% into delimiters with |\left| |\right|\footnote{Is \LaTeX\ standard definition
+% of [ as |mathopen| really appropriate
+% where this symbol could almost also logically have been defined as |mathclose|?}.
+%
+% \subsection{Environments for systems and small matrices}
+%
+% \DescribeEnv{system}
+% To produce a system of equations, \textsf{mismath} provides \texttt{system} environment:\\
+% \begin{minipage}[t]{6.5cm}
+% \begin{verbatim}
+%$\begin{system}
+% x=1+2t \\ y=2-t \\ z=-3-t
+%\end{system}$
+% \end{verbatim}
+% \end{minipage}
+% \begin{minipage}[t]{5cm}
+% \[ \begin{system} x=1+2t \\ y=2-t \\z=-3-t \end{system} \]
+% \end{minipage}
+%
+% \DescribeEnv{system\oarg{coldef}}
+% By default, a system is written like an \texttt{array} environment with only one column,
+% left aligned. The environment has an optional argument to create several columns,
+% specifying their alignment, with the same syntax than \texttt{array} environment of
+% \LaTeX : |\begin{system}[cl]| produces a two-column system, the first one being centred,
+% the second being left aligned, such as in the following example:\\
+% \begin{minipage}[t]{7cm}
+% \begin{verbatim}
+%$\begin{system}[cl]
+% y & =\dfrac{1}{2}x-2 \\[1ex]
+% (x,y) & \neq (0,-2)
+%\end{system}$
+% \end{verbatim}
+% \end{minipage}
+% \begin{minipage}[t]{5cm}
+% \[ \begin{system}[cl] y&=\dfrac{1}{2}x-2 \\[1ex] (x,y)&\neq (0,-2) \end{system}\]
+% \end{minipage}
+%
+% \DescribeMacro{\systemstretch}
+% Default spacing between the lines of a \texttt{system} environment has been slightly
+% enlarged compared to the one from \texttt{array} environments (from 1.2 factor).
+% It is possible to change this spacing by typing |\renewcommand{\systemstretch}|\marg{stretch}
+% inside the current mathematical environment (for a local change) or outside
+% (for a global change). By default, stretch's value is 1.2.
+% It is also possible to use occasionnally a carriage return with a spacing option such
+% as it has been done above with |\\[1ex]|.
+%
+% Another example with |\begin{system}[l@{\quad}l]|\footnote{\texttt{@\{\ldots\}}
+% sets inter-column space.}:
+% \begin{equation*}
+% \begin{system}[l@{\quad}l]
+% -5+3s=8+2t & (r_1)\\ 1+2s= 3t & (r_2)\\ -2s=8+2t & (r_3)
+% \end{system}
+% \iff
+% \begin{system}[l@{\quad}l]
+% -5+5s=0 & (r_1 \gets r_1-r_3)\\
+% 1=8+5t & (r_2 \gets r_2+r_3) \\
+% 1+2s=3t & (r_3 \gets r_2)
+% \end{system}
+% \end{equation*}
+%
+% \DescribeMacro{\systemsep}
+% This last example could have also be produced with \texttt{cases} environment
+% from \textsf{amsmath} package, although \texttt{cases} places mathematical expressions
+% closer to the bracket (which is logical considering it's use).
+% |\systemsep| macro enables to set the gap between the bracket and the expressions,
+% set by default to |\medspace|. It is possible to reduce this gap, for instance:
+% |\renewcommand{\systemsep}{\thinspace}|
+% or to enlarge it with |\thickspace| (and with |\renewcommand\systemsep}{}|
+% we get back to what \texttt{cases} do).
+%
+% \medskip
+% \DescribeEnv{spmatrix}
+% \textsf{amsmath} package provides various environments to typeset matrices:
+% for instance \texttt{pmatrix} that automatically puts parenthesis around the matrix
+% or \texttt{smallmatrix} that typesets a small matrix that can even be inserted
+% on a text line. We provide a combination of the two with \texttt{spmatrix}:\\
+% |$\vec{u}\begin{spmatrix}-1\\2\end{spmatrix}$| yields
+% $\vec{u}\begin{spmatrix}-1\\2\end{spmatrix}$.
+%
+% \textsf{mathtools} package enhance \textsf{amsmath} matrices environments
+% and provides also a small matrix environment with parenthesis.
+% Moreover, with starred version |\begin{psmallmatrix*}|\oarg{col},
+% you can choose the alignment inside the columns (\texttt{c}, \texttt{l} or \texttt{r}).
+% But sadly, the space before the left parenthesis is too narrow
+% regarding to the space inside the parenthesis.
+% Compare previous $\vec{u}\begin{spmatrix}-1\\2\end{spmatrix}$
+% with $\vec{u}\begin{psmallmatrix}-1\\2\end{psmallmatrix}$.
+%
+% \subsection{Displaymath in double column}
+%
+% \DescribeEnv{mathcols}
+% \texttt{mathcols} environment activates mathematical mode and enables to compose ``long''
+% calculation on two columns, separated with a central line,
+% as shown in the following example.
+% But it is necessary to load \texttt{multicol} package in the preamble,
+% action that \texttt{mismath} does not automatically do.
+% \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 \\
+% \iff\ & 0.001 \geq \frac{1.998}{4^n} \\
+% \changecol
+% & \iff 4^n \geq 1998 \\
+% & \iff n \ln 4 \geq \ln(1998) \\
+% & \iff n \geq \frac{\ln(1998)}{\ln 4} \approx 5.4 \\
+% & \iff n \geq 6
+% \end{mathcols}
+%
+% \DescribeMacro{\changecol}
+% Aligment is produced using classic |&| and |\\| and
+% |\changecol| macro causes a change of column.
+% \begin{verbatim}
+%\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 \\
+% \iff\ & 0.001 \geq \frac{1.998}{4^n} \\
+%\changecol
+% & \iff 4^n \geq 1998 \\
+% & \iff n \ln 4 \geq \ln(1998) \\
+% & \iff n \geq \frac{\ln(1998)}{\ln 4} \approx 5.4 \\
+% & \iff n \geq 6
+%\end{mathcols}
+% \end{verbatim}
+%
+% \vspace{-4ex}
+% \section{Implementation}
+%
+% \begin{macrocode}
+\DeclareOption*{\PassOptionsToPackage{\CurrentOption}{amsmath}}
+\ProcessOptions \relax
+\@ifpackageloaded{amsmath}{}{\RequirePackage{amsmath}}
+\@ifpackageloaded{esvect}{}{\RequirePackage[b]{esvect}}
+\RequirePackage{ifthen}
+\RequirePackage{xspace}
+\RequirePackage{mathtools}
+% \end{macrocode}
+% The above conditional packages loading avoids ``option clash'' errors if the packages
+% have been previously loaded with options.
+%
+% \medskip
+% The two following commands are meta commands for
+% conditional macro definitions with warning message if the macro already exists.
+% \begin{macrocode}
+\newcommand\@mwarning[1]{
+ \PackageWarning{mismath}{
+ Command \ #1 already exist and will not be redefined
+ } % TODO \bslash from doc.sty doesn't produce a blank space after \
+}
+\newcommand\@mmacro[2]{
+ \@ifundefined{#1}{
+ \expandafter\def\csname #1\endcsname{#2}
+ }{\@mwarning{#1}}
+}
+\newcommand\@moperator[3][]{% this macro is ugly, TODO by default #1=#3
+ \ifthenelse{\equal{#1}{}}{
+ \@ifundefined{#3}{
+ \DeclareMathOperator{#2}{#3}
+ }{\@mwarning{#3}}
+ }{
+ \@ifundefined{#1}{
+ \DeclareMathOperator{#2}{#3}
+ }{\@mwarning{#1}}
+ }
+}
+
+\DeclareSymbolFont{up}{\encodingdefault}{\familydefault}{m}{n}
+
+% \end{macrocode}
+%
+% To work correctly with \textsf{beamer} package, we did not use |\mathrm|
+% but |\mathup| (based on \textsf{mathopn} |\operatorfont|
+% to produce the correct upright shape font).
+% This command works also fine with other sans serif fonts like \textsf{cmbright}.
+%
+% |\AtBeginDocument| is necessary to redefine |\i| after calling \textsf{hyperref} package
+% which overwrites the |\i| definition.
+% Moreover for \textsf{beamer}, |\enumber| must use
+% the familydefault font defined by this package (sans serif),
+% therefore the |\AtBeginDocument| inside the macro (otherwise it has no effect).
+% The same holds for |\inumber| and |\jnumber|.
+% \begin{macrocode}
+\providecommand{\mathup}[1]{{\operatorfont #1}}
+\@mmacro{e}{\mathup{e}}
+\AtBeginDocument{\let\oldi\i \let\oldj\j
+ \renewcommand{\i}{\TextOrMath{\oldi}{\mathup{i}}}
+ \renewcommand{\j}{\TextOrMath{\oldj}{\mathup{j}}}
+}
+\newcommand{\enumber}{
+ \AtBeginDocument{\DeclareMathSymbol{e}\mathalpha{up}{`e}}
+}
+\newcommand{\inumber}{
+ \AtBeginDocument{\DeclareMathSymbol{i}\mathalpha{up}{`i}}
+}
+\newcommand{\jnumber}{
+ \AtBeginDocument{\DeclareMathSymbol{j}\mathalpha{up}{`j}}
+}
+\newcommand*{\pinumber}[1][Symbol]{
+ \@ifpackageloaded{upgreek}{}{\usepackage[#1]{upgreek}}
+ \let\itpi\pi
+ \renewcommand{\pi}{\uppi}
+}
+
+\newboolean{arrowvect}
+\setboolean{arrowvect}{true}
+\newcommand{\arrowvect}{\setboolean{arrowvect}{true}}
+\newcommand{\boldvect}{\setboolean{arrowvect}{false}}
+\newcommand{\boldvectcommand}{\boldsymbol} % needs bm package
+\@mmacro{vect}{\ifthenelse{\boolean{arrowvect}}{\vv}{\boldvectcommand}}
+\newcommand*{\hvect}[1]{\vv{\vphantom{h}#1}}
+\newcommand*{\hvec}[1]{\vec{\vphantom{t}#1}}
+
+\newcommand*{\@norm}[1]{
+ \mbox{\raisebox{1.75pt}{$\bigl\Vert$}} #1
+ \mbox{\raisebox{1.75pt}{$\bigr\Vert$}} }
+% works better than with relative length
+\newcommand*{\@@norm}[1]{
+ \mbox{\footnotesize\raisebox{1pt}{$\Vert$}} #1
+ \mbox{\footnotesize\raisebox{1pt}{$\Vert$}} }
+\newcommand*{\@@@norm}[1]{
+ \mbox{\tiny\raisebox{1pt}{$\Vert$}} #1
+ \mbox{\tiny\raisebox{1pt}{$\Vert$}} }
+\providecommand*{\norm}[1]{
+ \mathchoice{\@norm{#1}}{\@norm{#1}}{\@@norm{#1}}{\@@@norm{#1}} }
+
+\newcommand{\di}{\mathop{}\!\mathup{d}}
+\newcommand\probastyle{}
+\let\Par\P % end of paragraph symbol
+\renewcommand{\P}{\operatorname{\probastyle{P}}}
+\@mmacro{E}{\operatorname{\probastyle{E}}}
+\@mmacro{V}{\operatorname{\probastyle{V}}}
+\newcommand{\PEupright}{
+ \AtBeginDocument{% necessary for working with beamer
+ \DeclareMathSymbol{P}\mathalpha{up}{`P}
+ \DeclareMathSymbol{E}\mathalpha{up}{`E}
+ }
+}
+
+\@moperator{\adj}{adj}
+\@moperator{\Aut}{Aut}
+\@moperator{\Conv}{Conv}
+\@moperator{\cov}{cov}
+\@moperator{\Cov}{Cov}
+\@mmacro{curl}{\operatorname{\vect{\mathup{curl}}}}
+\@moperator[divg]{\divg}{div}
+\@moperator{\End}{End}
+
+\@moperator{\erf}{erf}
+\@mmacro{grad}{\operatorname{\vect{\mathup{grad}}}}
+\@moperator{\id}{id} % mathop or mathord ?
+\@moperator{\Id}{Id}
+\@moperator{\im}{im}
+\let\oldIm\Im \renewcommand{\Im}{\operatorname{Im}}
+\@moperator{\lb}{lb}
+\@moperator{\lcm}{lcm}
+
+\@moperator{\rank}{rank}
+\let\oldRe\Re \renewcommand{\Re}{\operatorname{Re}}
+\@mmacro{rot}{\operatorname{\vect{\mathup{rot}}}}
+\@moperator{\sgn}{sgn}
+\@moperator[spa]{\spa}{span}
+\@moperator{\tr}{tr}
+\@moperator{\Var}{Var}
+\@moperator[Zu]{\Zu}{Z}
+
+\@moperator{\arccot}{arccot}
+\@moperator{\sech}{sech}
+\@moperator{\csch}{csch}
+\@moperator{\arsinh}{arsinh}
+\@moperator{\arcosh}{arcosh}
+\@moperator{\artanh}{artanh}
+\@moperator{\arcoth}{arcoth}
+\@moperator{\arsech}{arsech}
+\@moperator{\arcsch}{arcsch}
+
+\@moperator[bigO]{\bigO}{\mathcal{O}}
+\@moperator[bigo]{\bigo}{O}
+\@moperator[lito]{\lito}{o}
+
+\newcommand{\mathset}{\mathbf}
+\@mmacro{R}{\ensuremath{\mathset{R}}\xspace}
+\@mmacro{C}{\ensuremath{\mathset{C}}\xspace}
+\@mmacro{N}{\ensuremath{\mathset{N}}\xspace}
+\@mmacro{Z}{\ensuremath{\mathset{Z}}\xspace}
+\@mmacro{Q}{\ensuremath{\mathset{Q}}\xspace}
+\@mmacro{F}{\ensuremath{\mathset{F}}\xspace}
+\@mmacro{K}{\ensuremath{\mathset{K}}\xspace}
+
+\@mmacro{ds}{\displaystyle}
+\@mmacro{dlim}{\lim\limits}
+\@mmacro{dsum}{\sum\limits}
+\@mmacro{dcup}{\bigcup\limits}
+\@mmacro{dcap}{\bigcap\limits}
+\@mmacro{lbar}{\overline}
+\providecommand*{\hlbar}[1]{\overline{\vphantom{h}#1}}
+\@mmacro{eqdef}{\stackrel{\mathup{def}}{=}}
+\@mmacro{unbr}{\underbrace}
+\@mmacro{iif}{if and only if\xspace}
+
+\@mmacro{mul}{\mathord{\times}}
+\@mmacro{then}{\ \Longrightarrow \ \mbox{} }
+% \end{macrocode}
+% Without |\mbox{}| the space produced by |\| would be suppressed in tabulars.
+% \medskip
+% \begin{macrocode}
+\providecommand*{\txt}[1]{\quad\text{#1}\quad}
+\providecommand*{\pow}[2]{\left( #1 \right)^{\!#2}}
+\providecommand*{\abs}[1]{\left\vert#1\right\vert}
+\providecommand*{\lfrac}[2]{\frac{\:#1\:}{\:#2\:}}
+\DeclareMathSymbol{]}\mathord{up}{093} % originally \mathclose
+\DeclareMathSymbol{[}\mathord{up}{091} % originally \mathopen
+
+\newcommand{\systemstretch}{1.2}
+\newcommand{\systemsep}{\medspace}
+\newenvironment{system}[1][l]{
+ \renewcommand{\arraystretch}{\systemstretch}
+ \setlength{\arraycolsep}{0.15em}
+ \left\{\begin{array}{@{\systemsep}#1@{}} %
+}{\end{array}\right.}
+
+\newenvironment{spmatrix}{
+ \left(\begin{smallmatrix}
+}{\end{smallmatrix}\right)}
+
+\newenvironment{mathcols}{% needs multicol package
+ \renewcommand{\columnseprule}{0.1pt}
+ \begin{multicols}{2}
+ \par\noindent\hfill
+ \begin{math}\begin{aligned}\displaystyle
+}{%
+ \end{aligned}\end{math} \hfill\mbox{}
+ \end{multicols}
+}
+\newcommand{\changecol}{%
+ \end{aligned}\end{math} \hfill\mbox{}
+ \par\noindent\hfill
+ \begin{math}\begin{aligned}\displaystyle
+}
+% \end{macrocode}
+%
+% \begin{thebibliography}{14}
+% \bibitem{TYPMA} \emph{Typesetting mathematics for science and technology according
+% to ISO 31/XI}, Claudio Beccari, TUGboat Volume 18 (1997), No.~1.
+% \bibitem{NIST} \emph{Typefaces for Symbols in Scientific Manuscripts}.\\
+% 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 Nomenclature and Symbols),
+% dec 1999.
+% \bibitem{ISO} \emph{ISO 80000-2}. https://en.wikipedia.org/wiki/ISO\_80000-2
+% \bibitem{AMS} \emph{The \textsf{amsmath} package}. Frank Mittelbach, Rainer Schöpf,
+% Michael Downes, Davis M.~Jones, David Carlisle, CTAN, v2.17b 2018/12/01.
+% \bibitem{TOOL} \emph{The \textsf{mathtool} package}. Morten Høgholm, Lars Madsen, CTAN,
+% v1.21 2018/01/08.
+% \bibitem{VECT} \emph{Typesetting vectors with beautiful arrow with \LaTeXe}.
+% \textsf{esvect} package by Eddie Saudrais, CTAN, v1.3 2013/07/11.
+% \bibitem{GREEK} \emph{The \textsf{upgreek} package for \LaTeXe}, Walter Schmidt,
+% CTAN, v2.0 2003/02/12.
+% \bibitem{FIXM} \emph{The \textsf{fixmath} package for \LaTeXe}, Walter Schmidt,
+% CTAN, v0.9 2000/04/11.
+% \bibitem{ISOM} \emph{\textsf{isomath}. Mathematical style for science and technology}.
+% Günter Milde, CTAN, v0.6.1 04/06/2012.
+% \bibitem{INT} \emph{The \textsf{interval} package}. Lars Madsen, CTAN,
+% v0.3 2014/08/04.
+% \bibitem{FR} \emph{L'extension \textsf{frenchmath}}. Antoine Missier, CTAN, v1.2 2019/04/27.
+% \bibitem{LSHORT} \emph{The Not So Short Introduction to \LaTeXe}. \texttt{lshort} package by
+% Tobias Oetiker, Hubert Partl, Irene Hyna and Elisabeth Schlegl, CTAN, v6.2 2018/02/28.
+% \bibitem{COMP} \emph{The \LaTeX\ Companion}. Frank Mittelbach, Michel Goossens,
+% Johannes Braams, David Carlisle, Chris Rowley, 2nd edition, Pearson Education, 2004.
+% \end{thebibliography}
+
+% \Finale
+\endinput
diff --git a/Master/texmf-dist/source/latex/mismath/mismath.ins b/Master/texmf-dist/source/latex/mismath/mismath.ins
new file mode 100644
index 00000000000..13befa8d377
--- /dev/null
+++ b/Master/texmf-dist/source/latex/mismath/mismath.ins
@@ -0,0 +1,55 @@
+%%
+%% Copyright (C) 2019 by Antoine Missier <antoine.missier@ac-toulouse.fr>
+%%
+%% This file may be distributed and/or modified under the conditions of
+%% the LaTeX Project Public License, either version 1.3 of this license
+%% or (at your option) any later version. The latest version of this
+%% license is in:
+%%
+%% http://www.latex-project.org/lppl.txt
+%%
+%% and version 1.3 or later is part of all distributions of LaTeX version
+%% 2005/12/01 or later.
+%%
+
+\input docstrip.tex
+\keepsilent
+
+\usedir{tex/latex/mismath}
+
+\preamble
+
+This is a generated file.
+
+Copyright (C) 2019 by Antoine Missier <antoine.missier@ac-toulouse.fr>
+
+This file may be distributed and/or modified under the conditions of
+the LaTeX Project Public License, either version 1.3 of this license
+or (at your option) any later version. The latest version of this
+license is in:
+
+ http://www.latex-project.org/lppl.txt
+
+and version 1.3 or later is part of all distributions of LaTeX version
+2005/12/01 or later.
+
+\endpreamble
+
+\generate{\file{mismath.sty}{\from{mismath.dtx}{package}}}
+
+\obeyspaces
+\Msg{*************************************************************}
+\Msg{* *}
+\Msg{* To finish the installation you have to move the following *}
+\Msg{* files into a directory searched by TeX: *}
+\Msg{* *}
+\Msg{* mismath.sty *}
+\Msg{* *}
+\Msg{* To produce the documentation run the file mismath.dtx *}
+\Msg{* through LaTeX. *}
+\Msg{* *}
+\Msg{* Happy TeXing! *}
+\Msg{* *}
+\Msg{*************************************************************}
+
+\endbatchfile
diff --git a/Master/texmf-dist/tex/latex/mismath/mismath.sty b/Master/texmf-dist/tex/latex/mismath/mismath.sty
new file mode 100644
index 00000000000..518bb153c41
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/mismath/mismath.sty
@@ -0,0 +1,213 @@
+%%
+%% This is file `mismath.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% mismath.dtx (with options: `package')
+%%
+%% This is a generated file.
+%%
+%% Copyright (C) 2019 by Antoine Missier <antoine.missier@ac-toulouse.fr>
+%%
+%% This file may be distributed and/or modified under the conditions of
+%% the LaTeX Project Public License, either version 1.3 of this license
+%% or (at your option) any later version. The latest version of this
+%% license is in:
+%%
+%% http://www.latex-project.org/lppl.txt
+%%
+%% and version 1.3 or later is part of all distributions of LaTeX version
+%% 2005/12/01 or later.
+%%
+\NeedsTeXFormat{LaTeX2e}[2005/12/01]
+\ProvidesPackage{mismath}
+ [2019/04/27 v1.2 .dtx mismath file]
+
+
+\DeclareOption*{\PassOptionsToPackage{\CurrentOption}{amsmath}}
+\ProcessOptions \relax
+\@ifpackageloaded{amsmath}{}{\RequirePackage{amsmath}}
+\@ifpackageloaded{esvect}{}{\RequirePackage[b]{esvect}}
+\RequirePackage{ifthen}
+\RequirePackage{xspace}
+\RequirePackage{mathtools}
+\newcommand\@mwarning[1]{
+ \PackageWarning{mismath}{
+ Command \ #1 already exist and will not be redefined
+ } % TODO \bslash from doc.sty doesn't produce a blank space after \
+}
+\newcommand\@mmacro[2]{
+ \@ifundefined{#1}{
+ \expandafter\def\csname #1\endcsname{#2}
+ }{\@mwarning{#1}}
+}
+\newcommand\@moperator[3][]{% this macro is ugly, TODO by default #1=#3
+\ifthenelse{\equal{#1}{}}{
+ \@ifundefined{#3}{
+ \DeclareMathOperator{#2}{#3}
+ }{\@mwarning{#3}}
+ }{
+ \@ifundefined{#1}{
+ \DeclareMathOperator{#2}{#3}
+ }{\@mwarning{#1}}
+ }
+}
+
+\DeclareSymbolFont{up}{\encodingdefault}{\familydefault}{m}{n}
+
+\providecommand{\mathup}[1]{{\operatorfont #1}}
+\@mmacro{e}{\mathup{e}}
+\AtBeginDocument{\let\oldi\i \let\oldj\j
+ \renewcommand{\i}{\TextOrMath{\oldi}{\mathup{i}}}
+ \renewcommand{\j}{\TextOrMath{\oldj}{\mathup{j}}}
+}
+\newcommand{\enumber}{
+ \AtBeginDocument{\DeclareMathSymbol{e}\mathalpha{up}{`e}}
+}
+\newcommand{\inumber}{
+ \AtBeginDocument{\DeclareMathSymbol{i}\mathalpha{up}{`i}}
+}
+\newcommand{\jnumber}{
+ \AtBeginDocument{\DeclareMathSymbol{j}\mathalpha{up}{`j}}
+}
+\newcommand*{\pinumber}[1][Symbol]{
+ \@ifpackageloaded{upgreek}{}{\usepackage[#1]{upgreek}}
+ \let\itpi\pi
+ \renewcommand{\pi}{\uppi}
+}
+
+\newboolean{arrowvect}
+\setboolean{arrowvect}{true}
+\newcommand{\arrowvect}{\setboolean{arrowvect}{true}}
+\newcommand{\boldvect}{\setboolean{arrowvect}{false}}
+\newcommand{\boldvectcommand}{\boldsymbol} % needs bm package
+\@mmacro{vect}{\ifthenelse{\boolean{arrowvect}}{\vv}{\boldvectcommand}}
+\newcommand*{\hvect}[1]{\vv{\vphantom{h}#1}}
+\newcommand*{\hvec}[1]{\vec{\vphantom{t}#1}}
+
+\newcommand*{\@norm}[1]{
+ \mbox{\raisebox{1.75pt}{$\bigl\Vert$}} #1
+ \mbox{\raisebox{1.75pt}{$\bigr\Vert$}} }
+\newcommand*{\@@norm}[1]{
+ \mbox{\footnotesize\raisebox{1pt}{$\Vert$}} #1
+ \mbox{\footnotesize\raisebox{1pt}{$\Vert$}} }
+\newcommand*{\@@@norm}[1]{
+ \mbox{\tiny\raisebox{1pt}{$\Vert$}} #1
+ \mbox{\tiny\raisebox{1pt}{$\Vert$}} }
+\providecommand*{\norm}[1]{
+ \mathchoice{\@norm{#1}}{\@norm{#1}}{\@@norm{#1}}{\@@@norm{#1}} }
+
+\newcommand{\di}{\mathop{}\!\mathup{d}}
+\newcommand\probastyle{}
+\let\Par\P % end of paragraph symbol
+\renewcommand{\P}{\operatorname{\probastyle{P}}}
+\@mmacro{E}{\operatorname{\probastyle{E}}}
+\@mmacro{V}{\operatorname{\probastyle{V}}}
+\newcommand{\PEupright}{
+ \AtBeginDocument{% necessary for working with beamer
+ \DeclareMathSymbol{P}\mathalpha{up}{`P}
+ \DeclareMathSymbol{E}\mathalpha{up}{`E}
+ }
+}
+
+\@moperator{\adj}{adj}
+\@moperator{\Aut}{Aut}
+\@moperator{\Conv}{Conv}
+\@moperator{\cov}{cov}
+\@moperator{\Cov}{Cov}
+\@mmacro{curl}{\operatorname{\vect{\mathup{curl}}}}
+\@moperator[divg]{\divg}{div}
+\@moperator{\End}{End}
+
+\@moperator{\erf}{erf}
+\@mmacro{grad}{\operatorname{\vect{\mathup{grad}}}}
+\@moperator{\id}{id} % mathop or mathord ?
+\@moperator{\Id}{Id}
+\@moperator{\im}{im}
+\let\oldIm\Im \renewcommand{\Im}{\operatorname{Im}}
+\@moperator{\lb}{lb}
+\@moperator{\lcm}{lcm}
+
+\@moperator{\rank}{rank}
+\let\oldRe\Re \renewcommand{\Re}{\operatorname{Re}}
+\@mmacro{rot}{\operatorname{\vect{\mathup{rot}}}}
+\@moperator{\sgn}{sgn}
+\@moperator[spa]{\spa}{span}
+\@moperator{\tr}{tr}
+\@moperator{\Var}{Var}
+\@moperator[Zu]{\Zu}{Z}
+
+\@moperator{\arccot}{arccot}
+\@moperator{\sech}{sech}
+\@moperator{\csch}{csch}
+\@moperator{\arsinh}{arsinh}
+\@moperator{\arcosh}{arcosh}
+\@moperator{\artanh}{artanh}
+\@moperator{\arcoth}{arcoth}
+\@moperator{\arsech}{arsech}
+\@moperator{\arcsch}{arcsch}
+
+\@moperator[bigO]{\bigO}{\mathcal{O}}
+\@moperator[bigo]{\bigo}{O}
+\@moperator[lito]{\lito}{o}
+
+\newcommand{\mathset}{\mathbf}
+\@mmacro{R}{\ensuremath{\mathset{R}}\xspace}
+\@mmacro{C}{\ensuremath{\mathset{C}}\xspace}
+\@mmacro{N}{\ensuremath{\mathset{N}}\xspace}
+\@mmacro{Z}{\ensuremath{\mathset{Z}}\xspace}
+\@mmacro{Q}{\ensuremath{\mathset{Q}}\xspace}
+\@mmacro{F}{\ensuremath{\mathset{F}}\xspace}
+\@mmacro{K}{\ensuremath{\mathset{K}}\xspace}
+
+\@mmacro{ds}{\displaystyle}
+\@mmacro{dlim}{\lim\limits}
+\@mmacro{dsum}{\sum\limits}
+\@mmacro{dcup}{\bigcup\limits}
+\@mmacro{dcap}{\bigcap\limits}
+\@mmacro{lbar}{\overline}
+\providecommand*{\hlbar}[1]{\overline{\vphantom{h}#1}}
+\@mmacro{eqdef}{\stackrel{\mathup{def}}{=}}
+\@mmacro{unbr}{\underbrace}
+\@mmacro{iif}{if and only if\xspace}
+
+\@mmacro{mul}{\mathord{\times}}
+\@mmacro{then}{\ \Longrightarrow \ \mbox{} }
+\providecommand*{\txt}[1]{\quad\text{#1}\quad}
+\providecommand*{\pow}[2]{\left( #1 \right)^{\!#2}}
+\providecommand*{\abs}[1]{\left\vert#1\right\vert}
+\providecommand*{\lfrac}[2]{\frac{\:#1\:}{\:#2\:}}
+\DeclareMathSymbol{]}\mathord{up}{093} % originally \mathclose
+\DeclareMathSymbol{[}\mathord{up}{091} % originally \mathopen
+
+\newcommand{\systemstretch}{1.2}
+\newcommand{\systemsep}{\medspace}
+\newenvironment{system}[1][l]{
+ \renewcommand{\arraystretch}{\systemstretch}
+ \setlength{\arraycolsep}{0.15em}
+ \left\{\begin{array}{@{\systemsep}#1@{}} %
+}{\end{array}\right.}
+
+\newenvironment{spmatrix}{
+ \left(\begin{smallmatrix}
+}{\end{smallmatrix}\right)}
+
+\newenvironment{mathcols}{% needs multicol package
+ \renewcommand{\columnseprule}{0.1pt}
+ \begin{multicols}{2}
+ \par\noindent\hfill
+ \begin{math}\begin{aligned}\displaystyle
+}{%
+ \end{aligned}\end{math} \hfill\mbox{}
+ \end{multicols}
+}
+\newcommand{\changecol}{%
+ \end{aligned}\end{math} \hfill\mbox{}
+ \par\noindent\hfill
+ \begin{math}\begin{aligned}\displaystyle
+}
+
+\endinput
+%%
+%% End of file `mismath.sty'.
diff --git a/Master/tlpkg/bin/tlpkg-ctan-check b/Master/tlpkg/bin/tlpkg-ctan-check
index 615fd422634..8f83b106423 100755
--- a/Master/tlpkg/bin/tlpkg-ctan-check
+++ b/Master/tlpkg/bin/tlpkg-ctan-check
@@ -455,7 +455,7 @@ my @TLP_working = qw(
microtype microtype-de midnight midpage miller milog milsymb
minibox minidocument minifp minipage-marginpar
miniplot minitoc minorrevision
- minted mintspirit minutes missaali
+ minted mintspirit minutes mismath missaali
mkgrkindex mkjobtexmf mkpattern mkpic
mla-paper mlist mmap mnotes mnras mnsymbol modeles-factures-belges-assocs
moderncv modernposter moderntimeline modiagram
diff --git a/Master/tlpkg/tlpsrc/collection-mathscience.tlpsrc b/Master/tlpkg/tlpsrc/collection-mathscience.tlpsrc
index cbf9c645cbb..694e9f8127b 100644
--- a/Master/tlpkg/tlpsrc/collection-mathscience.tlpsrc
+++ b/Master/tlpkg/tlpsrc/collection-mathscience.tlpsrc
@@ -116,6 +116,7 @@ depend mgltex
depend mhchem
depend mhequ
depend miller
+depend mismath
depend multiobjective
depend mychemistry
depend natded
diff --git a/Master/tlpkg/tlpsrc/mismath.tlpsrc b/Master/tlpkg/tlpsrc/mismath.tlpsrc
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/Master/tlpkg/tlpsrc/mismath.tlpsrc