texlive[52840] Master/texmf-dist: mathastext (17nov19)

commits+karl at tug.org commits+karl at tug.org
Sun Nov 17 23:33:58 CET 2019


Revision: 52840
          http://tug.org/svn/texlive?view=revision&revision=52840
Author:   karl
Date:     2019-11-17 23:33:58 +0100 (Sun, 17 Nov 2019)
Log Message:
-----------
mathastext (17nov19)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/mathastext/ChangeLog.md
    trunk/Master/texmf-dist/doc/latex/mathastext/README.md
    trunk/Master/texmf-dist/doc/latex/mathastext/mathastext.pdf
    trunk/Master/texmf-dist/doc/latex/mathastext/mathastexttestalphabets.pdf
    trunk/Master/texmf-dist/source/latex/mathastext/mathastext.dtx
    trunk/Master/texmf-dist/tex/latex/mathastext/mathastext.sty

Added Paths:
-----------
    trunk/Master/texmf-dist/doc/latex/mathastext/INSTALL.txt
    trunk/Master/texmf-dist/doc/latex/mathastext/mathastext.tex
    trunk/Master/texmf-dist/doc/latex/mathastext/mathastexttestalphabets.tex
    trunk/Master/texmf-dist/doc/latex/mathastext/mathastexttestmathversions.tex
    trunk/Master/texmf-dist/doc/latex/mathastext/mathastexttestunicodelinux.tex
    trunk/Master/texmf-dist/doc/latex/mathastext/mathastexttestunicodemacos.tex

Removed Paths:
-------------
    trunk/Master/texmf-dist/source/latex/mathastext/INSTALL.txt

Modified: trunk/Master/texmf-dist/doc/latex/mathastext/ChangeLog.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/mathastext/ChangeLog.md	2019-11-17 22:32:31 UTC (rev 52839)
+++ trunk/Master/texmf-dist/doc/latex/mathastext/ChangeLog.md	2019-11-17 22:33:58 UTC (rev 52840)
@@ -1,6 +1,32 @@
 MATHASTEXT CHANGE LOG
 =====================
 
+1.3w \[2019/11/16\]
+----
+
+* LaTeX 2019-10-01 release (up to patch level 3 inclusive)
+  together with `amsmath` conspired `:-)` to break `mathastext`,
+  in connexion with math accents. This has been fixed upstream,
+  but I am releasing nevertheless a hot fix to this
+  https://github.com/latex3/latex2e/issues/216 issue
+  (this is compatible with future LaTeX releases).
+
+* Fix: the `\hbar` is originally a robust command but
+  becomes a `\mathchardef` token if (e.g.) `amsfonts` is
+  loaded and then with recent LaTeX `\hbar<space>` is
+  made undefined and `mathastext` definition of it
+  remained without effect. The `\mathastext` own `\hbar`
+  is now defined `\protected`.
+
+* Fix: option `noendash` (or `symboldelimiters` which implies
+  it) caused (since `1.3u`) a bug under Unicode engines when
+  setting up the minus sign.
+
+* Version names declared via the optional argument of
+  `\Mathastext` or as first argument of `\MTDeclareVersion`
+  must not be `normal` or `bold`. Enforce that! (this was
+  marked as a bug to fix since `2012/10/24`...)
+
 1.3v \[2019/09/19\]
 ----
 

Added: trunk/Master/texmf-dist/doc/latex/mathastext/INSTALL.txt
===================================================================
--- trunk/Master/texmf-dist/doc/latex/mathastext/INSTALL.txt	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/mathastext/INSTALL.txt	2019-11-17 22:33:58 UTC (rev 52840)
@@ -0,0 +1,38 @@
+The simplest for most users is to use the manager script of the TeX
+installation to either install or upgrade mathastext to its current
+version.
+
+Else, download mathastext.dtx and follow these instructions:
+
+- Run tex or etex on mathastext.dtx to generate the package style
+  file mathastext.sty as well as additional files:
+
+  mathastext.tex, README.md, ChangeLog.md, and some test files.
+
+- Move the style file mathastext.sty to a location where TeX can
+  find it. In a TDS compliant hierarchy this will be
+
+      <TDS>:tex/latex/mathastext/mathastext.sty
+
+For the documentation:
+
+- Follow the above steps, then run latex thrice on mathastext.tex
+  then dvipdfmx on mathastext.dvi. The file mathastext.tex can be
+  customized to change the font size or set other options therein.
+  The produced file mathastext.pdf will by default include the
+  commented source code.
+
+It is also possible to run pdflatex (thrice) directly on mathastext.dtx.
+In that case mathastext.pdf is produced without the commented source code.
+
+One can NOT use lualatex or xelatex to compile the documentation.
+
+The test files
+
+    mathastexttestmathversions.tex
+    mathastexttestunicodemacos.tex
+    mathastexttestunicodelinux.tex
+    mathastexttestalphabets.tex
+
+illustrate some features of the package and are an addendum to the
+main documentation mathastext.pdf.


Property changes on: trunk/Master/texmf-dist/doc/latex/mathastext/INSTALL.txt
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/doc/latex/mathastext/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/mathastext/README.md	2019-11-17 22:32:31 UTC (rev 52839)
+++ trunk/Master/texmf-dist/doc/latex/mathastext/README.md	2019-11-17 22:33:58 UTC (rev 52840)
@@ -14,7 +14,7 @@
 
 Copyright (C) 2011-2019 Jean-Francois Burnol (`jfbu at free dot fr`)
 
-      Source: mathastext.dtx 1.3v 2019/09/19
+      Source: mathastext.dtx 1.3w 2019/11/16
 
 
 DESCRIPTION
@@ -82,6 +82,32 @@
 RECENT CHANGES
 ==============
 
+1.3w \[2019/11/16\]
+----
+
+* LaTeX 2019-10-01 release (up to patch level 3 inclusive)
+  together with `amsmath` conspired `:-)` to break `mathastext`,
+  in connexion with math accents. This has been fixed upstream,
+  but I am releasing nevertheless a hot fix to this
+  [issue](https://github.com/latex3/latex2e/issues/216)
+  (this is compatible with future LaTeX releases).
+
+* Fix: the `\hbar` is originally a robust command but
+  becomes a `\mathchardef` token if (e.g.) `amsfonts` is
+  loaded and then with recent LaTeX `\hbar<space>` is
+  made undefined and `mathastext` definition of it
+  remained without effect. The `\mathastext` own `\hbar`
+  is now defined `\protected`.
+
+* Fix: option `noendash` (or `symboldelimiters` which implies
+  it) caused (since `1.3u`) a bug under Unicode engines when
+  setting up the minus sign.
+
+* Version names declared via the optional argument of
+  `\Mathastext` or as first argument of `\MTDeclareVersion`
+  must not be `normal` or `bold`. Enforce that! (this was
+  marked as a bug to fix since `2012/10/24`...)
+
 1.3v \[2019/09/19\]
 ----
 

Modified: trunk/Master/texmf-dist/doc/latex/mathastext/mathastext.pdf
===================================================================
(Binary files differ)

Added: trunk/Master/texmf-dist/doc/latex/mathastext/mathastext.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/mathastext/mathastext.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/mathastext/mathastext.tex	2019-11-17 22:33:58 UTC (rev 52840)
@@ -0,0 +1,35 @@
+\def\MSTpkgdate    {2019/11/16}
+\def\MSTpkgversion {1.3w}
+%%----------------------------------------------------------------
+%% Package: mathastext
+%% Info:    Use the text font in math mode (JFB)
+%% Version: 1.3w 2019/11/16
+%% License: LPPL 1.3c (http://www.latex-project.org/lppl/lppl-1-3c.txt)
+%% Copyright (C) 2011-2019 Jean-Francois Burnol <jfbu at free dot fr>
+%% Examples of use of mathastext:
+%%        http://jf.burnol.free.fr/mathastext.html
+%%        http://jf.burnol.free.fr/showcase.html
+%%----------------------------------------------------------------
+%% This is a generated file. Run latex thrice on this file mathastext.tex then
+%% run dvipdfmx on mathastext.dvi to produce the documentation mathastext.pdf,
+%% with the package source code included.
+%%
+%% Customize as desired the class options and the two toggles below.
+%%
+%% See mathastext.dtx for the copyright and the conditions for distribution
+%% and/or modification of this work.
+%%
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesFile{mathastext.tex}%
+[\MSTpkgdate\space v\MSTpkgversion\space
+       driver file for mathastext documentation (JFB)]%
+\PassOptionsToClass{a4paper,fontsize=11pt}{scrdoc}
+\chardef\Withdvipdfmx 1 % replace 1<space> by 0<space> for using latex/pdflatex
+\chardef\NoSourceCode 0 % replace 0<space> by 1<space> for no source code
+\input mathastext.dtx
+%%% Local Variables:
+%%% mode: latex
+%%% End:
+\endinput
+%%
+%% End of file `mathastext.tex'.


Property changes on: trunk/Master/texmf-dist/doc/latex/mathastext/mathastext.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/doc/latex/mathastext/mathastexttestalphabets.pdf
===================================================================
(Binary files differ)

Added: trunk/Master/texmf-dist/doc/latex/mathastext/mathastexttestalphabets.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/mathastext/mathastexttestalphabets.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/mathastext/mathastexttestalphabets.tex	2019-11-17 22:33:58 UTC (rev 52840)
@@ -0,0 +1,264 @@
+\def\testfileincipit{Test file to accompany \texttt{mathastext}
+version \texttt{1.3w} of \texttt{2019/11/16}}
+%%----------------------------------------------------------------
+%% Package: mathastext
+%% Info:    Use the text font in math mode (JFB)
+%% Version: 1.3w 2019/11/16
+%% License: LPPL 1.3c (http://www.latex-project.org/lppl/lppl-1-3c.txt)
+%% Copyright (C) 2011-2019 Jean-Francois Burnol <jfbu at free dot fr>
+%% Examples of use of mathastext:
+%%        http://jf.burnol.free.fr/mathastext.html
+%%        http://jf.burnol.free.fr/showcase.html
+%%----------------------------------------------------------------
+%% This file `mathastexttestalphabets.tex' is for testing the extended
+%% scope of the math alphabet commands with package `mathastext', via
+%% the package command \MTnonlettersobeymathxx.
+%%
+%% Compile either with latex, pdflatex, lualatex (pdf output) or xelatex.
+%%
+%% See `mathastext.dtx' for the copyright and conditions of distribution or
+%% modification.
+%%
+\documentclass{article}
+\usepackage[hscale=0.66, vscale=0.72]{geometry}
+\usepackage{amsmath}
+\usepackage{mathtools}\mathtoolsset{centercolon}
+%% WARNING THIS IS INCOMPATIBLE WITH BABEL+FRENCHB
+%% BUT WITH MATHASTEXT LOADED THIS IS CORRECTED
+%% *IF* \MTnonlettersobeymathxx IS MADE USE OF.
+\usepackage{iftex}
+\ifXeTeX
+\expandafter\def\expandafter\testfileincipit\expandafter
+ {\testfileincipit\ (compiled with \XeLaTeX)}
+\usepackage[no-math]{fontspec}
+\setmainfont[ExternalLocation,
+             Mapping=tex-text,
+             BoldFont=texgyretermes-bold,
+             ItalicFont=texgyretermes-italic,
+             BoldItalicFont=texgyretermes-bolditalic]{texgyretermes-regular}
+\setmonofont[ExternalLocation,
+             Mapping=tex-text]{texgyrecursor-regular}
+\setsansfont[ExternalLocation,
+             Mapping=tex-text]{texgyreheros-regular}
+\else
+\ifLuaTeX % for pdf output
+\expandafter\def\expandafter\testfileincipit\expandafter
+ {\testfileincipit\ (compiled with \LuaLaTeX)}
+\usepackage[no-math]{fontspec}
+\setmainfont[Ligatures=TeX]{TeX Gyre Termes}
+\setmonofont[Ligatures=TeX]{TeX Gyre Cursor}
+\setsansfont[Ligatures=TeX]{TeX Gyre Heros}
+\else
+\usepackage[utf8]{inputenc}
+\usepackage[T1]{fontenc}
+\usepackage{tgtermes}
+\usepackage{tgcursor}
+\usepackage{tgheros}
+\fi\fi
+\usepackage{metalogo} % must be loaded /after/ [no-math]fontspec
+\usepackage[french]{babel}
+\usepackage[italic,asterisk]{mathastext}
+\MTlettershape{n}\Mathastext[upright]
+\MTnonlettersobeymathxx
+\MTexplicitbracesobeymathxx
+\delimitershortfall-1pt
+\usepackage{color}
+\begin{document}
+\testfileincipit
+
+\begin{center}
+  \bfseries Two features of \texttt{mathastext}:\\
+extended scope of the math alphabets and added italic corrections\par
+\end{center}
+
+The package makes
+${!}\,{?}\,{,}\,{:}\,{;}\,{+}\,{-}\,{=}\,{(}\,{)}\,{[}\,{]}\,{<}\,{>}\,{\{}\,{\}}$,
+the asterisk $*$, and $.\,/\,\vert\,\backslash\,{\#}\,{\$}\,{\%}\,{\&}$ obey the
+math alphabet commands (this is the maximal list, some characters may have been
+excluded by the corresponding package options). For the characters listed first
+the mechanism involves a `mathematical activation'.
+
+As this process may create incompatibilities, it will be put into action
+for
+${!}\,{?}\,{,}\,{:}\,{;}\,{+}\,{-}\,{=}\,{(}\,{)}\,{[}\,{]}\,{<}\,{>}$
+only if the user makes use of the package command
+\verb|\MTnonlettersobeymathxx| (and the braces necessitate
+\verb|\MTexplicitbracesobeymathxx|).
+
+It could be that one such character has been made `active' in the entire
+document by some other package, typically a language definition file for the
+\verb|babel| system. Here for example we have used \verb|babel| with the
+\verb|french| option, which makes the high punctuation characters !?:; active
+throughout the document (extra spacing is put in front of the character when
+used in text; no change in math but perhaps for other languages and characters
+this could happen, it is up to the language definition file to decide).
+
+When \verb|mathastext| detects that a character it wants to `mathematically
+activate' is already `active', it does not go further except if it seems that
+the activation was done by Babel. If the activation was done by Babel, then
+\verb|mathastext| replaces the expansion of the active character in math mode by
+what is necessary to achieve its goal. It does not additionally mathematically
+activate the character; rather it makes sure that the character is \emph{not}
+mathematically active. In the present document the colon was made mathematically
+active by \verb|mathtools| but this was already canceled in the preamble by
+\verb|mathastext| as it was loaded later. And it is better so, because the
+combination \verb|babel| (with option \verb|frenchb|) +\verb|mathtools| (with
+\verb|centercolon|) makes \verb|$:$| create an infinite loop!
+
+But even if someone had mathematically activated the colon after the preamble,
+or after the loading of \verb|mathastext|, this would be canceled again
+automatically for each inline or displayed mathematical formula (if the user
+does \verb|\MTnonlettersobeymathxx|).
+
+The conclusion with \verb|\MTnonlettersobeymathxx| is: if some package has tried
+to make the character mathematically active, this will be overruled by
+\verb|mathastext|; if some package has made the character globally active, then
+the package wins except if it is Babel, as \verb|mathastext| may in the latter
+case safely modify the action in math mode (paying attention to the fact that
+the character should be usable in \verb|\label| and \verb|\ref| in and outside
+of math mode).
+
+The displayed equations next illustrate the extended scope of the math alphabets
+which now apply to $=$, $-$, $($, $)$, $[$, $]$ (but not to the large delimiters
+of course). Furthermore, for testing purposes the equations were labeled using
+such characters, for example the last one has label \verb|eq=7|, to check that
+the mathematical activation of $=$ does not cause problems with
+\verb|\label/\ref|.
+
+\def\testformula{\quad\Biggl\lbrace\biggl(\left(\left[[\sin(a) + \cos(b) - \log(c) =
+\sec(d)]\right]\right)\biggr)\Biggr\rbrace}
+\begin{equation}\testformula\label{eq:1}\end{equation}
+\begin{equation}\mathnormalbold{mathnormalbold:\testformula}\label{eq;2}\end{equation}
+\begin{equation}\mathrm{mathrm:\testformula}\label{eq?3}\end{equation}
+\begin{equation}\mathbf{mathbf:\testformula}\label{eq!4}\end{equation}
+\begin{equation}\mathit{mathit:\testformula}\label{eq(5}\end{equation}
+\begin{equation}\mathtt{mathtt:\testformula}\label{eq)6}\end{equation}
+\begin{equation}\mathsf{mathsf:\testformula}\label{eq=7}\end{equation}
+
+Equations above are numbered \ref{eq:1}, \ref{eq;2}, \ref{eq?3}, \ref{eq!4}, and
+$\ref{eq(5}$, $\ref{eq)6}$, and $\ref{eq=7}$.
+
+\def\testline#1{$#1$&$\mathnormalbold{#1}$&$\mathrm{#1}$&$\mathbf{#1}$&$\mathit{#1}$&$\mathtt{#1}$&$\mathsf{#1}$}
+
+\centerline{\begin{tabular}{ccccccc}
+\testline{a!b}\\
+\testline{a?b}\\
+\testline{a,b}\\
+\testline{a;b}\\
+\testline{a:b}\\
+\testline{a:=b}\\
+\testline{a\vcentcolon= b}\\
+\testline{a\colon b}\\
+\testline{a.b}\\
+\testline{a-b}\\
+\testline{a+b}\\
+\testline{a=b}\\
+\testline{a<b}\\
+\testline{a>b}\\
+\testline{<x,y>}\\
+\testline{\mathopen{<} x,y\mathclose{>}}\\
+\testline{\left< x,y\right>}\\
+\testline{a/b}\\
+\testline{a\backslash b}\\
+\testline{a\setminus b}\\
+\testline{a|b}\\
+\testline{a\mid b}\\
+\testline{(a,b)}\\
+\testline{[a,b]}\\
+\testline{\{a,b\}}
+\end{tabular}}
+
+The question mark has been made active by \verb|babel+frenchb|.
+\verb|mathastext| has imposed in math mode its ways (now \verb|$\mathbf{???}$|
+gives $\mathbf{???}$). As the extra spacing is added by \verb|frenchb| only in
+text, we had to use the math alphabet to check that indeed \verb|mathastext|
+overruled Babel.
+
+To double-check we will now make \string? mathematically active:
+\verb|\mathcode`?="8000|\mathcode`?="8000. This is a sure cause for disaster
+normally with Babel (don't do this at home without \verb|mathastext|!). But here
+with \verb|$?$| no bad surprise (infinite loop!) awaits us: just $?$.
+
+Let's take some other character, for example the opening parenthesis, and make
+it catcode active:
+\verb|\catcode`(=\active \def ({X}|.
+Let's try the input
+\verb|( and $($|.
+\begingroup
+\catcode`(=\active \gdef ({X}
+This gives ( and $($. We see that \verb|mathastext| does not attempt to modify
+the definition of the active character, as this activation was not done via the
+\verb|babel| services. \catcode`\(=12 \mathcode`(="8000 We now revert the
+parenthesis to catcode other (but maintain \verb|\def ({X}| as definition of its
+active version), and then make it mathematically active using the command
+\verb|\mathcode`(="8000|. If we try \verb|$((($| we see that the parenthesis is
+not converted into an $X$: $((($. The mathematically active character was
+overruled by \verb|mathastext|.
+
+Issuing \verb|\MTnonlettersdonotobeymathxx|\MTnonlettersdonotobeymathxx\ we do
+get the $X$'s from the input \verb|$((($|: $((($
+\endgroup
+This shows that \verb|mathastext| now does not modify in math mode the
+non-letter \verb|(|.
+
+\MTversion{upright}\MTnonlettersobeymathxx
+We defined in the preamble of the document a \verb|mathastext|-enhanced
+math version (named \verb|upright|) having the Latin letters upright in
+math mode. Let's switch to
+it: \newline
+\hbox to\linewidth{\hss\verb|\MTversion{upright}|\hss}
+
+With a font which is neither italic nor slanted, \verb|mathastext| automatically
+inserts italic corrections for better positioning of the subscript:
+\verb|$f_i^i$| gives
+$f_i^i$.
+After \verb|\MTnoicinmath| which turns off this feature\MTnoicinmath{}, the same
+input gives $f_i^i$, which is different.
+\footnote{last time I tried, this only worked with PDF\LaTeX{}, not with
+  \LuaLaTeX{} or \XeTeX{}.}
+
+Again with italic corrections on (\verb|\MTicinmath|)\MTicinmath{}
+\verb|$f_{abc}^{def}$| gives $f_{abc}^{def}$, and here is another one:
+$f^{f_{abc}^{def}}_u$. Without italic corrections\MTnoicinmath: $f_{abc}^{def}$,
+and respectively $f^{f_{abc}^{def}}_u$.
+
+\MTicinmath
+
+\verb|mathastext| does not add these italic corrections inside arguments of
+math alphabets, as this would prevent the formation of ligatures:
+$\mathnormal{ff}$, $\mathrm{ff}$, $\mathit{ff}$, $\mathbf{ff}$, $\mathtt{ff}$
+(no ligature in teletype) and $\mathsf{ff}$.\footnote{\llap{\textcolor{magenta}{\bfseries Changed!\kern3em}}Prior to 1.3i,
+  italic corrections were added to the \string\mathnormal\ arguments.}
+
+\centerline{\begin{tabular}{ccccccc}
+\testline{a!b}\\
+\testline{a?b}\\
+\testline{a,b}\\
+\testline{a;b}\\
+\testline{a:b}\\
+\testline{a:=b}\\
+\testline{a\vcentcolon= b}\\
+\testline{a\colon b}\\
+\testline{a.b}\\
+\testline{a-b}\\
+\testline{a+b}\\
+\testline{a=b}\\
+\testline{a<b}\\
+\testline{a>b}\\
+\testline{<x,y>}\\
+\testline{\mathopen{<} x,y\mathclose{>}}\\
+\testline{\left< x,y\right>}\\
+\testline{a/b}\\
+\testline{a\backslash b}\\
+\testline{a\setminus b}\\
+\testline{a|b}\\
+\testline{a\mid b}\\
+\testline{(a,b)}\\
+\testline{[a,b]}\\
+\testline{\{a,b\}}
+\end{tabular}}
+
+\end{document}
+\endinput
+%%
+%% End of file `mathastexttestalphabets.tex'.


Property changes on: trunk/Master/texmf-dist/doc/latex/mathastext/mathastexttestalphabets.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/mathastext/mathastexttestmathversions.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/mathastext/mathastexttestmathversions.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/mathastext/mathastexttestmathversions.tex	2019-11-17 22:33:58 UTC (rev 52840)
@@ -0,0 +1,42 @@
+\def\testfileincipit{Test file to accompany \texttt{mathastext}
+version \texttt{1.3w} of \texttt{2019/11/16}}
+%%----------------------------------------------------------------
+%% Package: mathastext
+%% Info:    Use the text font in math mode (JFB)
+%% Version: 1.3w 2019/11/16
+%% License: LPPL 1.3c (http://www.latex-project.org/lppl/lppl-1-3c.txt)
+%% Copyright (C) 2011-2019 Jean-Francois Burnol <jfbu at free dot fr>
+%% Examples of use of mathastext:
+%%        http://jf.burnol.free.fr/mathastext.html
+%%        http://jf.burnol.free.fr/showcase.html
+%%----------------------------------------------------------------
+%% This file `mathastexttestversions.tex' is for testing the enhanced
+%% concept of math versions provided by the package `mathastext'.
+%%
+%% See `mathastext.dtx' for the copyright and conditions of distribution or
+%% modification.
+%%
+\documentclass{article}
+\usepackage[T1]{fontenc}
+\usepackage{newcent}
+\usepackage[subdued]{mathastext}
+\Mathastext[newcent]
+\renewcommand\familydefault\ttdefault
+\Mathastext[courier]
+\renewcommand\familydefault\sfdefault
+\Mathastext[avantgarde]
+\renewcommand\familydefault\rmdefault
+\begin{document}
+\testfileincipit
+
+text in NewCentury and $math\ as\ in\ default$,%
+\MTversion{courier} text in Courier and $math\ in\ Courier$,%
+\MTversion{avantgarde} text in AvantGarde and $math\ in\ AvantGarde$,%
+\MTversion[newcent]{courier} text in NewCentury and $math\ in\
+Courier$,\MTversion{bold} text in bold NewCentury and $math\ as\ in\
+bold\ default$,\MTversion[courier]{avantgarde} text in Courier and
+$math\ in\ AvantGarde$.
+\end{document}
+\endinput
+%%
+%% End of file `mathastexttestmathversions.tex'.


Property changes on: trunk/Master/texmf-dist/doc/latex/mathastext/mathastexttestmathversions.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/mathastext/mathastexttestunicodelinux.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/mathastext/mathastexttestunicodelinux.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/mathastext/mathastexttestunicodelinux.tex	2019-11-17 22:33:58 UTC (rev 52840)
@@ -0,0 +1,119 @@
+\def\testfileincipit{Test file to accompany \texttt{mathastext}
+version \texttt{1.3w} of \texttt{2019/11/16}}
+%%----------------------------------------------------------------
+%% Package: mathastext
+%% Info:    Use the text font in math mode (JFB)
+%% Version: 1.3w 2019/11/16
+%% License: LPPL 1.3c (http://www.latex-project.org/lppl/lppl-1-3c.txt)
+%% Copyright (C) 2011-2019 Jean-Francois Burnol <jfbu at free dot fr>
+%% Examples of use of mathastext:
+%%        http://jf.burnol.free.fr/mathastext.html
+%%        http://jf.burnol.free.fr/showcase.html
+%%----------------------------------------------------------------
+%% This file `mathastexttestunicodelinux.tex' is for testing the use
+%% of the package `mathastext' with the unicode engines XeTeX or LuaLaTeX.
+%%
+%% Fonts which were available on a Linux machine are used. Beware that
+%% compilation with LuaLaTeX will abort with errors if specified fonts do not
+%% exist on your system.
+%%
+%% See `mathastext.dtx' for the copyright and conditions of distribution or
+%% modification.
+%%
+\documentclass{article}
+\usepackage[hscale=0.8]{geometry}
+\usepackage{multicol}
+\usepackage[no-math]{fontspec}
+\usepackage{lmodern}
+\usepackage{metalogo}
+\usepackage{iftex}
+\ifXeTeX
+\expandafter\def\expandafter\testfileincipit\expandafter
+ {\testfileincipit\ (compiled with \XeLaTeX)}
+\else
+\ifLuaTeX
+\expandafter\def\expandafter\testfileincipit\expandafter
+ {\testfileincipit\ (compiled with \LuaLaTeX)}
+\fi\fi
+\usepackage[subdued,italic,asterisk]{mathastext}
+\setmainfont[Color=999999]{Verdana}      \Mathastext[Verdana]
+\setmainfont[Color=0000FF]{Arial}        \Mathastext[Arial]
+\setmainfont[Color=00C000]{DejaVu Serif} \Mathastext[DejaVu]
+\setmainfont[Color=FF0000]{Andale Mono}  \Mathastext[Andale]
+%% commented out as these fonts do not exist anymore on the Linux box
+%% I have access to (test last done 2016/01/15)
+%%\setmainfont[Color=C000C0]{URW Chancery L}    \Mathastext[Chancery]
+%%\setmainfont[Color=800080]{URW Palladio L}    \Mathastext[Palladio]
+\setmainfont[Color=808000]{Liberation Serif}  \Mathastext[Liberation]
+\MTDeclareVersion{Times}{T1}{ptm}{m}{n}
+\begin{document}
+\MTversion{normal}
+\testfileincipit
+
+This test uses \verb|mathastext| with its \emph{italic}, \emph{asterisk}, and
+\emph{subdued} options. The base document fonts are the Latin Modern ones (in
+OpenType format). The other OpenType fonts were chosen from those available on
+a Linux machine. We also used the Times font in traditional \TeX\ font T1
+encoding, to demonstrate the removal since release \texttt{1.3u} of a former
+limitation that all math versions had to share the same font encoding, else
+some characters such as the dotless \texttt{i} ($\imath$), or the minus sign
+could well vanish from the output in the non-normal math versions.
+
+Furthermore we test (last line of each block, on the left) if the non-letter
+characters obey the math alphabet \verb|\mathbf|. In the normal and bold math
+versions, this feature is de-activated, as option \emph{subdued} was used; and
+if activated we should then use in these math versions the package
+\verb|\Mathbf| rather than \verb|\mathbf| which is there still the original
+one, which will use encoding \verb|OT1| in the normal and bold versions, as we
+loaded \verb|fontspec| with its option \emph{no-math}.
+
+Some among the fonts tested have no bold variant or no italic variant.
+
+Note: the two unicode engines \XeLaTeX\ and \LuaLaTeX\ give likely not fully
+identical results particularly for the math mode. At least this is what I
+observed regularly over the years with the variant of this file prepared for
+fonts available on Mac OS, which is my main system where I develop
+|\mathastext|. Lastly for example (TL2019, august 2019), \LuaLaTeX\ could not
+find the bold variant of some system font, but \XeLaTeX\ did. And the spacing
+for the letters of the Didot font was vastly different between the two
+engines.
+
+\newcommand\TEST[1]{\MTversion{#1}\def\tmpa{#1}%
+  \def\tmpb{normal}\def\tmpc{bold}%
+  \ifx\tmpa\tmpb\else\ifx\tmpa\tmpc\else \MTnonlettersobeymathxx
+  \MTexplicitbracesobeymathxx\fi\fi
+\begin{multicols}{2}
+\hbox to\columnwidth{\hbox to\columnwidth{\hfil
+                $abcdefghijklmnopqrstuvwxyz$\hfil}\kern-2.5em{#1}}
+   \centerline{ $ABCDEFGHIJKLMNOPQRSTUVWXYZ$ }
+   \centerline{ $0123456789$ }
+   \centerline{ $!\,?\,*\,,\,.\,:\,;\,+\,-\,=\,(\,)\,[\,]\,/\,\#\,%
+   \$\,\%\,\&\,<\,>\,|\,\{\,\}\,\backslash$ }
+   \centerline{ $\mathbf{!\,?\,*\,,\,.\,:\,;\,+\,-\,=\,(\,)\,[\,]\,/\,\#\,%
+   \$\,\%\,\&\,<\,>\,|\,\{\,\}\,\backslash}$ }
+\columnbreak
+   \centerline{ abcdefghijklmnopqrstuvwxyz }
+   \centerline{ ABCDEFGHIJKLMNOPQRSTUVWXYZ }
+   \centerline{ 0123456789}
+   \centerline{ !\,?\,*\,,\,.\,:\,;\,+\,-\,=\,(\,)\,[\,]\,/\,\#\,%
+   \$\,\%\,\&\,<\,>\,|\,\{\,\}\,\char92 }
+   \centerline{\bfseries !\,?\,*\,,\,.\,:\,;\,+\,-\,=\,(\,)\,[\,]\,/\,\#\,%
+   \$\,\%\,\&\,<\,>\,|\,\{\,\}\,\char92 }
+\end{multicols}}
+\begin{multicols}{2}
+   \centerline{\textbf{math mode}}
+\columnbreak
+   \centerline{ \textbf{text} }
+\end{multicols}
+\TEST{DejaVu}
+\TEST{Verdana}
+\TEST{Andale}
+%%\TEST{Palladio}
+\TEST{Arial}
+%%\TEST{Chancery}
+\TEST{Liberation}
+\TEST{bold}\TEST{normal}\TEST{Times}
+\end{document}
+\endinput
+%%
+%% End of file `mathastexttestunicodelinux.tex'.


Property changes on: trunk/Master/texmf-dist/doc/latex/mathastext/mathastexttestunicodelinux.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/mathastext/mathastexttestunicodemacos.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/mathastext/mathastexttestunicodemacos.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/mathastext/mathastexttestunicodemacos.tex	2019-11-17 22:33:58 UTC (rev 52840)
@@ -0,0 +1,118 @@
+\def\testfileincipit{Test file to accompany \texttt{mathastext}
+version \texttt{1.3w} of \texttt{2019/11/16}}
+%%----------------------------------------------------------------
+%% Package: mathastext
+%% Info:    Use the text font in math mode (JFB)
+%% Version: 1.3w 2019/11/16
+%% License: LPPL 1.3c (http://www.latex-project.org/lppl/lppl-1-3c.txt)
+%% Copyright (C) 2011-2019 Jean-Francois Burnol <jfbu at free dot fr>
+%% Examples of use of mathastext:
+%%        http://jf.burnol.free.fr/mathastext.html
+%%        http://jf.burnol.free.fr/showcase.html
+%%----------------------------------------------------------------
+%% This file `mathastexttestunicodemacos.tex' is for testing the use
+%% of the package `mathastext' with the unicode engines XeTeX or LuaLaTeX.
+%%
+%% Mac OS X specific fonts are used (initially tested on 10.8.2).
+%%
+%% See `mathastext.dtx' for the copyright and conditions of distribution or
+%% modification.
+%%
+\documentclass{article}
+\usepackage[hscale=0.85]{geometry}
+\usepackage{multicol}
+\usepackage[no-math]{fontspec}
+\usepackage{lmodern}
+\usepackage{metalogo}
+\usepackage{iftex}
+\ifXeTeX
+\expandafter\def\expandafter\testfileincipit\expandafter
+ {\testfileincipit\ (compiled with \XeLaTeX)}
+\else
+\ifLuaTeX
+\expandafter\def\expandafter\testfileincipit\expandafter
+ {\testfileincipit\ (compiled with \LuaLaTeX)}
+\fi\fi
+\usepackage[subdued,italic,asterisk]{mathastext}
+\setmainfont[Color=FF0000]{Hoefler Text}  \Mathastext[Hoefler]
+\setmainfont[Color=336633]{American Typewriter}\Mathastext[Typewriter]
+\setmainfont[Color=0000FF]{Herculanum}    \Mathastext[Herculanum]
+\setmainfont[Color=FF00FF]{Didot}         \Mathastext[Didot]
+\setmainfont[Color=999999]{Comic Sans MS} \Mathastext[Comic]
+\MTDeclareVersion{Times}{T1}{ptm}{m}{n}
+\begin{document}
+\MTversion{normal}
+\testfileincipit
+
+This test uses \verb|mathastext| with its \emph{italic}, \emph{asterisk}, and
+\emph{subdued} options. The base document fonts are the Latin Modern ones (in
+OpenType format). The other OpenType fonts were chosen from those available on
+a Mac OS machine. We also used the Times font in traditional \TeX\ font T1
+encoding, to demonstrate the removal since release \texttt{1.3u} of a former
+limitation that all math versions had to share the same font encoding, else
+some characters such as the dotless \texttt{i} ($\imath$), or the minus sign
+could well vanish from the output in the non-normal math versions.
+
+Furthermore we test (last line of each block, on the left) if the non-letter
+characters obey the math alphabet \verb|\mathbf|. In the normal and bold math
+versions, this feature is de-activated, as option \emph{subdued} was used; and
+if activated we should then use in these math versions the package
+\verb|\Mathbf| rather than \verb|\mathbf| which is there still the original
+one, which will use encoding \verb|OT1| in the normal and bold versions, as we
+loaded \verb|fontspec| with its option \emph{no-math}.
+
+Some among the fonts tested have no bold variant or no italic variant.
+
+Note (tested 2013/09/03): for some reason the \verb|Color| specifications in the
+\verb|\setmainfont| commands work only
+with \XeLaTeX{}, not with \LuaLaTeX{}; a few months back I had not noticed
+such a difference between the two engines.
+
+Update (tested 2016/01/15 with reasonably up-to-date TL2015): \verb|Color|
+spec in use of \verb|\setmainfont| command now functional again with
+\LuaLaTeX.
+
+Note (tested 2019/08/11, reasonably up-to-date TL2019): spacing with the Didot
+font differs widely between \XeLaTeX\ and \LuaLaTeX{} (perhaps related to
+italic corrections, see the package documentation), and also it seems
+\LuaLaTeX{} will not find (from our generic usage of the \verb|fontspec|
+interface, at least) bold variants of the Hoefler Text and American Typewriter
+fonts, contrarily to \XeLaTeX. Also, the \emph{italic} option remains
+seemingly without effect with \LuaLaTeX{} in the case of the Hoefler Text font
+(see the package source code comments on some problems with the two ``modes''
+for text fonts under \LuaLaTeX, which may be related with this specific issue
+here).
+
+\newcommand\TEST[1]{\MTversion{#1}\def\tmpa{#1}%
+  \def\tmpb{normal}\def\tmpc{bold}%
+  \ifx\tmpa\tmpb\else\ifx\tmpa\tmpc\else \MTnonlettersobeymathxx
+  \MTexplicitbracesobeymathxx\fi\fi
+\begin{multicols}{2}
+\hbox to\columnwidth{\hbox to\columnwidth{\hfil
+                $abcdefghijklmnopqrstuvwxyz$\hfil}\kern-2.5em{#1}}
+   \centerline{ $ABCDEFGHIJKLMNOPQRSTUVWXYZ$ }
+   \centerline{ $0123456789$ }
+   \centerline{ $!\,?\,*\,,\,.\,:\,;\,+\,-\,=\,(\,)\,[\,]\,/\,\#\,%
+   \$\,\%\,\&\,<\,>\,|\,\{\,\}\,\backslash$ }
+   \centerline{ $\mathbf{!\,?\,*\,,\,.\,:\,;\,+\,-\,=\,(\,)\,[\,]\,/\,\#\,%
+   \$\,\%\,\&\,<\,>\,|\,\{\,\}\,\backslash}$ }
+\columnbreak
+   \centerline{ abcdefghijklmnopqrstuvwxyz }
+   \centerline{ ABCDEFGHIJKLMNOPQRSTUVWXYZ }
+   \centerline{ 0123456789 }
+   \centerline{ !\,?\,*\,,\,.\,:\,;\,+\,-\,=\,(\,)\,[\,]\,/\,\#\,%
+   \$\,\%\,\&\,<\,>\,|\,\{\,\}\,\char92 }
+   \centerline{\bfseries !\,?\,*\,,\,.\,:\,;\,+\,-\,=\,(\,)\,[\,]\,/\,\#\,%
+   \$\,\%\,\&\,<\,>\,|\,\{\,\}\,\char92 }
+\end{multicols}}
+\begin{multicols}{2}
+   \centerline{\textbf{math mode}}
+\columnbreak
+   \centerline{ \textbf{text} }
+\end{multicols}
+\TEST{Didot}\TEST{Comic}\TEST{normal}\TEST{Herculanum}
+\TEST{Hoefler}\TEST{Typewriter}\TEST{bold}\TEST{Times}
+\end{document}
+\endinput
+%%
+%% End of file `mathastexttestunicodemacos.tex'.


Property changes on: trunk/Master/texmf-dist/doc/latex/mathastext/mathastexttestunicodemacos.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Deleted: trunk/Master/texmf-dist/source/latex/mathastext/INSTALL.txt
===================================================================
--- trunk/Master/texmf-dist/source/latex/mathastext/INSTALL.txt	2019-11-17 22:32:31 UTC (rev 52839)
+++ trunk/Master/texmf-dist/source/latex/mathastext/INSTALL.txt	2019-11-17 22:33:58 UTC (rev 52840)
@@ -1,44 +0,0 @@
-The simplest for most users is to use the manager script of the TeX
-installation to either install or upgrade mathastext to its current
-version.
-
-Else, for manual install, grab mathastext.tds.zip from CTAN then run
-
-    unzip -d <destfolder> mathastext.tds.zip
-
-where  <destfolder> could be ~/texmf or, on mac os x, ~/Library/texmf.
-
-Else, download mathastext.dtx and follow these instructions:
-
-- Run tex or etex on mathastext.dtx to generate the package style
-  file mathastext.sty as well as additional files:
-
-  mathastext.tex, README.md, ChangeLog.md, and some test files.
-
-- Move the style file mathastext.sty to a location where TeX can
-  find it. In a TDS compliant hierarchy this will be
-
-      <TDS>:tex/latex/mathastext/mathastext.sty
-
-For the documentation:
-
-- Follow the above steps, then run latex thrice on mathastext.tex
-  then dvipdfmx on mathastext.dvi. The file mathastext.tex can be
-  customized to change the font size or set other options therein.
-  The produced file mathastext.pdf will by default include the
-  commented source code.
-
-It is also possible to run pdflatex (thrice) directly on mathastext.dtx.
-In that case mathastext.pdf is produced without the commented source code.
-
-One can NOT use lualatex or xelatex to compile the documentation.
-
-The test files
-
-    mathastexttestmathversions.tex
-    mathastexttestunicodemacos.tex
-    mathastexttestunicodelinux.tex
-    mathastexttestalphabets.tex
-
-illustrate some features of the package and are an addendum to the
-main documentation mathastext.pdf.

Modified: trunk/Master/texmf-dist/source/latex/mathastext/mathastext.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/mathastext/mathastext.dtx	2019-11-17 22:32:31 UTC (rev 52839)
+++ trunk/Master/texmf-dist/source/latex/mathastext/mathastext.dtx	2019-11-17 22:33:58 UTC (rev 52840)
@@ -2,12 +2,12 @@
 % N.B.: this dtx file does NOT use \DocInput, it only uses docstrip.
 % The LaTeX source of the documentation is NOT prefixed with percent characters.
 %<*dtx>
-\def\dtxtimestamp {Time-stamp: <19-09-2019 at 22:52:52 CEST>}%
-\def\docdate{2019/09/19}
+\def\dtxtimestamp {Time-stamp: <16-11-2019 at 21:27:02 CET>}%
+\def\docdate{2019/11/16}
 %</dtx>
 %<*drv>
-\def\MSTpkgdate    {2019/09/19}
-\def\MSTpkgversion {1.3v}
+\def\MSTpkgdate    {2019/11/16}
+\def\MSTpkgversion {1.3w}
 %</drv>
 %<*dtx>
 \iffalse % meta-comment
@@ -29,7 +29,7 @@
 
 Copyright (C) 2011-2019 Jean-Francois Burnol (`jfbu at free dot fr`)
 
-      Source: mathastext.dtx 1.3v 2019/09/19
+      Source: mathastext.dtx 1.3w 2019/11/16
 
 %</readme>
 %<*dtx>
@@ -45,7 +45,7 @@
 %%----------------------------------------------------------------
 %% Package: mathastext
 %% Info:    Use the text font in math mode (JFB)
-%% Version: 1.3v 2019/09/19
+%% Version: 1.3w 2019/11/16
 %% License: LPPL 1.3c (http://www.latex-project.org/lppl/lppl-1-3c.txt)
 %% Copyright (C) 2011-2019 Jean-Francois Burnol <jfbu at free dot fr>
 %% Examples of use of mathastext:
@@ -193,6 +193,33 @@
 RECENT CHANGES
 ==============
 
+1.3w \[2019/11/16\]
+----
+
+* LaTeX 2019-10-01 release (up to patch level 3 inclusive)
+  together with `amsmath` conspired `:-)` to break `mathastext`,
+  in connexion with math accents. This has been fixed upstream,
+  but I am releasing nevertheless a hot fix to this
+  [issue](https://github.com/latex3/latex2e/issues/216)
+  (this is compatible with future LaTeX releases).
+
+* Fix: the `\hbar` is originally a robust command but
+  becomes a `\mathchardef` token if (e.g.) `amsfonts` is
+  loaded and then with recent LaTeX `\hbar<space>` is
+  made undefined and `mathastext` definition of it
+  remained without effect. The `\mathastext` own `\hbar`
+  is now defined `\protected`.
+
+* Fix: option `noendash` (or `symboldelimiters` which implies
+  it) caused (since `1.3u`) a bug under Unicode engines when
+  setting up the minus sign.
+
+* Version names declared via the optional argument of
+  `\Mathastext` or as first argument of `\MTDeclareVersion`
+  must not be `normal` or `bold`. Enforce that! (this was
+  marked as a bug to fix since `2012/10/24`...)
+
+
 1.3v \[2019/09/19\]
 ----
 
@@ -289,6 +316,33 @@
 MATHASTEXT CHANGE LOG
 =====================
 
+1.3w \[2019/11/16\]
+----
+
+* LaTeX 2019-10-01 release (up to patch level 3 inclusive)
+  together with `amsmath` conspired `:-)` to break `mathastext`,
+  in connexion with math accents. This has been fixed upstream,
+  but I am releasing nevertheless a hot fix to this
+  https://github.com/latex3/latex2e/issues/216 issue
+  (this is compatible with future LaTeX releases).
+
+* Fix: the `\hbar` is originally a robust command but
+  becomes a `\mathchardef` token if (e.g.) `amsfonts` is
+  loaded and then with recent LaTeX `\hbar<space>` is
+  made undefined and `mathastext` definition of it
+  remained without effect. The `\mathastext` own `\hbar`
+  is now defined `\protected`.
+
+* Fix: option `noendash` (or `symboldelimiters` which implies
+  it) caused (since `1.3u`) a bug under Unicode engines when
+  setting up the minus sign.
+
+* Version names declared via the optional argument of
+  `\Mathastext` or as first argument of `\MTDeclareVersion`
+  must not be `normal` or `bold`. Enforce that! (this was
+  marked as a bug to fix since `2012/10/24`...)
+
+
 1.3v \[2019/09/19\]
 ----
 
@@ -4388,7 +4442,7 @@
 %    \begin{macrocode}
 \NeedsTeXFormat{LaTeX2e}
 \ProvidesPackage {mathastext}
-  [2019/09/19 v1.3v Use the text font in math mode (JFB)]
+  [2019/11/16 v1.3w Use the text font in math mode (JFB)]
 %    \end{macrocode}
 % \LaTeX{} |2019-10-01| release has made robust math macros such as the math
 % accents and \cs{hbar}. 
@@ -4650,6 +4704,31 @@
 %    \begin{macrocode}
 \ProcessOptions\relax
 %    \end{macrocode}
+% \begin{macro}{\mst at DeclareMathAccent}
+%
+%   I somehow missed realizing \LaTeX{} |2019-10-01| if used together
+%   with |amsmath| made repeated usage of \cs{DeclareMathAccent} trigger
+%   an error: \url{https://github.com/latex3/latex2e/issues/216}.
+%
+%   This broke usage of \cs{Mathastext} macro in preamble.
+%
+%   |1.3w| works around this via \cs{mst at DeclareMathAccent}. And other
+%   changes were made in \mst code to cope with these complications around
+%   robustness.
+%    \begin{macrocode}
+\def\mst at DeclareMathAccent#1{\let#1\mst at undefined
+  \expandafter
+  \let\csname\expandafter\@gobble\string#1\space\endcsname\mst at undefined
+  \DeclareMathAccent{#1}}
+%    \end{macrocode}
+% \end{macro}
+% Helper macros to test math version names. User is not allowed to redefine
+% via \cs{Mathastext} with optional argument or via \cs{MTDeclareVersion} the
+% |normal| and |bold| math versions! Added at |1.3w|, about 7 years late.
+%    \begin{macrocode}
+\def\mst at normalversionname{normal}%
+\def\mst at boldversionname{bold}%
+%    \end{macrocode}
 %  \begin{macro}{\exists} \begin{macro}{\mst at exists@skip}
 %  \begin{macro}{\forall} \begin{macro}{\mst at forall@skip} 
 %  \begin{macro}{\MTnormalexists}
@@ -5101,11 +5180,9 @@
 %    \begin{macrocode}
 \def\mst at OnlyIfNotSubdued#1{%
     \ifmst at subdued
-      \def\mst at tmpa{normal}%
-      \ifx\math at version\mst at tmpa
+      \ifx\math at version\mst at normalversionname
       \else
-        \def\mst at tmpa{bold}%
-        \ifx\math at version\mst at tmpa
+        \ifx\math at version\mst at boldversionname
         \else
           #1%
         \fi
@@ -5843,7 +5920,7 @@
   \DeclareFontSubstitution{FML}{futm}{m}{it}
   \DeclareSymbolFont{mathastextfourier}{FML}{futm}{m}{it}
   \SetSymbolFont{mathastextfourier}{bold}{FML}{futm}{b}{it}
-  \DeclareMathAccent{\fouriervec}{\mathord}{mathastextfourier}{"7E}
+  \mst at DeclareMathAccent{\fouriervec}{\mathord}{mathastextfourier}{"7E}
 \fi
 %    \end{macrocode}
 % \end{macro}
@@ -6120,6 +6197,9 @@
 % I need to put amsmath under surveillance to check if it decides to
 % robustify \cs{relbar} at some point, now that the \LaTeX\ team has
 % taken over maintenance.
+%
+% |2019/09/16| Use \cs{protected} for \cs{right\textbar{}leftarrowfill} in the non
+% \cs{DeclareRobustCommand} branch?
 %    \begin{macrocode}
 \ifmst at nominus
 \else
@@ -6177,6 +6257,23 @@
 % this is by actually modifying the assigned mathcode at each version
 % change. This means also that |\MTversion| and not |\mathversion|
 % must be used for good functioning.
+%
+% |1.3u| improves the handling of the minus sign by letting it be compatible
+% with math versions (and not only with the with subdued mechanism but all
+% math versions) having varying font encodings, even possibly classic 8bit
+% font encoding mixed with TU encoding for Unicode engines. For this it is
+% needed to work around a feature of XeTeX/LuaLaTeX, here is original comment:
+%
+% \begin{quotation}
+%     afaict it is
+%     impossible to use straightforwardly in extended mathcode assignments
+%     a control sequence as created by \cs{Umathchardef}.
+%     This is counter-intuitive and breaks expectations.
+% \end{quotation}
+%
+% But the |1.3u| mechanism with \cs{mst at UmathchardefWorkAround@i} introduced a
+% bug which showed under option |noendash| (hence also |symboldelimiters|) with
+% Unicode engines. Fixed at |1.3w|.
 %    \begin{macrocode}
 \let\mst at subduedminus\empty
 \let\mst at nonsubduedminus\empty
@@ -6213,10 +6310,6 @@
     \edef\mst at tmp@enc{\csname mst at encoding@\math at version\endcsname}%
     \if1\mst at OneifUniEnc
      \mst at Umathcode`\-=\expandafter
-     % Working around a bug (or feature...) of XeTeX/LuaTeX: afaict it is
-     % impossible to use straightforwardly in extended mathcode assignments
-     % a control sequence as created by \Umathchardef.
-     % This is counter-intuitive and breaks expectations.
                        \mst at UmathchardefWorkAround@i
                        \csname mst at minus@mv\math at version\endcsname
                        \relax
@@ -6224,6 +6317,17 @@
      \mathcode`\-=\@nameuse{mst at minus@mv\math at version}% self-delimiting
     \fi
    }% \mst at nonsubduedminus
+%    \end{macrocode}
+% The above works only if the \cs{mst at minus@mv<name>} was really
+% defined via \cs{Umathchardef}. If it was defined via \cs{DeclareMathSymbol}
+% then it is a \cs{mathchar}, not a \cs{Umathchar}. At least currently (2019).
+% So we need to correct the definition of \cs{mst at nonsubduedminus}.
+%    \begin{macrocode}
+  \ifmst at endash\else\ifmst at emdash\else
+    \def\mst at nonsubduedminus{%
+      \mathcode`\-=\@nameuse{mst at minus@mv\math at version}% self-delimiting
+      }% non Umathchardef \mst at minus@mv<mathversion> macros
+  \fi\fi
 \fi
 \def\mst at UmathchardefWorkAround@i
     {\expandafter\mst at UmathchardefWorkAround@ii\meaning}%
@@ -6255,24 +6359,27 @@
 %   before and after skips does not interact well with the rlap construct.
 %
 %   |1.3v 2019/09/19| adapts to maintain the robustness of \cs{hbar} which now
-%   applies with \LaTeX{} |2019-10-01|. The \cs{mst at original@hbar} is a
-%   meaning holder and there is no need for this macro to be robust in
-%   \LaTeX{} sense. Same for the hbar-macros whose names get indexed by math
-%   version names. We use them as meaning-holders and suitably access them via
-%   \cs{let}. The \cs{mst at ltbar@mv<version>} macros will be robust as they get
-%   declared via \cs{DeclareMathAccent}, but this is other matter.
+%   applies with \LaTeX{} |2019-10-01|.
+%
+%   |1.3w| works around \url{https://github.com/latex3/latex2e/issues/216} via
+%   \cs{mst at DeclareMathAccent}. The upstream bug affected the definition of
+%   \cs{mst at ltbar@mvnormal} and broke usage of \cs{Mathastext} in preamble.
+%
+%   |1.3w| also fixes oversight that \cs{hbar} may have been redefined via
+%   \cs{DeclareMathSymbol} by some package (e.g. |amsfonts|) and with \LaTeX{}
+%   |2019-10-01| this means \cs{hbar<space>} is now undefined. Modifying it
+%   changed nothing to \cs{hbar} behaviour in such circumstances. Finally we
+%   opt for a \cs{protected} \cs{hbar} and choose to ignore completely if
+%   there is a \cs{hbar<space>} or not. To avoid extra steps we do not
+%   undefine it if it exists, because we would need to restore it in
+%   subdued math versions.
 %    \begin{macrocode}
 \let\mst at subduedhbar\@empty
 \let\mst at nonsubduedhbar\@empty
 \ifmst at nohbar\else
-  \def\mst at subduedhbar{%
-      \expandafter\let\csname hbar\mst at robustifyingspace\endcsname
-                  \mst at original@hbar
-  }%
-  \def\mst at nonsubduedhbar{%
-      \expandafter\let\csname hbar\mst at robustifyingspace\expandafter\endcsname
-                  \csname mst at hbar@mv\math at version\endcsname
-  }%
+  \def\mst at subduedhbar{\let\hbar\mst at original@hbar}%
+  \def\mst at nonsubduedhbar{\expandafter
+       \let\expandafter\hbar\csname mst at hbar@mv\math at version\endcsname}%
 \fi
 \def\mst at mathrlap{\mathpalette\mst at mathrlapinternal}
 \def\mst at mathrlapinternal#1#2{\rlap{$\mathsurround=0pt#1{#2}$}}
@@ -6284,10 +6391,10 @@
     \begingroup
     \def\@text at composite##1\@text at composite##2{##2}%
     \let\add at accent\@firstoftwo
-    \DeclareMathAccent{#2}{\mathalpha}{mtletterfont}%
+    \mst at DeclareMathAccent{#2}{\mathalpha}{mtletterfont}%
                       {\csname\mst at tmp@enc\string\=\endcsname{}}%
     \endgroup
-    \def#1{\mst at mathrlap{#2{\ }}\mst at h}%
+    \protected\def#1{\mst at mathrlap{#2{\ }}\mst at h}%
   \fi
 }% end of \mst at dothe@hbarstuff
 %    \end{macrocode}
@@ -7278,11 +7385,30 @@
 %
 %   |1.3v| adapts to \LaTeX{} |2019-10-01| which now comes with robust math
 %   accent macros. The \xABoriginal\xBB-named macros are without the robustifying
-%   space, as they only serve as meaning holders. On the other hand the macros
+%   space (NOT true anymore, see |1.3w| next), as they only serve as meaning
+%   holders.
+%
+%   On the other hand the macros
 %   indexed by math version names are (in the pdflatex branch) always defined
 %   via \cs{DeclareMathAccent} hence they will be robust with |2019-10-01| or
 %   later and we must use the \cs{mst at robustifyingspace} with them to access
 %   their real meaning (this thus differs from the situation with \cs{hbar}).
+%
+%   |1.3w| The above was a bit optimistic as |amsmath| for example modifies
+%   \LaTeX{} internals and handles math accents differently.
+%
+%   We thus needed to double our
+%   |\let|'s as, if |amsmath| is loaded, the cs with space will exist but not
+%   be paired in expected way with the original cs. This breaks things by the
+%   way if some math accent is written to an external file under a certain
+%   context and executed in another context. The new context will be probably
+%   ignored if |amsmath| is loaded, as the external file will have an already
+%   expanded-once meaning.
+%
+%   Some macros with space in name might thus be created as |\relax|. Should I
+%   rather create \cs{protected} macros for the math accents with Unicode
+%   engines? Anyway, the construct does give good result with the few OpenType
+%   text fonts I tested.
 %    \begin{macrocode}
 \let\mst at subduedmathaccents\@empty
 \let\mst at nonsubduedmathaccents\@empty
@@ -7291,16 +7417,22 @@
   \@tfor\@tempa:={grave}{acute}{check}{breve}{bar}%
                  {dot}{ddot}{mathring}{hat}{tilde}%
   \do
-  {\expandafter\let\csname\@tempa\mst at robustifyingspace\expandafter\endcsname
-                   \csname mst at original@\@tempa\endcsname}%
+  {\expandafter\let\csname\@tempa\expandafter\endcsname
+                   \csname mst at original@\@tempa\endcsname
+   \expandafter\let\csname\@tempa\space\expandafter\endcsname
+                   \csname mst at original@\@tempa\space\endcsname
+   }%
 }%
 \def\mst at nonsubduedmathaccents{%
   \@tfor\@tempa:={grave}{acute}{check}{breve}{bar}%
                  {dot}{ddot}{mathring}{hat}{tilde}%
   \do
-  {\expandafter\let\csname\@tempa\mst at robustifyingspace\expandafter\endcsname
-                   \csname mst@\@tempa @mv\math at version\mst at robustifyingspace\endcsname}%
+  {\expandafter\let\csname\@tempa\expandafter\endcsname
+                   \csname mst@\@tempa @mv\math at version\endcsname
+   \expandafter\let\csname\@tempa\space\expandafter\endcsname
+                   \csname mst@\@tempa @mv\math at version\space\endcsname
 }%
+}%
 \def\mst at dothe@mathaccentsstuff#1#2{%
   \begingroup
   \edef\mst at tmp@enc{#2}%
@@ -7398,8 +7530,11 @@
                      {dot}{ddot}{mathring}{hat}{tilde}%
       \do
       {\expandafter\let
-          \csname mst@\@tempa @mv#1\mst at robustifyingspace\expandafter\endcsname
-          \csname mst at original@\@tempa\endcsname}%
+          \csname mst@\@tempa @mv#1\expandafter\endcsname
+          \csname mst at original@\@tempa\endcsname
+       \expandafter\let
+          \csname mst@\@tempa @mv#1\space\expandafter\endcsname
+          \csname mst at original@\@tempa\space\endcsname}%
       }}%
     \fi
 %    \end{macrocode}
@@ -7408,6 +7543,8 @@
 % |2019-10-01| or later. As we want elsewhere in the package code not to have
 % to check if under Unicode engine or not, we need to handle here also some
 % definition of robust macros.
+%
+% But wouldn't it be simpler to manage \cs{protected} macros?
 %    \begin{macrocode}
     \ifmst at robust@obsessed at LaTeX@era
       \@tfor\@tempa:={grave}{acute}{check}{breve}{bar}%
@@ -7422,45 +7559,47 @@
 %    \end{macrocode}
 % \cs{DeclareMathAccent} works \cs{global}ly. And with \LaTeX{} |2019-10-01|
 % or later it creates robust macros.
+%
+% \cs{mst at DeclareMathAccent} to work around \url{https://github.com/latex3/latex2e/issues/216}
 %    \begin{macrocode}
     % \` -> \grave
-    \expandafter\DeclareMathAccent\expandafter
+    \expandafter\mst at DeclareMathAccent\expandafter
                {\csname mst at grave@mv#1\endcsname}{\mathalpha}{mtoperatorfont}%
                {\csname#2\string\`\endcsname{}}
     % \' -> \acute
-    \expandafter\DeclareMathAccent\expandafter
+    \expandafter\mst at DeclareMathAccent\expandafter
                {\csname mst at acute@mv#1\endcsname}{\mathalpha}{mtoperatorfont}%
                {\csname#2\string\'\endcsname{}}
     % \v -> \check
-    \expandafter\DeclareMathAccent\expandafter
+    \expandafter\mst at DeclareMathAccent\expandafter
                {\csname mst at check@mv#1\endcsname}{\mathalpha}{mtoperatorfont}%
                {\csname#2\string\v\endcsname{}}
     % \u -> \breve
-    \expandafter\DeclareMathAccent\expandafter
+    \expandafter\mst at DeclareMathAccent\expandafter
                {\csname mst at breve@mv#1\endcsname}{\mathalpha}{mtoperatorfont}%
                {\csname#2\string\u\endcsname{}}
     % \= -> \bar
-    \expandafter\DeclareMathAccent\expandafter
+    \expandafter\mst at DeclareMathAccent\expandafter
                {\csname mst at bar@mv#1\endcsname}{\mathalpha}{mtoperatorfont}%
                {\csname#2\string\=\endcsname{}}
     % \. -> \dot
-    \expandafter\DeclareMathAccent\expandafter
+    \expandafter\mst at DeclareMathAccent\expandafter
                {\csname mst at dot@mv#1\endcsname}{\mathalpha}{mtoperatorfont}%
                {\csname#2\string\.\endcsname{}}
     % \" -> \ddot
-    \expandafter\DeclareMathAccent\expandafter
+    \expandafter\mst at DeclareMathAccent\expandafter
                {\csname mst at ddot@mv#1\endcsname}{\mathalpha}{mtoperatorfont}%
                {\csname#2\string\"\endcsname{}}
     % \r -> \mathring
-    \expandafter\DeclareMathAccent\expandafter
+    \expandafter\mst at DeclareMathAccent\expandafter
                {\csname mst at mathring@mv#1\endcsname}{\mathalpha}{mtoperatorfont}%
                {\csname#2\string\r\endcsname{}}
     % \^ -> \hat
-    \expandafter\DeclareMathAccent\expandafter
+    \expandafter\mst at DeclareMathAccent\expandafter
                {\csname mst at hat@mv#1\endcsname}{\mathalpha}{mtoperatorfont}%
                {\csname#2\string\^\endcsname{}}
     % \~ -> \tilde
-    \expandafter\DeclareMathAccent\expandafter
+    \expandafter\mst at DeclareMathAccent\expandafter
                {\csname mst at tilde@mv#1\endcsname}{\mathalpha}{mtoperatorfont}%
                {\csname#2\string\~\endcsname{}}
   \fi
@@ -7485,7 +7624,7 @@
 %
 %   Note: (|2012/10/24|) I really should check whether the user attempts to
 %   redefine the `normal' and `bold' versions and issue a warning in
-%   that case!
+%   that case! Finally done at  |1.3w| |2019/11/16|! Better late than never...
 %
 %   |1.3c| (|2013/12/14|) adds an extra optional parameter after all
 %   previous ones, to inherit the settings from another version. Typically
@@ -7499,13 +7638,27 @@
 %   |1.3u| adds storage of macros holding the needed meanings for
 %   \cs{imath}, \cs{hbar}, math accents, and the minus symbol,
 %   version wise.
+%
+%   |1.3w| adds the check to forbid |normal| and |bold| as version names.
 %    \begin{macrocode}
 \newcommand*\MTDeclareVersion[6][]{%
   \edef\mst at declareversionargs{{#1}{#2}{#3}{#4}{#5}{#6}}%
   \edef\mst at version{#2}%
-  \DeclareMathVersion{\mst at version}%
-  \MTDeclareVersion@
+  \if0\ifx\mst at version\mst at normalversionname0\else
+      \ifx\mst at version\mst at boldversionname0\else
+      1\fi\fi
+   \expandafter\expandafter\expandafter
+   \MTDoNotDeclareVersion@\expandafter\@gobblefour
+  \fi
+  \relax\DeclareMathVersion{\mst at version}\MTDeclareVersion@
 }% \MTDeclareVersion
+\newcommand*\MTDoNotDeclareVersion@[1][]{%
+   \PackageWarningNoLine{mathastext}{You asked to declare a version with name
+   `\mst at version'.^^J%
+   \@spaces Sorry but you are not allowed to do that.^^J%
+   \@spaces \ifmst at subdued Anyway the `subdued' option is in force\else
+         Use rather \string\Mathastext\space macro (with no optional argument)\fi
+}}%\MTDoNotDeclareVersion@
 \newcommand*\MTDeclareVersion@[1][]{%
     \edef\mst at tmp{#1}%
     \ifx\mst at tmp\empty\else
@@ -7777,8 +7930,7 @@
 % \cs{MTeverymathoff}. 
 %    \begin{macrocode}
     \ifmst at subdued
-      \def\mst at tmpa{normal}%
-      \ifx\math at version\mst at tmpa
+      \ifx\math at version\mst at normalversionname
         \mst at restorealphabets
         \MTstandardgreek
         \MTmathoperatorsdonotobeymathxx
@@ -7798,8 +7950,7 @@
         \mst at subduedmathaccents
         \mst at subduedminus
       \else
-        \def\mst at tmpa{bold}%
-        \ifx\math at version\mst at tmpa
+        \ifx\math at version\mst at boldversionname
           \mst at restorealphabets
           \MTstandardgreek
           \MTmathoperatorsdonotobeymathxx
@@ -8286,11 +8437,13 @@
 %
 % |1.3v| adapts to \cs{hbar} and math accents now being robust with \LaTeX{}
 % |2019-10-01| or later.
+%
+% |1.3w| pays attention to the fact that \cs{hbar} may well be
+% a |\mathchar| and not a robust macro! And no need to worry about
+% \cs{hbar<space>} finally in revised code.
 %    \begin{macrocode}
   \MTcustomizenewmcodes
-  \expandafter\let\expandafter
-              \mst at original@hbar
-              \csname hbar\mst at robustifyingspace\endcsname
+  \let\mst at original@hbar\hbar
   \let\mst at original@imath\imath
   \let\mst at original@jmath\jmath
   \@tfor\@tempa:={grave}{acute}{check}{breve}{bar}%
@@ -8297,7 +8450,9 @@
                  {dot}{ddot}{mathring}{hat}{tilde}%
   \do
   {\expandafter\let\csname mst at original@\@tempa\expandafter\endcsname
-                   \csname \@tempa\mst at robustifyingspace\endcsname
+                   \csname \@tempa\endcsname
+   \expandafter\let\csname mst at original@\@tempa\space\expandafter\endcsname
+                   \csname \@tempa\space\endcsname
   }%
   \ifmst at XeOrLua
      \edef\mst at subduedminus
@@ -8530,7 +8685,7 @@
   Grave accent  \`     Left brace    \{     Vertical bar  \|
   Right brace   \}     Tilde         \~}
 
-\CheckSum{6101}
+\CheckSum{6187}
 \makeatletter\check at checksum\makeatother
 \Finale
 %%

Modified: trunk/Master/texmf-dist/tex/latex/mathastext/mathastext.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/mathastext/mathastext.sty	2019-11-17 22:32:31 UTC (rev 52839)
+++ trunk/Master/texmf-dist/tex/latex/mathastext/mathastext.sty	2019-11-17 22:33:58 UTC (rev 52840)
@@ -23,7 +23,7 @@
 %%----------------------------------------------------------------
 %% Package: mathastext
 %% Info:    Use the text font in math mode (JFB)
-%% Version: 1.3v 2019/09/19
+%% Version: 1.3w 2019/11/16
 %% License: LPPL 1.3c (http://www.latex-project.org/lppl/lppl-1-3c.txt)
 %% Copyright (C) 2011-2019 Jean-Francois Burnol <jfbu at free dot fr>
 %% Examples of use of mathastext:
@@ -32,7 +32,7 @@
 %%----------------------------------------------------------------
 \NeedsTeXFormat{LaTeX2e}
 \ProvidesPackage {mathastext}
-  [2019/09/19 v1.3v Use the text font in math mode (JFB)]
+  [2019/11/16 v1.3w Use the text font in math mode (JFB)]
 \newif\ifmst at robust@obsessed at LaTeX@era
 \@ifl at t@r\fmtversion{2019/10/01}{\mst at robust@obsessed at LaTeX@eratrue}{}
 \edef\mst at robustifyingspace{\ifmst at robust@obsessed at LaTeX@era\space\fi}
@@ -207,6 +207,12 @@
 \DeclareOption*%
   {\expandafter\mst at checkoption\CurrentOption\mst@ unicodeminus\mst@\mst@@}
 \ProcessOptions\relax
+\def\mst at DeclareMathAccent#1{\let#1\mst at undefined
+  \expandafter
+  \let\csname\expandafter\@gobble\string#1\space\endcsname\mst at undefined
+  \DeclareMathAccent{#1}}
+\def\mst at normalversionname{normal}%
+\def\mst at boldversionname{bold}%
 \newmuskip\mst at exists@muskip  %% v 1.15e
 \newmuskip\mst at forall@muskip
 \def\mst at exists@skip{1mu}
@@ -293,11 +299,9 @@
 }%
 \def\mst at OnlyIfNotSubdued#1{%
     \ifmst at subdued
-      \def\mst at tmpa{normal}%
-      \ifx\math at version\mst at tmpa
+      \ifx\math at version\mst at normalversionname
       \else
-        \def\mst at tmpa{bold}%
-        \ifx\math at version\mst at tmpa
+        \ifx\math at version\mst at boldversionname
         \else
           #1%
         \fi
@@ -622,7 +626,7 @@
   \DeclareFontSubstitution{FML}{futm}{m}{it}
   \DeclareSymbolFont{mathastextfourier}{FML}{futm}{m}{it}
   \SetSymbolFont{mathastextfourier}{bold}{FML}{futm}{b}{it}
-  \DeclareMathAccent{\fouriervec}{\mathord}{mathastextfourier}{"7E}
+  \mst at DeclareMathAccent{\fouriervec}{\mathord}{mathastextfourier}{"7E}
 \fi
 \newcommand*\MTencoding[1]{\def\mst at enc{#1}}
 \newcommand*\MTfamily[1]{\def\mst at fam{#1}}
@@ -827,10 +831,6 @@
     \edef\mst at tmp@enc{\csname mst at encoding@\math at version\endcsname}%
     \if1\mst at OneifUniEnc
      \mst at Umathcode`\-=\expandafter
-     % Working around a bug (or feature...) of XeTeX/LuaTeX: afaict it is
-     % impossible to use straightforwardly in extended mathcode assignments
-     % a control sequence as created by \Umathchardef.
-     % This is counter-intuitive and breaks expectations.
                        \mst at UmathchardefWorkAround@i
                        \csname mst at minus@mv\math at version\endcsname
                        \relax
@@ -838,6 +838,11 @@
      \mathcode`\-=\@nameuse{mst at minus@mv\math at version}% self-delimiting
     \fi
    }% \mst at nonsubduedminus
+  \ifmst at endash\else\ifmst at emdash\else
+    \def\mst at nonsubduedminus{%
+      \mathcode`\-=\@nameuse{mst at minus@mv\math at version}% self-delimiting
+      }% non Umathchardef \mst at minus@mv<mathversion> macros
+  \fi\fi
 \fi
 \def\mst at UmathchardefWorkAround@i
     {\expandafter\mst at UmathchardefWorkAround@ii\meaning}%
@@ -845,14 +850,9 @@
 \let\mst at subduedhbar\@empty
 \let\mst at nonsubduedhbar\@empty
 \ifmst at nohbar\else
-  \def\mst at subduedhbar{%
-      \expandafter\let\csname hbar\mst at robustifyingspace\endcsname
-                  \mst at original@hbar
-  }%
-  \def\mst at nonsubduedhbar{%
-      \expandafter\let\csname hbar\mst at robustifyingspace\expandafter\endcsname
-                  \csname mst at hbar@mv\math at version\endcsname
-  }%
+  \def\mst at subduedhbar{\let\hbar\mst at original@hbar}%
+  \def\mst at nonsubduedhbar{\expandafter
+       \let\expandafter\hbar\csname mst at hbar@mv\math at version\endcsname}%
 \fi
 \def\mst at mathrlap{\mathpalette\mst at mathrlapinternal}
 \def\mst at mathrlapinternal#1#2{\rlap{$\mathsurround=0pt#1{#2}$}}
@@ -864,10 +864,10 @@
     \begingroup
     \def\@text at composite##1\@text at composite##2{##2}%
     \let\add at accent\@firstoftwo
-    \DeclareMathAccent{#2}{\mathalpha}{mtletterfont}%
+    \mst at DeclareMathAccent{#2}{\mathalpha}{mtletterfont}%
                       {\csname\mst at tmp@enc\string\=\endcsname{}}%
     \endgroup
-    \def#1{\mst at mathrlap{#2{\ }}\mst at h}%
+    \protected\def#1{\mst at mathrlap{#2{\ }}\mst at h}%
   \fi
 }% end of \mst at dothe@hbarstuff
 \ifmst at noplus\else\typeout{** \string+ and \string=}
@@ -1528,16 +1528,22 @@
   \@tfor\@tempa:={grave}{acute}{check}{breve}{bar}%
                  {dot}{ddot}{mathring}{hat}{tilde}%
   \do
-  {\expandafter\let\csname\@tempa\mst at robustifyingspace\expandafter\endcsname
-                   \csname mst at original@\@tempa\endcsname}%
+  {\expandafter\let\csname\@tempa\expandafter\endcsname
+                   \csname mst at original@\@tempa\endcsname
+   \expandafter\let\csname\@tempa\space\expandafter\endcsname
+                   \csname mst at original@\@tempa\space\endcsname
+   }%
 }%
 \def\mst at nonsubduedmathaccents{%
   \@tfor\@tempa:={grave}{acute}{check}{breve}{bar}%
                  {dot}{ddot}{mathring}{hat}{tilde}%
   \do
-  {\expandafter\let\csname\@tempa\mst at robustifyingspace\expandafter\endcsname
-                   \csname mst@\@tempa @mv\math at version\mst at robustifyingspace\endcsname}%
+  {\expandafter\let\csname\@tempa\expandafter\endcsname
+                   \csname mst@\@tempa @mv\math at version\endcsname
+   \expandafter\let\csname\@tempa\space\expandafter\endcsname
+                   \csname mst@\@tempa @mv\math at version\space\endcsname
 }%
+}%
 \def\mst at dothe@mathaccentsstuff#1#2{%
   \begingroup
   \edef\mst at tmp@enc{#2}%
@@ -1612,8 +1618,11 @@
                      {dot}{ddot}{mathring}{hat}{tilde}%
       \do
       {\expandafter\let
-          \csname mst@\@tempa @mv#1\mst at robustifyingspace\expandafter\endcsname
-          \csname mst at original@\@tempa\endcsname}%
+          \csname mst@\@tempa @mv#1\expandafter\endcsname
+          \csname mst at original@\@tempa\endcsname
+       \expandafter\let
+          \csname mst@\@tempa @mv#1\space\expandafter\endcsname
+          \csname mst at original@\@tempa\space\endcsname}%
       }}%
     \fi
     \ifmst at robust@obsessed at LaTeX@era
@@ -1627,43 +1636,43 @@
     \fi
   \else % false branch of ifUniEnc
     % \` -> \grave
-    \expandafter\DeclareMathAccent\expandafter
+    \expandafter\mst at DeclareMathAccent\expandafter
                {\csname mst at grave@mv#1\endcsname}{\mathalpha}{mtoperatorfont}%
                {\csname#2\string\`\endcsname{}}
     % \' -> \acute
-    \expandafter\DeclareMathAccent\expandafter
+    \expandafter\mst at DeclareMathAccent\expandafter
                {\csname mst at acute@mv#1\endcsname}{\mathalpha}{mtoperatorfont}%
                {\csname#2\string\'\endcsname{}}
     % \v -> \check
-    \expandafter\DeclareMathAccent\expandafter
+    \expandafter\mst at DeclareMathAccent\expandafter
                {\csname mst at check@mv#1\endcsname}{\mathalpha}{mtoperatorfont}%
                {\csname#2\string\v\endcsname{}}
     % \u -> \breve
-    \expandafter\DeclareMathAccent\expandafter
+    \expandafter\mst at DeclareMathAccent\expandafter
                {\csname mst at breve@mv#1\endcsname}{\mathalpha}{mtoperatorfont}%
                {\csname#2\string\u\endcsname{}}
     % \= -> \bar
-    \expandafter\DeclareMathAccent\expandafter
+    \expandafter\mst at DeclareMathAccent\expandafter
                {\csname mst at bar@mv#1\endcsname}{\mathalpha}{mtoperatorfont}%
                {\csname#2\string\=\endcsname{}}
     % \. -> \dot
-    \expandafter\DeclareMathAccent\expandafter
+    \expandafter\mst at DeclareMathAccent\expandafter
                {\csname mst at dot@mv#1\endcsname}{\mathalpha}{mtoperatorfont}%
                {\csname#2\string\.\endcsname{}}
     % \" -> \ddot
-    \expandafter\DeclareMathAccent\expandafter
+    \expandafter\mst at DeclareMathAccent\expandafter
                {\csname mst at ddot@mv#1\endcsname}{\mathalpha}{mtoperatorfont}%
                {\csname#2\string\"\endcsname{}}
     % \r -> \mathring
-    \expandafter\DeclareMathAccent\expandafter
+    \expandafter\mst at DeclareMathAccent\expandafter
                {\csname mst at mathring@mv#1\endcsname}{\mathalpha}{mtoperatorfont}%
                {\csname#2\string\r\endcsname{}}
     % \^ -> \hat
-    \expandafter\DeclareMathAccent\expandafter
+    \expandafter\mst at DeclareMathAccent\expandafter
                {\csname mst at hat@mv#1\endcsname}{\mathalpha}{mtoperatorfont}%
                {\csname#2\string\^\endcsname{}}
     % \~ -> \tilde
-    \expandafter\DeclareMathAccent\expandafter
+    \expandafter\mst at DeclareMathAccent\expandafter
                {\csname mst at tilde@mv#1\endcsname}{\mathalpha}{mtoperatorfont}%
                {\csname#2\string\~\endcsname{}}
   \fi
@@ -1673,9 +1682,21 @@
 \newcommand*\MTDeclareVersion[6][]{%
   \edef\mst at declareversionargs{{#1}{#2}{#3}{#4}{#5}{#6}}%
   \edef\mst at version{#2}%
-  \DeclareMathVersion{\mst at version}%
-  \MTDeclareVersion@
+  \if0\ifx\mst at version\mst at normalversionname0\else
+      \ifx\mst at version\mst at boldversionname0\else
+      1\fi\fi
+   \expandafter\expandafter\expandafter
+   \MTDoNotDeclareVersion@\expandafter\@gobblefour
+  \fi
+  \relax\DeclareMathVersion{\mst at version}\MTDeclareVersion@
 }% \MTDeclareVersion
+\newcommand*\MTDoNotDeclareVersion@[1][]{%
+   \PackageWarningNoLine{mathastext}{You asked to declare a version with name
+   `\mst at version'.^^J%
+   \@spaces Sorry but you are not allowed to do that.^^J%
+   \@spaces \ifmst at subdued Anyway the `subdued' option is in force\else
+         Use rather \string\Mathastext\space macro (with no optional argument)\fi
+}}%\MTDoNotDeclareVersion@
 \newcommand*\MTDeclareVersion@[1][]{%
     \edef\mst at tmp{#1}%
     \ifx\mst at tmp\empty\else
@@ -1842,8 +1863,7 @@
       \@for\mst at tmpc:=it,sl\do{\ifx\mst at tmpc\mst at tmpb\MTnoICinmath\fi}%
     \fi
     \ifmst at subdued
-      \def\mst at tmpa{normal}%
-      \ifx\math at version\mst at tmpa
+      \ifx\math at version\mst at normalversionname
         \mst at restorealphabets
         \MTstandardgreek
         \MTmathoperatorsdonotobeymathxx
@@ -1856,8 +1876,7 @@
         \mst at subduedmathaccents
         \mst at subduedminus
       \else
-        \def\mst at tmpa{bold}%
-        \ifx\math at version\mst at tmpa
+        \ifx\math at version\mst at boldversionname
           \mst at restorealphabets
           \MTstandardgreek
           \MTmathoperatorsdonotobeymathxx
@@ -2188,9 +2207,7 @@
     \mst at thef\mst at do@az \let\mst at thef\@gobble
     \mst at theF\mst at do@AZ \let\mst at theF\@gobble}%
   \MTcustomizenewmcodes
-  \expandafter\let\expandafter
-              \mst at original@hbar
-              \csname hbar\mst at robustifyingspace\endcsname
+  \let\mst at original@hbar\hbar
   \let\mst at original@imath\imath
   \let\mst at original@jmath\jmath
   \@tfor\@tempa:={grave}{acute}{check}{breve}{bar}%
@@ -2197,7 +2214,9 @@
                  {dot}{ddot}{mathring}{hat}{tilde}%
   \do
   {\expandafter\let\csname mst at original@\@tempa\expandafter\endcsname
-                   \csname \@tempa\mst at robustifyingspace\endcsname
+                   \csname \@tempa\endcsname
+   \expandafter\let\csname mst at original@\@tempa\space\expandafter\endcsname
+                   \csname \@tempa\space\endcsname
   }%
   \ifmst at XeOrLua
      \edef\mst at subduedminus



More information about the tex-live-commits mailing list