texlive[63712] trunk: lwarp (24jun22)

commits+karl at tug.org commits+karl at tug.org
Fri Jun 24 23:53:10 CEST 2022


Revision: 63712
          http://tug.org/svn/texlive?view=revision&revision=63712
Author:   karl
Date:     2022-06-24 23:53:10 +0200 (Fri, 24 Jun 2022)
Log Message:
-----------
lwarp (24jun22)

Modified Paths:
--------------
    trunk/Build/source/texk/texlive/linked_scripts/lwarp/lwarpmk.lua
    trunk/Build/source/texk/texlive/linked_scripts/texlive/updmap.pl
    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/tex/latex/lwarp/lwarp-booktabs.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-chemmacros.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-jurabib.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-mdframed.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-thmbox.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-todo.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-unitsdef.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp.sty

Modified: trunk/Build/source/texk/texlive/linked_scripts/lwarp/lwarpmk.lua
===================================================================
--- trunk/Build/source/texk/texlive/linked_scripts/lwarp/lwarpmk.lua	2022-06-24 21:51:50 UTC (rev 63711)
+++ trunk/Build/source/texk/texlive/linked_scripts/lwarp/lwarpmk.lua	2022-06-24 21:53:10 UTC (rev 63712)
@@ -2,7 +2,7 @@
 
 -- Copyright 2016-2022 Brian Dunn
 
-printversion = "v0.905"
+printversion = "v0.906"
 requiredconfversion = "2" -- also at *lwarpmk.conf
 
 function printhelp ()
@@ -515,7 +515,7 @@
         imagesdirectory .. dirslash .."lateximagetemp-%d" .. ".pdf" ..
         seqname ..
     -- Crop the image:
-    "pdfcrop  --hires  " .. imagesdirectory .. dirslash .. "lateximagetemp-" ..
+    "pdfcrop  --hires  --margin \"0 1 0 0\"  " .. imagesdirectory .. dirslash .. "lateximagetemp-" ..
         lwimgpage .. ".pdf " ..
         imagesdirectory .. dirslash .. lwimgname .. ".pdf" ..
         seqname ..

Modified: trunk/Build/source/texk/texlive/linked_scripts/texlive/updmap.pl
===================================================================
--- trunk/Build/source/texk/texlive/linked_scripts/texlive/updmap.pl	2022-06-24 21:51:50 UTC (rev 63711)
+++ trunk/Build/source/texk/texlive/linked_scripts/texlive/updmap.pl	2022-06-24 21:53:10 UTC (rev 63712)
@@ -1,20 +1,19 @@
 #!/usr/bin/env perl
-# $Id: updmap.pl 59152 2021-05-09 21:49:52Z karl $
+# $Id: updmap.pl 63644 2022-06-18 22:30:39Z karl $
 # updmap - maintain map files for outline fonts.
 # (Maintained in TeX Live:Master/texmf-dist/scripts/texlive.)
 # 
-# Copyright 2011-2021 Norbert Preining
+# Copyright 2011-2022 Norbert Preining
 # This file is licensed under the GNU General Public License version 2
 # or any later version.
 #
 # History:
-# Original shell script (C) 2002 Thomas Esser
+# Original shell script (C) 2002 Thomas Esser, released to the public domain.
 # first perl variant by Fabrice Popineau
-# later adaptions by Reinhard Kotucha and Karl Berry
-# the original versions were licensed under the following agreement:
-# Anyone may freely use, modify, and/or distribute this file, without
+# later adaptions by Reinhard Kotucha, and Karl Berry.
+# The current implementation is a complete rewrite.
 
-my $svnid = '$Id: updmap.pl 59152 2021-05-09 21:49:52Z karl $';
+my $svnid = '$Id: updmap.pl 63644 2022-06-18 22:30:39Z karl $';
 
 my $TEXMFROOT;
 BEGIN {
@@ -27,10 +26,10 @@
   unshift(@INC, "$TEXMFROOT/tlpkg");
 }
 
-my $lastchdate = '$Date: 2021-05-09 23:49:52 +0200 (Sun, 09 May 2021) $';
+my $lastchdate = '$Date: 2022-06-19 00:30:39 +0200 (Sun, 19 Jun 2022) $';
 $lastchdate =~ s/^\$Date:\s*//;
 $lastchdate =~ s/ \(.*$//;
-my $svnrev = '$Revision: 59152 $';
+my $svnrev = '$Revision: 63644 $';
 $svnrev =~ s/^\$Revision:\s*//;
 $svnrev =~ s/\s*\$$//;
 my $version = "r$svnrev ($lastchdate)";
@@ -481,7 +480,8 @@
   }
 
   if (!$opts{'nohash'}) {
-    print "$prg: Updating ls-R files.\n" if !$opts{'quiet'};
+    my $not = $opts{"dry-run"} ? " not (-n)" : "";
+    print "$prg:$not updating ls-R files.\n" if !$opts{'quiet'};
     $updLSR->{exec}() unless $opts{"dry-run"};
   }
 
@@ -1026,7 +1026,8 @@
   # directory unless we are going to put something there.
   setupOutputDir("pxdvi") if $pxdviUse eq "true";
 
-  print_and_log ("\n$prg is creating new map files"
+  my $not = $opts{"dry-run"} ? " not (-n)" : "";
+  print_and_log ("\n$prg is$not creating new map files"
          . "\nusing the following configuration:"
          . "\n  LW35 font names                  : "
          .      "$mode ($mode_origin)"
@@ -1248,7 +1249,7 @@
 
   our $link = &setupSymlinks($dvipsPreferOutline, $dvipsoutputdir, $pdftexDownloadBase14, $pdftexoutputdir);
 
-  print_and_log ("\nFiles generated:\n");
+  print_and_log ("\nFiles$not generated:\n");
   sub dir {
     my ($d, $f, $target)=@_;
     our $link;
@@ -1391,8 +1392,7 @@
   }
 
   close LOG unless $opts{'dry-run'};
-  print "\nTranscript written on \"$logfile\".\n" if !$opts{'quiet'};
-
+  print "\nTranscript$not written on: $logfile\n" if !$opts{'quiet'};
 }
 
 

Modified: trunk/Master/texmf-dist/doc/latex/lwarp/README.txt
===================================================================
--- trunk/Master/texmf-dist/doc/latex/lwarp/README.txt	2022-06-24 21:51:50 UTC (rev 63711)
+++ trunk/Master/texmf-dist/doc/latex/lwarp/README.txt	2022-06-24 21:53:10 UTC (rev 63712)
@@ -1,5 +1,5 @@
 
-LaTeX lwarp package v0.905  README.txt
+LaTeX lwarp package v0.906  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	2022-06-24 21:51:50 UTC (rev 63711)
+++ trunk/Master/texmf-dist/scripts/lwarp/lwarpmk.lua	2022-06-24 21:53:10 UTC (rev 63712)
@@ -2,7 +2,7 @@
 
 -- Copyright 2016-2022 Brian Dunn
 
-printversion = "v0.905"
+printversion = "v0.906"
 requiredconfversion = "2" -- also at *lwarpmk.conf
 
 function printhelp ()
@@ -515,7 +515,7 @@
         imagesdirectory .. dirslash .."lateximagetemp-%d" .. ".pdf" ..
         seqname ..
     -- Crop the image:
-    "pdfcrop  --hires  " .. imagesdirectory .. dirslash .. "lateximagetemp-" ..
+    "pdfcrop  --hires  --margin \"0 1 0 0\"  " .. imagesdirectory .. dirslash .. "lateximagetemp-" ..
         lwimgpage .. ".pdf " ..
         imagesdirectory .. dirslash .. lwimgname .. ".pdf" ..
         seqname ..

Modified: trunk/Master/texmf-dist/source/latex/lwarp/lwarp.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/lwarp/lwarp.dtx	2022-06-24 21:51:50 UTC (rev 63711)
+++ trunk/Master/texmf-dist/source/latex/lwarp/lwarp.dtx	2022-06-24 21:53:10 UTC (rev 63712)
@@ -16,7 +16,7 @@
 % \iffalse
 %<package>\NeedsTeXFormat{LaTeX2e}[1999/12/01]
 %<package>\ProvidesPackage{lwarp}
-%<package>    [2022/03/22 v0.905  Allows LaTeX to directly produce HTML5 output.]
+%<package>    [2022/06/23 v0.906  Allows LaTeX to directly produce HTML5 output.]
 %
 %<*driver>
 \documentclass{ltxdoc}
@@ -1177,6 +1177,40 @@
 \subsubsection{Math in section names}
 \limitsmathinsectionnames
 
+
+\subsubsection{Math in custom environments}
+
+\trouble[math in environments]{math>custom environments}
+\trouble{mathjax=\MathJax>custom environments}
+To create an environment which places its contents inside math, instead of:
+\begin{sourcedisplay}
+    \cs{newenvironment}\{mymathenv\}\{ \textgreen{\cs{(}} starting math\}\{ending math \textgreen{\cs{)}} \}
+\end{sourcedisplay}
+use:
+\begin{sourcedisplay}
+    \cs{NewDocumentEnvironment}\{mymathenv\}\{b\} \\
+        \fquad \{ \\
+            \fqquad \textred{\cs{inlinemathother}} \\
+            \fqquad \textgreen{\cs{(}} starting math \textred{\#1} ending math \textgreen{\cs{)}} \\
+            \fqquad \textred{\cs{inlinemathnormal}} \\
+        \fquad \} \\
+        \fquad \{\}
+\end{sourcedisplay}
+or:
+\begin{sourcedisplay}
+    \cs{usepackage}\{environ\} \\
+    \cs{NewEnviron}\{mymathenv\}\{ \\
+        \fquad \textred{\cs{inlinemathother}} \\
+        \fquad \textgreen{\cs{(}} starting math
+            \textred{\cs{BODY}}
+            ending math \textgreen{\cs{)}} \\
+        \fquad \textred{\cs{inlinemathnormal}} \\
+    \}
+\end{sourcedisplay}
+
+For display math, use \cs{[}, \cs{]}, \cs{displaymathother}, and \cs{displaymathnormal}.
+
+
 \subsubsection{Rendering tradeoffs}
 
 Math may be rendered
@@ -3246,7 +3280,7 @@
 %<*package>
 % \fi
 %
-% \CheckSum{55580}
+% \CheckSum{55578}
 %
 % \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
@@ -3396,6 +3430,7 @@
 % \changes{v0.904a}{2022/03/16}{\ 2022/03/16}
 % \changes{v0.904a}{2022/03/16}{Fixed missing \pkg{common-mathjax-siunitx}.}
 % \changes{v0.905}{2022/03/22}{\ 2022/03/22}
+% \changes{v0.906}{2022/06/23}{\ 2022/06/23}
 
 
 
@@ -3629,6 +3664,18 @@
 % see the end of the Change History on page \pageref{sec:changesend}.
 %
 % \begin{description}
+% \item[v0.906:] Screen readers
+%   \begin{itemize}
+%       \item For each \env{tabular}, add a hidden \HTML\ header cell to
+%           convince screen readers that the tables are data not layout.
+%           Also hide from the screen reader any final row
+%           used only to produce bottom borders.
+%       \item Adjusted \SVG\ math for a margin change in \prog{pdfcrop}.
+%       \item Added \cs{Ref}.
+%       \item Added docs regarding math in custom environments.
+%           See \cref{sec:limitsmath}.
+%   \end{itemize}
+% \needspace{2\baselineskip}
 % \item[v0.905:] Bug fixes, internal improvements.
 %   \begin{itemize}
 %       \item Fixed conflict between \pkg{cleveref} and \pkg{splitidx}.
@@ -8463,7 +8510,7 @@
 % \trouble{HTML>settings>changed}
 % it is best to first:
 % \begin{enumerate}
-% \item Clear all the \HTML, \PDF, and auxiliary files: \userentry{lwarpmk clearall}
+% \item Clear all the \HTML, \PDF, and auxiliary files: \userentry{lwarpmk cleanall}
 % \item Recompile the print version in order to recreate
 %   the configuration files for \prog{lwarpmk}: \userentry{lwarpmk print}
 % \item Finally, recompile the \HTML\ version with the new settings: \userentry{lwarpmk html}
@@ -10745,7 +10792,8 @@
 %
 % \subsection{Math}
 %
-% \changes{v0.42}{2017/10/30}{Docs: Reorganized math limitations}
+% \changes{v0.42}{2017/10/30}{Docs: Reorganized math limitations.}
+% \changes{v0.906}{2022/05/12}{Docs: Math in custom environments.}
 % \label{sec:limitsmath}
 %
 % \limitsmath
@@ -17372,7 +17420,8 @@
 
 % Remember original definitions of formatting commands.
 % Will be changed to \HTML\ commands for most uses.
-% Will be temporarily restored to original meaning inside any lateximage environment.
+% Will be temporarily restored to original meaning inside any \env{lateximage} environment
+% and inside a \env{tabbing} environment.
 % Also nullify unused commands.
 %
 % Some packages redefine \cs{\#}, which is used to generate \HTML, so the original must
@@ -17384,12 +17433,7 @@
 %    \end{macrocode}
 %    \begin{macrocode}
 \let\LWR at origcomma\,
-\let\LWR at origthinspace\thinspace
-\let\LWR at orignegthinspace\negthinspace
 \let\LWR at origtilde~
-\let\LWR at origenskip\enskip
-\let\LWR at origquad\quad
-\let\LWR at origqquad\qquad
 \let\LWR at orighfil\hfil
 \let\LWR at orighss\hss
 \let\LWR at origllap\llap
@@ -17401,13 +17445,7 @@
 
 \let\LWR at origmedskip\medskip
 \let\LWR at origbigskip\bigskip
-
-\let\LWR at origtextellipsis\textellipsis
 %    \end{macrocode}
-% \changes{v0.88}{2020/07/03}{Added \cs{vdots}.}
-%    \begin{macrocode}
-\let\LWR at origvdots\vdots
-%    \end{macrocode}
 %
 % \pkg{libertinus-otf} has too much kerning for \cs{textquotedbl},
 % causing an extra space.
@@ -20596,6 +20634,7 @@
 % \changes{v0.50}{2018/02/27}{\filenm{lwarp_one_limage.txt}: Added.}
 % \changes{v0.51}{2018/03/16}{\filenm{lwarp_one_limage.txt}: \prog{pdftocairo} \optn{-noshrink} added.}
 % \changes{v0.66}{2019/01/30}{\filenm{lwarp_one_limage.txt}: Image directory and prefix.}
+% \changes{v0.906}{2022/05/02}{\filenm{lwarp_one_limage.txt}: Added \prog{pdfcrop} \optn{margin}.}
 %
 % ^^A *lwarp_one_limage.txt
 %
@@ -20608,7 +20647,8 @@
     \LWR at ImagesDirectory\OSPathSymbol lateximagetemp-\LWRpercent\LWRpercent d.pdf%
 }
 \immediate\write\LWR at quickfile{%
-    pdfcrop --hires  \LWR at ImagesDirectory\OSPathSymbol lateximagetemp-\LWRpercent 1.pdf %
+    pdfcrop --hires  --margin \"0 1 0 0\"
+    \LWR at ImagesDirectory\OSPathSymbol lateximagetemp-\LWRpercent 1.pdf %
     \LWR at ImagesDirectory\OSPathSymbol\LWRpercent 3.pdf%
 }
 \immediate\write\LWR at quickfile{%
@@ -21005,6 +21045,7 @@
 % \changes{v0.89}{2020/08/29}{\prog{lwarpmk}: \optn{clean} also removes \filenm{*.bbl}}
 % \changes{v0.899}{2021/05/30}{\prog{lwarpmk}: Warn if \pkg{lwarp} package not detected.}
 % \changes{v0.903}{2021/11/30}{\prog{lwarpmk}: Error if \prog{pdftotext} not available.}
+% \changes{v0.906}{2022/05/02}{\prog{lwarpmk}: Added \prog{pdfcrop} \optn{margin}.}
 %
 % The following is only generated if the \optn{lwarpmk} option
 %   was given to \pkg{lwarp}.
@@ -21020,7 +21061,7 @@
 -- Copyright 2016-2022 Brian Dunn
 
 
-printversion = "v0.905"
+printversion = "v0.906"
 requiredconfversion = "2" -- also at *lwarpmk.conf
 
 function printhelp ()
@@ -21554,7 +21595,7 @@
         imagesdirectory .. dirslash .."lateximagetemp-%d" .. ".pdf" ..
         seqname ..
     -- Crop the image:
-    "pdfcrop  --hires  " .. imagesdirectory .. dirslash .. "lateximagetemp-" ..
+    "pdfcrop  --hires  --margin \"0 1 0 0\"  " .. imagesdirectory .. dirslash .. "lateximagetemp-" ..
         lwimgpage .. ".pdf " ..
         imagesdirectory .. dirslash .. lwimgname .. ".pdf" ..
         seqname ..
@@ -27050,11 +27091,18 @@
 %                                       for HTMLDebug comments.}
 % \changes{v0.903}{2021/12/28}{Add: Sectioning \HTML\ comment divider.}
 % \changes{v0.903}{2021/12/28}{Fix: Nullfiy footnotes in \HTML\ comment.}
+% \changes{v0.906}{2022/06/21}{Improved \HTML\ comment divider.}
 %    \begin{macrocode}
 \begingroup%
 \LWR at nullfonts%
 \LWR at nullifyfootnotes%
-\LWR at htmlcomment{................................}%
+\LWR at htmlcomment{%
+    \LWR at orignewline%
+    \IfValueTF{#2}%
+        {...... #4 #2 ......}%
+        {...... #4 #3 ......}%
+    \LWR at orignewline%
+}%
 \LWR at orignewline%
 \ifbool{HTMLDebugComments}%
     {%
@@ -29311,7 +29359,7 @@
 % Do not produce \HTML\ tags for \cs{hspace} inside a verse |par|.
 % Restore plain \LaTeX{} \cs{hspace} functionality:
 %    \begin{macrocode}
-\LWR at select@print at hspace%
+\let\hspace\LWR at print@hspace%
 }
 %    \end{macrocode}
 % \end{macro}
@@ -29414,18 +29462,19 @@
 % \changes{v0.58}{2018/06/07}{Improved print/\HTML\ output selection.}
 % \changes{v0.84}{2020/04/17}{Restore spacing.}
 % \changes{v0.903}{2021/12/20}{Converted to env.}
+% \changes{v0.906}{2022/06/10}{Used \cs{LWR at formatted} for more items.}
 %    \begin{macrocode}
 \newenvironment*{LWR at HTML@tabbing}
 {%
     \LWR at forcenewpage%
     \LWR at atbeginverbatim{tabbing}%
-    \let\enskip\LWR at origenskip%
-    \let\quad\LWR at origquad%
-    \let\qquad\LWR at origqquad%
+    \let\enskip\LWR at print@enskip%
+    \let\quad\LWR at print@quad%
+    \let\qquad\LWR at print@qquad%
     \let~\LWR at origtilde%
     \let\,\LWR at origcomma%
-    \let\thinspace\LWR at origthinspace%
-    \let\negthinspace\LWR at orignegthinspace%
+    \let\thinspace\LWR at print@thinspace%
+    \let\negthinspace\LWR at print@negthinspace%
     \LWR at print@tabbing%
 }
 {%
@@ -29887,7 +29936,7 @@
         \LWR at orig@desc at makelabel{#1}%
         \LWR at htmltag{/dt}%
     }
-    \LWR at select@html at nohspace%
+    \RenewDocumentCommand{\hspace}{s m}{}%
     \LWR at origitem[#1]%
     \endgroup%
     \LWR at orignewline%
@@ -30215,6 +30264,15 @@
 %    \end{macrocode}
 
 
+% \DescribeBoolean{LWR at tabularfinalrow}
+% Used to set \attribute{aria-hidden} if adding a final row for the purpose
+% of adding the bottom border.
+% \changes{v0.906}{2022/05/28}{Added \attribute{aria-hidden}.}
+%    \begin{macrocode}
+\newbool{LWR at tabularfinalrow}
+%    \end{macrocode}
+
+
 % \DescribeBoolean{LWR at validtablecol} True if found a valid table column type.
 %    \begin{macrocode}
 \newbool{LWR at validtablecol}
@@ -30593,6 +30651,7 @@
 %    \begin{macrocode}
 \newcommand*{\LWR at tabularfinishrow}{%
 %    \end{macrocode}
+%
 % If not exiting the tabular, or doing a rule, or have already started a row,
 % finish this row:
 %    \begin{macrocode}
@@ -30605,9 +30664,10 @@
         bool{LWR at startedrow}%
     }{%
 %    \end{macrocode}
-% To temporarily turn off |LWR at exitingtabular| so that
-% table data tags will still be generated:
 %
+% Temporarily turn off |LWR at exitingtabular| so that
+% table data tags will still be generated.
+%
 % If generating a final row for the \cs{bottomrule} borders,
 % turn off the |@|, |!|, |<|, and |>| column output:
 %    \begin{macrocode}
@@ -30617,10 +30677,12 @@
         \boolfalse{LWR at tabularmutemods}%
     }%
 %    \end{macrocode}
+%
 % Locally reenable the table data tags until finished with the final row:
 %    \begin{macrocode}
     \boolfalse{LWR at exitingtabular}%
 %    \end{macrocode}
+%
 % Generate table data tags and ampersands until the right edge:
 %    \begin{macrocode}
     \whileboolexpr{%
@@ -30640,6 +30702,7 @@
     {%
         \LWR at tabledatasinglecolumntag%
 %    \end{macrocode}
+%
 % The following is essentially \cs{LWR at tabularampersand} with
 % |LWR at emptyatbang| added to empty the following cells:
 %    \begin{macrocode}
@@ -30648,6 +30711,7 @@
         \global\boolfalse{LWR at tabularcelladded}%
         \booltrue{LWR at emptyatbang}%
 %    \end{macrocode}
+%
 % Starts the next cell:
 %    \begin{macrocode}
         \ifnumcomp{\value{LWR at tableLaTeXcolindex}}{<}
@@ -30656,6 +30720,7 @@
             {}%
     }%
 %    \end{macrocode}
+%
 % Reenable the original |LWR at exitingtabular| to close the entire table:
 %    \begin{macrocode}
     \ifbool{LWR at tabularmutemods}{%
@@ -30685,6 +30750,7 @@
 %    \begin{macrocode}
 \NewDocumentCommand{\LWR at tabularendofline}{s o}{%
 %    \end{macrocode}
+%
 % Finish the row:
 %    \begin{macrocode}
     \ifnumcomp{\value{LWR at tableLaTeXcolindex}}{<}
@@ -30693,18 +30759,22 @@
         {\LWR at closetabledatacell}%
     \LWR at htmltag{/tr}\LWR at orignewline%
 %    \end{macrocode}
+%
 % \pkg{xcolor} row color support:
 %    \begin{macrocode}
     \@rowc at lors%
 %    \end{macrocode}
+%
 % No longer inside a data cell:
 %    \begin{macrocode}
     \booltrue{LWR at intabularmetadata}%
 %    \end{macrocode}
+%
 % Not yet started a table row:
 %    \begin{macrocode}
     \boolfalse{LWR at startedrow}%
 %    \end{macrocode}
+%
 % Additional setup:
 %    \begin{macrocode}
     \defcounter{LWR at hlines}{0}%
@@ -30713,25 +30783,30 @@
     \boolfalse{LWR at doingcmidrule}%
     \LWR at clearmidrules%
 %    \end{macrocode}
+%
 % \changes{v0.79}{2020/01/18}{Fix: Nested \env{tabular}s.}
 %    \begin{macrocode}
     \def\LWR at rowHTMLcolor{}%
 %    \end{macrocode}
+%
 % Start at first column:
 %    \begin{macrocode}
     \defcounter{LWR at tableLaTeXcolindex}{1}%
 %    \end{macrocode}
+%
 % Have not yet added data in this column:
 %    \begin{macrocode}
     \global\boolfalse{LWR at tabularcelladded}%
 %    \end{macrocode}
+%
 % Allow \TeX\ to flush the pending paragraph.
 % Not doing so causes a slowdown for very large tables.
 % \changes{v0.60}{2018/09/17}{Fix: Slowdown for long tables.}
 %    \begin{macrocode}
     \LWR at stoppars%
-    \LWR at origpar%
+    \LWR at forceemptyline%
 %    \end{macrocode}
+%
 % Look at the next token to decide between single column data tag
 % or a special case:
 %    \begin{macrocode}
@@ -31538,10 +31613,12 @@
     \LWR at setexparray{LWR at coladdclass}{2}{}%
     \LWR at setexparray{LWR at coladdclass}{3}{}%
 %    \end{macrocode}
+%
 % Starting at the first column specification:
 %    \begin{macrocode}
     \defcounter{LWR at tablecolspecindex}{1}%
 %    \end{macrocode}
+%
 % Place the colspecs string length into \cs{LWR at strresult},
 % and remember the number of characters in the column specification:
 %    \begin{macrocode}
@@ -31551,10 +31628,12 @@
     \LWR at traceinfo{original column spec length: \LWR at strresult}%
     \defcounter{LWR at tablecolspecwidth}{\LWR at strresult}%
 %    \end{macrocode}
+%
 % Haven't seen any optional arguments so far
 %    \begin{macrocode}
     \boolfalse{LWR at opttablecol}%
 %    \end{macrocode}
+%
 % Scan through the column specifications:
 %    \begin{macrocode}
     \whileboolexpr{%
@@ -31565,6 +31644,7 @@
     }%
     {%
 %    \end{macrocode}
+%
 % Place the next single-character column type into \cs{LWR at strresult}:
 %    \begin{macrocode}
     \expandarg%
@@ -31572,6 +31652,7 @@
     \LWR at traceinfo{position \arabic{LWR at tablecolspecindex}: \LWR at strresult}%
     \fullexpandarg%
 %    \end{macrocode}
+%
 % Not yet found a valid column type:
 %    \begin{macrocode}
     \boolfalse{LWR at validtablecol}%
@@ -31589,6 +31670,7 @@
     {}% inside an optional argument
     {% not an optional tabular argument
 %    \end{macrocode}
+%
 % Not inside an optional argument, so consider the column type:
 % \changes{v0.901}{2021/08/12}{Improved \cs{newcolumntype} emulation.}
 %    \begin{macrocode}
@@ -31596,6 +31678,7 @@
             {\csuse{LWR at columntype@\LWR at strresult}}%
             {}%
 %    \end{macrocode}
+%
 % If an unknown column type, use |l|:
 %    \begin{macrocode}
         \ifbool{LWR at validtablecol}{}{%
@@ -31604,6 +31687,7 @@
         }%
     }% not an optional column argument
 %    \end{macrocode}
+%
 % If read the closing bracket, no longer inside the optional argument:
 %    \begin{macrocode}
     \IfStrEq{\LWR at strresult}{]}{\boolfalse{LWR at opttablecol}}{}%
@@ -31717,6 +31801,9 @@
 % If have not yet started a new table row, begin one now.
 % Creates a new row tag, adding a class for |hline| or |tbrule| if
 % necessary.
+%
+% \changes{v0.906}{2022/05/28}{Removed final empty row if no border.}
+%
 %    \begin{macrocode}
 \newcommand*{\LWR at maybenewtablerow}
 {%
@@ -31724,37 +31811,94 @@
     {}% started the row
     {% not started the row
 %    \end{macrocode}
-% Remember that now have started the row:
+%
+% Pre-compute the \attribute{aria-hidden} attribute,
+% used to hide from screen readers the final row if
+% it is only used to create the bottom border:
+% \changes{v0.906}{2022/05/28}{Added \attribute{aria-hidden}.}
 %    \begin{macrocode}
-        \booltrue{LWR at startedrow}%
+        \ifbool{LWR at tabularfinalrow}%
+            {%
+                \renewcommand*{\LWR at tempone}%
+                    { aria-hidden=\textquotedbl{}true\textquotedbl}%
+            }%
+            {%
+                \renewcommand*{\LWR at tempone}{}%
+            }%
 %    \end{macrocode}
-% Create the row tag, with a class if necessary.
-% \changes{v0.895}{2021/01/14}{Improved \HTML\ quotes.}
+%
+% Start a new row if doing \cs{hline}:
 %    \begin{macrocode}
-        \booltrue{LWR at intabularmetadata}%
         \ifboolexpr{%
             test{\ifnumcomp{\value{LWR at hlines}}{>}{0}} or%
             test{\ifnumcomp{\value{LWR at hdashedlines}}{>}{0}}%
         }%
         {%
-            \LWR at htmltag{tr class=\textquotedbl{}hline\textquotedbl }%
+            \LWR at htmltag{%
+                tr %
+                class=\textquotedbl{}hline\textquotedbl%
+                \LWR at tempone% aria-hidden
+            }%
             \LWR at orignewline%
+%    \end{macrocode}
+%
+% Remember that now have started the row,
+% and create the row tag, with a class if necessary.
+% \changes{v0.895}{2021/01/14}{Improved \HTML\ quotes.}
+%    \begin{macrocode}
+            \booltrue{LWR at startedrow}%
+            \booltrue{LWR at intabularmetadata}%
         }%
+%    \end{macrocode}
+%
+% If not doing \cs{hline}, start a row if doing a top or bottom rule:
+%    \begin{macrocode}
         {% not doing hline
             \ifbool{LWR at doingtbrule}%
             {%
                 \ifdefvoid{\LWR at ruleHTMLcolor}{%
-                    \LWR at htmltag{tr class=\textquotedbl{}tbrule\textquotedbl}%
+                    \LWR at htmltag{%
+                        tr %
+                        class=\textquotedbl{}tbrule\textquotedbl%
+                        \LWR at tempone% aria-hidden
+                    }%
                 }{%
                     \LWR at htmltag{%
                         tr class=\textquotedbl{}tbrule\textquotedbl\ % space
                         style=\textquotedbl{}border-top: 1px solid % space
                             \LWR at origpound\LWR at ruleHTMLcolor \textquotedbl{}%
+                        \LWR at tempone% aria-hidden
                     }%
                 }%
                 \LWR at orignewline%
+%    \end{macrocode}
+%
+% Remember that now have started the row,
+% and create the row tag, with a class if necessary.
+% \changes{v0.895}{2021/01/14}{Improved \HTML\ quotes.}
+%    \begin{macrocode}
+                \booltrue{LWR at startedrow}%
+                \booltrue{LWR at intabularmetadata}%
             }%
-            {\LWR at htmltag{tr}\LWR at orignewline}%
+            {%
+%    \end{macrocode}
+%
+% If not the final row, start a new row:
+%    \begin{macrocode}
+                \ifbool{LWR at tabularfinalrow}%
+                    {}%
+                    {%
+                        \LWR at htmltag{tr}\LWR at orignewline%
+%    \end{macrocode}
+%
+% Remember that now have started the row,
+% and create the row tag, with a class if necessary.
+% \changes{v0.895}{2021/01/14}{Improved \HTML\ quotes.}
+%    \begin{macrocode}
+                        \booltrue{LWR at startedrow}%
+                        \booltrue{LWR at intabularmetadata}%
+                    }%
+            }%
         }% end of not doing hline
     }% end of not started the row
 }
@@ -33505,6 +33649,7 @@
 \newcommand*{\ResumeTabular}{%
     \boolfalse{LWR at exitingtabular}%
     \boolfalse{LWR at tabularmutemods}%
+    \boolfalse{LWR at tabularfinalrow}%
     \LWR at getmynexttoken%
 }
 %    \end{macrocode}
@@ -33566,10 +33711,14 @@
     \global\let\LWR at mynextaction\LWR at tabledatasinglecolumntag%
 %    \end{macrocode}
 %
-% If exiting the tabular:
+% If find \cs{end}, exit the tabular:
+% \changes{v0.906}{2022/05/28}{Added \attribute{aria-hidden}.}
 %    \begin{macrocode}
     \ifdefequal{\LWR at mynexttoken}{\end}%
-        {\booltrue{LWR at exitingtabular}}{}%
+        {%
+            \booltrue{LWR at tabularfinalrow}%
+            \booltrue{LWR at exitingtabular}%
+        }{}%
 %    \end{macrocode}
 %
 % \env{longtable} can have a caption in a cell
@@ -33844,9 +33993,14 @@
 
 
 % \begin{macro}{\LWR at HTMLcline} \marg{columns}
+% \changes{v0.906}{2022/06/21}{Fix: \cs{cline} at end of tabular.}
 %    \begin{macrocode}
 \NewDocumentCommand{\LWR at HTMLcline}{m}%
-    {\LWR at docmidrule{#1}\LWR at getmynexttoken}%
+{%
+    \LWR at docmidrule{#1}%
+    \LWR at maybenewtablerow%
+    \LWR at getmynexttoken%
+}%
 %    \end{macrocode}
 % \end{macro}
 
@@ -33955,6 +34109,12 @@
     \boolfalse{LWR at tabularmutemods}%
 %    \end{macrocode}
 %
+% Not adding final row for the lower border:
+% \changes{v0.906}{2022/05/28}{Added \attribute{aria-hidden}.}
+%    \begin{macrocode}
+    \boolfalse{LWR at tabularfinalrow}%
+%    \end{macrocode}
+%
 % Error if failed to use \cs{mrowcell} or \cs{mcolrowcell} when needed.
 % \changes{v0.69}{2019/03/07}{Error if \cs{multirow} without \cs{mrowcell}.}
 %    \begin{macrocode}
@@ -33986,6 +34146,7 @@
 %    \begin{macrocode}
     \LWR at htmlblocktag{table}%
 %    \end{macrocode}
+%
 % Parse the table columns:
 %    \begin{macrocode}
     \LWR at parsetablecols{#3}%
@@ -33997,6 +34158,21 @@
 %    \begin{macrocode}
     \LWR at stoppars%
 %    \end{macrocode}
+%
+% Without at least one header cell, some screen readers think that the
+% table is just for page layout, and do not read it as data.
+% Add a hidden row with a single non-empty header cell to tell
+% the screen readers that this is a table of data for the user.
+%
+% \changes{v0.906}{2022/05/01}{Add empty header.}
+%    \begin{macrocode}
+    \LWR at htmltag{tr style="display:none"}%
+    \LWR at htmltag{th}.\LWR at htmltag{/th}%
+    \LWR at htmltag{/tr}%
+    \LWR at orignewline%
+    \LWR at forceemptyline%
+%    \end{macrocode}
+%
 % Track column \#:
 %    \begin{macrocode}
     \defcounter{LWR at tableLaTeXcolindex}{1}%
@@ -34144,10 +34320,15 @@
 {%
     \LWR at traceinfo{LWR at HTML@endtabular}%
 %    \end{macrocode}
+%
 % Unnest one level of tabular paragraph handling:
 % \changes{v0.46}{2018/01/18}{Fix: Tabular empty lines.}
 %    \begin{macrocode}
     \addtocounter{LWR at tabularpardepth}{-1}%
+%    \end{macrocode}
+%
+% Finish a row which is not yet done:
+%    \begin{macrocode}
     \ifboolexpr{%
         test {%
             \ifnumcomp{\value{LWR at tableLaTeXcolindex}}{<}%
@@ -34163,13 +34344,22 @@
         )%
     }%
     {%
+%    \end{macrocode}
+%
+% \changes{v0.906}{2022/05/28}{Added \attribute{aria-hidden}.}
+%    \begin{macrocode}
+        \booltrue{LWR at tabularfinalrow}%
         \LWR at tabularfinishrow%
+        \boolfalse{LWR at tabularfinalrow}%
     }%
     {%
         \LWR at closetabledatacell%
     }%
-    \LWR at htmlblocktag{/tr}%
+    \ifbool{LWR at startedrow}%
+        {\LWR at htmltag{/tr}\LWR at orignewline}%
+        {}%
 %    \end{macrocode}
+%
 % \pkg{xcolor} row color support:
 %    \begin{macrocode}
     \@rowc at lors%
@@ -34784,6 +34974,7 @@
 %   \cs{ref} is redefined to \cs{LWR at HTML@ref},
 %   except inside the text part of a \cs{hyperref},
 %   where it is redefined to \cs{LWR at ref@ignorestar}.
+%
 % \begin{macro}{\LWR at HTML@ref} * \marg{label}
 %   Create an internal document reference link,
 %   or without a link if starred per \pkg{hyperref}.
@@ -34792,7 +34983,7 @@
 % Since \pkg{hyperref} is only emulated, the starred version is
 % defined here for print mode, in case \cs{ref} is used inside
 % \SVG\ math:
-% \changes{v0.88}{2020/07/05}{Fixed: Starred.}
+% \changes{v0.88}{2020/07/05}{Fixed: Starred \cs{ref}.}
 %    \begin{macrocode}
 \LWR at absorbstar{ref}%
 %    \end{macrocode}
@@ -34799,6 +34990,7 @@
 %
 % The \HTML\ version:
 % \changes{v0.58}{2018/06/07}{Improved print/\HTML\ output selection.}
+% \changes{v0.906}{2022/05/02}{Added \cs{Ref}.}
 %    \begin{macrocode}
 \NewDocumentCommand{\LWR at HTML@ref}{s m}{%
     \LWR at traceinfo{LWR at HTML@ref !#2!}%
@@ -34808,6 +35000,16 @@
 }
 
 \LWR at formatted{ref}
+
+
+\NewDocumentCommand{\LWR at HTML@Ref}{s m}{%
+    \LWR at traceinfo{LWR at HTML@Ref !#2!}%
+    \IfBooleanTF{#1}%
+        {\LWR at print@Ref{#2}}%
+        {\LWR at subnewref{#2}{#2}}%
+}
+
+\LWR at formatted{Ref}
 %    \end{macrocode}
 %
 %
@@ -37194,10 +37396,6 @@
     \setbool{LWR at doingparhooks}{false}%
 %    \end{macrocode}
 %
-%    \begin{macrocode}
-    \LWR at select@print at hspace%
-%    \end{macrocode}
-%
 % \changes{v0.903}{2021/12/13}{Par handling.}
 %    \begin{macrocode}
     \def\color at endgroup{\endgraf\endgroup}%
@@ -37213,15 +37411,6 @@
 %    \end{macrocode}
 %    \begin{macrocode}
     \let\,\LWR at origcomma% disable HTML short unbreakable space
-    \let\thinspace\LWR at origthinspace% disable HTML short unbreakable space
-    \let\negthinspace\LWR at orignegthinspace% disable HTML negative short unbreakable space
-    \let\textellipsis\LWR at origtextellipsis%
-%    \end{macrocode}
-% \changes{v0.88}{2020/07/03}{Added \cs{vdots}.}
-%    \begin{macrocode}
-    \let\vdots\LWR at origvdots%
-%    \end{macrocode}
-%    \begin{macrocode}
     \let\textless\LWR at origtextless%
     \let\textgreater\LWR at origtextgreater%
 %    \end{macrocode}
@@ -37237,9 +37426,6 @@
     \let\sb\LWR at origsb%
     \LetLtxMacro\underline\LWR at origunderline%
     \let~\LWR at origtilde%
-    \let\enskip\LWR at origenskip%
-    \let\quad\LWR at origquad%
-    \let\qquad\LWR at origqquad%
 %    \end{macrocode}
 %
 % \cs{endtabular} must be restored to its original,
@@ -39089,9 +39275,13 @@
 %    \end{macrocode}
 
 % Print-mode versions:
+% \changes{v0.906}{2022/05/07}{Added \cs{theMathJaxsection}, etc.}
 %    \begin{macrocode}
 \newcommand*{\displaymathnormal}{}
 \newcommand*{\displaymathother}{}
+\newcommand*{\theMathJaxsubequations}{0}
+\newcommand*{\theMathJaxsection}{}
+\newcommand*{\theMathJaxequation}{\arabic{equation}}
 %    \end{macrocode}
 
 %    \begin{macrocode}
@@ -42354,14 +42544,19 @@
 % \changes{v0.56}{2018/05/09}{Added \cs{thinspace}.}
 % \changes{v0.61}{2018/09/23}{Spaces redefined \cs{AtBeginDocument}.}
 % \changes{v0.88}{2020/07/03}{Added \cs{vdots}.}
+% \changes{v0.906}{2022/06/10}{Used \cs{LWR at formatted} for more items.}
 %    \begin{macrocode}
-\AtBeginDocument{
-\renewrobustcmd*{\,}{\HTMLunicode{202f}}	% HTML thin non-breakable space
-\renewrobustcmd*{\thinspace}{\HTMLunicode{202f}}    % HTML thin non-breakable space
-\renewrobustcmd*{\negthinspace}{\HTMLunicode{202f}}    % HTML thin non-breakable space
-\renewrobustcmd*{~}{\HTMLentity{nbsp}}
-\renewrobustcmd*{\textellipsis}{\HTMLunicode{2026}}
-\renewrobustcmd*{\vdots}{\HTMLunicode{22EE}}
+\AtBeginDocument{%
+\renewrobustcmd*{\,}{\HTMLunicode{202f}}% HTML thin non-breakable space, not using LWR at formatted
+\newrobustcmd*{\LWR at HTML@thinspace}{\HTMLunicode{202f}}% HTML thin non-breakable space
+\LWR at formatted{thinspace}
+\newrobustcmd*{\LWR at HTML@negthinspace}{\HTMLunicode{202f}}    % HTML thin non-breakable space
+\LWR at formatted{negthinspace}
+\renewrobustcmd*{~}{\HTMLentity{nbsp}}% cannot use \LWR at formatted
+\newrobustcmd*{\LWR at HTML@textellipsis}{\HTMLunicode{2026}}
+\LWR at formatted{textellipsis}
+\newrobustcmd*{\LWR at HTML@vdots}{\HTMLunicode{22EE}}
+\LWR at formatted{vdots}
 }
 %    \end{macrocode}
 %
@@ -42561,12 +42756,14 @@
 % Uses |2003 EM SPACE| to pass validation.
 % \changes{v0.64}{2018/12/08}{Made robust.}
 % \changes{v0.65}{2018/12/22}{Changed to Unicode EM SPACE.}
+% \changes{v0.906}{2022/06/10}{\cs{LWR at formatted}.}
 %    \begin{macrocode}
-\renewrobustcmd*{\quad}{%
+\newrobustcmd*{\LWR at HTML@quad}{%
     \LWR at minipagestoppars%
     \HTMLunicode{2003}%
     \LWR at minipagestartpars%
 }
+\LWR at formatted{quad}
 %    \end{macrocode}
 % \end{macro}
 
@@ -42573,8 +42770,10 @@
 % \begin{macro}{\qquad}
 % Handles special minipage \& horizontal space interactions.
 % \changes{v0.64}{2018/12/08}{Made robust.}
+% \changes{v0.906}{2022/06/10}{\cs{LWR at formatted}.}
 %    \begin{macrocode}
-\renewrobustcmd*{\qquad}{\quad\quad}
+\newrobustcmd*{\LWR at HTML@qquad}{\quad\quad}
+\LWR at formatted{qquad}
 %    \end{macrocode}
 % \end{macro}
 
@@ -42582,12 +42781,14 @@
 % Handles special minipage \& horizontal space interactions.
 % \changes{v0.64}{2018/12/08}{Made robust.}
 % \changes{v0.65}{2018/12/22}{Changed to Unicode EN SPACE.}
+% \changes{v0.906}{2022/06/10}{\cs{LWR at formatted}.}
 %    \begin{macrocode}
-\renewrobustcmd*{\enskip}{%
+\newrobustcmd*{\LWR at HTML@enskip}{%
     \LWR at minipagestoppars%
     \HTMLunicode{2002}%
     \LWR at minipagestartpars%
 }
+\LWR at formatted{enskip}
 %    \end{macrocode}
 % \end{macro}
 
@@ -42603,8 +42804,6 @@
 %    \end{macrocode}
 %
 
-% \begin{macro}{\LWR at select@html at hspace}
-%
 % \begin{macro}{\hspace} * \marg{length} * \marg{length}
 %
 % Handles special minipage \& horizontal space interactions.
@@ -42613,14 +42812,14 @@
 % \changes{v0.20}{2016/08/22}{Add: Supports \HTML\ thin breakable space.}
 % \changes{v0.24}{2017/03/14}{Add: \cs{hspace} \cs{fill} converts to 2em}
 % \changes{v0.74}{2019/08/04}{Ignore negative space.}
+% \changes{v0.906}{2022/06/10}{\cs{LWR at formatted}.}
 %
 % Prints a span of a given width.  Ignores the optional star.
 %
 % |\hspace{\fill}| is converted to |\hspace{2em}|, equal to \cs{qquad}.
 %    \begin{macrocode}
-\newcommand{\LWR at select@html at hspace}{%
-\RenewDocumentCommand{\hspace}{s m}{%
-\setlength{\LWR at tempwidth}{##2}%
+\NewDocumentCommand{\LWR at HTML@hspace}{s m}{%
+\setlength{\LWR at tempwidth}{#2}%
 %    \end{macrocode}
 % If \cs{fill}, change to \cs{qquad}:
 %    \begin{macrocode}
@@ -42682,44 +42881,12 @@
     \LWR at minipagestartpars%
 }{}% width greater than 0
 }%
-}
+\LWR at formatted{hspace}
 %    \end{macrocode}
 % \end{macro}
-% \end{macro}
 %
-% \begin{macro}{\LWR at select@html at nohspace}
-%
-% \begin{macro}{\hspace} * \marg{length}
-%
-% Used to disable \cs{hspace} while creating |description| \cs{item}s.
-%    \begin{macrocode}
-\newcommand{\LWR at select@html at nohspace}{%
-    \RenewDocumentCommand{\hspace}{s m}{}%
-}
-%    \end{macrocode}
-% \end{macro}
-% \end{macro}
 
-% \begin{macro}{\LWR at select@print at hspace}
-%    \begin{macrocode}
-\newcommand*{\LWR at select@print at hspace}{%
-    \renewrobustcmd\hspace{\@ifstar\@hspacer\@hspace}%
-}
-%    \end{macrocode}
-% \end{macro}
 
-
-%
-%
-% \begin{macro}{\hspace} * \marg{length}
-%
-% Handles special minipage \& horizontal space interactions.
-%    \begin{macrocode}
-\LWR at select@html at hspace
-%    \end{macrocode}
-% \end{macro}
-
-
 % \begin{macro}{\LWR at vspace} * \marg{length} Nullified vspace.
 %
 % \changes{v0.33}{2017/06/21}{Add: \cs{vspace} nullified.}
@@ -48473,8 +48640,8 @@
             {\LWR at docmidrule[#1](){1-\arabic{LWR at tabletotalLaTeXcols}}}%
             {%
                 \ifbool{FormatWP}%
-                {\LWR at docmidrule[#1](){1-\arabic{LWR at tabletotalLaTeXcols}}}%
-                {\booltrue{LWR at doingtbrule}}%
+                    {\LWR at docmidrule[#1](){1-\arabic{LWR at tabletotalLaTeXcols}}}%
+                    {\booltrue{LWR at doingtbrule}}%
             }%
     \LWR at getmynexttoken}
 
@@ -48486,8 +48653,8 @@
             {\LWR at docmidrule[#1](){1-\arabic{LWR at tabletotalLaTeXcols}}}%
             {%
                 \ifbool{FormatWP}%
-                {\LWR at docmidrule[#1](){1-\arabic{LWR at tabletotalLaTeXcols}}}%
-                {\defaddtocounter{LWR at hlines}{1}}%
+                    {\LWR at docmidrule[#1](){1-\arabic{LWR at tabletotalLaTeXcols}}}%
+                    {\defaddtocounter{LWR at hlines}{1}}%
             }%
     \LWR at getmynexttoken}
 
@@ -48505,8 +48672,8 @@
         {\LWR at docmidrule[#1](){1-\arabic{LWR at tabletotalLaTeXcols}}}%
         {%
             \ifbool{FormatWP}%
-            {\LWR at docmidrule[#1](){1-\arabic{LWR at tabletotalLaTeXcols}}}%
-            {\booltrue{LWR at doingtbrule}}%
+                {\LWR at docmidrule[#1](){1-\arabic{LWR at tabletotalLaTeXcols}}}%
+                {\booltrue{LWR at doingtbrule}}%
         }%
     \LWR at getmynexttoken%
 }%
@@ -51018,18 +51185,19 @@
         \fi
     }
   }
+%    \end{macrocode}
 
 
-\LetLtxMacro\LWR at chemmacros@origchemprime\chemprime
+% \changes{v0.906}{2022/06/10}{\pkg{chemmacros}: \cs{chemprime} \cs{LWR at formatted}.}
+%    \begin{macrocode}
 
-\protected\def\chemprime { \HTMLunicode{2032} }
-
-\appto\LWR at restoreorigformatting{%
-\LetLtxMacro\chemprime\LWR at chemmacros@origchemprime%
+\hook_gput_code:nnn {begindocument/end} {chemmacros}
+{
+\protected\def\LWR at HTML@chemprime { \HTMLunicode{2032} }
+\LWR at formatted{chemprime}
 }
 %    \end{macrocode}
 %
-% ^^A \RenewChemIUPAC \chemprime { \HTMLunicode{2032} }
 %
 %    \begin{macrocode}
 \cs_gset_protected:Npn \__chemmacros_cip:n #1
@@ -63655,7 +63823,7 @@
 \renewcommand*{\jb at biblaw@item}{%
     \hspace{0.5em}%
 %     $\triangleright$
-    \HTMLunicode{25B7}%     lwarp
+    \HTMLunicode{25B7}%     lwarp%
     \hspace{0.5em}%
 }
 
@@ -68901,7 +69069,7 @@
 % \env{mdframed} environment may not work with the \HTML\ versions of the following,
 % so restore them to their originals while inside \env{mdframed}:
 %    \begin{macrocode}
-\LWR at select@print at hspace%
+\let\hspace\LWR at print@hspace%
 \renewcommand*{\rule}{\LWR at print@rule}
 \LetLtxMacro\makebox\LWR at print@makebox%
 %    \end{macrocode}
@@ -86425,7 +86593,7 @@
         \InlineClass{thmboxproofname}{\proofname\ #1\unskip\,:}
     }
     {%
-        \qquad\HTMLunicode{220E}% end of proof symbol
+        \qquad\HTMLunicode{220E}
         \end{BlockClass}
     }
 
@@ -88536,7 +88704,7 @@
 \renewcommand\todoitem[2]{%
     \refstepcounter{todo}%
     \item[%
-        \HTMLunicode{2610} \quad
+        \HTMLunicode{2610} \quad%
         \ref{todopage:\thetodo}
      ] : {\todoformat\ifx#1\todomark\else\textbf{#1} \fi}#2%
     \label{todolbl:\thetodo}%
@@ -88545,7 +88713,7 @@
 \renewcommand\doneitem[2]{%
     \stepcounter{todo}%
     \item[%
-        \HTMLunicode{2611} \quad
+        \HTMLunicode{2611} \quad%
         \ref{todopage:\thetodo}
     ] \@nameuse{@done\the\c at todo}:
         {\todoformat\ifx#1\todomark\else\textbf{#1} \fi}#2%
@@ -89836,6 +90004,7 @@
 % \pkg{unitsdef} is patched for use by \pkg{lwarp}.
 %
 % \changes{v0.62}{2018/11/11}{\pkg{unitsdef}: Added.}
+% \changes{v0.906}{2022/06/10}{\pkg{unitsdef}: \cs{LWR at formatted}.}
 %
 % \codehtml
 %
@@ -89844,23 +90013,23 @@
 %    \end{macrocode}
 %
 %    \begin{macrocode}
-\renewcommand{\unitvaluesep}{\,}
+\newcommand{\LWR at HTML@unitvaluesep}{\,}
+\LWR at formatted{unitvaluesep}
 
-\renewcommand{\unittimes}{\@@setunitsepfalse\HTMLunicode{22c5}}% \cdot
+\newcommand{\LWR at HTML@unittimes}{\@@setunitsepfalse\HTMLunicode{22c5}}% \cdot
+\LWR at formatted{unittimes}
 
-\renewunit{\arcmin}{%
-    \ifnumcomp{\value{LWR at lateximagedepth}}{>}{0}%
-        {\ensuremath{{}^\prime}}%
-        {\HTMLunicode{2032}}% prime
+\newunit{\LWR at HTML@arcmin}{%
+    \HTMLunicode{2032}% prime
 }
+\LWR at formatted{arcmin}
 
-\renewunit{\arcsec}{%
-    \ifnumcomp{\value{LWR at lateximagedepth}}{>}{0}%
-        {\ensuremath{{}^{\prime\prime}}}%
-        {\HTMLunicode{2033}}% dbl prime
+\newunit{\LWR at HTML@arcsec}{%
+    \HTMLunicode{2033}% dbl prime
 }
+\LWR at formatted{arcsec}
 
-\renewrobustcmd{\SI}[2]{%
+\newrobustcmd{\LWR at HTML@SI}[2]{%
   \begingroup%
     \let\unit@@xspace\relax%
     \unitSIdef\selectfont%
@@ -89867,6 +90036,7 @@
       \LWR at textcurrentfont{#1#2}% lwarp
   \endgroup%
 }
+\LWR at formatted{SI}
 %    \end{macrocode}
 %
 % \iffalse

Modified: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-booktabs.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-booktabs.sty	2022-06-24 21:51:50 UTC (rev 63711)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-booktabs.sty	2022-06-24 21:53:10 UTC (rev 63712)
@@ -32,8 +32,8 @@
             {\LWR at docmidrule[#1](){1-\arabic{LWR at tabletotalLaTeXcols}}}%
             {%
                 \ifbool{FormatWP}%
-                {\LWR at docmidrule[#1](){1-\arabic{LWR at tabletotalLaTeXcols}}}%
-                {\booltrue{LWR at doingtbrule}}%
+                    {\LWR at docmidrule[#1](){1-\arabic{LWR at tabletotalLaTeXcols}}}%
+                    {\booltrue{LWR at doingtbrule}}%
             }%
     \LWR at getmynexttoken}
 
@@ -45,8 +45,8 @@
             {\LWR at docmidrule[#1](){1-\arabic{LWR at tabletotalLaTeXcols}}}%
             {%
                 \ifbool{FormatWP}%
-                {\LWR at docmidrule[#1](){1-\arabic{LWR at tabletotalLaTeXcols}}}%
-                {\defaddtocounter{LWR at hlines}{1}}%
+                    {\LWR at docmidrule[#1](){1-\arabic{LWR at tabletotalLaTeXcols}}}%
+                    {\defaddtocounter{LWR at hlines}{1}}%
             }%
     \LWR at getmynexttoken}
 
@@ -64,8 +64,8 @@
         {\LWR at docmidrule[#1](){1-\arabic{LWR at tabletotalLaTeXcols}}}%
         {%
             \ifbool{FormatWP}%
-            {\LWR at docmidrule[#1](){1-\arabic{LWR at tabletotalLaTeXcols}}}%
-            {\booltrue{LWR at doingtbrule}}%
+                {\LWR at docmidrule[#1](){1-\arabic{LWR at tabletotalLaTeXcols}}}%
+                {\booltrue{LWR at doingtbrule}}%
         }%
     \LWR at getmynexttoken%
 }%

Modified: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-chemmacros.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-chemmacros.sty	2022-06-24 21:51:50 UTC (rev 63711)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-chemmacros.sty	2022-06-24 21:53:10 UTC (rev 63712)
@@ -184,12 +184,11 @@
     }
   }
 
-\LetLtxMacro\LWR at chemmacros@origchemprime\chemprime
 
-\protected\def\chemprime { \HTMLunicode{2032} }
-
-\appto\LWR at restoreorigformatting{%
-\LetLtxMacro\chemprime\LWR at chemmacros@origchemprime%
+\hook_gput_code:nnn {begindocument/end} {chemmacros}
+{
+\protected\def\LWR at HTML@chemprime { \HTMLunicode{2032} }
+\LWR at formatted{chemprime}
 }
 \cs_gset_protected:Npn \__chemmacros_cip:n #1
   {

Modified: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-jurabib.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-jurabib.sty	2022-06-24 21:51:50 UTC (rev 63711)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-jurabib.sty	2022-06-24 21:53:10 UTC (rev 63712)
@@ -22,7 +22,7 @@
 
 \renewcommand*{\jb at biblaw@item}{%
     \hspace{0.5em}%
-    \HTMLunicode{25B7}%     lwarp
+    \HTMLunicode{25B7}%     lwarp%
     \hspace{0.5em}%
 }
 

Modified: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-mdframed.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-mdframed.sty	2022-06-24 21:51:50 UTC (rev 63711)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-mdframed.sty	2022-06-24 21:53:10 UTC (rev 63712)
@@ -72,7 +72,7 @@
 {box-shadow: none ;}
 \LWR at orignewline
 \textquotedbl}
-\LWR at select@print at hspace%
+\let\hspace\LWR at print@hspace%
 \renewcommand*{\rule}{\LWR at print@rule}
 \LetLtxMacro\makebox\LWR at print@makebox%
 \LWR at startpars%

Modified: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-thmbox.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-thmbox.sty	2022-06-24 21:51:50 UTC (rev 63711)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-thmbox.sty	2022-06-24 21:53:10 UTC (rev 63712)
@@ -32,7 +32,7 @@
         \InlineClass{thmboxproofname}{\proofname\ #1\unskip\,:}
     }
     {%
-        \qquad\HTMLunicode{220E}% end of proof symbol
+        \qquad\HTMLunicode{220E}
         \end{BlockClass}
     }
 

Modified: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-todo.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-todo.sty	2022-06-24 21:51:50 UTC (rev 63711)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-todo.sty	2022-06-24 21:53:10 UTC (rev 63712)
@@ -22,7 +22,7 @@
 \renewcommand\todoitem[2]{%
     \refstepcounter{todo}%
     \item[%
-        \HTMLunicode{2610} \quad
+        \HTMLunicode{2610} \quad%
         \ref{todopage:\thetodo}
      ] : {\todoformat\ifx#1\todomark\else\textbf{#1} \fi}#2%
     \label{todolbl:\thetodo}%
@@ -31,7 +31,7 @@
 \renewcommand\doneitem[2]{%
     \stepcounter{todo}%
     \item[%
-        \HTMLunicode{2611} \quad
+        \HTMLunicode{2611} \quad%
         \ref{todopage:\thetodo}
     ] \@nameuse{@done\the\c at todo}:
         {\todoformat\ifx#1\todomark\else\textbf{#1} \fi}#2%

Modified: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-unitsdef.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-unitsdef.sty	2022-06-24 21:51:50 UTC (rev 63711)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-unitsdef.sty	2022-06-24 21:53:10 UTC (rev 63712)
@@ -17,23 +17,23 @@
 %% version 2005/12/01 or later.
 
 \LWR at ProvidesPackagePass{unitsdef}[2005/01/04]
-\renewcommand{\unitvaluesep}{\,}
+\newcommand{\LWR at HTML@unitvaluesep}{\,}
+\LWR at formatted{unitvaluesep}
 
-\renewcommand{\unittimes}{\@@setunitsepfalse\HTMLunicode{22c5}}% \cdot
+\newcommand{\LWR at HTML@unittimes}{\@@setunitsepfalse\HTMLunicode{22c5}}% \cdot
+\LWR at formatted{unittimes}
 
-\renewunit{\arcmin}{%
-    \ifnumcomp{\value{LWR at lateximagedepth}}{>}{0}%
-        {\ensuremath{{}^\prime}}%
-        {\HTMLunicode{2032}}% prime
+\newunit{\LWR at HTML@arcmin}{%
+    \HTMLunicode{2032}% prime
 }
+\LWR at formatted{arcmin}
 
-\renewunit{\arcsec}{%
-    \ifnumcomp{\value{LWR at lateximagedepth}}{>}{0}%
-        {\ensuremath{{}^{\prime\prime}}}%
-        {\HTMLunicode{2033}}% dbl prime
+\newunit{\LWR at HTML@arcsec}{%
+    \HTMLunicode{2033}% dbl prime
 }
+\LWR at formatted{arcsec}
 
-\renewrobustcmd{\SI}[2]{%
+\newrobustcmd{\LWR at HTML@SI}[2]{%
   \begingroup%
     \let\unit@@xspace\relax%
     \unitSIdef\selectfont%
@@ -40,6 +40,7 @@
       \LWR at textcurrentfont{#1#2}% lwarp
   \endgroup%
 }
+\LWR at formatted{SI}
 \endinput
 %%
 %% End of file `lwarp-unitsdef.sty'.

Modified: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp.sty	2022-06-24 21:51:50 UTC (rev 63711)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp.sty	2022-06-24 21:53:10 UTC (rev 63712)
@@ -17,7 +17,7 @@
 %% version 2005/12/01 or later.
 \NeedsTeXFormat{LaTeX2e}[1999/12/01]
 \ProvidesPackage{lwarp}
-    [2022/03/22 v0.905  Allows LaTeX to directly produce HTML5 output.]
+    [2022/06/23 v0.906  Allows LaTeX to directly produce HTML5 output.]
 
 
 
@@ -2039,12 +2039,7 @@
 
 \chardef\LWR at origpound=`\#
 \let\LWR at origcomma\,
-\let\LWR at origthinspace\thinspace
-\let\LWR at orignegthinspace\negthinspace
 \let\LWR at origtilde~
-\let\LWR at origenskip\enskip
-\let\LWR at origquad\quad
-\let\LWR at origqquad\qquad
 \let\LWR at orighfil\hfil
 \let\LWR at orighss\hss
 \let\LWR at origllap\llap
@@ -2056,9 +2051,6 @@
 
 \let\LWR at origmedskip\medskip
 \let\LWR at origbigskip\bigskip
-
-\let\LWR at origtextellipsis\textellipsis
-\let\LWR at origvdots\vdots
 \LetLtxMacro\LWR at orig@@textquotedbl\textquotedbl
 \LetLtxMacro\LWR at orig@textquotedbl\LWR at orig@@textquotedbl
 
@@ -4618,7 +4610,8 @@
     \LWR at ImagesDirectory\OSPathSymbol lateximagetemp-\LWRpercent\LWRpercent d.pdf%
 }
 \immediate\write\LWR at quickfile{%
-    pdfcrop --hires  \LWR at ImagesDirectory\OSPathSymbol lateximagetemp-\LWRpercent 1.pdf %
+    pdfcrop --hires  --margin \"0 1 0 0\"
+    \LWR at ImagesDirectory\OSPathSymbol lateximagetemp-\LWRpercent 1.pdf %
     \LWR at ImagesDirectory\OSPathSymbol\LWRpercent 3.pdf%
 }
 \immediate\write\LWR at quickfile{%
@@ -4857,7 +4850,7 @@
 
 -- Copyright 2016-2022 Brian Dunn
 
-printversion = "v0.905"
+printversion = "v0.906"
 requiredconfversion = "2" -- also at *lwarpmk.conf
 
 function printhelp ()
@@ -5370,7 +5363,7 @@
         imagesdirectory .. dirslash .."lateximagetemp-%d" .. ".pdf" ..
         seqname ..
     -- Crop the image:
-    "pdfcrop  --hires  " .. imagesdirectory .. dirslash .. "lateximagetemp-" ..
+    "pdfcrop  --hires  --margin \"0 1 0 0\"  " .. imagesdirectory .. dirslash .. "lateximagetemp-" ..
         lwimgpage .. ".pdf " ..
         imagesdirectory .. dirslash .. lwimgname .. ".pdf" ..
         seqname ..
@@ -7814,7 +7807,13 @@
 \begingroup%
 \LWR at nullfonts%
 \LWR at nullifyfootnotes%
-\LWR at htmlcomment{................................}%
+\LWR at htmlcomment{%
+    \LWR at orignewline%
+    \IfValueTF{#2}%
+        {...... #4 #2 ......}%
+        {...... #4 #3 ......}%
+    \LWR at orignewline%
+}%
 \LWR at orignewline%
 \ifbool{HTMLDebugComments}%
     {%
@@ -8703,7 +8702,7 @@
 \LWR at print@scriptsize%
 \LWR at restoreoriglists%
 \LWR at hook@processingtags%
-\LWR at select@print at hspace%
+\let\hspace\LWR at print@hspace%
 }
 
 \newcommand*{\LWR at afterendverbatim}{%
@@ -8762,13 +8761,13 @@
 {%
     \LWR at forcenewpage%
     \LWR at atbeginverbatim{tabbing}%
-    \let\enskip\LWR at origenskip%
-    \let\quad\LWR at origquad%
-    \let\qquad\LWR at origqquad%
+    \let\enskip\LWR at print@enskip%
+    \let\quad\LWR at print@quad%
+    \let\qquad\LWR at print@qquad%
     \let~\LWR at origtilde%
     \let\,\LWR at origcomma%
-    \let\thinspace\LWR at origthinspace%
-    \let\negthinspace\LWR at orignegthinspace%
+    \let\thinspace\LWR at print@thinspace%
+    \let\negthinspace\LWR at print@negthinspace%
     \LWR at print@tabbing%
 }
 {%
@@ -8939,7 +8938,7 @@
         \LWR at orig@desc at makelabel{#1}%
         \LWR at htmltag{/dt}%
     }
-    \LWR at select@html at nohspace%
+    \RenewDocumentCommand{\hspace}{s m}{}%
     \LWR at origitem[#1]%
     \endgroup%
     \LWR at orignewline%
@@ -9075,6 +9074,8 @@
 
 \newbool{LWR at tabularmutemods}
 
+\newbool{LWR at tabularfinalrow}
+
 \newbool{LWR at validtablecol}
 \newbool{LWR at opttablecol}
 
@@ -9267,7 +9268,7 @@
     \defcounter{LWR at tableLaTeXcolindex}{1}%
     \global\boolfalse{LWR at tabularcelladded}%
     \LWR at stoppars%
-    \LWR at origpar%
+    \LWR at forceemptyline%
     \LWR at getmynexttoken%
 }
 
@@ -9638,31 +9639,58 @@
     \ifbool{LWR at startedrow}%
     {}% started the row
     {% not started the row
-        \booltrue{LWR at startedrow}%
-        \booltrue{LWR at intabularmetadata}%
+        \ifbool{LWR at tabularfinalrow}%
+            {%
+                \renewcommand*{\LWR at tempone}%
+                    { aria-hidden=\textquotedbl{}true\textquotedbl}%
+            }%
+            {%
+                \renewcommand*{\LWR at tempone}{}%
+            }%
         \ifboolexpr{%
             test{\ifnumcomp{\value{LWR at hlines}}{>}{0}} or%
             test{\ifnumcomp{\value{LWR at hdashedlines}}{>}{0}}%
         }%
         {%
-            \LWR at htmltag{tr class=\textquotedbl{}hline\textquotedbl }%
+            \LWR at htmltag{%
+                tr %
+                class=\textquotedbl{}hline\textquotedbl%
+                \LWR at tempone% aria-hidden
+            }%
             \LWR at orignewline%
+            \booltrue{LWR at startedrow}%
+            \booltrue{LWR at intabularmetadata}%
         }%
         {% not doing hline
             \ifbool{LWR at doingtbrule}%
             {%
                 \ifdefvoid{\LWR at ruleHTMLcolor}{%
-                    \LWR at htmltag{tr class=\textquotedbl{}tbrule\textquotedbl}%
+                    \LWR at htmltag{%
+                        tr %
+                        class=\textquotedbl{}tbrule\textquotedbl%
+                        \LWR at tempone% aria-hidden
+                    }%
                 }{%
                     \LWR at htmltag{%
                         tr class=\textquotedbl{}tbrule\textquotedbl\ % space
                         style=\textquotedbl{}border-top: 1px solid % space
                             \LWR at origpound\LWR at ruleHTMLcolor \textquotedbl{}%
+                        \LWR at tempone% aria-hidden
                     }%
                 }%
                 \LWR at orignewline%
+                \booltrue{LWR at startedrow}%
+                \booltrue{LWR at intabularmetadata}%
             }%
-            {\LWR at htmltag{tr}\LWR at orignewline}%
+            {%
+                \ifbool{LWR at tabularfinalrow}%
+                    {}%
+                    {%
+                        \LWR at htmltag{tr}\LWR at orignewline%
+                        \booltrue{LWR at startedrow}%
+                        \booltrue{LWR at intabularmetadata}%
+                    }%
+            }%
         }% end of not doing hline
     }% end of not started the row
 }
@@ -10463,6 +10491,7 @@
 \newcommand*{\ResumeTabular}{%
     \boolfalse{LWR at exitingtabular}%
     \boolfalse{LWR at tabularmutemods}%
+    \boolfalse{LWR at tabularfinalrow}%
     \LWR at getmynexttoken%
 }
 
@@ -10482,7 +10511,10 @@
     \LWR at traceinfo{LWR at tabledatacolumntag}%
     \global\let\LWR at mynextaction\LWR at tabledatasinglecolumntag%
     \ifdefequal{\LWR at mynexttoken}{\end}%
-        {\booltrue{LWR at exitingtabular}}{}%
+        {%
+            \booltrue{LWR at tabularfinalrow}%
+            \booltrue{LWR at exitingtabular}%
+        }{}%
     \ifdefequal{\LWR at mynexttoken}{\caption}%
         {\global\let\LWR at mynextaction\LWR at donothing}{}%
     \ifdefequal{\LWR at mynexttoken}{\multicolumn}%
@@ -10608,7 +10640,11 @@
 }% AtBeginDocument
 
 \NewDocumentCommand{\LWR at HTMLcline}{m}%
-    {\LWR at docmidrule{#1}\LWR at getmynexttoken}%
+{%
+    \LWR at docmidrule{#1}%
+    \LWR at maybenewtablerow%
+    \LWR at getmynexttoken%
+}%
 
 \newcommand{\LWR at tabular@warpprintonly}[1]{%
     \ifbool{warpingprint}{#1}{}%
@@ -10644,6 +10680,7 @@
     \LWR at nullifyNoAutoSpacing%
     \boolfalse{LWR at exitingtabular}%
     \boolfalse{LWR at tabularmutemods}%
+    \boolfalse{LWR at tabularfinalrow}%
     \boolfalse{LWR at usedmultirow}%
     \boolfalse{LWR at foundmrowcell}%
     \renewcommand*{\LWR at multicoltext}{}%
@@ -10655,6 +10692,11 @@
     \LWR at htmlblocktag{table}%
     \LWR at parsetablecols{#3}%
     \LWR at stoppars%
+    \LWR at htmltag{tr style="display:none"}%
+    \LWR at htmltag{th}.\LWR at htmltag{/th}%
+    \LWR at htmltag{/tr}%
+    \LWR at orignewline%
+    \LWR at forceemptyline%
     \defcounter{LWR at tableLaTeXcolindex}{1}%
     \global\boolfalse{LWR at tabularcelladded}%
     \LWR at clearmidrules%
@@ -10739,12 +10781,16 @@
         )%
     }%
     {%
+        \booltrue{LWR at tabularfinalrow}%
         \LWR at tabularfinishrow%
+        \boolfalse{LWR at tabularfinalrow}%
     }%
     {%
         \LWR at closetabledatacell%
     }%
-    \LWR at htmlblocktag{/tr}%
+    \ifbool{LWR at startedrow}%
+        {\LWR at htmltag{/tr}\LWR at orignewline}%
+        {}%
     \@rowc at lors%
     \LWR at htmlblocktag{/table}%
     \boolfalse{LWR at intabularmetadata}%
@@ -10974,6 +11020,15 @@
 }
 
 \LWR at formatted{ref}
+
+\NewDocumentCommand{\LWR at HTML@Ref}{s m}{%
+    \LWR at traceinfo{LWR at HTML@Ref !#2!}%
+    \IfBooleanTF{#1}%
+        {\LWR at print@Ref{#2}}%
+        {\LWR at subnewref{#2}{#2}}%
+}
+
+\LWR at formatted{Ref}
 \NewDocumentCommand{\LWR at refwithsection}{s m}{%
     \LWR at traceinfo{LWR at refwithsection !#2!}%
     \IfBooleanTF{#1}%
@@ -11973,7 +12028,6 @@
     \renewcommand*{\LWR at formatting}{print}%
     \linespread{1}%
     \setbool{LWR at doingparhooks}{false}%
-    \LWR at select@print at hspace%
     \def\color at endgroup{\endgraf\endgroup}%
     \LetLtxMacro\hfil\LWR at orighfil%
     \let\hss\LWR at orighss%
@@ -11981,10 +12035,6 @@
     \let\rlap\LWR at origrlap%
     \let\hfilneg\LWR at orighfilneg%
     \let\,\LWR at origcomma% disable HTML short unbreakable space
-    \let\thinspace\LWR at origthinspace% disable HTML short unbreakable space
-    \let\negthinspace\LWR at orignegthinspace% disable HTML negative short unbreakable space
-    \let\textellipsis\LWR at origtextellipsis%
-    \let\vdots\LWR at origvdots%
     \let\textless\LWR at origtextless%
     \let\textgreater\LWR at origtextgreater%
     \let\&\LWR at origampersand%
@@ -11994,9 +12044,6 @@
     \let\sb\LWR at origsb%
     \LetLtxMacro\underline\LWR at origunderline%
     \let~\LWR at origtilde%
-    \let\enskip\LWR at origenskip%
-    \let\quad\LWR at origquad%
-    \let\qquad\LWR at origqquad%
     \LetLtxMacro\endtabular\LWR at origendtabular%
     \csletcs{endtabular*}{LWR at origendtabular*}%
     \LetLtxMacro\noalign\LWR at orignoalign%
@@ -12840,6 +12887,9 @@
 
 \newcommand*{\displaymathnormal}{}
 \newcommand*{\displaymathother}{}
+\newcommand*{\theMathJaxsubequations}{0}
+\newcommand*{\theMathJaxsection}{}
+\newcommand*{\theMathJaxequation}{\arabic{equation}}
 
 \end{warpprint}
 
@@ -14222,13 +14272,17 @@
 
 
 \begin{warpHTML}
-\AtBeginDocument{
-\renewrobustcmd*{\,}{\HTMLunicode{202f}} % HTML thin non-breakable space
-\renewrobustcmd*{\thinspace}{\HTMLunicode{202f}}    % HTML thin non-breakable space
-\renewrobustcmd*{\negthinspace}{\HTMLunicode{202f}}    % HTML thin non-breakable space
-\renewrobustcmd*{~}{\HTMLentity{nbsp}}
-\renewrobustcmd*{\textellipsis}{\HTMLunicode{2026}}
-\renewrobustcmd*{\vdots}{\HTMLunicode{22EE}}
+\AtBeginDocument{%
+\renewrobustcmd*{\,}{\HTMLunicode{202f}}% HTML thin non-breakable space, not using LWR at formatted
+\newrobustcmd*{\LWR at HTML@thinspace}{\HTMLunicode{202f}}% HTML thin non-breakable space
+\LWR at formatted{thinspace}
+\newrobustcmd*{\LWR at HTML@negthinspace}{\HTMLunicode{202f}}    % HTML thin non-breakable space
+\LWR at formatted{negthinspace}
+\renewrobustcmd*{~}{\HTMLentity{nbsp}}% cannot use \LWR at formatted
+\newrobustcmd*{\LWR at HTML@textellipsis}{\HTMLunicode{2026}}
+\LWR at formatted{textellipsis}
+\newrobustcmd*{\LWR at HTML@vdots}{\HTMLunicode{22EE}}
+\LWR at formatted{vdots}
 }
 \newcommand*{\LWR at font@size}{normalsize}
 
@@ -14318,27 +14372,29 @@
     \ifbool{LWR at minipagethispar}{\LWR at stoppars}{}%
 }
 
-\renewrobustcmd*{\quad}{%
+\newrobustcmd*{\LWR at HTML@quad}{%
     \LWR at minipagestoppars%
     \HTMLunicode{2003}%
     \LWR at minipagestartpars%
 }
+\LWR at formatted{quad}
 
-\renewrobustcmd*{\qquad}{\quad\quad}
+\newrobustcmd*{\LWR at HTML@qquad}{\quad\quad}
+\LWR at formatted{qquad}
 
-\renewrobustcmd*{\enskip}{%
+\newrobustcmd*{\LWR at HTML@enskip}{%
     \LWR at minipagestoppars%
     \HTMLunicode{2002}%
     \LWR at minipagestartpars%
 }
+\LWR at formatted{enskip}
 
 \newlength{\LWR at tempwidth}
 \newlength{\LWR at tempheight}
 \newlength{\LWR at tempraise}
 
-\newcommand{\LWR at select@html at hspace}{%
-\RenewDocumentCommand{\hspace}{s m}{%
-\setlength{\LWR at tempwidth}{##2}%
+\NewDocumentCommand{\LWR at HTML@hspace}{s m}{%
+\setlength{\LWR at tempwidth}{#2}%
 \ifnum\gluestretchorder\LWR at tempwidth>0%
 \setlength{\LWR at tempwidth}{2em}%
 \fi%
@@ -14366,17 +14422,8 @@
     \LWR at minipagestartpars%
 }{}% width greater than 0
 }%
-}
-\newcommand{\LWR at select@html at nohspace}{%
-    \RenewDocumentCommand{\hspace}{s m}{}%
-}
+\LWR at formatted{hspace}
 
-\newcommand*{\LWR at select@print at hspace}{%
-    \renewrobustcmd\hspace{\@ifstar\@hspacer\@hspace}%
-}
-
-\LWR at select@html at hspace
-
 \NewDocumentCommand{\LWR at HTML@vspace}{s m}{}
 
 \LWR at formatted{vspace}



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