diff options
author | Karl Berry <karl@freefriends.org> | 2019-05-02 22:27:58 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2019-05-02 22:27:58 +0000 |
commit | 567466a23c3a8ce7d279f1e1a31f061d1adcd6c4 (patch) | |
tree | 10ba70605a14005fb8ae16402010f10e78fe52e9 | |
parent | 277946b9dea336c373d95806e4993a27e1766661 (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.md | 31 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/mismath/mismath.pdf | bin | 0 -> 530205 bytes | |||
-rw-r--r-- | Master/texmf-dist/source/latex/mismath/mismath.dtx | 944 | ||||
-rw-r--r-- | Master/texmf-dist/source/latex/mismath/mismath.ins | 55 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/mismath/mismath.sty | 213 | ||||
-rwxr-xr-x | Master/tlpkg/bin/tlpkg-ctan-check | 2 | ||||
-rw-r--r-- | Master/tlpkg/tlpsrc/collection-mathscience.tlpsrc | 1 | ||||
-rw-r--r-- | Master/tlpkg/tlpsrc/mismath.tlpsrc | 0 |
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 Binary files differnew file mode 100644 index 00000000000..76e462e1590 --- /dev/null +++ b/Master/texmf-dist/doc/latex/mismath/mismath.pdf 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 |