diff options
author | Karl Berry <karl@freefriends.org> | 2019-05-09 21:22:38 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2019-05-09 21:22:38 +0000 |
commit | 77f661c409d3236073d4796d376ecf1ad412be49 (patch) | |
tree | bbc02feba89e061d42ca89e332bc3212f1335ada /Master/texmf-dist/source | |
parent | b861fecdf19a61679a351bf9620bc69fb74f2e92 (diff) |
mismath (9may19)
git-svn-id: svn://tug.org/texlive/trunk@51062 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source')
-rw-r--r-- | Master/texmf-dist/source/latex/mismath/mismath.dtx | 452 |
1 files changed, 250 insertions, 202 deletions
diff --git a/Master/texmf-dist/source/latex/mismath/mismath.dtx b/Master/texmf-dist/source/latex/mismath/mismath.dtx index e9920909957..222a1b0cc70 100644 --- a/Master/texmf-dist/source/latex/mismath/mismath.dtx +++ b/Master/texmf-dist/source/latex/mismath/mismath.dtx @@ -2,8 +2,8 @@ % % Copyright (C) 2019 by Antoine Missier <antoine.missier@ac-toulouse.fr> % -% Version 0.1 : 27/12/2011 -% Version 1.0 : dtx and ins files +% Version 0.1 : 2011/12/27 +% Version 1.0 : 2019/04/11 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 @@ -22,7 +22,7 @@ %<*package> \NeedsTeXFormat{LaTeX2e}[2005/12/01] \ProvidesPackage{mismath} - [2019/04/27 v1.2 .dtx mismath file] + [2019/05/08 v1.3 .dtx mismath file] %</package> %<*driver> \documentclass{ltxdoc} @@ -33,7 +33,7 @@ \usepackage{mismath} \usepackage{amssymb} \usepackage{multicol} -\enumber +%\enumber \inumber \pinumber % for an example in this doc we substitute [ and ] by \OB and \CB @@ -60,7 +60,7 @@ %</driver> % \fi % -% \CheckSum{1764} +% \CheckSum{1836} % % \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 @@ -85,29 +85,32 @@ % \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} +% changes in documentation, removing PEroman macro} +% \changes{v1.3}{2019/05/05}{a small bug correction in the internal @mwarning macro} +% \changes{v1.3}{2019/05/08}{many corrections 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.}} +% 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} +% \date{May 8, 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}). +% According to the International Standards ISO~31-0:1992 to ISO~31-13:1992, +% superseded by ISO~80000-2:2009, mathematical constants $\e$, $\i$, $\pi$ +% sould be typeset in upright shape and not in italic (sloping shape) like +% variables (see~\cite{TYPMA}~\cite{NIST}~\cite{ICTNS}~\cite{ISO}). +% This package provides some tools to achieve this (automatically). % +% \medskip % 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). +% (particularly in school 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, @@ -120,9 +123,9 @@ % \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. +% \item improving some spacings in mathematical formulas, +% \item systems of equations and small matrices, +% \item displaymath in double columns for long calculation. % \end{itemize} % % To avoid incompatibility, @@ -136,18 +139,24 @@ % (assuming the other package supports it), or use % |\let\|\meta{command}|\relax| before loading \textsf{mismath}. % +% \medskip % \DescribeEnv{\oarg{options}\{mismath\}} -% The \textsf{amsmath} package is automatically loaded by \textsf{mismath} without option, -% and \textsf{mathtools} package also. +% The \textsf{amsmath} package is loaded by \textsf{mismath} without option. % For using \textsf{amsmath} with options (see~\cite{AMS}), -% these options can be added to \textsf{mismath}, or +% these options can be added when calling \textsf{mismath}, or % \textsf{amsmath} has to be loaded % with the required options before \textsf{mismath}. % +% Two other usefull packages are loaded: +% \textsf{mathtools} by Morten Høgholm and Lars Madsen~\cite{TOOL} +% and \textsf{mathfixs} by Niklas Beiser with \texttt{frac} and \texttt{root} options~\cite{MFIX}. +% +% \medskip % 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 +% by Walter Schmidt~\cite{FIXM} or \textsf{isomath} by Günter Milde~\cite{ISOM} +% or you can do |\ProvideMathFix{greekcaps}| in the preamble, thanks to \textsf{mathfixs} package. +% But this feature 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.}. @@ -166,65 +175,68 @@ % 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} +% package uses a default sans serif 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 +% the 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. +% Redefining |\i| and |\j| only concerns mathematical mode. % +% \medskip % \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$. +% containing $\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 +% $\e$, $i$ or $\j$ will then automatically be set in upright shape +% in the whole document, no need to type |\e|, |\i| or |\j|, +% let's hope that there are not many other $\mathit{e}$, $\mathit{i}$ or $j$ as variables. +% However, one 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 +% in the document body, objects should 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. +% thanks to them it is possible to bring a document up to the standards +% afterwards; besides anyone is free to use them or not. % +% \medskip % \DescribeMacro{\pinumber\oarg{font}} -% Mathematical constant $\pi$ should also be typeset in upright shape +% 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, +% greek letters in upright font by using commands such as |\upalpha|, |\upbeta|,\ldots\@ +% To avoid typing a lot of |\uppi|, one can use the |\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. +% or \texttt{Symbolsmallscale} (see~\cite{GREEK}). It also redefines the |\pi| +% command to typeset all |\pi| in the selected upright font. % By activating |\enumer|, |\inumber| and |\pinumber| -% in the preamble, you get the following example: +% in the preamble, you can get for instance: % \begin{center} -% |$e^{i\pi} = -1$| \hspace{6em} $e^{i\pi}=-1$ +% |$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|. +% When |\pinumber| is activated, the original italic $\itpi$ is still available with |\itpi|. % % \subsection{Vectors} % % \DescribeMacro{\vect} -% By default, |\vect| command\footnote{As for many macros of this package, +% By default, the |\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}.}) +% provides \texttt{\bslash vv} macro used by \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 @@ -236,9 +248,10 @@ % with the required option \emph{before} \textsf{mismath}, for instance |\usepackage[d]{esvect}| % will give the arrows produced by default in~\cite{VECT}. % +% \medskip % \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. +% |\vect| makes 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} @@ -247,54 +260,61 @@ % \end{verbatim} % \end{minipage} % \begin{minipage}{6cm} -% $\boldvect \vect{v}=\lambda\vect{\mathit e}_x +\mu\vect{\mathit e}_y$. +% $\boldvect \vect{v}=\lambda\vect{e}_x +\mu\vect{e}_y$. % \end{minipage} +% % \DescribeMacro{\boldvectcommand} -% By default \textsf{mismath} uses |\boldsymbol| -% command\footnote{\texttt{\bslash mathbf} gives upright bold style, +% By default |\boldvect| uses the |\boldsymbol| +% command\footnote{\texttt{\bslash mathbf} gives upright bold font, % 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, +% from \textsf{amsbsy} package, loaded by \textsf{amsmath}. +% But other packages producing bold italic can be preferred, e.g.\@ +% \texttt{\bslash bm} from \textsf{bm} package or |\mathbold| from \textsf{fixmath} +% package (also implemented in \textsf{mathfixs}\footnote{To activate a feature +% of \textsf{mathfix} like \texttt{mathbold}, do \texttt{\bslash ProvideMathFix\{mathbold\}}.}) +% or |\mathbfit| from \textsf{isomath}. +% For that, redefine |\boldvectcommand|: +% for instance |\renewcommand\boldvectcommand{\mathbold}|. +% +% By setting |\boldvectcommand| to |\mathbf|, |\vect| produces vectors +% in bold \emph{upright} shape, % which tends to be used instead of bold \emph{italic} -% (but probably for bad reasons), . +% (but probably for bad reasons). % +% \medskip % \DescribeMacro{\arrowvect} -% It is possible at any moment to get back to default behavior with inverse switch +% At any moment, you can get back to the default behavior with the inverse switch % |\arrowvect|. These switches can be placed anywhere: % inside mathematical mode or inside an environment (with local effect) or outside % (with global effect). % +% \medskip % \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$) +% arrows can be set up a bit higher (with a vertical 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}|; +% obtained with |\hvect{u}|; % \item $\vect{a} \cdot \vect{b}=0$ is less than $\hvect{a} \cdot \vect{b}=0$, -% produced by |\hvect{a}|. +% obtained with |\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). -% +% The |\boldvect| switch has no effect on the |\hvect| macro which always typesets +% arrows on vectors (with the |\vv| command from \textsf{esvect} package). +% +% \medskip % \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}|; +% $\mathcal{P}=\vec{f}\cdot\hvec{v}$, obtained with |\hvec{v}|; % \item $\vec{f} =m \vec{a}$ is less than $\vec{f} =m \hvec{a}$, -% produced by |\hvec{a}|. +% obtained with |\hvec{a}|. % \end{itemize} % % \DescribeMacro{\norm} -% The norm of a vector is classically produced with delimiters |\lVert| and |\rVert| +% The norm of a vector is classically produced by 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, @@ -302,7 +322,7 @@ % 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. +% but however to context: main text, subscripts or exponents. % % \subsection{Standard operator names} % @@ -310,10 +330,10 @@ % 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): \\ +% To get this, use the |\di| command. +% In the first following example, notice the thin spaces before the d, +% as for classic function's names; in the second one, +% spaces before fractions have been enlarged by the \textsf{mathfixs} package: \\ % \begin{minipage}[t]{7cm} % \begin{verbatim} %\[ \iint xy\di x\di y \] @@ -333,32 +353,34 @@ % \[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}: +% This command can also stand for \emph{distance} (hence its name): % \[\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|. +% To refer to probability\footnote{\LaTeX\ provides +% also \texttt{\bslash Pr} which gives $\Pr$.} +% and expectation the proper use is to typeset capital letters $\P$, $\E$ +% in upright shape as for any standard function identifier. +% This is obtained with |\P| and |\E|. +% Variance is normally denoted by $\Var$ (see further), +% but in some countries we can find $\V$ produced by |\V|. % +% \medskip % \DescribeMacro{\Par} -% |\P| command already existed to refer to the end of paragraph symbol \Par\ +% The |\P| command already existed to refer to the end of paragraph symbol \Par\ % and has been redefined, but this symbol can still be obtained with |\Par|. % +% \medskip % \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 +% Some authors use ``blackboard bold'' font +% to represent probability, expectation and variance: $\mathbb{P}, \mathbb{E}, \mathbb{V}$. +% The |\probastyle| macro sets the appearance of |\P|, |\E| and |\V|: +% for instance |\renewcommand\probastyle{\mathbb}|\footnote{As for % \texttt{\bslash boldvect} and \texttt{\bslash arrowvect}, -% effect is local to container environment.}. +% effect is local to the container environment.} +% brings the previous ``openwork'' letters. % |\mathbb| comes from \textsf{amsfonts} package -% (automatically loaded by \textsf{amssymb} +% (loaded by \textsf{amssymb} % but also available standalone) % which has to be called in the preamble. % @@ -379,22 +401,25 @@ % % 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: +% When |\boldvect| is activated, they are typeset in bold style: % $\boldvect \grad, \curl, \rot$. -% For covariance and identity function, \textsf{mismath} -% provides two notations, with or without a first capital letter, +% For the covariance and the identity function, +% two notations are provided, 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. +% On the other hand, ``$\im$'' stands for the image of a linear transformation +% (like ``$\ker$'' for the kernel) +% but ``$\Im$'' is the imaginary part of a complex number. +% Notice that |\div| and |\span| already exist +% and haven't been redefined, therefore |\divg| and |\spa| macros; +% |\Z| is used otherwise (see further), therefore |\Zu|, +% to designate the center of a group: $\Zu(G)$ (from German Zentrum). % +%\medskip % \DescribeMacro{\oldRe} \DescribeMacro{\oldIm} -% |\Re| and |\Im| macros already existed, to refer to real and imaginary part +% The |\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. +% but it's still possible to get old symbols with |\oldRe| and |\oldIm|. % % \medskip % Some (inverse) circular or hyperbolic fonctions, missing @@ -410,15 +435,15 @@ % \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).\] +% \[ 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}; +% ``openwork'' letters ($\mathbb{R}, \mathbb{Z}, \ldots$) +% being restricted to writing at blakboard~\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} @@ -426,39 +451,40 @@ % \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). +% The |\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 one prefer openwork letters, +% just place |\renewcommand\mathset{\mathbb}| in the preamble, +% after loading \textsf{amsfonts} package (which provides the ``blackboard bold'' typeface, +% also loaded by \textsf{amssymb}). % % \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: +% The |\displaystyle| command being very frequent, common alias |\ds| is provided. +% Not only it eases typing but also it makes source code more readable. +% +% \medskip +% Symbols with limits behave differently for in-line formulas or for displayed equations. +% In the latter case, ``limits'' are put under or above whereas for in-line math mode, +% they are placed on the right, as 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|. +% \DescribeMacro{\dlim} \DescribeMacro{\dsum} \DescribeMacro{\dprod} +% \DescribeMacro{\dcup} \DescribeMacro{\dcap} +% With in-line math mode, displaymath behavior can be forced with |\displaystyle| +% or its alias |\ds|, but then, all the rest of the current mathematical +% environment will be set in displaymath mode too (in the previous example, +% the fraction will be expanded). +% Just like the \textsf{amsmath} command |\dfrac| +% only transforms the required fraction in display style, to limit +% display style effect to the affected symbol, one can use the following macros: +% |\dlim|, |\dsum|, |\dprod|, |\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 +% Large bars over expressions are obtained with |\overline| +% or, shorter, its alias |\lbar|, to get for instance $\lbar{z_1z_2}$. +% Such as for vectors, one 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'}$, @@ -466,16 +492,16 @@ % \end{center} % % \DescribeMacro{\eqdef} -% |\eqdef| macro writes equality symbol topped with ``def'' -% (thanks to \LaTeX\ command |\stackrel|):\\ +% The |\eqdef| macro writes equality symbol topped with ``def'' +% (thanks to the \LaTeX\ command |\stackrel|):\\ % \begin{minipage}[t]{8cm} % \begin{verbatim} -% $ e^{i\theta} \eqdef +% $ \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$ +% $\e^{i\theta}\eqdef\cos\theta+i\sin\theta$ % \end{minipage} % % \DescribeMacro{\unbr} @@ -483,7 +509,7 @@ % 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] +% it is loaded by \textsf{mismath}.}, making source code more compact.\\[2ex] % \begin{minipage}{6.75cm} % \begin{verbatim} %$ (QAP)^n = \unbr{QAP\mul QAP\mul @@ -493,58 +519,60 @@ % \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{\iif} +% |\iif| is an alias for ``\iif'', to be used in text mode. +% +% \subsection{Improving some spacings in mathematical formulas} % % \DescribeMacro{\mul} -% Multiplication symbol obtained with |\times| produces the same spacing than addition +% The 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|: +% This is why we provide the |\mul| macro, behaving like $/$ +% (ordinary symbol) and leaving 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: +% The |\then| macro produces the symbol $\Longrightarrow$ surrounded by large spaces +% as the standard macro |\iff| does it with $\Longleftrightarrow$. +% In a similar way, |\txt| \DescribeMacro{\txt} +% based on the |\text| macro (from the \textsf{amstext} package, +% automatically loaded by \textsf{amsmath}), +% leaves em quad spaces (|\quad|) around the text. See the following example: % \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$ +% |\ln x=a\then x=\e^a \txt{rather than} \ln x=a\Longrightarrow x=\e^a| \\[1ex] +% $ \ln x=a \then x=\e^a \txt{rather than} \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}.\] +% \meta{expr} between parentheses and puts the exponent \meta{pow} +% slightly closer to the right 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 +% the |\abs|\{\ldots\} command 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:\\ +% This macro behaves like |\frac|\footnote{\texttt{\bslash frac} is redefined +% by \textsf{mathfixs} package to produce better surrounding space.} +% but with medium spaces around the arguments, +% so the corresponding fraction bar is perceptibly a little bit longer:\\ % \begin{minipage}[t]{8cm} % \begin{verbatim} %\[ \lbar{Z} = @@ -570,16 +598,16 @@ % 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, +% (because these symbols 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 +% into delimiters with |\left| and |\right|\footnote{Is \LaTeX\ 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} +% \subsection{Environments for systems of equations and small matrices} % % \DescribeEnv{system} -% To produce a system of equations, \textsf{mismath} provides \texttt{system} environment:\\ +% The \texttt{system} environment produces a system of equations:\\ % \begin{minipage}[t]{6.5cm} % \begin{verbatim} %$\begin{system} @@ -591,10 +619,22 @@ % \[ \begin{system} x=1+2t \\ y=2-t \\z=-3-t \end{system} \] % \end{minipage} % +% \medskip +% \DescribeMacro{\systemsep} +% This first example could also have been 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| enables to set the gap between the bracket and the expressions, +% set by default to |\medspace|. This gap may be reduce, for instance: +% |\renewcommand{\systemsep}{\thinspace}|, +% or enlarged with |\thickspace| (and with |\renewcommand\systemsep}{}| +% we get back to what \texttt{cases} do). +% +% \medskip % \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 +% specifying their alignment, with the same syntax than the \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} @@ -612,62 +652,56 @@ % \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} +% This spacing may be changed 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 +% In addition we can use 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\}} +% Another example with |\begin{system}[rl@{\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) +% \begin{system}[rl@{\quad}l] +% x+3y+5z&=0 & R_1\\ 2x+2y-z&=3 & R_2\\ 3x-y+z&=2 & 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) +% \begin{system}[rl@{\quad}l] +% x+3y+5z&=0 & R_1\\ +% 4y+11z&=3 & R_2 \gets 2R_1-R_2 \\ +% 5y+7z&=-1 & R_3 \gets \frac{1}{2}\left(3R_1-R_3\right) % \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). % +% Let's mention the \textsf{systeme} package~\cite{SYST} which deals with linear systems +% with a lighter syntax and automatic alignments on $+$, $-$, $=$, +% and also the \textsf{spalign} package~\cite{SPAL} which moreover produces nice alignments +% for matrices (with spaces and semicolons as delimiters). +% % \medskip % \DescribeEnv{spmatrix} % \textsf{amsmath} package provides various environments to typeset matrices: -% for instance \texttt{pmatrix} that automatically puts parenthesis around the matrix +% for instance \texttt{pmatrix} that surrounds the matrix with parenthesis % 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 +% in a text line. We provide a combination of the two with \texttt{spmatrix}:\\ +% |$\vec{u}\begin{spmatrix}-1\\2\end{spmatrix}$| yielding % $\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}, +% Furthermore, 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} +% \subsection{Displaymath in double columns} % % \DescribeEnv{mathcols} -% \texttt{mathcols} environment activates mathematical mode and enables to compose ``long'' -% calculation on two columns, separated with a central line, +% \texttt{mathcols} environment activates mathematical mode and enables to arrange ``long'' +% calculation in double columns, separated with a central rule, % 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. +% But you have to load \textsf{multicol} package in the preamble. % \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 \\ @@ -680,8 +714,9 @@ % \end{mathcols} % % \DescribeMacro{\changecol} -% Aligment is produced using classic |&| and |\\| and -% |\changecol| macro causes a change of column. +% The |\changecol| macro causes a change of column; +% aligment is produced using classic delimiters |&| and |\\|. +% % \begin{verbatim} %\begin{mathcols} % & \frac{1}{2 \mul \pow{\frac{1}{4}}{n} + 1} \geq 0.999 \\ @@ -706,26 +741,32 @@ \RequirePackage{ifthen} \RequirePackage{xspace} \RequirePackage{mathtools} +\RequirePackage[frac,root]{mathfixs} % \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. +% The three following internal commands are meta commands for a +% conditional macro definition with warning message if the macro already exists. +% \DescribeMacro{\bslash} +% The |\bslash| macro used inside |\@mwarning| comes from \textsf{doc.sty} package +% by Frank Mittelbach. It can also be used in other documents instead of |\textbackslash| +% (which doesn't work here). % \begin{macrocode} +{\catcode`\|=\z@ \catcode`\\=12 |gdef|bslash{\}} % the \bslash command \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 \ + Command \bslash #1 already exist and will not be redefined + } } \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}{}}{ +\newcommand\@moperator[3][]{% this macro is ugly, TODO: by default #1=#3 + \ifthenelse{\equal{#1}{}}{ \@ifundefined{#3}{ \DeclareMathOperator{#2}{#3} }{\@mwarning{#3}} @@ -736,21 +777,21 @@ } } -\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). +% To work correctly with the \textsf{beamer} package, we did not use |\mathrm| +% but |\mathup| (based on |\operatorfont| from \textsf{mathopn} package) +% 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), +% the family default font defined by \textsf{beamer} package (sans serif), % therefore the |\AtBeginDocument| inside the macro (otherwise it has no effect). % The same holds for |\inumber| and |\jnumber|. +% +% |\AtBeginDocument| is also necessary to redefine |\i| when calling \textsf{hyperref} package +% which overwrites the |\i| definition. +% +% \medskip % \begin{macrocode} \providecommand{\mathup}[1]{{\operatorfont #1}} \@mmacro{e}{\mathup{e}} @@ -758,6 +799,8 @@ \renewcommand{\i}{\TextOrMath{\oldi}{\mathup{i}}} \renewcommand{\j}{\TextOrMath{\oldj}{\mathup{j}}} } + +\DeclareSymbolFont{up}{\encodingdefault}{\familydefault}{m}{n} \newcommand{\enumber}{ \AtBeginDocument{\DeclareMathSymbol{e}\mathalpha{up}{`e}} } @@ -861,6 +904,7 @@ \@mmacro{ds}{\displaystyle} \@mmacro{dlim}{\lim\limits} \@mmacro{dsum}{\sum\limits} +\@mmacro{dprod}{\prod\limits} \@mmacro{dcup}{\bigcup\limits} \@mmacro{dcap}{\bigcap\limits} \@mmacro{lbar}{\overline} @@ -910,7 +954,7 @@ } % \end{macrocode} % -% \begin{thebibliography}{14} +% \begin{thebibliography}{17} % \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}.\\ @@ -923,6 +967,7 @@ % 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{MFIX} \emph{The \textsf{mathfixs} Package}. Niklas Beisert, CTAN, v1.01 2018/12/30. % \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, @@ -933,6 +978,9 @@ % 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{SYST} \emph{L'extension pour \TeX\ et \LaTeX\ \textsf{systeme}}. Christian Tellechea, +% CTAN v0.32 2019/01/13. +% \bibitem{SPAL} \emph{The \textsf{spalign} package}. Joseph Rabinoff, CTAN, 2016/10/05. % \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. |