texlive[60674] trunk: lwarp (2oct21)

commits+karl at tug.org commits+karl at tug.org
Sat Oct 2 00:03:56 CEST 2021


Revision: 60674
          http://tug.org/svn/texlive?view=revision&revision=60674
Author:   karl
Date:     2021-10-02 00:03:56 +0200 (Sat, 02 Oct 2021)
Log Message:
-----------
lwarp (2oct21)

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-algorithm2e.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-amsthm.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-fancybox.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-fancyvrb.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-footnote.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-footnotehyper.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-graphics.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-hang.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-hyperref.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-imakeidx.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-index.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-luatexko.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-multimedia.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-parnotes.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-patch-komascript.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-patch-memoir.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-scrextend.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-tagpdf.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-titling.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-tocbibind.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-xetexko.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-xpinyin.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp.sty

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

Modified: trunk/Build/source/texk/texlive/linked_scripts/lwarp/lwarpmk.lua
===================================================================
--- trunk/Build/source/texk/texlive/linked_scripts/lwarp/lwarpmk.lua	2021-10-01 22:02:48 UTC (rev 60673)
+++ trunk/Build/source/texk/texlive/linked_scripts/lwarp/lwarpmk.lua	2021-10-01 22:03:56 UTC (rev 60674)
@@ -2,7 +2,7 @@
 
 -- Copyright 2016-2021 Brian Dunn
 
-printversion = "v0.901"
+printversion = "v0.902"
 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	2021-10-01 22:02:48 UTC (rev 60673)
+++ trunk/Master/texmf-dist/doc/latex/lwarp/README.txt	2021-10-01 22:03:56 UTC (rev 60674)
@@ -1,5 +1,5 @@
 
-LaTeX lwarp package v0.901   README.txt
+LaTeX lwarp package v0.902   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	2021-10-01 22:02:48 UTC (rev 60673)
+++ trunk/Master/texmf-dist/scripts/lwarp/lwarpmk.lua	2021-10-01 22:03:56 UTC (rev 60674)
@@ -2,7 +2,7 @@
 
 -- Copyright 2016-2021 Brian Dunn
 
-printversion = "v0.901"
+printversion = "v0.902"
 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	2021-10-01 22:02:48 UTC (rev 60673)
+++ trunk/Master/texmf-dist/source/latex/lwarp/lwarp.dtx	2021-10-01 22:03:56 UTC (rev 60674)
@@ -16,7 +16,7 @@
 % \iffalse
 %<package>\NeedsTeXFormat{LaTeX2e}[1999/12/01]
 %<package>\ProvidesPackage{lwarp}
-%<package>    [2021/08/27 v0.901  Allows LaTeX to directly produce HTML5 output.]
+%<package>    [2021/10/01 v0.902  Allows LaTeX to directly produce HTML5 output.]
 %
 %<*driver>
 \documentclass{ltxdoc}
@@ -144,26 +144,12 @@
     bottom=1in
 ]{geometry}
 
-\usepackage{graphicx}
-\graphicspath{{images/}}
+\usepackage{pict2e}% for the Lwarp logo
 
+% Improve the LaTeX and related logos:
+\usepackage{metalogox}
 
-\usepackage{metalogo}
 
-\makeatletter
-\@ifpackageloaded{erewhon}{
-% for erewhon:
-\setlogokern{Te}{-.08em}
-\setlogokern{eX}{-0.04em}
-\setlogokern{La}{-.25em}
-\setlogokern{aT}{-.10em}
-\setlogokern{Xe}{-.04em}
-\setlogokern{eL}{-.06em}
-\setlogodrop{0.27ex}
-}{}
-\makeatother
-
-
 \usepackage{enumitem}
 \newlist{inlinedesc}{description*}{1}
 
@@ -210,7 +196,8 @@
 \pagestyle{pageheadfoot}
 
 
-\usepackage{dtxdescribe}[2019/07/16]
+% Indexing, logos, \Describexxxx, etc:
+\usepackage{dtxdescribe}[2021/09/02]
 
 
 \usepackage{splitidx}
@@ -362,19 +349,15 @@
 \cs{DeclareDocumentCommand} is used to overwrite the \pkg{koma-script} definitions.
 }
 
-\newcommand{\documentationnotes}{
-The following sections document the actual implementation of the \pkg{lwarp} package.
-
-The small numbers at the left end of a line refer to line numbers
-\margintag{line numbers}
-in the \texttt{lwarp.sty} file.
-
+\makeatletter
+\newcommand{\maindocumentationnotes}{
 Blue-colored tags in the left margin
 \margintag{subjects}
 aid in quickly identifying the subject of each paragraph.
+These are often the targets of index entries.
 
 Black-colored tags in the left marign are used to
-\margintag{objects}
+\DTXD at margintag{}{Lwarp}{Prog}%
 identify programming objects such as files, packages,
 environments, booleans, and counters.
 Items without a tag are command macros.
@@ -385,7 +368,18 @@
 
 Special warnings are marked with a warning icon.
 \watchout[warnings]
+}
+\makeatother
 
+\newcommand{\codedocumentationnotes}{
+The following sections document the actual implementation of the \pkg{lwarp} package.
+
+The small numbers at the left end of a line refer to line numbers
+\margintag{line numbers}
+in the \texttt{lwarp.sty} file.
+
+\maindocumentationnotes
+
 \codehtml\vspace*{5.25ex}\ignorespaces
 \codeprint\vspace*{5.25ex}\ignorespaces
 \codeall\vspace*{5.25ex}\ignorespaces
@@ -410,8 +404,8 @@
 to the next image generated by a \env{lateximage}, \env{picture}, \env{tikzpicture},
 or any other similar environment which generates an image,
 or the next \SVG\ math expression. This tag is cleared after use.
-The tag is also cleared after each \brand{MathJax} expression, in case the user
-changes between \SVG\ math and \brand{MathJax}.
+The tag is also cleared after each \MathJax\ expression, in case the user
+changes between \SVG\ math and \MathJax.
 
 \cs{ThisAltText} also may be used to add an \HTML\ \attribute{title} to
 a reference or hyperlink, such as a \cs{ref}, \cs{cref}, \cs{href},
@@ -786,7 +780,7 @@
 \cs{theendnotes}
 \end{sourcedisplay}
 
-If using \brand{MathJax}, see \cref{sec:limitsfootnotes}
+If using \MathJax, see \cref{sec:limitsfootnotes}
 \watchout[\cs{endnotemark}]\margintag{numbering}
 regarding the use of \cs{endnotemark} and \cs{endnotetext}.
 }
@@ -910,7 +904,7 @@
 \limitsperpage
 
 % No longer true:
-% If using \brand{MathJax}, \cs{footnote} and \cs{endnote} work,
+% If using \MathJax, \cs{footnote} and \cs{endnote} work,
 % \watchout[MathJax, \cs{footnotemark}]
 % but for \cs{footnotemark}, after each math expression with a \cs{footnotemark}
 % adjust the \ctr{footnote} counter by the number of \cs{footnotemark}s:
@@ -920,8 +914,8 @@
 % \end{sourcedisplay}
 % Similarly for \pkg{endnotes}, but \emph{not} \pkg{sidenotes}.
 
-Also for \brand{MathJax}, \cs{footnotename} is used for a \cs{footnotemark}
-\margintag{\brand{MathJax}}
+Also for \MathJax, \cs{footnotename} is used for a \cs{footnotemark}
+\margintag{\MathJax}
 if the actual footnote number is not known.
 To redefine it, provide it before loading \pkg{lwarp}:
 \begin{sourcedisplay}
@@ -1003,7 +997,7 @@
 \trouble{bigfoot=\pkg{bigfoot}}
 \trouble{manyfoot=\pkg{manyfoot}}
 problems may occur with counter allocation because \pkg{lwarp} uses many counters,
-and there is a difference in how counters numbered 256 and up are handled in pdf\LaTeX.
+and there is a difference in how counters numbered 256 and up are handled in \pdfLaTeX.
 With \pkg{bigfoot} this has been known to show up as an error
 related to one footnote insert being forbidden inside another.  Another problem
 showed up as a input stack error, and which of these problems occurred depended on how
@@ -1013,7 +1007,7 @@
 \pkg{bigfoot} or \pkg{manyfoot} footnotes,
 hoping to shift the problematic counter above the 256 threshold.
 It may instead be necessary to use \XeLaTeX\ or \LuaLaTeX\
-instead of pdf\LaTeX.
+instead of \pdfLaTeX.
 }
 
 \newcommand{\limitskomascript}{
@@ -1187,8 +1181,8 @@
 
 Math may be rendered
 \margintag{Math rendering}
-as \SVG\ graphics or using the \brand{MathJax} JavaScript display engine.
-\gindex{JavaScript=\brand{JavaScript}>mathjax=\brand{MathJax}}
+as \SVG\ graphics or using the \MathJax\ JavaScript display engine.
+\gindex{JavaScript=\brand{JavaScript}>mathjax=\MathJax}
 
 Rendering math as images creates a new \SVG\ file for each expression,
 \margintag{\SVG\ files}
@@ -1214,7 +1208,7 @@
 among other things allowing a more compact representation of math than \SVG\ drawings.
 Problems with \MathML\ include limited browser support and some
 issues with the fine control of the appearance of the result.
-Also see \cref{sec:epub} regarding \EPUB\ output with \brand{MathJax}.
+Also see \cref{sec:epub} regarding \EPUB\ output with \MathJax.
 
 \subsubsection{\SVG\ option}
 
@@ -1256,71 +1250,71 @@
 \trouble[\SVG\ math in \TeX\ boxes]{math>in \TeX\ boxes}
 before and after each image.
 
-\subsubsection{\brand{MathJax} option}
+\subsubsection{\MathJax\ option}
 \label{sec:limitsmathjax}
 
-The \brand{MathJax} (\url{mathjax.org}) \LaTeX-math to \HTML\ converter
-\margintag{\brand{MathJax} math option}
+The \MathJax\ (\url{mathjax.org}) \LaTeX-math to \HTML\ converter
+\margintag{\MathJax\ math option}
 may be used to display math.
 \DescribeProgram{MathJax}
-\gindex{math>mathjax=\brand{MathJax} summary}
-\gindex{mathjax=\brand{MathJax}>summary}
+\gindex{math>mathjax=\MathJax\ summary}
+\gindex{mathjax=\MathJax>summary}
 
-When \brand{MathJax} is enabled, math is rendered twice:
+When \MathJax\ is enabled, math is rendered twice:
 \begin{enumerate}
 \item As regular \LaTeX\ \PDF\ output placed inside an \HTML\ comment, allowing
 equation numbering and cross referencing to be almost entirely under the control of \LaTeX, and
 \item As detokenized printed \LaTeX{} commands placed directly into the \HTML\ output
-for interpretation by the \brand{MathJax} display scripts.  An additional script is used to
+for interpretation by the \MathJax\ display scripts.  An additional script is used to
 pre-set the equation number format and value according to the current \LaTeX\ values,
-and the \brand{MathJax} equation numbering system is ignored in favor of the \LaTeX\ internal system,
+and the \MathJax\ equation numbering system is ignored in favor of the \LaTeX\ internal system,
 seamlessly integrating with the rest of the \HTML\ output, including any math
-appearing in non-\brand{MathJax} \SVG\ output.
+appearing in non-\MathJax\ \SVG\ output.
 \end{enumerate}
 
-\subsubsection{Customizing \brand{MathJax}}
+\subsubsection{Customizing \MathJax}
 \label{sec:limitscustomizemathjax}
-\gindex{mathjax=\brand{MathJax}>custom functions}
-\gindex{math>mathjax=\brand{MathJax} custom functions}
+\gindex{mathjax=\MathJax>custom functions}
+\gindex{math>mathjax=\MathJax\ custom functions}
 \limitscustomizemathjax
 
-\subsubsection{\brand{MathJax} limitations}
-Limitations when using \brand{MathJax} include:
-\margintag{\brand{MathJax} limitations}
+\subsubsection{\MathJax\ limitations}
+Limitations when using \MathJax\ include:
+\margintag{\MathJax\ limitations}
 \DescribeProgram{MathJax}
 \begin{itemize}
-\item \brand{MathJax} does not support \cs{multicolumn} or \pkg{multirow}.
+\item \MathJax\ does not support \cs{multicolumn} or \pkg{multirow}.
     \trouble[\cs{multicolumn}, \pkg{multirow}]%
-        {multicolumn=\cs{multicolumn}>mathjax=\brand{MathJax}}
-    \trouble{multirow=\pkg{multirow}>mathjax=\brand{MathJax}}
-    \trouble{array=\env{array}>mathjax=\brand{MathJax}}
-    \trouble{mathjax=\brand{MathJax}>multicolumn=\cs{multicolumn}}
-    \trouble{mathjax=\brand{MathJax}>multirow=\cs{multirow}}
+        {multicolumn=\cs{multicolumn}>mathjax=\MathJax}
+    \trouble{multirow=\pkg{multirow}>mathjax=\MathJax}
+    \trouble{array=\env{array}>mathjax=\MathJax}
+    \trouble{mathjax=\MathJax>multicolumn=\cs{multicolumn}}
+    \trouble{mathjax=\MathJax>multirow=\cs{multirow}}
     These may be used in text \env{tabular}s or \SVG\ math,
-    but in \brand{MathJax} math \env{array}s they are emulated.
+    but in \MathJax\ math \env{array}s they are emulated.
     \cs{multicolumn} only fills a single cell, resulting in a short row.
     \cs{multirow} simply prints its text on the first line.
 
-\item Footnotes are emulated when used inside a \brand{MathJax} expression.
+\item Footnotes are emulated when used inside a \MathJax\ expression.
     \watchout[footnotes]
     For an equation with a single footnote, the correct footnote number is used.
     For non-equations, \cs{footnotename} is used instead, since the actual
     number cannot be tracked.
-    See \cref{sec:limitsfootnotes} regarding the use of footnotes with \brand{MathJax}.
+    See \cref{sec:limitsfootnotes} regarding the use of footnotes with \MathJax.
 
-\item Inside a \brand{MathJax} expression,
-    \trouble[references]{mathjax=\brand{MathJax}>references}
-    \trouble{cross reference>mathjax=\brand{MathJax}}
-    \trouble{reference>mathjax=\brand{MathJax}}
+\item Inside a \MathJax\ expression,
+    \trouble[references]{mathjax=\MathJax>references}
+    \trouble{cross reference>mathjax=\MathJax}
+    \trouble{reference>mathjax=\MathJax}
     references to equations work within the same \HTML\ web page, but do not
     work when referring to an equation in a different \HTML\ web page.
-    Outside of a \brand{MathJax} expression, in the text body, references work
+    Outside of a \MathJax\ expression, in the text body, references work
     as expected.
 
 \item Math appearing inside a lateximage,
     \margintag{lateximage}
     and therefore also inside a \tikz\ or \env{picture}
-    environment, is rendered as \SVG\ math even if \brand{MathJax}
+    environment, is rendered as \SVG\ math even if \MathJax
     is used in the rest of the document.
 
 \item For \pkg{siunitx},
@@ -1333,21 +1327,38 @@
 
 \item A \env{tabbing} environment is emulated
     using an \HTML\ \element{pre}.\margintag{tabbing}\
-    While \brand{MathJax} is enabled inside \env{tabbing}, the browser may not correctly
+    While \MathJax\ is enabled inside \env{tabbing}, the browser may not correctly
     render the horizontal alignment of the math and text following after on the same line.
 
-\item \brand{MathJax} includes the \prog{textmacros} extension,
+\item \MathJax\ includes the \prog{textmacros} extension,
     \margintag{\cs{text}}
     which supports various macros which are commonly used inside \cs{text},
     such as \cs{textbf} and text accents.
     \pkg{Lwarp} supports this extension.
 
+\item If using \dviLaTeX\ or \pdfLaTeX,
+    \trouble[Unicode]{Unicode>mathjax=\MathJax}
+    \trouble{encoding>mathjax=\MathJax}
+    \trouble{character encoding>mathjax=\MathJax}
+    \trouble{mathjax=\MathJax>encoding}
+    \trouble{mathjax=\MathJax>character encoding}
+    \trouble{mathjax=\MathJax>Unicode}
+    unicode input may not appear correctly in \MathJax.
+    Either use \XeLaTeX\ or \LuaLaTeX, or replace Unicode special characters such as
+\begin{sourcedisplay}
+\cs{text}\{special character \ae\}
+\end{sourcedisplay}
+    with their special macros, such as
+\begin{sourcedisplay}
+\cs{text}\{special character \cs{ae}\}
+\end{sourcedisplay}
+
 \item Many other math-related macros and packages are
-    \trouble[other macros and packages]{mathjax=\brand{MathJax}>unsupported packages}
-    \trouble{package>mathjax=\brand{MathJax} support}
-    not directly supported by \brand{MathJax},
+    \trouble[other macros and packages]{mathjax=\MathJax>unsupported packages}
+    \trouble{package>mathjax=\MathJax\ support}
+    not directly supported by \MathJax,
     including \cs{ensuremath} and occasionally-used macros such as \cs{relax}.
-    While using \brand{MathJax}, \pkg{lwarp} provides emulation
+    While using \MathJax, \pkg{lwarp} provides emulation
     for many of these macros, as well as for footnotes and emulation for
     dozens of packages (see \cref{tab:supported}).
     In many cases these emulations simply ignore the package in a source-compatible way.
@@ -1380,7 +1391,7 @@
 \DescribeMacro{\inlinemathnormal}
 \DescribeMacro{\inlinemathother}
 An inline math expression is usually converted to a reusable hashed \SVG\ math
-image, or a \brand{MathJax} expression.  The hash or expression depends on the contents
+image, or a \MathJax\ expression.  The hash or expression depends on the contents
 of the math expression.  In most cases this math expression is static, such as \texttt{\$x+1\$},
 so the image can be reused for multiples instances of the same expression.
 In some cases,
@@ -1391,11 +1402,11 @@
 \margintag{complicated \attribute{alt} tag}
 which do not expand well in an \attribute{alt} tag.
 Yet another problem is math packages which are only partially emulated
-\margintag{\brand{MathJax} limitations}
-in \brand{MathJax}.
+\margintag{\MathJax\ limitations}
+in \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 \brand{MathJax}
+use unhashed \SVG\ math images for those particular expressins, even if \MathJax
 is otherwise in use.
 See \cref{sec:localizingdynamicmath}.
 }
@@ -1404,7 +1415,7 @@
 \DescribeMacro{\displaymathnormal}
 By default, or when selecting \cs{displaymathnormal},
 \brand{Mathjax} math display environments print their contents
-as text into \HTML\ for \brand{MathJax} to interpret,
+as text into \HTML\ for \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.
@@ -1415,12 +1426,12 @@
 it is assumed that the contents are more complicated than ``pure''
 math.
 An example is an elaborate \tikz\ picture,
-\margintag{\brand{MathJax} unsupported}
-which will not render in \brand{MathJax} and
+\margintag{\MathJax\ unsupported}
+which will not render in \MathJax\ and
 will not make sense as an \HTML\ \attribute{alt} tag.
 \margintag{complicated \attribute{alt} tag}
-In this mode, \brand{MathJax} is turned off,
-math display environments become \SVG\ images, even if \brand{MathJax} is selected,
+In this mode, \MathJax\ is turned off,
+math display environments become \SVG\ images, even if \MathJax\ is selected,
 and the \HTML\ \attribute{alt} tags become simple messages.
 The contents are internally processed as an environment instead of a macro argument,
 so complicated objects such as \tikz\ pictures are more likely to compile successfully.
@@ -1428,14 +1439,14 @@
 
 
 \newcommand{\limitscustomizemathjax}{%
-\pkg{lwarp} detects and adjusts \brand{MathJax} equation numbering format for
+\pkg{lwarp} detects and adjusts \MathJax\ equation numbering format for
 \margintag{equation numbering}
-\gindex{equation numbering>mathjax=\brand{MathJax}}
-\gindex{math>equation numbering, mathjax=\brand{MathJax}}
-\gindex{mathjax=\brand{MathJax}>equation numbering}
-\trouble{equation numbering>mathjax=\brand{MathJax}}
-\trouble{mathjax=\brand{MathJax}>equation numbering}
-\trouble{math>equation numbering>mathjax=\brand{MathJax}}
+\gindex{equation numbering>mathjax=\MathJax}
+\gindex{math>equation numbering, mathjax=\MathJax}
+\gindex{mathjax=\MathJax>equation numbering}
+\trouble{equation numbering>mathjax=\MathJax}
+\trouble{mathjax=\MathJax>equation numbering}
+\trouble{math>equation numbering>mathjax=\MathJax}
 \pkg{article} and \pkg{book} style equations as well as
 \pkg{amsmath} \cs{numberwithin} for chapters, sections, and subsections.
 Custom equation number formats may be set as follows, for example:
@@ -1449,9 +1460,9 @@
 \watchout[\env{subequation}]
 with \cs{alpha} subequation numbering.
 
-\brand{MathJax} does not have preexisting support every possible math function.
+\MathJax\ does not have preexisting support every possible math function.
 \margintag{global customizations}
-Additional \brand{MathJax} function definitions may be
+Additional \MathJax\ function definitions may be
 defined in the preamble.  These will be declared at the start of each \HTML\ page,
 and thus will have a global effect across all \HTML\ pages.
 
@@ -1468,14 +1479,14 @@
 \textred{\cs{end}\{warpMathJax\}}
 \end{sourcedisplay}
 To avoid a slowdown in compile speed, use
-\trouble[slow compilation]{mathjax=\brand{MathJax}>slow compilation}
-\trouble{compiling>slow \brand{MathJax}}
+\trouble[slow compilation]{mathjax=\MathJax>slow compilation}
+\trouble{compiling>slow \MathJax}
 the \env{warpMathJax} environment to prevent its contents from being processed in
 print or \SVG\ math output.
 Also, place each new definition inside its own \cs{CustomizeMathJax}.
 A warning to this effect is issued if an overly-long definition is attempted.
 
-\pkg{lwarp} already provides \brand{MathJax} customizations for some packages.
+\pkg{lwarp} already provides \MathJax\ customizations for some packages.
 
 When using \pkg{siunitx}, a similar process may be used to add custom units:
 \margintag{\pkg{siunitx}}
@@ -1508,16 +1519,16 @@
 and use a separate math environment for each definition.
 
 \DescribeMacro{\ifstar}
-For \brand{MathJax}, use \cs{ifstar} instead of \cs{@ifstar}:
+For \MathJax, use \cs{ifstar} instead of \cs{@ifstar}:
 \gindex{starred macros}
-\gindex{ifnextstar=\cs{@ifnextstar} with \brand{MathJax}}
-\gindex{@ifstar=\cs{@ifstar} with \brand{MathJax}}
-\gindex{mathjax=\brand{MathJax}>starred macros}
-\trouble{mathjax=\brand{MathJax}>starred macros}
-\trouble{math>starred macros and mathjax=\brand{MathJax}}
-\gindex{mathjax=\brand{MathJax}>@ifstar=\cs{@ifstar} macros}
-\trouble{mathjax=\brand{MathJax}>@ifstar=\cs{@ifstar} macros}
-\trouble{math>@ifstar=\cs{@ifstar} macros and \brand{MathJax}}
+\gindex{ifnextstar=\cs{@ifnextstar} with \MathJax}
+\gindex{@ifstar=\cs{@ifstar} with \MathJax}
+\gindex{mathjax=\MathJax>starred macros}
+\trouble{mathjax=\MathJax>starred macros}
+\trouble{math>starred macros and mathjax=\MathJax}
+\gindex{mathjax=\MathJax>@ifstar=\cs{@ifstar} macros}
+\trouble{mathjax=\MathJax>@ifstar=\cs{@ifstar} macros}
+\trouble{math>@ifstar=\cs{@ifstar} macros and \MathJax}
 \begin{sourcedisplay}
 \cs{CustomizeMathJax}\{ \\
     \fquad \cs{def}\cs{myname}\{\\
@@ -1528,12 +1539,12 @@
 \end{sourcedisplay}
 
 \DescribeMacro{\ifnextchar}
-For \brand{MathJax}, use \cs{ifnextchar} instead of \cs{@ifnextchar}:
-\gindex{@ifnextchar=\cs{@ifnextchar} with \brand{MathJax}}
-\gindex{ifnextchar=\cs{@ifnextchar} with \brand{MathJax}}
-\gindex{mathjax=\brand{MathJax}>@ifnextchar=\cs{@ifnextchar} macros}
-\trouble{mathjax=\brand{MathJax}>@ifnextchar=\cs{@ifnextchar} macros}
-\trouble{math>@ifnextchar=\cs{@ifnextchar} macros and \brand{MathJax}}
+For \MathJax, use \cs{ifnextchar} instead of \cs{@ifnextchar}:
+\gindex{@ifnextchar=\cs{@ifnextchar} with \MathJax}
+\gindex{ifnextchar=\cs{@ifnextchar} with \MathJax}
+\gindex{mathjax=\MathJax>@ifnextchar=\cs{@ifnextchar} macros}
+\trouble{mathjax=\MathJax>@ifnextchar=\cs{@ifnextchar} macros}
+\trouble{math>@ifnextchar=\cs{@ifnextchar} macros and \MathJax}
 \begin{sourcedisplay}
 \cs{CustomizeMathJax}\{\cs{def}\cs{myname}\{\cs{ifnextchar} X \cs{found}\cs{notfound}\}\}
 \end{sourcedisplay}
@@ -1590,10 +1601,10 @@
     \optn{mathic} is not emulated for \HTML.
     \watchout[italic correction]
 
-    If using \brand{MathJax}:
-    \trouble[\brand{MathJax}]{mathjax=\brand{MathJax}>mathtools=\pkg{mathtools}}
+    If using \MathJax:
+    \trouble[\MathJax]{mathjax=\MathJax>mathtools=\pkg{mathtools}}
     \begin{itemize}
-    \item \pkg{mathtools} \optn{disallowspaces} does not work for \brand{MathJax}.
+    \item \pkg{mathtools} \optn{disallowspaces} does not work for \MathJax.
         Protect brackets which are not optional arguments, such as:
         \begin{sourcedisplay}
         \cs{begin}\{gathered\}\textred{\{\}} \\
@@ -1600,9 +1611,9 @@
         {[}p{]}=1 \dots \\
         \cs{end}\{gathered\}
         \end{sourcedisplay}
-    \item \optn{showonlyrefs} does not work in \brand{MathJax}, and will result
+    \item \optn{showonlyrefs} does not work in \MathJax, and will result
         in a difference in equation numbering compared to the print version.
-    \item \env{alignat} in \brand{MathJax} requires math mode, but
+    \item \env{alignat} in \MathJax\ requires math mode, but
         in \LaTeX\ it doesn't.  It may be required to use \env{warpHTML} and
         \env{warpprint} to isolate a version for each mode.
     \item \cs{DeclarePairedDelimiter} and related must be in the preamble
@@ -1628,15 +1639,15 @@
 }
 
 \newcommand{\limitschemformula}{%
-\pkg{chemformula} works best without \brand{MathJax}.
-\trouble[\pkg{chemformula} with \brand{MathJax}]{mathjax=\brand{MathJax}>chemformula=\pkg{chemformula}}
-\trouble{chemformula=\pkg{chemformula}>mathjax=\brand{MathJax}}
-If \brand{MathJax} is used,
+\pkg{chemformula} works best without \MathJax.
+\trouble[\pkg{chemformula} with \MathJax]{mathjax=\MathJax>chemformula=\pkg{chemformula}}
+\trouble{chemformula=\pkg{chemformula}>mathjax=\MathJax}
+If \MathJax\ is used,
 \cs{displaymathother} must be used before \env{array}, and then
 \cs{displaymathnormal} may be used after.
 (The \pkg{chemformula} package adapts to \env{array},
 but does not know about \brand{Mathjax}, and
-\brand{MathJax} does not know about \pkg{chemformula}.)
+\MathJax\ does not know about \pkg{chemformula}.)
 
 While using \brand{Mathjax}, \cs{displaymathother} may also be used
 for other forms of display and inline math which contain \pkg{chemformula} expressions.
@@ -1917,7 +1928,7 @@
 but display math and other environments such as \env{picture} and \tikz\ require
 one image file each.
 For a document with a large amount of math,
-see \cref{sec:tutorialmathjax} to use \brand{MathJax} instead.
+see \cref{sec:tutorialmathjax} to use \MathJax\ instead.
 }
 
 \newcommand{\limitstikz}{%
@@ -2352,9 +2363,9 @@
         \dots\ \& & \textred{\cs{mcolrowcell}} \hfill \& \hfill \textred{\cs{mcolrowcell}} & \&\ \dots \\
         \end{tabular}
         \end{sourcedisplay}
-    \item \brand{MathJax} does not support \pkg{multirow}, so it is emulated
-        \trouble[MathJax]{mathjax=\brand{MathJax}>multirow=\cs{multirow}}
-        \trouble{multirow=\pkg{multirow}>mathjax=\brand{MathJax}}
+    \item \MathJax\ does not support \pkg{multirow}, so it is emulated
+        \trouble[MathJax]{mathjax=\MathJax>multirow=\cs{multirow}}
+        \trouble{multirow=\pkg{multirow}>mathjax=\MathJax}
         to only print its text on the first row.
         \cs{multirow} works as expected in text \env{tabular}s or \SVG\ math.
 \end{itemize}
@@ -2496,7 +2507,7 @@
 \hrule
 \end{sourcedisplay}
 
-For \brand{MathJax}, limited emulation is provided which merely prints the
+For \MathJax, limited emulation is provided which merely prints the
 delimter and optional text in the first row.
 }
 
@@ -2899,24 +2910,24 @@
 generating the \SVG\ image.
 For text mode, \pkg{lwarp} uses an emulation which provides a very effective
 \HTML\ interpretation of \pkg{siunitx}.
-For math expressions while using \brand{MathJax},
-\trouble{siunitx=\pkg{siunitx}>mathjax=\brand{MathJax}}
-\trouble[MathJax]{mathjax=\brand{MathJax}>siunitx=\pkg{siunitx}}
+For math expressions while using \MathJax,
+\trouble{siunitx=\pkg{siunitx}>mathjax=\MathJax}
+\trouble[MathJax]{mathjax=\MathJax>siunitx=\pkg{siunitx}}
 a limited emulation is used.
 Most functions work reasonably well, but many options cannot be emulated.
 Complicated parsing such as for \cs{ang} is not supported.
 The result usually looks fine, and otherwise is enough to get the meaning across.
 
-% \pkg{lwarp}'s \brand{MathJax} emulation for \pkg{siunitx} is meant to be a
-% stop-gap measure until an extension is included in \brand{MathJax}.
+% \pkg{lwarp}'s \MathJax\ emulation for \pkg{siunitx} is meant to be a
+% stop-gap measure until an extension is included in \MathJax.
 % As of this writing, the third-party \pkg{siunitx} extension
-% for \brand{MathJax} is not currently hosted at any public CDN,
+% for \MathJax\ is not currently hosted at any public CDN,
 % thus \pkg{siunitx} is not usable with this extension unless a local copy
 % of this extension is created first.
-% See \cs{MathJaxFilename} to select a custom \brand{MathJax} script, but \pkg{lwarp}'s
+% See \cs{MathJaxFilename} to select a custom \MathJax\ script, but \pkg{lwarp}'s
 % emulation would have to be diabled as well.
 
-Document modifications required for \brand{MathJax}:
+Document modifications required for \MathJax:
 \begin{itemize}
 \item Custom units may be added with \cs{CustomizeMathJax}.
     \margintag{custom units}
@@ -2940,7 +2951,7 @@
 \trouble{nicefrac=\pkg{nicefrac}}
 \trouble{units=\pkg{units}}
 \pkg{units} and \pkg{nicefrac} work with \pkg{lwarp}, but
-\brand{MathJax} does not have an extension for \pkg{units} or \pkg{nicefrac}.
+\MathJax\ does not have an extension for \pkg{units} or \pkg{nicefrac}.
 These packages do work with \pkg{lwarp}'s option \optn{svgmath}.
 }
 
@@ -2947,9 +2958,9 @@
 \newcommand{\limitsphysics}{%
 \pkg{physics} works as-is for \HTML\ with \SVG\ math.
 
-For \brand{MathJax}, the \brand{MathJax} v3 \pkg{physics} extension is used.
-% emulation is provided via \pkg{lwarp}'s \brand{MathJax} macros.
-% These are not the same as the third-party \brand{MathJax} extension.
+For \MathJax, the \MathJax\ v3 \pkg{physics} extension is used.
+% emulation is provided via \pkg{lwarp}'s \MathJax\ macros.
+% These are not the same as the third-party \MathJax\ extension.
 % 
 % \begin{itemize}
 % \item The \optn{notrig} option is honored.
@@ -3141,7 +3152,7 @@
 %<*package>
 % \fi
 %
-% \CheckSum{53937}
+% \CheckSum{54254}
 %
 % \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
@@ -3284,6 +3295,7 @@
 % \changes{v0.899}{2021/06/29}{\ 2021/06/29}
 % \changes{v0.900}{2021/07/17}{\ 2021/07/17}
 % \changes{v0.901}{2021/08/27}{\ 2021/08/27}
+% \changes{v0.902}{2021/10/01}{\ 2021/10/01}
 
 
 
@@ -3299,8 +3311,17 @@
 % \newgeometry{margin=1in}
 %
 % \begin{center}
-% \includegraphics[width=.3\linewidth]{lwarp_logo.pdf}
 %
+% ^^A Generate the Lwarp logo:
+% \setlength{\unitlength}{1cm}
+% \begin{picture}(5,2)
+% \put(0,1){\textcolor[HTML]{74515b}{\fontsize{55}{65}\selectfont L\raisebox{.2ex}{\hspace*{-.1em}warp}}}
+% \put(0,.25){\parbox{5cm}{%
+%       \textcolor[HTML]{8c6b1d}{\fontsize{22}{30}\selectfont \LaTeX} \hfill
+%       \textcolor[HTML]{1d3d8c}{\fontsize{22}{30}\selectfont HTML5}%
+% }}
+% \end{picture}
+%
 % {\Huge The \pkg{lwarp} package}
 %
 % {\Large \LaTeX\ to \HTML}
@@ -3316,9 +3337,9 @@
 % The \pkg{lwarp} package converts \LaTeX\ to \HTML\ by using \LaTeX\ to process the 
 % user's document and directly generate \HTML\ tags.  External utility programs are only 
 % used for the final conversion of text and images.  Math may be represented 
-% by \SVG\ images or \brand{MathJax}.
+% by \SVG\ images or \MathJax.
 % More than 500 \LaTeX\ packages and classes are supported,
-% of which more than 90 also support \brand{MathJax}.
+% of which more than 90 also support \MathJax.
 %
 % Documents may be produced by \DVI\ or \PDF\ \LaTeX, Lua\LaTeX, \XeLaTeX;
 % by several CJK engines, classes, and packages;
@@ -3343,7 +3364,7 @@
 %
 % \SVG\ math and many other generated images
 % include \LaTeX\ expressions in the \attribute{alt} tags.
-% \brand{MathJax} may be used with advanced equation numbering
+% \MathJax\ may be used with advanced equation numbering
 % under the direct control of \pkg{lwarp}.
 % 
 % Complicated tables are supported, which copy/paste well into \brand{LibreOffice Writer}.
@@ -3363,9 +3384,9 @@
 % 
 % ^^A The \pkg{lwarp} package allows \LaTeX\ to directly produce \HTMLfive\ output,
 % ^^A using external utility programs only for the final conversion of text and images.
-% ^^A Math may be represented by \SVG\ files or \brand{MathJax}.
+% ^^A Math may be represented by \SVG\ files or \MathJax.
 %
-% ^^A Documents may be produced by pdf\LaTeX, \LuaLaTeX, or \XeLaTeX.
+% ^^A Documents may be produced by \pdfLaTeX, \LuaLaTeX, or \XeLaTeX.
 % ^^A A \prog{texlua} script removes the need for system utilities such as \prog{make} and \prog{gawk},
 % ^^A and also supports \prog{xindy} and \prog{latexmk}.  Configuration is automatic at the
 % ^^A first manual compile.
@@ -3460,7 +3481,7 @@
 % \item[GUST e-foundry fonts:] Enhanced for math and additional language groups.
 % \item[LaTeX Project:] Modernizing the \LaTeX\ core.
 % \item[Libre Font Fund:] Fonts, tools (FontForge), and distribution (the Open Font Library).
-% \item[LuaTeX:] Combining the pdf\TeX\ engine and the Lua language.
+% \item[LuaTeX:] Combining the \pdfTeX\ engine and the Lua language.
 % \item[MetaPost:] Postscript graphics.
 % \item[MacTeX:] \TeX\ for Mac.
 % \item[PDF Accessibility:] Modern \PDF\ standards.
@@ -3509,8 +3530,21 @@
 %
 % \begin{description}
 % \needspace{2\baselineskip}
-% \item[v0.901:] Tabular columns, float caption \CSS, \brand{MathJax} packages.
+% \item[v0.902:] \pkg{beamerarticle}, footnotes, paragraph tags.
 %   \begin{itemize}
+%       \item Fixed footnotes inside descriptions, minipages, \pkg{amsthm}, \cs{nameref}.
+%       \margintag{core}
+%       \item Improved various paragraph tags.
+%       \item Improved \pkg{parnotes}, \pkg{sympytex}.
+%       \margintag{packages}
+%       \item Added \pkg{beamerarticle}.
+%       \item Updated \pkg{luatexko}, \pkg{xetexko}, \pkg{tagpdf}.
+%       \item Added missing standard international text symbols for \MathJax.
+%       \margintag{\MathJax}
+%   \end{itemize}
+% \needspace{2\baselineskip}
+% \item[v0.901:] Tabular columns, float caption \CSS, \MathJax\ packages.
+%   \begin{itemize}
 %       \item Added \env{warpsvg} to isolate \SVG\ math, as opposed to \env{warpMathJax}.
 %       \margintag{core}
 %       \item Improved float caption \CSS\ for newer browsers.
@@ -3520,8 +3554,8 @@
 %           now sets \HTML\ \CSS\ \progcode{text-align}.
 %           Also detects \cs{itshape}, \cs{bfseries}, and \cs{bfseries}\cs{itshape}.
 %           See \cref{sec:limitstabular}.
-%       \item Now uses \brand{MathJax} 3.2 packages for \pkg{centernot}, \pkg{colortbl},
-%           \margintag{\brand{MathJax}}
+%       \item Now uses \MathJax\ 3.2 packages for \pkg{centernot}, \pkg{colortbl},
+%           \margintag{\MathJax}
 %           \pkg{gensymb}, \pkg{mathtools}, \pkg{textcomp}, \pkg{upgreek}.
 %       \item \pkg{dcolumn}: Now works inside a \env{lateximage}.
 %       \margintag{packages}
@@ -3533,7 +3567,7 @@
 %   \begin{itemize}
 %       \item Fix for detecting |\usepackage{lwarp}|.
 %           \margintag{core}
-%       \item \pkg{amsmath}: Fixed \env{alignat} with \brand{MathJax}.
+%       \item \pkg{amsmath}: Fixed \env{alignat} with \MathJax.
 %           \margintag{packages}
 %       \item \pkg{changes}: Updated to v4.2.1.
 %       \item \pkg{froufrou}: Updated to v1.4.0.
@@ -3579,8 +3613,8 @@
 %       \item Fixed footnotes at the end of the document,
 %               or inside a \env{description} label.
 %       \item Added an error if using braces inside \cs{usepackage} options.
-%       \item Fixed footnotes in bracket display math with \brand{MathJax}.
-%           \margintag{\brand{MathJax}}
+%       \item Fixed footnotes in bracket display math with \MathJax.
+%           \margintag{\MathJax}
 %       \item \LaTeX\ theorems, \pkg{amsthm}, \pkg{ntheorem}, \pkg{theorem}:
 %           \margintag{theorems}
 %           Print theorem footnotes following theorems.
@@ -3606,13 +3640,13 @@
 %       \item Verified support for \pkg{doi}, \pkg{doipubmed}.
 %   \end{itemize}
 % \needspace{2\baselineskip}
-% \item[v0.895:] Vector packages, greatly improved \brand{MathJax} for \pkg{siunitx}.
+% \item[v0.895:] Vector packages, greatly improved \MathJax\ for \pkg{siunitx}.
 %   \begin{itemize}
 %       \item Fixed quotes in \HTML\ tags while using old font packages with
 %           \margintag{core}
 %           \XeLaTeX\ and \LuaLaTeX.
-%       \item Added \cs{ifblank} and \cs{ifstrequal} to \brand{MathJax} emulation.
-%           \margintag{\brand{MathJax}}
+%       \item Added \cs{ifblank} and \cs{ifstrequal} to \MathJax\ emulation.
+%           \margintag{\MathJax}
 %       \item \pkg{multirow}: Allow \cs{par} per v2.7.
 %           \margintag{packages}
 %       \item \pkg{acro}: Updated to v3.5.
@@ -3620,10 +3654,10 @@
 %       \item \pkg{changes}: Updated to v4.0.1.
 %       \item \pkg{epsfig}, \pkg{rotating}: Now work inside \env{lateximage}.
 %       \item \pkg{amscdx}: Verified to work with \SVG\ math.
-%               Warning added about use with \brand{MathJax}.
-%       \item Added \brand{MathJax} emulation for \pkg{isomath}, \pkg{mattens},
+%               Warning added about use with \MathJax.
+%       \item Added \MathJax\ emulation for \pkg{isomath}, \pkg{mattens},
 %               \pkg{maybemath}, \pkg{skmath}, \pkg{tensor}.
-%       \item Improved \brand{MathJax} emulation for \pkg{siunitx} \cs{ang},
+%       \item Improved \MathJax\ emulation for \pkg{siunitx} \cs{ang},
 %               \cs{num}, \cs{SI}.
 %       \item Added \pkg{epsf}, \pkg{impnattypo}, \pkg{isotope},
 %           \pkg{lpic}, \pkg{luavlna},
@@ -3632,41 +3666,41 @@
 %       \item Verified to work as-is: \pkg{tensind}.
 %   \end{itemize}
 % \needspace{2\baselineskip}
-% \item[v0.894:] \brand{MathJax} additions and improvements.
+% \item[v0.894:] \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}.
+%       \margintag{\MathJax}
+%           select math expressions while using \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},
+%       \item Added \MathJax\ emulation for \pkg{backnaur},
 %               \pkg{colortbl}, \pkg{nicematrix}.
 %       \margintag{packages}
-%       \item \pkg{booktabs}: \brand{MathJax} emulation now absorbs and discards trim.
+%       \item \pkg{booktabs}: \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}.
-%       \margintag{\brand{MathJax}}
+%       \item Added \MathJax\ emulation for \cs{mathnormal}.
+%       \margintag{\MathJax}
 %       \item Fixed \pkg{pstricks} \env{pspicture*}.
 %       \margintag{packages}
 %       \item Fixed \pkg{tikz} font macros.
-%       \item \pkg{braket}: Now uses the \brand{MathJax} extension.
+%       \item \pkg{braket}: Now uses the \MathJax\ extension.
 %       \item Added \pkg{esvect}, \pkg{fixmath}, \pkg{keystroke}, \pkg{mathastext},
 %           \pkg{menukeys}, \pkg{picinpar}, \pkg{plimsoll}, \pkg{repltext},
 %           \pkg{selectp}, \pkg{seqsplit}, \pkg{simplebnf}, \pkg{statistics},
 %           \pkg{swfigure}.
-%       \item Added \brand{MathJax} emulation for \pkg{mathspec}.
+%       \item Added \MathJax\ emulation for \pkg{mathspec}.
 %       \item Verified to work as-is for \pkg{apxproof}, \pkg{syntaxdi}, \pkg{venndiagram}.
 %   \end{itemize}
 % \needspace{2\baselineskip}
-% \item[v0.892:] \pkg{minted}, \pkg{fvextra}, \brand{MathJax} \cs{left} \Slash \cs{right}.
+% \item[v0.892:] \pkg{minted}, \pkg{fvextra}, \MathJax\ \cs{left} \Slash \cs{right}.
 %   \begin{itemize}
 %       \item \pkg{fourier}, \pkg{libertinust1math}, \pkg{newpxmath}, \pkg{newtxmath},
-%       \margintag{\brand{MathJax}}
-%           \pkg{newtxsf}, \pkg{unicode-math}: Added \brand{MathJax}
+%       \margintag{\MathJax}
+%           \pkg{newtxsf}, \pkg{unicode-math}: Added \MathJax
 %           \cs{left} \Slash \cs{right} support for additional delimiters.
 %       \item \pkg{textpos}: Updated to v1.10.
 %       \margintag{packages}
@@ -3674,7 +3708,7 @@
 %       \item Added \pkg{fvextra}, \pkg{minted}.
 %   \end{itemize}
 % \needspace{2\baselineskip}
-% \item[v0.891:] \brand{MathJax} additions and improvements.
+% \item[v0.891:] \MathJax\ additions and improvements.
 %   \begin{itemize}
 %   \item Now displays inline \cs{verb} text as \cs{texttt}.
 %       \margintag{core}
@@ -3681,18 +3715,18 @@
 %   \item Fixed \pkg{alltt} and verbatims with \LaTeX\ lists.
 %   \item Now generates an error if nested each of \env{warpHTML}, \env{warpprint}, \env{warpMathJax}
 %       inside itself.
-%   \item Added \brand{MathJax} \prog{textmacros} extension, allowing
-%       \margintag{\brand{MathJax}}
+%   \item Added \MathJax\ \prog{textmacros} extension, allowing
+%       \margintag{\MathJax}
 %       formatting inside \cs{text}.
 %   \item \pkg{biblatex}, \pkg{hyperref}: Added back page references.
 %       \margintag{packages}
 %   \item \pkg{fancyvrb}: Fixed \env{BVerbatim} with a label.
-%   \item \pkg{listings}: Fixed \brand{MathJax} with captions, improved \HTML\ sanitation.
+%   \item \pkg{listings}: Fixed \MathJax\ with captions, improved \HTML\ sanitation.
 %   \item \pkg{babel-french}: Fixed \cs{texorpdfstring} conflict.
 %   \item Now honors Greek package options for \pkg{mathdesign},
 %           \pkg{mathpazo}, \pkg{mathptmx},
 %           \pkg{newpxmath}, \pkg{newtxmath}.
-%   \item Improved \brand{MathJax} for \pkg{colonequals}, \pkg{mathdesign},
+%   \item Improved \MathJax\ for \pkg{colonequals}, \pkg{mathdesign},
 %           \pkg{mathdots}, \pkg{mathfixs}, \pkg{mathtools}, \pkg{multiobjective},
 %           \pkg{nicefrac}, \pkg{shuffle}, \pkg{units}.
 %   \item \pkg{unicode-math}: Added Greek macros, as well as macros for
@@ -3703,21 +3737,21 @@
 %           \pkg{libertinust1math}, \pkg{scalerel}, \pkg{txgreeks}.
 %   \end{itemize}
 % \needspace{2\baselineskip}
-% \item[v0.89:] Additional \brand{MathJax} support.
+% \item[v0.89:] Additional \MathJax\ support.
 %   \begin{itemize}
 %   \item Adapted to upcoming \LaTeX\ kernel changes.
 %       \margintag{core}
 %   \item Allows load of \pkg{amsmath} before \pkg{lwarp}.
 %   \item Also removes \filenm{*.bbl} when cleaning aux files.\margintag{\prog{lwarpmk}}
-%   \item \brand{MathJax}: Neutralized \cs{protect}, \cs{mathcode} and related,
-%       \margintag{\brand{MathJax}}
+%   \item \MathJax: Neutralized \cs{protect}, \cs{mathcode} and related,
+%       \margintag{\MathJax}
 %       ligatures.  Fixed nested environments.
 %   \item \pkg{caption}: Updated for v3.5, fix for label sep.
 %       \margintag{packages}
 %   \item \pkg{thmtools}: Updated for v0.72.  Fixed \optn{swapnumber}, \optn{margin}.
-%   \item Improved \brand{MathJax} for \pkg{centernot}, \pkg{mathtools},
+%   \item Improved \MathJax\ for \pkg{centernot}, \pkg{mathtools},
 %       \pkg{mismath}, \pkg{SIunits}, \pkg{siunitx}, \pkg{statmath}.
-%   \item Added \brand{MathJax} emulation for \pkg{accents}, \pkg{hepunits},
+%   \item Added \MathJax\ emulation for \pkg{accents}, \pkg{hepunits},
 %       \pkg{hhtensor}, \pkg{mathalpha}, \pkg{mathdesign},
 %       \pkg{mathpazo}, \pkg{mathptmx},
 %       \pkg{mleftright}, \pkg{newpxmath}, \pkg{newtxmath}, \pkg{newtxsf},
@@ -3729,8 +3763,8 @@
 % \item[v0.88:] Indexing, boxing, theorems.
 %   \begin{itemize}
 %   \item \textgreen{Now has programmed support for more than 500 packages and classes,
-%       of which more than 60 also support \brand{MathJax}.}
-%   \item Fixed: \cs{ref*}, and also added \brand{MathJax} emulation.
+%       of which more than 60 also support \MathJax.}
+%   \item Fixed: \cs{ref*}, and also added \MathJax\ emulation.
 %       \margintag{core}
 %   \item If starting a new paragraph, \cs{hrulefill} creates a
 %       \element{div} with a thin horizontal line across the page.
@@ -3754,7 +3788,7 @@
 %           \pkg{thmbox}, \pkg{thmtools}.
 %   \end{itemize}
 % \needspace{2\baselineskip}
-% \item[v0.87:] \brand{MathJax}, bibliography packages.
+% \item[v0.87:] \MathJax, bibliography packages.
 %   \begin{itemize}
 %   \item Added boolean \bool{FixSmallCaps} for fonts which render small caps as
 %       \margintag{core}
@@ -3762,41 +3796,41 @@
 %   \item Fixed \cs{bibliography} to use the \HTML\ version's \filenm{.bbl} file.
 %       Previously the \HTML\ bibliography relied on the print version's \filenm{.bbl},
 %       thus would fail if the print document had not yet been created.
-%   \item Added \cs{ifstar} and \cs{ifnextchar} to \brand{MathJax}, and
-%       \margintag{\brand{MathJax}}
+%   \item Added \cs{ifstar} and \cs{ifnextchar} to \MathJax, and
+%       \margintag{\MathJax}
 %       removed \cs{DeclareIfstar}.
 %       \watchout[Removed \cs{DeclareIfstar}]
 %       See \cref{sec:limitscustomizemathjax}.
-%   \item \pkg{physics}: Now supports the \brand{MathJax} v3 extension.
+%   \item \pkg{physics}: Now supports the \MathJax\ v3 extension.
 %       \margintag{packages}
-%   \item \pkg{mathtools}: Improved \cs{underbrakcet}, \cs{overbracket} for \brand{MathJax}.
-%   \item \pkg{nccmath}: Improved \cs{underrel} for \brand{MathJax}.
-%   \item \pkg{mhchem}: Now supports the \brand{MathJax} v3 extension for \cs{ce} inside math.
-%   \item \pkg{cancel}: Now supports the \brand{MathJax} v3 extension.
+%   \item \pkg{mathtools}: Improved \cs{underbrakcet}, \cs{overbracket} for \MathJax.
+%   \item \pkg{nccmath}: Improved \cs{underrel} for \MathJax.
+%   \item \pkg{mhchem}: Now supports the \MathJax\ v3 extension for \cs{ce} inside math.
+%   \item \pkg{cancel}: Now supports the \MathJax\ v3 extension.
 %   \item \pkg{embrac}: Neutralized kerning for improved \HTML\ conversion.
 %   \item Added \pkg{citeref}, \pkg{drftcite}, \pkg{jurabib}, \pkg{multibib}, \pkg{splitbib}.
 %   \item Verified to work as-is with \pkg{bibtopic}, \pkg{collref}, \pkg{mciteplus}.
 %   \end{itemize}
 % \needspace{2\baselineskip}
-% \item[v0.86:] \brand{MathJax} major updates.
+% \item[v0.86:] \MathJax\ major updates.
 %   \begin{itemize}
 %   \item Fixed: Filename if named files with \filenm{*}, parens, period in section name.
 %       \margintag{core}
 %   \item Fixed: Labels in \env{eqnarray}, \env{lateximage}.
-%   \item Updated to \brand{MathJax} v3.  New repository.
-%       \margintag{\brand{MathJax}}
-%   \item Fixed forward references for \brand{MathJax}.
-%   \item Improved \brand{MathJax} equation number formatting, now compatible with
+%   \item Updated to \MathJax\ v3.  New repository.
+%       \margintag{\MathJax}
+%   \item Fixed forward references for \MathJax.
+%   \item Improved \MathJax\ equation number formatting, now compatible with
 %       \pkg{amsmath} \cs{numberwithin} for chapters, sections, subsections,
 %       as well as \pkg{amsmath} \env{subequation}s.
 %       See \cref{sec:limitscustomizemathjax}.
-%   \item Added \cs{DeclareIfstar} to define starred \TeX\ macros in \brand{MathJax}.
+%   \item Added \cs{DeclareIfstar} to define starred \TeX\ macros in \MathJax.
 %       See \cref{sec:limitscustomizemathjax}.
 %   \item Generates an error if \cs{MathJaxFilename} file does not exist.
 %   \item \pkg{mathtools}, \pkg{nccmath}, \pkg{physics}:
 %       \margintag{packages}
-%       Added starred macros for \brand{MathJax}.
-%   \item \pkg{nccmath}: Fixed \cs{nr}, \cs{displaybreak} for \brand{MathJax}.
+%       Added starred macros for \MathJax.
+%   \item \pkg{nccmath}: Fixed \cs{nr}, \cs{displaybreak} for \MathJax.
 %   \item \pkg{xcolor}: Fixed \cs{textcolor} with \pkg{babel-french}.
 %   \end{itemize}
 % \needspace{2\baselineskip}
@@ -3864,11 +3898,11 @@
 %   \item \pkg{physunits}: Updated to v1.0.4.
 %   \end{itemize}
 % \needspace{2\baselineskip}
-% \item[v0.82:] \brand{MathJax} notes, \pkg{xpinyin} improvements, various updates.
+% \item[v0.82:] \MathJax\ notes, \pkg{xpinyin} improvements, various updates.
 %   \begin{itemize}
-%       \item Improved footnotes with \brand{MathJax}.
-%           \margintag{\brand{MathJax}}
-%       \item Added \brand{MathJax} emulation for \pkg{endnotes}, \pkg{marginnote},
+%       \item Improved footnotes with \MathJax.
+%           \margintag{\MathJax}
+%       \item Added \MathJax\ emulation for \pkg{endnotes}, \pkg{marginnote},
 %           \pkg{nccfoots}, \pkg{pagenote}, \pkg{parnotes}, \pkg{sidenotes}.
 %       \item \pkg{xpinyin}: Added pinyin with modern \HTML.
 %           \margintag{packages}
@@ -3877,20 +3911,20 @@
 %       \item \pkg{chemfig}: Updated to v1.5.
 %       \item \pkg{draftwatermark}: Updated to v2.0.
 %       \item \pkg{ulem}: Fixed: \cs{dashuline}.
-%       \item \pkg{amsmath}: Fixed: \cs{intertext} with \brand{MathJax}.
+%       \item \pkg{amsmath}: Fixed: \cs{intertext} with \MathJax.
 %       \item \pkg{endnotes}: Fixed: Marks in print mode.
 %       \item \pkg{tocvsec2}, \pkg{tableof}: Verified to work as-is.
 %       \item Added \pkg{etoc} (nullified).
 %   \end{itemize}
 % \needspace{2\baselineskip}
-% \item[v0.81:] \brand{MathJax} speedup and additional emulations.
+% \item[v0.81:] \MathJax\ speedup and additional emulations.
 %   \begin{itemize}
 %       \item Improved warning regarding \SVG\ math sizing \Slash baselines and
 %           \margintag{core}
 %           \pkg{graphics} \Slash \pkg{graphicx}.  See \cref{sec:limitsmath}.
-%       \item Improved \brand{MathJax} emulation processing speed.
-%       \margintag{\brand{MathJax}}
-%       \item Added \brand{MathJax} emulation for \pkg{accsupp}, \pkg{axessibiltiy},
+%       \item Improved \MathJax\ emulation processing speed.
+%       \margintag{\MathJax}
+%       \item Added \MathJax\ emulation for \pkg{accsupp}, \pkg{axessibiltiy},
 %           \pkg{colonequals},
 %           \pkg{decimal}, \pkg{dotlessi}, \pkg{econometrics}, \pkg{engtlc},
 %           \pkg{multiobjective}, \pkg{physunits}, \pkg{SIunits}, \pkg{stackrel},
@@ -3905,19 +3939,19 @@
 %           \pkg{textualicomma}.
 %   \end{itemize}
 % \needspace{2\baselineskip}
-% \item[v0.80:] \brand{MathJax}, \pkg{biblatex}.
+% \item[v0.80:] \MathJax, \pkg{biblatex}.
 %   \begin{itemize}
 %       \item Added docs and warning/info messages
-%           \margintag{\brand{MathJax}}
-%           re: avoiding slow \brand{MathJax} compilation.
+%           \margintag{\MathJax}
+%           re: avoiding slow \MathJax\ compilation.
 %           See \cref{sec:limitscustomizemathjax}, \nameref{sec:limitscustomizemathjax}.
-%       \item Added \brand{MathJax} emulation for \pkg{accessibility}, \pkg{autobreak},
+%       \item Added \MathJax\ emulation for \pkg{accessibility}, \pkg{autobreak},
 %           \pkg{centernot}, \pkg{extarrows}, \pkg{fouridx}, \pkg{gensymb},
 %           \pkg{leftidx}, \pkg{mathcomp}, \pkg{mathdots}, \pkg{mathfixs}, \pkg{mismath},
 %           \pkg{nccmath}, \pkg{noitcrul},
 %           \pkg{pdfcomment}, \pkg{relsize}, \pkg{rmathbr},
 %           \pkg{subsupscripts}, \pkg{xfrac}.
-%       \item Improved \brand{MathJax} emulation for \pkg{unicode-math}.
+%       \item Improved \MathJax\ emulation for \pkg{unicode-math}.
 %       \item \pkg{biblatex}, \pkg{url}: Now create hyperlinks.
 %           \margintag{packages}
 %       \item \pkg{amsmath}: Fix to center starred environments.
@@ -3928,15 +3962,15 @@
 %           \pkg{mismath}, \pkg{nccmath}.
 %   \end{itemize}
 % \needspace{2\baselineskip}
-% \item[v0.79:] \brand{MathJax}, nested \env{tabular}.
+% \item[v0.79:] \MathJax, nested \env{tabular}.
 %   \begin{itemize}
-%       \item Added or improved \brand{MathJax} emulation for
-%       \margintag{\brand{MathJax}}
+%       \item Added or improved \MathJax\ emulation for
+%       \margintag{\MathJax}
 %           \pkg{amsmath}, \pkg{ar}, \pkg{arydshln}, \pkg{bm},
 %           \pkg{bigdelim}, \pkg{bigstrut}, \pkg{booktabs}, \pkg{braket},
 %           \pkg{mathtools}, \pkg{multirow}, \pkg{physics}, \pkg{siunitx}, \pkg{slashed},
 %           \pkg{unicode-math}, \pkg{xfakebold}.
-%       \item Warn if using certain packages not supported by \brand{MathJax}.
+%       \item Warn if using certain packages not supported by \MathJax.
 %       \item \env{tabular}: Now may be nested.
 %       \margintag{core}
 %       \item \env{minipage}, \cs{parbox}, \env{fminipage},
@@ -3986,13 +4020,13 @@
 %       \item \pkg{chemformula}: Updated to v4.15.
 %   \end{itemize}
 % \needspace{2\baselineskip}
-% \item[v0.76:] \brand{MathJax}, updates for \LaTeX\ 2019/10 release.
+% \item[v0.76:] \MathJax, updates for \LaTeX\ 2019/10 release.
 %   \begin{itemize}
 %   \item Docs: Expanded documentation regarding the use of multiple projects
 %       \margintag{docs}
 %       in the same directory.  See \cref{sec:multipleprojects}.
-%   \item \brand{MathJax}: Updated to v2.7.6.
-%       \margintag{\brand{MathJax}}
+%   \item \MathJax: Updated to v2.7.6.
+%       \margintag{\MathJax}
 %   \item \pkg{xr}: Updated to v5.05.
 %       \margintag{packages}
 %   \item \pkg{xr-hyper}: Updated to v6.1.
@@ -4128,7 +4162,7 @@
 %           \margintag{multimedia}
 %   \end{itemize}
 % \needspace{2\baselineskip}
-% \item[v0.70:] Error handling, \brand{MathJax}, \pkg{mathtools}.
+% \item[v0.70:] Error handling, \MathJax, \pkg{mathtools}.
 %   \begin{itemize}
 %       \item Error handling for ``Label(s) changed.''
 %             Refuses to \cmds{lwarpmk limages} until recompile first.
@@ -4136,12 +4170,12 @@
 %           is used.
 %       \item Fixes for \cs{makebox}.
 %       \item Fixes for \cs{parbox} inside a \element{span}.
-%       \item \brand{MathJax}: Updated to v2.7.5.
+%       \item \MathJax: Updated to v2.7.5.
 %           Loads the \filenm{autoload-all.js} extension.
 %           Added \cs{MathJaxFilename} to select custom scripts.
 %       \item \pkg{textcomp}, \pkg{xunicode}: Fix for \cs{textinterrobang}.
 %           \margintag{packages}
-%       \item \pkg{mhchem}: Works with \brand{MathJax}.  See \cref{sec:mhchem}.
+%       \item \pkg{mhchem}: Works with \MathJax.  See \cref{sec:mhchem}.
 %       \item \pkg{changes}: Updated to v3.1.2.
 %       \item Added \pkg{autonum}, \pkg{changelayout}, \pkg{inputtrc}, \pkg{mathtools}, \pkg{metalogox}.
 %   \end{itemize}
@@ -4391,7 +4425,7 @@
 %       \item \pkg{xfrac}: Improved \CSS.
 %       \item \pkg{textcomp} and \pkg{xunicode}: Fix conflicts with \cs{textcircled}.
 %       \item \pkg{ulem}: Improved compatibility with \pkg{CJKulem}, \env{lateximage}.
-%       \item \brand{MathJax} and \pkg{siunitx}: Removed inoperable extension.
+%       \item \MathJax\ and \pkg{siunitx}: Removed inoperable extension.
 %       \item Added \pkg{bitpattern}, \pkg{pdfcomment},
 %           \pkg{pdfmarginpar}, \pkg{tram}, \pkg{unitsdef}, \pkg{xechangebar}.
 %       \item Added \pkg{musicography}, \pkg{octave}, \pkg{semantic-markup}.
@@ -4453,7 +4487,7 @@
 %       \item Added \pkg{fancytabs}, \pkg{thumb}, \pkg{thumbs}.
 %   \end{itemize}
 % \needspace{2\baselineskip}
-% \item[v0.59:] \DVI\ \prog{latex}, \brand{MathJax}, \pkg{asymptote},
+% \item[v0.59:] \DVI\ \prog{latex}, \MathJax, \pkg{asymptote},
 %       \pkg{pdftricks} and \pkg{pstricks}, \pkg{epstopdf}, \pkg{brqen}.
 %   \begin{itemize}
 %       \item \newlwarpmkconf
@@ -4473,10 +4507,10 @@
 %           \margintag{\DVI\ \prog{latex}}
 %       \item Fix for \optn{-\/-shell-escape} with \prog{latexmk}.
 %           \margintag{\prog{latexmk}}
-%       \item Updated \brand{MathJax} script to v2.7.4.
+%       \item Updated \MathJax\ script to v2.7.4.
 %           \margintag{math}
 %       \item Fix: \brand{Mathjax} chapter number removed from non-numeric tagged equations.
-%       \item Added \brand{MathJax} support for \pkg{nicefrac}, \pkg{units}.
+%       \item Added \MathJax\ support for \pkg{nicefrac}, \pkg{units}.
 %       \item Fix for \cs{[} and \cs{]} with \cs{displaymathnormal}.
 %       \item Fix for \cs{includegraphics} filename expansion.
 %           \margintag{images}
@@ -4541,7 +4575,7 @@
 % \needspace{2\baselineskip}
 % \item[v0.57:] \pkg{algorithm2e}, \pkg{float} styles, tabular packages, internal improvements.
 %   \begin{itemize}
-%       \item Added support for \brand{MathJax} equations with \cs{footnote}, \cs{footnotemark}.
+%       \item Added support for \MathJax\ equations with \cs{footnote}, \cs{footnotemark}.
 %           \margintag{MathJax}
 %       \item Added \cs{StartDefiningMath} and \cs{StopDefiningMath} for
 %           \margintag{math macros}
@@ -4551,7 +4585,7 @@
 %           \margintag{dynamic math}
 %           delimit math expressions which depend on a variable condition
 %           such as a counter.  Such expressions will not be hashed for reuse,
-%           and will be converted to \SVG\ math images even when \brand{MathJax} is enabled.
+%           and will be converted to \SVG\ math images even when \MathJax\ is enabled.
 %           See \cref{sec:mathdynamic}.
 %       \item Renamed \cs{EndDefiningTabulars} to \cs{StopDefiningTabulars}.
 %           \watchout[new name]
@@ -4718,7 +4752,7 @@
 %       \item Improved \cs{ensuremath} hashing expansion.
 %       \item Fix: \env{equation*} with \env{split}.
 %       \item \env{tabbing} now works inside a \env{lateximage}.  Use for math in \env{tabbing}.
-%       \item Fix: \brand{MathJax} script was not executing in some conditions.
+%       \item Fix: \MathJax\ script was not executing in some conditions.
 %               \margintag{MathJax}
 %       \item Added \cs{CustomizeMathJax} to add custom functions.
 %               See \cref{sec:limitsmath}.
@@ -4753,7 +4787,7 @@
 % ^^A %               such as \pkg{tikz-cd}.  See \cref{sec:displaymathother}.
 % ^^A %       \item Fix: \cs{addcontentsline} inside \SVG\ math.
 % ^^A %       \item Fix: \SVG\ math containing an embedded \env{lateximage}.
-% ^^A %       \item \brand{MathJax} now handles \cs{ensuremath} in expressions.\margintag{MathJax}
+% ^^A %       \item \MathJax\ now handles \cs{ensuremath} in expressions.\margintag{MathJax}
 % ^^A %       \item Fix: Added \env{alignat} environment. \margintag{misc. fixes}
 % ^^A %       \item Fix: \pkg{afterpackage} no longer required, which conflicted with \pkg{scrlfile}.
 % ^^A %       \item Fix: \pkg{titling} \cs{thanks} mark.
@@ -4784,7 +4818,7 @@
 % ^^A        \item Improved \SVG\ display math and tags.
 % ^^A        \item Improved \SVG\ math and \pkg{siunitx} \attribute{alt} tags.
 % ^^A        \item Improved \pkg{siunitx} units.
-% ^^A        \item Fix: \cs{ensuremath} with \brand{MathJax} now creates a \env{lateximage}.
+% ^^A        \item Fix: \cs{ensuremath} with \MathJax\ now creates a \env{lateximage}.
 % ^^A        \item Fix: \cs{centering}, etc. in \SVG\ math, \env{lateximage}, \tikz.
 % ^^A        \item Fix: Made various macros robust,
 % ^^A            additionally fixing \pkg{authblk}.\margintag{misc. fixes}
@@ -4859,7 +4893,7 @@
 % ^^A        \item Fix: Stack unnesting.
 % ^^A        \item Fix: \SVG\ math and \env{lateximage}s in numerous situations.
 % ^^A        \item Fix: Spaces in \cs{usepackage}.
-% ^^A        \item Fix: Now allows \brand{MathJax} inside \env{verse}.
+% ^^A        \item Fix: Now allows \MathJax\ inside \env{verse}.
 % ^^A    \end{itemize}
 % ^^A  \needspace{2\baselineskip}
 % ^^A  \item[v0.45:] \
@@ -4872,7 +4906,7 @@
 % ^^A                See \cref{sec:limitsmemoir}.\margintag{memoir}
 % ^^A        \item Fix: Now allows underscores in labels.\margintag{cross-references}
 % ^^A        \item Fix: \cs{\_} and |\<blank>| in section/file names.
-% ^^A        \item Fix: Now allows \brand{MathJax} inside \env{tabbing}.\margintag{math}
+% ^^A        \item Fix: Now allows \MathJax\ inside \env{tabbing}.\margintag{math}
 % ^^A        \item Fix: Bibliography \cs{em} names.\margintag{bibliography}
 % ^^A        \item Added \pkg{cite}, \pkg{natbib}, \pkg{backref}.
 % ^^A                (Also works as-is with \pkg{biblatex}.)
@@ -4909,7 +4943,7 @@
 % ^^A        \item Fix: \cs{multicolumn} alignment if formatting for a word processor.
 % ^^A            \margintag{tabular}
 % ^^A        \item Added \pkg{ltxtable}.
-% ^^A        \item Fix: \brand{MathJax} combined with \env{lateximage}s.\margintag{math}
+% ^^A        \item Fix: \MathJax\ combined with \env{lateximage}s.\margintag{math}
 % ^^A        \item \pkg{algorithmicx}: Improved comment symbol and floating.
 % ^^A        \item Completed \pkg{todonotes} and \pkg{luatodonotes}.
 % ^^A            \margintag{\pkg{packages}}
@@ -4977,7 +5011,7 @@
 % ^^A        \item Fix: Text copy/paste of \AmS\ math environment numbers and names.
 % ^^A            \margintag{math}
 % ^^A        \item Improved \cs{ensuremath}.
-% ^^A        \item \brand{MathJax} with \pkg{siunitx}: Updated script and documentation.
+% ^^A        \item \MathJax\ with \pkg{siunitx}: Updated script and documentation.
 % ^^A        \item \pkg{textcomp}: Improved \cs{textinterrobangdown}.
 % ^^A            \margintag{symbols}
 % ^^A        \item \pkg{realscripts}: Fix for subscripts in a \env{lateximage}.
@@ -5133,10 +5167,10 @@
 % ^^A        \margintag{footnotes}
 % ^^A        \env{lateximage} footnotes now appear as regular footnotes to match
 % ^^A        the numbering of the print version.
-% ^^A        Also fixed a regression with \brand{MathJax}.
+% ^^A        Also fixed a regression with \MathJax.
 % ^^A    \item Improved \pkg{siunitx} units.
 % ^^A        \margintag{\pkg{siunitx}}
-% ^^A    \item Fix for filenames while using \brand{MathJax}.
+% ^^A    \item Fix for filenames while using \MathJax.
 % ^^A    \item Fix for \cs{rule} when \pkg{xcolor} is not loaded.
 % ^^A 	\item Added \pkg{transparent}, \pkg{upref}.
 % ^^A 	\end{itemize}
@@ -5177,7 +5211,7 @@
 % ^^A 		and draws a framed minipage in print output.
 % ^^A 		See \cref{sec:framedminipages}.
 % ^^A 		\cs{fbox} and minipages now often work in \SVG\ math and \env{lateximage}s.
-% ^^A 		\brand{MathJax} supports \cs{fbox}, but not \cs{fboxBlock} nor \env{fminipage}.
+% ^^A 		\MathJax\ supports \cs{fbox}, but not \cs{fboxBlock} nor \env{fminipage}.
 % ^^A 	\item Improved compatibility between \env{lateximage} and
 % ^^A 		\margintag{\env{lateximage}, \SVG\ math, \env{tabular}}
 % ^^A 		\env{minipage}, \cs{parbox}, \cs{makebox}, \cs{fbox}, \cs{framebox},
@@ -5340,7 +5374,7 @@
 % ^^A        These make it easier to identify float boundaries,
 % ^^A 		which are to be manually converted to word-processor frames.
 % ^^A        Name changed to |WPMarkFloats| as of v0.42.
-% ^^A 	\item Updated for the new \brand{MathJax} \acro{CDN} repository.
+% ^^A 	\item Updated for the new \MathJax\ \acro{CDN} repository.
 % ^^A 	\item Adds \pkg{tabulary}.
 % ^^A 	\item Supports the options syntax for \pkg{graphics}.
 % ^^A 	\item Improved index references, now pointing exactly to their target.
@@ -5447,9 +5481,9 @@
 % ^^A 	\needspace{2\baselineskip}
 % ^^A  \item[v0.19:] \
 % ^^A 	\begin{itemize}
-% ^^A 	\item \brand{MathJax} now may be used to display math via the \optn{mathjax} option.
+% ^^A 	\item \MathJax\ now may be used to display math via the \optn{mathjax} option.
 % ^^A 		See \cref{sec:loading,sec:limitsmath}.
-% ^^A 	To use \brand{MathJax} with a pre-existing project,
+% ^^A 	To use \MathJax\ with a pre-existing project,
 % ^^A 	\watchout
 % ^^A 	copy or link the file |lwarp_mathjax.txt| to the project's directory.
 % ^^A 	\item \cs{rule} added, supporting width, height, raise, \cs{textcolor}.
@@ -5492,7 +5526,7 @@
 %
 % \section{Introduction}
 % \label{sec:introduction}
-% \changes{v0.19}{2016/05/25}{Introduction: \brand{MathJax} support mentioned.}
+% \changes{v0.19}{2016/05/25}{Introduction: \MathJax\ support mentioned.}
 %
 % The \pkg{lwarp} project aims to allow a rich \LaTeX{} document
 % to be converted to a reasonable \HTMLfive\
@@ -5573,10 +5607,10 @@
 % An MD5 hash is used to combine multiple instances of the same inline math expression
 % into a single image file, which then needs to be converted to \SVG\ only a single time.
 %
-% The \brand{MathJax} JavaScript display engine may be selected
+% The \MathJax\ JavaScript display engine may be selected
 % for math display instead of using \SVG\ images.
 % Subject to browser support and Internet access,
-% \brand{MathJax} allows an \HTML\ page to display
+% \MathJax\ allows an \HTML\ page to display
 % math without relying on a large number of
 % external image files.\footnote{One \SVG\ image
 % file per math expression, except that duplicate inline math expressions are combined
@@ -5585,7 +5619,7 @@
 % and in one case the MD5 hash cut the number of files in half and the rendering
 % time by 30\%.}
 % \pkg{lwarp} maintains \LaTeX\ control for cross-referencing
-% and equation numbering, and attempts to force \brand{MathJax} to tag equations accordingly.
+% and equation numbering, and attempts to force \MathJax\ to tag equations accordingly.
 %
 % \rulebreak
 %
@@ -5643,6 +5677,8 @@
 % \end{tabular}
 % \end{table}
 %
+% \maindocumentationnotes
+%
 % \clearpage
 %
 % \subsection{Supported packages and features}
@@ -5661,9 +5697,9 @@
 %       as print output in \SVG\ math or \env{lateximage} environments.
 %   \item[\epkg{name}:] Emulated for \HTML\ output.
 %   \item[\ipkg{name}:] Ignored for \HTML\ output, but provides source-level compatibility.
-%   \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.
+%   \item[\sjax:] Supported as-is for \MathJax, subject to limitations.
+%   \item[\ejax:] Emulated for \MathJax\ using custom macros, subject to limitations.
+%   \item[\ijax:] Ignored by \MathJax, but may be used in the document source.
 %                   May be converted to \SVG\ images.
 % \end{description}
 %
@@ -5686,10 +5722,12 @@
 %
 % \midrule
 %
-% Engines: & \DVI\ \LaTeX, pdf\LaTeX, \XeLaTeX, \LuaLaTeX, up\LaTeX \\
+% Engines: & \dviLaTeX, \pdfLaTeX, \XeLaTeX, \LuaLaTeX, up\LaTeX \\
 %
-% Compiling: & \prog{latexmk}, \prog{perltex}, \prog{pythontex}, \prog{make}, etc. \\
+% \LaTeX\ compiling: & \prog{latexmk}, \prog{make}, etc. \\
 %
+% External compiling: & \prog{perltex}, \prog{pythontex}, \mpkg{sympytex} \\
+%
 % \midrule
 %
 % Classes: & \pkg{article}, \pkg{book}, \pkg{report},
@@ -5701,6 +5739,8 @@
 %
 % Memoir: & \ipkg{memhfixc} \\
 %
+% Beamer: & \mpkg{beamerarticle}, but not the \pkg{beamer} class. \\
+%
 % \midrule
 %
 % Languages: & \spkg{babel}, \spkg{cjkpunct}, \ipkg{impnattypo}, \mpkg{luavlna},
@@ -5811,7 +5851,7 @@
 %   \epkg{scrlayer-notecolumn}, \epkg{versonotes}. \\
 %
 % Footnotes: & Adds \progcode{FootnoteDepth} to print footnotes at section breaks.
-%   \brand{MathJax} emulation for \cs{footnote}, and also as marked in the following:
+%   \MathJax\ emulation for \cs{footnote}, and also as marked in the following:
 %   \epkg{bigfoot}, \ipkg{dblfnote},
 %   \ipkg{endheads}, \mpkg{endnotes}\ejax, \mpkg{enotez}\ejax, \spkg{fixfoot},
 %   \ipkg{fnbreak}, \ipkg{fnpara}, \spkg{fnpct}, \ipkg{fnpos},
@@ -5826,7 +5866,7 @@
 %
 % Math: & Converted to \SVG\ images with \HTML\ \element{alt} tags containing the
 % 	\LaTeX\ source for the math expression.
-%	\brand{MathJax} supported as an alternative.
+%	\MathJax\ supported as an alternative.
 % 	\mpkg{amsmath}\ejax: \AmS\ environments are supported.
 % 	User-defined macros are available during converson,
 % 	due to native \LaTeX\ processing.\\
@@ -6017,7 +6057,7 @@
 %
 %   \smallskip
 %
-%   Also see the math section for math and \brand{MathJax} support for math font packages. \\
+%   Also see the math section for math and \MathJax\ support for math font packages. \\
 %
 % Symbols: & Native \LaTeX\ diacriticals, \mpkg{academicons}, \spkg{amssymb}\sjax,
 %   \mpkg{bbding}, \mpkg{ccicons},
@@ -6089,7 +6129,7 @@
 %
 % Accessibility: & \epkg{accessibility}\ijax, \ipkg{accsupp}\ijax,
 %   \ipkg{axessibility}\ijax,
-%   \ipkg{pdfcomment}\ijax, \ipkg{repltext}\ijax, \ipkg{tagpdf}. \\
+%   \ipkg{pdfcomment}\ijax, \ipkg{repltext}\ijax, \mpkg{tagpdf}. \\
 %
 % \midrule
 %
@@ -6365,7 +6405,7 @@
 % \item[Automatically downloaded from the internet as required:] \
 % \begin{description}
 %
-% \item[\brand{MathJax}:] Optionally used to display math.
+% \item[\MathJax:] Optionally used to display math.
 %	From: \url{mathjax.org}
 %	\DescribeProgram[requirement]{MathJax}
 %
@@ -6852,7 +6892,7 @@
 %   |lwarp_one_limage.cmd| when images are generated.
 %
 % \item [|lwarp\_mathjax.txt|:] Inserted into the \HTML\ files when
-%	\brand{MathJax} is used to display math.
+%	\MathJax\ is used to display math.
 %	Do not modify, see \cs{MathJaxFilename} instead.
 %
 % \item [|comment\_*.cut|:] Temporary files used by \pkg{lwarp} to
@@ -6981,7 +7021,7 @@
 %   the plain-text \LaTeX\ source,
 %	until the
 %	images of the math expressions have been generated.  Math may be
-%	displayed as \SVG\ images or by a \brand{MathJax} script, as seen in
+%	displayed as \SVG\ images or by a \MathJax\ script, as seen in
 %	\cref{sec:tutorialsvgmath,sec:tutorialmathjax}.
 %
 % \item Force a recompile:
@@ -7038,11 +7078,11 @@
 %
 % \clearpage
 %
-% \subsection{Using \brand{MathJax} for math}
+% \subsection{Using \MathJax\ for math}
 % \label{sec:tutorialmathjax}
 %
-% Math may also be represented using the \brand{MathJax} \brand{Javascript} project.
-% \margintag{math with \brand{MathJax}}
+% Math may also be represented using the \MathJax\ \brand{Javascript} project.
+% \margintag{math with \MathJax}
 %
 % \begin{enumerate}
 % \item In the tutorial's source code, uncomment the \optn{mathjax} package option for \pkg{lwarp}:
@@ -7055,13 +7095,13 @@
 % \item Reload the math page.
 % \end{enumerate}
 %
-% \brand{MathJax} requires web access unless a local copy of \brand{MathJax} is available,
-% \watchout[\brand{MathJax} requirements]
+% \MathJax\ requires web access unless a local copy of \MathJax\ is available,
+% \watchout[\MathJax\ requirements]
 % and it also requires that \brand{Javascript} is enabled for the web page.
-% The math is rendered by \brand{MathJax}.  Right-click on math to see several
+% The math is rendered by \MathJax.  Right-click on math to see several
 % options for rendering, and for copying the \LaTeX\ source.
 %
-% While using \brand{MathJax} has many advantages, it may not be able to represent
+% While using \MathJax\ has many advantages, it may not be able to represent
 % complex expressions or spacing adjustments as well as \LaTeX, and it
 % may not support some math-related packages.
 %
@@ -7352,7 +7392,7 @@
 % \item [Shell escape:] See \cref{sec:shellescape}, \nameref{sec:shellescape}.
 % \item [\CSS\ customization:] See \cref{sec:csscustomization},
 %           \nameref{sec:csscustomization}.
-% \item [\brand{MathJax} customization:] See \cref{sec:limitscustomizemathjax},
+% \item [\MathJax\ customization:] See \cref{sec:limitscustomizemathjax},
 %           \nameref{sec:limitscustomizemathjax}.
 % \item [Localization:] (languages)  --- See \cref{sec:localization},
 %           \nameref{sec:localization}.
@@ -7462,7 +7502,7 @@
 %           \cs{AltTextOpen}, \cs{AltTextClose}:] The defaults used for \HTML\
 %           \attribute{alt} text for images.  See \cref{sec:accessibility}.
 %       \item [\cs{CSSFilename}:] The name of the \CSS\ file to use.
-%       \item [\cs{MathJaxFilename}:] The name of the \brand{MathJax} script to use.
+%       \item [\cs{MathJaxFilename}:] The name of the \MathJax\ script to use.
 %   \end{description}
 % \item [Package options:] \
 %   \begin{description}
@@ -7486,7 +7526,7 @@
 % \gindex{HTML>alt text=\attribute{alt} text}
 % \gindex{image>alt text=\attribute{alt} text}
 % \gindex{math>alt text=\attribute{alt} text}
-% \gindex{mathjax=\brand{MathJax}>accessibility}
+% \gindex{mathjax=\MathJax>accessibility}
 % \gindex{link>title=\attribute{title} text}
 % \gindex{hyperref=\pkg{hyperref}>title=\attribute{title} text}
 % \gindex{settings>accessibility}
@@ -7504,7 +7544,7 @@
 % \ARIA\ roles for increased accessibility, and \pkg{lwarp} assigns the |math|
 % role for \SVG\ math images, and the |note| role for footnotes, end notes,
 % margin paragraphs and notes, etc.
-% \brand{MathJax} also has provisions for improved accessibility
+% \MathJax\ also has provisions for improved accessibility
 % as well.  See \cref{tab:accessibility}.
 %
 % \begin{table}
@@ -7534,9 +7574,9 @@
 %   the \HTML\ \attribute{alt} text will be set to \cs{MathImageAltText}.
 %   Set with \cs{renewcommand}.
 %
-% \item [\brand{MathJax}:]
-%   For \brand{MathJax}, the accessibility tools provided by \brand{MathJax} are
-%   enabled by default by \pkg{lwarp}'s \brand{MathJax} scripts.
+% \item [\MathJax:]
+%   For \MathJax, the accessibility tools provided by \MathJax\ are
+%   enabled by default by \pkg{lwarp}'s \MathJax\ scripts.
 %
 % \item [\cs{PackageDiagramAltText}:]
 %   Various packages create diagrams which \pkg{lwarp} converts into \SVG\ images.
@@ -7797,7 +7837,7 @@
 % \begin{tabular}{>{\ttfamily}lp{3.25in}}
 % Option & Description \\ \midrule
 % mathsvg & Show math using \SVG\ images. \\
-% mathjax & Show math using \brand{MathJax}. \\
+% mathjax & Show math using \MathJax. \\
 % latexmk & Use \prog{latexmk} for compiling documents. \\
 % dvips & Use \prog{dvips} and \prog{ps2pdf} to convert \DVI\ documents. \\
 % dvipdfm & Use \prog{dvipdfm} to convert \DVI\ documents. \\
@@ -7867,7 +7907,7 @@
 % \DescribeOption{mathsvg}
 % \DescribeOption{mathjax}
 % \DescribeDefault{mathsvg}
-%   Selects \SVG\ images or \brand{MathJax} for math display.
+%   Selects \SVG\ images or \MathJax\ for math display.
 %   See \cref{sec:limitsmath}.
 % ^^A \DescribeOption{mathKaTeX}
 % ^^A For math display, select \optn{mathsvg} (default), \optn{mathjax},
@@ -8230,7 +8270,7 @@
 % \cs{AltTextClose} & PD & End an \HTML\ \attribute{alt} tag. \\
 % \midrule
 % \cs{CSSFilename} & PS & The \CSS\ for the following files. \\
-% \cs{MathJaxFilename} & PS & The \brand{MathJax} script for the following files. \\
+% \cs{MathJaxFilename} & PS & The \MathJax\ script for the following files. \\
 % \midrule
 % \cs{HTMLLanguage} & PS & The \HTML\ \attribute{lang} tag. \\
 % \cs{HTMLTitle} & PS & The homepage's \element{title}, overriding \cs{title}. \\
@@ -8479,11 +8519,11 @@
 %
 % \ItemDescribeMacro{\MathJaxFilename}  \marg{filename}
 %   \DescribeDefault{\filenm{lwarp_mathjax.txt}} \quad
-%   Sets the \brand{MathJax} script file to use for the following
+%   Sets the \MathJax\ script file to use for the following
 %   files.  May be changed before each each sectioning command which would
 %   cause a file split.
 %
-%   The \brand{MathJax} script file is copied into the head of each \HTML\ file.
+%   The \MathJax\ script file is copied into the head of each \HTML\ file.
 %   This may be used to point to a local repository, add extensions, or change
 %   the script somewhere in the middle of the document.
 %   \cs{MathJaxFilename} may be used before each file break to set the script file for
@@ -8813,7 +8853,7 @@
 % \osportabilityusage
 %
 % 
-% \subsection{Selecting actions for print, \HTML, or \brand{MathJax} output}
+% \subsection{Selecting actions for print, \HTML, or \MathJax\ output}
 % \label{sec:selectingoutput}
 % \gindex{settings>selecting print/\HTML\ output}
 % \changes{v0.15}{2016/04/05}{Docs: Clarify print/\HTML\ output.}
@@ -8820,7 +8860,7 @@
 %
 % The following environments and macros are used to select actions which only apply
 % to either traditional \LaTeX{} print-formatted \PDF\ generation,
-% or to \HTML\ generation, or to \HTML\ with \brand{MathJax}.
+% or to \HTML\ generation, or to \HTML\ with \MathJax.
 %
 % For most of built-in \LaTeX\ and many additional packages
 % there is user-level source code support or emulation,
@@ -8882,7 +8922,7 @@
 % Performs the given actions only when \HTML\ output is being generated.
 %
 % \DescribeEnv{warpMathJax}
-% Anything which is to be done only while using \HTML\ output with \brand{MathJax}
+% Anything which is to be done only while using \HTML\ output with \MathJax
 % is surrounded by a \env{warpMathJax} environment.
 % Usually, this is \cs{CustomizeMathJax}, used to add emulation macros.
 % |\end{warpMathJax}| must appear on its own line.
@@ -9384,7 +9424,7 @@
 %
 % \DescribePackage{tcolorbox}
 % \trouble{tcolorbox=\pkg{tcolorbox}}
-% \pkg{tcolorbox} is emulated for \HTML\ and \brand{MathJax}, and
+% \pkg{tcolorbox} is emulated for \HTML\ and \MathJax, and
 % supported as-is inside a \env{lateximage} or \SVG\ math.
 %
 % What has been tested to work (at least partly) includes:
@@ -9402,10 +9442,10 @@
 %           \optn{math}, \optn{ams equation}, etc.\ are not supported. \watchout[math]
 %           Use a \env{tcolorbox} with regular math inside it.
 %           \cs{tcboxmath} and \cs{tcbhighmath} are suppored in \SVG\ math, and
-%           emulated in \brand{MathJax}.
+%           emulated in \MathJax.
 % \item Fitting features: \cs{tcboxfit} becomes \cs{tcbox} in \HTML.
 % \item Footnote numbering does not match the printed output.\watchout[footnotes]
-% \item \brand{MathJax} emulation is provided for common macros.
+% \item \MathJax\ emulation is provided for common macros.
 % \end{itemize}
 %
 % If using \pkg{cleveref},
@@ -9535,11 +9575,11 @@
 %
 % \trouble{footnote>numbering}
 % \gindex{footnotes>numbering}
-% \gindex{footnotes>mathjax=\brand{MathJax}}
+% \gindex{footnotes>mathjax=\MathJax}
 % \trouble{footnote>in sectioning command}
-% \trouble{mathjax=\brand{MathJax}>footnotes}
-% \trouble{math>footnote>mathjax=\brand{MathJax}}
-% \trouble{footnote>mathjax=\brand{MathJax}}
+% \trouble{mathjax=\MathJax>footnotes}
+% \trouble{math>footnote>mathjax=\MathJax}
+% \trouble{footnote>mathjax=\MathJax}
 % \trouble{sidenotes=\pkg{sidenotes}>numbering}
 %
 % \limitsfootnotes
@@ -10579,7 +10619,7 @@
 % \gindex{dynamic math}
 % \trouble{math>tikz=\tikz}
 % \trouble{tikz>in math}
-% \trouble{mathjax=\brand{MathJax}>errors}
+% \trouble{mathjax=\MathJax>errors}
 % \trouble{HTML>alt tags}
 % \trouble{alt tags}
 %
@@ -10619,8 +10659,8 @@
 % \subsubsection{\pkg{physics} package}
 % \label{sec:limitsphysics}
 %
-% \trouble{mathjax=\brand{MathJax}>physics=\pkg{physics}}
-% \trouble{physics=\pkg{physics}>mathjax=\brand{MathJax}}
+% \trouble{mathjax=\MathJax>physics=\pkg{physics}}
+% \trouble{physics=\pkg{physics}>mathjax=\MathJax}
 %
 % \DescribePackage{physics}
 % \limitsphysics
@@ -11174,14 +11214,37 @@
 % as \HTML\ entities.
 %
 %
+% \subsection{\pkg{sympytex} package}
+%
+% \DescribePackage{sympytex}
+% \trouble{sympytex=\pkg{sympytex}}
+% For \pkg{sympytex}:
+%
+% \begin{sourcedisplay}
+% \cs{usepackage}[ \\
+% \fquad \dots \\
+% \fquad PrintLatexCmd=\{ \\
+%     \fqquad pdflatex project.tex \cs{LWRopseq} \\
+%     \fqquad python project.sympy \cs{LWRopseq} \\
+%     \fqquad pdflatex project.tex \\
+% \fquad \} , \\
+% \fquad HTMLLatexCmd=\{ \\
+%     \fqquad pdflatex project\textgreen{\_html}.tex \cs{LWRopseq} \\
+%     \fqquad python project\textgreen{\_html}.sympy \cs{LWRopseq} \\
+%     \fqquad pdflatex project\textgreen{\_html}.tex \\
+% \fquad \} , \\
+% \fquad \dots \\
+% ]\{lwarp\}
+% \end{sourcedisplay}
+%
+% Also see the warnings for \pkg{pythontex}, above.
+
 % \subsection{Other packages}
 %
-% \DescribePackage{sympytex}
 % \DescribePackage{rterface}
-% Other packages such as \pkg{sympytex} and \pkg{rterface} would be set up
+% \trouble{rterface=\pkg{rterface}}
+% Other packages such as \pkg{rterface} would be set up
 % similar to \pkg{pythontex}, and the same warnings would apply.
-% \trouble{sympytex=\pkg{sympytex}}
-% \trouble{rterface=\pkg{rterface}}
 %
 %
 % \subsection{\prog{make} program}
@@ -11337,19 +11400,19 @@
 % Once these settings have been made, the \pkg{lwarp}-generated \HTML\ files
 % may be loaded by \prog{Calibre}, and then converted to an \EPUB.
 %
-% \begin{docsidebar}[\brand{MathJax} support]
-% \brand{MathJax} may be used in \EPUB\ documents.
-% Some e-readers include \brand{MathJax}, but any given reader
+% \begin{docsidebar}[\MathJax\ support]
+% \MathJax\ may be used in \EPUB\ documents.
+% Some e-readers include \MathJax, but any given reader
 % may or may not have a recent version, and may or may not include
 % extensions such as support for \pkg{siunitx}.
 %
 % \pkg{lwarp} adds some modifications to \MathML\ to support equations numbered
 % by chapter.  These modifications may not be compatible with the e-reader's
-% version of \brand{MathJax}, so \pkg{lwarp} requests that a known version be loaded
+% version of \MathJax, so \pkg{lwarp} requests that a known version be loaded
 % instead.  In some cases chapter numbering of equations still doesn't work.
 %
 % Until math support in \EPUB\ documents is improved, it is recommended to use
-% \SVG\ images instead of \brand{MathJax}, especially for equations numbered by chapter,
+% \SVG\ images instead of \MathJax, especially for equations numbered by chapter,
 % or where \pkg{siunitx} support is important.
 % \end{docsidebar}
 %
@@ -11541,7 +11604,7 @@
 %
 % \newcommand{\describeWPMarkMath}{
 %   While formatting for word processors,
-%   prints math as \LaTeX\ code instead of creating \SVG\ images or \brand{MathJax}.
+%   prints math as \LaTeX\ code instead of creating \SVG\ images or \MathJax.
 %   This is useful for cut/paste into the \prog{LibreOffice Writer TeXMaths} extension.
 % }
 %
@@ -12332,9 +12395,9 @@
 %   \end{description}
 %
 % \needspace{3\baselineskip}
-% \item [Incorrect \brand{MathJax}:] Some objects do not convert to \brand{Mathjax}.
-%   \trouble[\brand{MathJax}]{mathjax=\brand{MathJax}>errors}
-%   \trouble{mathjax=\brand{MathJax}>unsupported packages}
+% \item [Incorrect \MathJax:] Some objects do not convert to \brand{Mathjax}.
+%   \trouble[\MathJax]{mathjax=\MathJax>errors}
+%   \trouble{mathjax=\MathJax>unsupported packages}
 %   Use \cs{displaymathother} before these objects, then \cs{displaymathnormal} to return
 %   to ``normal'' display math.
 %   See \cref{sec:displaymathother}.
@@ -12495,7 +12558,7 @@
 % \item \brand{Linux}® is the registered trademark of Linus Torvalds in the U.S.\ and other countries.
 % \item \brand{Mac\,OS}® is a trademark of \brand{Apple Inc.}
 % \item \brand{MadCap Flare}™ is the property of \brand{MadCap Software, Inc.}
-% \item \brand{MathJax} is copyright 2009 and later.
+% \item \MathJax\ is copyright 2009 and later.
 %   The \brand{MathJax Consortium} is a joint venture of the \brand{American Mathematical Society} (AMS)
 %   and the \brand{Society for Industrial and Applied Mathematics} (SIAM)
 %   to advance mathematical and scientific content on the web.
@@ -12728,7 +12791,7 @@
 %
 % \gindex{numbers>left margin}\gindex{line numbers}
 % \gindex{margin>numbers}\gindex{margin>tags}
-% \documentationnotes
+% \codedocumentationnotes
 % \gindex{warning icon}\gindex{danger icon}\gindex{icon>warning}
 % \changes{v0.15}{2016/04/05}{Docs: Added warning icons for items needing
 % 	special attention.}
@@ -13027,7 +13090,7 @@
     by lwarp's HTML conversion%
     \ifblank{#2}{}{%
         .\MessageBreak
-        Class(es) #2 may be useful instead%
+        #2 may be useful instead%
     }%
 }
 {%
@@ -13035,7 +13098,7 @@
     or is superceded by another class.%
     \ifblank{#2}{}{%
         \MessageBreak
-        For a possible alternative, see class(es) #2.%
+        For a possible alternative, see #2.%
     }%
 }
 }{\relax}%
@@ -13122,7 +13185,6 @@
 \LWR at checkloadnever{auto-pst-pdf-lua}{}
 \LWR at checkloadnever{algorithms}{}
 \LWR at checkloadnever{arraycols}{}
-\LWR at checkloadnever{beamer}{}
 \LWR at checkloadnever{bidi}{}
 \LWR at checkloadnever{cals}{}
 \LWR at checkloadnever{cellspace}{}
@@ -13231,7 +13293,9 @@
 %
 %
 % Some classes do not work with \pkg{lwarp}:
+% \changes{v0.902}{2021/09/15}{Forbid \pkg{beamer}.}
 %    \begin{macrocode}
+\LWR at earlyclassloadnever{beamer}{beamerarticle}
 \LWR at earlyclassloadnever{jarticle}{ujarticle}
 \LWR at earlyclassloadnever{jbook}{ujbook}
 \LWR at earlyclassloadnever{jreport}{ujreport}
@@ -13302,6 +13366,7 @@
 \LWR at loadafter{backref}
 \LWR at loadafter{balance}
 \LWR at loadafter{bbding}
+\LWR at loadafter{beamerarticle}
 \LWR at loadafter{bigdelim}
 \LWR at loadafter{bigfoot}
 \LWR at loadafter{bigstrut}
@@ -13734,6 +13799,7 @@
 \LWR at loadafter{supertabular}
 \LWR at loadafter{svg}
 \LWR at loadafter{swfigure}
+\LWR at loadafter{sympytex}
 \LWR at loadafter{syntonly}
 \LWR at loadafter{t1inc}
 \LWR at loadafter{tabfigures}
@@ -13855,7 +13921,7 @@
 }
 %    \end{macrocode}
 %
-% The default for pdf\LaTeX, \DVI\LaTeX, up\LaTeX, etc:
+% The default for \pdfLaTeX, \dviLaTeX, up\LaTeX, etc:
 % \changes{v0.63}{2018/11/30}{Fix: Default \cs{LWR at mdfive}.}
 %    \begin{macrocode}
 \let\LWR at mdfive\pdfmdfivesum
@@ -13880,9 +13946,9 @@
 %    \end{macrocode}
 %
 %
-% \section{pdf\LaTeX\ T1 and \UTF-8 encoding}
+% \section{\pdfLaTeX\ T1 and \UTF-8 encoding}
 %
-% When using pdf\LaTeX, \pkg{lwarp} requires T1 font encoding,
+% When using \pdfLaTeX, \pkg{lwarp} requires T1 font encoding,
 % and recommends \UTF-8 input encoding.
 %
 % If some other input encoding is already defined, \pkg{lwarp} will
@@ -13998,7 +14064,7 @@
 %
 % \section{Upright quotes}
 %
-% In pdf\TeX, preserve upright quotes in verbatim text.
+% In \pdfTeX, preserve upright quotes in verbatim text.
 % \pkg{upquote} also loads \pkg{textcomp}.
 %
 % \changes{v0.63}{2018/11/25}{p\TeX: Load \pkg{upquote}.}
@@ -14611,9 +14677,9 @@
 %    \end{macrocode}
 %
 % \DescribeOption{mathjax}
-% Option \optn{mathjax} selects \brand{MathJax} math display:
+% Option \optn{mathjax} selects \MathJax\ math display:
 % \gindex{math>mathjax=\optn{mathjax} option}
-% \gindex{mathjax=\brand{MathJax}>mathjax=\optn{mathjax} option}
+% \gindex{mathjax=\MathJax>mathjax=\optn{mathjax} option}
 % If the \optn{mathjax} option is given, boolean |mathjax| is true, may be used for \cs{ifbool} tests.
 %    \begin{macrocode}
 \DeclareVoidOption{mathjax}{%
@@ -14635,7 +14701,7 @@
 % ^^A If the \optn{mathKaTeX} option is given, boolean |mathKaTeX| is true,
 % ^^A may be used for \cs{ifbool} tests.
 % ^^A Boolean |mathjax| is also set true, as most code is shared with
-% ^^A \brand{MathJax} functions.
+% ^^A \MathJax\ functions.
 % ^^A    \begin{macrocode}
 % ^^A \DeclareVoidOption{mathKaTeX}{%
 % ^^A \PackageInfo{lwarp}{Using option 'mathKaTeX'}
@@ -15231,7 +15297,7 @@
 
 
 % \begin{environment}{warpMathJax}
-% Only if \brand{MathJax} is being used along with \HTML.
+% Only if \MathJax\ is being used along with \HTML.
 % \changes{v0.79}{2020/01/26}{Added.}
 %    \begin{macrocode}
 \begin{warpprint}
@@ -15404,7 +15470,7 @@
 %    \begin{macrocode}
 %
 % Disable ligatures for typewriter fonts.
-% The comma was causing issues with \brand{MathJax} and \cs{,} followed by a comma.
+% The comma was causing issues with \MathJax\ and \cs{,} followed by a comma.
 % Ligatures for f, q, t, etc used to be disabled for non-typewriter fonts, but
 % are now allowed.
 % \changes{v0.89}{2020/08/01}{Disable typewriter ligatures.}
@@ -15480,7 +15546,7 @@
 % \changes{v0.20}{2017/01/12}{Page geometry set to 6in wide with large margins.}
 % \changes{v0.27}{2017/04/04}{Page geometry modified to reduce line overflow.}
 % \changes{v0.28}{2017/04/13}{Forced oneside to maintain large right margin.}
-% \changes{v0.52}{2018/03/31}{Fix: \brand{MathJax} script line wraps.  Reduced right margin.}
+% \changes{v0.52}{2018/03/31}{Fix: \MathJax\ script line wraps.  Reduced right margin.}
 % \changes{v0.74}{2019/08/13}{Remembers user's geometry.}
 %
 % \codehtml
@@ -15890,23 +15956,6 @@
 
 
 
-% \codeprint
-%    \begin{macrocode}
-\begin{warpprint}
-%    \end{macrocode}
-
-% \DescribePackage{varwidth}
-% Used for print-mode \env{lateximage}.
-%    \begin{macrocode}
-\RequirePackage{varwidth}
-%    \end{macrocode}
-
-%    \begin{macrocode}
-\end{warpprint}
-%    \end{macrocode}
-
-
-
 % \section{Loading packages}
 %
 %
@@ -17276,7 +17325,7 @@
 %    \begin{macrocode}
 \LetLtxMacro\LWR at origtie\t
 %    \end{macrocode}
-% For pdf\LaTeX, additional work is required:
+% For \pdfLaTeX, additional work is required:
 %    \begin{macrocode}
 \ifPDFTeX% pdflatex or dvi latex
 \LetLtxMacro\LWR at origgraveaccent\`
@@ -17295,7 +17344,7 @@
 %    \end{macrocode}
 % The \HTML\ redefinitions follow.
 %
-% For pdf\LaTeX, Unicode diacritical marks are used:
+% For \pdfLaTeX, Unicode diacritical marks are used:
 %    \begin{macrocode}
 \renewcommand*{\`}[1]{#1\HTMLunicode{0300}}
 \renewcommand*{\'}[1]{#1\HTMLunicode{0301}}
@@ -17917,6 +17966,9 @@
 % \changes{v0.899}{2021/06/25}{\filenm{lwarp.css}: Improved \pkg{multicol}.}
 % \changes{v0.901}{2021/08/20}{\filenm{lwarp.css}: Tabular cell text alignment.}
 % \changes{v0.901}{2021/08/20}{\filenm{lwarp.css}: Improved captions.}
+% \changes{v0.902}{2021/09/15}{\filenm{lwarp.css}: Centered \element{div} \attribute{author}.}
+% \changes{v0.902}{2021/09/15}{\filenm{lwarp.css}: Added \pkg{beamerarticle}.}
+% \changes{v0.902}{2021/09/28}{\filenm{lwarp.css}: Added \attribute{textnormal}.}
 %
 % ^^A *lwarp.css
 %
@@ -18003,6 +18055,15 @@
 
 table td.tdbfit { font-weight: bold ; font-style:italic }
 
+span.textnormal, div.textnormal {
+    font-weight: normal; 
+    font-style: normal;
+    font-variant: normal;
+    font-variant-numeric: normal ;
+    font-family: "DejaVu Serif", "Bitstream Vera Serif",
+    "Lucida Bright", Georgia, serif;
+}
+
 span.textmd, div.textmd { font-weight: normal; }
 
 span.textup, div.textup {
@@ -18642,7 +18703,7 @@
 .fcolorbox .minipage, .fcolorboxBlock .minipage
     {border: none ; background: none;}
 
-.fbox, .fboxBlock { border: 1px solid black ; }
+.fbox, .fboxBlock { border: 1px solid black ; padding: 4pt }
 
 .fbox, .fboxBlock, .fcolorbox, .fcolorboxBlock, .colorbox, .colorboxBlock,
 .fminipage, .fcolorminipage
@@ -18795,7 +18856,16 @@
 }
 
 
+/* For beamerarticle: */
+div.beamerframe {
+    margin: 3ex 1em 3ex 1em ;
+   border: 1px solid gray;
+     border-radius: 0px ;
+    padding: .3ex 1em 0ex 1em ;
+  display: block ;
+}
 
+
 dl {
   margin: 1ex 2em 1ex 0em;
   line-height: 1.3;
@@ -19190,6 +19260,7 @@
 
 div.author
 {
+    text-align: center ;
     font-variant: normal ;
     font-style: normal ;
     font-size: 1em ;
@@ -19357,7 +19428,7 @@
 
 span.alg2elinenumber{
     margin-right: .5em ;
-    font-size: 50% ;
+    font-size: 60% ;
     color: red ;
 }
 
@@ -20377,8 +20448,8 @@
 % \credits{Davide P. Cervone}
 
 % \DescribeFile{lwarp_mathjax.txt}
-% The default \brand{MathJax} script used by \pkg{lwarp} when using \brand{MathJax}.
-% A recent version of \brand{MathJax} is used, as served by the recommended repository.
+% The default \MathJax\ script used by \pkg{lwarp} when using \MathJax.
+% A recent version of \MathJax\ is used, as served by the recommended repository.
 % Adjustments are made to allow \LaTeX\ to control the equation tags
 % and provide for starred macros.
 %
@@ -20388,8 +20459,8 @@
 % but do not need to be present when distributing
 % the resulting \HTML\ files.
 %
-% \gindex{mathjax=\brand{MathJax}>custom script}
-% \trouble{mathjax=\brand{MathJax}>custom script}
+% \gindex{mathjax=\MathJax>custom script}
+% \trouble{mathjax=\MathJax>custom script}
 % To generate a custom script, such as to use a local repository,
 % \margintag{custom script}
 % copy \filenm{lwarp_mathjax.txt} to a new file,
@@ -20400,15 +20471,15 @@
 % \changes{v0.30}{2017/04/26}{Fix: \filenm{lwarp_mathjax.txt}: Only written in print mode.}
 % \changes{v0.34}{2017/07/27}{File: \filenm{lwarp_mathjax.txt}: Version change.}
 % \changes{v0.42}{2017/10/16}{File: \filenm{lwarp_mathjax.txt}: Updated \pkg{siunitx} script.}
-% \changes{v0.45}{2017/12/21}{File: \filenm{lwarp_mathjax.txt}: Allow \brand{MathJax} inside \env{tabbing}.}
-% \changes{v0.45}{2018/01/23}{File: \filenm{lwarp_mathjax.txt}: Allow \brand{MathJax} inside \env{verse}.}
-% \changes{v0.59}{2018/07/13}{File: \filenm{lwarp_mathjax.txt}: Updated to \brand{MathJax} v2.7.4.}
-% \changes{v0.59}{2018/07/16}{File: \filenm{lwarp_mathjax.txt}: Fix: Removed chapter number from tagged non-numeric \brand{MathJax} equations.}
+% \changes{v0.45}{2017/12/21}{File: \filenm{lwarp_mathjax.txt}: Allow \MathJax\ inside \env{tabbing}.}
+% \changes{v0.45}{2018/01/23}{File: \filenm{lwarp_mathjax.txt}: Allow \MathJax\ inside \env{verse}.}
+% \changes{v0.59}{2018/07/13}{File: \filenm{lwarp_mathjax.txt}: Updated to \MathJax\ v2.7.4.}
+% \changes{v0.59}{2018/07/16}{File: \filenm{lwarp_mathjax.txt}: Fix: Removed chapter number from tagged non-numeric \MathJax\ equations.}
 % \changes{v0.62}{2018/11/05}{File: \filenm{lwarp_mathjax.txt}: Removed inoperable \pkg{siunitx} extension.}
-% \changes{v0.70}{2019/03/24}{File: \filenm{lwarp_mathjax.txt}: Updated to \brand{MathJax} v2.7.5.}
+% \changes{v0.70}{2019/03/24}{File: \filenm{lwarp_mathjax.txt}: Updated to \MathJax\ v2.7.5.}
 % \changes{v0.70}{2019/03/24}{File: \filenm{lwarp_mathjax.txt}: Loads \filenm{autoload-all.js} extension.}
-% \changes{v0.76}{2019/10/05}{File: \filenm{lwarp_mathjax.txt}: Updated to \brand{MathJax} v2.7.6.}
-% \changes{v0.86}{2020/05/03}{File: \filenm{lwarp_mathjax.txt}: Updated to \brand{MathJax} v3 current.}
+% \changes{v0.76}{2019/10/05}{File: \filenm{lwarp_mathjax.txt}: Updated to \MathJax\ v2.7.6.}
+% \changes{v0.86}{2020/05/03}{File: \filenm{lwarp_mathjax.txt}: Updated to \MathJax\ v3 current.}
 % \changes{v0.86}{2020/05/03}{File: \filenm{lwarp_mathjax.txt}: Improved equation numbering.}
 % \changes{v0.86}{2020/05/03}{File: \filenm{lwarp_mathjax.txt}: Added support for starred macros.}
 % \changes{v0.87}{2020/05/20}{File: \filenm{lwarp_mathjax.txt}: Now provides \cs{ifstar}, \cs{ifnextchar}.}
@@ -20751,7 +20822,7 @@
 -- Copyright 2016-2021 Brian Dunn
 
 
-printversion = "v0.901"
+printversion = "v0.902"
 requiredconfversion = "2" -- also at *lwarpmk.conf
 
 function printhelp ()
@@ -22076,11 +22147,11 @@
 
 
 % \DescribeBoolean{LWR at mathmacro} True if currently defining math macros.
-%   Used to disable \SVG\ math hashing and \brand{MathJax} math contents while
+%   Used to disable \SVG\ math hashing and \MathJax\ math contents while
 %   defining a macro using inline math.
 %   Begin a macro, it is not guaranteed that the contents are static, and so
 %   the image must be unique.  The contents also almost certainly will not be
-%   parsed correctly by \brand{MathJax}.
+%   parsed correctly by \MathJax.
 %    \begin{macrocode}
 \newbool{LWR at mathmacro}
 \boolfalse{LWR at mathmacro}
@@ -22116,7 +22187,7 @@
 % \gindex{SVG>dynamic math}
 % \trouble{math>incorrect>dynamic}
 % \trouble{math>dynamic}
-% \trouble{mathjax=\brand{MathJax}>errors}
+% \trouble{mathjax=\MathJax>errors}
 % \gindex{math>dynamic}
 % \gindex{dynamic math expressions}
 %
@@ -22126,7 +22197,7 @@
 % value of a counter, then \cs{inlinemathother} must be used before the
 % inline math expression, and \cs{inlinemathnormal} must be used after.
 %
-% For \brand{MathJax}, the inline math expression is usually printed for \brand{MathJax} to
+% For \MathJax, the inline math expression is usually printed for \MathJax\ to
 % interpret.  When marked as dynamic math, the following inline math expression
 % will be displayed as an unhashed inline \SVG\ image instead.
 %
@@ -22760,7 +22831,7 @@
 % \begin{macro}{\LWR at closeprevious} \marg{sectintype}
 % Close everything up to the given depth:
 %    \begin{macrocode}
-\newcommand*{\LWR at closeprevious}[1]{
+\newcommand*{\LWR at closeprevious}[1]{%
 \LWR at traceinfo{%
     LWR at closeprevious to depth \csuse{LWR at depth#1}, %
     depths are \LWR at subprintstack%
@@ -23064,14 +23135,14 @@
 % \changes{v0.85}{2020/04/30}{Fix: Added print macros for \pkg{fontspec}.}
 %    \begin{macrocode}
 \newcommand*{\LWR at htmltagc}[1]{%
-\LWR at traceinfo{LWR at htmltagc !\detokenize{#1}!}%
-\begingroup%
-\LWR at hook@processingtags%
-\ifmmode\else\protect\LWR at print@normalfont\protect\LWR at origttfamily\fi%
-\protect\LWR at origtextless%
-\LWR at isolate{#1}%
-\protect\LWR at origtextgreater%
-\endgroup%
+    \LWR at traceinfo{LWR at htmltagc !\detokenize{#1}!}%
+    \begingroup%
+    \LWR at hook@processingtags%
+    \ifmmode\else\protect\LWR at print@normalfont\protect\LWR at origttfamily\fi%
+    \protect\LWR at origtextless%
+    \LWR at isolate{#1}%
+    \protect\LWR at origtextgreater%
+    \endgroup%
 }
 %    \end{macrocode}
 % \end{macro}
@@ -23129,8 +23200,8 @@
 %
 %    \begin{macrocode}
 \newcommand*{\LWR at nestspanitem}{%
-\if at newlist\else{\LWR at htmltagc{br /}}\fi%
-\LWR at origitem%
+    \if at newlist\else{\LWR at htmltagc{br /}}\fi%
+    \LWR at origitem%
 }
 
 \newenvironment*{LWR at nestspan}
@@ -23163,7 +23234,7 @@
     }%
     \renewcommand{\LWR at forcenewpage}{}%
     \renewcommand{\LWR at liststart}{%
-        \let\item\LWR at nestspanitem%
+        \LetLtxMacro\item\LWR at nestspanitem%
     }%
     \renewcommand{\LWR at listend}{\LWR at htmltagc{br /}\LWR at htmltagc{br /}}%
     \renewenvironment{quote}{\LWR at htmltagc{br /}}{\LWR at htmltagc{br /}}%
@@ -23740,21 +23811,18 @@
 \global\boolfalse{LWR at doingapar}
 %    \end{macrocode}
 
-
-% \begin{macro}{\LWR at ensuredoingapar}
-% If are about to print something visible, and
-% if allowed to start a new paragraph,
-% ensure that are |LWR at doingapar|, so that paragraph tags are placed:
+% \DescribeBoolean{LWR at algocf@dopars}
+% Tells whether \pkg{algorithm2e} has patched paragraph handling using \cs{everypar}.
+% If so, the open paragraph tags are generated by
+% \pkg{algorithm2e}'s \cs{algocf at everypar} instead of \cs{LWR at openparagraph}.
+% \changes{v0.902}{2021/09/28}{Improved par tags.}
 %    \begin{macrocode}
-\newcommand*{\LWR at ensuredoingapar}{%
-\ifbool{LWR at doingstartpars}%
-{\global\booltrue{LWR at doingapar}}%
-{}%
-}
+\newbool{LWR at algocf@dopars}
+\boolfalse{LWR at algocf@dopars}
 %    \end{macrocode}
-% \end{macro}
 
 
+
 % \begin{macro}{\PN at parnotes@auto} Redefined by \pkg{parnotes} to print
 % paragraph notes at the end of each paragraph.
 %    \begin{macrocode}
@@ -23763,16 +23831,22 @@
 % \end{macro}
 
 
+% \begin{macro}{\LWR at ensuredoingapar}
 % \begin{macro}{\LWR at openparagraph}
+%
+% These were different in older versions of \pkg{lwarp},
+% but are now the same thing.
 %    \begin{macrocode}
 \newcommand*{\LWR at openparagraph}
 {%
 %    \end{macrocode}
+%
 % See if paragraph handling is enabled:
 %    \begin{macrocode}
 \ifbool{LWR at doingstartpars}%
 {% handling pars
 %    \end{macrocode}
+%
 % See if have already started a \env{lateximage} or a \element{span}.
 % If so, do not generate nested paragraph tags.
 %    \begin{macrocode}
@@ -23781,32 +23855,47 @@
         test {\ifnumcomp{\value{LWR at spandepth}}{>}{0}}
     }% nested par tags?
 %    \end{macrocode}
-% If so: Do nothing if already started a \env{lateximage} page.  Cannot nest a \env{lateximage}.
+%
+% If so: Do nothing if already started a \env{lateximage} page.
+% Cannot nest a \env{lateximage}.
 % Also do nothing if already inside a \element{span}.  Do not nest paragraph tags
 % inside a \element{span}.
 %    \begin{macrocode}
     {}% no nested par tags
 %    \end{macrocode}
+%
 % Else: No \env{lateximage} or \element{span} has been started yet,
 % so it's OK to generate paragraph tags.
 %    \begin{macrocode}
     {% yes nest par tags
+        \ifbool{LWR at doingapar}{}{%
 %    \end{macrocode}
+%
 % If \pkg{parnotes} is used, paragraph notes are inserted
 % before starting the next paragraph:
 % \changes{v0.56}{2018/05/09}{Added support for \pkg{parnotes}.}
+% \changes{v0.902}{2021/09/20}{Improved \pkg{parnotes}.}
 %    \begin{macrocode}
-        \PN at parnotes@auto%
+            \PN at parnotes@auto%
 %    \end{macrocode}
-% The opening paragraph tag:
-% \changes{v0.66}{2019/02/02}{Improved \HTML\ formatting.}
+%
+% Set flag before creating the tag, so that the tag itself does not trigger
+% a new paragraph:
+% \changes{v0.902}{2021/09/20}{Improved par tags.}
 %    \begin{macrocode}
-        \LWR at htmltagc{\LWR at tagregularparagraph}\LWR at orignewline%
+            \global\booltrue{LWR at doingapar}%
 %    \end{macrocode}
-% Now have started a paragraph.
+%
+% The opening paragraph tag.
+% Do not create tag if doing \pkg{algorithm2e} handling instead:
+% \changes{v0.66}{2019/02/02}{Improved \HTML\ formatting.}
 %    \begin{macrocode}
-        \global\booltrue{LWR at doingapar}%
+            \ifbool{LWR at algocf@dopars}{}{%
+                \LWR at htmltagc{\LWR at tagregularparagraph}\LWR at orignewline%
+            }%
+        }%
 %    \end{macrocode}
+%
 % At the endof each paragraph,
 % generate closing tag and do regular |/par| stuff.
 % (Attempting to use the \pkg{everyhook} |cr| hook
@@ -23817,8 +23906,11 @@
 }% end of handling pars
 {}% not handling pars
 }
+
+\let\LWR at ensuredoingapar\LWR at openparagraph
 %    \end{macrocode}
 % \end{macro}
+% \end{macro}
 
 
 % \begin{macro}{\LWR at closeparagraph@br}
@@ -23835,7 +23927,9 @@
         test {\ifnumcomp{\value{LWR at lateximagedepth}}{=}{0}} and
         not bool {LWR at intabularmetadata}
     }%
-        {\unskip\LWR at htmltagc{br /}}%
+        {%
+            \unskip\LWR at htmltagc{br /}%
+        }%
         {}%
 }
 %    \end{macrocode}
@@ -23851,14 +23945,17 @@
 {%
 % \LWR at traceinfo{LWR at closeparagraph}%
 %    \end{macrocode}
+%
 % See if paragraph handling is enabled:
 %    \begin{macrocode}
 \ifbool{LWR at doingapar}%
 %    \end{macrocode}
+%
 % If currently in paragraph mode:
 %    \begin{macrocode}
 {% handling pars
 %    \end{macrocode}
+%
 % See if already started a \env{lateximage} or a \element{span}:
 %    \begin{macrocode}
     \ifboolexpr{
@@ -23866,6 +23963,7 @@
         test {\ifnumcomp{\value{LWR at spandepth}}{>}{0}}
     }%
 %    \end{macrocode}
+%
 % Add a parbreak if in a span, not in a lateximage,
 % and not in table metadata.
 %    \begin{macrocode}
@@ -23873,10 +23971,12 @@
         \LWR at closeparagraph@br%
     }% no nested par tags
 %    \end{macrocode}
+%
 % If have not already started a \env{lateximage} or a \element{span}:
 %    \begin{macrocode}
     {% yes nest par tags
 %    \end{macrocode}
+%
 % Print a closing tag and some extra vertical space.
 %
 % (The fill seems to be required to force the \pkg{caption}
@@ -23889,23 +23989,33 @@
         \leavevmode\LWR at orignewline%
         \LWR at htmltagc{/\LWR at tagregularparagraph}%
 %    \end{macrocode}
+%
 % No longer doing a paragraph:
 %    \begin{macrocode}
-        \global\boolfalse{LWR at doingapar}%
+        \global\boolfalse{LWR at doingapar}% keep
 %    \end{macrocode}
+%
 % Disable the special \env{minipage} \& \cs{hspace} interaction
 % until a new minipage is found:
 %    \begin{macrocode}
         \global\boolfalse{LWR at minipagethispar}%
 %    \end{macrocode}
+%
 % If \pkg{parnotes} is used, paragraph notes are inserted
 % after ending the previous paragraph:
 % \changes{v0.56}{2018/05/09}{Added support for \pkg{parnotes}.}
+% \changes{v0.902}{2021/09/20}{Improved \pkg{parnotes}.}
 %    \begin{macrocode}
         \PN at parnotes@auto%
+%    \end{macrocode}
+%
+% After creating par notes, not yet started a new paragraph:
+%    \begin{macrocode}
+        \global\boolfalse{LWR at doingapar}%
     }% end of yes nest par tags
 }% end of handling pars
 %    \end{macrocode}
+%
 % Add a parbreak if in a span, not in a lateximage,
 % and not in table metadata.
 % \changes{v0.66}{2019/01/01}{Fix: Combined span, \env{tabular}, and \env{lateximage}.}
@@ -23914,6 +24024,7 @@
     \LWR at closeparagraph@br%
 }% not handling pars
 %    \end{macrocode}
+%
 % In most cases, finish with a \LaTeX\ \cs{par}, but in the case
 % of paragraphs between lines in a tabular fetch the next token instead:
 % \changes{v0.46}{2018/01/19}{Fix: Tabular empty lines.}
@@ -23968,6 +24079,7 @@
 {%
 % \LWR at traceinfo{LWR at startpars}%
 %    \end{macrocode}
+%
 % Ignore if inside a \env{lateximage} or \element{span}:
 %    \begin{macrocode}
 \ifboolexpr{
@@ -23977,23 +24089,30 @@
 {}%
 {%
 %    \end{macrocode}
+%
 % See if currently handling \HTML\ paragraphs:
 %    \begin{macrocode}
     \ifbool{LWR at doingstartpars}%
 %    \end{macrocode}
+%
 % If already in paragraph mode, do nothing.
 %    \begin{macrocode}
     {}%
 %    \end{macrocode}
+%
 % If not currently in paragraph mode:
 %    \begin{macrocode}
     {%
 %    \end{macrocode}
+%
 %	At the start of each paragraph, generate an opening tag:
 % \gindex{par=\cs{par}>hooks}
+% \changes{v0.902}{2021/09/24}{Cleared hook before adding.}
 %    \begin{macrocode}
+        \ClearPreHook{par}%
         \PushPreHook{par}{\LWR at openparagraph}%
 %    \end{macrocode}
+%
 %	At the end of each paragraph, generate closing tag then do regular |/par| actions:
 %    \begin{macrocode}
         \let\par\LWR at closeparagraph
@@ -24000,11 +24119,13 @@
 
     }% an intentionally blank line
 %    \end{macrocode}
+%
 % Are now handling paragraphs, but have not yet actually started one:
 %    \begin{macrocode}
     \global\setbool{LWR at doingstartpars}{true}%
 %    \end{macrocode}
-% No <par> tag yet to undo:
+%
+% No \element{par} tag yet to undo:
 %    \begin{macrocode}
     \global\boolfalse{LWR at doingapar}%
 }% nestspan
@@ -24024,6 +24145,7 @@
 \newcommand*{\LWR at stoppars}%
 {%
 %    \end{macrocode}
+%
 % Ignore if inside a \env{lateximage} or \element{span}:
 %    \begin{macrocode}
 \ifboolexpr{
@@ -24033,14 +24155,17 @@
 {}%
 {%
 %    \end{macrocode}
+%
 % See if currently handling \HTML\ paragraphs:
 %    \begin{macrocode}
     \ifbool{LWR at doingapar}%
 %    \end{macrocode}
+%
 % if currently in an \HTML\ paragraph:
 %    \begin{macrocode}
     {%
 %    \end{macrocode}
+%
 % Print a closing tag:
 % \changes{v0.66}{2019/02/02}{Improved \HTML\ formatting.}
 %    \begin{macrocode}
@@ -24048,10 +24173,12 @@
         \LWR at htmltagc{/\LWR at tagregularparagraph}%
         \LWR at orignewline%
 %    \end{macrocode}
+%
 % No longer have an open \HTML\ paragraph:
 %    \begin{macrocode}
         \global\boolfalse{LWR at doingapar}%
 %    \end{macrocode}
+%
 % Disable the special \env{minipage} \& \cs{hspace} interaction
 % until a new minipage is found:
 % \changes{v0.71}{2019/04/08}{Reduced underfull \cs{hbox} warnings.}
@@ -24059,26 +24186,32 @@
         \global\boolfalse{LWR at minipagethispar}
     }%
 %    \end{macrocode}
+%
 % If was not in an \HTML\ paragraph:
 %    \begin{macrocode}
     {}%
 %    \end{macrocode}
+%
 % See if currently allowing \HTML\ paragraphs:
 %    \begin{macrocode}
     \ifbool{LWR at doingstartpars}%
 %    \end{macrocode}
+%
 % If so: clear the |par| hook to no longer catch paragraphs:
 %    \begin{macrocode}
         {\ClearPreHook{par}}%
 %    \end{macrocode}
+%
 % Else: Do nothing:
 %    \begin{macrocode}
         {}%
 %    \end{macrocode}
+%
 % No longer in paragraph mode:
 %    \begin{macrocode}
     \global\setbool{LWR at doingstartpars}{false}%
 %    \end{macrocode}
+%
 % No \element{p} tag to undo:
 %    \begin{macrocode}
     \global\boolfalse{LWR at doingapar}%
@@ -24238,7 +24371,7 @@
 
 
 
-% \section{\brand{MathJax} script}
+% \section{\MathJax\ script}
 
 % \codehtml
 %    \begin{macrocode}
@@ -24247,11 +24380,11 @@
 
 % \begin{macro}{\LWR at mathjaxfilename}
 % \DescribeDefault{\filenm{lwarp_mathjax.txt}}
-% The \brand{MathJax} script filename to use.
+% The \MathJax\ script filename to use.
 % This file is copied into the head of each \HTML\ page.
 % This may be changed mid-document using \cs{MathJaxFilename},
-% allowing the use of a custom \brand{MathJax} script, such as for a local repository,
-% or different \brand{MathJax} script files to be used for different sections of the document.
+% allowing the use of a custom \MathJax\ script, such as for a local repository,
+% or different \MathJax\ script files to be used for different sections of the document.
 %
 % \changes{v0.70}{2019/03/24}{Added.}
 %    \begin{macrocode}
@@ -24260,7 +24393,7 @@
 % \end{macro}
 
 % \begin{macro}{\MathJaxFilename} \marg{filename} \qquad
-% Assigns the \brand{MathJax} script file to be used by the following \HTML\ pages.
+% Assigns the \MathJax\ script file to be used by the following \HTML\ pages.
 %
 % \changes{v0.70}{2019/03/24}{Added.}
 %    \begin{macrocode}
@@ -24480,6 +24613,16 @@
 %    \end{macrocode}
 
 
+% Required for footnotes inside \env{description} or \pkg{amstheorem} square braces:
+% \changes{v0.902}{2021/09/20}{Fixed: Footnotes inside square brackets.}
+%    \begin{macrocode}
+\AtBeginDocument{
+\robustify{\footnote}
+\robustify{\footnotemark}
+}
+%    \end{macrocode}
+
+
 % \begin{macro}{\LWR at footnotebox}
 % Patch \LaTeX\ footnotes to use a new \cs{box} instead of an insert
 % for \pkg{lwarp} footnotes.
@@ -24491,11 +24634,22 @@
 % \end{macro}
 %
 %
+% \DescribeBoolean{LWR at spewingnotes}
+% Used with the \pkg{footnote} package to suppress paragraph tags
+% before and after \cs{spewnotes}.
+% \changes{v0.902}{2021/09/20}{Improved \pkg{footnote} par tags.}
+%    \begin{macrocode}
+\newbool{LWR at spewingnotes}% For the footnote package.
+%    \end{macrocode}
+%
+%
 % Much of the following has unneeded print-mode formatting removed.
 %
 % \begin{macro}{\@makefntext} \marg{text}
+%
+% \changes{v0.902}{2021/09/20}{Fixed: Footnotes inside square brackets.}
 %    \begin{macrocode}
-\long\def\@makefntext#1{\textsuperscript{\@thefnmark}~#1}
+\long\def\@makefntext#1{\textsuperscript{\@thefnmark}~{#1}}
 %    \end{macrocode}
 % \end{macro}
 %
@@ -24520,6 +24674,7 @@
 % \cs{let}\cs{@footnotetext}\cs{LWR at footnotetext}
 % \end{sourcedisplay}
 %
+%
 % \begin{macro}{\LWR@@footnotetext} \marg{text} \marg{footnote box name}
 %
 % Factored to allow multiple footnote boxes for \pkg{manyfoot}.
@@ -24539,11 +24694,12 @@
 % closer to its usage.
 %    \begin{macrocode}
 \LWR at newautopagelabel{page}%
+\LWR at ensuredoingapar%
 %    \end{macrocode}
 %
 % Locally disable auto page labels inside the footnote text.
 % Footnotes are accumulated in the current page before finally being placed
-% in a potentially later page, so the aotopages would be incorrect.
+% in a potentially later page, so the autopages would be incorrect.
 %    \begin{macrocode}
 \begingroup%
 \let\LWR at newautopagelabel\LWR at null@newautopagelabel%
@@ -24579,13 +24735,11 @@
 %
 % Use paragraph tags if in a tabular data cell or a \env{lateximage}:
 % \changes{v0.66}{2019/02/02}{Improved \HTML\ formatting.}
+% \changes{v0.902}{2021/09/20}{Improved \pkg{footnote} par tags.}
 %    \begin{macrocode}
-    \ifthenelse{%
-        \boolean{LWR at doingstartpars} \AND%
-        \cnttest{\value{LWR at lateximagedepth}}{=}{0}%
+    \ifbool{LWR at spewingnotes}{}{%
+        \LWR at htmltagc{\LWR at tagregularparagraph}\LWR at orignewline%
     }%
-        {}%
-        {\LWR at htmltagc{\LWR at tagregularparagraph}\LWR at orignewline}%
 %    \end{macrocode}
 % Append the footnote to the list:
 %    \begin{macrocode}
@@ -24592,16 +24746,13 @@
     \@makefntext{#1}%
 %    \end{macrocode}
 % Closing paragraph tag:
+% \changes{v0.902}{2021/09/20}{Improved \pkg{footnote} par tags.}
 %    \begin{macrocode}
-    \ifthenelse{%
-        \boolean{LWR at doingstartpars} \AND%
-        \cnttest{\value{LWR at lateximagedepth}}{=}{0}%
+    \ifbool{LWR at spewingnotes}{}{%
+        \LWR at origtilde\LWR at orignewline%
+        \LWR at htmltagc{/\LWR at tagregularparagraph}%
+        \LWR at orignewline%
     }%
-        {\par}%
-        {%
-            \LWR at htmltagc{/\LWR at tagregularparagraph}%
-            \LWR at orignewline%
-        }%
 %    \end{macrocode}
 % Close the group:
 %    \begin{macrocode}
@@ -24608,11 +24759,6 @@
     \color at endgroup%
 }% vbox
 \endgroup%
-%    \end{macrocode}
-% Paragraph handling:
-% \changes{v0.52}{2018/03/28}{Fix: Paragraph handling.}
-%    \begin{macrocode}
-\LWR at ensuredoingapar%
 }%
 %    \end{macrocode}
 % \end{macro}
@@ -24647,6 +24793,7 @@
 %    \begin{macrocode}
 \long\def\@mpfootnotetext#1{%
 \LWR at traceinfo{@mpfootnotetext}%
+\LWR at ensuredoingapar%
 \global\setbox\LWR at mpfootnotes\vbox{%
     \unvbox\LWR at mpfootnotes%
     \reset at font\footnotesize%
@@ -24656,15 +24803,11 @@
         {\csname p at mpfootnote\endcsname\@thefnmark}%
     \color at begingroup%
 %    \end{macrocode}
-% Use paragraph tags if in a tabular data cell or a \env{lateximage}:
+% Add paragraph tag:
 % \changes{v0.66}{2019/02/02}{Improved \HTML\ formatting.}
+% \changes{v0.902}{2021/09/24}{Improved par tags.}
 %    \begin{macrocode}
-    \ifthenelse{%
-        \boolean{LWR at doingstartpars} \AND%
-        \cnttest{\value{LWR at lateximagedepth}}{=}{0}%
-    }%
-        {}%
-        {\LWR at htmltagc{\LWR at tagregularparagraph}\LWR at orignewline}%
+    \LWR at htmltagc{\LWR at tagregularparagraph}\LWR at orignewline%
 %    \end{macrocode}
 %    \begin{macrocode}
     \@makefntext{%
@@ -24671,17 +24814,15 @@
         \ignorespaces#1%
     }%
 %    \end{macrocode}
-% Don't add the closing paragraph tag if are inside a \env{lateximage}:
+% Add the closing paragraph tag:
 % \changes{v0.71}{2019/04/07}{Improved \HTML\ formatting.}
 % \changes{v0.71}{2019/04/08}{Reduced underfull \cs{hbox} warnings.}
+% \changes{v0.902}{2021/09/24}{Improved par tags.}
 %    \begin{macrocode}
-    \ifthenelse{\cnttest{\value{LWR at lateximagedepth}}{>}{0}}%
-        {}%
-        {%
-            \leavevmode\LWR at orignewline%
-            \LWR at htmltagc{/\LWR at tagregularparagraph}%
-            \LWR at origpar%
-        }%
+    \leavevmode\LWR at orignewline%
+    \LWR at htmltagc{/\LWR at tagregularparagraph}%
+%    \end{macrocode}
+%    \begin{macrocode}
     \color at endgroup%
 }% vbox
 %    \end{macrocode}
@@ -25313,7 +25454,7 @@
 \LWR at simplifycustom%
 %    \end{macrocode}
 %
-% If pdf\LaTeX\ and not \optn{utf8} encoding, don't try to convert emdash, endash:
+% If \pdfLaTeX\ and not \optn{utf8} encoding, don't try to convert emdash, endash:
 % \changes{v0.52}{2018/04/01}{Fix: \cs{FileDepth} with non-utf8 encoding.}
 % \changes{v0.84}{2020/04/21}{Fix: Dashes in filename.}
 %    \begin{macrocode}
@@ -25404,7 +25545,7 @@
 
 % \DescribeBoolean{LWR at MathJax@silentquotes}
 %   If true, double quotes (\cs{"} and |"|) are removed (used for \pkg{mathspec}).
-%   This unfortunately includes double quotes used inside \cs{text} with \brand{MathJax}.
+%   This unfortunately includes double quotes used inside \cs{text} with \MathJax.
 %   If false, double quotes are escaped.
 %    \begin{macrocode}
 \newbool{LWR at MathJax@silentquotes}
@@ -25449,7 +25590,7 @@
     \LWR at replacestrings{'}{'}%
     \LWR at replacestrings{`}{`}%
 %    \end{macrocode}
-% \brand{MathJax} allows expressions to be defined with \cs{newcommand}.
+% \MathJax\ allows expressions to be defined with \cs{newcommand}.
 % These expressions would appear with |##| for each argument,
 % and each must be changed to a single |#|.
 % This must be done after all the above changes.
@@ -25466,6 +25607,8 @@
 
 % \begin{macro}{\LWR at HTMLsanitize} \marg{text}
 %
+% Prints the sanitized text.
+%
 %    \begin{macrocode}
 \newrobustcmd{\LWR at HTMLsanitize}[1]{%
 %    \end{macrocode}
@@ -25486,13 +25629,13 @@
 % \begin{macro}{\LWR at HTMLsanitizeexpand} \marg{text}
 %
 % This version expands the argument before sanitizing it.
-% This is only used for adding math to \brand{MathJax} expressions or
+% This is only used for adding math to \MathJax\ expressions or
 % \env{lateximage} \attribute{alt} tags.
 %
 % \changes{v0.36}{2017/08/16}{Fix for \pkg{babel-french}.}
 % \changes{v0.51}{2018/03/07}{Fix: Escapes double quotes.}
 % ^^A \changes{v0.79}{2020/01/27}{Fix: \cs{\&}.}
-% \changes{v0.89}{2020/08/08}{Fix: Nested \brand{MathJax} environments.}
+% \changes{v0.89}{2020/08/08}{Fix: Nested \MathJax\ environments.}
 % ^^A *88*
 %    \begin{macrocode}
 \edef\LWR at beginspaceleftbrace{begin \LWRleftbrace}
@@ -25519,7 +25662,7 @@
     \edef\LWR at strresult{\detokenize\expandafter{#1}}%
 %    \end{macrocode}
 % The math expression may includes spaces between tokens,
-% but \brand{MathJax} does not want a space between \cs{begin} or \cs{end}
+% but \MathJax\ does not want a space between \cs{begin} or \cs{end}
 % and the following brace.
 % This space is removed here.
 % ^^A *88*
@@ -25538,10 +25681,10 @@
 % \end{macro}
 
 
-% \subsection{Customizing \brand{MathJax}}
+% \subsection{Customizing \MathJax}
 
 % \begin{macro}{\LWR at customizedMathJax}
-% Additional \brand{MathJax} definitions to be added to the start of each \HTML\ page.
+% Additional \MathJax\ definitions to be added to the start of each \HTML\ page.
 % \changes{v0.52}{2018/03/31}{Added.}
 %    \begin{macrocode}
 \newcommand*{\LWR at customizedMathJax}{}
@@ -25627,7 +25770,7 @@
 % Default customizations:
 % \margintag{defaults}
 %
-% In the \brand{MathJax} code, footnotes are only referenced.
+% In the \MathJax\ code, footnotes are only referenced.
 % For equations, they are also generated
 % in the \HTML\ when the \LaTeX\ math is generated inside the \HTML\ comment.
 % For other math environments, the \cs{footnotemark} \Slash \cs{footnotetext}
@@ -25634,17 +25777,17 @@
 % method must be used. See \cref{sec:limitsfootnotes} regarding \cs{footnotemark}.
 % \watchout[\cs{footnotemark}]
 %
-% \changes{v0.51}{2018/03/18}{\brand{MathJax}: Nullifies \cs{ensuremath}.}
-% \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}.}
+% \changes{v0.51}{2018/03/18}{\MathJax: Nullifies \cs{ensuremath}.}
+% \changes{v0.57}{2018/05/24}{\MathJax: Supports \cs{footnote}, \cs{footnotemark}.}
+% \changes{v0.79}{2020/01/24}{\MathJax: Additional macros.}
+% \changes{v0.893}{2020/10/14}{\MathJax: Added \cs{mathnormal}.}
+% \changes{v0.894}{2020/12/22}{\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}.
 %
-% First, \cs{footnotename} for \brand{MathJax} is copied from \LaTeX.
-% \changes{v0.82}{2020/03/09}{\brand{MathJax}: Improved footnotes.}
+% First, \cs{footnotename} for \MathJax\ is copied from \LaTeX.
+% \changes{v0.82}{2020/03/09}{\MathJax: Improved footnotes.}
 %    \begin{macrocode}
 \providecommand{\footnotename}{footnote}
 
@@ -25672,7 +25815,7 @@
 %    \end{macrocode}
 %
 % \cs{hspace} is modified to accept and ignore a star:
-% \changes{v0.894}{2020/12/21}{\brand{MathJax}: Accept starred \cs{hspace}.}
+% \changes{v0.894}{2020/12/21}{\MathJax: Accept starred \cs{hspace}.}
 %    \begin{macrocode}
 \CustomizeMathJax{\let\LWRorighspace\hspace}
 \CustomizeMathJax{\renewcommand{\hspace}{\ifstar\LWRorighspace\LWRorighspace}}
@@ -25700,7 +25843,7 @@
 %
 % \cs{protect}, \cs{mathchar}, and \cs{delimiter} are silently discarded; and
 % \cs{mathcode} and \cs{delcode} are ignored.
-% \changes{v0.89}{2020/07/27}{mathjax=\brand{MathJax}: Added \cs{protect}, and
+% \changes{v0.89}{2020/07/27}{mathjax=\MathJax: Added \cs{protect}, and
 %   \cs{mathcode} and related.}
 %    \begin{macrocode}
 \CustomizeMathJax{\newcommand{\protect}{}}
@@ -25712,14 +25855,37 @@
 \CustomizeMathJax{\def\mathcode#1={\mathchar}}
 \CustomizeMathJax{\let\delcode\mathcode}
 \CustomizeMathJax{\let\delimiter\mathchar}
+%    \end{macrocode}
+%
+% Some text symbols missing from \MathJax:
+% \changes{v0.902}{2021/09/10}{mathjax=\MathJax: Added std. intl. symbols.}
+%    \begin{macrocode}
+\CustomizeMathJax{\def\oe{\unicode{x0153}}}
+\CustomizeMathJax{\def\OE{\unicode{x0152}}}
+\CustomizeMathJax{\def\ae{\unicode{x00E6}}}
+\CustomizeMathJax{\def\AE{\unicode{x00C6}}}
+\CustomizeMathJax{\def\aa{\unicode{x00E5}}}
+\CustomizeMathJax{\def\AA{\unicode{x00C5}}}
+\CustomizeMathJax{\def\o{\unicode{x00F8}}}
+\CustomizeMathJax{\def\O{\unicode{x00D8}}}
+\CustomizeMathJax{\def\l{\unicode{x0142}}}
+\CustomizeMathJax{\def\L{\unicode{x0141}}}
+\CustomizeMathJax{\def\ss{\unicode{x00DF}}}
+\CustomizeMathJax{\def\SS{\unicode{x1E9E}}}
+\CustomizeMathJax{\def\dag{\unicode{x2020}}}
+\CustomizeMathJax{\def\ddag{\unicode{x2021}}}
+\CustomizeMathJax{\def\P{\unicode{x00B6}}}
+\CustomizeMathJax{\def\copyright{\unicode{x00A9}}}
+\CustomizeMathJax{\def\pounds{\unicode{x00A3}}}
 \end{warpMathJax}
 
+
 \begin{warpHTML}% due to warpMathJax
 %    \end{macrocode}
 
 
 % \begin{macro}{\LWR at customizeMathJax}
-%   Prints \brand{MathJax} commands to the \HTML\ output.
+%   Prints \MathJax\ commands to the \HTML\ output.
 %
 % \changes{v0.79}{2020/01/28}{MathJax: Hide definitions.}
 %    \begin{macrocode}
@@ -25735,8 +25901,8 @@
 \LWR at stoppars
 %    \end{macrocode}
 % 
-% Avoid ligatures while printing \brand{MathJax} customizations:
-% \changes{v0.89}{2020/08/02}{Print \brand{MathJax} customizations with typewriter font.}
+% Avoid ligatures while printing \MathJax\ customizations:
+% \changes{v0.89}{2020/08/02}{Print \MathJax\ customizations with typewriter font.}
 %    \begin{macrocode}
 {
     \LWR at print@ttfamily
@@ -26111,7 +26277,7 @@
 
 %    \end{macrocode}
 %
-% If using \brand{MathJax}, print the customizations here.
+% If using \MathJax, print the customizations here.
 %    \begin{macrocode}
 \LWR at customizeMathJax
 %    \end{macrocode}
@@ -27248,7 +27414,7 @@
 \LWR at orignewline
 %    \end{macrocode}
 %
-% Optional \brand{MathJax} support.  The \HTML\ tags must be turned off
+% Optional \MathJax\ support.  The \HTML\ tags must be turned off
 % during the verbatim input, and the paragraph handling which was
 % turned on at the end of verbatim input must be immediately turned off
 % again.
@@ -27486,7 +27652,7 @@
 \LWR at startpars
 %    \end{macrocode}
 %
-% If using \brand{MathJax},
+% If using \MathJax,
 % disable \cs{ensuremath} by printing a nullified
 % definition at the start of each file, and add further customizations:
 % \changes{v0.51}{2018/03/18}{MathJax: Nullifies \cs{ensuremath}.}
@@ -27586,12 +27752,20 @@
 \LWR at printpendingfootnotes
 %    \end{macrocode}
 %
-% Close the textbody:
+% Close the textbody.
+%
 % \changes{v0.65}{2018/12/18}{Improved \CSS\ for page layout.}
 % \changes{v0.84}{2020/04/24}{Added prev/next links.}
+%
+% (The \cs{LWR at origtilde} is in case no autopage is required for the label,
+% which would not print anything, and something must be printed before the newline.)
+%
+%    \begin{macrocode}
+\label{\BaseJobname-autofile-last}\LWR at origtilde\LWR at orignewline
+%    \end{macrocode}
+%
 % \changes{v0.896}{2021/03/04}{Added \element{main}.}
 %    \begin{macrocode}
-\label{\BaseJobname-autofile-last}
 \LWR at htmlelementclassend{section}{textbody}
 \LWR at htmlelementclassend{main}{bodycontainer}
 \LWR at htmlelementclassend{div}{bodyandsidetoc}
@@ -27930,15 +28104,15 @@
 % \changes{v0.39}{2017/09/03}{Removed minipages.}
 %    \begin{macrocode}
 \DeclareDocumentEnvironment{titlepage}{}
-{
-\renewrobustcmd{\affiliation}[1]{\\ \InlineClass{affiliation}{##1}}
-\LWR at printpendingfootnotes
-\LWR at forcenewpage
-\BlockClass{titlepage}
+{%
+    \renewrobustcmd{\affiliation}[1]{\\ \InlineClass{affiliation}{##1}}%
+    \LWR at printpendingfootnotes
+    \LWR at forcenewpage
+    \BlockClass{titlepage}
 }
 {
-\endBlockClass
-\LWR at printpendingfootnotes
+    \endBlockClass
+    \LWR at printpendingfootnotes
 }
 %    \end{macrocode}
 % \end{environment}
@@ -28184,7 +28358,7 @@
 %
 % Print the text:
 %    \begin{macrocode}
-##1%
+{##1}%
 }%
 }
 %    \end{macrocode}
@@ -28225,8 +28399,12 @@
 % Code from the \pkg{titling} package is adapted, simplified, and
 % modified for \HTML\ output.
 %
+% The name \cs{LWR at maketitle} is used to preserve its definition in case
+% a later package overwrites \cs{maketitle}.
+%
+% \changes{v0.902}{2021/09/15}{Now named \cs{LWR at maketitle} to avoid being overwritten later.}
 %    \begin{macrocode}
-\renewcommand*{\maketitle}{%
+\newcommand*{\LWR at maketitle}{%
 %    \end{macrocode}
 % An \HTML\ titlepage \element{div} is used for all classes.
 %    \begin{macrocode}
@@ -28261,6 +28439,8 @@
 \global\let\date\relax
 \global\let\and\relax
 }
+
+\LetLtxMacro\maketitle\LWR at maketitle
 %    \end{macrocode}
 % \end{macro}
 %
@@ -28274,7 +28454,8 @@
 % \changes{v0.39}{2017/09/04}{Native \protect\LaTeX\ version.}
 %
 %    \begin{macrocode}
-\DeclareDocumentCommand{\@maketitle}{}{%
+\providecommand*{\@maketitle}{}
+\renewrobustcmd{\@maketitle}{%
     \LWR at stoppars%
     \LWR at htmltag{\LWR at tagtitle}%
     \@title%
@@ -28729,7 +28910,7 @@
 %
 % Create a new |pre| of the given class.
 % The tags may temporarily be turned off for internal use, such
-% as loading the \brand{MathJax} script.
+% as loading the \MathJax\ script.
 %    \begin{macrocode}
 \ifbool{LWR at verbtags}{%
     \LWR at htmltag{pre class=\textquotedbl#2\textquotedbl%
@@ -29182,11 +29363,11 @@
 % \changes{v0.44}{2017/11/15}{Added \env{list} and \env{trivlist}.}
 %    \begin{macrocode}
 \newcommand*{\LWR at listitem}{%
-\LWR at stoppars%
-\LWR at startnewdepth{listitem}%
-\LWR at htmltag{li}%
-\LWR at startpars%
-\LWR at origitem%
+    \LWR at stoppars%
+    \LWR at startnewdepth{listitem}%
+    \LWR at htmltag{li}%
+    \LWR at startpars%
+    \LWR at origitem%
 }
 %    \end{macrocode}
 % \end{macro}
@@ -29197,12 +29378,12 @@
 % Problems are caused when these are nullified all the time.
 %    \begin{macrocode}
 \newcommand*{\LWR at nulllistfills}{%
-\renewcommand*{\hss}{}%
-\renewcommand*{\llap}[1]{##1}%
-\renewcommand*{\rlap}[1]{##1}%
-\renewcommand*{\hfil}{}%
-\renewcommand*{\hfilneg}{}%
-\renewcommand*{\hfill}{}%
+    \renewcommand*{\hss}{}%
+    \renewcommand*{\llap}[1]{##1}%
+    \renewcommand*{\rlap}[1]{##1}%
+    \renewcommand*{\hfil}{}%
+    \renewcommand*{\hfilneg}{}%
+    \renewcommand*{\hfill}{}%
 }
 %    \end{macrocode}
 % \end{macro}
@@ -29211,21 +29392,21 @@
 % \changes{v0.44}{2017/11/15}{Added \env{list} and \env{trivlist}.}
 %    \begin{macrocode}
 \newcommand*{\LWR at liststart}{%
-\LWR at traceinfo{LWR at liststart}%
-\LWR at stoppars%
-\LWR at pushoneclose{list}%
-\LWR at htmltag{\LWR at printopenlist}\LWR at orignewline%
-\LWR at startpars%
-\setlength{\topsep}{0pt}%
-\setlength{\partopsep}{0pt}%
-\setlength{\itemsep}{0pt}%
-\setlength{\parsep}{0pt}%
-\setlength{\leftmargin}{0pt}%
-\setlength{\rightmargin}{0pt}%
-\setlength{\listparindent}{0pt}%
-\setlength{\itemindent}{0pt}%
-\setlength{\labelsep}{1em}%
-\LWR at nulllistfills%
+    \LWR at traceinfo{LWR at liststart}%
+    \LWR at stoppars%
+    \LWR at pushoneclose{list}%
+    \LWR at htmltag{\LWR at printopenlist}\LWR at orignewline%
+    \LWR at startpars%
+    \setlength{\topsep}{0pt}%
+    \setlength{\partopsep}{0pt}%
+    \setlength{\itemsep}{0pt}%
+    \setlength{\parsep}{0pt}%
+    \setlength{\leftmargin}{0pt}%
+    \setlength{\rightmargin}{0pt}%
+    \setlength{\listparindent}{0pt}%
+    \setlength{\itemindent}{0pt}%
+    \setlength{\labelsep}{1em}%
+    \LWR at nulllistfills%
 }
 %    \end{macrocode}
 %
@@ -29232,10 +29413,10 @@
 % \changes{v0.46}{2018/01/21}{Fix: Stack unnesting.}
 %    \begin{macrocode}
 \newcommand*{\LWR at listend}{%
-\LWR at traceinfo{LWR at listend}%
-\LWR at stoppars%
-\LWR at closeprevious{list}%
-\LWR at startpars%
+    \LWR at traceinfo{LWR at listend}%
+    \LWR at stoppars%
+    \LWR at closeprevious{list}%
+    \LWR at startpars%
 }
 %    \end{macrocode}
 % \end{environment}
@@ -29247,15 +29428,17 @@
 %
 % Handles \cs{item} inside an itemize or enumerate.
 %
+% The optional argument is passed to \cs{LWR at origitem}.
+%
 % See \cs{LWR at openparagraph} where extra \cs{hspace} is used to
 % leave room for the label while inside a list during paragraph construction.
 %    \begin{macrocode}
 \newcommand*{\LWR at itemizeitem}{%
-\LWR at stoppars%
-\LWR at startnewdepth{listitem}%
-\LWR at htmltag{li}%
-\LWR at startpars%
-\LWR at origitem%
+    \LWR at stoppars%
+    \LWR at startnewdepth{listitem}%
+    \LWR at htmltag{li}%
+    \LWR at startpars%
+    \LWR at origitem%
 }
 %    \end{macrocode}
 % \end{macro}
@@ -29265,13 +29448,13 @@
 % \changes{v0.895}{2021/01/14}{Improved \HTML\ quotes.}
 %    \begin{macrocode}
 \newcommand*{\LWR at itemizestart}{%
-\renewcommand*{\LWR at printcloselist}{\LWR at printcloseitemize}
-\renewcommand*{\LWR at printopenlist}{%
-    ul style=\textquotedbl\LWR at print@mbox{list-style-type:none}\textquotedbl{}%
+    \renewcommand*{\LWR at printcloselist}{\LWR at printcloseitemize}%
+    \renewcommand*{\LWR at printopenlist}{%
+        ul style=\textquotedbl\LWR at print@mbox{list-style-type:none}\textquotedbl{}%
+    }%
+    \LetLtxMacro\item\LWR at itemizeitem%
+    \LWR at nulllistfills%
 }
-\let\item\LWR at itemizeitem%
-\LWR at nulllistfills%
-}
 %    \end{macrocode}
 % \end{environment}
 
@@ -29286,13 +29469,13 @@
 % \changes{v0.895}{2021/01/14}{Improved \HTML\ quotes.}
 %    \begin{macrocode}
 \newcommand*{\LWR at enumeratestart}{%
-\renewcommand*{\LWR at printcloselist}{\LWR at printcloseitemize}
-\renewcommand*{\LWR at printopenlist}{%
-    ul style=\textquotedbl\LWR at print@mbox{list-style-type:none}\textquotedbl{}%
+    \renewcommand*{\LWR at printcloselist}{\LWR at printcloseitemize}%
+    \renewcommand*{\LWR at printopenlist}{%
+        ul style=\textquotedbl\LWR at print@mbox{list-style-type:none}\textquotedbl{}%
+    }%
+    \LetLtxMacro\item\LWR at itemizeitem%
+    \LWR at nulllistfills%
 }
-\let\item\LWR at itemizeitem%
-\LWR at nulllistfills%
-}
 %    \end{macrocode}
 % \end{environment}
 
@@ -29302,30 +29485,29 @@
 % \begin{macro}{\LWR at descitem} \oarg{label}
 % Handles an \cs{item} inside a description.
 %    \begin{macrocode}
-\newcommand*{\LWR at descitem}[1][]%
-{%
-\LWR at stoppars%
-\LWR at setlatestname{#1}%
-\LWR at startnewdepth{descitem}%
+\newcommand*{\LWR at descitem}[1][]{%
+    \LWR at stoppars%
+    \LWR at setlatestname{#1}%
+    \LWR at startnewdepth{descitem}%
 %    \end{macrocode}
 % While creating the label, encase it inside tags and disable \cs{hspace},
 % which is used by the standard classes to add space to the labels.
 % \changes{v0.73}{2019/06/23}{Fix: \HTML\ tags.}
 %    \begin{macrocode}
-\begingroup%
-\let\LWR at orig@desc at makelabel\makelabel
-\renewcommand*{\makelabel}[1]{%
-    \LWR at htmltag{dt}%
-    \LWR at orig@desc at makelabel{#1}%
-    \LWR at htmltag{/dt}%
+    \begingroup%
+    \let\LWR at orig@desc at makelabel\makelabel
+    \renewcommand*{\makelabel}[1]{%
+        \LWR at htmltag{dt}%
+        \LWR at orig@desc at makelabel{#1}%
+        \LWR at htmltag{/dt}%
+    }
+    \LWR at select@html at nohspace%
+    \LWR at origitem[#1]%
+    \endgroup%
+    \LWR at orignewline%
+    \LWR at htmltag{dd}%
+    \LWR at startpars%
 }
-\LWR at select@html at nohspace%
-\LWR at origitem[#1]%
-\endgroup%
-\LWR at orignewline%
-\LWR at htmltag{dd}%
-\LWR at startpars%
-}
 %    \end{macrocode}
 % \end{macro}
 
@@ -29333,52 +29515,13 @@
 %
 % Footnotes are modified to correctly parse optional arguments.
 % \changes{v0.896}{2021/03/14}{Fix: Footnotes inside \env{description} label.}
+% \changes{v0.902}{2021/09/24}{Improved footnotes.}
 %    \begin{macrocode}
 \newcommand*{\LWR at descriptionstart}{%
     \renewcommand*{\LWR at printcloselist}{\LWR at printclosedescription}
     \renewcommand*{\LWR at printopenlist}{dl}
-    \let\item\LWR at descitem%
+    \LetLtxMacro\item\LWR at descitem%
     \LWR at nulllistfills%
-%    \end{macrocode}
-%
-% Footnotes are redefined to process optional arguments inside the \env{description}
-% label.
-% A \cs{footnote} is dropped, as it is in print mode.
-% Using the optional arguments does not work in print mode,
-% but for some reason they must be accepted as done here to work correctly
-% even without the optional arguments.
-%    \begin{macrocode}
-    \renewcommand{\footnote}[2][]{%
-        \ifblank{##1}%
-        {%
-            \stepcounter\@mpfn
-            \protected at xdef\@thefnmark{\thempfn}%
-            \@footnotemark%\@footnotetext
-        }%
-        {%
-            \begingroup
-            \csname c@\@mpfn\endcsname ##1\relax
-            \unrestored at protected@xdef\@thefnmark{\thempfn}%
-            \endgroup
-            \@footnotemark%\@footnotetext
-        }%
-    }%
-    %
-    \renewcommand{\footnotemark}[1][]{%
-        \ifblank{##1}%
-        {%
-            \stepcounter{footnote}%
-            \protected at xdef\@thefnmark{\thefootnote}%
-            \@footnotemark%
-        }%
-        {%
-            \begingroup%
-            \c at footnote ##1\relax%
-            \unrestored at protected@xdef\@thefnmark{\thefootnote}%
-            \endgroup%
-            \@footnotemark%
-        }%
-    }%
 }
 %    \end{macrocode}
 % \end{environment}
@@ -33875,9 +34018,14 @@
 % \begin{macro}{\LWR at nameref} \marg{label}
 % Returns the section name for this label:
 % \changes{v0.66}{2019/01/27}{No longer use \pkg{zref}.}
+% \changes{v0.902}{2021/09/24}{Disable footnotes in \cs{nameref}.}
 %    \begin{macrocode}
 \newcommand*{\LWR at nameref}[1]{%
+    \begingroup%
+    \renewcommand{\footnote}[2][]{}%
+    \renewcommand{\footnotemark}[1][]{}%
     \expandafter\LWR at setref\csname r@#1 at lwarp\endcsname\LWR at firstoffive{#1}%
+    \endgroup%
 }
 %    \end{macrocode}
 % \end{macro}
@@ -34269,8 +34417,8 @@
 % \end{macro}
 %
 %
-% For \brand{MathJax}:
-% \changes{v0.88}{2020/07/05}{Added \brand{MathJax}.}
+% For \MathJax:
+% \changes{v0.88}{2020/07/05}{Added \MathJax.}
 %    \begin{macrocode}
 \CustomizeMathJax{\let\LWRref\ref}
 \CustomizeMathJax{\renewcommand{\ref}{\ifstar\LWRref\LWRref}}
@@ -35271,7 +35419,6 @@
 %    \begin{macrocode}
 \newcommand*{\LWR at myshorttoc}[1]{%
     \LWR at traceinfo{LWR at myshorttoc: #1}%
-    \LWR at ensuredoingapar%
 %    \end{macrocode}
 % Only if the file exists:
 %    \begin{macrocode}
@@ -35867,9 +36014,9 @@
 
 \renewenvironment*{theindex}{%
     \LWR at indexsection{\indexname}%
-    \let\item\LWR at indexitem%
-    \let\subitem\LWR at indexsubitem%
-    \let\subsubitem\LWR at indexsubsubitem%
+    \LetLtxMacro\item\LWR at indexitem%
+    \LetLtxMacro\subitem\LWR at indexsubitem%
+    \LetLtxMacro\subsubitem\LWR at indexsubsubitem%
 }{}
 
 }% AtBeginDocument
@@ -36492,7 +36639,7 @@
 % \begin{macro}{\LWR at restoreMathJaxformatting}
 % A few macros (ref: \pkg{tcolorbox}) must be treated
 % separately while printing the \HTML\
-% comment for a \brand{MathJax} expression.
+% comment for a \MathJax\ expression.
 % These are set here, to which other functions may be appended.
 % \changes{v0.88}{2020/06/25}{Added.}
 %    \begin{macrocode}
@@ -36609,12 +36756,17 @@
 %
     \LWR at restoreorigaccents%
     \LWR at restoreoriglists%
-%
+%    \end{macrocode}
+% \changes{v0.902}{2021/09/24}{Improved minipage footnotes.}%
+%    \begin{macrocode}
+    \let\@mpfootnotetext\LWR at orig@mpfootnotetext%
+%    \end{macrocode}
+%    \begin{macrocode}
     \LWR at hook@processingtags%
 %    \end{macrocode}
 %
-% To enable \brand{MathJax}-specific nullification, used for \pkg{tcolorbox}:
-% \changes{v0.88}{2020/06/25}{Support for \brand{MathJax}.}
+% To enable \MathJax-specific nullification, used for \pkg{tcolorbox}:
+% \changes{v0.88}{2020/06/25}{Support for \MathJax.}
 %    \begin{macrocode}
     \ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
         {\LWR at restoreMathJaxformatting}%
@@ -36656,7 +36808,7 @@
 %   since they must be expanded to their nullified versions.
 %
 % \changes{v0.34}{2017/08/05}{Improved font control.}
-% \changes{v0.36}{2017/08/15}{Fix: Filenames while using \brand{MathJax}.}
+% \changes{v0.36}{2017/08/15}{Fix: Filenames while using \MathJax.}
 % \changes{v0.40}{2017/09/21}{Fix: Long arguments for expandable command.}
 % \changes{v0.43}{2017/10/31}{Fix: Nullify dollar inside filesnames.}
 % \changes{v0.48}{2018/02/04}{Fix: \cs{newline} in title.}
@@ -36915,7 +37067,7 @@
 % \begin{macro}{\LWR at ThisAltText} The \HTML\ \attribute{alt} tag for
 %   the next image.
 %   Cleared after use, and also after each \env{lateximage},
-%   \cs{LWR at subsingledollar}, and each use of \brand{MathJax}.
+%   \cs{LWR at subsingledollar}, and each use of \MathJax.
 %
 % \changes{v0.74}{2019/08/20}{Add \cs{ThisAltText}.}
 %    \begin{macrocode}
@@ -37047,11 +37199,11 @@
 
 % \DescribeMacro{\$}
 %	Plain dollar signs appearing in the \HTML\ output may be interpreted
-%	by \brand{MathJax} to be math shifts.
+%	by \MathJax\ to be math shifts.
 %	For a plain text dollar |\$|, use an \HTML\ entity to avoid
-%	it being interpreted by \brand{MathJax}, unless are inside a lateximage,
-%	in which case it will not be seen by \brand{MathJax}.
-% \changes{v0.19}{2016/06/08}{Avoids \brand{MathJax}.}
+%	it being interpreted by \MathJax, unless are inside a lateximage,
+%	in which case it will not be seen by \MathJax.
+% \changes{v0.19}{2016/06/08}{Avoids \MathJax.}
 % \changes{v0.26}{2017/03/30}{Dollar span avoided in a lateximage.}
 % \changes{v0.51}{2018/03/23}{Named \HTML\ entity used for text dollar.}
 % \changes{v0.73}{2019/06/24}{Numbered \HTML\ entity used for text dollar.}
@@ -37178,7 +37330,7 @@
 %
 % Measures the size of the image of the math expression.
 %
-% (In some circumstances \SVG\ math is used even if \brand{MathJax} is
+% (In some circumstances \SVG\ math is used even if \MathJax\ is
 % preferred.)
 %
 % \begin{description}
@@ -37185,10 +37337,10 @@
 % \item [\SVG\ math:] \cs{LWR at origensuredmath} is part of argument \#4.
 % \item [\SVG\ math \cs{ensuremath}:] \cs{LWR at origensuredmath} is part of argument \#4.
 % \item [\SVG\ dynamic math:] \cs{LWR at origensuredmath} is part of argument \#4.
-% \item [\brand{MathJax}:] Argument \#4 is the contents of the math expression
+% \item [\MathJax:] Argument \#4 is the contents of the math expression
 %   without \cs{LWR at origensuredmath}.  This case is handled above.
-% \item [\brand{MathJax} \cs{ensuremath}:] \cs{LWR at origensuredmath} is part of argument \#4.
-% \item [\brand{MathJax} dynamic math:]  Argument \#4 is the contents of the math expression
+% \item [\MathJax\ \cs{ensuremath}:] \cs{LWR at origensuredmath} is part of argument \#4.
+% \item [\MathJax\ dynamic math:]  Argument \#4 is the contents of the math expression
 %   without \cs{LWR at origensuredmath}, so \cs{LWR at origensuredmath} is added below.\
 % \item [\cs{ifmmode}:] Included ``just in case''.
 % \end{description}
@@ -37303,7 +37455,7 @@
 % Uses \SVG\ math.  The image is measured and ajusted to the baseline
 % of the \HTML\ output, and placed inside a \env{lateximage}.
 %
-% (In some circumstances \SVG\ math is used even if \brand{MathJax} is
+% (In some circumstances \SVG\ math is used even if \MathJax\ is
 % preferred.)
 %
 % Factored from \cs{LWR at subsingledollar}.
@@ -37468,7 +37620,7 @@
 %                                               \marg{4: math expression}
 %
 % For inline math.
-% Uses \brand{MathJax}, or for \SVG\ math the image is measured and ajusted to the baseline
+% Uses \MathJax, or for \SVG\ math the image is measured and ajusted to the baseline
 % of the \HTML\ output, and placed inside a \env{lateximage}.
 %
 % \begin{description}
@@ -37475,19 +37627,19 @@
 % \item [\SVG\ math:] \cs{LWR at origensuredmath} is part of argument \#4.
 % \item [\SVG\ math \cs{ensuremath}:] \cs{LWR at origensuredmath} is part of argument \#4.
 % \item [\SVG\ dynamic math:] \cs{LWR at origensuredmath} is part of argument \#4.
-% \item [\brand{MathJax}:] Argument \#4 is the contents of the math expression
+% \item [\MathJax:] Argument \#4 is the contents of the math expression
 %   without \cs{LWR at origensuredmath}.  This case is handled above.
-% \item [\brand{MathJax} \cs{ensuremath}:] \cs{LWR at origensuredmath} is part of argument \#4.
-% \item [\brand{MathJax} dynamic math:]  Argument \#4 is the contents of the math expression
+% \item [\MathJax\ \cs{ensuremath}:] \cs{LWR at origensuredmath} is part of argument \#4.
+% \item [\MathJax\ dynamic math:]  Argument \#4 is the contents of the math expression
 %   without \cs{LWR at origensuredmath}, so \cs{LWR at origensuredmath} is added below.\
 % \end{description}
 %
 % \describehashing
 %
-% \changes{v0.19}{2016/05/25}{\brand{MathJax} support.}
+% \changes{v0.19}{2016/05/25}{\MathJax\ support.}
 % \changes{v0.42}{2017/10/26}{If \progcode{FormatWP} print LaTeX expression.}
 % \changes{v0.47}{2018/01/24}{Added \SVG\ math image baseline adjust and em sizing.}
-% \changes{v0.50}{2018/02/23}{Fix: Use \env{lateximage} even if \brand{MathJax}.}
+% \changes{v0.50}{2018/02/23}{Fix: Use \env{lateximage} even if \MathJax.}
 % \changes{v0.50}{2018/02/24}{Improved \SVG\ math \attribute{alt} tags.}
 %    \begin{macrocode}
 \newlength{\LWR at singledollarwidth}
@@ -37513,14 +37665,14 @@
 %    \begin{macrocode}
         \LWR at applyxfakebold%
 %    \end{macrocode}
-% \brand{MathJax} cannot parse the often complicated \TeX\ expressions which
+% \MathJax\ cannot parse the often complicated \TeX\ expressions which
 % appear in the various uses of \cs{ensuredmath}.
 % \cs{ensuremath} forces the \attribute{alt} tag to ``|(math image)|'', as
 % translated according to \cs{MathImageAltText}.
-% If this is the case, force the use of a \env{lateximage} even if \brand{MathJax}.
+% If this is the case, force the use of a \env{lateximage} even if \MathJax.
 % Likewise for \pkg{siunitx} if |parse-numbers=false|.
 %
-% If \brand{MathJax}, or if formatting math for a word processor, and not \cs{ensuredmath},
+% If \MathJax, or if formatting math for a word processor, and not \cs{ensuredmath},
 % and not a dynamic math expression, print the math expression:
 % \changes{v0.51}{2018/03/11}{Fix: \cs{ensuredmath} inside \SVG\ image.}
 % \changes{v0.57}{2018/05/23}{Fix: Dynamic inline math expressions.}
@@ -37538,8 +37690,8 @@
             ( not bool{LWR at dynamicmath} )
         }%
 %    \end{macrocode}
-% For \brand{MathJax}, print the math between |\(| and |\)|:
-% \changes{v0.89}{2020/08/01}{TT font for \brand{MathJax}.}
+% For \MathJax, print the math between |\(| and |\)|:
+% \changes{v0.89}{2020/08/01}{TT font for \MathJax.}
 %    \begin{macrocode}
         {%
             \LWR at traceinfo{LWR at subsingledollar: Mathjax}%
@@ -37595,7 +37747,7 @@
 % \DescribeObject{\$}
 % \DescribeObject{\$\$}
 % Redefine the dollar sign to place math inside a \env{lateximage},
-% or use \brand{MathJax}:
+% or use \MathJax:
 %    \begin{macrocode}
 \begingroup
 \catcode`\$=\active%
@@ -37612,20 +37764,20 @@
 %
 % \changes{v0.42}{2017/10/16}{Improved \cs{ensuremath}.}
 %
-% Redefine the double dollar sign to place math inside a \env{lateximage}, or use \brand{MathJax}:
+% Redefine the double dollar sign to place math inside a \env{lateximage}, or use \MathJax:
 %    \begin{macrocode}
 \protected\gdef\LWR at doubledollar$#1$${%
 %    \end{macrocode}
-% If \brand{MathJax} or formatting for a word processor, print the \LaTeX\ expression:
-% \changes{v0.19}{2016/05/25}{\brand{MathJax} support.}
+% If \MathJax\ or formatting for a word processor, print the \LaTeX\ expression:
+% \changes{v0.19}{2016/05/25}{\MathJax\ support.}
 % \changes{v0.42}{2017/10/26}{If \progcode{FormatWP} print LaTeX expression.}
 %    \begin{macrocode}
 \ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
 %    \end{macrocode}
-% For \brand{MathJax}, print the math between |\[| and |\]|:
+% For \MathJax, print the math between |\[| and |\]|:
 % \changes{v0.42}{2017/10/16}{Improved line spacing with mathjax.}
-% \changes{v0.89}{2020/08/01}{TT font for \brand{MathJax}.}
-% \changes{v0.896}{2021/04/07}{Fix: Displaymath notes with \brand{MathJax}.}
+% \changes{v0.89}{2020/08/01}{TT font for \MathJax.}
+% \changes{v0.896}{2021/04/07}{Fix: Displaymath notes with \MathJax.}
 %    \begin{macrocode}
 {
 
@@ -37695,7 +37847,7 @@
 %
 %
 % \begin{macro}{\LWR at singledollar} \marg{alt text} \marg{math expression}
-% \changes{v0.89}{2020/08/01}{TT font for \brand{MathJax}.}
+% \changes{v0.89}{2020/08/01}{TT font for \MathJax.}
 %    \begin{macrocode}
 \protected\gdef\LWR at singledollar#1${%
 \ifbool{mathjax}{%
@@ -37751,14 +37903,14 @@
 
 % \begin{macro}{\@ensuredmath} \marg{expression}
 %
-% If \brand{MathJax}, a \env{lateximage} is used, since \cs{ensuremath} is
-% often used for complex \TeX\ expressions which \brand{MathJax} may not render.
+% If \MathJax, a \env{lateximage} is used, since \cs{ensuremath} is
+% often used for complex \TeX\ expressions which \MathJax\ may not render.
 % If \SVG\ math, a hashed file is used with a simple \attribute{alt} tag, but
 % additional hashing provided by the contents.
 %
 % \changes{v0.51}{2018/02/24}{Hashes \cs{ensuremath}.}
 % \changes{v0.42}{2017/10/16}{Improved \cs{ensuremath}.}
-% \changes{v0.50}{2018/02/23}{Fix: Use \env{lateximage} even if \brand{MathJax}.}
+% \changes{v0.50}{2018/02/23}{Fix: Use \env{lateximage} even if \MathJax.}
 % \changes{v0.50}{2018/02/24}{Improved \SVG\ math \attribute{alt} tags.}
 % \changes{v0.52}{2018/03/25}{Improved hashing expansion.}
 %    \begin{macrocode}
@@ -37853,7 +38005,7 @@
 %
 % \begin{environment}{LWR at displaymathother}
 % A version of \env{displaymath} which can handle complicated objects,
-% but does not supply \brand{MathJax} or \HTML\ \attribute{alt} tags.
+% but does not supply \MathJax\ or \HTML\ \attribute{alt} tags.
 % \changes{v0.51}{2018/03/21}{Processing for complicated display math.}
 % \changes{v0.74}{2019/08/07}{Uses \cs{MathImageAltText}.}
 % \changes{v0.896}{2021/03/05}{Added \ARIA\ role.}
@@ -37877,7 +38029,7 @@
 %
 % \begin{environment}{LWR at equationother}
 % A version of \env{displaymath} which can handle complicated objects,
-% but does not supply \brand{MathJax} or \HTML\ \attribute{alt} tags.
+% but does not supply \MathJax\ or \HTML\ \attribute{alt} tags.
 % \changes{v0.51}{2018/03/21}{Processing for complicated display math.}
 % \changes{v0.74}{2019/08/07}{Uses \cs{MathImageAltText}.}
 % \changes{v0.896}{2021/03/05}{Added \ARIA\ role.}
@@ -37899,8 +38051,8 @@
 % \end{environment}
 
 
-% \subsection{\brand{MathJax} support}
-% \changes{v0.19}{2016/05/25}{\brand{MathJax} support added.}
+% \subsection{\MathJax\ support}
+% \changes{v0.19}{2016/05/25}{\MathJax\ support added.}
 %
 % \DescribeCounter{LWR at nextequation} Used to add one to compute the next equation number.
 %    \begin{macrocode}
@@ -37908,7 +38060,7 @@
 %    \end{macrocode}
 %
 %
-% Determing how to set \brand{MathJax} section and equation numbers.
+% Determing how to set \MathJax\ section and equation numbers.
 % Adjusts for various kinds of \cs{theequation} to determine
 % \cs{theMathJaxsection} and \cs{theMathJaxequation}.
 %
@@ -37954,16 +38106,16 @@
 %
 %
 %
-% \begin{macro}{\LWR at syncmathjax} Sets the \brand{MathJax} equation format
+% \begin{macro}{\LWR at syncmathjax} Sets the \MathJax\ equation format
 % and number for the following equations.
 %
-% These \brand{MathJax} commands are printed inside ``\cs{(}'' and ``\cs{)}'' characters.
+% These \MathJax\ commands are printed inside ``\cs{(}'' and ``\cs{)}'' characters.
 % They are printed to \HTML\ output, not interpreted by \LaTeX.
 %    \begin{macrocode}
 \newcommand*{\LWR at syncmathjax}{%
 %    \end{macrocode}
 %
-% Tell \brand{MathJax} that the next equation number is
+% Tell \MathJax\ that the next equation number is
 % the current \LaTeX{} equation number.
 %
 % Before each equation, \pkg{lwarp} inserts into the \HTML\ code:
@@ -37973,13 +38125,13 @@
 % \begin{description}
 % \item [|subequations?|] is |0| usually, |1| if inside \pkg{amsmath} \env{subequations}.
 % \item [|section|] is a string printed as-is, or empty.
-% \item [|number|] is auto-incremented by \brand{MathJax} between equations.
+% \item [|number|] is auto-incremented by \MathJax\ between equations.
 % \end{description}
 %
-% Place the \brand{MathJax} command inside ``\cs{(}'' and ``\cs{)}'' characters,
+% Place the \MathJax\ command inside ``\cs{(}'' and ``\cs{)}'' characters,
 % to be printed to \HTML, not interpreted by \LaTeX.
 % \changes{v0.82}{2020/03/09}{Removed \element{par} tags.}
-% \changes{v0.86}{2020/05/08}{Improved \brand{MathJax} equation numbers.}
+% \changes{v0.86}{2020/05/08}{Improved \MathJax\ equation numbers.}
 %    \begin{macrocode}
         \LWR at stoppars%
         \InlineClass{hidden}{
@@ -38055,7 +38207,7 @@
 % \begin{macro}{\LWR at addmathjax} \marg{environment name} \marg{contents}
 %
 % Given the name of a math environment and its contents,
-% create a \brand{MathJax} instance.
+% create a \MathJax\ instance.
 % The contents are printed to \HTML\ output, not interpreted by \LaTeX.
 %    \begin{macrocode}
 \NewDocumentCommand{\LWR at addmathjax}{m +m}{%
@@ -38063,9 +38215,9 @@
 %    \begin{macrocode}
     \LWR at origtilde\LWR at orignewline
 %    \end{macrocode}
-% Enclose the \brand{MathJax} environment inside printed ``\cs{(}'' and ``\cs{)}'' characters.
+% Enclose the \MathJax\ environment inside printed ``\cs{(}'' and ``\cs{)}'' characters.
 % Print the environment name and contents, sanitizing for \HTML\ special characters.
-% \changes{v0.89}{2020/08/01}{TT font for \brand{MathJax}.}
+% \changes{v0.89}{2020/08/01}{TT font for \MathJax.}
 %    \begin{macrocode}
     {%
         \LWR at print@ttfamily%
@@ -38074,7 +38226,7 @@
 %
 % The \env{alignat} environment takes a mandatory argument, which must
 % be replicated here.
-% \changes{v0.900}{2021/07/11}{Fix: \env{alignat} with \brand{MathJax}.}
+% \changes{v0.900}{2021/07/11}{Fix: \env{alignat} with \MathJax.}
 %    \begin{macrocode}
         \ifboolexpr{
             test {\ifstrequal{#1}{alignat}} or
@@ -38115,7 +38267,7 @@
 %
 % \begin{macro}{\LWR at doequation} \marg{env contents} \marg{env name}
 %
-% \changes{v0.19}{2016/05/25}{\brand{MathJax} support.}
+% \changes{v0.19}{2016/05/25}{\MathJax\ support.}
 % \changes{v0.52}{2018/03/28}{Fix: \env{equation*} with \env{split}.}
 %
 % For \SVG\ math output, 
@@ -38124,11 +38276,11 @@
 % containing a detokenized copy of the \LaTeX\ source for
 % the math.
 %
-% For \brand{MathJax} output, the contents are typeset in an
+% For \MathJax\ output, the contents are typeset in an
 % original \env{equation} environment placed inside a \HTML\
 % comment, with special processing for \cs{label}s.
 % The contents are also printed to the \HTML\ output
-% for processing by the \brand{MathJax} script.
+% for processing by the \MathJax\ script.
 %    \begin{macrocode}
 \newcommand*{\LWR at doequation}[2]{%
 
@@ -38138,11 +38290,11 @@
 %    \begin{macrocode}
     \ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
 %    \end{macrocode}
-% \brand{MathJax} output:
+% \MathJax\ output:
 %    \begin{macrocode}
     {
 %    \end{macrocode}
-% Print commands to syncronize \brand{MathJax}'s equation number and format
+% Print commands to syncronize \MathJax's equation number and format
 % to the current \LaTeX\ chapter/section and equation number:
 %    \begin{macrocode}
         \LWR at syncmathjax%
@@ -38209,11 +38361,11 @@
 }
 %    \end{macrocode}
 %
-% After the environment, if \brand{MathJax}, print the math to the \HTML\ output
-% for \brand{MathJax} processing.
+% After the environment, if \MathJax, print the math to the \HTML\ output
+% for \MathJax\ processing.
 % If a footnote is used, sync the \ctr{footnote} counter before,
 % then unsync after for non-equation environments, as defined next.
-% \changes{v0.82}{2020/03/09}{\brand{MathJax}: Improved footnotes.}
+% \changes{v0.82}{2020/03/09}{\MathJax: Improved footnotes.}
 %    \begin{macrocode}
 \newcommand*{\LWR at doendequation}[1]{%
     \ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
@@ -38238,15 +38390,15 @@
 
 
 % The following are used to syncronize footnote marks and related to
-% \brand{MathJax} if |*note*| is used inside the \brand{MathJax} expression.
-% The counter is read from \LaTeX\ then defined into \brand{MathJax} for use during
-% the following equation.  After the equation, the \brand{MathJax} value is
+% \MathJax\ if |*note*| is used inside the \MathJax\ expression.
+% The counter is read from \LaTeX\ then defined into \MathJax\ for use during
+% the following equation.  After the equation, the \MathJax\ value is
 % returned to the text from \cs{footnotename}.  Other notes may be added by
 % appending to \cs{LWR at syncnotenumbers} and \cs{LWR at syncnotenames}.
 %
-% \changes{v0.82}{2020/03/09}{\brand{MathJax}: Improved footnotes.}
+% \changes{v0.82}{2020/03/09}{\MathJax: Improved footnotes.}
 %
-% \begin{macro}{\LWR at synconenotenumber} \marg{\brand{MathJax} variable} \marg{mark}
+% \begin{macro}{\LWR at synconenotenumber} \marg{\MathJax\ variable} \marg{mark}
 %    \begin{macrocode}
 \newcommand*{\LWR at synconenotenumber}[2]{%
     \textbackslash(
@@ -38264,8 +38416,8 @@
 % \end{macro}
 
 
-% \begin{macro}{\LWR at synconenotename} \marg{\brand{MathJax} variable} \marg{text}
-% \changes{v0.896}{2021/04/07}{Fix: \brand{MathJax}: Footnote names.}
+% \begin{macro}{\LWR at synconenotename} \marg{\MathJax\ variable} \marg{text}
+% \changes{v0.896}{2021/04/07}{Fix: \MathJax: Footnote names.}
 %    \begin{macrocode}
 \newcommand*{\LWR at synconenotename}[2]{%
     \textbackslash(
@@ -38326,7 +38478,7 @@
 % \end{environment}
 
 
-% Remember the ``less'' version of \env{equation}, which uses \brand{MathJax}
+% Remember the ``less'' version of \env{equation}, which uses \MathJax
 % and \attribute{alt} tags, but does not support complicated contents such as
 % some \tikz\ expressions.
 %    \begin{macrocode}
@@ -38344,7 +38496,7 @@
 % \limitsmathdisplay
 %
 % \begin{macro}{\displaymathnormal} Use when display math environments have simple
-% math which is to sent to \brand{MathJax} or included in \HTML\ \attribute{alt} tags.
+% math which is to sent to \MathJax\ or included in \HTML\ \attribute{alt} tags.
 % \margintag{simple math objects}
 % \changes{v0.51}{2018/03/21}{Processing for complicated display math.}
 %    \begin{macrocode}
@@ -38364,7 +38516,7 @@
 
 
 % \begin{macro}{\displaymathother} Use when display math environments have complicated
-% objects which will not work with \brand{MathJax} or should not be
+% objects which will not work with \MathJax\ or should not be
 % included in \HTML\ \attribute{alt} tags. \margintag{complicated math objects}
 % Complicated contents are more likely to compile correctly.
 % \changes{v0.51}{2018/03/21}{Processing for complicated display math.}
@@ -38411,7 +38563,7 @@
 
 
 % \subsection{AMS Math environments}
-% \changes{v0.19}{2016/05/25}{\brand{MathJax} support added.}
+% \changes{v0.19}{2016/05/25}{\MathJax\ support added.}
 %
 % \subsubsection{Support macros}
 % \label{sec:amsmathsupport}
@@ -38470,7 +38622,7 @@
 
 % \subsubsection{Environment patches}
 %
-% \changes{v0.19}{2016/05/25}{\brand{MathJax} support added.}
+% \changes{v0.19}{2016/05/25}{\MathJax\ support added.}
 % \changes{v0.33}{2017/06/20}{Fix: Incorrectly-inline math environments.}
 % \changes{v0.34}{2017/07/29}{Fix: Added the \env{eqnarray} environments.}
 %
@@ -38485,9 +38637,9 @@
 % the environment's contents which
 % were automatically captured by the \AmS{} environment.
 %
-% For \brand{MathJax}: Each environment is synched with \LaTeX's equation numbers,
+% For \MathJax: Each environment is synched with \LaTeX's equation numbers,
 % typeset with \LaTeX\ inside an \HTML\ comment, then
-% printed to \HTML\ output for \brand{MathJax} to process.
+% printed to \HTML\ output for \MathJax\ to process.
 %
 
 
@@ -38520,9 +38672,9 @@
     {%
 %    \end{macrocode}
 %
-% If \brand{MathJax}, the environment contents (the \cs{BODY}) are executed in a
+% If \MathJax, the environment contents (the \cs{BODY}) are executed in a
 % \HTML\ comment to trigger the correct equation number increment (if not starred),
-% then are included verbatim in the output for \brand{MathJax} to interpret:
+% then are included verbatim in the output for \MathJax\ to interpret:
 %    \begin{macrocode}
         \LWR at syncmathjax%
         \boolfalse{LWR at amsmultline}%
@@ -38539,7 +38691,7 @@
             \LWR at endhideamsmath%
 %    \end{macrocode}
 %
-% Then print the (sanitized) contents to the output for \brand{MathJax} to interpret:
+% Then print the (sanitized) contents to the output for \MathJax\ to interpret:
 %    \begin{macrocode}
             \LWR at addmathjax{eqnarray}{\BODY}%
         }%
@@ -38546,7 +38698,7 @@
         {% not LWR at numbereqnarray
 %    \end{macrocode}
 %
-% If not numbering equations, just create the contents for \brand{MathJax}:
+% If not numbering equations, just create the contents for \MathJax:
 %    \begin{macrocode}
             \LWR at addmathjax{eqnarray*}{\BODY}%
         }% LWR at numbereqnarray
@@ -38980,7 +39132,7 @@
 % containing the \PDF\ page number from \filenm{<jobname>_html.pdf}, where the image
 % is located, a boolean indicating whether the image is hashed, and
 % the filename of the image.
-% The last line has ``end'' in each field, and is used to detect
+% The last line has ``|end|'' in each field, and is used to detect
 % an incomplete compile.
 %
 %
@@ -39057,7 +39209,7 @@
 % Inside the \env{lateximage}, temporarily prevent underfull \cs{hbox} warnings.
 % \changes{v0.898}{2021/05/24}{Reduced underfull \cs{hbox} warnings.}
 %    \begin{macrocode}
-            \hbadness=10000\relax%
+    \hbadness=10000\relax%
 %    \end{macrocode}
 %
 % Next file:
@@ -39153,11 +39305,18 @@
 % \changes{v0.79}{2020/01/05}{Improved \cs{linewidth}.}
 %    \begin{macrocode}
     \LWR at traceinfo{lateximage: about to create minipage}%
+    \setcounter{LWR at mpfootnote@store}{\value{mpfootnote}}
     \ifdimless{\linewidth}{6in}{%
         \LWR at print@minipage{\linewidth}%
     }{%
         \LWR at print@minipage{6in}%
     }%
+%    \end{macrocode}
+% \changes{v0.902}{2021/09/24}{Improved footnotes.}
+%    \begin{macrocode}
+    \ifnumgreater{\value{LWR at minipage@depth}}{0}%
+        {\setcounter{mpfootnote}{\value{LWR at mpfootnote@store}}}%
+        {}%
     \@nameuse{LWR at print@\LateximageFontSizeName}%
 %    \end{macrocode}
 % Temporarily restore formatting to its \PDF\ definitions:
@@ -39166,12 +39325,18 @@
     \LWR at traceinfo{lateximage: about to temporarily restore formatting}%
     \LWR at restoreorigformatting%
 %    \end{macrocode}
-% Use full-page footnotes instead of minipage footnotes.
+% If not inside a \env{minipage},
+% use full-page footnotes instead of minipage footnotes.
 % These become \HTML\ footnotes.
+% \changes{v0.902}{2021/09/24}{Improved footnotes.}
 %    \begin{macrocode}
-    \def\@mpfn{footnote}%
-    \def\thempfn{\thefootnote}%
-    \LetLtxMacro\@footnotetext\LWR at footnotetext%
+    \ifnumgreater{\value{LWR at minipage@depth}}{0}%
+        {}%
+        {%
+            \def\@mpfn{footnote}%
+            \def\thempfn{\thefootnote}%
+            \LetLtxMacro\@footnotetext\LWR at footnotetext%
+        }%
 %    \end{macrocode}
 % Create the |LWRlateximage<number>| label:
 %    \begin{macrocode}
@@ -39320,14 +39485,12 @@
 % \begin{environment}{lateximage} * \oarg{\element{alt} tag} *
 %                                   \oarg{add'l hashing} \oarg{\CSS\ style}
 %
-% \env{varwidth} is used to create a box of the natural width of its contents.
+% Ignored in print mode.
 %
-% \changes{v0.48}{2018/02/02}{Print mode boxed to natural width.}
-% \changes{v0.74}{2019/08/20}{Added second starred argument.}
+% \changes{v0.902}{2021/09/24}{Removed \pkg{varwidth}.}
 %    \begin{macrocode}
 \NewDocumentEnvironment{lateximage}{s o s o o d()}
-    {\begin{varwidth}[b]{\linewidth}}
-    {\end{varwidth}}
+    {}{}
 %    \end{macrocode}
 % \end{environment}
 
@@ -40205,7 +40368,23 @@
 \newbool{LWR at minipagethispar}
 \boolfalse{LWR at minipagethispar}
 %    \end{macrocode}
+
+% \DescribeCounter{LWR at minipage@depth}
+% Used to track whether to change footnote styles
+% in a \env{lateximage} inside an \HTML\ minipage.
+% \changes{v0.902}{2021/09/24}{Improved footnotes.}
+%    \begin{macrocode}
+\newcounter{LWR at minipage@depth}
+\setcounter{LWR at minipage@depth}{0}
+%    \end{macrocode}
 %
+% \DescribeCounter{LWR at mpfootnote@store}
+% Used to maintain minipage footnote number
+% while nesting inside a \env{lateximage}.
+%    \begin{macrocode}
+\newcounter{LWR at mpfootnote@store}
+%    \end{macrocode}
+
 %
 % \begin{environment}{minipage} \oarg{vert position} \oarg{height}
 %                                   \oarg{inner vert position} \marg{width}
@@ -40352,6 +40531,12 @@
 \let\@footnotetext\@mpfootnotetext%
 %    \end{macrocode}
 %
+% Track depth for \env{lateximage} footnote type:
+% \changes{v0.902}{2021/09/24}{Improved footnotes.}
+%    \begin{macrocode}
+\addtocounter{LWR at minipage@depth}{1}%
+%    \end{macrocode}
+%
 % Resume paragraph tag handling for the contents of the minipage:
 % \changes{v0.42}{2017/10/18}{Added boolean \progcode{WPMarkMinipages}.}
 %    \begin{macrocode}
@@ -40387,6 +40572,14 @@
 \LWR at htmlelementend{div}%
 
 }{}%
+%    \end{macrocode}
+%
+% Wrapup:
+% \changes{v0.902}{2021/09/24}{Improved footnotes.}
+%    \begin{macrocode}
+\addtocounter{LWR at minipage@depth}{-1}%
+%    \end{macrocode}
+%    \begin{macrocode}
 \LWR at htmldivclassend{minipage}%
 
 \end{LWR at setvirtualpage}%
@@ -41085,8 +41278,17 @@
 
 
 % \begin{macro}{\textnormal} \marg{text}
+% \changes{v0.902}{2021/09/28}{Reduce nested spans.}
 %    \begin{macrocode}
-\DeclareRobustCommand{\LWR at HTML@textnormal}[1]{\textmd{\textrm{\textup{#1}}}}
+\DeclareRobustCommand{\LWR at HTML@textnormal}[1]{%
+%     \textmd{\textrm{\textup{#1}}}%
+        \LWR at HTML@mdseries%
+        \LWR at HTML@rmfamily%
+        \LWR at HTML@upshape%
+        \InlineClass(%
+            font-weight:normal; font-family:serif; font-style:normal
+        ){textnormal}{#1}%
+}
 
 \LWR at formatted{textnormal}
 %    \end{macrocode}
@@ -42865,13 +43067,13 @@
 %
 %
 %
-% \section{\brand{MathJax} warnings}
+% \section{\MathJax\ warnings}
 %
 % \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 partially supported by \brand{MathJax}.}
+% \changes{v0.79}{2020/01/18}{Warn if using packages partially supported by \MathJax.}
 %    \begin{macrocode}
 \newcommand*{\LWR at mathjaxwarn}[2]{%
     \@ifpackageloaded{lwarp-#1}{%
@@ -42896,8 +43098,8 @@
 %
 % To be done \cs{AtBeginDocument}.
 %
-% \changes{v0.894}{2020/12/22}{Warn if using packages not supported by \brand{MathJax}.}
-% \changes{v0.895}{2021/01/08}{Improved \brand{MathJax} warning.}
+% \changes{v0.894}{2020/12/22}{Warn if using packages not supported by \MathJax.}
+% \changes{v0.895}{2021/01/08}{Improved \MathJax\ warning.}
 %    \begin{macrocode}
 \newcommand*{\LWR at nomathjaxwarn}[2]{%
     \@ifpackageloaded{lwarp-#1}{%
@@ -42919,8 +43121,8 @@
 %    \end{macrocode}
 %
 % \begin{macro}{\LWR at forceSVGmessage} \marg{packagename}
-% \changes{v0.894}{2020/12/22}{Improved \brand{MathJax} warnings.}
-% \changes{v0.895}{2021/01/08}{Improved \brand{MathJax} warning.}
+% \changes{v0.894}{2020/12/22}{Improved \MathJax\ warnings.}
+% \changes{v0.895}{2021/01/08}{Improved \MathJax\ warning.}
 %    \begin{macrocode}
 \newcommand*{\LWR at forceSVGmessage}[1]{%
     SVG math output may be enabled for select math\MessageBreak
@@ -42941,12 +43143,12 @@
 %
 % ^^A *mathjax warnings
 %
-% If \brand{MathJax} is being used, issue a warning for certain packages.
-% \changes{v0.894}{2020/12/22}{Improved \brand{MathJax} warnings.}
-% \changes{v0.895}{2021/02/06}{Added \brand{MathJax} warnings for
+% If \MathJax\ is being used, issue a warning for certain packages.
+% \changes{v0.894}{2020/12/22}{Improved \MathJax\ warnings.}
+% \changes{v0.895}{2021/02/06}{Added \MathJax\ warnings for
 %               \pkg{aligned-overset}, \pkg{autoaligne}, \pkg{boldtensors},
 %               \pkg{liberitinust1math}, \pkg{tensind}.}
-% \changes{v0.895}{2021/02/06}{Improved \brand{MathJax} warning  for \pkg{unicode-math}.}
+% \changes{v0.895}{2021/02/06}{Improved \MathJax\ warning  for \pkg{unicode-math}.}
 %    \begin{macrocode}
 \AtBeginDocument{
     \ifbool{mathjax}{
@@ -43451,7 +43653,7 @@
 %
 % \DescribePackage{accents}
 % \pkg{accents} is used as-is for \SVG\ math, and is
-% emulated for \brand{MathJax}.
+% emulated for \MathJax.
 %
 % \changes{v0.89}{2020/07/21}{\pkg{accents}: Added.}
 %
@@ -43461,7 +43663,7 @@
 \LWR at ProvidesPackagePass{accents}[2006/05/12]
 %    \end{macrocode}
 %
-% For \brand{MathJax}:
+% For \MathJax:
 %    \begin{macrocode}
 \begin{warpMathJax}
 \LWR at infoprocessingmathjax{accents}
@@ -43470,7 +43672,7 @@
 \CustomizeMathJax{\newcommand{\accentset}[2]{\overset{#1{}}{#2}}}
 %    \end{macrocode}
 %
-% As of this writing, \brand{MathJax} v3 does not yet support
+% As of this writing, \MathJax\ v3 does not yet support
 % groups for macros, so for \cs{underaccent}, the originals are remembered here,
 % then they are temporarily redefined and used inside \cs{underaccent},
 % then restored to their originals.
@@ -43556,9 +43758,9 @@
 %    \end{macrocode}
 %
 %
-% For \brand{MathJax}:
+% For \MathJax:
 %
-% \changes{v0.80}{2020/02/06}{\pkg{accessibility}: Added \brand{MathJax} emulation.}
+% \changes{v0.80}{2020/02/06}{\pkg{accessibility}: Added \MathJax\ emulation.}
 %    \begin{macrocode}
 \begin{warpMathJax}
 \CustomizeMathJax{\newcommand{\alt}[1]{}}
@@ -43596,8 +43798,8 @@
 \newcommand*{\EndAccSupp}[1]{}
 %    \end{macrocode}
 %
-% For \brand{MathJax}:
-% \changes{v0.80}{2020/02/20}{\pkg{accsupp}: Added \brand{MathJax} emulation.}
+% For \MathJax:
+% \changes{v0.80}{2020/02/20}{\pkg{accsupp}: Added \MathJax\ emulation.}
 %    \begin{macrocode}
 \begin{warpMathJax}
 \CustomizeMathJax{\newcommand{\BeginAccSupp}[1]{}}
@@ -44054,9 +44256,6 @@
 %
 % Paragraph handling to allow line numbers under certain conditions:
 %    \begin{macrocode}
-\newbool{LWR at algocf@dopars}
-\booltrue{LWR at algocf@dopars}
-
 \renewcommand{\algocf at everypar}{%
 \ifbool{LWR at algocf@dopars}{%
     \ifbool{LWR at doingstartpars}{%
@@ -44063,6 +44262,13 @@
         \ifnumcomp{\value{LWR at lateximagedepth}}{>}{0}%
             {}%
             {%
+%    \end{macrocode}
+% \pkg{algorthm2e} uses \cs{everypar}, so the open paragraph tag
+% is generated here instead of \cs{LWR at openparagraph}:
+%    \begin{macrocode}
+                \LWR at htmltagc{\LWR at tagregularparagraph}\LWR at orignewline%
+%    \end{macrocode}
+%    \begin{macrocode}
                 \algocf at everyparnl\algocf at everyparhanging%
             }%
     }{}%
@@ -44392,8 +44598,8 @@
 % \DescribePackage{amscdx}
 % \pkg{amscdx} is used as-is for \SVG\ math.
 %
-% For \brand{MathJax}, a warning notes that the \env{CD} environment
-% \trouble[\brand{MathJax}]{amscdx=\pkg{amscdx}}
+% For \MathJax, a warning notes that the \env{CD} environment
+% \trouble[\MathJax]{amscdx=\pkg{amscdx}}
 % must be enclosed between \cs{displaymathother} and \cs{displaymathnormal}.
 %
 % \changes{v0.895}{2021/01/08}{\pkg{amscdx}: Added.}
@@ -44508,8 +44714,8 @@
 %
 % \DescribeCounter{LWR at maxfields@} A copy of \ctr{maxfields@} as it was passed.
 % This is used to generate the mandatory argument for \env{alignat} and \env{alignat*}
-% when using \brand{MathJax}.
-% \changes{v0.900}{2021/07/11}{Fix: \env{alignat} with \brand{MathJax}.}
+% when using \MathJax.
+% \changes{v0.900}{2021/07/11}{Fix: \env{alignat} with \MathJax.}
 %    \begin{macrocode}
 \newcounter{LWR at maxfields@}
 
@@ -44552,7 +44758,7 @@
 %
 % |*| if the environment was starred.
 %
-% Embeds the environment with \brand{MathJax} or a \env{lateximage}.
+% Embeds the environment with \MathJax\ or a \env{lateximage}.
 % \changes{v0.79}{2020/01/31}{AMS environments: Fix: Nested.}
 % \changes{v0.80}{2020/02/13}{AMS environments: Fix: Centering starred envs.}
 %    \begin{macrocode}
@@ -44566,7 +44772,7 @@
             \ifstrequal{#2}{multline}{\booltrue{LWR at amsmultline}}{}
             \ifstrequal{#2}{multline*}{\booltrue{LWR at amsmultline}}{}
 %    \end{macrocode}
-% \pkg{autonum}'s ``+'' environments are not supported by \brand{MathJax}.
+% \pkg{autonum}'s ``+'' environments are not supported by \MathJax.
 % \watchout
 %    \begin{macrocode}
             \LWR at beginhideamsmath
@@ -44603,7 +44809,7 @@
 % |*| if the environment was starred.  Ignored here, only used for
 % a consistent syntax.
 %
-% Embeds the environment with \brand{MathJax} or a \env{lateximage}.
+% Embeds the environment with \MathJax\ or a \env{lateximage}.
 %
 % \changes{v0.80}{2020/02/13}{AMS environments: Fix: Centering starred envs.}
 %    \begin{macrocode}
@@ -44719,7 +44925,7 @@
 % \end{environment}
 %
 %
-% \changes{v0.86}{2020/05/08}{\pkg{amsmath}: Added support for \brand{MathJax}.}
+% \changes{v0.86}{2020/05/08}{\pkg{amsmath}: Added support for \MathJax.}
 %    \begin{macrocode}
 \AtBeginEnvironment{subequations}{
     \renewcommand*{\theMathJaxsubequations}{1}
@@ -44729,9 +44935,9 @@
 %    \end{macrocode}
 %
 %
-% For \brand{MathJax}:
-% \changes{v0.79}{2020/01/27}{\pkg{amsmath}: Added \brand{MathJax} emulation.}
-% \changes{v0.82}{2020/03/14}{\pkg{amsmath}: Fixed: \cs{intertext} for \brand{MathJax}.}
+% For \MathJax:
+% \changes{v0.79}{2020/01/27}{\pkg{amsmath}: Added \MathJax\ emulation.}
+% \changes{v0.82}{2020/03/14}{\pkg{amsmath}: Fixed: \cs{intertext} for \MathJax.}
 % \changes{v0.895}{2021/02/11}{\pkg{amsmath}: Added \cs{Hat}, etc..}
 %    \begin{macrocode}
 \begin{warpMathJax}
@@ -44860,9 +45066,9 @@
     \else % numbered theorem, need to check for optional arg
       \def\@tempa{\@oparg{\@ynthm{#2}}[]}%
     \fi
-    \AtBeginEnvironment{#2}{%
-        \edef\LWR at thisthmstyle{\@nameuse{LWR at thmstyle#2}}%
-    }%          lwarp
+    \AtBeginEnvironment{#2}{%                               lwarp
+        \edef\LWR at thisthmstyle{\@nameuse{LWR at thmstyle#2}}%  lwarp
+    }%                                                      lwarp
   }%
   \@tempa%
 }
@@ -44936,44 +45142,6 @@
 %    \end{macrocode}
 %    \begin{macrocode}
   \BlockClass{amsthmbody\LWR at thisthmstyle}%     lwarp
-%    \end{macrocode}
-%
-% Footnotes are redefined to work correctly inside the option brackets
-% for a theorem environment.
-% \changes{v0.896}{2021/03/14}{\pkg{amsthm}: Fix: Footnotes in opt arg..}
-%    \begin{macrocode}
-    \renewcommand{\footnote}[1][]{%
-        \ifblank{##1}%
-        {%
-            \stepcounter\@mpfn
-            \protected at xdef\@thefnmark{\thempfn}%
-            \@footnotemark\@footnotetext
-        }%
-        {%
-            \begingroup
-            \csname c@\@mpfn\endcsname ##1\relax
-            \unrestored at protected@xdef\@thefnmark{\thempfn}%
-            \endgroup
-            \@footnotemark\@footnotetext
-        }%
-    }%
-%
-    \renewcommand{\footnotemark}[1][]{%
-        \ifblank{##1}%
-        {%
-            \stepcounter{footnote}%
-            \protected at xdef\@thefnmark{\thefootnote}%
-            \@footnotemark%
-        }%
-        {%
-            \begingroup%
-            \c at footnote ##1\relax%
-            \unrestored at protected@xdef\@thefnmark{\thefootnote}%
-            \endgroup%
-            \@footnotemark%
-        }%
-    }%
-%
   \trivlist
   \let\thmheadnl\relax
   \let\thm at swap\@gobble
@@ -45068,6 +45236,20 @@
 }% AtBeginDocument
 %    \end{macrocode}
 %
+%
+% Patched to add a \element{span}:
+% \changes{v0.902}{2021/09/24}{\pkg{amsthm}: Fixed empty \attribute{theoremendmark} \element{span}.}
+%    \begin{macrocode}
+\DeclareRobustCommand{\qed}{%
+  \ifmmode \mathqed
+  \else
+%     \leavevmode\unskip\penalty9999 \hbox{}\nobreak\hfill
+%     \quad\hbox{\qedsymbol}%
+        \InlineClass{theoremendmark}{\qedsymbol}%   lwarp
+  \fi
+}
+%    \end{macrocode}
+%
 % Patched for \CSS:
 % \changes{v0.896}{2021/04/05}{\pkg{amsthm}: Improved back refs.}
 %    \begin{macrocode}
@@ -45087,7 +45269,7 @@
   \item[
         \InlineClass{amsthmproofname}{#1\@addpunct{.}}]\ignorespaces% changes
 }{%
-  \InlineClass{theoremendmark}{\popQED}\endtrivlist%
+  \popQED\endtrivlist%
 %    \end{macrocode}
 % \changes{v0.896}{2021/03/14}{\pkg{amsthm}: Intersperse footnotes.}
 %    \begin{macrocode}
@@ -45333,8 +45515,8 @@
 %    \end{macrocode}
 %
 %
-% For \brand{MathJax}:
-% \changes{v0.79}{2020/01/30}{\pkg{ar}: Added \brand{MathJax} emulation.}
+% For \MathJax:
+% \changes{v0.79}{2020/01/30}{\pkg{ar}: Added \MathJax\ emulation.}
 %    \begin{macrocode}
 \begin{warpMathJax}
 \CustomizeMathJax{\newcommand{\AR}{\mathit{A\!\!R}}}
@@ -45431,7 +45613,7 @@
 \LWR at formatted{tabularnewline}
 %    \end{macrocode}
 %
-% For \brand{MathJax}:
+% For \MathJax:
 %    \begin{macrocode}
 \CustomizeMathJax{
     \newcommand{\multicolumn}[3]{#3}% only uses one cell
@@ -45468,9 +45650,9 @@
 % a single-dashed rule is displayed as a single-dashed border, and
 % a double-dashed rule is displayed as a thicker single-dashed border.
 %
-% For \brand{MathJax}, limited emulation is provided for math mode.
+% For \MathJax, limited emulation is provided for math mode.
 % \trouble{arydshln=\pkg{arydshln}}
-% \trouble{mathjax=\brand{MathJax}>arydshln=\pkg{arydshln}}
+% \trouble{mathjax=\MathJax>arydshln=\pkg{arydshln}}
 %
 % \changes{v0.56}{2018/05/02}{\pkg{arydshln}: Added.}
 %
@@ -45569,7 +45751,7 @@
 %    \end{macrocode}
 
 
-% \changes{v0.79}{2020/01/30}{\pkg{arydshln}: Added \brand{MathJax} emulation.}
+% \changes{v0.79}{2020/01/30}{\pkg{arydshln}: Added \MathJax\ emulation.}
 %    \begin{macrocode}
 \begin{warpMathJax}
 \CustomizeMathJax{\newcommand{\firsthdashline}[1][]{\hdashline}}
@@ -45984,7 +46166,7 @@
 %
 % \DescribePackage{autobreak}
 % \pkg{autobreak} is used as-is for \SVG\ math, and
-% nullified for \brand{MathJax}.
+% nullified for \MathJax.
 %
 % \changes{v0.80}{2020/02/09}{\pkg{autobreak}: Added.}
 %
@@ -45994,9 +46176,9 @@
 \LWR at ProvidesPackagePass{autobreak}[2017/02/23]
 %    \end{macrocode}
 %
-% For \brand{MathJax}.
+% For \MathJax.
 % The modified \env{align} environment is used for \SVG\ math,
-% but is reverted to its original for \brand{MathJax}.
+% but is reverted to its original for \MathJax.
 % (Extraneous commas were appearing in the result.)
 %    \begin{macrocode}
 \begin{warpMathJax}
@@ -46031,7 +46213,7 @@
 %
 % All equations are numbered in \HTML\ output.
 % \trouble[numbering, \texttt{+}]{autonum=\pkg{autonum}}
-% \brand{MathJax} does not support the ``+'' environments.
+% \MathJax\ does not support the ``+'' environments.
 %
 % \changes{v0.70}{2019/03/28}{\pkg{autonum}: Added.}
 %
@@ -46221,8 +46403,8 @@
 \long\def\wrapmlalt#1{}
 %    \end{macrocode}
 %
-% For \brand{MathJax}.  These usually will not be needed.
-% \changes{v0.81}{2020/02/20}{\pkg{axessibility}: Added \brand{MathJax} emulation.}
+% For \MathJax.  These usually will not be needed.
+% \changes{v0.81}{2020/02/20}{\pkg{axessibility}: Added \MathJax\ emulation.}
 %    \begin{macrocode}
 \begin{warpMathJax}
 \CustomizeMathJax{\newcommand{\wrap}[1]{}}
@@ -46287,7 +46469,7 @@
 %
 % \DescribePackage{backnaur}
 % \pkg{backnaur} is patched for use by \pkg{lwarp},
-% and emulated for \brand{MathJax}.
+% and emulated for \MathJax.
 %
 % \changes{v0.72}{2019/05/20}{\pkg{backnaur}: Added.}
 %
@@ -46349,7 +46531,7 @@
 % ^^A %    \end{macrocode}
 %
 %
-% For \brand{MathJax}:
+% For \MathJax:
 %    \begin{macrocode}
 \begin{warpMathJax}
 \CustomizeMathJax{\newcommand{\bnfpn}[1]{\langle \text{\textrm{#1}} \rangle}}
@@ -46758,7 +46940,147 @@
 %
 %
 %
+%
 % \iffalse
+%<*beamerarticle>
+% \fi
+%
+% \part{lwarp-beamerarticle.sty}
+%
+% \section{beamerarticle}
+%
+% \credits{Till Tantau, Vedran Mileti\'c, Louis Stuart, Joseph Wright}
+%
+% \DescribePackage{beamerarticle}
+% \pkg{beamerarticle} is patched for use by \pkg{lwarp}.
+%
+% \changes{v0.902}{2021/09/24}{\pkg{beamerarticle}: Added.}
+%
+% \codehtml
+%
+%    \begin{macrocode}
+\LWR at ProvidesPackagePass{beamerarticle}[2021/05/26]
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\renewcommand<>{\textcolor}{\only#1{\beameroriginal{\textcolor}}}
+
+\AtBeginDocument{
+
+\renewcommand<>{\LWR at listitem}{%
+    \only#1{%
+        \beameroriginal{\LWR at listitem}%
+    }%
+}
+
+\renewcommand<>{\LWR at itemizeitem}{%
+    \only#1{%
+        \beameroriginal{\LWR at itemizeitem}%
+    }%
+}
+
+\renewcommand<>{\LWR at descitem}{%
+    \only#1{%
+        \beameroriginal{\LWR at descitem}%
+    }%
+}
+
+\renewcommand<>{\abstract}{%
+    \only#1{%
+        \beameroriginal{\abstract}%
+    }%
+}
+
+\renewcommand<>{\LWR at includegraphicsb}{%
+    \only#1{%
+        \beameroriginal{\LWR at includegraphicsb}%
+    }%
+}
+
+\xpretocmd\frame
+    {
+            \LWR at forcenewpage
+            \BlockClass{beamerframe}%
+    }
+    {}
+    {\LWR at patcherror{beamerarticle}{frame}}
+
+\xapptocmd\beamer at endframe
+    {\endBlockClass}
+    {}
+    {\LWR at patcherror{beamerarticle}{beamer at endframe}}
+
+% An example in the beamer docs for \cs{includegraphics}
+% shows the use of \cs{llap} in a frame.
+\xpretocmd\beamer at article@startframe
+    {\LWR at nulllistfills}
+    {}
+    {\LWR at patcherror{beamerarticle}{beamer at article@startframe}}
+
+}% AtBeginDocument
+
+\let\beamer@@tmpop at frametitle@default\relax
+\defbeamertemplate<article>*{frametitle}{default}{%
+    \paragraph*{\insertframetitle}\ \par%
+    \ifdefempty{\insertframesubtitle}{}{%
+        \noindent\emph{\insertframesubtitle}\par%
+    }%
+}
+
+
+\NewDocumentCommand{\LWR at beamer@itemize}{o}{%
+    \LWR at itemizestart\LWR at origitemize%
+}%
+\NewDocumentCommand{\LWR at beamer@description}{o o}{%
+    \LWR at descriptionstart\LWR at origdescription%
+}%
+
+\xapptocmd{\LWR at patchlists}
+    {%
+        \LetLtxMacro\itemize\LWR at beamer@itemize%
+        \LetLtxMacro\description\LWR at beamer@description%
+    }
+    {}
+    {\LWR at patcherror{beamerarticle}{LWR at patchlists}}
+
+
+\LetLtxMacro\maketitle\LWR at maketitle
+
+\renewcommand{\subtitle}[2][]{
+    \gdef\@subtitle{#2}
+    \def\insertsubtitle{#2}
+}
+
+\xpatchcmd{\@maketitle}
+    {%
+        \LWR at htmltag{\LWR at tagtitleend}%
+        \LWR at startpars%
+    }%
+    {%
+        \LWR at htmltag{\LWR at tagtitleend}%
+        \ifdefvoid{\@subtitle}{}{%
+            \begin{BlockClass}{subtitle}%
+            \@subtitle%
+            \end{BlockClass}%
+        }%
+        \LWR at startpars%
+    }%
+    {}
+    {\LWR at patcherror{beamerarticle}{@maketitle}}
+
+\RequirePackage{fancyvrb}
+\DefineVerbatimEnvironment{semiverbatim}{Verbatim}{commandchars=\\\{\}}
+%    \end{macrocode}
+%
+% \iffalse
+%</beamerarticle>
+% \fi
+%
+%
+%
+%
+%
+% \iffalse
 %<*biblatex>
 % \fi
 %
@@ -47114,9 +47436,9 @@
 \LWR at formatted{rdelim}
 %    \end{macrocode}
 
-% Limited emulation for \brand{MathJax}.
+% Limited emulation for \MathJax.
 % The delimiter is printed on the first row, along with any optional text.
-% \changes{v0.79}{2020/01/20}{\pkg{bigdelim}: Added \brand{MathJax} emulation.}
+% \changes{v0.79}{2020/01/20}{\pkg{bigdelim}: Added \MathJax\ emulation.}
 %    \begin{macrocode}
 \begin{warpMathJax}
 % \ldelim ( {n}{width}[text]
@@ -47214,7 +47536,7 @@
 
 %    \end{macrocode}
 %
-% \changes{v0.79}{2020/01/20}{\pkg{bigstrut}: Added \brand{MathJax} emulation.}
+% \changes{v0.79}{2020/01/20}{\pkg{bigstrut}: Added \MathJax\ emulation.}
 %    \begin{macrocode}
 \begin{warpMathJax}
 \CustomizeMathJax{\newcommand{\bigstrut}[1][]{}}
@@ -47324,7 +47646,7 @@
 %    \end{macrocode}
 %
 % \cs{DeclareBoldMathCommand} must only be used in the preamble, since it
-% adds to the \brand{MathJax} setup code.
+% adds to the \MathJax\ setup code.
 %
 %    \begin{macrocode}
 \begin{warpMathJax}
@@ -47448,9 +47770,9 @@
 % \pkg{booktabs} is emulated during \HTML\ output, and
 % used as-is during print output and inside an \HTML\ \env{lateximage}.
 %
-% For \brand{MathJax}, emulation is provided in math mode, but \watchout[\cs{cmidrule}]
+% For \MathJax, emulation is provided in math mode, but \watchout[\cs{cmidrule}]
 % \trouble{booktabs=\pkg{booktabs}}
-% \trouble{mathjax=\brand{MathJax}>booktabs=\pkg{booktabs}}
+% \trouble{mathjax=\MathJax>booktabs=\pkg{booktabs}}
 % \cs{cmidrule} trim must not be used.
 %
 % \changes{v0.34}{2017/08/08}{\pkg{booktabs}: Works inside \env{lateximage}.}
@@ -47552,9 +47874,9 @@
 %    \end{macrocode}
 %
 %
-% 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.}
+% For \MathJax:
+% \changes{v0.79}{2020/01/30}{\pkg{booktabs}: Added \MathJax\ emulation.}
+% \changes{v0.894}{2020/12/22}{\pkg{booktabs}: \MathJax: Absorb \cs{cmidrule} trim arg.}
 %    \begin{macrocode}
 \begin{warpMathJax}
 \CustomizeMathJax{\newcommand{\toprule}[1][]{\hline}}
@@ -47722,10 +48044,10 @@
 %
 % \DescribePackage{braket}
 % \pkg{braket} works as-is for \HTML\ with \SVG\ math.
-% For \brand{MathJax}, the \brand{MathJax} extension is used.
+% For \MathJax, the \MathJax\ extension is used.
 %
 % \changes{v0.79}{2020/01/29}{\pkg{braket}: Added.}
-% \changes{v0.893}{2020/10/30}{\pkg{braket}: Now uses \brand{MathJax} extension.}
+% \changes{v0.893}{2020/10/30}{\pkg{braket}: Now uses \MathJax\ extension.}
 %
 % \codehtml
 %
@@ -47813,7 +48135,7 @@
 % the print version either.
 % \trouble[\env{darray}]{breqn=\pkg{breqn}>darray}
 %
-% While using \brand{MathJax}, \pkg{breqn} objects are
+% While using \MathJax, \pkg{breqn} objects are
 % converted to \SVG\ images.
 %
 % \changes{v0.59}{2018/07/25}{\pkg{breqn}: Added.}
@@ -47940,13 +48262,13 @@
 %
 % \DescribePackage{bussproofs}
 % \pkg{bussproofs} is used as-is for \HTML, and
-% emulated by \brand{MathJax}'s extension.
+% emulated by \MathJax's extension.
 %
-% If not using \brand{MathJax}, inline proofs with \cs{DisplayMath} must be placed
+% If not using \MathJax, inline proofs with \cs{DisplayMath} must be placed
 % \trouble[\cs{DisplayProof}]{bussproofs=\pkg{bussproofs}}
 % inside a math expression.
 %
-% If using \brand{MathJax}, only the \env{prooftree} environment may be used,
+% If using \MathJax, only the \env{prooftree} environment may be used,
 % not \cs{DisplayProof}.
 %
 % \changes{v0.891}{2020/09/20}{\pkg{bussproofs}: Added.}
@@ -48058,7 +48380,7 @@
 % \pkg{cancel} is used as-is for \SVG\ math, and emulated for \HTML\ text output.
 %
 % \changes{v0.44}{2017/11/16}{\pkg{cancel}: Added.}
-% \changes{v0.87}{2020/06/02}{\pkg{cancel}: Now uses \brand{MathJax} v3 extension.}
+% \changes{v0.87}{2020/06/02}{\pkg{cancel}: Now uses \MathJax\ v3 extension.}
 %
 % \codehtml
 %
@@ -48113,7 +48435,7 @@
 %    \end{macrocode}
 % \end{noindmacro}
 %
-% For \brand{MathJax}:
+% For \MathJax:
 %    \begin{macrocode}
 \begin{warpMathJax}
 \PackageWarningNoLine{lwarp, cancel}{The MathJax v3 extension will be used}
@@ -48535,7 +48857,7 @@
 % \DescribePackage{cases}
 % \pkg{cases} is patched for use by \pkg{lwarp}.
 %
-% While using \brand{MathJax}, \pkg{cases} objects are converted to \SVG\ math images.
+% While using \MathJax, \pkg{cases} objects are converted to \SVG\ math images.
 % The MathJax 3.2 \pkg{cases} package does not yet work with \pkg{lwarp}.
 %
 % \changes{v0.58}{2018/06/08}{\pkg{cases}: Added.}
@@ -48665,11 +48987,11 @@
 %
 % \DescribePackage{centernot}
 % \pkg{centernot} is used as-is for \SVG\ math,
-% and emulated for \brand{MathJax}.
+% and emulated for \MathJax.
 %
 % \changes{v0.80}{2020/02/08}{\pkg{centernot}: Added.}
 % \changes{v0.89}{2020/08/17}{\pkg{centernot}: Improved.}
-% \changes{v0.901}{2021/08/26}{\pkg{centernot}: Now uses \brand{MathJax} 3.2 package.}
+% \changes{v0.901}{2021/08/26}{\pkg{centernot}: Now uses \MathJax\ 3.2 package.}
 %
 % \codehtml
 %
@@ -49357,7 +49679,7 @@
 %    \end{macrocode}
 %
 % \begin{noindmacro}{\ch}
-% Enclose in an inline \SVG\ image or \brand{MathJax}.
+% Enclose in an inline \SVG\ image or \MathJax.
 % The \attribute{alt} tag is is the contents of the \cs{ch} expression.
 % The filename is hashed, and also has additional hashing information based on
 % the local options.
@@ -49373,7 +49695,7 @@
         \chemformula_ch:nn {#1} {#2}%   original
     }
 %    \end{macrocode}
-% If used as the outer level, must temporarily ensure \brand{MathJax} is disabled:
+% If used as the outer level, must temporarily ensure \MathJax\ is disabled:
 %    \begin{macrocode}
     {
         \begingroup%
@@ -51125,7 +51447,7 @@
 %
 % \DescribePackage{cleveref}
 % \pkg{cleveref} is patched for \HTML, and
-% limited \brand{MathJax} emulation is added.
+% limited \MathJax\ emulation is added.
 %
 % \limitscpageref
 %
@@ -51133,10 +51455,10 @@
 % shows the data structure of the label/reference system
 % as revised by \pkg{lwarp} and \pkg{cleveref}.
 %
-% For \brand{MathJax},
+% For \MathJax,
 % each references is printed as an \cs{eqref}, without \pkg{cleveref}'s
 % description text.  Page references are also printed as simple \cs{eqref}s.
-% Multiple labels in a single \cs{cref} will print as \texttt{(???)} in \brand{MathJax}.
+% Multiple labels in a single \cs{cref} will print as \texttt{(???)} in \MathJax.
 % \watchout[multiple labels]
 %
 % \codehtml
@@ -51342,12 +51664,12 @@
 %    \end{macrocode}
 %
 %
-% ^^A % For \brand{MathJax} and \pkg{cleveref},
+% ^^A % For \MathJax\ and \pkg{cleveref},
 % ^^A % but not \pkg{varioref} since \pkg{varioref} macros would only
 % ^^A % be useful in math inside a \cs{text} macro, where they do not
-% ^^A % work in \brand{MathJax}.
+% ^^A % work in \MathJax.
 % ^^A %
-% ^^A % \changes{v0.88}{2020/07/05}{\pkg{cleveref}: Added \brand{MathJax} emulation.}
+% ^^A % \changes{v0.88}{2020/07/05}{\pkg{cleveref}: Added \MathJax\ emulation.}
 % ^^A %    \begin{macrocode}
 % ^^A \CustomizeMathJax{\newcommand{\cref}{\ifstar\eqref\eqref}}
 % ^^A \CustomizeMathJax{\let\Cref\cref}
@@ -51426,9 +51748,9 @@
 %
 % \DescribePackage{cmbright}
 % \pkg{cmbright} is used as-is for \SVG\ math, and is
-% emulated for \brand{MathJax}.
+% emulated for \MathJax.
 %
-% The \brand{MathJax} emulation ignores all package options,
+% The \MathJax\ emulation ignores all package options,
 % \trouble[limitations]{cmbright=\pkg{cmbright}}
 % except \optn{slantedGreek} is honored, and \cs{mathbold} is available.
 %
@@ -51514,7 +51836,7 @@
 %
 % \DescribePackage{colonequals}
 % \pkg{colonequals} is used as-is for \SVG\ math, and
-% is emulated for \brand{MathJax}.
+% is emulated for \MathJax.
 %
 % Since \brand{Unicode} symbols are not available for each of the following,
 % only two are used for the single and double colons, and the other symbols
@@ -51722,9 +52044,9 @@
 %    \end{macrocode}
 % \end{noindmacro}
 
-% For \brand{MathJax}, use the \brand{MathJax} package.
+% For \MathJax, use the \MathJax\ package.
 % The unused macro options are ignored.
-% \changes{v0.894}{2020/12/22}{\pkg{colortbl}: Added \brand{MathJax} emulation.}
+% \changes{v0.894}{2020/12/22}{\pkg{colortbl}: Added \MathJax\ emulation.}
 %    \begin{macrocode}
 \begin{warpMathJax}
 
@@ -52264,7 +52586,7 @@
 %
 % \DescribePackage{decimal}
 % \pkg{decimal} works as-is for \SVG\ math, and
-% is emulated for \brand{MathJax}.
+% is emulated for \MathJax.
 %
 % \changes{v0.81}{2020/02/22}{\pkg{decimal}: Added.}
 %
@@ -52527,7 +52849,7 @@
 %
 % \DescribePackage{DotArrow}
 % \pkg{DotArrow} is patched for use by \pkg{lwarp},
-% and emulated for \brand{MathJax}.
+% and emulated for \MathJax.
 %
 % \changes{v0.81}{2020/03/03}{\pkg{DotArrow}: Added.}
 %
@@ -52566,13 +52888,13 @@
 %
 % \DescribePackage{dotlessi}
 % \pkg{dotlessi} is used as-is for \SVG\ math, and
-% is emulated for \brand{MathJax}.
+% is emulated for \MathJax.
 %
 % Use |\usepackage{cmap}| if \cs{dotlessj} does not appear in \HTML\ in text mode.
 % \watchout[\HTML\ \cs{dotlessj}]
 % See \cref{sec:fonts}.
 %
-% For \brand{MathJax}, use \cs{boldsymbol} instead of \cs{mathbf}.
+% For \MathJax, use \cs{boldsymbol} instead of \cs{mathbf}.
 % \watchout[not bold]
 %
 % \changes{v0.81}{2020/02/21}{\pkg{dotlessi}: Added.}
@@ -52583,7 +52905,7 @@
 \LWR at ProvidesPackagePass{dotlessi}[1999/10/12]
 %    \end{macrocode}
 %
-% For \brand{MathJax}:
+% For \MathJax:
 %    \begin{macrocode}
 \begin{warpMathJax}
 \CustomizeMathJax{\let\dotlessi\imath}
@@ -52910,7 +53232,7 @@
 %
 % \DescribePackage{econometrics}
 % \pkg{econometrics} is used as-is for \SVG\ math, and
-% is emulated for \brand{MathJax}.
+% is emulated for \MathJax.
 %
 % \changes{v0.81}{2020/03/01}{\pkg{econometrics}: Added.}
 % \changes{v0.89}{2020/09/02}{\pkg{econometrics}: Uses \pkg{lwarp-common-mathjax-letters}.}
@@ -53393,8 +53715,8 @@
 %    \end{macrocode}
 %
 %
-% For \brand{MathJax}:
-% \changes{v0.82}{2020/03/14}{\pkg{endnotes}: Added \brand{MathJax} emulation.}
+% For \MathJax:
+% \changes{v0.82}{2020/03/14}{\pkg{endnotes}: Added \MathJax\ emulation.}
 %    \begin{macrocode}
 \begin{warpMathJax}
 \def\endnotename{endnote}
@@ -53426,9 +53748,9 @@
 %
 % \DescribePackage{engtlc}
 % \pkg{engtlc} is patched for use by \pkg{lwarp}.
-% \brand{MathJax} is emulated.
+% \MathJax\ is emulated.
 %
-% For \brand{MathJax}, \cs{signt}, \cs{signf}, \cs{signn}, and \cs{signz}
+% For \MathJax, \cs{signt}, \cs{signf}, \cs{signn}, and \cs{signz}
 % \watchout
 % do not force letter case as they do in \SVG\ math.
 %
@@ -53807,7 +54129,7 @@
 \ExplSyntaxOff
 %    \end{macrocode}
 %
-% For \brand{MathJax}:
+% For \MathJax:
 %    \begin{macrocode}
 \begin{warpMathJax}
 \def\endnotename{endnote}
@@ -54457,7 +54779,7 @@
 %
 % \DescribePackage{esvect}
 % \pkg{esvect} is used as-is for \SVG\ math,
-% and emulated for \brand{MathJax}.
+% and emulated for \MathJax.
 %
 % \changes{v0.893}{2020/10/14}{\pkg{esvect}: Added.}
 %
@@ -54766,7 +55088,7 @@
 %
 % \DescribePackage{extarrows}
 % \pkg{extarrows} is used as-is for \SVG\ math, and
-% emulted for \brand{MathJax}.
+% emulted for \MathJax.
 %
 % \changes{v0.80}{2020/02/15}{\pkg{extarrows}: Added.}
 %
@@ -54864,7 +55186,7 @@
 %
 % \changes{v0.34}{2017/07/27}{\pkg{fancybox}: Added.}
 % \changes{v0.42}{2017/10/27}{\pkg{fancybox}: If \progcode{FormatWP} add \HTML\ styles.}
-% \changes{v0.52}{2018/03/29}{\pkg{fancyvrb}: Initial support for \cs{VerbatimFootnotes}.}
+% \changes{v0.52}{2018/03/29}{\pkg{fancybox}: Initial support for \cs{VerbatimFootnotes}.}
 %
 %    \begin{macrocode}
 \LWR at ProvidesPackagePass{fancybox}[2010/05/15]
@@ -54889,7 +55211,7 @@
 % \begin{noindmacro}{\V@@footnotetext}
 % Patches in a subset of \pkg{lwarp}'s \cs{LWR at footnotetext} to the
 % \pkg{fancyvrb} version of \cs{V@@footnotetext}.
-% \changes{v0.896}{2021/04/04}{Fix: \ctr{autopage} references in footnotes.}
+% \changes{v0.896}{2021/04/04}{\pkg{fancybox}: Fix: \ctr{autopage} references in footnotes.}
 %    \begin{macrocode}
 \def\V@@footnotetext{%
 \LWR at traceinfo{V at footnotetext}%
@@ -54920,14 +55242,10 @@
     \renewrobustcmd{\textsuperscript}[1]{\LWR at htmlspan{sup}{##1}}%
 %    \end{macrocode}
 % Use paragraph tags if in a tabular data cell or a \env{lateximage}:
-% \changes{v0.66}{2019/02/02}{\pkg{fancyvrb}: Improved \HTML\ formatting.}
+% \changes{v0.66}{2019/02/02}{\pkg{fancybox}: Improved \HTML\ formatting.}
+% \changes{v0.902}{2021/09/29}{\pkg{fancybox}: Improved footnote par tags.}
 %    \begin{macrocode}
-    \ifthenelse{%
-        \boolean{LWR at doingstartpars} \AND%
-        \cnttest{\value{LWR at lateximagedepth}}{=}{0}%
-    }%
-        {}%
-        {\LWR at htmltagc{\LWR at tagregularparagraph}\LWR at orignewline}%
+    \LWR at htmltagc{\LWR at tagregularparagraph}\LWR at orignewline%
 %    \end{macrocode}
 % Append the footnote to the list:
 %    \begin{macrocode}
@@ -54936,7 +55254,7 @@
 % The footnote text will follow after \cs{V@@@footnotetext} has completed.
 %    \begin{macrocode}
   \bgroup%
-  \aftergroup{\V@@@footnotetext}%
+  \aftergroup\V@@@footnotetext%
 %    \end{macrocode}
 %
 % Do not generate autopages inside the footnotes, since they are
@@ -54950,7 +55268,18 @@
 %    \end{macrocode}
 % \end{noindmacro}
 %
+% \begin{noindmacro}{\V@@@footnotetext}
+% \changes{v0.902}{2021/09/29}{\pkg{fancybox}: Improved footnote par tags.}
 %    \begin{macrocode}
+\def\V@@@footnotetext{%
+    \LWR at origtilde\LWR at orignewline%
+    \LWR at htmltagc{/\LWR at tagregularparagraph}\LWR at orignewline%
+    \strut\egroup%
+}
+%    \end{macrocode}
+% \end{noindmacro}
+%
+%    \begin{macrocode}
 }% AfterEndPreamble
 %    \end{macrocode}
 %
@@ -54993,7 +55322,7 @@
 \def\endSbox{\endLWR at nestspan\LWR at origendSbox}
 %    \end{macrocode}
 %
-% \env{Beqnarray} is adapted for \brand{MathJax} or enclosed inside a \env{lateximage}:
+% \env{Beqnarray} is adapted for \MathJax\ or enclosed inside a \env{lateximage}:
 %
 %    \begin{macrocode}
 \RenewEnviron{Beqnarray}
@@ -55438,13 +55767,14 @@
 % Patched to use the new version.
 %    \begin{macrocode}
 \def\VerbatimFootnotes{%
-\let\@footnotetext\V at footnotetext%
-\let\footnote\V at footnote%
-\let\LWR at footnotetext\V at footnotetext% lwarp
+    \let\@footnotetext\V at footnotetext%
+    \let\footnote\V at footnote%
+    \let\LWR at footnotetext\V at footnotetext% lwarp
 }
 %    \end{macrocode}
 % \end{noindmacro}
 %
+%
 % \begin{noindmacro}{\V@@footnotetext}
 % Patches in a subset of \pkg{lwarp}'s \cs{LWR at footnotetext} to the
 % \pkg{fancyvrb} version of \cs{V@@footnotetext}.
@@ -55457,12 +55787,12 @@
 % Place an autopage marker so that back references to citations inside
 % a footnote will link closer to the footnote text, if possible.
 %    \begin{macrocode}
-\LWR at newautopagelabel{page}%
+    \LWR at newautopagelabel{page}%
 %    \end{macrocode}
 %
 % Take the current footnote box, then append:
 %    \begin{macrocode}
-\global\setbox\LWR at footnotebox=\vbox\bgroup%
+    \global\setbox\LWR at footnotebox=\vbox\bgroup%
 %    \end{macrocode}
 % Add to any current footnotes:
 %    \begin{macrocode}
@@ -55480,13 +55810,9 @@
 %    \end{macrocode}
 % Use paragraph tags if in a tabular data cell or a \env{lateximage}:
 % \changes{v0.66}{2019/02/02}{Improved \HTML\ formatting.}
+% \changes{v0.902}{2021/09/29}{\pkg{fancyvrb}: Improved footnote par tags.}
 %    \begin{macrocode}
-    \ifthenelse{%
-        \boolean{LWR at doingstartpars} \AND%
-        \cnttest{\value{LWR at lateximagedepth}}{=}{0}%
-    }%
-        {}%
-        {\LWR at htmltagc{\LWR at tagregularparagraph}\LWR at orignewline}%
+    \LWR at htmltagc{\LWR at tagregularparagraph}\LWR at orignewline%
 %    \end{macrocode}
 % Append the footnote mark to the list:
 %    \begin{macrocode}
@@ -55494,8 +55820,8 @@
 %    \end{macrocode}
 % The footnote text will follow after \cs{V@@@footnotetext} has completed.
 %    \begin{macrocode}
-  \bgroup%
-  \aftergroup{\V@@@footnotetext}%
+    \bgroup%
+    \aftergroup\V@@@footnotetext%
 %    \end{macrocode}
 %
 % Do not generate autopages inside the footnotes, since they are
@@ -55504,12 +55830,23 @@
     \let\LWR at newautopagelabel\LWR at null@newautopagelabel%
 %    \end{macrocode}
 %    \begin{macrocode}
-  \ignorespaces%
+    \ignorespaces%
 }%
 %    \end{macrocode}
 % \end{noindmacro}
 %
+% \begin{noindmacro}{\V@@@footnotetext}
+% \changes{v0.902}{2021/09/29}{\pkg{fancyvrb}: Improved footnote par tags.}
+%    \begin{macrocode}
+\def\V@@@footnotetext{%
+    \LWR at origtilde\LWR at orignewline%
+    \LWR at htmltagc{/\LWR at tagregularparagraph}\LWR at orignewline%
+    \strut\egroup%
+}
+%    \end{macrocode}
+% \end{noindmacro}
 %
+%
 % \changes{v0.45}{2018/01/07}{\pkg{fancyvrb}: Improvements.}
 %    \begin{macrocode}
 \preto\FVB at Verbatim{\LWR at forcenewpage}
@@ -55977,7 +56314,7 @@
 \LWR at formatted{FParBox at ii}
 %    \end{macrocode}
 %
-% For \brand{MathJax}, absorb and ignore star and optional arguments:
+% For \MathJax, absorb and ignore star and optional arguments:
 %    \begin{macrocode}
 \CustomizeMathJax{\let\LWRorigfbox\fbox}
 \CustomizeMathJax{\newcommand{\LWRfboxpkgtwo}[2][]{\LWRorigfbox{#2}}}
@@ -56186,9 +56523,9 @@
 %
 % \DescribePackage{fixmath}
 % \pkg{fixmath} is used as-is for \SVG\ math, and
-% emulated for \brand{MathJax}.
+% emulated for \MathJax.
 %
-% \brand{MathJax} does not have full font support for bold italic Greek.
+% \MathJax\ does not have full font support for bold italic Greek.
 % \watchout[limitations]
 %
 % \changes{v0.893}{2020/10/30}{\pkg{fixmath}: Added.}
@@ -57293,7 +57630,7 @@
 %
 % Hashed inline images are used, as there may not be Unicode support for all icons.
 %
-% If using pdf\LaTeX, \prog{poppler} may issue a syntax warning
+% If using \pdfLaTeX, \prog{poppler} may issue a syntax warning
 % \trouble[\prog{poppler} syntax warning]{poppler=\prog{poppler}>Syntax Warning (ligature)}
 % \trouble{Syntax Warning (ligature)}
 % regarding parsing a ligature component.
@@ -57302,7 +57639,7 @@
 % In the following, the general strategy is to intercept \cs{symbol} and
 % embed it inside a \env{lateximage}.  These changes are done inside a local group.
 %
-% For pdf\LaTeX, the \attribute{alt} tag includes the icon (symbol) number.
+% For \pdfLaTeX, the \attribute{alt} tag includes the icon (symbol) number.
 % For \XeLaTeX\ and \LuaLaTeX, the \attribute{alt} tag is generic.
 %
 % \changes{v0.67}{2019/02/22}{\pkg{fontawesome}: Added.}
@@ -57486,7 +57823,7 @@
 % \section{fontenc}
 %
 % \DescribePackage{fontenc}
-% If using pdf\LaTeX, \pkg{lwarp} used to require \pkg{fontenc} be loaded
+% If using \pdfLaTeX, \pkg{lwarp} used to require \pkg{fontenc} be loaded
 % before \pkg{lwarp},
 % but now \pkg{lwarp} itself loads \cs{fontenc} with T1 encoding, which
 % \pkg{lwarp} requires.  \pkg{fontenc} is now allowed to be loaded with another
@@ -57603,9 +57940,56 @@
 % \changes{v0.36}{2017/08/15}{\pkg{footnote}: Extra \protect\HTML\ source space after paragraphs.}
 %
 % \codehtml
+%
+% \pkg{footnote} patches \cs{@makefntext} in a strange way.
+% It must be restored to the expected defintion before loading \pkg{footnote},
+% then replaced again after.
 %    \begin{macrocode}
+\long\def\@makefntext#1{\textsuperscript{\@thefnmark}~#1}
+
 \LWR at ProvidesPackagePass{footnote}[1997/01/28]
+
+\long\def\@makefntext#1{\textsuperscript{\@thefnmark}~{#1}}
 %    \end{macrocode}
+
+
+% \changes{v0.902}{2021/09/20}{\pkg{footnote}: Improved par tags.}
+%    \begin{macrocode}
+\def\spewnotes{%
+  \endgroup%
+  \if at savingnotes\else\ifvoid\fn at notes\else\begingroup%
+    \let\@makefntext\@empty%
+    \let\@finalstrut\@gobble%
+    \let\rule\@gobbletwo%
+    \booltrue{LWR at spewingnotes}%        lwarp
+    \@footnotetext{\unvbox\fn at notes}%
+  \endgroup\fi\fi%
+}
+\let\endsavenotes\spewnotes
+
+
+\def\fn at fntext#1{%
+  \ifx\ifmeasuring@\@@undefined%
+    \expandafter\@secondoftwo\else\expandafter\@iden%
+  \fi%
+  {\ifmeasuring@\expandafter\@gobble\else\expandafter\@iden\fi}%
+  {%
+    \global\setbox\fn at notes\vbox{%
+      \unvbox\fn at notes%
+      \LWR at htmltagc{\LWR at tagregularparagraph}%      lwarp
+      \LWR at orignewline%                             lwarp
+      \fn at startnote%
+      \@makefntext{%
+        \rule\z@\footnotesep%
+        \ignorespaces%
+        #1%
+        \@finalstrut\strutbox%
+      }%
+      \fn at endnote%
+    }%
+  }%
+}
+%    \end{macrocode}
 %
 % Removed print-version formatting:
 %    \begin{macrocode}
@@ -57617,23 +58001,34 @@
 
 % \let\fn at endnote\color at endgroup% *** conflicts with lwarp
 \def\fn at endnote{%
-\LWR at htmltagc{/\LWR at tagregularparagraph}%
-\LWR at orignewline%
+    \LWR at origtilde\LWR at orignewline%
+    \LWR at htmltagc{/\LWR at tagregularparagraph}\LWR at orignewline%
+    \LWR at origtilde\LWR at orignewline%
 }
 %    \end{macrocode}
 %
 % Removed print-version formatting:
+% \changes{v0.902}{2021/09/18}{\pkg{footnote}: Fixed missing number.}
 %    \begin{macrocode}
 \def\fn at startfntext{%
   \setbox\z@\vbox\bgroup%
+    \LWR at htmltagc{\LWR at tagregularparagraph}%    lwarp
+    \LWR at orignewline%                           lwarp
     \fn at startnote%
+    \fn at prefntext% Req'd for numbering.
+%     \rule\z@\footnotesep%
     \ignorespaces%
 }
+
 %    \end{macrocode}
 %
 % Removed print-version formatting, added closing paragraph tag:
+%
+% \changes{v0.902}{2021/09/20}{\pkg{footnote}: Improved par tags.}
 %    \begin{macrocode}
 \def\fn at endfntext{%
+    \fn at postfntext%
+    \LWR at origtilde\LWR at orignewline%
     \LWR at htmltagc{/\LWR at tagregularparagraph}%
     \LWR at orignewline%
   \egroup%
@@ -57641,6 +58036,7 @@
     \let\@makefntext\@empty%
     \let\@finalstrut\@gobble%
     \LetLtxMacro\rule\@gobbletwo% *8* also the optional argument?
+    \booltrue{LWR at spewingnotes}%    lwarp
     \@footnotetext{\unvbox\z@}%
   \endgroup%
 }
@@ -57706,6 +58102,7 @@
 % Discard all options for \pkg{lwarp-footnotehyper}:
 %    \begin{macrocode}
 \RequirePackage{footnote}
+
 \LWR at ProvidesPackageDrop{footnotehyper}[2018/01/23]
 %    \end{macrocode}
 %
@@ -57875,7 +58272,7 @@
 %
 % \DescribePackage{fouridx}
 % \pkg{fouridx} works as-is with \SVG\ math, and
-% is emulated for \brand{MathJax}.
+% is emulated for \MathJax.
 %
 % \changes{v0.80}{2020/02/10}{\pkg{fouridx}: Added.}
 %
@@ -57914,12 +58311,12 @@
 %
 % \DescribePackage{fourier}
 % \pkg{fourier} is used as-is for \SVG\ math, and is
-% emulated for \brand{MathJax}.
+% emulated for \MathJax.
 %
-% The \brand{MathJax} emulation ignores all package options,
+% The \MathJax\ emulation ignores all package options,
 % \trouble[limitations]{fourier=\pkg{fourier}}
 % except \optn{sloped} and \optn{upright} are honored for Greek characters,
-% but \brand{MathJax} cannot yet honor these for Latin characters.
+% but \MathJax\ cannot yet honor these for Latin characters.
 %
 % The dedicated macros for upright and italic Greek letters do work correctly.
 %
@@ -58630,10 +59027,10 @@
 %
 % \DescribePackage{gensymb}
 % \pkg{gensymb} works as-is for \SVG\ math, and
-% uses the \brand{MathJax} package.
+% uses the \MathJax\ package.
 %
 % \changes{v0.80}{2020/02/09}{\pkg{gensymb}: Added.}
-% \changes{v0.901}{2021/08/26}{\pkg{gensymb}: Use \brand{MathJax} 3.2 package.}
+% \changes{v0.901}{2021/08/26}{\pkg{gensymb}: Use \MathJax\ 3.2 package.}
 %
 % \codehtml
 %
@@ -59608,7 +60005,7 @@
 % Temporarily prevent underfull \cs{hbox} warnings.
 % \changes{v0.898}{2021/05/24}{Reduced underfull \cs{hbox} warnings.}
 %    \begin{macrocode}
-            \hbadness=10000\relax%
+    \hbadness=10000\relax%
 %    \end{macrocode}
 %
 % Reset some defaults, possibly will be changed below if options were given:
@@ -60194,7 +60591,7 @@
             }%
         \textquotedbl%
     }%
-    \let\item\LWR at itemizeitem%
+    \LetLtxMacro\item\LWR at itemizeitem%
     \list{}{}%
 }
 {\endlist}
@@ -60317,7 +60714,7 @@
 % \credits{Andy Buckley}
 %
 % \DescribePackage{hepunits}
-% \pkg{hepunits} is used as-is, and emulated for \brand{MathJax}.
+% \pkg{hepunits} is used as-is, and emulated for \MathJax.
 %
 % \changes{v0.89}{2020/07/23}{\pkg{hepunits}: Added.}
 %
@@ -60437,7 +60834,7 @@
 %    \end{macrocode}
 %
 %
-% For \brand{MathJax}.  A simple \cs{hline} is used.
+% For \MathJax.  A simple \cs{hline} is used.
 %    \begin{macrocode}
 \begin{warpMathJax}
 \CustomizeMathJax{\newcommand{\hhline}[1]{\hline}}
@@ -60462,7 +60859,7 @@
 % \credits{Harald Harders}
 %
 % \DescribePackage{hhtensor}
-% \pkg{hhtensor} is used as-is, and emulated for \brand{MathJax}.
+% \pkg{hhtensor} is used as-is, and emulated for \MathJax.
 %
 % \changes{v0.88}{2020/07/23}{\pkg{hhtensor}: Added.}
 %
@@ -61061,6 +61458,7 @@
 }
 
 \newcommand*{\hypertarget}{%
+    \LWR at ensuredoingapar%
     \begingroup%
     \LWR at linkcatcodes%
     \LWR at hypertargetb%
@@ -61694,9 +62092,9 @@
 % \HTML\ versions of \cs{item}, etc.:
 %    \begin{macrocode}
 \appto\theindex{%
-    \let\item\LWR at indexitem%
-    \let\subitem\LWR at indexsubitem%
-    \let\subsubitem\LWR at indexsubsubitem%
+    \LetLtxMacro\item\LWR at indexitem%
+    \LetLtxMacro\subitem\LWR at indexsubitem%
+    \LetLtxMacro\subsubitem\LWR at indexsubsubitem%
 }
 %    \end{macrocode}
 % \end{noindmacro}
@@ -61812,9 +62210,9 @@
 \renewenvironment*{theindex}{%
     \imki at maybeaddtotoc
      \imki at indexlevel{\indexname}
-    \let\item\LWR at indexitem%
-    \let\subitem\LWR at indexsubitem%
-    \let\subsubitem\LWR at indexsubsubitem%
+    \LetLtxMacro\item\LWR at indexitem%
+    \LetLtxMacro\subitem\LWR at indexsubitem%
+    \LetLtxMacro\subsubitem\LWR at indexsubsubitem%
 }{}
 }% AtBeginDocument
 %    \end{macrocode}
@@ -61961,9 +62359,9 @@
         \index at prologue
         \bigskip
     \fi
-    \let\item\LWR at indexitem%
-    \let\subitem\LWR at indexsubitem%
-    \let\subsubitem\LWR at indexsubsubitem%
+    \LetLtxMacro\item\LWR at indexitem%
+    \LetLtxMacro\subitem\LWR at indexsubitem%
+    \LetLtxMacro\subsubitem\LWR at indexsubsubitem%
 }{}
 }% AtBeginDocument
 %    \end{macrocode}
@@ -62077,10 +62475,10 @@
 %
 % \DescribePackage{isomath}
 % \pkg{isomath} is used as-is for \SVG\ math, and
-% emulated for \brand{MathJax}.
+% emulated for \MathJax.
 %
-% \brand{MathJax} does not provide a sans math font, so sans is typeset as roman.
-% \trouble[\brand{MathJax} sans]{isomath=\pkg{isomath}}
+% \MathJax\ does not provide a sans math font, so sans is typeset as roman.
+% \trouble[\MathJax\ sans]{isomath=\pkg{isomath}}
 %
 % \changes{v0.895}{2021/02/08}{\pkg{isomath}: Added.}
 %
@@ -62123,7 +62521,7 @@
 %
 % \DescribePackage{isotope}
 % \pkg{isotope} is patched for use by \pkg{lwarp} with \SVG\ math,
-% and emulated for \brand{MathJax}.
+% and emulated for \MathJax.
 %
 % \changes{v0.895}{2021/01/10}{\pkg{isotope}: Added.}
 %
@@ -62949,9 +63347,9 @@
 %
 % \DescribePackage{kpfonts}
 % \pkg{kpfonts} is used as-is for \SVG\ math, and is
-% emulated for \brand{MathJax}.
+% emulated for \MathJax.
 %
-% The \brand{MathJax} emulation honors the options
+% The \MathJax\ emulation honors the options
 % \trouble[limitations]{kpfonts=\pkg{kpfonts}}
 %   \optn{uprightRoman} for \cs{D} only,
 %   \optn{classicReIm},
@@ -63057,9 +63455,9 @@
 %
 % \DescribePackage{kpfonts-otf}
 % \pkg{kpfonts-otf} is used as-is for \SVG\ math, and is
-% emulated for \brand{MathJax}.
+% emulated for \MathJax.
 %
-% The \brand{MathJax} emulation honors the options
+% The \MathJax\ emulation honors the options
 % \trouble[limitations]{kpfonts-otf=\pkg{kpfonts-otf}}
 %   \optn{fancyReIm},
 %   \optn{mathcal},
@@ -63070,7 +63468,7 @@
 %
 % The \pkg{unicode-math} dedicated macros for Greek work correctly.
 %
-% The \brand{MathJax} emulation does not change with the use of \cs{mathversion}.
+% The \MathJax\ emulation does not change with the use of \cs{mathversion}.
 % \watchout[\cs{mathversion}]
 % Whatever emulation is established at the begin of the document will remain.
 %
@@ -63413,7 +63811,7 @@
 %
 % \DescribePackage{leftidx}
 % \pkg{leftidx} works as-is with \SVG\ math, and
-% is emulated for \brand{MathJax}.
+% is emulated for \MathJax.
 %
 % \changes{v0.80}{2020/02/10}{\pkg{leftidx}: Added.}
 %
@@ -63548,18 +63946,18 @@
 %
 % \DescribePackage{libertinust1math}
 % \pkg{libertinust1math} is used as-is for \SVG\ math, and is
-% emulated for \brand{MathJax}.
+% emulated for \MathJax.
 %
-% The \brand{MathJax} emulation honors
+% The \MathJax\ emulation honors
 % \optn{frenchmath} for Greek but not Latin characters,
 % and \optn{slantedGreek}, \optn{uprightGreek}, and \optn{ISO}
 % also adjust Greek characters.
-% \brand{MathJax} cannot yet honor options for adjusting Latin characters.
+% \MathJax\ cannot yet honor options for adjusting Latin characters.
 %
 % The dedicated macros for upright and italic Greek letters do work correctly.
 %
 % Some of the symbol font macros such as \cs{mathsfbf} do not use a sans font
-% because \brand{MathJax} does not yet have sans Greek.
+% because \MathJax\ does not yet have sans Greek.
 %
 % \SVG\ math honors all font choices, and should appear the same as the printed output.
 %
@@ -63601,7 +63999,7 @@
 \CustomizeMathJax{\let\uppartial\partial}% not upright
 %    \end{macrocode}
 %
-% \changes{v0.895}{2021/01/04}{\pkg{libertinust1math}: \brand{MathJax}: Fixed for Greek, ignoring sans.}
+% \changes{v0.895}{2021/01/04}{\pkg{libertinust1math}: \MathJax: Fixed for Greek, ignoring sans.}
 %    \begin{macrocode}
 \CustomizeMathJax{\let\mathsfbf\mathbf}% not sans
 % \CustomizeMathJax{\newcommand{\mathsfbf}[1]{%
@@ -63612,7 +64010,7 @@
 \CustomizeMathJax{\let\mathbfit\boldsymbol}
 %    \end{macrocode}
 %
-% \changes{v0.895}{2021/01/04}{\pkg{libertinust1math}: \brand{MathJax}: Fixed for Greek, ignoring sans.}
+% \changes{v0.895}{2021/01/04}{\pkg{libertinust1math}: \MathJax: Fixed for Greek, ignoring sans.}
 %    \begin{macrocode}
 % \CustomizeMathJax{\newcommand{\mathsfbfit}[1]{\boldsymbol{#1}}}% not sans
 \CustomizeMathJax{\let\mathsfbfit\mathbfit}% not sans
@@ -63621,7 +64019,7 @@
 % }}%
 %    \end{macrocode}
 %
-% \changes{v0.895}{2021/01/04}{\pkg{libertinust1math}: \brand{MathJax}: Fixed for Greek, ignoring sans.}
+% \changes{v0.895}{2021/01/04}{\pkg{libertinust1math}: \MathJax: Fixed for Greek, ignoring sans.}
 %    \begin{macrocode}
 \CustomizeMathJax{\let\mathsfit\mathit}% not sans
 % \CustomizeMathJax{\newcommand{\mathsfit}[1]{%
@@ -64243,7 +64641,7 @@
 %
 % \cs{LWR at forcenewpage} is moved to the start to avoid a spurrious bug
 % with paragraph handling and conditionals.
-% \changes{v0.891}{2020/09/16}{\pkg{listings}: Fix for \brand{MathJax}: Moved \cs{LWR at forcenewpage} to start.}
+% \changes{v0.891}{2020/09/16}{\pkg{listings}: Fix for \MathJax: Moved \cs{LWR at forcenewpage} to start.}
 %    \begin{macrocode}
 \lst at ifdisplaystyle%        lwarp
     \LWR at forcenewpage%      lwarp
@@ -64370,7 +64768,7 @@
     \LWR at traceinfo{lst at Init: About to create verbatim.}%  lwarp
     \let\lsthk at EveryPar\relax%                  lwarp
 %    \end{macrocode}
-% \changes{v0.891}{2020/09/16}{\pkg{listings}: Fix for \brand{MathJax}: Moved \cs{LWR at forcenewpage} to start.}
+% \changes{v0.891}{2020/09/16}{\pkg{listings}: Fix for \MathJax: Moved \cs{LWR at forcenewpage} to start.}
 %    \begin{macrocode}
     \LWR at atbeginverbatim{programlisting}%       lwarp
 
@@ -65278,23 +65676,43 @@
 % offset and thickness control for \cs{uline}, etc.
 %
 % \changes{v0.82}{2020/03/22}{\pkg{luatexko}: Added.}
+% \changes{v0.902}{2021/09/30}{\pkg{luatexko}: Updated to v3.3.}
 %
 % \codehtml
 %
 %    \begin{macrocode}
-\LWR at ProvidesPackagePass{luatexko}[2020/03/20]
+\LWR at ProvidesPackagePass{luatexko}[2021/07/10]
 %    \end{macrocode}
 %
+%
 %    \begin{macrocode}
+\protected\def\typesetvertical{}
+\protected\def\typesethorizontal{}
+
+\def\verticaltypesetting{\BlockClass{verticalrl}}
+\def\beginverticaltypesetting{\BlockClass{verticalrl}}
+\def\endverticaltypesetting{\endBlockClass}
+
+\protected\def\vertical#1{\BlockClass{verticalrl}}
+\protected\def\endvertical{\endBlockClass}
+\protected\def\horizontal#1{\BlockClass{horizontaltb}}
+\protected\def\endhorizontal{\endBlockClass}
+\DeclareDocumentCommand{\vertlatin}{m}{#1}
+%    \end{macrocode}
+%
+%    \begin{macrocode}
 \newcommand{\LWR at HTML@dotemph}[1]{%
 %     \uline{#1}%
     \InlineClass[text-emphasis-style: dot]{dotemph}{#1}%
 }
 \LWR at formatted{dotemph}
+%    \end{macrocode}
 
+% \changes{v0.902}{2021/09/30}{\pkg{luatexko}: Removed deprecated \element{rb}.}
+%    \begin{macrocode}
 \newcommand{\LWR at HTML@ruby}[2]{%
     \LWR at htmltagc{ruby}%
-    \LWR at htmltagc{rb}#1\LWR at htmltagc{/rb}%
+    #1%
     \LWR at htmltagc{rp}(\LWR at htmltagc{/rp}%
     \LWR at htmltagc{rt}#2\LWR at htmltagc{/rt}%
     \LWR at htmltagc{rp})\LWR at htmltagc{/rp}%
@@ -66075,8 +66493,8 @@
 }
 %    \end{macrocode}
 %
-% For \brand{MathJax}:
-% \changes{v0.82}{2020/03/14}{\pkg{marginnote}: Added \brand{MathJax} emulation.}
+% For \MathJax:
+% \changes{v0.82}{2020/03/14}{\pkg{marginnote}: Added \MathJax\ emulation.}
 %    \begin{macrocode}
 \begin{warpMathJax}
 \CustomizeMathJax{\newcommand{\LWRmarginnote}[1][]{}}
@@ -66147,11 +66565,11 @@
 %
 % \DescribePackage{mathalpha}
 % \pkg{mathalpha} is used as-is for \SVG\ math, and is
-% emulated for \brand{MathJax}.
+% emulated for \MathJax.
 %
-% The \brand{MathJax} emulation ignores all package options,
+% The \MathJax\ emulation ignores all package options,
 % \trouble[limitations]{mathalpha=\pkg{mathalpha}}
-% and some bold fonts may not be not supported by \brand{MathJax}.
+% and some bold fonts may not be not supported by \MathJax.
 %
 % \changes{v0.89}{2020/08/31}{\pkg{mathalpha}: Added.}
 %
@@ -66187,7 +66605,7 @@
 %
 % \DescribePackage{mathastext}
 % \pkg{mathastext} is used as-is for \SVG\ math,
-% and emulated for \brand{MathJax}.
+% and emulated for \MathJax.
 %
 % \changes{v0.893}{2020/10/14}{\pkg{mathastext}: Added.}
 %
@@ -66263,7 +66681,7 @@
 %
 % \DescribePackage{mathcomp}
 % \pkg{mathcomp} is supported as-is for \SVG\ math, and
-% is emulated for \brand{MathJax}.
+% is emulated for \MathJax.
 %
 % \changes{v0.80}{2020/02/09}{\pkg{mathcomp}: Added.}
 %
@@ -66305,9 +66723,9 @@
 %
 % \DescribePackage{mathdesign}
 % \pkg{mathdesign} is used as-is for \SVG\ math, and is
-% emulated for \brand{MathJax}.
+% emulated for \MathJax.
 %
-% The \brand{MathJax} emulation ignores all package options
+% The \MathJax\ emulation ignores all package options
 % \trouble[limitations]{mathdesign=\pkg{mathdesign}}
 % except \optn{greekuppercase} and \optn{greeklowercase}.
 % The dedicated macros for upright and italic greek letters work correctly,
@@ -66324,7 +66742,7 @@
 \LWR at ProvidesPackagePass{mathdesign}[2013/08/29]
 %    \end{macrocode}
 %
-% For \brand{MathJax}:
+% For \MathJax:
 %    \begin{macrocode}
 \LWR at origRequirePackage{lwarp-common-mathjax-letters}
 
@@ -66428,7 +66846,7 @@
 %
 % \DescribePackage{mathdots}
 % \pkg{mathdots} is used as-is for \SVG\ math, and
-% emulated for \brand{MathJax}.
+% emulated for \MathJax.
 %
 % \changes{v0.80}{2020/02/16}{\pkg{mathdots}: Added.}
 % \changes{v0.891}{2020/09/08}{\pkg{mathdots}: Added more macros, \cs{mathinner}.}
@@ -66472,7 +66890,7 @@
 %
 % \DescribePackage{mathfixs}
 % \pkg{mathfixs} is used as-is for \SVG\ math, and
-% is emulated for \brand{MathJax}.
+% is emulated for \MathJax.
 %
 % Greek letters are unchanged.\watchout
 %
@@ -66515,9 +66933,9 @@
 %
 % \DescribePackage{mathpazo}
 % \pkg{mathpazo} is used as-is for \SVG\ math, and is
-% emulated for \brand{MathJax}.
+% emulated for \MathJax.
 %
-% The \brand{MathJax} emulation ignores all package options.
+% The \MathJax\ emulation ignores all package options.
 % \trouble[limitations]{mathpazo=\pkg{mathpazo}}
 % The dedicated macros for upright greek letters do work correctly.
 %
@@ -66532,7 +66950,7 @@
 \LWR at ProvidesPackagePass{mathpazo}[2020/03/25]
 %    \end{macrocode}
 %
-% For \brand{MathJax}:
+% For \MathJax:
 %    \begin{macrocode}
 \LWR at origRequirePackage{lwarp-common-mathjax-letters}
 
@@ -66567,9 +66985,9 @@
 %
 % \DescribePackage{mathptmx}
 % \pkg{mathptmx} is used as-is for \SVG\ math, and is
-% emulated for \brand{MathJax}.
+% emulated for \MathJax.
 %
-% The \brand{MathJax} emulation ignores all package options.
+% The \MathJax\ emulation ignores all package options.
 % \trouble[limitations]{mathptmx=\pkg{mathptmx}}
 % The dedicated macros for upright greek letters do work correctly.
 %
@@ -66584,7 +67002,7 @@
 \LWR at ProvidesPackagePass{mathptmx}[2020/03/25]
 %    \end{macrocode}
 %
-% For \brand{MathJax}:
+% For \MathJax:
 %    \begin{macrocode}
 \LWR at origRequirePackage{lwarp-common-mathjax-letters}
 
@@ -66618,11 +67036,11 @@
 %
 % \DescribePackage{mathspec}
 % \pkg{mathspec} is used as-is with \SVG\ math,
-% and is emulated for \brand{MathJax}.
+% and is emulated for \MathJax.
 %
 % Double quotes (\cs{"} and the |"| character)
 % \trouble[quotes]{mathspec=\pkg{mathspec}}
-% are removed during \brand{MathJax} emulation,
+% are removed during \MathJax\ emulation,
 % but this also includes inside \cs{text}.
 %
 % \changes{v0.893}{2020/11/22}{\pkg{mathspec}: Added.}
@@ -66744,7 +67162,7 @@
 %
 % \DescribePackage{mathtools}
 % \pkg{mathtools} is patched for use by \pkg{lwarp}.
-% Emulation macros are provided for \brand{MathJax}.
+% Emulation macros are provided for \MathJax.
 %
 % \limitsmathtools
 %
@@ -66792,15 +67210,15 @@
 %    \end{macrocode}
 %
 %
-% For \brand{MathJax}.
+% For \MathJax.
 %
-% The \brand{MathJax} package is used, and improvements are added.
+% The \MathJax\ package is used, and improvements are added.
 %
-% \changes{v0.79}{2020/01/26}{\pkg{mathtools}: Added \brand{MathJax} emulation.}
+% \changes{v0.79}{2020/01/26}{\pkg{mathtools}: Added \MathJax\ emulation.}
 % \changes{v0.87}{2020/05/20}{\pkg{mathtools}: Updated starred macros.}
 % \changes{v0.87}{2020/05/20}{\pkg{mathtools}: Improved \cs{underbraket}, \cs{overbracket}.}
 % \changes{v0.891}{2020/09/19}{\pkg{mathtools}: Improved \cs{underbraket}, \cs{overbracket}.}
-% \changes{v0.901}{2021/08/26}{\pkg{mathtools}: Uses \brand{MathJax} 3.2 package.}
+% \changes{v0.901}{2021/08/26}{\pkg{mathtools}: Uses \MathJax\ 3.2 package.}
 %    \begin{macrocode}
 \begin{warpMathJax}
 \CustomizeMathJax{\require{mathtools}}
@@ -66968,7 +67386,7 @@
 %
 % \DescribePackage{mattens}
 % \pkg{mattens} is used as-is for \SVG\ math,
-% and is emulated for \brand{MathJax}.
+% and is emulated for \MathJax.
 %
 % \changes{v0.895}{2021/02/11}{\pkg{mattens}: Added.}
 %
@@ -67084,9 +67502,9 @@
 %
 % \DescribePackage{maybemath}
 % \pkg{maybemath} is used as-is for \SVG\ math,
-% and is emulated for \brand{MathJax}.
+% and is emulated for \MathJax.
 %
-% \brand{MathJax} is not able to detect the surrounding text font,
+% \MathJax\ is not able to detect the surrounding text font,
 % \trouble[no effect]{maybemath=\pkg{maybemath}}
 % so all \pkg{maybemath} macros are ignored.
 %
@@ -67766,7 +68184,7 @@
 %
 % \DescribePackage{mdwmath}
 % \pkg{mdwmath} is used as-is for \SVG\ math, and
-% is emulated for \brand{MathJax}.
+% is emulated for \MathJax.
 %
 % \changes{v0.895}{2021/01/11}{\pkg{mdwmath}: Added.}
 %
@@ -68100,21 +68518,21 @@
 % \DescribePackage{mhchem}
 % \pkg{mhchem} is patched for use by \pkg{lwarp}.
 %
-% Without \brand{MathJax}, \pkg{mhchem} expressions are converted to \SVG\ math.
-% \margintag{without \brand{MathJax}}
+% Without \MathJax, \pkg{mhchem} expressions are converted to \SVG\ math.
+% \margintag{without \MathJax}
 % Inline expressions use hashed filenames to allow reuse,
 % and assume that any \pkg{mhchem} options are global.
 %
-% For \brand{MathJax}, the \pkg{mhchem} extension is used if
-% \trouble{mathjax=\brand{MathJax}>mhchem=\pkg{mhchem}}
-% \trouble{mhchem=\pkg{mhchem}>mathjax=\brand{MathJax}}
-% \margintag{\brand{MathJax} with \pkg{mhchem} extension}
+% For \MathJax, the \pkg{mhchem} extension is used if
+% \trouble{mathjax=\MathJax>mhchem=\pkg{mhchem}}
+% \trouble{mhchem=\pkg{mhchem}>mathjax=\MathJax}
+% \margintag{\MathJax\ with \pkg{mhchem} extension}
 % the \pkg{mhchem} expression is used inside a math expression:
 % \begin{sourceverb}
 % $\ce{C6H5-CHO}$
 % \end{sourceverb}
 % To force the use of \SVG\ math for an expression which does not work with
-% \brand{MathJax},
+% \MathJax,
 % place the expression between \cs{displaymathother} and \cs{displaymathnormal}:
 % \begin{sourcedisplay}
 % \cs{displaymathother} \\
@@ -68126,7 +68544,7 @@
 % \marginpar{not inside math}
 % expressions into \SVG\ math images.
 %
-% When producing \HTML\ output without the \brand{MathJax} \pkg{mhchem} extension,
+% When producing \HTML\ output without the \MathJax\ \pkg{mhchem} extension,
 % \pkg{lwarp} does not support
 % \trouble[nested math]{mhchem=\pkg{mhchem}>nested dollar signs}
 % the use of nested dollar signs in \pkg{mhchem} expressions.
@@ -68153,7 +68571,7 @@
 %
 % \changes{v0.51}{2018/03/04}{\pkg{mhchem}: Added.}
 % \changes{v0.74}{2019/08/26}{\pkg{mhchem}: Modified for new \env{lateximage}.}
-% \changes{v0.87}{2020/06/02}{\pkg{mhchem}: Now uses \brand{MathJax} v3 extension.}
+% \changes{v0.87}{2020/06/02}{\pkg{mhchem}: Now uses \MathJax\ v3 extension.}
 %
 % \codehtml
 %
@@ -68598,29 +69016,29 @@
 %
 % \DescribePackage{mismath}
 % \pkg{mismath} is patched for \SVG\ math, and
-% emulated for \brand{MathJax}.
+% emulated for \MathJax.
 %
 % \cs{enumber}, \cs{inumber}, \cs{jnumber}, and \cs{pinumber} are
-% \watchout[\brand{MathJax}]
-% ignored for \brand{MathJax}, except that \cs{itpi} is made available as a
+% \watchout[\MathJax]
+% ignored for \MathJax, except that \cs{itpi} is made available as a
 % clone of \cs{pi}.
 %
-% For \brand{MathJax}, \cs{boldvect} and \cs{arrowvect} are honored if
+% For \MathJax, \cs{boldvect} and \cs{arrowvect} are honored if
 % in the preamble.
 %
 % If \cs{boldvectcommand} is set to \cs{mathbf} in the preamble,
-% it will be used for \brand{MathJax}, otherwise it will default to \cs{mathit}.
+% it will be used for \MathJax, otherwise it will default to \cs{mathit}.
 % \cs{boldvectcommand} may also be set with \cs{CustomizeMathJax} in
 % the preamble.  See \cref{sec:limitscustomizemathjax}.
 % Note that as of this writing there is not a bold italic font across all
-% \brand{MathJax} fonts.
+% \MathJax\ fonts.
 %
 % If \cs{probastyle} is set to \cs{mathbb} in the preamble,
-% it will be used for \brand{MathJax}, otherwise it will default to \cs{mathrm}.
+% it will be used for \MathJax, otherwise it will default to \cs{mathrm}.
 % \cs{probastyle} may be set with \cs{CustomizeMathJax} in the preamble.
 %
 % If \cs{mathset} is set to \cs{mathbb} in the preamble,
-% it will be used for \brand{MathJax}, otherwise it will default to \cs{mathbf}.
+% it will be used for \MathJax, otherwise it will default to \cs{mathbf}.
 % \cs{mathset} may be set with \cs{CustomizeMathJax} in the preamble.
 %
 % \changes{v0.80}{2020/02/14}{\pkg{mismath}: Added.}
@@ -68632,7 +69050,7 @@
 \LWR at ProvidesPackagePass{mismath}[2019/12/27]
 %    \end{macrocode}
 %
-% For \brand{MathJax}, used in the \HTML\ comment before the environment.
+% For \MathJax, used in the \HTML\ comment before the environment.
 %    \begin{macrocode}
 \ifbool{mathjax}{
     \RenewEnviron{mathcols}{%
@@ -68820,7 +69238,7 @@
 % \credits{Heiko Oberdiek}
 %
 % \DescribePackage{mleftright}
-% \pkg{mleftright} is used as-is, and is emulated for \brand{MathJax}.
+% \pkg{mleftright} is used as-is, and is emulated for \MathJax.
 %
 % \changes{v0.88}{2020/07/22}{\pkg{mleftright}: Added.}
 %
@@ -69280,6 +69698,7 @@
 % \limitsmultimedia
 %
 % \changes{v0.71}{2019/04/22}{\pkg{multimedia}: Added.}
+% \changes{v0.902}{2021/09/07}{\pkg{multimedia}: Added \cs{hyperlinksound}, \cs{hyperlinkmute}.}
 %
 % \codehtml
 %
@@ -69294,6 +69713,10 @@
 \LetLtxMacro\sound\LWR at multimedia
 
 \newcommand{\hyperlinkmovie}[3][]{}
+
+\newcommand{\hyperlinksound}[3][]{}
+
+\newcommand{\hyperlinkmute}
 %    \end{macrocode}
 %
 % \iffalse
@@ -69315,7 +69738,7 @@
 %
 % \DescribePackage{multiobjective}
 % \pkg{multiobjective} is used as-is for \SVG\ math, and
-% is emulated for \brand{MathJax}.
+% is emulated for \MathJax.
 %
 % \changes{v0.81}{2020/03/03}{\pkg{multiobjective}: Added.}
 %
@@ -69582,9 +70005,9 @@
 % \end{macro}
 %
 %
-% For \brand{MathJax}.
+% For \MathJax.
 % Only the text is used.  All other parameters are ignored.
-% \changes{v0.79}{2020/01/27}{\pkg{multirow}: Add: \brand{MathJax} emulation.}
+% \changes{v0.79}{2020/01/27}{\pkg{multirow}: Add: \MathJax\ emulation.}
 %    \begin{macrocode}
 \begin{warpMathJax}
 % \multirow[vpos]{num}[bigstruts]{width}[vmove]{text}
@@ -70137,9 +70560,9 @@
 % \credits{Alexander I. Rozhenko}
 %
 % \DescribePackage{nccfoots}
-% \pkg{nccfoots} is used as-is, and emulated for \brand{MathJax}.
+% \pkg{nccfoots} is used as-is, and emulated for \MathJax.
 %
-% \changes{v0.82}{2020/03/14}{\pkg{nccfoots}: Added \brand{MathJax} emulation.}
+% \changes{v0.82}{2020/03/14}{\pkg{nccfoots}: Added \MathJax\ emulation.}
 %
 % \codehtml
 %
@@ -70147,7 +70570,7 @@
 \LWR at ProvidesPackagePass{nccfoots}[2005/02/03]
 %    \end{macrocode}
 %
-% For \brand{MathJax}.
+% For \MathJax.
 % There is no way to test for an empty argument, \watchout
 % so the mark is not automatically duplicated.
 %    \begin{macrocode}
@@ -70177,7 +70600,7 @@
 %
 % \DescribePackage{nccmath}
 % \pkg{nccmath} is patched for use by \pkg{lwarp}, and
-% emulated for \brand{MathJax}.
+% emulated for \MathJax.
 %
 % \changes{v0.80}{2020/02/13}{\pkg{nccmath}: Added.}
 %
@@ -70230,7 +70653,7 @@
 \CustomizeMathJax{\newcommand{\dmulticolumn}[3]{#3}}
 %    \end{macrocode}
 %
-% As of v0.86, \brand{MathJax} v3 does not offer \cs{\textbackslash*}, so
+% As of v0.86, \MathJax\ v3 does not offer \cs{\textbackslash*}, so
 % the unstarred version is used here.
 % \changes{v0.86}{2020/05/10}{\pkg{nccmath}: Fixed \cs{nr}, added starred.}
 % \changes{v0.87}{2020/05/20}{\pkg{nccmath}: Updated starred, improved \cs{underref}.}
@@ -70254,7 +70677,7 @@
 \CustomizeMathJax{\newcommand{\displaybreak}[1][]{}}
 %    \end{macrocode}
 %
-% \cs{eq}, \cs{eqs}, \cs{eqalign} are created by \LaTeX, not \brand{MathJax}.
+% \cs{eq}, \cs{eqs}, \cs{eqalign} are created by \LaTeX, not \MathJax.
 %
 %    \begin{macrocode}
 \end{warpMathJax}
@@ -70311,9 +70734,9 @@
 %
 % \DescribePackage{newpxmath}
 % \pkg{newpxmath} is used as-is for \SVG\ math, and is
-% emulated for \brand{MathJax}.
+% emulated for \MathJax.
 %
-% The \brand{MathJax} emulation ignores all package options,
+% The \MathJax\ emulation ignores all package options,
 % \trouble[limitations]{newpxmath=\pkg{newpxmath}}
 % except \optn{slantedGreek} is honored.
 % The dedicated macros for upright and italic Greek do work correctly.
@@ -70325,7 +70748,7 @@
 %
 % \codehtml
 %
-% The \brand{MathJax} code from \pkg{newtxmath} is used:
+% The \MathJax\ code from \pkg{newtxmath} is used:
 %    \begin{macrocode}
 \LWR at ProvidesPackagePass{newpxmath}[2020/01/09]
 
@@ -70373,12 +70796,12 @@
 %
 % \DescribePackage{newtxmath}
 % \pkg{newtxmath} is used as-is for \SVG\ math, and is
-% emulated for \brand{MathJax}.
+% emulated for \MathJax.
 %
-% The \brand{MathJax} emulation ignores all package options,
+% The \MathJax\ emulation ignores all package options,
 % \trouble[limitations]{newtxmath=\pkg{newtxmath}}
 % except \optn{slantedGreek} is honored, and
-% except that bold italic Latin letters are not defined for \brand{MathJax} if
+% except that bold italic Latin letters are not defined for \MathJax\ if
 % the option is not selected.
 %
 % The dedicated macros for upright and italic Greek and bold italic Latin letters
@@ -70451,9 +70874,9 @@
 %
 % \DescribePackage{newtxsf}
 % \pkg{newtxsf} is used as-is for \SVG\ math, and is
-% emulated for \brand{MathJax}.
+% emulated for \MathJax.
 %
-% The \brand{MathJax} emulation ignores all package options,
+% The \MathJax\ emulation ignores all package options,
 % \trouble[limitations]{newtxsf=\pkg{newtxsf}}
 % except \optn{slantedGreek} is honored.
 % The dedicated macros for upright and italic Greek and bold italic Latin letters
@@ -71055,12 +71478,12 @@
 %
 % \DescribePackage{nicematrix}
 % \pkg{nicematrix} is used as-is for \SVG\ math, and
-% is emulated for \brand{MathJax}.
+% is emulated for \MathJax.
 %
-% Keys/values are ignored in \brand{MathJax}.
-% \trouble[\brand{MathJax}]{nicematrix=\pkg{nicematrix}}
+% Keys/values are ignored in \MathJax.
+% \trouble[\MathJax]{nicematrix=\pkg{nicematrix}}
 % \cs{Cdots}, etc. do not span multiple cells.
-% \env{AutoNiceMatrix}, etc. are not supported for \brand{MathJax}.
+% \env{AutoNiceMatrix}, etc. are not supported for \MathJax.
 % \SVG\ math output preserves all nicematrix features.
 % To force \SVG\ output for one or more consecutive
 % math expressions, for inline math use
@@ -71203,7 +71626,7 @@
 \CustomizeMathJax{\newcommand{\Vdotsfor}[1]{\vdots}}
 %    \end{macrocode}
 %
-% There is no way to emulate \env{AutoNiceMatrix} in \brand{MathJax}.
+% There is no way to emulate \env{AutoNiceMatrix} in \MathJax.
 %    \begin{macrocode}
 \CustomizeMathJax{\newcommand{\AutoNiceMatrix}[2]{\text{(AutoNiceMatrix #1)}}}
 \CustomizeMathJax{\let\pAutoNiceMatrix\AutoNiceMatrix}
@@ -71232,7 +71655,7 @@
 %
 % \DescribePackage{noitcrul}
 % \pkg{noitcrul} is used as-is for \SVG\, and
-% emulated for \brand{MathJax}.
+% emulated for \MathJax.
 %
 % \changes{v0.80}{2020/02/13}{\pkg{noitcrul}: Added.}
 %
@@ -72526,8 +72949,8 @@
 %    \end{macrocode}
 %
 %
-% For \brand{MathJax}:
-% \changes{v0.82}{2020/03/14}{\pkg{pagenote}: Added \brand{MathJax} emulation.}
+% For \MathJax:
+% \changes{v0.82}{2020/03/14}{\pkg{pagenote}: Added \MathJax\ emulation.}
 %    \begin{macrocode}
 \begin{warpMathJax}
 \appto\LWR at syncnotenumbers{\LWR at synconenotenumber{LWRpagenote}{\thepagenote}}
@@ -72898,7 +73321,7 @@
 % \codehtml
 %
 %    \begin{macrocode}
-\LWR at ProvidesPackagePass{parnotes}[2016/08/15]
+\LWR at ProvidesPackagePass{parnotes}[2019/07/23]
 %    \end{macrocode}
 %
 %    \begin{macrocode}
@@ -72948,8 +73371,8 @@
 %    \end{macrocode}
 %
 %
-% For \brand{MathJax}:
-% \changes{v0.82}{2020/03/15}{\pkg{parnotes}: Added \brand{MathJax} emulation.}
+% For \MathJax:
+% \changes{v0.82}{2020/03/15}{\pkg{parnotes}: Added \MathJax\ emulation.}
 %    \begin{macrocode}
 \begin{warpMathJax}
 \providecommand{\parnotename}{parnote}
@@ -73303,8 +73726,8 @@
 %    \end{macrocode}
 %
 %
-% For \brand{MathJax}:
-% \changes{v0.80}{2020/02/08}{\pkg{pdfcomment}: Added \brand{MathJax} emulation.}
+% For \MathJax:
+% \changes{v0.80}{2020/02/08}{\pkg{pdfcomment}: Added \MathJax\ emulation.}
 %    \begin{macrocode}
 \begin{warpMathJax}
 \CustomizeMathJax{\newcommand{\pdfmarkupcomment}[3][]{#2}}
@@ -73932,7 +74355,7 @@
 % \limitsphysics
 %
 % \changes{v0.79}{2020/01/29}{\pkg{physics}: Added.}
-% \changes{v0.87}{2020/06/02}{\pkg{physics}: Now uses \brand{MathJax} v3 extension.}
+% \changes{v0.87}{2020/06/02}{\pkg{physics}: Now uses \MathJax\ v3 extension.}
 %
 % \codehtml
 %
@@ -73966,7 +74389,7 @@
 %
 % \DescribePackage{physunits}
 % \pkg{physunits} is supported as-is for \SVG\ math, and
-% is emulated for \brand{MathJax}.
+% is emulated for \MathJax.
 %
 % \changes{v0.81}{2020/02/29}{\pkg{physunits}: Added.}
 % \changes{v0.83}{2020/03/26}{\pkg{physunits}: Updated to v1.0.4.}
@@ -74480,10 +74903,10 @@
 %
 % \DescribePackage{plimsoll}
 % \pkg{plimsoll} is used as-is for \SVG\ math, and
-% emulated for \brand{MathJax}.
+% emulated for \MathJax.
 %
 % The \optn{circ} option is honored.
-% For \brand{MathJax}, \cs{plimsollsans} is the same as \cs{plimsollroman}.
+% For \MathJax, \cs{plimsollsans} is the same as \cs{plimsollroman}.
 %
 % \changes{v0.893}{2020/10/12}{\pkg{plimsoll}: Added.}
 %
@@ -74900,7 +75323,7 @@
 %
 % \DescribePackage{pxfonts}
 % \pkg{pxfonts} is used as-is for \SVG\ math, and is
-% emulated for \brand{MathJax}.
+% emulated for \MathJax.
 %
 % \changes{v0.89}{2020/08/10}{\pkg{pxfonts}: Added.}
 %
@@ -74910,7 +75333,7 @@
 \LWR at ProvidesPackagePass{pxfonts}[2008/01/22]
 %    \end{macrocode}
 %
-% For \brand{MathJax}:
+% For \MathJax:
 %    \begin{macrocode}
 \LWR at origRequirePackage{lwarp-common-mathjax-letters}
 
@@ -75486,7 +75909,7 @@
 %
 % \DescribePackage{relsize}
 % \pkg{relsize} is patched for use by \pkg{lwarp}, and
-% emulated for \brand{MathJax}.
+% emulated for \MathJax.
 %
 % \limitsrelsize
 %
@@ -75541,8 +75964,8 @@
 %    \end{macrocode}
 %
 %
-% For \brand{MathJax}:
-% \changes{v0.80}{2020/02/06}{\pkg{relsize}: Added \brand{MathJax} emulation.}
+% For \MathJax:
+% \changes{v0.80}{2020/02/06}{\pkg{relsize}: Added \MathJax\ emulation.}
 %    \begin{macrocode}
 \begin{warpMathJax}
 \CustomizeMathJax{\newcommand{\mathlarger}[1]{#1}}
@@ -75646,7 +76069,7 @@
 \newcommand*{\prevrepl}{}
 %    \end{macrocode}
 %
-% For \brand{MathJax}:
+% For \MathJax:
 %    \begin{macrocode}
 \begin{warpMathJax}
 \CustomizeMathJax{\newcommand{\repltext}[2]{#2}}
@@ -75779,7 +76202,7 @@
 %
 % \DescribePackage{rmathbr}
 % \pkg{rmathbr} is used as-is for \SVG\ math, and
-% emulated for \brand{MathJax}.
+% emulated for \MathJax.
 %
 % \changes{v0.80}{2020/02/17}{\pkg{rmathbr}: Added.}
 % \changes{v0.894}{2020/12/16}{\pkg{rmathbr}: Updated to v1.1.}
@@ -76140,7 +76563,7 @@
 %
 % \DescribePackage{scalerel}
 % \pkg{scalerel} is used as-is for \SVG\ math, and is
-% emulated and ignored for \brand{MathJax}.
+% emulated and ignored for \MathJax.
 %
 % \changes{v0.891}{2020/09/10}{\pkg{scalerel}: Added.}
 %
@@ -76150,7 +76573,7 @@
 \LWR at ProvidesPackagePass{scalerel}[2016/12/29]
 %    \end{macrocode}
 %
-% For \brand{MathJax}:
+% For \MathJax:
 %    \begin{macrocode}
 \begin{warpMathJax}
 \LWR at infoprocessingmathjax{scalerel}
@@ -76283,7 +76706,8 @@
     \DeclareDocumentCommand{\maketitle}{o}{\LWR at koma@orig at maketitle}
 }
 
-\DeclareDocumentCommand{\@maketitle}{}{%
+\providecommand*{\@maketitle}{}
+\renewrobustcmd{\@maketitle}{%
     \ifdefvoid{\@titlehead}{}{%
         \begin{BlockClass}{titlehead}%
         \@titlehead%
@@ -77098,7 +77522,7 @@
 % output differs from print mode in that the contents
 % are formatted in a minipage, which is then inline with the surrounding math.
 %
-% For \brand{MathJax}, the contents are used as-is.
+% For \MathJax, the contents are used as-is.
 %
 % \changes{v0.893}{2020/10/16}{\pkg{seqsplit}: Added.}
 %
@@ -77452,13 +77876,13 @@
 %
 % \DescribePackage{shuffle}
 % \pkg{shuffle} is emulated for \SVG\ math, and
-% also emulated for \brand{MathJax}.
+% also emulated for \MathJax.
 %
 % The font used for \pkg{shuffle} may not render correctly when
 % converted to \SVG\ math, so a \env{picture} environment drawing
 % is used instead.
 %
-% For \brand{MathJax}, the Unicode character is used, and for
+% For \MathJax, the Unicode character is used, and for
 % \cs{cshuffle} a \cs{bar} is added.
 %
 % \changes{v0.89}{2020/07/26}{\pkg{shuffle}: Added.}
@@ -77673,13 +78097,13 @@
 %    \end{macrocode}
 %
 %
-% For \brand{MathJax}:
+% For \MathJax:
 %
 % Note that \pkg{sidenotes} does not support \cs{sidenote} inside math in print mode.
 % \watchout
 % Use \cs{sidenotemark} and \cs{sidenotetext} instead.
 %
-% \changes{v0.82}{2020/03/14}{\pkg{sidenotes}: Added \brand{MathJax} emulation.}
+% \changes{v0.82}{2020/03/14}{\pkg{sidenotes}: Added \MathJax\ emulation.}
 %    \begin{macrocode}
 \begin{warpMathJax}
 \providecommand{\sidenotename}{sidenote}
@@ -77805,16 +78229,16 @@
 % and each will have the \attribute{alt} tag set according to \cs{MathImageAltText},
 % which defaults to \optn{(math image)}.
 %
-% For \brand{MathJax}, individual units used in text will appear as \SVG\ images,
+% For \MathJax, individual units used in text will appear as \SVG\ images,
 % since \cs{ensuremath} is used in the original defintions,
-% and \cs{ensuremath} often has expressions which do not work well in \brand{MathJax},
+% and \cs{ensuremath} often has expressions which do not work well in \MathJax,
 % so it is always forced to an \SVG\ image.
-% If, however, \cs{unit} is used, the result is expressed with \brand{MathJax}
+% If, however, \cs{unit} is used, the result is expressed with \MathJax
 % instead of an \SVG\ image.
 %
 % \changes{v0.59}{2018/07/11}{\pkg{SIunits}: Added.}
 % \changes{v0.81}{2020/02/23}{\pkg{SIunits}: Improved \cs{unit}. Fixed in math mode.
-%                                               Added \brand{MathJax} emulation.}
+%                                               Added \MathJax\ emulation.}
 %
 % \codehtml
 %
@@ -77859,7 +78283,7 @@
 %    \end{macrocode}
 %
 %
-% For \brand{MathJax}:
+% For \MathJax:
 %    \begin{macrocode}
 \begin{warpMathJax}
 \LWR at infoprocessingmathjax{SIunits}
@@ -78291,7 +78715,7 @@
 %
 % \DescribePackage{siunitx}
 % \pkg{siunitx-v2} is patched for use by \pkg{lwarp},
-% and is emulated for \brand{MathJax}.
+% and is emulated for \MathJax.
 % Use as:
 % \begin{sourceverb}
 % \usepackage{siunitx}[=v2]
@@ -78348,7 +78772,7 @@
 %
 % \DescribePackage{siunitx-v2}
 % \pkg{siunitx-v2} is patched for use by \pkg{lwarp},
-% and is emulated for \brand{MathJax}.
+% and is emulated for \MathJax.
 %
 % \limitssiunitx
 %
@@ -78481,7 +78905,7 @@
 % For |parse-numbers=false|:
 % \changes{v0.48}{2018/02/14}{\pkg{siunitx}: Improved \SVG\ math.}
 % \changes{v0.50}{2018/02/24}{\pkg{siunitx}: Improved \SVG\ math \attribute{alt} tags.}
-% \changes{v0.79}{2020/01/21}{\pkg{siunitx}: Improved \brand{MathJax}.}
+% \changes{v0.79}{2020/01/21}{\pkg{siunitx}: Improved \MathJax.}
 %    \begin{macrocode}
         \__siunitx_unit_output_pre_print:
         \begingroup%    lwarp
@@ -78504,7 +78928,7 @@
 %
 %
 % For |parse-numbers=false|:
-% \changes{v0.79}{2020/01/21}{\pkg{siunitx}: Improved \brand{MathJax}.}
+% \changes{v0.79}{2020/01/21}{\pkg{siunitx}: Improved \MathJax.}
 %    \begin{macrocode}
 \cs_set_protected:Npn \__siunitx_range_numbers_aux:n #1
   {
@@ -78536,7 +78960,7 @@
 %    \end{macrocode}
 %
 % For |parse-numbers=false|:
-% \changes{v0.79}{2020/01/21}{\pkg{siunitx}: Improved \brand{MathJax}.}
+% \changes{v0.79}{2020/01/21}{\pkg{siunitx}: Improved \MathJax.}
 %    \begin{macrocode}
 \cs_set_protected:Npn \__siunitx_angle_print_direct_aux:nn #1#2 {
   \tl_if_empty:nF {#1}
@@ -78728,7 +79152,7 @@
 %    \end{macrocode}
 
 
-% For \brand{MathJax}.
+% For \MathJax.
 % (The following runs much faster as separate \cs{CusomizeMathJax} calls instead
 % of one single call.)
 %    \begin{macrocode}
@@ -78736,7 +79160,7 @@
 \LWR at infoprocessingmathjax{siunitx}
 %    \end{macrocode}
 %
-% \changes{v0.89}{2020/07/23}{\pkg{siunitx}: Fix: \brand{MathJax} for \cs{tothe}, \cs{raiseto}.}
+% \changes{v0.89}{2020/07/23}{\pkg{siunitx}: Fix: \MathJax\ for \cs{tothe}, \cs{raiseto}.}
 %    \begin{macrocode}
 \CustomizeMathJax{\newcommand{\tothe}[1]{^{#1}}}
 \CustomizeMathJax{\newcommand{\raiseto}[2]{{#2}^{#1}}}
@@ -78743,7 +79167,7 @@
 %    \end{macrocode}
 %
 % Used as an end marker when parsing values:
-% \changes{v0.895}{2021/01/13}{\pkg{siunitx}: Fix: \brand{MathJax} for \cs{ang}.}
+% \changes{v0.895}{2021/01/13}{\pkg{siunitx}: Fix: \MathJax\ for \cs{ang}.}
 %    \begin{macrocode}
 \CustomizeMathJax{\newcommand{\LWRsiunitxEND}{}}
 %    \end{macrocode}
@@ -78761,7 +79185,7 @@
 %
 % Processes scientific notation.
 % Special handling for a mantissa which is either empty or only a minus sign.
-% \changes{v0.895}{2021/01/14}{\pkg{siunitx}, \brand{MathJax}: Scientific notation.}
+% \changes{v0.895}{2021/01/14}{\pkg{siunitx}, \MathJax: Scientific notation.}
 %    \begin{macrocode}
 \CustomizeMathJax{\newcommand{\LWRsiunitxnumscientific}[2]{%
     \ifblank{#1}%
@@ -78783,7 +79207,7 @@
 % of the arguments of each macro when used, and
 % the final argument of each collects any extra unused delimiters.
 %
-% \changes{v0.895}{2021/01/14}{\pkg{siunitx}, \brand{MathJax}:
+% \changes{v0.895}{2021/01/14}{\pkg{siunitx}, \MathJax:
 %       \cs{num} sci notation, multiples, +-, decimals, comma.}
 %    \begin{macrocode}
 \ExplSyntaxOn
@@ -78916,7 +79340,7 @@
 % \begin{noindmacro}{\SI} \oarg{options} \marg{value} \oarg{prefix} \marg{unit}
 %
 % \cs{SI} has a second optional arg, which is parsed using \cs{ifnextchar}.
-% \changes{v0.895}{2021/01/14}{\pkg{siunitx}: \brand{MathJax}: \cs{SI} prefix parsing.}
+% \changes{v0.895}{2021/01/14}{\pkg{siunitx}: \MathJax: \cs{SI} prefix parsing.}
 %    \begin{macrocode}
 \CustomizeMathJax{\def\LWRsiunitxSIopt#1[#2]#3{%
     {#2}\num{#1}{#3}%
@@ -78939,7 +79363,7 @@
 % \begin{noindmacro}{\numlist} \oarg{options} \marg{list}
 %
 % \cs{numlist} should only be used in text mode.
-% If used in \brand{MathJax}, it is merely printed as input.
+% If used in \MathJax, it is merely printed as input.
 %    \begin{macrocode}
 \CustomizeMathJax{\newcommand{\numlist}[2][]{\mathrm{#2}}}
 %    \end{macrocode}
@@ -78948,7 +79372,7 @@
 % \begin{noindmacro}{\numrange} \oarg{options} \marg{value1} \marg{value2}
 %
 % \cs{numrange} should only be used in text mode.
-% If used in \brand{MathJax} math, an en-dash is used instead of the \optn{range-phase}.
+% If used in \MathJax\ math, an en-dash is used instead of the \optn{range-phase}.
 % \changes{v0.89}{2020/08/02}{\pkg{siunitx}: Unicode for endash.}
 %    \begin{macrocode}
 \CustomizeMathJax{\newcommand{\numrange}[3][]{\num{#2}\,\unicode{x2013}\,\num{#3}}}
@@ -78958,7 +79382,7 @@
 % \begin{noindmacro}{\SIlist} \oarg{options} \marg{list}
 %
 % \cs{SIlist} and \cs{SIrange} should only be used in text mode.
-% If used in \brand{MathJax}, a simple emulation is provided.
+% If used in \MathJax, a simple emulation is provided.
 %    \begin{macrocode}
 \CustomizeMathJax{\newcommand{\SIlist}[3][]{\mathrm{#2\,#3}}}
 %    \end{macrocode}
@@ -79212,7 +79636,7 @@
 %
 % \DescribePackage{skmath}
 % \pkg{skmath} is used as-is for \SVG\ math,
-% and is emulated for \brand{MathJax}.
+% and is emulated for \MathJax.
 %
 % \changes{v0.895}{2021/01/13}{\pkg{skmath}: Added.}
 %
@@ -79268,7 +79692,7 @@
 %
 % \pkg{skmath} uses \cs{DeclarePairedDelimiter} from \pkg{mathtools}
 % for \cs{abs} and \cs{norm},
-% and \pkg{lwarp} uses this to automatically define \brand{MathJax} definitions for
+% and \pkg{lwarp} uses this to automatically define \MathJax\ definitions for
 % each.
 %
 % If \optn{notation=english}, use slanted, else upright:
@@ -79626,7 +80050,7 @@
 %
 % \DescribePackage{slashed}
 % \pkg{slashed} works as-s for \HTML\ \SVG\ math.
-% For \brand{MathJax}, emulation is provided.
+% For \MathJax, emulation is provided.
 %
 % \changes{v0.79}{2020/01/30}{\pkg{slashed}: Added.}
 %
@@ -80267,7 +80691,7 @@
 %
 % \DescribePackage{stackrel}
 % \pkg{stackrel} is used as-is for \SVG\ math, and
-% is emulated for \brand{MathJax}.
+% is emulated for \MathJax.
 %
 % \changes{v0.81}{2020/03/03}{\pkg{stackrel}: Added.}
 %
@@ -80307,16 +80731,16 @@
 %
 % \DescribePackage{statex2}
 % \pkg{statex2} is patched for use by \pkg{lwarp},
-% and emulated for \brand{MathJax}.
+% and emulated for \MathJax.
 %
 % As of this version, option \optn{autobold} does not appear to work for \PDF\ output.
 % \watchout
 %
-% For \brand{MathJax}, the tilde character |~| does not create \cs{sim}.
+% For \MathJax, the tilde character |~| does not create \cs{sim}.
 %   \watchout
 % Use \cs{sim} directly.
 %
-% Because \brand{MathJax} has limited conditional processing:
+% Because \MathJax\ has limited conditional processing:
 % \watchout
 % \begin{itemize}
 % \item \cs{wrap} only creates square braces, no matter what its optional arguments.
@@ -80940,7 +81364,7 @@
 %
 % \DescribePackage{statmath}
 % \pkg{statmath} is used as-is for \SVG\ math, and
-% is emulated for \brand{MathJax}.
+% is emulated for \MathJax.
 %
 % \changes{v0.81}{2020/02/28}{\pkg{statmath}: Added.}
 % \changes{v0.89}{2020/09/01}{\pkg{statmath}: Fixed \optn{abcbm},
@@ -81059,7 +81483,7 @@
 %
 % \DescribePackage{steinmetz}
 % \pkg{steinmetz} is patched for use by \pkg{lwarp}.
-% Emulation is provided for \brand{MathJax}
+% Emulation is provided for \MathJax
 %
 % \changes{v0.79}{2020/01/31}{\pkg{steinmetz}: Added.}
 %
@@ -81590,7 +82014,7 @@
 %
 % \DescribePackage{subsupscripts}
 % \pkg{subsupscripts} is used as-is for \SVG\ math, and
-% is emulated for \brand{MathJax}.
+% is emulated for \MathJax.
 %
 % \changes{v0.80}{2020/02/13}{\pkg{subsupscripts}: Added.}
 %
@@ -81852,8 +82276,60 @@
 %
 %
 %
+% \iffalse
+%<*sympytex>
+% \fi
 %
+% \part{lwarp-sympytex.sty}
+%
+% \section{sympytex}
+%
+% \credits{Tim Molteno}
+%
+% \DescribePackage{sympytex}
+% \pkg{sympytex} is patched for use by \pkg{lwarp}.
+%
+% \changes{v0.20}{2017/01/11}{\pkg{sympytex}: Added.}
+% \changes{v0.84}{2020/04/16}{\pkg{sympytex}: Added print mode.}
+% \changes{v0.902}{2021/09/29}{\pkg{sympytex}: Improved \env{sympyblock}.}
+%
+% \codehtml
+%
+%    \begin{macrocode}
+\LWR at ProvidesPackagePass{sympytex}[2014/05/16]
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\AfterEndPreamble{
+
+\AtBeginEnvironment{sympyblock}{%
+    \ifnumcomp{\value{LWR at lateximagedepth}}{>}{0}%
+        {}%
+        {%
+            \LWR at forcenewpage%
+            \LWR at atbeginverbatim{verbatim}%
+        }%
+}
+
+\AfterEndEnvironment{sympyblock}{%
+    \ifnumcomp{\value{LWR at lateximagedepth}}{>}{0}%
+        {}%
+        {%
+            \LWR at afterendverbatim%
+        }%
+}
+
+}
+%    \end{macrocode}
+%
 % \iffalse
+%</sympytex>
+% \fi
+%
+%
+%
+%
+% \iffalse
 %<*syntonly>
 % \fi
 %
@@ -82123,7 +82599,7 @@
 % \codehtml
 %
 %    \begin{macrocode}
-\LWR at ProvidesPackageDrop{tagpdf}[2019/07/02]
+\LWR at ProvidesPackageDrop{tagpdf}[2021-08-27]
 %    \end{macrocode}
 %
 %    \begin{macrocode}
@@ -82131,54 +82607,112 @@
 
 \tl_new:N \l__uftag_mc_key_label_tl
 
-\keys_define:nn { uftag / mc }
+\keys_define:nn { __tag / mc }
+  {
+    stash                    .bool_set:N    = \l__tag_mc_key_stash_bool,
+    __artifact-bool          .bool_set:N    = \l__tag_mc_artifact_bool,
+    __artifact-type          .choice:,
+    __artifact-type / pagination .code:n    =
+      {},
+    __artifact-type / pagination/header .code:n    =
+      {},
+    __artifact-type / pagination/footer .code:n    =
+      {},
+    __artifact-type / layout     .code:n    =
+      {},
+    __artifact-type / page       .code:n    =
+      {},
+    __artifact-type / background .code:n    =
+      {},
+    __artifact-type / notype     .code:n    =
+      {},
+    __artifact-type /      .code:n    =
+      {},
+  }
+
+\keys_define:nn { __tag / mc }
+  {
+    tag .code:n = % the name (H,P,Span) etc
+      {},
+    raw  .code:n =
+      {},
+    alttext .code:n      = % Alt property
+      {
+        \gdef\LWR at ThisAltText{\detokenize\expandafter{#1}}%
+      },
+    actualtext .code:n      = % ActualText property
+      {},
+    label .tl_set:N        = \l__tag_mc_key_label_tl,
+    artifact .code:n       =
+      {},
+    artifact .default:n    = {notype}
+  }
+
+\keys_define:nn { __tag / struct }
+  {
+    label .tl_set:N      = \l__tag_struct_key_label_tl,
+    stash .bool_set:N    = \l__tag_struct_elem_stash_bool,
+    tag   .code:n        = % S property
+      {},
+    title .code:n        = % T property
+      {},
+    title-o .code:n        = % T property
+      {},
+    alttext .code:n      = % Alt property
+      {
+        \gdef\LWR at ThisAltText{\detokenize\expandafter{#1}}%
+      },
+    actualtext .code:n  = % ActualText property
+      {},
+    lang .code:n        = % Lang property
+      {},
+    ref .code:n        = % Lang property
+      {},
+    E .code:n        = % E property
+      {},
+  }
+
+\keys_define:nn { __tag / struct }
  {
-  tag .code:n = % the name (H,P,Span etc
-   {},
-  raw  .code:n =
-   {}
-    ,
-  alttext .code:n      = % Alt property
-   {
-    \gdef\LWR at ThisAltText{\detokenize\expandafter{#1}}%
-   },
-   alttext-o .code:n      = % Alt property
-   {
-    \gdef\LWR at ThisAltText{\detokenize\expandafter{#1}}%
-   },
-   actualtext .code:n      = % ActualText property
-   {},
-   actualtext-o .code:n      = % ActualText property
-   {},
-  label .tl_set:N        = \l__uftag_mc_key_label_tl,
-  artifact .code:n       = {},
-  artifact .default:n    = {notype}
+    AF .code:n        = % AF property
+      {},
+   ,AFinline .code:n =
+     {}
+   ,AFinline-o .code:n =
+     {}
  }
 
-\keys_define:nn { uftag / struct }
- {
-  label .tl_set:N      = \l__uftag_struct_key_label_tl,
-  stash .bool_set:N    = \l__uftag_struct_elem_stash_bool,
-  tag   .code:n        = % S property
-   {},
-  title .code:n        = % T property
-   {},
-  title-o .code:n        = % T property
-   {},
-  alttext .code:n      = % Alt property
-   {
-    \gdef\LWR at ThisAltText{\detokenize\expandafter{#1}}%
-   },
-   alttext-o .code:n      = % Alt property
-   {
-    \gdef\LWR at ThisAltText{\detokenize\expandafter{#1}}%
-   },
-   actualtext .code:n  = % ActualText property
-   {},
-   actualtext-o .code:n  = % ActualText property
-   {},
-}
+\keys_define:nn { __tag / struct }
+  {
+    attribute-class .code:n =
+     {}
+  }
 
+\keys_define:nn { __tag / struct }
+  {
+    attribute .code:n  = % A property (attribute, value currently a dictionary)
+      {},
+  }
+
+\cs_new_protected:Npn \__tag_ref_label:nn #1 #2 %#1 label, #2 name of list mc or struct
+  {
+    \@bsphack
+    \ref_label:nv {#1}{c__tag_ref#2_clist}
+    \@esphack
+  }
+\cs_generate_variant:Nn \__tag_ref_label:nn {en}
+
+\cs_new:Npn \__tag_ref_value:nnn #1 #2 #3 %#1 label, #2 attribute, #3 default
+  {
+    \ref_value:nnn {#1}{#2}{#3}
+  }
+\cs_generate_variant:Nn \__tag_ref_value:nnn {enn}
+\cs_new:Npn \__tag_ref_value_lastpage:nn #1 #2
+  {
+    \ref_value:nnn {__tag_LastPage}{#1}{#2}
+  }
+
+
 \NewDocumentCommand \tagpdfsetup { m }{}
 
 \cs_set_eq:NN\tagpdfifluatexTF \sys_if_engine_luatex:TF
@@ -82189,51 +82723,57 @@
 
 \NewDocumentCommand \tagmcifinTF { m m }{}
 
-\NewDocumentCommand \tagmcbegin { m }{\uftag_mc_begin:n {#1}\ignorespaces}
-\cs_new_protected:Nn \uftag_mc_begin:n {
-  \group_begin:
-   \keys_set:nn { uftag / mc } {#1}
-  \group_end:
+\NewDocumentCommand \tagmcbegin { m }{%
+    \tag_mc_begin:n {#1}%\ignorespaces
 }
 
+\cs_new_protected:Npn \tag_mc_begin:n #1 %#1 keyval
+  {
+    \keys_set:nn { __tag / mc } {#1}
+  }
+
 \NewDocumentCommand \tagmcend {}{\ThisAltText{}}
 
-\cs_new_protected:Nn \uftag_mc_end: {\ThisAltText{}}
-
 \NewDocumentCommand \tagmcuse { m }{}
 
 \cs_new_protected:Nn \uftag_mc_use:n {}
 
-\NewDocumentCommand \tagstructbegin { m }{
-  \uftag_struct_begin:n {#1}
-}
+\NewDocumentCommand \tagstructbegin { m }
+  {
+    \tag_struct_begin:n {#1}
+  }
 
-\cs_new_protected:Nn \uftag_struct_begin:n
-{
-  \group_begin:
-  \keys_set:nn {uftag / struct} { #1 }
-  \group_end:
-}
+\cs_new_protected:Npn \tag_struct_begin:n #1 %#1 key-val
+  {
+    \keys_set:nn { __tag / struct} { #1 }
+  }
 
-\NewDocumentCommand \tagstructend {  }{\ThisAltText{}}
 
-\cs_new_protected:Nn \uftag_struct_end: {\ThisAltText{}}
+\NewDocumentCommand \tagstructend {  }
+  {
+   \tag_struct_end:
+  }
 
+\cs_new_protected:Nn \tag_struct_end:
+    {\ThisAltText{}}
+
 \NewDocumentCommand \tagstructuse { m }{}
 
-% \NewDocumentCommand\showtagpdfmcdata { O {\__uftag_get_mc_abs_cnt:} }{}
-% What is the second argument?
+\NewDocumentCommand\ShowTagging { m }
+  {}
 
-\NewDocumentCommand\showtagpdfattributes { }{}
-
 \sys_if_engine_luatex:T
 {
   \NewDocumentCommand\pdffakespace { }
-  {
-   \__uftag_fakespace:
-  }
+  {}
 }
 
+\newcommand\tagpdfparaOn {}
+
+\newcommand\tagpdfparaOff{}
+
+\NewDocumentCommand\tagpdfsuppressmarks{m}{}
+
 \ExplSyntaxOff
 %    \end{macrocode}
 %
@@ -82674,7 +83214,7 @@
 }% AtBeginDocument
 %    \end{macrocode}
 %
-% For \brand{MathJax}:
+% For \MathJax:
 %    \begin{macrocode}
 \CustomizeMathJax{\newcommand{\tcbset}[1]{}}
 \CustomizeMathJax{\newcommand{\tcbsetforeverylayer}[1]{}}
@@ -82707,12 +83247,12 @@
 %
 % \DescribePackage{tensor}
 % \pkg{tensor} is used as-is for \SVG\ math, and
-% is emulated for \brand{MathJax}.
+% is emulated for \MathJax.
 %
-% Compressed spacing and left justification are not possible with \brand{MathJax}.
+% Compressed spacing and left justification are not possible with \MathJax.
 % \trouble[spacing]{tensor=\pkg{tensor}}
 %
-% \changes{v0.895}{2021/01/23}{\pkg{tensor}: Added \brand{MathJax}.}
+% \changes{v0.895}{2021/01/23}{\pkg{tensor}: Added \MathJax.}
 %
 % \codehtml
 %
@@ -82720,7 +83260,7 @@
 \LWR at ProvidesPackagePass{tensor}[2004/12/20]
 %    \end{macrocode}
 %
-% For \brand{MathJax}.
+% For \MathJax.
 % Special handling is required to parse the superscript and subscript arguments.
 %
 % When a superscript or subscript is seen, it is processed and then the
@@ -82915,7 +83455,7 @@
 % \DescribePackage{textcomp}
 % \pkg{textcomp} is patched for use by \pkg{lwarp}.
 %
-% For \brand{MathJax}, the \brand{MathJax} packge is used.
+% For \MathJax, the \MathJax\ packge is used.
 %
 %
 % \subsection{Limitations}
@@ -83111,7 +83651,7 @@
 %    \end{macrocode}
 %
 %
-% For \brand{MathJax}:
+% For \MathJax:
 % \changes{v0.901}{2021/08/26}{\pkg{textcomp}: Uses \pkg{MathJax} 3.2 package.}
 %    \begin{macrocode}
 \CustomizeMathJax{\require{textcomp}}
@@ -84858,7 +85398,7 @@
 %
 % Print the text:
 %    \begin{macrocode}
-        ##1%
+        {##1}%
     }% \@makefntext
 }
 %    \end{macrocode}
@@ -84930,7 +85470,8 @@
 % \changes{v0.39}{2017/09/04}{\pkg{titling} version.}
 %
 %    \begin{macrocode}
-\DeclareDocumentCommand{\@maketitle}{}{%
+\providecommand*{\@maketitle}{}
+\renewrobustcmd{\@maketitle}{%
     \maketitlehooka
     {
         \LWR at stoppars\LWR at htmltag{\LWR at tagtitle}%
@@ -85133,9 +85674,9 @@
           \fi
         \fi
      \fi
-\let\item\LWR at indexitem%
-\let\subitem\LWR at indexsubitem%
-\let\subsubitem\LWR at indexsubsubitem%
+\LetLtxMacro\item\LWR at indexitem%
+\LetLtxMacro\subitem\LWR at indexsubitem%
+\LetLtxMacro\subsubitem\LWR at indexsubsubitem%
 }{}
 %    \end{macrocode}
 %
@@ -86288,7 +86829,7 @@
 %
 % \DescribePackage{txfonts}
 % \pkg{txfonts} is used as-is for \SVG\ math, and is
-% emulated for \brand{MathJax}.
+% emulated for \MathJax.
 %
 % \changes{v0.89}{2020/08/10}{\pkg{txfonts}: Added.}
 %
@@ -86298,7 +86839,7 @@
 \LWR at ProvidesPackagePass{txfonts}[2008/01/22]
 %    \end{macrocode}
 %
-% For \brand{MathJax}:
+% For \MathJax:
 %    \begin{macrocode}
 \LWR at origRequirePackage{lwarp-common-mathjax-letters}
 
@@ -86327,9 +86868,9 @@
 %
 % \DescribePackage{txgreeks}
 % \pkg{txgreeks} is used as-is for \SVG\ math, and is
-% emulated for \brand{MathJax}.
+% emulated for \MathJax.
 %
-% The \brand{MathJax} emulation honors all package options.
+% The \MathJax\ emulation honors all package options.
 %
 % \changes{v0.891}{2020/09/14}{\pkg{txgreeks}: Added.}
 %
@@ -86682,17 +87223,17 @@
 % \pkg{unicode-math} is supported as-is for \HTML\ with \SVG math.
 %
 % If the document source includes embedded Unicode characters,
-% \trouble[\brand{MathJax}]{unicode-math=\pkg{unicode-math}}
-% \trouble{mathjax=\brand{MathJax}>unicode-math=\pkg{unicode-math}}
+% \trouble[\MathJax]{unicode-math=\pkg{unicode-math}}
+% \trouble{mathjax=\MathJax>unicode-math=\pkg{unicode-math}}
 % these may not be reproduced correctly for \prog{pdftotext},
-% and thus not display correctly in \brand{MathJax}.
+% and thus not display correctly in \MathJax.
 %
 % Symbol font commands are emulated, but not all combinations are
-% supported by \brand{MathJax}, especially with the dedicated Greek macros.
+% supported by \MathJax, especially with the dedicated Greek macros.
 % Symbol macros such as \cs{symbfsf} may not be sans or bold.
 % For Greek, use the Unicode equivalent, if necessary.
 %
-% The \brand{MathJax} emulation does not change with the use of \cs{mathversion}.
+% The \MathJax\ emulation does not change with the use of \cs{mathversion}.
 % \watchout[\cs{mathversion}]
 % Whatever emulation is established at the begin of the document will remain.
 %
@@ -86700,11 +87241,11 @@
 % but \optn{italic} will not be sans, in order to support Greek macros.
 %
 % Greek macros such as \cs{alpha} respond to the \optn{math-style} option.
-% Latin symbols does not, per \brand{MathJax} limitations, unless placed inside
+% Latin symbols does not, per \MathJax\ limitations, unless placed inside
 % \cs{symbit} or similar.
 %
 % Macros from the categories \cs{mathopen}, \cs{mathclose}, and \cs{mathfence}
-% are emulated.  Due to current \brand{MathJax} limitations, not all
+% are emulated.  Due to current \MathJax\ limitations, not all
 % stretch to the correct height.
 %
 % Also emulated are macros from the categories
@@ -86713,11 +87254,11 @@
 %
 % The individual \pkg{unicode-math} macros
 % of categories \cs{mathbin}, \cs{mathord}, and \cs{mathrel}
-% are not emulated for \brand{MathJax},
+% are not emulated for \MathJax,
 % as there are more than two thousand of them, but they may be added as needed.
 % Place the following in the document preamble after loading \pkg{unicode-math},
 % including a definition for each macro which is used in the document
-% but undefined in \brand{MathJax}:
+% but undefined in \MathJax:
 %
 % \begin{sourceverb}
 % \begin{warpMathJax}
@@ -86730,7 +87271,7 @@
 % For a list of macro names and symbols, see \cmds{texdoc unimath-symbols}.
 %
 % \changes{v0.79}{2020/01/30}{\pkg{unicode-math}: Added.}
-% \changes{v0.80}{2020/02/15}{\pkg{unicode-math}: Improved \brand{MathJax}.}
+% \changes{v0.80}{2020/02/15}{\pkg{unicode-math}: Improved \MathJax.}
 %
 % \codehtml
 %
@@ -86846,7 +87387,7 @@
 % or \optn{literal},
 % which set |\g__um_upGreek_bool| and |\g__um_upgreek_bool|.
 %
-% \changes{v0.80}{2020/02/15}{\pkg{unicode-math}: Improved \brand{MathJax}.}
+% \changes{v0.80}{2020/02/15}{\pkg{unicode-math}: Improved \MathJax.}
 %    \begin{macrocode}
 \ExplSyntaxOn
 
@@ -86876,7 +87417,7 @@
 % Many \cs{mathopen} \Slash \cs{mathclose} delimiters are
 % defined in \filenm{lwarp_mathjax.txt}, where
 % \cs{left} \Slash \cs{right} support is added.
-% \changes{v0.892}{2020/09/26}{\pkg{unicode-math}: Adeed \brand{MathJax} support for \cs{left} \Slash \cs{right}.}
+% \changes{v0.892}{2020/09/26}{\pkg{unicode-math}: Adeed \MathJax\ support for \cs{left} \Slash \cs{right}.}
 %    \begin{macrocode}
 \CustomizeMathJax{\newcommand{\longdivision}[1]{\mathord{\unicode{x027CC}#1}}}
 
@@ -87110,10 +87651,10 @@
 %
 % \DescribePackage{upgreek}
 % \pkg{upgreek} is used as-is for \SVG\ math, and is
-% emulated for \brand{MathJax}.
+% emulated for \MathJax.
 %
 % \changes{v0.89}{2020/08/10}{\pkg{upgreek}: Added.}
-% \changes{v0.901}{2021/08/26}{\pkg{upgreek}: Use \brand{MathJax} package.}
+% \changes{v0.901}{2021/08/26}{\pkg{upgreek}: Use \MathJax\ package.}
 %
 % \codehtml
 %
@@ -87121,7 +87662,7 @@
 \LWR at ProvidesPackagePass{upgreek}[2003/02/12]
 %    \end{macrocode}
 %
-% For \brand{MathJax}:
+% For \MathJax:
 %    \begin{macrocode}
 \begin{warpMathJax}
 \CustomizeMathJax{\require{upgreek}}
@@ -87222,7 +87763,7 @@
 % \credits{Martin V\"ath}
 %
 % \DescribePackage{ushort}
-% \pkg{ushort} is used as-is, and emulated for \brand{MathJax}.
+% \pkg{ushort} is used as-is, and emulated for \MathJax.
 %
 % \changes{v0.88}{2020/07/23}{\pkg{ushort}: Added.}
 %
@@ -87928,7 +88469,7 @@
 %
 % \DescribePackage{witharrows}
 % \pkg{witharrows} is patched for use by \pkg{lwarp}.
-% Emulation is provided for \brand{MathJax}.
+% Emulation is provided for \MathJax.
 %
 % \changes{v0.79}{2020/01/31}{\pkg{witharrows}: Added.}
 %
@@ -88953,6 +89494,7 @@
 % \pkg{xetexko} is patched for use by \pkg{lwarp}.
 %
 % \changes{v0.20}{2017/01/11}{\pkg{xetexko}: Added.}
+% \changes{v0.902}{2021/09/30}{\pkg{xetexko}: Updated to v4.0.}
 %
 % \codehtml
 %
@@ -88959,14 +89501,22 @@
 %    \begin{macrocode}
 \LWR at loadbefore{xetexko}
 
-\LWR at ProvidesPackagePass{xetexko}[2021/03/22]
+\LWR at ProvidesPackagePass{xetexko}[2021/09/06]
 %    \end{macrocode}
 %
 %    \begin{macrocode}
-\renewcommand{\verticaltypesetting}{}
-\renewenvironment{vertical}[1]{\BlockClass{verticalrl}}{\endBlockClass}
-\renewenvironment{horizontal}[1]{\BlockClass{horizontaltb}}{\endBlockClass}
-\renewcommand{\vertlatin}[1]{#1}
+\protected\def\typesetvertical{}
+\protected\def\typesethorizontal{}
+
+\def\verticaltypesetting{\BlockClass{verticalrl}}
+\def\beginverticaltypesetting{\BlockClass{verticalrl}}
+\def\endverticaltypesetting{\endBlockClass}
+
+\protected\def\vertical#1{\BlockClass{verticalrl}}
+\protected\def\endvertical{\endBlockClass}
+\protected\def\horizontal#1{\BlockClass{horizontaltb}}
+\protected\def\endhorizontal{\endBlockClass}
+\DeclareDocumentCommand{\vertlatin}{m}{#1}
 %    \end{macrocode}
 %
 % \iffalse
@@ -89052,7 +89602,7 @@
 }
 %    \end{macrocode}
 %
-% For \brand{MathJax}, \pkg{xfakebold} is ignored.
+% For \MathJax, \pkg{xfakebold} is ignored.
 %    \begin{macrocode}
 \begin{warpMathJax}
 \CustomizeMathJax{\newcommand{\setBold}[1][]{}}
@@ -89079,7 +89629,7 @@
 % \credits{The \LaTeX3 Project}
 %
 % \DescribePackage{xfrac} Supported by adding \pkg{xfrac} instances,
-% and emulated for \brand{MathJax}.
+% and emulated for \MathJax.
 %
 % \codehtml
 %    \begin{macrocode}
@@ -89215,8 +89765,8 @@
 %    \end{macrocode}
 
 
-% For \brand{MathJax}:
-% \changes{v0.80}{2020/02/08}{\pkg{xfrac}: Added \brand{MathJax} emulation.}
+% For \MathJax:
+% \changes{v0.80}{2020/02/08}{\pkg{xfrac}: Added \MathJax\ emulation.}
 %    \begin{macrocode}
 \begin{warpMathJax}
 \CustomizeMathJax{\newcommand{\LWRsfrac}[2][/]{{}^\LWRsfracnumerator\!#1{}_{#2}}}
@@ -89445,7 +89995,9 @@
 %    \end{macrocode}
 %
 % The original's boxes are not used, instead the contents are used with
-% \element{ruby}, \element{rb}, and \element{rt} tags per modern \HTML.
+% \element{ruby},
+% ^^A deprecated: \element{rb}, and
+% \element{rt}, and \element{rp} tags per modern \HTML.
 % Color is detected.  \optn{ratio} is ignored for \prog{pdftotext} to work correctly.
 % Extra spaces are placed inside the tags to allow line breaks in the \HTML\
 % text.
@@ -89466,14 +90018,15 @@
     \color_group_end:
 }
 \LWR at formatted{__xpinyin_make_pinyin_box:nnn}
+%    \end{macrocode}
 
+% \changes{v0.902}{2021/09/30}{\pkg{xpinyin}: Removed deprecated \element{rb}.}
+%    \begin{macrocode}
 \cs_new_protected_nopar:Npn \LWR at HTML@__xpinyin_CJKsymbol:nn #1#2
   {
     \__xpinyin_leavevmode:
     \LWR at htmltagc{ruby}
-    \LWR at htmltagc{rb}
     \__xpinyin_save_CJKsymbol:n {#2}\null% \null removes extra space
-    \LWR at htmltagc{/rb\space}
     \LWR at htmltagc{rp}(\LWR at htmltagc{/rp\space}
     \LWR at htmltagc{rt}
     \__xpinyin_make_pinyin_box:nnn {#1} {#2} { \use:c { c__xpinyin_ #1 _tl } }
@@ -89482,14 +90035,15 @@
     \LWR at htmltagc{/ruby\space}\null
   }
 \LWR at formatted{__xpinyin_CJKsymbol:nn}
+%    \end{macrocode}
 
+% \changes{v0.902}{2021/09/30}{\pkg{xpinyin}: Removed deprecated \element{rb}.}
+%    \begin{macrocode}
 \cs_new_protected_nopar:Npn \LWR at HTML@__xpinyin_single_CJKsymbol:nn #1#2
   {
     \__xpinyin_leavevmode:
     \LWR at htmltagc{ruby}
-    \LWR at htmltagc{rb}
     \__xpinyin_save_CJKsymbol:n {#1}\null% \null removes extra space
-    \LWR at htmltagc{/rb\space}
     \LWR at htmltagc{rp}(\LWR at htmltagc{/rp\space}
     \LWR at htmltagc{rt}
     \__xpinyin_make_pinyin_box:xnn
@@ -90085,9 +90639,9 @@
 \renewenvironment{theindex}{%
   \idx at heading%
   \index at preamble\par\nobreak
-    \let\item\LWR at indexitem%
-    \let\subitem\LWR at indexsubitem%
-    \let\subsubitem\LWR at indexsubsubitem%
+    \LetLtxMacro\item\LWR at indexitem%
+    \LetLtxMacro\subitem\LWR at indexsubitem%
+    \LetLtxMacro\subsubitem\LWR at indexsubsubitem%
 }
 {}
 
@@ -90203,6 +90757,7 @@
 \ProvidesPackage{lwarp-patch-memoir}
 %    \end{macrocode}
 %
+%
 % \subsection{Packages}
 % \label{sec:patch-memoir-packages}
 %
@@ -90307,7 +90862,6 @@
     }
 }
 %    \end{macrocode}
-
 %
 %
 % \subsection{Page layout}
@@ -90460,6 +91014,7 @@
 \renewcommand{\setpagecc}[3]{}
 %    \end{macrocode}
 %
+%
 % \subsection{Text and fonts}
 %    \begin{macrocode}
 \let\miniscule\tiny
@@ -90506,6 +91061,7 @@
 \renewcommand*{\sloppybottom}{}
 %    \end{macrocode}
 %
+%
 % \subsection{Titles}
 %
 % \changes{v0.54}{2018/04/06}{\pkg{lwarp-patch-memoir}: Update for v3.7g.}
@@ -90543,7 +91099,6 @@
 %
 % \subsection{Docment divisions}
 %
-%
 % \begin{noindmacro}{\book} * \parg{2:PDF name} \oarg{3:TOC name}
 %                           \oarg{4:PDF name} \parg{5:PDF name} \marg{6:name}
 % \changes{v0.73}{2019/06/21}{\pkg{lwarp-patch-memoir}: Added \cs{book}.}
@@ -90715,6 +91270,7 @@
 \renewcommand*{\headstyles}[1]{}
 %    \end{macrocode}
 %
+%
 % \subsection{Pagination and headers}
 %    \begin{macrocode}
 \renewcommand*{\savepagenumber}{}
@@ -90781,6 +91337,7 @@
 \renewcommand*{\showtextblocklocoff}{}
 %    \end{macrocode}
 %
+%
 % \subsection{Paragraphs and lists}
 %    \begin{macrocode}
 \renewcommand{\hangfrom}[1]{#1}
@@ -90789,7 +91346,12 @@
 % \newlength{\ragrparindent}
 \renewcommand{\sourceatright}[2][]{\attribution{#2}}
 \let\memorigdbs\LWR at endofline
-\let\memorigpar\par
+%    \end{macrocode}
+% \changes{v0.902}{2021/09/30}{\pkg{memoir}: Fixed \cs{memorigpar}.}
+%    \begin{macrocode}
+\renewcommand*{\memorigpar}{\par}
+%    \end{macrocode}
+%    \begin{macrocode}
 \let\atcentercr\LWR at endofline
 
 \renewcommand*{\linenottooshort}[1][]{}
@@ -90822,6 +91384,7 @@
 \renewcommand*{\restoretrivseps}{}
 %    \end{macrocode}
 %
+%
 % \subsection{Contents lists}
 %
 % \changes{v0.82}{2020/03/24}{\pkg{lwarp-patch-memoir}: Supports \pkg{tocvsec2}.}
@@ -91300,6 +91863,7 @@
 }
 %    \end{macrocode}
 %
+%
 % \subsection{Footnotes and page notes}
 %
 %    \begin{macrocode}
@@ -91475,6 +92039,7 @@
 \renewcommand*{\PoemTitlefont}{}
 %    \end{macrocode}
 %
+%
 % \subsection{Boxes, verbatims and files}
 %
 %    \begin{macrocode}
@@ -91526,6 +92091,7 @@
 \renewcommand*{\bvnumbersoutside}{}
 %    \end{macrocode}
 %
+%
 % \subsection{Cross referencing}
 %
 %    \begin{macrocode}
@@ -91561,6 +92127,7 @@
 \renewcommand*{\namerefoff}{}
 %    \end{macrocode}
 %
+%
 % \subsection{Back matter}
 % \label{sec:memoirbackmatter}
 %
@@ -91665,6 +92232,7 @@
 \renewcommand*{\xindyindex}{}
 %    \end{macrocode}
 %
+%
 % \subsection{Miscellaneous}
 %
 %    \begin{macrocode}
@@ -92240,7 +92808,7 @@
 %
 % \DescribePackage{lwarp-common-mathjax-letters}
 % Common code used by a number of packages to generate Greek math characters
-% for \brand{MathJax}.
+% for \MathJax.
 %
 % \changes{v0.89}{2020/08/10}{\pkg{lwarp-common-mathjax-letters}: Added.}
 % \changes{v0.893}{2020/08/10}{\pkg{lwarp-common-mathjax-letters}: Added \cs{varbeta}.}
@@ -92700,7 +93268,7 @@
 %
 % \DescribePackage{lwarp-common-mathjax-newpxtxmath}
 % Common code used by \pkg{newpxmath}, \pkg{newtxmath}, and \pkg{newtxsf}
-% for \brand{MathJax}.
+% for \MathJax.
 %
 % \changes{v0.89}{2020/08/31}{\pkg{lwarp-common-mathjax-newpxtxmath}: Added.}
 % \changes{v0.891}{2020/09/20}{\pkg{lwarp-common-mathjax-newpxtxmath}: Reverse factored out Greek, non-\brand{Unicode}.}
@@ -92711,7 +93279,7 @@
 \ProvidesPackage{lwarp-common-mathjax-newpxtxmath}[2020/09/20]
 %    \end{macrocode}
 %
-% For \brand{MathJax}:
+% For \MathJax:
 %    \begin{macrocode}
 \LWR at origRequirePackage{lwarp-common-mathjax-nonunicode}
 \LWR at origRequirePackage{lwarp-common-mathjax-overlaysymbols}
@@ -93060,7 +93628,7 @@
 % \DescribePackage{lwarp-common-mathjax-nonunicode}
 % Common code used by \pkg{newpxmath}, \pkg{newtxmath}, \pkg{newtxsf},
 % \pkg{kpfonts-otf}
-% for \brand{MathJax}.
+% for \MathJax.
 % These are symbols not found in \brand{Unicode}.
 %
 % Factored from \pkg{lwarp-common-mathjax-newpxtxmath}.
@@ -93073,7 +93641,7 @@
 \ProvidesPackage{lwarp-common-mathjax-nonunicode}[2020/09/20]
 %    \end{macrocode}
 %
-% For \brand{MathJax}:
+% For \MathJax:
 %    \begin{macrocode}
 \LWR at origRequirePackage{lwarp-common-mathjax-overlaysymbols}
 
@@ -93229,7 +93797,7 @@
 %
 % \DescribePackage{lwarp-common-mathjax-overlaysymbols}
 % Common code used by a number of packages to overlay two symbols
-% for \brand{MathJax}.
+% for \MathJax.
 %
 % \changes{v0.89}{2020/08/17}{\pkg{lwarp-common-mathjax-overlaysymbols}: Added.}
 %

Modified: trunk/Master/texmf-dist/source/latex/lwarp/lwarp.ins
===================================================================
--- trunk/Master/texmf-dist/source/latex/lwarp/lwarp.ins	2021-10-01 22:02:48 UTC (rev 60673)
+++ trunk/Master/texmf-dist/source/latex/lwarp/lwarp.ins	2021-10-01 22:03:56 UTC (rev 60674)
@@ -75,6 +75,7 @@
 \file{lwarp-backref.sty}{\from{lwarp.dtx}{backref}}
 \file{lwarp-balance.sty}{\from{lwarp.dtx}{balance}}
 \file{lwarp-bbding.sty}{\from{lwarp.dtx}{bbding}}
+\file{lwarp-beamerarticle.sty}{\from{lwarp.dtx}{beamerarticle}}
 \file{lwarp-biblatex.sty}{\from{lwarp.dtx}{biblatex}}
 \file{lwarp-bibunits.sty}{\from{lwarp.dtx}{bibunits}}
 \file{lwarp-bigdelim.sty}{\from{lwarp.dtx}{bigdelim}}
@@ -507,6 +508,7 @@
 \file{lwarp-supertabular.sty}{\from{lwarp.dtx}{supertabular}}
 \file{lwarp-svg.sty}{\from{lwarp.dtx}{svg}}
 \file{lwarp-swfigure.sty}{\from{lwarp.dtx}{swfigure}}
+\file{lwarp-sympytex.sty}{\from{lwarp.dtx}{sympytex}}
 \file{lwarp-syntonly.sty}{\from{lwarp.dtx}{syntonly}}
 \file{lwarp-tabfigures.sty}{\from{lwarp.dtx}{tabfigures}}
 \file{lwarp-tablefootnote.sty}{\from{lwarp.dtx}{tablefootnote}}

Modified: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-algorithm2e.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-algorithm2e.sty	2021-10-01 22:02:48 UTC (rev 60673)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-algorithm2e.sty	2021-10-01 22:03:56 UTC (rev 60674)
@@ -32,9 +32,6 @@
 \ifdefstring{\algocf at style}{plain}{%
 \renewcommand*{\LWR at floatstyle@algocf}{plain}
 }{}
-\newbool{LWR at algocf@dopars}
-\booltrue{LWR at algocf@dopars}
-
 \renewcommand{\algocf at everypar}{%
 \ifbool{LWR at algocf@dopars}{%
     \ifbool{LWR at doingstartpars}{%
@@ -41,6 +38,7 @@
         \ifnumcomp{\value{LWR at lateximagedepth}}{>}{0}%
             {}%
             {%
+                \LWR at htmltagc{\LWR at tagregularparagraph}\LWR at orignewline%
                 \algocf at everyparnl\algocf at everyparhanging%
             }%
     }{}%

Modified: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-amsthm.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-amsthm.sty	2021-10-01 22:02:48 UTC (rev 60673)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-amsthm.sty	2021-10-01 22:03:56 UTC (rev 60674)
@@ -59,9 +59,9 @@
     \else % numbered theorem, need to check for optional arg
       \def\@tempa{\@oparg{\@ynthm{#2}}[]}%
     \fi
-    \AtBeginEnvironment{#2}{%
-        \edef\LWR at thisthmstyle{\@nameuse{LWR at thmstyle#2}}%
-    }%          lwarp
+    \AtBeginEnvironment{#2}{%                               lwarp
+        \edef\LWR at thisthmstyle{\@nameuse{LWR at thmstyle#2}}%  lwarp
+    }%                                                      lwarp
   }%
   \@tempa%
 }
@@ -107,36 +107,6 @@
   \LWR at forcenewpage%                            lwarp
   \LWR at printpendingfootnotes%                   lwarp
   \BlockClass{amsthmbody\LWR at thisthmstyle}%     lwarp
-    \renewcommand{\footnote}[1][]{%
-        \ifblank{##1}%
-        {%
-            \stepcounter\@mpfn
-            \protected at xdef\@thefnmark{\thempfn}%
-            \@footnotemark\@footnotetext
-        }%
-        {%
-            \begingroup
-            \csname c@\@mpfn\endcsname ##1\relax
-            \unrestored at protected@xdef\@thefnmark{\thempfn}%
-            \endgroup
-            \@footnotemark\@footnotetext
-        }%
-    }%
-    \renewcommand{\footnotemark}[1][]{%
-        \ifblank{##1}%
-        {%
-            \stepcounter{footnote}%
-            \protected at xdef\@thefnmark{\thefootnote}%
-            \@footnotemark%
-        }%
-        {%
-            \begingroup%
-            \c at footnote ##1\relax%
-            \unrestored at protected@xdef\@thefnmark{\thefootnote}%
-            \endgroup%
-            \@footnotemark%
-        }%
-    }%
   \trivlist
   \let\thmheadnl\relax
   \let\thm at swap\@gobble
@@ -205,6 +175,12 @@
 }% appto
 }{}% @ifundefined
 }% AtBeginDocument
+\DeclareRobustCommand{\qed}{%
+  \ifmmode \mathqed
+  \else
+        \InlineClass{theoremendmark}{\qedsymbol}%   lwarp
+  \fi
+}
 \renewenvironment{proof}[1][\proofname]{\par
   \LWR at forcenewpage% lwarp
   \LWR at printpendingfootnotes%                   lwarp
@@ -216,7 +192,7 @@
   \item[
         \InlineClass{amsthmproofname}{#1\@addpunct{.}}]\ignorespaces% changes
 }{%
-  \InlineClass{theoremendmark}{\popQED}\endtrivlist%
+  \popQED\endtrivlist%
   \LWR at printpendingfootnotes%                   lwarp
   \endBlockClass% lwarp
   \@endpefalse

Added: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-beamerarticle.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-beamerarticle.sty	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-beamerarticle.sty	2021-10-01 22:03:56 UTC (rev 60674)
@@ -0,0 +1,124 @@
+%%
+%% This is file `lwarp-beamerarticle.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx  (with options: `beamerarticle')
+%% 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{beamerarticle}[2021/05/26]
+\renewcommand<>{\textcolor}{\only#1{\beameroriginal{\textcolor}}}
+
+\AtBeginDocument{
+
+\renewcommand<>{\LWR at listitem}{%
+    \only#1{%
+        \beameroriginal{\LWR at listitem}%
+    }%
+}
+
+\renewcommand<>{\LWR at itemizeitem}{%
+    \only#1{%
+        \beameroriginal{\LWR at itemizeitem}%
+    }%
+}
+
+\renewcommand<>{\LWR at descitem}{%
+    \only#1{%
+        \beameroriginal{\LWR at descitem}%
+    }%
+}
+
+\renewcommand<>{\abstract}{%
+    \only#1{%
+        \beameroriginal{\abstract}%
+    }%
+}
+
+\renewcommand<>{\LWR at includegraphicsb}{%
+    \only#1{%
+        \beameroriginal{\LWR at includegraphicsb}%
+    }%
+}
+
+\xpretocmd\frame
+    {
+            \LWR at forcenewpage
+            \BlockClass{beamerframe}%
+    }
+    {}
+    {\LWR at patcherror{beamerarticle}{frame}}
+
+\xapptocmd\beamer at endframe
+    {\endBlockClass}
+    {}
+    {\LWR at patcherror{beamerarticle}{beamer at endframe}}
+
+\xpretocmd\beamer at article@startframe
+    {\LWR at nulllistfills}
+    {}
+    {\LWR at patcherror{beamerarticle}{beamer at article@startframe}}
+
+}% AtBeginDocument
+
+\let\beamer@@tmpop at frametitle@default\relax
+\defbeamertemplate<article>*{frametitle}{default}{%
+    \paragraph*{\insertframetitle}\ \par%
+    \ifdefempty{\insertframesubtitle}{}{%
+        \noindent\emph{\insertframesubtitle}\par%
+    }%
+}
+
+\NewDocumentCommand{\LWR at beamer@itemize}{o}{%
+    \LWR at itemizestart\LWR at origitemize%
+}%
+\NewDocumentCommand{\LWR at beamer@description}{o o}{%
+    \LWR at descriptionstart\LWR at origdescription%
+}%
+
+\xapptocmd{\LWR at patchlists}
+    {%
+        \LetLtxMacro\itemize\LWR at beamer@itemize%
+        \LetLtxMacro\description\LWR at beamer@description%
+    }
+    {}
+    {\LWR at patcherror{beamerarticle}{LWR at patchlists}}
+
+\LetLtxMacro\maketitle\LWR at maketitle
+
+\renewcommand{\subtitle}[2][]{
+    \gdef\@subtitle{#2}
+    \def\insertsubtitle{#2}
+}
+
+\xpatchcmd{\@maketitle}
+    {%
+        \LWR at htmltag{\LWR at tagtitleend}%
+        \LWR at startpars%
+    }%
+    {%
+        \LWR at htmltag{\LWR at tagtitleend}%
+        \ifdefvoid{\@subtitle}{}{%
+            \begin{BlockClass}{subtitle}%
+            \@subtitle%
+            \end{BlockClass}%
+        }%
+        \LWR at startpars%
+    }%
+    {}
+    {\LWR at patcherror{beamerarticle}{@maketitle}}
+
+\RequirePackage{fancyvrb}
+\DefineVerbatimEnvironment{semiverbatim}{Verbatim}{commandchars=\\\{\}}
+\endinput
+%%
+%% End of file `lwarp-beamerarticle.sty'.


Property changes on: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-beamerarticle.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-fancybox.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-fancybox.sty	2021-10-01 22:02:48 UTC (rev 60673)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-fancybox.sty	2021-10-01 22:03:56 UTC (rev 60674)
@@ -31,18 +31,18 @@
         \csname p at footnote\endcsname\@thefnmark%
     }% @currentlabel
     \renewrobustcmd{\textsuperscript}[1]{\LWR at htmlspan{sup}{##1}}%
-    \ifthenelse{%
-        \boolean{LWR at doingstartpars} \AND%
-        \cnttest{\value{LWR at lateximagedepth}}{=}{0}%
-    }%
-        {}%
-        {\LWR at htmltagc{\LWR at tagregularparagraph}\LWR at orignewline}%
+    \LWR at htmltagc{\LWR at tagregularparagraph}\LWR at orignewline%
     \@makefntext{}%
   \bgroup%
-  \aftergroup{\V@@@footnotetext}%
+  \aftergroup\V@@@footnotetext%
     \let\LWR at newautopagelabel\LWR at null@newautopagelabel%
   \ignorespaces%
 }%
+\def\V@@@footnotetext{%
+    \LWR at origtilde\LWR at orignewline%
+    \LWR at htmltagc{/\LWR at tagregularparagraph}\LWR at orignewline%
+    \strut\egroup%
+}
 }% AfterEndPreamble
 \renewcommand*{\@shadowbox}[1]{%
 \ifbool{FormatWP}%

Modified: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-fancyvrb.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-fancyvrb.sty	2021-10-01 22:02:48 UTC (rev 60673)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-fancyvrb.sty	2021-10-01 22:03:56 UTC (rev 60674)
@@ -22,31 +22,31 @@
 \AfterEndPreamble{
 \LWR at traceinfo{Patching fancyvrb.}
 \def\VerbatimFootnotes{%
-\let\@footnotetext\V at footnotetext%
-\let\footnote\V at footnote%
-\let\LWR at footnotetext\V at footnotetext% lwarp
+    \let\@footnotetext\V at footnotetext%
+    \let\footnote\V at footnote%
+    \let\LWR at footnotetext\V at footnotetext% lwarp
 }
 \def\V@@footnotetext{%
 \LWR at traceinfo{V at footnotetext}%
-\LWR at newautopagelabel{page}%
-\global\setbox\LWR at footnotebox=\vbox\bgroup%
+    \LWR at newautopagelabel{page}%
+    \global\setbox\LWR at footnotebox=\vbox\bgroup%
     \unvbox\LWR at footnotebox%
     \protected at edef\@currentlabel{%
         \csname p at footnote\endcsname\@thefnmark%
     }% @currentlabel
     \renewrobustcmd{\textsuperscript}[1]{\LWR at htmlspan{sup}{##1}}%
-    \ifthenelse{%
-        \boolean{LWR at doingstartpars} \AND%
-        \cnttest{\value{LWR at lateximagedepth}}{=}{0}%
-    }%
-        {}%
-        {\LWR at htmltagc{\LWR at tagregularparagraph}\LWR at orignewline}%
+    \LWR at htmltagc{\LWR at tagregularparagraph}\LWR at orignewline%
     \@makefntext{}%
-  \bgroup%
-  \aftergroup{\V@@@footnotetext}%
+    \bgroup%
+    \aftergroup\V@@@footnotetext%
     \let\LWR at newautopagelabel\LWR at null@newautopagelabel%
-  \ignorespaces%
+    \ignorespaces%
 }%
+\def\V@@@footnotetext{%
+    \LWR at origtilde\LWR at orignewline%
+    \LWR at htmltagc{/\LWR at tagregularparagraph}\LWR at orignewline%
+    \strut\egroup%
+}
 \preto\FVB at Verbatim{\LWR at forcenewpage}
 \preto\FVB at LVerbatim{\LWR at forcenewpage}
 \def\FV at BeginListFrame@Single{%

Modified: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-footnote.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-footnote.sty	2021-10-01 22:02:48 UTC (rev 60673)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-footnote.sty	2021-10-01 22:03:56 UTC (rev 60674)
@@ -15,21 +15,66 @@
 %%   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.
+\long\def\@makefntext#1{\textsuperscript{\@thefnmark}~#1}
+
 \LWR at ProvidesPackagePass{footnote}[1997/01/28]
+
+\long\def\@makefntext#1{\textsuperscript{\@thefnmark}~{#1}}
+
+\def\spewnotes{%
+  \endgroup%
+  \if at savingnotes\else\ifvoid\fn at notes\else\begingroup%
+    \let\@makefntext\@empty%
+    \let\@finalstrut\@gobble%
+    \let\rule\@gobbletwo%
+    \booltrue{LWR at spewingnotes}%        lwarp
+    \@footnotetext{\unvbox\fn at notes}%
+  \endgroup\fi\fi%
+}
+\let\endsavenotes\spewnotes
+
+\def\fn at fntext#1{%
+  \ifx\ifmeasuring@\@@undefined%
+    \expandafter\@secondoftwo\else\expandafter\@iden%
+  \fi%
+  {\ifmeasuring@\expandafter\@gobble\else\expandafter\@iden\fi}%
+  {%
+    \global\setbox\fn at notes\vbox{%
+      \unvbox\fn at notes%
+      \LWR at htmltagc{\LWR at tagregularparagraph}%      lwarp
+      \LWR at orignewline%                             lwarp
+      \fn at startnote%
+      \@makefntext{%
+        \rule\z@\footnotesep%
+        \ignorespaces%
+        #1%
+        \@finalstrut\strutbox%
+      }%
+      \fn at endnote%
+    }%
+  }%
+}
 \def\fn at startnote{%
   \protected at edef\@currentlabel{\csname p@\@mpfn\endcsname\@thefnmark}%
 }
 
 \def\fn at endnote{%
-\LWR at htmltagc{/\LWR at tagregularparagraph}%
-\LWR at orignewline%
+    \LWR at origtilde\LWR at orignewline%
+    \LWR at htmltagc{/\LWR at tagregularparagraph}\LWR at orignewline%
+    \LWR at origtilde\LWR at orignewline%
 }
 \def\fn at startfntext{%
   \setbox\z@\vbox\bgroup%
+    \LWR at htmltagc{\LWR at tagregularparagraph}%    lwarp
+    \LWR at orignewline%                           lwarp
     \fn at startnote%
+    \fn at prefntext% Req'd for numbering.
     \ignorespaces%
 }
+
 \def\fn at endfntext{%
+    \fn at postfntext%
+    \LWR at origtilde\LWR at orignewline%
     \LWR at htmltagc{/\LWR at tagregularparagraph}%
     \LWR at orignewline%
   \egroup%
@@ -37,6 +82,7 @@
     \let\@makefntext\@empty%
     \let\@finalstrut\@gobble%
     \LetLtxMacro\rule\@gobbletwo% *8* also the optional argument?
+    \booltrue{LWR at spewingnotes}%    lwarp
     \@footnotetext{\unvbox\z@}%
   \endgroup%
 }

Modified: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-footnotehyper.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-footnotehyper.sty	2021-10-01 22:02:48 UTC (rev 60673)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-footnotehyper.sty	2021-10-01 22:03:56 UTC (rev 60674)
@@ -18,6 +18,7 @@
 
 
 \RequirePackage{footnote}
+
 \LWR at ProvidesPackageDrop{footnotehyper}[2018/01/23]
 \endinput
 %%

Modified: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-graphics.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-graphics.sty	2021-10-01 22:02:48 UTC (rev 60673)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-graphics.sty	2021-10-01 22:03:56 UTC (rev 60674)
@@ -310,7 +310,7 @@
     \LWR at origtilde \LWR at orignewline%
     \begin{LWR at setvirtualpage}%
     \large%
-            \hbadness=10000\relax%
+    \hbadness=10000\relax%
     \setlength{\LWR at igwidth}{0pt}%
     \setlength{\LWR at igheight}{0pt}%
     \renewcommand*{\LWR at igwidthstyle}{}%

Modified: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-hang.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-hang.sty	2021-10-01 22:02:48 UTC (rev 60673)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-hang.sty	2021-10-01 22:03:56 UTC (rev 60674)
@@ -52,7 +52,7 @@
             }%
         \textquotedbl%
     }%
-    \let\item\LWR at itemizeitem%
+    \LetLtxMacro\item\LWR at itemizeitem%
     \list{}{}%
 }
 {\endlist}

Modified: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-hyperref.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-hyperref.sty	2021-10-01 22:02:48 UTC (rev 60673)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-hyperref.sty	2021-10-01 22:03:56 UTC (rev 60674)
@@ -359,6 +359,7 @@
 }
 
 \newcommand*{\hypertarget}{%
+    \LWR at ensuredoingapar%
     \begingroup%
     \LWR at linkcatcodes%
     \LWR at hypertargetb%

Modified: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-imakeidx.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-imakeidx.sty	2021-10-01 22:02:48 UTC (rev 60673)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-imakeidx.sty	2021-10-01 22:03:56 UTC (rev 60674)
@@ -74,9 +74,9 @@
 
 \catcode`\_=8%
 \appto\theindex{%
-    \let\item\LWR at indexitem%
-    \let\subitem\LWR at indexsubitem%
-    \let\subsubitem\LWR at indexsubsubitem%
+    \LetLtxMacro\item\LWR at indexitem%
+    \LetLtxMacro\subitem\LWR at indexsubitem%
+    \LetLtxMacro\subsubitem\LWR at indexsubsubitem%
 }
 \renewcommand\imki at wrindexentrysplit[3]{%
 \addtocounter{LWR at autoindex}{1}%
@@ -136,9 +136,9 @@
 \renewenvironment*{theindex}{%
     \imki at maybeaddtotoc
      \imki at indexlevel{\indexname}
-    \let\item\LWR at indexitem%
-    \let\subitem\LWR at indexsubitem%
-    \let\subsubitem\LWR at indexsubsubitem%
+    \LetLtxMacro\item\LWR at indexitem%
+    \LetLtxMacro\subitem\LWR at indexsubitem%
+    \LetLtxMacro\subsubitem\LWR at indexsubsubitem%
 }{}
 }% AtBeginDocument
 \imki at resetdefaults

Modified: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-index.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-index.sty	2021-10-01 22:02:48 UTC (rev 60673)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-index.sty	2021-10-01 22:03:56 UTC (rev 60674)
@@ -54,9 +54,9 @@
         \index at prologue
         \bigskip
     \fi
-    \let\item\LWR at indexitem%
-    \let\subitem\LWR at indexsubitem%
-    \let\subsubitem\LWR at indexsubsubitem%
+    \LetLtxMacro\item\LWR at indexitem%
+    \LetLtxMacro\subitem\LWR at indexsubitem%
+    \LetLtxMacro\subsubitem\LWR at indexsubsubitem%
 }{}
 }% AtBeginDocument
 \def\@showidx#1{}

Modified: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-luatexko.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-luatexko.sty	2021-10-01 22:02:48 UTC (rev 60673)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-luatexko.sty	2021-10-01 22:03:56 UTC (rev 60674)
@@ -15,7 +15,19 @@
 %%   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{luatexko}[2020/03/20]
+\LWR at ProvidesPackagePass{luatexko}[2021/07/10]
+\protected\def\typesetvertical{}
+\protected\def\typesethorizontal{}
+
+\def\verticaltypesetting{\BlockClass{verticalrl}}
+\def\beginverticaltypesetting{\BlockClass{verticalrl}}
+\def\endverticaltypesetting{\endBlockClass}
+
+\protected\def\vertical#1{\BlockClass{verticalrl}}
+\protected\def\endvertical{\endBlockClass}
+\protected\def\horizontal#1{\BlockClass{horizontaltb}}
+\protected\def\endhorizontal{\endBlockClass}
+\DeclareDocumentCommand{\vertlatin}{m}{#1}
 \newcommand{\LWR at HTML@dotemph}[1]{%
     \InlineClass[text-emphasis-style: dot]{dotemph}{#1}%
 }
@@ -23,7 +35,7 @@
 
 \newcommand{\LWR at HTML@ruby}[2]{%
     \LWR at htmltagc{ruby}%
-    \LWR at htmltagc{rb}#1\LWR at htmltagc{/rb}%
+    #1%
     \LWR at htmltagc{rp}(\LWR at htmltagc{/rp}%
     \LWR at htmltagc{rt}#2\LWR at htmltagc{/rt}%
     \LWR at htmltagc{rp})\LWR at htmltagc{/rp}%

Modified: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-multimedia.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-multimedia.sty	2021-10-01 22:02:48 UTC (rev 60673)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-multimedia.sty	2021-10-01 22:03:56 UTC (rev 60674)
@@ -22,6 +22,10 @@
 \LetLtxMacro\sound\LWR at multimedia
 
 \newcommand{\hyperlinkmovie}[3][]{}
+
+\newcommand{\hyperlinksound}[3][]{}
+
+\newcommand{\hyperlinkmute}
 \endinput
 %%
 %% End of file `lwarp-multimedia.sty'.

Modified: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-parnotes.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-parnotes.sty	2021-10-01 22:02:48 UTC (rev 60673)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-parnotes.sty	2021-10-01 22:03:56 UTC (rev 60674)
@@ -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{parnotes}[2016/08/15]
+\LWR at ProvidesPackagePass{parnotes}[2019/07/23]
 \long\def\PN at parnote@real#1#2{%
     \parnotemark{#1}%
     % Unless this is the first parnote in \PN at text, add a separator first

Modified: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-patch-komascript.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-patch-komascript.sty	2021-10-01 22:02:48 UTC (rev 60673)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-patch-komascript.sty	2021-10-01 22:03:56 UTC (rev 60674)
@@ -28,9 +28,9 @@
 \renewenvironment{theindex}{%
   \idx at heading%
   \index at preamble\par\nobreak
-    \let\item\LWR at indexitem%
-    \let\subitem\LWR at indexsubitem%
-    \let\subsubitem\LWR at indexsubsubitem%
+    \LetLtxMacro\item\LWR at indexitem%
+    \LetLtxMacro\subitem\LWR at indexsubitem%
+    \LetLtxMacro\subsubitem\LWR at indexsubsubitem%
 }
 {}
 

Modified: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-patch-memoir.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-patch-memoir.sty	2021-10-01 22:02:48 UTC (rev 60673)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-patch-memoir.sty	2021-10-01 22:03:56 UTC (rev 60674)
@@ -63,7 +63,6 @@
         \@esphack
     }
 }
-
 \setstocksize{190in}{20in}
 \setlrmarginsandblock{2in}{2in}{*}
 \setulmarginsandblock{1in}{1in}{*}
@@ -439,7 +438,7 @@
 \renewcommand*{\raggedyright}[1][]{}
 \renewcommand{\sourceatright}[2][]{\attribution{#2}}
 \let\memorigdbs\LWR at endofline
-\let\memorigpar\par
+\renewcommand*{\memorigpar}{\par}
 \let\atcentercr\LWR at endofline
 
 \renewcommand*{\linenottooshort}[1][]{}

Modified: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-scrextend.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-scrextend.sty	2021-10-01 22:02:48 UTC (rev 60673)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-scrextend.sty	2021-10-01 22:03:56 UTC (rev 60674)
@@ -37,7 +37,8 @@
     \DeclareDocumentCommand{\maketitle}{o}{\LWR at koma@orig at maketitle}
 }
 
-\DeclareDocumentCommand{\@maketitle}{}{%
+\providecommand*{\@maketitle}{}
+\renewrobustcmd{\@maketitle}{%
     \ifdefvoid{\@titlehead}{}{%
         \begin{BlockClass}{titlehead}%
         \@titlehead%

Added: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-sympytex.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-sympytex.sty	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-sympytex.sty	2021-10-01 22:03:56 UTC (rev 60674)
@@ -0,0 +1,41 @@
+%%
+%% This is file `lwarp-sympytex.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx  (with options: `sympytex')
+%% 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{sympytex}[2014/05/16]
+\AfterEndPreamble{
+
+\AtBeginEnvironment{sympyblock}{%
+    \ifnumcomp{\value{LWR at lateximagedepth}}{>}{0}%
+        {}%
+        {%
+            \LWR at forcenewpage%
+            \LWR at atbeginverbatim{verbatim}%
+        }%
+}
+
+\AfterEndEnvironment{sympyblock}{%
+    \ifnumcomp{\value{LWR at lateximagedepth}}{>}{0}%
+        {}%
+        {%
+            \LWR at afterendverbatim%
+        }%
+}
+
+}
+\endinput
+%%
+%% End of file `lwarp-sympytex.sty'.


Property changes on: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-sympytex.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-tagpdf.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-tagpdf.sty	2021-10-01 22:02:48 UTC (rev 60673)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-tagpdf.sty	2021-10-01 22:03:56 UTC (rev 60674)
@@ -15,59 +15,116 @@
 %%   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 ProvidesPackageDrop{tagpdf}[2019/07/02]
+\LWR at ProvidesPackageDrop{tagpdf}[2021-08-27]
 \ExplSyntaxOn
 
 \tl_new:N \l__uftag_mc_key_label_tl
 
-\keys_define:nn { uftag / mc }
+\keys_define:nn { __tag / mc }
+  {
+    stash                    .bool_set:N    = \l__tag_mc_key_stash_bool,
+    __artifact-bool          .bool_set:N    = \l__tag_mc_artifact_bool,
+    __artifact-type          .choice:,
+    __artifact-type / pagination .code:n    =
+      {},
+    __artifact-type / pagination/header .code:n    =
+      {},
+    __artifact-type / pagination/footer .code:n    =
+      {},
+    __artifact-type / layout     .code:n    =
+      {},
+    __artifact-type / page       .code:n    =
+      {},
+    __artifact-type / background .code:n    =
+      {},
+    __artifact-type / notype     .code:n    =
+      {},
+    __artifact-type /      .code:n    =
+      {},
+  }
+
+\keys_define:nn { __tag / mc }
+  {
+    tag .code:n = % the name (H,P,Span) etc
+      {},
+    raw  .code:n =
+      {},
+    alttext .code:n      = % Alt property
+      {
+        \gdef\LWR at ThisAltText{\detokenize\expandafter{#1}}%
+      },
+    actualtext .code:n      = % ActualText property
+      {},
+    label .tl_set:N        = \l__tag_mc_key_label_tl,
+    artifact .code:n       =
+      {},
+    artifact .default:n    = {notype}
+  }
+
+\keys_define:nn { __tag / struct }
+  {
+    label .tl_set:N      = \l__tag_struct_key_label_tl,
+    stash .bool_set:N    = \l__tag_struct_elem_stash_bool,
+    tag   .code:n        = % S property
+      {},
+    title .code:n        = % T property
+      {},
+    title-o .code:n        = % T property
+      {},
+    alttext .code:n      = % Alt property
+      {
+        \gdef\LWR at ThisAltText{\detokenize\expandafter{#1}}%
+      },
+    actualtext .code:n  = % ActualText property
+      {},
+    lang .code:n        = % Lang property
+      {},
+    ref .code:n        = % Lang property
+      {},
+    E .code:n        = % E property
+      {},
+  }
+
+\keys_define:nn { __tag / struct }
  {
-  tag .code:n = % the name (H,P,Span etc
-   {},
-  raw  .code:n =
-   {}
-    ,
-  alttext .code:n      = % Alt property
-   {
-    \gdef\LWR at ThisAltText{\detokenize\expandafter{#1}}%
-   },
-   alttext-o .code:n      = % Alt property
-   {
-    \gdef\LWR at ThisAltText{\detokenize\expandafter{#1}}%
-   },
-   actualtext .code:n      = % ActualText property
-   {},
-   actualtext-o .code:n      = % ActualText property
-   {},
-  label .tl_set:N        = \l__uftag_mc_key_label_tl,
-  artifact .code:n       = {},
-  artifact .default:n    = {notype}
+    AF .code:n        = % AF property
+      {},
+   ,AFinline .code:n =
+     {}
+   ,AFinline-o .code:n =
+     {}
  }
 
-\keys_define:nn { uftag / struct }
- {
-  label .tl_set:N      = \l__uftag_struct_key_label_tl,
-  stash .bool_set:N    = \l__uftag_struct_elem_stash_bool,
-  tag   .code:n        = % S property
-   {},
-  title .code:n        = % T property
-   {},
-  title-o .code:n        = % T property
-   {},
-  alttext .code:n      = % Alt property
-   {
-    \gdef\LWR at ThisAltText{\detokenize\expandafter{#1}}%
-   },
-   alttext-o .code:n      = % Alt property
-   {
-    \gdef\LWR at ThisAltText{\detokenize\expandafter{#1}}%
-   },
-   actualtext .code:n  = % ActualText property
-   {},
-   actualtext-o .code:n  = % ActualText property
-   {},
-}
+\keys_define:nn { __tag / struct }
+  {
+    attribute-class .code:n =
+     {}
+  }
 
+\keys_define:nn { __tag / struct }
+  {
+    attribute .code:n  = % A property (attribute, value currently a dictionary)
+      {},
+  }
+
+\cs_new_protected:Npn \__tag_ref_label:nn #1 #2 %#1 label, #2 name of list mc or struct
+  {
+    \@bsphack
+    \ref_label:nv {#1}{c__tag_ref#2_clist}
+    \@esphack
+  }
+\cs_generate_variant:Nn \__tag_ref_label:nn {en}
+
+\cs_new:Npn \__tag_ref_value:nnn #1 #2 #3 %#1 label, #2 attribute, #3 default
+  {
+    \ref_value:nnn {#1}{#2}{#3}
+  }
+\cs_generate_variant:Nn \__tag_ref_value:nnn {enn}
+\cs_new:Npn \__tag_ref_value_lastpage:nn #1 #2
+  {
+    \ref_value:nnn {__tag_LastPage}{#1}{#2}
+  }
+
 \NewDocumentCommand \tagpdfsetup { m }{}
 
 \cs_set_eq:NN\tagpdfifluatexTF \sys_if_engine_luatex:TF
@@ -78,49 +135,56 @@
 
 \NewDocumentCommand \tagmcifinTF { m m }{}
 
-\NewDocumentCommand \tagmcbegin { m }{\uftag_mc_begin:n {#1}\ignorespaces}
-\cs_new_protected:Nn \uftag_mc_begin:n {
-  \group_begin:
-   \keys_set:nn { uftag / mc } {#1}
-  \group_end:
+\NewDocumentCommand \tagmcbegin { m }{%
+    \tag_mc_begin:n {#1}%\ignorespaces
 }
 
+\cs_new_protected:Npn \tag_mc_begin:n #1 %#1 keyval
+  {
+    \keys_set:nn { __tag / mc } {#1}
+  }
+
 \NewDocumentCommand \tagmcend {}{\ThisAltText{}}
 
-\cs_new_protected:Nn \uftag_mc_end: {\ThisAltText{}}
-
 \NewDocumentCommand \tagmcuse { m }{}
 
 \cs_new_protected:Nn \uftag_mc_use:n {}
 
-\NewDocumentCommand \tagstructbegin { m }{
-  \uftag_struct_begin:n {#1}
-}
+\NewDocumentCommand \tagstructbegin { m }
+  {
+    \tag_struct_begin:n {#1}
+  }
 
-\cs_new_protected:Nn \uftag_struct_begin:n
-{
-  \group_begin:
-  \keys_set:nn {uftag / struct} { #1 }
-  \group_end:
-}
+\cs_new_protected:Npn \tag_struct_begin:n #1 %#1 key-val
+  {
+    \keys_set:nn { __tag / struct} { #1 }
+  }
 
-\NewDocumentCommand \tagstructend {  }{\ThisAltText{}}
+\NewDocumentCommand \tagstructend {  }
+  {
+   \tag_struct_end:
+  }
 
-\cs_new_protected:Nn \uftag_struct_end: {\ThisAltText{}}
+\cs_new_protected:Nn \tag_struct_end:
+    {\ThisAltText{}}
 
 \NewDocumentCommand \tagstructuse { m }{}
 
+\NewDocumentCommand\ShowTagging { m }
+  {}
 
-\NewDocumentCommand\showtagpdfattributes { }{}
-
 \sys_if_engine_luatex:T
 {
   \NewDocumentCommand\pdffakespace { }
-  {
-   \__uftag_fakespace:
-  }
+  {}
 }
 
+\newcommand\tagpdfparaOn {}
+
+\newcommand\tagpdfparaOff{}
+
+\NewDocumentCommand\tagpdfsuppressmarks{m}{}
+
 \ExplSyntaxOff
 \endinput
 %%

Modified: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-titling.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-titling.sty	2021-10-01 22:02:48 UTC (rev 60673)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-titling.sty	2021-10-01 22:03:56 UTC (rev 60674)
@@ -55,7 +55,7 @@
     \def\@makefnmark{\textsuperscript{\@thefnmark}}%
     \long\def\@makefntext##1{%
         \makethanksmark~%
-        ##1%
+        {##1}%
     }% \@makefntext
 }
 \renewcommand{\thanksfootmark}{%
@@ -72,7 +72,8 @@
     \end{titlepage}
     \@bscontmark
 }
-\DeclareDocumentCommand{\@maketitle}{}{%
+\providecommand*{\@maketitle}{}
+\renewrobustcmd{\@maketitle}{%
     \maketitlehooka
     {
         \LWR at stoppars\LWR at htmltag{\LWR at tagtitle}%

Modified: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-tocbibind.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-tocbibind.sty	2021-10-01 22:02:48 UTC (rev 60673)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-tocbibind.sty	2021-10-01 22:03:56 UTC (rev 60674)
@@ -45,9 +45,9 @@
           \fi
         \fi
      \fi
-\let\item\LWR at indexitem%
-\let\subitem\LWR at indexsubitem%
-\let\subsubitem\LWR at indexsubsubitem%
+\LetLtxMacro\item\LWR at indexitem%
+\LetLtxMacro\subitem\LWR at indexsubitem%
+\LetLtxMacro\subsubitem\LWR at indexsubsubitem%
 }{}
 \DeclareDocumentCommand{\simplechapter}{O{\@empty}}{%
     \def\@chapcntformat##1{%

Modified: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-xetexko.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-xetexko.sty	2021-10-01 22:02:48 UTC (rev 60673)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-xetexko.sty	2021-10-01 22:03:56 UTC (rev 60674)
@@ -17,11 +17,19 @@
 %% version 2005/12/01 or later.
 \LWR at loadbefore{xetexko}
 
-\LWR at ProvidesPackagePass{xetexko}[2021/03/22]
-\renewcommand{\verticaltypesetting}{}
-\renewenvironment{vertical}[1]{\BlockClass{verticalrl}}{\endBlockClass}
-\renewenvironment{horizontal}[1]{\BlockClass{horizontaltb}}{\endBlockClass}
-\renewcommand{\vertlatin}[1]{#1}
+\LWR at ProvidesPackagePass{xetexko}[2021/09/06]
+\protected\def\typesetvertical{}
+\protected\def\typesethorizontal{}
+
+\def\verticaltypesetting{\BlockClass{verticalrl}}
+\def\beginverticaltypesetting{\BlockClass{verticalrl}}
+\def\endverticaltypesetting{\endBlockClass}
+
+\protected\def\vertical#1{\BlockClass{verticalrl}}
+\protected\def\endvertical{\endBlockClass}
+\protected\def\horizontal#1{\BlockClass{horizontaltb}}
+\protected\def\endhorizontal{\endBlockClass}
+\DeclareDocumentCommand{\vertlatin}{m}{#1}
 \endinput
 %%
 %% End of file `lwarp-xetexko.sty'.

Modified: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-xpinyin.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-xpinyin.sty	2021-10-01 22:02:48 UTC (rev 60673)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-xpinyin.sty	2021-10-01 22:03:56 UTC (rev 60674)
@@ -37,9 +37,7 @@
   {
     \__xpinyin_leavevmode:
     \LWR at htmltagc{ruby}
-    \LWR at htmltagc{rb}
     \__xpinyin_save_CJKsymbol:n {#2}\null% \null removes extra space
-    \LWR at htmltagc{/rb\space}
     \LWR at htmltagc{rp}(\LWR at htmltagc{/rp\space}
     \LWR at htmltagc{rt}
     \__xpinyin_make_pinyin_box:nnn {#1} {#2} { \use:c { c__xpinyin_ #1 _tl } }
@@ -53,9 +51,7 @@
   {
     \__xpinyin_leavevmode:
     \LWR at htmltagc{ruby}
-    \LWR at htmltagc{rb}
     \__xpinyin_save_CJKsymbol:n {#1}\null% \null removes extra space
-    \LWR at htmltagc{/rb\space}
     \LWR at htmltagc{rp}(\LWR at htmltagc{/rp\space}
     \LWR at htmltagc{rt}
     \__xpinyin_make_pinyin_box:xnn

Modified: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp.sty	2021-10-01 22:02:48 UTC (rev 60673)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp.sty	2021-10-01 22:03:56 UTC (rev 60674)
@@ -17,7 +17,7 @@
 %% version 2005/12/01 or later.
 \NeedsTeXFormat{LaTeX2e}[1999/12/01]
 \ProvidesPackage{lwarp}
-    [2021/08/27 v0.901  Allows LaTeX to directly produce HTML5 output.]
+    [2021/10/01 v0.902  Allows LaTeX to directly produce HTML5 output.]
 
 
 
@@ -26,6 +26,7 @@
 
 
 
+
 \RequirePackage{iftex}[2019/11/07]
 \RequirePackage{ifpdf}
 \RequirePackage{ifptex}
@@ -142,7 +143,7 @@
     by lwarp's HTML conversion%
     \ifblank{#2}{}{%
         .\MessageBreak
-        Class(es) #2 may be useful instead%
+        #2 may be useful instead%
     }%
 }
 {%
@@ -150,7 +151,7 @@
     or is superceded by another class.%
     \ifblank{#2}{}{%
         \MessageBreak
-        For a possible alternative, see class(es) #2.%
+        For a possible alternative, see #2.%
     }%
 }
 }{\relax}%
@@ -190,7 +191,6 @@
 \LWR at checkloadnever{auto-pst-pdf-lua}{}
 \LWR at checkloadnever{algorithms}{}
 \LWR at checkloadnever{arraycols}{}
-\LWR at checkloadnever{beamer}{}
 \LWR at checkloadnever{bidi}{}
 \LWR at checkloadnever{cals}{}
 \LWR at checkloadnever{cellspace}{}
@@ -268,6 +268,7 @@
     \LWR at checkloadnever{CJK}{ctex, xeCJK}
     \LWR at checkloadnever{CJKutf8}{ctex, xeCJK}
 }
+\LWR at earlyclassloadnever{beamer}{beamerarticle}
 \LWR at earlyclassloadnever{jarticle}{ujarticle}
 \LWR at earlyclassloadnever{jbook}{ujbook}
 \LWR at earlyclassloadnever{jreport}{ujreport}
@@ -316,6 +317,7 @@
 \LWR at loadafter{backref}
 \LWR at loadafter{balance}
 \LWR at loadafter{bbding}
+\LWR at loadafter{beamerarticle}
 \LWR at loadafter{bigdelim}
 \LWR at loadafter{bigfoot}
 \LWR at loadafter{bigstrut}
@@ -718,6 +720,7 @@
 \LWR at loadafter{supertabular}
 \LWR at loadafter{svg}
 \LWR at loadafter{swfigure}
+\LWR at loadafter{sympytex}
 \LWR at loadafter{syntonly}
 \LWR at loadafter{t1inc}
 \LWR at loadafter{tabfigures}
@@ -1519,12 +1522,6 @@
 
 \end{warpHTML}
 
-\begin{warpprint}
-
-\RequirePackage{varwidth}
-
-\end{warpprint}
-
 \begin{warpall}
 \LetLtxMacro\LWR at origRequirePackage\RequirePackage
 \LetLtxMacro\LWR at origRequirePackageWithOptions\RequirePackageWithOptions
@@ -2480,6 +2477,15 @@
 
 table td.tdbfit { font-weight: bold ; font-style:italic }
 
+span.textnormal, div.textnormal {
+    font-weight: normal;
+    font-style: normal;
+    font-variant: normal;
+    font-variant-numeric: normal ;
+    font-family: "DejaVu Serif", "Bitstream Vera Serif",
+    "Lucida Bright", Georgia, serif;
+}
+
 span.textmd, div.textmd { font-weight: normal; }
 
 span.textup, div.textup {
@@ -3094,7 +3100,7 @@
 .fcolorbox .minipage, .fcolorboxBlock .minipage
     {border: none ; background: none;}
 
-.fbox, .fboxBlock { border: 1px solid black ; }
+.fbox, .fboxBlock { border: 1px solid black ; padding: 4pt }
 
 .fbox, .fboxBlock, .fcolorbox, .fcolorboxBlock, .colorbox, .colorboxBlock,
 .fminipage, .fcolorminipage
@@ -3243,6 +3249,15 @@
     border: 6px groove black ;
 }
 
+/* For beamerarticle: */
+div.beamerframe {
+    margin: 3ex 1em 3ex 1em ;
+   border: 1px solid gray;
+     border-radius: 0px ;
+    padding: .3ex 1em 0ex 1em ;
+  display: block ;
+}
+
 dl {
   margin: 1ex 2em 1ex 0em;
   line-height: 1.3;
@@ -3618,6 +3633,7 @@
 
 div.author
 {
+    text-align: center ;
     font-variant: normal ;
     font-style: normal ;
     font-size: 1em ;
@@ -3773,7 +3789,7 @@
 
 span.alg2elinenumber{
     margin-right: .5em ;
-    font-size: 50% ;
+    font-size: 60% ;
     color: red ;
 }
 
@@ -4823,7 +4839,7 @@
 
 -- Copyright 2016-2021 Brian Dunn
 
-printversion = "v0.901"
+printversion = "v0.902"
 requiredconfversion = "2" -- also at *lwarpmk.conf
 
 function printhelp ()
@@ -6195,7 +6211,7 @@
 \LWR at popclose
 }
 
-\newcommand*{\LWR at closeprevious}[1]{
+\newcommand*{\LWR at closeprevious}[1]{%
 \LWR at traceinfo{%
     LWR at closeprevious to depth \csuse{LWR at depth#1}, %
     depths are \LWR at subprintstack%
@@ -6333,14 +6349,14 @@
 
 
 \newcommand*{\LWR at htmltagc}[1]{%
-\LWR at traceinfo{LWR at htmltagc !\detokenize{#1}!}%
-\begingroup%
-\LWR at hook@processingtags%
-\ifmmode\else\protect\LWR at print@normalfont\protect\LWR at origttfamily\fi%
-\protect\LWR at origtextless%
-\LWR at isolate{#1}%
-\protect\LWR at origtextgreater%
-\endgroup%
+    \LWR at traceinfo{LWR at htmltagc !\detokenize{#1}!}%
+    \begingroup%
+    \LWR at hook@processingtags%
+    \ifmmode\else\protect\LWR at print@normalfont\protect\LWR at origttfamily\fi%
+    \protect\LWR at origtextless%
+    \LWR at isolate{#1}%
+    \protect\LWR at origtextgreater%
+    \endgroup%
 }
 
 \newcommand*{\LWR at spanwarnformat}[1]{%
@@ -6362,8 +6378,8 @@
 }
 
 \newcommand*{\LWR at nestspanitem}{%
-\if at newlist\else{\LWR at htmltagc{br /}}\fi%
-\LWR at origitem%
+    \if at newlist\else{\LWR at htmltagc{br /}}\fi%
+    \LWR at origitem%
 }
 
 \newenvironment*{LWR at nestspan}
@@ -6391,7 +6407,7 @@
     }%
     \renewcommand{\LWR at forcenewpage}{}%
     \renewcommand{\LWR at liststart}{%
-        \let\item\LWR at nestspanitem%
+        \LetLtxMacro\item\LWR at nestspanitem%
     }%
     \renewcommand{\LWR at listend}{\LWR at htmltagc{br /}\LWR at htmltagc{br /}}%
     \renewenvironment{quote}{\LWR at htmltagc{br /}}{\LWR at htmltagc{br /}}%
@@ -6678,11 +6694,8 @@
 \newbool{LWR at doingapar}
 \global\boolfalse{LWR at doingapar}
 
-\newcommand*{\LWR at ensuredoingapar}{%
-\ifbool{LWR at doingstartpars}%
-{\global\booltrue{LWR at doingapar}}%
-{}%
-}
+\newbool{LWR at algocf@dopars}
+\boolfalse{LWR at algocf@dopars}
 
 \def\PN at parnotes@auto{}%
 
@@ -6696,9 +6709,13 @@
     }% nested par tags?
     {}% no nested par tags
     {% yes nest par tags
-        \PN at parnotes@auto%
-        \LWR at htmltagc{\LWR at tagregularparagraph}\LWR at orignewline%
-        \global\booltrue{LWR at doingapar}%
+        \ifbool{LWR at doingapar}{}{%
+            \PN at parnotes@auto%
+            \global\booltrue{LWR at doingapar}%
+            \ifbool{LWR at algocf@dopars}{}{%
+                \LWR at htmltagc{\LWR at tagregularparagraph}\LWR at orignewline%
+            }%
+        }%
         \let\par\LWR at closeparagraph%
     }% end of yes nest par tags
 }% end of handling pars
@@ -6705,6 +6722,8 @@
 {}% not handling pars
 }
 
+\let\LWR at ensuredoingapar\LWR at openparagraph
+
 \newcommand*{\LWR at closeparagraph@br}
 {%
     \ifboolexpr{
@@ -6712,7 +6731,9 @@
         test {\ifnumcomp{\value{LWR at lateximagedepth}}{=}{0}} and
         not bool {LWR at intabularmetadata}
     }%
-        {\unskip\LWR at htmltagc{br /}}%
+        {%
+            \unskip\LWR at htmltagc{br /}%
+        }%
         {}%
 }
 
@@ -6731,9 +6752,10 @@
         \@hspacer{\fill}% \hspace*{\fill}
         \leavevmode\LWR at orignewline%
         \LWR at htmltagc{/\LWR at tagregularparagraph}%
-        \global\boolfalse{LWR at doingapar}%
+        \global\boolfalse{LWR at doingapar}% keep
         \global\boolfalse{LWR at minipagethispar}%
         \PN at parnotes@auto%
+        \global\boolfalse{LWR at doingapar}%
     }% end of yes nest par tags
 }% end of handling pars
 {% not handling pars
@@ -6772,6 +6794,7 @@
     \ifbool{LWR at doingstartpars}%
     {}%
     {%
+        \ClearPreHook{par}%
         \PushPreHook{par}{\LWR at openparagraph}%
         \let\par\LWR at closeparagraph
 
@@ -6913,8 +6936,14 @@
 
 \begin{warpHTML}
 
+\AtBeginDocument{
+\robustify{\footnote}
+\robustify{\footnotemark}
+}
+
 \newbox\LWR at footnotebox
-\long\def\@makefntext#1{\textsuperscript{\@thefnmark}~#1}
+\newbool{LWR at spewingnotes}% For the footnote package.
+\long\def\@makefntext#1{\textsuperscript{\@thefnmark}~{#1}}
 \def\@makefnmark{%
     \textsuperscript{\@thefnmark}%
 }
@@ -6921,6 +6950,7 @@
 \long\def\LWR@@footnotetext#1#2{%
 \LWR at traceinfo{LWR at footnotetext}%
 \LWR at newautopagelabel{page}%
+\LWR at ensuredoingapar%
 \begingroup%
 \let\LWR at newautopagelabel\LWR at null@newautopagelabel%
 \global\setbox\csname #2\endcsname=\vbox{%
@@ -6931,26 +6961,18 @@
     \color at begingroup%
     \LWR at disablepinyin%
     \renewrobustcmd{\textsuperscript}[1]{\LWR at htmlspan{sup}{##1}}%
-    \ifthenelse{%
-        \boolean{LWR at doingstartpars} \AND%
-        \cnttest{\value{LWR at lateximagedepth}}{=}{0}%
+    \ifbool{LWR at spewingnotes}{}{%
+        \LWR at htmltagc{\LWR at tagregularparagraph}\LWR at orignewline%
     }%
-        {}%
-        {\LWR at htmltagc{\LWR at tagregularparagraph}\LWR at orignewline}%
     \@makefntext{#1}%
-    \ifthenelse{%
-        \boolean{LWR at doingstartpars} \AND%
-        \cnttest{\value{LWR at lateximagedepth}}{=}{0}%
+    \ifbool{LWR at spewingnotes}{}{%
+        \LWR at origtilde\LWR at orignewline%
+        \LWR at htmltagc{/\LWR at tagregularparagraph}%
+        \LWR at orignewline%
     }%
-        {\par}%
-        {%
-            \LWR at htmltagc{/\LWR at tagregularparagraph}%
-            \LWR at orignewline%
-        }%
     \color at endgroup%
 }% vbox
 \endgroup%
-\LWR at ensuredoingapar%
 }%
 
 \long\def\LWR at footnotetext#1{\LWR@@footnotetext{#1}{LWR at footnotebox}}%
@@ -6958,6 +6980,7 @@
 \newbox\LWR at mpfootnotes
 \long\def\@mpfootnotetext#1{%
 \LWR at traceinfo{@mpfootnotetext}%
+\LWR at ensuredoingapar%
 \global\setbox\LWR at mpfootnotes\vbox{%
     \unvbox\LWR at mpfootnotes%
     \reset at font\footnotesize%
@@ -6966,22 +6989,12 @@
     \protected at edef\@currentlabel%
         {\csname p at mpfootnote\endcsname\@thefnmark}%
     \color at begingroup%
-    \ifthenelse{%
-        \boolean{LWR at doingstartpars} \AND%
-        \cnttest{\value{LWR at lateximagedepth}}{=}{0}%
-    }%
-        {}%
-        {\LWR at htmltagc{\LWR at tagregularparagraph}\LWR at orignewline}%
+    \LWR at htmltagc{\LWR at tagregularparagraph}\LWR at orignewline%
     \@makefntext{%
         \ignorespaces#1%
     }%
-    \ifthenelse{\cnttest{\value{LWR at lateximagedepth}}{>}{0}}%
-        {}%
-        {%
-            \leavevmode\LWR at orignewline%
-            \LWR at htmltagc{/\LWR at tagregularparagraph}%
-            \LWR at origpar%
-        }%
+    \leavevmode\LWR at orignewline%
+    \LWR at htmltagc{/\LWR at tagregularparagraph}%
     \color at endgroup%
 }% vbox
 \LWR at ensuredoingapar%
@@ -7434,6 +7447,23 @@
 \CustomizeMathJax{\def\mathcode#1={\mathchar}}
 \CustomizeMathJax{\let\delcode\mathcode}
 \CustomizeMathJax{\let\delimiter\mathchar}
+\CustomizeMathJax{\def\oe{\unicode{x0153}}}
+\CustomizeMathJax{\def\OE{\unicode{x0152}}}
+\CustomizeMathJax{\def\ae{\unicode{x00E6}}}
+\CustomizeMathJax{\def\AE{\unicode{x00C6}}}
+\CustomizeMathJax{\def\aa{\unicode{x00E5}}}
+\CustomizeMathJax{\def\AA{\unicode{x00C5}}}
+\CustomizeMathJax{\def\o{\unicode{x00F8}}}
+\CustomizeMathJax{\def\O{\unicode{x00D8}}}
+\CustomizeMathJax{\def\l{\unicode{x0142}}}
+\CustomizeMathJax{\def\L{\unicode{x0141}}}
+\CustomizeMathJax{\def\ss{\unicode{x00DF}}}
+\CustomizeMathJax{\def\SS{\unicode{x1E9E}}}
+\CustomizeMathJax{\def\dag{\unicode{x2020}}}
+\CustomizeMathJax{\def\ddag{\unicode{x2021}}}
+\CustomizeMathJax{\def\P{\unicode{x00B6}}}
+\CustomizeMathJax{\def\copyright{\unicode{x00A9}}}
+\CustomizeMathJax{\def\pounds{\unicode{x00A3}}}
 \end{warpMathJax}
 
 \begin{warpHTML}% due to warpMathJax
@@ -8149,7 +8179,7 @@
 \LWR at stoppars
 \LWR at closeprevious{finished}
 \LWR at printpendingfootnotes
-\label{\BaseJobname-autofile-last}
+\label{\BaseJobname-autofile-last}\LWR at origtilde\LWR at orignewline
 \LWR at htmlelementclassend{section}{textbody}
 \LWR at htmlelementclassend{main}{bodycontainer}
 \LWR at htmlelementclassend{div}{bodyandsidetoc}
@@ -8251,15 +8281,15 @@
 \end{warpprint}
 \begin{warpHTML}
 \DeclareDocumentEnvironment{titlepage}{}
-{
-\renewrobustcmd{\affiliation}[1]{\\ \InlineClass{affiliation}{##1}}
-\LWR at printpendingfootnotes
-\LWR at forcenewpage
-\BlockClass{titlepage}
+{%
+    \renewrobustcmd{\affiliation}[1]{\\ \InlineClass{affiliation}{##1}}%
+    \LWR at printpendingfootnotes
+    \LWR at forcenewpage
+    \BlockClass{titlepage}
 }
 {
-\endBlockClass
-\LWR at printpendingfootnotes
+    \endBlockClass
+    \LWR at printpendingfootnotes
 }
 \end{warpHTML}
 \begin{warpprint}
@@ -8342,7 +8372,7 @@
 }
 \long\def\@makefntext##1{%
 \textsuperscript{\@thefnmark}~%
-##1%
+{##1}%
 }%
 }
 
@@ -8359,7 +8389,7 @@
     \@ctrerr\fi%
 }
 \LWR at formatted{@fnsymbol}
-\renewcommand*{\maketitle}{%
+\newcommand*{\LWR at maketitle}{%
 \begin{titlepage}
 \LWR at maketitlesetup
 \@maketitle
@@ -8378,7 +8408,10 @@
 \global\let\date\relax
 \global\let\and\relax
 }
-\DeclareDocumentCommand{\@maketitle}{}{%
+
+\LetLtxMacro\maketitle\LWR at maketitle
+\providecommand*{\@maketitle}{}
+\renewrobustcmd{\@maketitle}{%
     \LWR at stoppars%
     \LWR at htmltag{\LWR at tagtitle}%
     \@title%
@@ -8713,132 +8746,100 @@
 }
 
 \newcommand*{\LWR at listitem}{%
-\LWR at stoppars%
-\LWR at startnewdepth{listitem}%
-\LWR at htmltag{li}%
-\LWR at startpars%
-\LWR at origitem%
+    \LWR at stoppars%
+    \LWR at startnewdepth{listitem}%
+    \LWR at htmltag{li}%
+    \LWR at startpars%
+    \LWR at origitem%
 }
 
 \newcommand*{\LWR at nulllistfills}{%
-\renewcommand*{\hss}{}%
-\renewcommand*{\llap}[1]{##1}%
-\renewcommand*{\rlap}[1]{##1}%
-\renewcommand*{\hfil}{}%
-\renewcommand*{\hfilneg}{}%
-\renewcommand*{\hfill}{}%
+    \renewcommand*{\hss}{}%
+    \renewcommand*{\llap}[1]{##1}%
+    \renewcommand*{\rlap}[1]{##1}%
+    \renewcommand*{\hfil}{}%
+    \renewcommand*{\hfilneg}{}%
+    \renewcommand*{\hfill}{}%
 }
 
 \newcommand*{\LWR at liststart}{%
-\LWR at traceinfo{LWR at liststart}%
-\LWR at stoppars%
-\LWR at pushoneclose{list}%
-\LWR at htmltag{\LWR at printopenlist}\LWR at orignewline%
-\LWR at startpars%
-\setlength{\topsep}{0pt}%
-\setlength{\partopsep}{0pt}%
-\setlength{\itemsep}{0pt}%
-\setlength{\parsep}{0pt}%
-\setlength{\leftmargin}{0pt}%
-\setlength{\rightmargin}{0pt}%
-\setlength{\listparindent}{0pt}%
-\setlength{\itemindent}{0pt}%
-\setlength{\labelsep}{1em}%
-\LWR at nulllistfills%
+    \LWR at traceinfo{LWR at liststart}%
+    \LWR at stoppars%
+    \LWR at pushoneclose{list}%
+    \LWR at htmltag{\LWR at printopenlist}\LWR at orignewline%
+    \LWR at startpars%
+    \setlength{\topsep}{0pt}%
+    \setlength{\partopsep}{0pt}%
+    \setlength{\itemsep}{0pt}%
+    \setlength{\parsep}{0pt}%
+    \setlength{\leftmargin}{0pt}%
+    \setlength{\rightmargin}{0pt}%
+    \setlength{\listparindent}{0pt}%
+    \setlength{\itemindent}{0pt}%
+    \setlength{\labelsep}{1em}%
+    \LWR at nulllistfills%
 }
 \newcommand*{\LWR at listend}{%
-\LWR at traceinfo{LWR at listend}%
-\LWR at stoppars%
-\LWR at closeprevious{list}%
-\LWR at startpars%
+    \LWR at traceinfo{LWR at listend}%
+    \LWR at stoppars%
+    \LWR at closeprevious{list}%
+    \LWR at startpars%
 }
 
 
 \newcommand*{\LWR at itemizeitem}{%
-\LWR at stoppars%
-\LWR at startnewdepth{listitem}%
-\LWR at htmltag{li}%
-\LWR at startpars%
-\LWR at origitem%
+    \LWR at stoppars%
+    \LWR at startnewdepth{listitem}%
+    \LWR at htmltag{li}%
+    \LWR at startpars%
+    \LWR at origitem%
 }
 
 \newcommand*{\LWR at itemizestart}{%
-\renewcommand*{\LWR at printcloselist}{\LWR at printcloseitemize}
-\renewcommand*{\LWR at printopenlist}{%
-    ul style=\textquotedbl\LWR at print@mbox{list-style-type:none}\textquotedbl{}%
+    \renewcommand*{\LWR at printcloselist}{\LWR at printcloseitemize}%
+    \renewcommand*{\LWR at printopenlist}{%
+        ul style=\textquotedbl\LWR at print@mbox{list-style-type:none}\textquotedbl{}%
+    }%
+    \LetLtxMacro\item\LWR at itemizeitem%
+    \LWR at nulllistfills%
 }
-\let\item\LWR at itemizeitem%
-\LWR at nulllistfills%
-}
 
 
 
 \newcommand*{\LWR at enumeratestart}{%
-\renewcommand*{\LWR at printcloselist}{\LWR at printcloseitemize}
-\renewcommand*{\LWR at printopenlist}{%
-    ul style=\textquotedbl\LWR at print@mbox{list-style-type:none}\textquotedbl{}%
+    \renewcommand*{\LWR at printcloselist}{\LWR at printcloseitemize}%
+    \renewcommand*{\LWR at printopenlist}{%
+        ul style=\textquotedbl\LWR at print@mbox{list-style-type:none}\textquotedbl{}%
+    }%
+    \LetLtxMacro\item\LWR at itemizeitem%
+    \LWR at nulllistfills%
 }
-\let\item\LWR at itemizeitem%
-\LWR at nulllistfills%
-}
 
 
-\newcommand*{\LWR at descitem}[1][]%
-{%
-\LWR at stoppars%
-\LWR at setlatestname{#1}%
-\LWR at startnewdepth{descitem}%
-\begingroup%
-\let\LWR at orig@desc at makelabel\makelabel
-\renewcommand*{\makelabel}[1]{%
-    \LWR at htmltag{dt}%
-    \LWR at orig@desc at makelabel{#1}%
-    \LWR at htmltag{/dt}%
+\newcommand*{\LWR at descitem}[1][]{%
+    \LWR at stoppars%
+    \LWR at setlatestname{#1}%
+    \LWR at startnewdepth{descitem}%
+    \begingroup%
+    \let\LWR at orig@desc at makelabel\makelabel
+    \renewcommand*{\makelabel}[1]{%
+        \LWR at htmltag{dt}%
+        \LWR at orig@desc at makelabel{#1}%
+        \LWR at htmltag{/dt}%
+    }
+    \LWR at select@html at nohspace%
+    \LWR at origitem[#1]%
+    \endgroup%
+    \LWR at orignewline%
+    \LWR at htmltag{dd}%
+    \LWR at startpars%
 }
-\LWR at select@html at nohspace%
-\LWR at origitem[#1]%
-\endgroup%
-\LWR at orignewline%
-\LWR at htmltag{dd}%
-\LWR at startpars%
-}
 
 \newcommand*{\LWR at descriptionstart}{%
     \renewcommand*{\LWR at printcloselist}{\LWR at printclosedescription}
     \renewcommand*{\LWR at printopenlist}{dl}
-    \let\item\LWR at descitem%
+    \LetLtxMacro\item\LWR at descitem%
     \LWR at nulllistfills%
-    \renewcommand{\footnote}[2][]{%
-        \ifblank{##1}%
-        {%
-            \stepcounter\@mpfn
-            \protected at xdef\@thefnmark{\thempfn}%
-            \@footnotemark%\@footnotetext
-        }%
-        {%
-            \begingroup
-            \csname c@\@mpfn\endcsname ##1\relax
-            \unrestored at protected@xdef\@thefnmark{\thempfn}%
-            \endgroup
-            \@footnotemark%\@footnotetext
-        }%
-    }%
-    %
-    \renewcommand{\footnotemark}[1][]{%
-        \ifblank{##1}%
-        {%
-            \stepcounter{footnote}%
-            \protected at xdef\@thefnmark{\thefootnote}%
-            \@footnotemark%
-        }%
-        {%
-            \begingroup%
-            \c at footnote ##1\relax%
-            \unrestored at protected@xdef\@thefnmark{\thefootnote}%
-            \endgroup%
-            \@footnotemark%
-        }%
-    }%
 }
 
 
@@ -10692,7 +10693,11 @@
    \expandafter#2#1%
   \fi}
 \newcommand*{\LWR at nameref}[1]{%
+    \begingroup%
+    \renewcommand{\footnote}[2][]{}%
+    \renewcommand{\footnotemark}[1][]{}%
     \expandafter\LWR at setref\csname r@#1 at lwarp\endcsname\LWR at firstoffive{#1}%
+    \endgroup%
 }
 \newcommand*{\LWR at currentautosecpageref}[1]{%
     \expandafter\LWR at setref\csname r@#1 at lwarp\endcsname\LWR at secondoffive{#1}%
@@ -11270,7 +11275,6 @@
 
 \newcommand*{\LWR at myshorttoc}[1]{%
     \LWR at traceinfo{LWR at myshorttoc: #1}%
-    \LWR at ensuredoingapar%
     \IfFileExists{\jobname.#1}{%
         \LWR at traceinfo{LWR at myshorttoc: loading}%
         \begingroup%
@@ -11516,9 +11520,9 @@
 
 \renewenvironment*{theindex}{%
     \LWR at indexsection{\indexname}%
-    \let\item\LWR at indexitem%
-    \let\subitem\LWR at indexsubitem%
-    \let\subsubitem\LWR at indexsubsubitem%
+    \LetLtxMacro\item\LWR at indexitem%
+    \LetLtxMacro\subitem\LWR at indexsubitem%
+    \LetLtxMacro\subsubitem\LWR at indexsubsubitem%
 }{}
 
 }% AtBeginDocument
@@ -11859,6 +11863,7 @@
     \let\enddisplaymath\LWR at orig@enddisplaymath%
     \LWR at restoreorigaccents%
     \LWR at restoreoriglists%
+    \let\@mpfootnotetext\LWR at orig@mpfootnotetext%
     \LWR at hook@processingtags%
     \ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
         {\LWR at restoreMathJaxformatting}%
@@ -12889,7 +12894,7 @@
     \LWR at traceinfo{lateximage: LWR at lateximagenumber is \arabic{LWR at lateximagenumber}}%
     \boolfalse{mathjax}%
     \LWR at ensuredoingapar%
-            \hbadness=10000\relax%
+    \hbadness=10000\relax%
     \addtocounter{LWR at externalfilecnt}{1}%
     \LWR at traceinfo{lateximage: LWR at externalfilecnt is \arabic{LWR at externalfilecnt}}%
     \setcounterpageref{LWR at LIpage}{%
@@ -12937,17 +12942,25 @@
     \LWR at traceinfo{lateximage: about to create a new page}%
     \LWR at maybe@orignewpage%
     \LWR at traceinfo{lateximage: about to create minipage}%
+    \setcounter{LWR at mpfootnote@store}{\value{mpfootnote}}
     \ifdimless{\linewidth}{6in}{%
         \LWR at print@minipage{\linewidth}%
     }{%
         \LWR at print@minipage{6in}%
     }%
+    \ifnumgreater{\value{LWR at minipage@depth}}{0}%
+        {\setcounter{mpfootnote}{\value{LWR at mpfootnote@store}}}%
+        {}%
     \@nameuse{LWR at print@\LateximageFontSizeName}%
     \LWR at traceinfo{lateximage: about to temporarily restore formatting}%
     \LWR at restoreorigformatting%
-    \def\@mpfn{footnote}%
-    \def\thempfn{\thefootnote}%
-    \LetLtxMacro\@footnotetext\LWR at footnotetext%
+    \ifnumgreater{\value{LWR at minipage@depth}}{0}%
+        {}%
+        {%
+            \def\@mpfn{footnote}%
+            \def\thempfn{\thefootnote}%
+            \LetLtxMacro\@footnotetext\LWR at footnotetext%
+        }%
     \LWR at traceinfo{lateximage: about to create label}%
     \LWR at orig@label{LWRlateximage-\BaseJobname-\arabic{LWR at lateximagenumber}}%
     \LWR at traceinfo{lateximage: finished creating the label}%
@@ -13010,8 +13023,7 @@
 \begin{warpprint}
 
 \NewDocumentEnvironment{lateximage}{s o s o o d()}
-    {\begin{varwidth}[b]{\linewidth}}
-    {\end{varwidth}}
+    {}{}
 
 \end{warpprint}
 
@@ -13352,6 +13364,11 @@
 \begin{warpHTML}
 \newbool{LWR at minipagethispar}
 \boolfalse{LWR at minipagethispar}
+
+\newcounter{LWR at minipage@depth}
+\setcounter{LWR at minipage@depth}{0}
+\newcounter{LWR at mpfootnote@store}
+
 \NewDocumentEnvironment{LWR at HTML@sub at minipage}{m m m m}
 {%
 \LWR at traceinfo{minipage}%
@@ -13411,6 +13428,7 @@
 \def\@mpfn{mpfootnote}%
 \def\thempfn{\thempfootnote}\c at mpfootnote\z@%
 \let\@footnotetext\@mpfootnotetext%
+\addtocounter{LWR at minipage@depth}{1}%
 \LWR at startpars%
 \ifboolexpr{bool{FormatWP} and bool{WPMarkMinipages}}{%
 
@@ -13433,6 +13451,7 @@
 \LWR at htmlelementend{div}%
 
 }{}%
+\addtocounter{LWR at minipage@depth}{-1}%
 \LWR at htmldivclassend{minipage}%
 
 \end{LWR at setvirtualpage}%
@@ -13795,7 +13814,14 @@
 \newrobustcmd{\LWR at HTML@textssc}[1]{\textsc{#1}}
 \LWR at formatted{textssc}
 
-\DeclareRobustCommand{\LWR at HTML@textnormal}[1]{\textmd{\textrm{\textup{#1}}}}
+\DeclareRobustCommand{\LWR at HTML@textnormal}[1]{%
+        \LWR at HTML@mdseries%
+        \LWR at HTML@rmfamily%
+        \LWR at HTML@upshape%
+        \InlineClass(%
+            font-weight:normal; font-family:serif; font-style:normal
+        ){textnormal}{#1}%
+}
 
 \LWR at formatted{textnormal}
 



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