texlive[57217] trunk: lwarp (24dec20)

commits+karl at tug.org commits+karl at tug.org
Thu Dec 24 23:28:40 CET 2020


Revision: 57217
          http://tug.org/svn/texlive?view=revision&revision=57217
Author:   karl
Date:     2020-12-24 23:28:40 +0100 (Thu, 24 Dec 2020)
Log Message:
-----------
lwarp (24dec20)

Modified Paths:
--------------
    trunk/Build/source/texk/texlive/linked_scripts/lwarp/lwarpmk.lua
    trunk/Master/texmf-dist/doc/latex/lwarp/README.txt
    trunk/Master/texmf-dist/doc/latex/lwarp/lwarp.pdf
    trunk/Master/texmf-dist/scripts/lwarp/lwarpmk.lua
    trunk/Master/texmf-dist/source/latex/lwarp/lwarp.dtx
    trunk/Master/texmf-dist/source/latex/lwarp/lwarp.ins
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-backnaur.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-booktabs.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-colortbl.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-menukeys.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-rmathbr.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp.sty

Added Paths:
-----------
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-nicematrix.sty

Modified: trunk/Build/source/texk/texlive/linked_scripts/lwarp/lwarpmk.lua
===================================================================
--- trunk/Build/source/texk/texlive/linked_scripts/lwarp/lwarpmk.lua	2020-12-24 07:21:30 UTC (rev 57216)
+++ trunk/Build/source/texk/texlive/linked_scripts/lwarp/lwarpmk.lua	2020-12-24 22:28:40 UTC (rev 57217)
@@ -2,7 +2,7 @@
 
 -- Copyright 2016-2020 Brian Dunn
 
-printversion = "v0.893"
+printversion = "v0.894"
 requiredconfversion = "2" -- also at *lwarpmk.conf
 
 function printhelp ()

Modified: trunk/Master/texmf-dist/doc/latex/lwarp/README.txt
===================================================================
--- trunk/Master/texmf-dist/doc/latex/lwarp/README.txt	2020-12-24 07:21:30 UTC (rev 57216)
+++ trunk/Master/texmf-dist/doc/latex/lwarp/README.txt	2020-12-24 22:28:40 UTC (rev 57217)
@@ -1,5 +1,5 @@
 
-LaTeX lwarp package v0.893   README.txt
+LaTeX lwarp package v0.894   README.txt
 
 Files included are:
 

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

Modified: trunk/Master/texmf-dist/scripts/lwarp/lwarpmk.lua
===================================================================
--- trunk/Master/texmf-dist/scripts/lwarp/lwarpmk.lua	2020-12-24 07:21:30 UTC (rev 57216)
+++ trunk/Master/texmf-dist/scripts/lwarp/lwarpmk.lua	2020-12-24 22:28:40 UTC (rev 57217)
@@ -2,7 +2,7 @@
 
 -- Copyright 2016-2020 Brian Dunn
 
-printversion = "v0.893"
+printversion = "v0.894"
 requiredconfversion = "2" -- also at *lwarpmk.conf
 
 function printhelp ()

Modified: trunk/Master/texmf-dist/source/latex/lwarp/lwarp.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/lwarp/lwarp.dtx	2020-12-24 07:21:30 UTC (rev 57216)
+++ trunk/Master/texmf-dist/source/latex/lwarp/lwarp.dtx	2020-12-24 22:28:40 UTC (rev 57217)
@@ -16,7 +16,7 @@
 % \iffalse
 %<package>\NeedsTeXFormat{LaTeX2e}[1999/12/01]
 %<package>\ProvidesPackage{lwarp}
-%<package>    [2020/11/26 v0.893  Allows LaTeX to directly produce HTML5 output.]
+%<package>    [2020/12/24 v0.894  Allows LaTeX to directly produce HTML5 output.]
 %
 %<*driver>
 \documentclass{ltxdoc}
@@ -1385,9 +1385,13 @@
 Another problem is complicated contents
 \margintag{complicated \attribute{alt} tag}
 which do not expand well in an \attribute{alt} tag.
-The macro \cs{inlinemathother} may be used before a dynamic
-math expression, and \cs{inlinemathnormal} after.  Doing so tells \pkg{lwarp} to
-use an unhashed \SVG\ math image, even if MathJax is in use.
+Yet another problem is math packages which are only partially emulated
+\margintag{\brand{MathJax} limitations}
+in \brand{MathJax}.
+The macro \cs{inlinemathother} may be used before a sequence of dynamic or complicated
+math expressions, and \cs{inlinemathnormal} after.  Doing so tells \pkg{lwarp} to
+use unhashed \SVG\ math images for those particular expressins, even if MathJax
+is otherwise in use.
 See \cref{sec:localizingdynamicmath}.
 }
 
@@ -1395,7 +1399,7 @@
 \DescribeMacro{\displaymathnormal}
 By default, or when selecting \cs{displaymathnormal},
 \brand{Mathjax} math display environments print their contents
-as text into \HTML,
+as text into \HTML\ for \brand{MathJax} to interpret,
 and \SVG\ display math environments render their contents as \SVG\ images
 and use their contents as the \attribute{alt} tag of \HTML\ output.
 To do so, the contents are loaded into a macro for reuse.
@@ -3057,7 +3061,7 @@
 %<*package>
 % \fi
 %
-% \CheckSum{51253}
+% \CheckSum{51622}
 %
 % \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
@@ -3192,6 +3196,7 @@
 % \changes{v0.891}{2020/09/22}{\ 2020/09/22}
 % \changes{v0.892}{2020/10/07}{\ 2020/10/07}
 % \changes{v0.893}{2020/11/26}{\ 2020/11/26}
+% \changes{v0.894}{2020/12/24}{\ 2020/12/24}
 
 
 
@@ -3415,6 +3420,20 @@
 %
 % \begin{description}
 % \needspace{2\baselineskip}
+% \item[v0.894:] \brand{MathJax} additions and improvements.
+%   \begin{itemize}
+%       \item Improved warning message for enabling \SVG\ graphics for
+%       \margintag{\brand{MathJax}}
+%           select math expressions while using \brand{MathJax}.
+%       \item Accept and ignore a star for \cs{hspace}.
+%       \item Ignores \cs{arabic}, \cs{number}, \cs{noalign}.
+%       \item Added \brand{MathJax} emulation for \pkg{backnaur},
+%               \pkg{colortbl}, \pkg{nicematrix}.
+%       \margintag{packages}
+%       \item \pkg{booktabs}: \brand{MathJax} emulation now absorbs and discards trim.
+%       \item \pkg{menukeys}: Updated to v1.6.1.
+%   \end{itemize}
+% \needspace{2\baselineskip}
 % \item[v0.893:] Minor fixes, more packages.
 %   \begin{itemize}
 %       \item Added \brand{MathJax} emulation for \cs{mathnormal}.
@@ -5433,6 +5452,7 @@
 %   \item[\sjax:] Supported as-is for \brand{MathJax}, subject to limitations.
 %   \item[\ejax:] Emulated for \brand{MathJax} using custom macros, subject to limitations.
 %   \item[\ijax:] Ignored by \brand{MathJax}, but may be used in the document source.
+%                   May be converted to \SVG\ images.
 % \end{description}
 %
 % \renewcommand{\arraystretch}{1.5}
@@ -5600,9 +5620,9 @@
 %   \mpkg{theorem}, \mpkg{thmbox}, \mpkg{thmtools}. \\
 %
 % Additional math: & Math fonts via \SVG\ images,
-%   \spkg{accents}\ejax, \spkg{amscd}, \spkg{autobreak}\ejax, \ipkg{autonum},
-%   \mpkg{backnaur}, \mpkg{bm}\ejax, \spkg{braket}\ejax,
-%   \mpkg{breqn}, \mpkg{bussproofs}\ejax, \mpkg{cases},
+%   \spkg{accents}\ejax, \spkg{amscd}\sjax, \spkg{autobreak}\ejax, \ipkg{autonum},
+%   \mpkg{backnaur}\ejax, \mpkg{bm}\ejax, \spkg{braket}\sjax,
+%   \mpkg{breqn}\ijax, \mpkg{bussproofs}\sjax, \mpkg{cases}\ijax,
 %   \spkg{centernot}\ejax, \spkg{cmbright}\ejax,
 %   \spkg{colonequals}\ejax, \spkg{decimal}\ejax,
 %   \spkg{delarray}, \mpkg{DotArrow}\ejax, \spkg{dotlessi}\ejax, \spkg{dotlessj}\sjax,
@@ -5619,11 +5639,11 @@
 %   \spkg{mathspec}\ejax, \mpkg{mathtools}\ejax,
 %   \mpkg{mismath}\ejax, \spkg{mleftright}\ejax,
 %   \spkg{multiobjective}\ejax, \mpkg{nccmath}\ejax,
-%   \spkg{nicematrix}, \spkg{noitcrul}\ejax,
+%   \spkg{nicematrix}\ejax, \spkg{noitcrul}\ejax,
 %   \spkg{newpxmath}\ejax, \spkg{newtxmath}\ejax, \spkg{newtxsf}\ejax,
 %   \spkg{pb-diagram},
 %   \spkg{pxfonts}\ejax,
-%   \ipkg{resizegather}, \spkg{rmathbr}\ejax, \spkg{scalerel}\ejax,
+%   \ipkg{resizegather}\ijax, \spkg{rmathbr}\ejax, \spkg{scalerel}\ejax,
 %   \epkg{shuffle}\ejax, \spkg{stackrel}\ejax,
 %   \mpkg{statex2}\ejax, \mpkg{statistics}, \spkg{statmath}\ejax,
 %   \spkg{subsupscripts}\ejax, \spkg{textualicomma}\ijax,
@@ -5660,7 +5680,7 @@
 % Tabular: &
 %   \env{tabular} environment, \mpkg{array}\ejax, \epkg{arydshln}\ejax,
 %   \mpkg{bigdelim}\ejax, \mpkg{bigstrut}\ejax, \mpkg{booktabs}\ejax,
-%   \mpkg{colortbl}, \mpkg{ctable}, \mpkg{diagbox}, \mpkg{hhline}\ejax, \epkg{longtable},
+%   \mpkg{colortbl}\ijax, \mpkg{ctable}, \mpkg{diagbox}, \mpkg{hhline}\ejax, \epkg{longtable},
 %   \epkg{ltablex}, \epkg{ltxtable},
 %   \mpkg{multirow}\ejax, \epkg{supertabular}, \epkg{tabularx}, \epkg{tabulary},
 %   \epkg{threeparttable}, \mpkg{threeparttablex},
@@ -13113,6 +13133,7 @@
 \LWR at notmemoirloadafter{nextpage}
 \LWR at loadafter{nicefrac}
 \LWR at loadafter{niceframe}
+\LWR at loadafter{nicematrix}
 \LWR at loadafter{noitcrul}
 \LWR at loadafter{nolbreaks}
 \LWR at loadafter{nomencl}
@@ -13601,7 +13622,7 @@
         {%
             Unable to patch package #1,\MessageBreak
             macro \LWRbackslash #2.\MessageBreak
-            Lwarp may need to be updated%
+            Lwarp or #1 may need to be updated%
         }%
         {Please contact the maintainer of the Lwarp package.}%
 }
@@ -17292,6 +17313,7 @@
 % \changes{v0.88}{2020/07/04}{\filenm{lwarp.css}: Added \pkg{tcolorbox}, \pkg{thmbox}.}
 % \changes{v0.88}{2020/07/14}{\filenm{lwarp.css}: Added \optn{indexheading} for \pkg{gindex}.}
 % \changes{v0.893}{2020/10/18}{\filenm{lwarp.css}: Added \pkg{keystroke}.}
+% \changes{v0.894}{2020/12/15}{\filenm{lwarp.css}: \TeX\ logos no longer below baseline.}
 %
 % ^^A *lwarp.css
 %
@@ -18187,7 +18209,10 @@
 
 dl dd p { margin-top: 0em; }
 
-dd ul, dd ol, dd dl { clear: both ; padding-top: 1ex }
+dd ul, dd ol, dd dl {
+    clear: both ;
+/*    padding-top: 1ex ; */
+}
 
 
 nav {
@@ -18898,6 +18923,9 @@
 /*
 For CSS LaTeX and related logos:
 Based on spacing demonstrated by the metafont package.
+
+The subscripts are shrunk instead of lowered below the baseline,
+to avoid browser rendering errors with the line height in lists, etc.
 */
 
 .latexlogofont {
@@ -18909,7 +18937,6 @@
 .latexlogo {
     font-family: "Linux Libertine O", "Nimbus Roman No 9 L",
         "FreeSerif", "Hoefler Text", Times, "Times New Roman", serif;
-    font-size: 1.1em;
 }
 
 .latexlogosup {
@@ -18923,10 +18950,11 @@
 
 .latexlogosub {
   text-transform: uppercase;
-  vertical-align: -0.27ex;
+/*  vertical-align: -0.27ex; */
   margin-left: -0.08em;
   margin-right: -0.07em;
-  font-size: 1em;
+/*  font-size: 1em; */
+    font-size: .7em ;
 }
 
 .latexlogotwoe {
@@ -18936,10 +18964,11 @@
 
 .latexlogotwoesub {
   font-style:italic ;
-  vertical-align: -0.27ex;
+/*  vertical-align: -0.27ex; */
   margin-left: -0.11em;
   margin-right: -0.1em;
-  font-size: 1em;
+/*  font-size: 1em; */
+    font-size: .7em ;
 }
 
 .xelatexlogo {
@@ -18946,14 +18975,14 @@
     font-family: "Linux Libertine O", "Nimbus Roman No 9 L",
         "FreeSerif", "Hoefler Text", Times, "Times New Roman", serif;
     letter-spacing: .03em ;
-    font-size: 1.1em;
 }
 
 .xelatexlogosub {
-  vertical-align: -0.27ex;
+/*  vertical-align: -0.27ex; */
   margin-left: -0.0667em;
   margin-right: -.05em;
-  font-size: 1em;
+/*  font-size: 1em; */
+    font-size: .7em ;
   letter-spacing: .03em ;
 }
 
@@ -20065,7 +20094,7 @@
 -- Copyright 2016-2020 Brian Dunn
 
 
-printversion = "v0.893"
+printversion = "v0.894"
 requiredconfversion = "2" -- also at *lwarpmk.conf
 
 function printhelp ()
@@ -24707,7 +24736,7 @@
 %    \end{macrocode}
 % \end{macro}
 
-%
+% ^^A *mathjax customizations
 % Default customizations:
 % \margintag{defaults}
 %
@@ -24722,6 +24751,7 @@
 % \changes{v0.57}{2018/05/24}{\brand{MathJax}: Supports \cs{footnote}, \cs{footnotemark}.}
 % \changes{v0.79}{2020/01/24}{\brand{MathJax}: Additional macros.}
 % \changes{v0.893}{2020/10/14}{\brand{MathJax}: Added \cs{mathnormal}.}
+% \changes{v0.894}{2020/12/22}{\brand{MathJax}: Added \cs{arabic}, \cs{number}, \cs{noalign}.}
 %
 % For footnotes, \cs{footnotename} is used in most cases, however
 % for \env{equation} the footnote is picked up from \LaTeX in \cs{LWR at doendequation}.
@@ -24753,7 +24783,14 @@
 \CustomizeMathJax{\newcommand{\footnote}[2][\LWRfootnote]{{}^{\mathrm{#1}}}}
 \CustomizeMathJax{\newcommand{\footnotemark}[1][\LWRfootnote]{{}^{\mathrm{#1}}}}
 %    \end{macrocode}
-
+%
+% \cs{hspace} is modified to accept and ignore a star:
+% \changes{v0.894}{2020/12/21}{\brand{MathJax}: Accept starred \cs{hspace}.}
+%    \begin{macrocode}
+\CustomizeMathJax{\let\LWRorighspace\hspace}
+\CustomizeMathJax{\renewcommand{\hspace}{\ifstar\LWRorighspace\LWRorighspace}}
+%    \end{macrocode}
+%
 % Various other customizations:
 %    \begin{macrocode}
 \CustomizeMathJax{\newcommand{\mathnormal}[1]{{#1}}}
@@ -24766,6 +24803,9 @@
 \CustomizeMathJax{\newcommand{\addtolength}[2]{}}
 \CustomizeMathJax{\newcommand{\setcounter}[2]{}}
 \CustomizeMathJax{\newcommand{\addtocounter}[2]{}}
+\CustomizeMathJax{\newcommand{\arabic}[1]{}}
+\CustomizeMathJax{\newcommand{\number}[1]{}}
+\CustomizeMathJax{\newcommand{\noalign}[1]{\text{#1}\notag \\}}
 \CustomizeMathJax{\newcommand{\cline}[1]{}}
 \CustomizeMathJax{\newcommand{\directlua}[1]{\text{(directlua)}}}
 \CustomizeMathJax{\newcommand{\luatexdirectlua}[1]{\text{(directlua)}}}
@@ -24779,6 +24819,8 @@
 \CustomizeMathJax{\newcommand{\protect}{}}
 \CustomizeMathJax{\def\LWRabsorbnumber#1 {}}
 \CustomizeMathJax{\def\LWRabsorbquotenumber"#1 {}}
+\CustomizeMathJax{\newcommand{\LWRabsorboption}[1][]{}}
+\CustomizeMathJax{\newcommand{\LWRabsorbtwooptions}[1][]{\LWRabsorboption}}
 \CustomizeMathJax{\def\mathchar{\ifnextchar"\LWRabsorbquotenumber\LWRabsorbnumber}}
 \CustomizeMathJax{\def\mathcode#1={\mathchar}}
 \CustomizeMathJax{\let\delcode\mathcode}
@@ -41413,13 +41455,12 @@
 %
 %
 % \section{\brand{MathJax} warnings}
-% ^^A *mathjax
 %
 % \begin{macro}{\LWR at mathjaxwarn} \marg{packagename} \marg{More text.}
 %
 % To be done \cs{AtBeginDocument}.
 %
-% \changes{v0.79}{2020/01/18}{Warn if using packages not supported by \brand{MathJax}.}
+% \changes{v0.79}{2020/01/18}{Warn if using packages partially supported by \brand{MathJax}.}
 %    \begin{macrocode}
 \newcommand*{\LWR at mathjaxwarn}[2]{%
     \@ifpackageloaded{lwarp-#1}{%
@@ -41440,6 +41481,52 @@
     }{}%
 }
 
+% \begin{macro}{\LWR at nomathjaxwarn} \marg{packagename} \marg{More text.}
+%
+% To be done \cs{AtBeginDocument}.
+%
+% \changes{v0.894}{2020/12/22}{Warn if using packages not supported by \brand{MathJax}.}
+%    \begin{macrocode}
+\newcommand*{\LWR at nomathjaxwarn}[2]{%
+    \@ifpackageloaded{lwarp-#1}{%
+        \ifblank{#2}{%
+            \PackageWarningNoLine{lwarp}
+                {%
+                    Lwarp does not provide MathJax support for #1%
+                }
+        }{%
+            \PackageWarningNoLine{lwarp}
+                {%
+                    Lwarp does not provide MathJax support for #1.\MessageBreak
+                    #2%
+                }
+        }%
+    }{}%
+}
+%    \end{macrocode}
+%
+% \begin{macro}{\LWR at forceSVGmessage} \marg{packagename}
+% \changes{v0.894}{2020/12/22}{Improved MathJax warnings.}
+%    \begin{macrocode}
+\newcommand*{\LWR at forceSVGmessage}[1]{%
+    SVG math output may be enabled for select math\MessageBreak
+    expressions to preserve #1 visual\MessageBreak
+    features for those particular expressions.\MessageBreak
+    Before the chosen inline math, use \protect\inlinemathother\MessageBreak
+    to begin using SVG math, and \protect\inlinemathnormal\MessageBreak
+    afterward to resume using MathJax math.\MessageBreak
+    Before display math, use \protect\displaymathother\MessageBreak
+    to begin using SVG math, and use \protect\displaymathnormal\MessageBreak
+    after to resume using MathJax for the following math%
+}
+%    \end{macrocode}
+% \end{macro}
+%
+% ^^A *mathjax warnings
+%
+% If \brand{MathJax} is being used, issue a warning for certain packages.
+% \changes{v0.894}{2020/12/22}{Improved MathJax warnings.}
+%    \begin{macrocode}
 \AtBeginDocument{
     \ifbool{mathjax}{
         \LWR at mathjaxwarn{arydshln}
@@ -41452,20 +41539,24 @@
             You may use the warpprint and warpHTML\MessageBreak
             environments to isolate the package load\MessageBreak
             and the equation+ environments}
-        \LWR at mathjaxwarn{backnaur}
-            {You may enclose its uses inside\MessageBreak
-            lateximage environments to force SVG output,\MessageBreak
-            but this also changes the print output}
         \LWR at mathjaxwarn{bigdelim}
             {Delimiters appear only of the first line}
         \LWR at mathjaxwarn{booktabs}
-            {In a math array, do not use (trim) for \protect\cmidrule}
+            {\protect\cmidrule\space is not displayed}
         \LWR at mathjaxwarn{breqn}
             {Each environment becomes an SVG image}
+        \LWR at mathjaxwarn{colortbl}
+            {Colors are ignored in MathJax.\MessageBreak
+            (Text mode tabular does support colortbl.)\MessageBreak
+            \LWR at forceSVGmessage{colortbl}}
         \LWR at mathjaxwarn{delarray}
-            {Enclose its uses inside lateximage\MessageBreak
-            environments to force SVG output}
-        \LWR at mathjaxwarn{jkmath}{}
+            {\LWR at forceSVGmessage{delarray}}
+        \LWR at nomathjaxwarn{gauss}
+            {\LWR at forceSVGmessage{gauss}}
+        \LWR at mathjaxwarn{hhline}
+            {A simple \protect\hline\space is used}
+        \LWR at nomathjaxwarn{jkmath}
+            {\LWR at forceSVGmessage{jkmath}}
         \LWR at mathjaxwarn{mathtools}
             {See the Lwarp manual regarding the disallowspaces\MessageBreak
             and showonlyrefs options, the alignat environment,\MessageBreak
@@ -41478,9 +41569,14 @@
             limited emulation is provided for MathJax math.\MessageBreak
             \protect\multirow\space ignores all arguments except\MessageBreak
             the text}
-        \LWR at mathjaxwarn{pb-diagram}
-            {Enclose its uses inside lateximage environments\MessageBreak
-            to force SVG output}
+        \LWR at mathjaxwarn{nicematrix}
+            {Keys/values are ignored in MathJax.\MessageBreak
+            \protect\Cdots, etc. do not span multiple cells.\MessageBreak
+            AutoNiceMatrix, etc. are not supported for MathJax.\MessageBreak
+            \LWR at forceSVGmessage{nicematrix}%
+            }
+        \LWR at nomathjaxwarn{pb-diagram}
+            {\LWR at forceSVGmessage{pb-diagram}}
 %         \LWR at mathjaxwarn{physics}
 % %             {The third-party extension is not used.\MessageBreak
 %             {The MathJax v3 extension is used.\MessageBreak
@@ -41492,13 +41588,13 @@
             Some symbol fonts are not supported by MathJax,\MessageBreak
             and are only approximated.\MessageBreak
             Latin characters may not be correct}
+        \LWR at nomathjaxwarn{unitsdef}{}
         \LWR at mathjaxwarn{witharrows}
             {Arrows can only point to the next line.\MessageBreak
             Text is only placed on a single line}
-        \LWR at mathjaxwarn{xy}
-            {xy works in text, but in math you must\MessageBreak
-            enclose its uses inside lateximage\MessageBreak
-            environments to force SVG output}
+        \LWR at nomathjaxwarn{xy}
+            {In text, xy works as-is.  SVG images will be generated.\MessageBreak
+            \LWR at forceSVGmessage{xy}}
     }{}
 }
 %    \end{macrocode}
@@ -44568,7 +44664,8 @@
 % \credits{Adrian P. Robson}
 %
 % \DescribePackage{backnaur}
-% \pkg{backnaur} is patched for use by \pkg{lwarp}.
+% \pkg{backnaur} is patched for use by \pkg{lwarp},
+% and emulated for \brand{MathJax}.
 %
 % \changes{v0.72}{2019/05/20}{\pkg{backnaur}: Added.}
 %
@@ -44629,6 +44726,43 @@
 % ^^A % \@ifpackagewith{backnaur}{epsilon}{\renewcommand{\bnfes}{\HTMLunicode{3f5}}}{}% \epsilon
 % ^^A %    \end{macrocode}
 %
+%
+% For \brand{MathJax}:
+%    \begin{macrocode}
+\begin{warpMathJax}
+\CustomizeMathJax{\newcommand{\bnfpn}[1]{\langle \text{\textrm{#1}} \rangle}}
+\CustomizeMathJax{\newcommand{\bnfor}{\; \mid \;}}
+\CustomizeMathJax{\newcommand{\bnfsp}{\;}}
+\@ifpackagewith{backnaur}{perp}{
+    \CustomizeMathJax{\newcommand{\bnfes}{\perp}}
+}{
+    \@ifpackagewith{backnaur}{epsilon}{
+        \CustomizeMathJax{\newcommand{\bnfes}{\epsilon}}
+    }{
+        \CustomizeMathJax{\newcommand{\bnfes}{\lambda}}
+    }
+}
+\@ifpackagewith{backnaur}{tsrm}{
+    \CustomizeMathJax{\newcommand{\bnfts}[1]{\text{#1}}}
+}{
+    \CustomizeMathJax{\newcommand{\bnfts}[1]{\text{\texttt{#1}}}}
+}
+\CustomizeMathJax{\newcommand{\bnftd}[1]{\text{\textit{#1}}}}
+\CustomizeMathJax{\newcommand{\bnfsk}{\dots}}
+\@ifpackagewith{backnaur}{altpo}{
+    \CustomizeMathJax{\newcommand{\bnfpo}{::=}}
+}{
+    \CustomizeMathJax{\newcommand{\bnfpo}{\models}}
+}
+\CustomizeMathJax{\newcommand{\bnfprod}{\ifstar{\LWRbnfprodnn}{\LWRbnfprodyn}}}
+\CustomizeMathJax{\newcommand{\LWRbnfprodyn}[2]{\bnfpn{#1} & \bnfpo & #2}}
+\CustomizeMathJax{\newcommand{\LWRbnfprodnn}[2]{\nonumber \bnfpn{#1} & \bnfpo & #2}}
+\CustomizeMathJax{\newcommand{\bnfmore}{\ifstar{\LWRbnfmorenn}{\LWRbnfmoreyn}}}
+\CustomizeMathJax{\newcommand{\LWRbnfmoreyn}[1]{ &  & #1}}
+\CustomizeMathJax{\newcommand{\LWRbnfmorenn}[1]{\nonumber &  & #1}}
+\end{warpMathJax}
+%    \end{macrocode}
+%
 % \iffalse
 %</backnaur>
 % \fi
@@ -45765,12 +45899,17 @@
 %
 % For \brand{MathJax}:
 % \changes{v0.79}{2020/01/30}{\pkg{booktabs}: Added \brand{MathJax} emulation.}
+% \changes{v0.894}{2020/12/22}{\pkg{booktabs}: \brand{MathJax}: Absorb \cs{cmidrule} trim arg.}
 %    \begin{macrocode}
 \begin{warpMathJax}
 \CustomizeMathJax{\newcommand{\toprule}[1][]{\hline}}
 \CustomizeMathJax{\let\midrule\toprule}
 \CustomizeMathJax{\let\bottomrule\toprule}
-\CustomizeMathJax{\newcommand{\cmidrule}[2][]{}}% avoid (trim)
+\CustomizeMathJax{\def\LWRbooktabscmidruleparen(#1)#2{}}
+\CustomizeMathJax{\newcommand{\LWRbooktabscmidrulenoparen}[1]{}}
+\CustomizeMathJax{\newcommand{\cmidrule}[1][]{%
+    \ifnextchar(\LWRbooktabscmidruleparen\LWRbooktabscmidrulenoparen%
+}}
 \CustomizeMathJax{\newcommand{\morecmidrules}{}}
 \CustomizeMathJax{\newcommand{\specialrule}[3]{\hline}}
 \CustomizeMathJax{\newcommand{\addlinespace}[1][]{}}
@@ -49624,6 +49763,17 @@
 %    \end{macrocode}
 % \end{noindmacro}
 
+% For \brand{MathJax}, colors are discarded.
+% \changes{v0.894}{2020/12/22}{\pkg{colortbl}: Added \brand{MathJax} emulation.}
+%    \begin{macrocode}
+\begin{warpMathJax}
+\CustomizeMathJax{\newcommand{\columncolor}[2][]{\LWRabsorbtwooptions}}
+\CustomizeMathJax{\let\rowcolor\columncolor}
+\CustomizeMathJax{\let\cellcolor\columncolor}
+\end{warpMathJax}
+%    \end{macrocode}
+
+
 % \iffalse
 %</colortbl>
 % \fi
@@ -64697,7 +64847,7 @@
 % \codehtml
 %
 %    \begin{macrocode}
-\LWR at ProvidesPackagePass{menukeys}[2020/10/31]
+\LWR at ProvidesPackagePass{menukeys}[2020/12/19]
 %    \end{macrocode}
 %
 % Patch to use a \env{lateximage} whose \attribute{alt} text
@@ -64704,8 +64854,9 @@
 % is the contents of this use of the macro.
 % A hash on these contents allows the reuse of the image for
 % each instance of the same contents.
+% \changes{v0.893}{2020/12/24}{\pkg{menukeys}: Updated to v1.6.1.}
 %    \begin{macrocode}
-\xpatchcmd{\tw at define@menu at macro}
+\xpatchcmd{\tw at define@menu at macro@}
     {\@nameuse{tw at style@#4 at pre}}
     {%
         \begin{lateximage}*[\detokenize{##2}]%
@@ -64712,9 +64863,9 @@
         \@nameuse{tw at style@#4 at pre}%
     }
     {}
-    {\LWR at patcherror{menukeys}{tw at define@menu at macro}}
+    {\LWR at patcherror{menukeys}{tw at define@menu at macro@}}
 
-\xpatchcmd{\tw at define@menu at macro}
+\xpatchcmd{\tw at define@menu at macro@}
     {\@nameuse{tw at style@#4 at post}}
     {%
         \@nameuse{tw at style@#4 at post}%
@@ -64721,7 +64872,7 @@
         \end{lateximage}%
     }
     {}
-    {\LWR at patcherror{menukeys}{tw at define@menu at macro B}}
+    {\LWR at patcherror{menukeys}{tw at define@menu at macro@ B}}
 %    \end{macrocode}
 %
 % Patch the existing macros:
@@ -67708,8 +67859,179 @@
 %
 %
 %
+% \iffalse
+%<*nicematrix>
+% \fi
 %
+% \part{lwarp-nicematrix.sty}
+%
+% \section{nicematrix}
+%
+% \credits{F. Pantigny}
+%
+% \DescribePackage{nicematrix}
+% \pkg{nicematrix} is used as-is for \SVG\ math, and
+% is emulated for \brand{MathJax}.
+%
+% Keys/values are ignored in \brand{MathJax}.
+% \trouble[\brand{MathJax}]{nicematrix=\pkg{nicematrix}}
+% \cs{Cdots}, etc. do not span multiple cells.
+% \env{AutoNiceMatrix}, etc. are not supported for \brand{MathJax}.
+% SVG math output preserves all nicematrix features.
+% To force SVG output for one or more consecutive
+% math expressions, for inline math use
+% \cs{inlinemathother} and \cs{inlinemathnormal}, or
+% for display math use \cs{displaymathother} and \cs{displaymathnormal}.
+% 
+% \changes{v0.894}{2020/12/21}{\pkg{nicematrix}: Added.}
+%
+% \codehtml
+%
+%    \begin{macrocode}
+\LWR at ProvidesPackagePass{nicematrix}[2020/11/23]
+%    \end{macrocode}
+%
+% \env{NiceTabular} must be converted to \SVG\ to support the
+% various \pkg{nicematrix} options:
+%    \begin{macrocode}
+\begin{warpHTML}
+\BeforeBeginEnvironment{NiceTabular}{%
+    \begin{lateximage}[-nicematrix-~\PackageDiagramAltText]%
+}
+\AfterEndEnvironment{NiceTabular}{\end{lateximage}}
+\BeforeBeginEnvironment{NiceTabular*}{%
+    \begin{lateximage}[-nicematrix-~\PackageDiagramAltText]%
+}
+\AfterEndEnvironment{NiceTabular*}{\end{lateximage}}
+\end{warpHTML}
+%    \end{macrocode}
+%
+% Special handling for the optional arguments, and the lack of a delimiter:
+%    \begin{macrocode}
+\begin{warpMathJax}
+\CustomizeMathJax{\newcommand{\LWRnicearrayarray}[1]{\begin{array}{#1}}}
+\CustomizeMathJax{\def\LWRnicearrayarrayopt#1[#2] {\begin{array}{#1}}}
+
+\CustomizeMathJax{%
+    \newenvironment{NiceArray}[2][]%
+        {\ifnextchar[{\LWRnicearrayarrayopt{#2}}{\LWRnicearrayarray{#2}}}%
+        {\end{array}}%
+}
+
+\CustomizeMathJax{%
+    \newcommand{\LWRnicearraywithdelimtwo}[2][]{%
+        \ifnextchar[{\LWRnicearrayarrayopt{#2}}{\LWRnicearrayarray{#2}}%
+    }%
+}
+%    \end{macrocode}
+%
+% General case with left \Slash right delimiters:
+%    \begin{macrocode}
+\CustomizeMathJax{%
+    \newenvironment{NiceArrayWithDelims}[2]%
+        {%
+            \def\LWRnicearrayrightdelim{\right#2}%
+            \left#1%
+            \LWRnicearraywithdelimtwo%
+        }%
+        {\end{array}\LWRnicearrayrightdelim}%
+}
+%    \end{macrocode}
+%
+% Instances of specific delimiters:
+%    \begin{macrocode}
+\CustomizeMathJax{%
+    \newenvironment{pNiceArray}
+        {\begin{NiceArrayWithDelims}{(}{)}}
+        {\end{NiceArrayWithDelims}}
+}
+
+\CustomizeMathJax{%
+    \newenvironment{bNiceArray}
+        {\begin{NiceArrayWithDelims}{[}{]}}
+        {\end{NiceArrayWithDelims}}
+}
+
+\CustomizeMathJax{%
+    \newenvironment{BNiceArray}
+        {\begin{NiceArrayWithDelims}{\{}{\}}}
+        {\end{NiceArrayWithDelims}}
+}
+
+\CustomizeMathJax{%
+    \newenvironment{vNiceArray}
+        {\begin{NiceArrayWithDelims}{\vert}{\vert}}
+        {\end{NiceArrayWithDelims}}
+}
+
+\CustomizeMathJax{%
+    \newenvironment{VNiceArray}
+        {\begin{NiceArrayWithDelims}{\Vert}{\Vert}}
+        {\end{NiceArrayWithDelims}}
+}
+%    \end{macrocode}
+%
+% Ignore optional arg and use standard environments:
+%    \begin{macrocode}
+\CustomizeMathJax{\newenvironment{NiceMatrix}[1][]{\begin{matrix}}{\end{matrix}}}
+\CustomizeMathJax{\newenvironment{pNiceMatrix}[1][]{\begin{pmatrix}}{\end{pmatrix}}}
+\CustomizeMathJax{\newenvironment{bNiceMatrix}[1][]{\begin{bmatrix}}{\end{bmatrix}}}
+\CustomizeMathJax{\newenvironment{BNiceMatrix}[1][]{\begin{Bmatrix}}{\end{Bmatrix}}}
+\CustomizeMathJax{\newenvironment{vNiceMatrix}[1][]{\begin{vmatrix}}{\end{vmatrix}}}
+\CustomizeMathJax{\newenvironment{VNiceMatrix}[1][]{\begin{Vmatrix}}{\end{Vmatrix}}}
+%    \end{macrocode}
+%
+% Ignore optional argument and size.  Print contents.
+%    \begin{macrocode}
+\CustomizeMathJax{\newcommand{\LWRnicematrixBlock}[1]{#1}}
+\CustomizeMathJax{\def\LWRnicematrixBlockopt<#1>#2{#2}}
+
+\CustomizeMathJax{%
+    \newcommand{\Block}[2][]{\ifnextchar<\LWRnicematrixBlockopt\LWRnicematrixBlock}%
+}
+%    \end{macrocode}
+%
+% Form an approximation:
+%    \begin{macrocode}
+\CustomizeMathJax{%
+    \newcommand{\diagbox}[2]{%
+        \begin{array}{l}\hfill\quad#2\\\hline#1\quad\hfill\end{array}%
+    }%
+}
+%    \end{macrocode}
+%
+% More approximations:
+%    \begin{macrocode}
+\CustomizeMathJax{\let\hdottedline\hdashline}
+
+\CustomizeMathJax{\newcommand{\ldots}[1][]{\dots}}
+\CustomizeMathJax{\newcommand{\Cdots}[1][]{\cdots}}
+\CustomizeMathJax{\newcommand{\Vdots}[1][]{\vdots}}
+\CustomizeMathJax{\newcommand{\Ddots}[1][]{\ddots}}
+\CustomizeMathJax{\newcommand{\Iddots}[1][]{\mathinner{\unicode{x22F0}}}}
+
+\CustomizeMathJax{\newcommand{\Hdotsfor}[1]{\ldots}}
+\CustomizeMathJax{\newcommand{\Vdotsfor}[1]{\vdots}}
+%    \end{macrocode}
+%
+% There is no way to emulate \env{AutoNiceMatrix} in \brand{MathJax}.
+%    \begin{macrocode}
+\CustomizeMathJax{\newcommand{\AutoNiceMatrix}[2]{\text{(AutoNiceMatrix #1)}}}
+\CustomizeMathJax{\let\pAutoNiceMatrix\AutoNiceMatrix}
+\CustomizeMathJax{\let\bAutoNiceMatrix\AutoNiceMatrix}
+\CustomizeMathJax{\let\BAutoNiceMatrix\AutoNiceMatrix}
+\CustomizeMathJax{\let\vAutoNiceMatrix\AutoNiceMatrix}
+\CustomizeMathJax{\let\VAutoNiceMatrix\AutoNiceMatrix}
+\end{warpMathJax}
+%    \end{macrocode}
+%
 % \iffalse
+%</nicematrix>
+% \fi
+%
+%
+%
+% \iffalse
 %<*noitcrul>
 % \fi
 %
@@ -72071,11 +72393,12 @@
 % emulated for \brand{MathJax}.
 %
 % \changes{v0.80}{2020/02/17}{\pkg{rmathbr}: Added.}
+% \changes{v0.894}{2020/12/16}{\pkg{rmathbr}: Updated to v1.1.}
 %
 % \codehtml
 %
 %    \begin{macrocode}
-\LWR at ProvidesPackagePass{rmathbr}[2016/04/10]
+\LWR at ProvidesPackagePass{rmathbr}[2020/12/11]
 %    \end{macrocode}
 %
 %    \begin{macrocode}

Modified: trunk/Master/texmf-dist/source/latex/lwarp/lwarp.ins
===================================================================
--- trunk/Master/texmf-dist/source/latex/lwarp/lwarp.ins	2020-12-24 07:21:30 UTC (rev 57216)
+++ trunk/Master/texmf-dist/source/latex/lwarp/lwarp.ins	2020-12-24 22:28:40 UTC (rev 57217)
@@ -347,6 +347,7 @@
 \file{lwarp-nfssext-cfr.sty}{\from{lwarp.dtx}{nfssext-cfr}}
 \file{lwarp-nicefrac.sty}{\from{lwarp.dtx}{nicefrac}}
 \file{lwarp-niceframe.sty}{\from{lwarp.dtx}{niceframe}}
+\file{lwarp-nicematrix.sty}{\from{lwarp.dtx}{nicematrix}}
 \file{lwarp-noitcrul.sty}{\from{lwarp.dtx}{noitcrul}}
 \file{lwarp-nolbreaks.sty}{\from{lwarp.dtx}{nolbreaks}}
 \file{lwarp-nomencl.sty}{\from{lwarp.dtx}{nomencl}}

Modified: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-backnaur.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-backnaur.sty	2020-12-24 07:21:30 UTC (rev 57216)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-backnaur.sty	2020-12-24 22:28:40 UTC (rev 57217)
@@ -18,6 +18,38 @@
 \LWR at ProvidesPackagePass{backnaur}[2019/06/18]
 \renewenvironment{bnf}{\eqnarray}{\endeqnarray}
 \renewenvironment{bnf*}{\csuse{eqnarray*}}{\csuse{endeqnarray*}}
+\begin{warpMathJax}
+\CustomizeMathJax{\newcommand{\bnfpn}[1]{\langle \text{\textrm{#1}} \rangle}}
+\CustomizeMathJax{\newcommand{\bnfor}{\; \mid \;}}
+\CustomizeMathJax{\newcommand{\bnfsp}{\;}}
+\@ifpackagewith{backnaur}{perp}{
+    \CustomizeMathJax{\newcommand{\bnfes}{\perp}}
+}{
+    \@ifpackagewith{backnaur}{epsilon}{
+        \CustomizeMathJax{\newcommand{\bnfes}{\epsilon}}
+    }{
+        \CustomizeMathJax{\newcommand{\bnfes}{\lambda}}
+    }
+}
+\@ifpackagewith{backnaur}{tsrm}{
+    \CustomizeMathJax{\newcommand{\bnfts}[1]{\text{#1}}}
+}{
+    \CustomizeMathJax{\newcommand{\bnfts}[1]{\text{\texttt{#1}}}}
+}
+\CustomizeMathJax{\newcommand{\bnftd}[1]{\text{\textit{#1}}}}
+\CustomizeMathJax{\newcommand{\bnfsk}{\dots}}
+\@ifpackagewith{backnaur}{altpo}{
+    \CustomizeMathJax{\newcommand{\bnfpo}{::=}}
+}{
+    \CustomizeMathJax{\newcommand{\bnfpo}{\models}}
+}
+\CustomizeMathJax{\newcommand{\bnfprod}{\ifstar{\LWRbnfprodnn}{\LWRbnfprodyn}}}
+\CustomizeMathJax{\newcommand{\LWRbnfprodyn}[2]{\bnfpn{#1} & \bnfpo & #2}}
+\CustomizeMathJax{\newcommand{\LWRbnfprodnn}[2]{\nonumber \bnfpn{#1} & \bnfpo & #2}}
+\CustomizeMathJax{\newcommand{\bnfmore}{\ifstar{\LWRbnfmorenn}{\LWRbnfmoreyn}}}
+\CustomizeMathJax{\newcommand{\LWRbnfmoreyn}[1]{ &  & #1}}
+\CustomizeMathJax{\newcommand{\LWRbnfmorenn}[1]{\nonumber &  & #1}}
+\end{warpMathJax}
 \endinput
 %%
 %% End of file `lwarp-backnaur.sty'.

Modified: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-booktabs.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-booktabs.sty	2020-12-24 07:21:30 UTC (rev 57216)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-booktabs.sty	2020-12-24 22:28:40 UTC (rev 57217)
@@ -88,7 +88,11 @@
 \CustomizeMathJax{\newcommand{\toprule}[1][]{\hline}}
 \CustomizeMathJax{\let\midrule\toprule}
 \CustomizeMathJax{\let\bottomrule\toprule}
-\CustomizeMathJax{\newcommand{\cmidrule}[2][]{}}% avoid (trim)
+\CustomizeMathJax{\def\LWRbooktabscmidruleparen(#1)#2{}}
+\CustomizeMathJax{\newcommand{\LWRbooktabscmidrulenoparen}[1]{}}
+\CustomizeMathJax{\newcommand{\cmidrule}[1][]{%
+    \ifnextchar(\LWRbooktabscmidruleparen\LWRbooktabscmidrulenoparen%
+}}
 \CustomizeMathJax{\newcommand{\morecmidrules}{}}
 \CustomizeMathJax{\newcommand{\specialrule}[3]{\hline}}
 \CustomizeMathJax{\newcommand{\addlinespace}[1][]{}}

Modified: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-colortbl.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-colortbl.sty	2020-12-24 07:21:30 UTC (rev 57216)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-colortbl.sty	2020-12-24 22:28:40 UTC (rev 57217)
@@ -58,6 +58,12 @@
 
 \AtBeginDocument{\LWR at expandableformatted{doublerulesepcolornexttoken}}
 
+\begin{warpMathJax}
+\CustomizeMathJax{\newcommand{\columncolor}[2][]{\LWRabsorbtwooptions}}
+\CustomizeMathJax{\let\rowcolor\columncolor}
+\CustomizeMathJax{\let\cellcolor\columncolor}
+\end{warpMathJax}
+
 \endinput
 %%
 %% End of file `lwarp-colortbl.sty'.

Modified: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-menukeys.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-menukeys.sty	2020-12-24 07:21:30 UTC (rev 57216)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-menukeys.sty	2020-12-24 22:28:40 UTC (rev 57217)
@@ -15,8 +15,8 @@
 %%   http://www.latex-project.org/lppl.txt
 %% and version 1.3 or later is part of all distributions of LaTeX
 %% version 2005/12/01 or later.
-\LWR at ProvidesPackagePass{menukeys}[2020/10/31]
-\xpatchcmd{\tw at define@menu at macro}
+\LWR at ProvidesPackagePass{menukeys}[2020/12/19]
+\xpatchcmd{\tw at define@menu at macro@}
     {\@nameuse{tw at style@#4 at pre}}
     {%
         \begin{lateximage}*[\detokenize{##2}]%
@@ -23,9 +23,9 @@
         \@nameuse{tw at style@#4 at pre}%
     }
     {}
-    {\LWR at patcherror{menukeys}{tw at define@menu at macro}}
+    {\LWR at patcherror{menukeys}{tw at define@menu at macro@}}
 
-\xpatchcmd{\tw at define@menu at macro}
+\xpatchcmd{\tw at define@menu at macro@}
     {\@nameuse{tw at style@#4 at post}}
     {%
         \@nameuse{tw at style@#4 at post}%
@@ -32,7 +32,7 @@
         \end{lateximage}%
     }
     {}
-    {\LWR at patcherror{menukeys}{tw at define@menu at macro B}}
+    {\LWR at patcherror{menukeys}{tw at define@menu at macro@ B}}
 \renewmenumacro{\menu}[>]{menus}
 \renewmenumacro{\directory}[/]{paths}
 \renewmenumacro{\keys}[+]{roundedkeys}

Added: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-nicematrix.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-nicematrix.sty	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-nicematrix.sty	2020-12-24 22:28:40 UTC (rev 57217)
@@ -0,0 +1,118 @@
+%%
+%% This is file `lwarp-nicematrix.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx  (with options: `nicematrix')
+%% This is a generated file.
+%% Copyright 2016-2020 Brian Dunn
+%% 
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%%   http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+\LWR at ProvidesPackagePass{nicematrix}[2020/11/23]
+\begin{warpHTML}
+\BeforeBeginEnvironment{NiceTabular}{%
+    \begin{lateximage}[-nicematrix-~\PackageDiagramAltText]%
+}
+\AfterEndEnvironment{NiceTabular}{\end{lateximage}}
+\BeforeBeginEnvironment{NiceTabular*}{%
+    \begin{lateximage}[-nicematrix-~\PackageDiagramAltText]%
+}
+\AfterEndEnvironment{NiceTabular*}{\end{lateximage}}
+\end{warpHTML}
+\begin{warpMathJax}
+\CustomizeMathJax{\newcommand{\LWRnicearrayarray}[1]{\begin{array}{#1}}}
+\CustomizeMathJax{\def\LWRnicearrayarrayopt#1[#2] {\begin{array}{#1}}}
+
+\CustomizeMathJax{%
+    \newenvironment{NiceArray}[2][]%
+        {\ifnextchar[{\LWRnicearrayarrayopt{#2}}{\LWRnicearrayarray{#2}}}%
+        {\end{array}}%
+}
+
+\CustomizeMathJax{%
+    \newcommand{\LWRnicearraywithdelimtwo}[2][]{%
+        \ifnextchar[{\LWRnicearrayarrayopt{#2}}{\LWRnicearrayarray{#2}}%
+    }%
+}
+\CustomizeMathJax{%
+    \newenvironment{NiceArrayWithDelims}[2]%
+        {%
+            \def\LWRnicearrayrightdelim{\right#2}%
+            \left#1%
+            \LWRnicearraywithdelimtwo%
+        }%
+        {\end{array}\LWRnicearrayrightdelim}%
+}
+\CustomizeMathJax{%
+    \newenvironment{pNiceArray}
+        {\begin{NiceArrayWithDelims}{(}{)}}
+        {\end{NiceArrayWithDelims}}
+}
+
+\CustomizeMathJax{%
+    \newenvironment{bNiceArray}
+        {\begin{NiceArrayWithDelims}{[}{]}}
+        {\end{NiceArrayWithDelims}}
+}
+
+\CustomizeMathJax{%
+    \newenvironment{BNiceArray}
+        {\begin{NiceArrayWithDelims}{\{}{\}}}
+        {\end{NiceArrayWithDelims}}
+}
+
+\CustomizeMathJax{%
+    \newenvironment{vNiceArray}
+        {\begin{NiceArrayWithDelims}{\vert}{\vert}}
+        {\end{NiceArrayWithDelims}}
+}
+
+\CustomizeMathJax{%
+    \newenvironment{VNiceArray}
+        {\begin{NiceArrayWithDelims}{\Vert}{\Vert}}
+        {\end{NiceArrayWithDelims}}
+}
+\CustomizeMathJax{\newenvironment{NiceMatrix}[1][]{\begin{matrix}}{\end{matrix}}}
+\CustomizeMathJax{\newenvironment{pNiceMatrix}[1][]{\begin{pmatrix}}{\end{pmatrix}}}
+\CustomizeMathJax{\newenvironment{bNiceMatrix}[1][]{\begin{bmatrix}}{\end{bmatrix}}}
+\CustomizeMathJax{\newenvironment{BNiceMatrix}[1][]{\begin{Bmatrix}}{\end{Bmatrix}}}
+\CustomizeMathJax{\newenvironment{vNiceMatrix}[1][]{\begin{vmatrix}}{\end{vmatrix}}}
+\CustomizeMathJax{\newenvironment{VNiceMatrix}[1][]{\begin{Vmatrix}}{\end{Vmatrix}}}
+\CustomizeMathJax{\newcommand{\LWRnicematrixBlock}[1]{#1}}
+\CustomizeMathJax{\def\LWRnicematrixBlockopt<#1>#2{#2}}
+
+\CustomizeMathJax{%
+    \newcommand{\Block}[2][]{\ifnextchar<\LWRnicematrixBlockopt\LWRnicematrixBlock}%
+}
+\CustomizeMathJax{%
+    \newcommand{\diagbox}[2]{%
+        \begin{array}{l}\hfill\quad#2\\\hline#1\quad\hfill\end{array}%
+    }%
+}
+\CustomizeMathJax{\let\hdottedline\hdashline}
+
+\CustomizeMathJax{\newcommand{\ldots}[1][]{\dots}}
+\CustomizeMathJax{\newcommand{\Cdots}[1][]{\cdots}}
+\CustomizeMathJax{\newcommand{\Vdots}[1][]{\vdots}}
+\CustomizeMathJax{\newcommand{\Ddots}[1][]{\ddots}}
+\CustomizeMathJax{\newcommand{\Iddots}[1][]{\mathinner{\unicode{x22F0}}}}
+
+\CustomizeMathJax{\newcommand{\Hdotsfor}[1]{\ldots}}
+\CustomizeMathJax{\newcommand{\Vdotsfor}[1]{\vdots}}
+\CustomizeMathJax{\newcommand{\AutoNiceMatrix}[2]{\text{(AutoNiceMatrix #1)}}}
+\CustomizeMathJax{\let\pAutoNiceMatrix\AutoNiceMatrix}
+\CustomizeMathJax{\let\bAutoNiceMatrix\AutoNiceMatrix}
+\CustomizeMathJax{\let\BAutoNiceMatrix\AutoNiceMatrix}
+\CustomizeMathJax{\let\vAutoNiceMatrix\AutoNiceMatrix}
+\CustomizeMathJax{\let\VAutoNiceMatrix\AutoNiceMatrix}
+\end{warpMathJax}
+\endinput
+%%
+%% End of file `lwarp-nicematrix.sty'.


Property changes on: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-nicematrix.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-rmathbr.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-rmathbr.sty	2020-12-24 07:21:30 UTC (rev 57216)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-rmathbr.sty	2020-12-24 22:28:40 UTC (rev 57217)
@@ -15,7 +15,7 @@
 %%   http://www.latex-project.org/lppl.txt
 %% and version 1.3 or later is part of all distributions of LaTeX
 %% version 2005/12/01 or later.
-\LWR at ProvidesPackagePass{rmathbr}[2016/04/10]
+\LWR at ProvidesPackagePass{rmathbr}[2020/12/11]
 \begin{warpMathJax}
 \CustomizeMathJax{\def\*{~}}
 \CustomizeMathJax{\newcommand{\cdott}{\cdot}}

Modified: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp.sty	2020-12-24 07:21:30 UTC (rev 57216)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp.sty	2020-12-24 22:28:40 UTC (rev 57217)
@@ -17,7 +17,7 @@
 %% version 2005/12/01 or later.
 \NeedsTeXFormat{LaTeX2e}[1999/12/01]
 \ProvidesPackage{lwarp}
-    [2020/11/26 v0.893  Allows LaTeX to directly produce HTML5 output.]
+    [2020/12/24 v0.894  Allows LaTeX to directly produce HTML5 output.]
 
 
 
@@ -471,6 +471,7 @@
 \LWR at notmemoirloadafter{nextpage}
 \LWR at loadafter{nicefrac}
 \LWR at loadafter{niceframe}
+\LWR at loadafter{nicematrix}
 \LWR at loadafter{noitcrul}
 \LWR at loadafter{nolbreaks}
 \LWR at loadafter{nomencl}
@@ -798,7 +799,7 @@
         {%
             Unable to patch package #1,\MessageBreak
             macro \LWRbackslash #2.\MessageBreak
-            Lwarp may need to be updated%
+            Lwarp or #1 may need to be updated%
         }%
         {Please contact the maintainer of the Lwarp package.}%
 }
@@ -3085,7 +3086,10 @@
 
 dl dd p { margin-top: 0em; }
 
-dd ul, dd ol, dd dl { clear: both ; padding-top: 1ex }
+dd ul, dd ol, dd dl {
+    clear: both ;
+/*    padding-top: 1ex ; */
+}
 
 nav {
     font-family: "URW Classico", Optima, "Linux Biolinum O",
@@ -3750,6 +3754,9 @@
 /*
 For CSS LaTeX and related logos:
 Based on spacing demonstrated by the metafont package.
+
+The subscripts are shrunk instead of lowered below the baseline,
+to avoid browser rendering errors with the line height in lists, etc.
 */
 
 .latexlogofont {
@@ -3761,7 +3768,6 @@
 .latexlogo {
     font-family: "Linux Libertine O", "Nimbus Roman No 9 L",
         "FreeSerif", "Hoefler Text", Times, "Times New Roman", serif;
-    font-size: 1.1em;
 }
 
 .latexlogosup {
@@ -3775,10 +3781,11 @@
 
 .latexlogosub {
   text-transform: uppercase;
-  vertical-align: -0.27ex;
+/*  vertical-align: -0.27ex; */
   margin-left: -0.08em;
   margin-right: -0.07em;
-  font-size: 1em;
+/*  font-size: 1em; */
+    font-size: .7em ;
 }
 
 .latexlogotwoe {
@@ -3788,10 +3795,11 @@
 
 .latexlogotwoesub {
   font-style:italic ;
-  vertical-align: -0.27ex;
+/*  vertical-align: -0.27ex; */
   margin-left: -0.11em;
   margin-right: -0.1em;
-  font-size: 1em;
+/*  font-size: 1em; */
+    font-size: .7em ;
 }
 
 .xelatexlogo {
@@ -3798,14 +3806,14 @@
     font-family: "Linux Libertine O", "Nimbus Roman No 9 L",
         "FreeSerif", "Hoefler Text", Times, "Times New Roman", serif;
     letter-spacing: .03em ;
-    font-size: 1.1em;
 }
 
 .xelatexlogosub {
-  vertical-align: -0.27ex;
+/*  vertical-align: -0.27ex; */
   margin-left: -0.0667em;
   margin-right: -.05em;
-  font-size: 1em;
+/*  font-size: 1em; */
+    font-size: .7em ;
   letter-spacing: .03em ;
 }
 
@@ -4590,7 +4598,7 @@
 
 -- Copyright 2016-2020 Brian Dunn
 
-printversion = "v0.893"
+printversion = "v0.894"
 requiredconfversion = "2" -- also at *lwarpmk.conf
 
 function printhelp ()
@@ -7076,7 +7084,8 @@
 \CustomizeMathJax{\def\LWRfootnote{1}}
 \CustomizeMathJax{\newcommand{\footnote}[2][\LWRfootnote]{{}^{\mathrm{#1}}}}
 \CustomizeMathJax{\newcommand{\footnotemark}[1][\LWRfootnote]{{}^{\mathrm{#1}}}}
-
+\CustomizeMathJax{\let\LWRorighspace\hspace}
+\CustomizeMathJax{\renewcommand{\hspace}{\ifstar\LWRorighspace\LWRorighspace}}
 \CustomizeMathJax{\newcommand{\mathnormal}[1]{{#1}}}
 \CustomizeMathJax{\newcommand\ensuremath[1]{#1}}
 \CustomizeMathJax{% absorb two optional arguments
@@ -7087,6 +7096,9 @@
 \CustomizeMathJax{\newcommand{\addtolength}[2]{}}
 \CustomizeMathJax{\newcommand{\setcounter}[2]{}}
 \CustomizeMathJax{\newcommand{\addtocounter}[2]{}}
+\CustomizeMathJax{\newcommand{\arabic}[1]{}}
+\CustomizeMathJax{\newcommand{\number}[1]{}}
+\CustomizeMathJax{\newcommand{\noalign}[1]{\text{#1}\notag \\}}
 \CustomizeMathJax{\newcommand{\cline}[1]{}}
 \CustomizeMathJax{\newcommand{\directlua}[1]{\text{(directlua)}}}
 \CustomizeMathJax{\newcommand{\luatexdirectlua}[1]{\text{(directlua)}}}
@@ -7093,6 +7105,8 @@
 \CustomizeMathJax{\newcommand{\protect}{}}
 \CustomizeMathJax{\def\LWRabsorbnumber#1 {}}
 \CustomizeMathJax{\def\LWRabsorbquotenumber"#1 {}}
+\CustomizeMathJax{\newcommand{\LWRabsorboption}[1][]{}}
+\CustomizeMathJax{\newcommand{\LWRabsorbtwooptions}[1][]{\LWRabsorboption}}
 \CustomizeMathJax{\def\mathchar{\ifnextchar"\LWRabsorbquotenumber\LWRabsorbnumber}}
 \CustomizeMathJax{\def\mathcode#1={\mathchar}}
 \CustomizeMathJax{\let\delcode\mathcode}
@@ -14125,6 +14139,33 @@
     }{}%
 }
 
+\newcommand*{\LWR at nomathjaxwarn}[2]{%
+    \@ifpackageloaded{lwarp-#1}{%
+        \ifblank{#2}{%
+            \PackageWarningNoLine{lwarp}
+                {%
+                    Lwarp does not provide MathJax support for #1%
+                }
+        }{%
+            \PackageWarningNoLine{lwarp}
+                {%
+                    Lwarp does not provide MathJax support for #1.\MessageBreak
+                    #2%
+                }
+        }%
+    }{}%
+}
+\newcommand*{\LWR at forceSVGmessage}[1]{%
+    SVG math output may be enabled for select math\MessageBreak
+    expressions to preserve #1 visual\MessageBreak
+    features for those particular expressions.\MessageBreak
+    Before the chosen inline math, use \protect\inlinemathother\MessageBreak
+    to begin using SVG math, and \protect\inlinemathnormal\MessageBreak
+    afterward to resume using MathJax math.\MessageBreak
+    Before display math, use \protect\displaymathother\MessageBreak
+    to begin using SVG math, and use \protect\displaymathnormal\MessageBreak
+    after to resume using MathJax for the following math%
+}
 \AtBeginDocument{
     \ifbool{mathjax}{
         \LWR at mathjaxwarn{arydshln}
@@ -14137,20 +14178,24 @@
             You may use the warpprint and warpHTML\MessageBreak
             environments to isolate the package load\MessageBreak
             and the equation+ environments}
-        \LWR at mathjaxwarn{backnaur}
-            {You may enclose its uses inside\MessageBreak
-            lateximage environments to force SVG output,\MessageBreak
-            but this also changes the print output}
         \LWR at mathjaxwarn{bigdelim}
             {Delimiters appear only of the first line}
         \LWR at mathjaxwarn{booktabs}
-            {In a math array, do not use (trim) for \protect\cmidrule}
+            {\protect\cmidrule\space is not displayed}
         \LWR at mathjaxwarn{breqn}
             {Each environment becomes an SVG image}
+        \LWR at mathjaxwarn{colortbl}
+            {Colors are ignored in MathJax.\MessageBreak
+            (Text mode tabular does support colortbl.)\MessageBreak
+            \LWR at forceSVGmessage{colortbl}}
         \LWR at mathjaxwarn{delarray}
-            {Enclose its uses inside lateximage\MessageBreak
-            environments to force SVG output}
-        \LWR at mathjaxwarn{jkmath}{}
+            {\LWR at forceSVGmessage{delarray}}
+        \LWR at nomathjaxwarn{gauss}
+            {\LWR at forceSVGmessage{gauss}}
+        \LWR at mathjaxwarn{hhline}
+            {A simple \protect\hline\space is used}
+        \LWR at nomathjaxwarn{jkmath}
+            {\LWR at forceSVGmessage{jkmath}}
         \LWR at mathjaxwarn{mathtools}
             {See the Lwarp manual regarding the disallowspaces\MessageBreak
             and showonlyrefs options, the alignat environment,\MessageBreak
@@ -14163,9 +14208,14 @@
             limited emulation is provided for MathJax math.\MessageBreak
             \protect\multirow\space ignores all arguments except\MessageBreak
             the text}
-        \LWR at mathjaxwarn{pb-diagram}
-            {Enclose its uses inside lateximage environments\MessageBreak
-            to force SVG output}
+        \LWR at mathjaxwarn{nicematrix}
+            {Keys/values are ignored in MathJax.\MessageBreak
+            \protect\Cdots, etc. do not span multiple cells.\MessageBreak
+            AutoNiceMatrix, etc. are not supported for MathJax.\MessageBreak
+            \LWR at forceSVGmessage{nicematrix}%
+            }
+        \LWR at nomathjaxwarn{pb-diagram}
+            {\LWR at forceSVGmessage{pb-diagram}}
         \LWR at mathjaxwarn{unicode-math}
             {Do not use embedded Unicode characters.\MessageBreak
             Not all characters are encoded correctly.\MessageBreak
@@ -14173,13 +14223,13 @@
             Some symbol fonts are not supported by MathJax,\MessageBreak
             and are only approximated.\MessageBreak
             Latin characters may not be correct}
+        \LWR at nomathjaxwarn{unitsdef}{}
         \LWR at mathjaxwarn{witharrows}
             {Arrows can only point to the next line.\MessageBreak
             Text is only placed on a single line}
-        \LWR at mathjaxwarn{xy}
-            {xy works in text, but in math you must\MessageBreak
-            enclose its uses inside lateximage\MessageBreak
-            environments to force SVG output}
+        \LWR at nomathjaxwarn{xy}
+            {In text, xy works as-is.  SVG images will be generated.\MessageBreak
+            \LWR at forceSVGmessage{xy}}
     }{}
 }
 \endinput



More information about the tex-live-commits mailing list.