summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/lwarp
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2020-09-04 03:03:07 +0000
committerNorbert Preining <norbert@preining.info>2020-09-04 03:03:07 +0000
commit547e0bdac8f18f25b4cac1bb8234b9aecb2bcea8 (patch)
treed780e2601b5cbdd3aae05d5141d84689813fe4e6 /macros/latex/contrib/lwarp
parentfc732340b62b41cedbe82bcb3675a86c65343a21 (diff)
CTAN sync 202009040303
Diffstat (limited to 'macros/latex/contrib/lwarp')
-rw-r--r--macros/latex/contrib/lwarp/README.txt2
-rw-r--r--macros/latex/contrib/lwarp/lwarp.dtx2962
-rw-r--r--macros/latex/contrib/lwarp/lwarp.ins21
-rw-r--r--macros/latex/contrib/lwarp/lwarp.pdfbin2834622 -> 2923838 bytes
-rwxr-xr-xmacros/latex/contrib/lwarp/lwarpmk.lua5
5 files changed, 2592 insertions, 398 deletions
diff --git a/macros/latex/contrib/lwarp/README.txt b/macros/latex/contrib/lwarp/README.txt
index bdb5dde3f1..771e3d6635 100644
--- a/macros/latex/contrib/lwarp/README.txt
+++ b/macros/latex/contrib/lwarp/README.txt
@@ -1,5 +1,5 @@
-LaTeX lwarp package v0.88 README.txt
+LaTeX lwarp package v0.89 README.txt
Files included are:
diff --git a/macros/latex/contrib/lwarp/lwarp.dtx b/macros/latex/contrib/lwarp/lwarp.dtx
index 5e2df6201e..de330000f3 100644
--- a/macros/latex/contrib/lwarp/lwarp.dtx
+++ b/macros/latex/contrib/lwarp/lwarp.dtx
@@ -16,7 +16,7 @@
% \iffalse
%<package>\NeedsTeXFormat{LaTeX2e}[1999/12/01]
%<package>\ProvidesPackage{lwarp}
-%<package> [2020/07/19 v0.88 Allows LaTeX to directly produce HTML5 output.]
+%<package> [2020/09/03 v0.89 Allows LaTeX to directly produce HTML5 output.]
%
%<*driver>
\documentclass{ltxdoc}
@@ -2682,7 +2682,7 @@ are not working. These counters must be set separately after the
package has been loaded.
In the document source, use \cs{hfill} and \cs{hspace*}
-\trouble{horizontal spacing}{subfig>inline}
+\trouble[horizontal spacing]{subfig=\pkg{subfig}>inline}
between subfigures to spread them
apart horizontally. The use of other forms of whitespace may
cause paragraph tags to be generated, resulting in subfigures
@@ -2926,19 +2926,6 @@ place the following before \pkg{lwarp} is loaded:
\end{sourcedisplay}
}
-\newcommand{\limitsnewtxmath}{%
-The proper load order is:
-\trouble[loading sequence]{newtxmath=\pkg{newtxmath}}
-\begin{sourcedisplay}
-\textrm{\dots} \\
-\cs{usepackage}\{lwarp\} \\
-\textrm{\dots} \\
-\cs{usepackage}\{amsthm\} \\
-\cs{usepackage}\{newtxmath\} \\
-\textrm{\dots} \\
-\end{sourcedisplay}
-}
-
% For use in the documentation update section:
\newcommand*{\newlwarpmkconf}{
@@ -3018,7 +3005,7 @@ This boolean may be tested by the user for later use.
%<*package>
% \fi
%
-% \CheckSum{44695}
+% \CheckSum{47034}
%
% \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
@@ -3149,6 +3136,7 @@ This boolean may be tested by the user for later use.
% \changes{v0.86}{2020/05/12}{\ 2020/05/12}
% \changes{v0.87}{2020/06/03}{\ 2020/06/03}
% \changes{v0.88}{2020/07/19}{\ 2020/07/19}
+% \changes{v0.89}{2020/09/03}{\ 2020/09/03}
@@ -3181,8 +3169,9 @@ This boolean may be tested by the user for later use.
% 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}. Hundreds of \LaTeX\ packages are supported,
-% including dozens with \brand{MathJax} emulation.
+% by \SVG\ images or \brand{MathJax}.
+% More than 500 \LaTeX\ packages and classes are supported,
+% of which more than 60 also support \brand{MathJax}.
%
% Documents may be produced by \DVI\ or \PDF\ \LaTeX, Lua\LaTeX, \XeLaTeX;
% by several CJK engines, classes, and packages;
@@ -3371,6 +3360,29 @@ This boolean may be tested by the user for later use.
%
% \begin{description}
% \needspace{2\baselineskip}
+% \item[v0.89:] Additional \brand{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}}
+% 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},
+% \pkg{mismath}, \pkg{SIunits}, \pkg{siunitx}, \pkg{statmath}.
+% \item Added \brand{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},
+% \pkg{pxfonts}, \pkg{shuffle}, \pkg{txfonts},
+% \pkg{upgreek}, \pkg{ushort}.
+% \item Verified to work as-is: \pkg{authoraftertitle}.
+% \end{itemize}
+% \needspace{2\baselineskip}
% \item[v0.88:] Indexing, boxing, theorems.
% \begin{itemize}
% \item \textgreen{Now has programmed support for more than 500 packages and classes,
@@ -5412,7 +5424,8 @@ This boolean may be tested by the user for later use.
% \ipkg{tocbasic}, \mpkg{tocbibind}, \mpkg{tocdata},
% \ipkg{tocloft}, \ipkg{tocstyle}, \spkg{tocvsec2}. \\
%
-% Title page: & \cs{maketitle}, \env{titlepage}, \mpkg{authblk}, \mpkg{titling}. \\
+% Title page: & \cs{maketitle}, \env{titlepage}, \mpkg{authblk},
+% \spkg{authoraftertitle}, \mpkg{titling}. \\
%
% Front \&\ back matter: & \mpkg{abstract}, \mpkg{appendix}. \\
%
@@ -5440,7 +5453,7 @@ This boolean may be tested by the user for later use.
% \ipkg{bookmark}, \epkg{breakurl}, \spkg{cleveref}, \mpkg{fancyref},
% \ipkg{hypdestopt}, \epkg{hyperref}, \epkg{perpage}, \mpkg{prettyref},
% \epkg{titleref}, \mpkg{url}, \mpkg{varioref}, \spkg{xcite},
-% \mpkg{xr}, \mpkg{xr-hyper}, \ipkg{xurl}. \\
+% \mpkg{xr}, \mpkg{xr-hyper}, \ipkg{xurl}, \spkg{zref}. \\
%
% \midrule
%
@@ -5473,22 +5486,26 @@ This boolean may be tested by the user for later use.
% \mpkg{theorem}, \mpkg{thmbox}, \mpkg{thmtools}. \\
%
% Additional math: & Math fonts via \SVG\ images,
-% \spkg{amscd}, \spkg{autobreak}\ejax, \ipkg{autonum},
+% \spkg{accents}\ejax, \spkg{amscd}, \spkg{autobreak}\ejax, \ipkg{autonum},
% \mpkg{backnaur}, \mpkg{bm}\ejax, \spkg{braket}\ejax,
% \mpkg{breqn}, \mpkg{cases}, \spkg{centernot}\ejax, \spkg{colonequals}\ejax,
% \spkg{decimal}\ejax,
% \spkg{delarray}, \mpkg{DotArrow}\ejax, \spkg{dotlessi}\ejax, \spkg{dotlessj}\sjax,
% \spkg{extarrows}\ejax, \spkg{fouridx}\ejax,
-% \spkg{guass}, \spkg{icomma}\ijax, \spkg{jkmath},
-% \spkg{leftidx}\ejax, \spkg{mathcomp}\ejax, \spkg{mathdots}\ejax,
+% \spkg{guass}, \spkg{hhtensor}\ejax, \spkg{icomma}\ijax, \spkg{jkmath},
+% \spkg{leftidx}\ejax, \spkg{mathalpha}\ejax,
+% \spkg{mathcomp}\ejax, \spkg{mathdesign}\ejax,
+% \spkg{mathdots}\ejax,
% \spkg{mathfixs}\ejax, \spkg{mathpunctspace}\ijax,
-% \spkg{mathspec}, \mpkg{mathtools}\ejax, \mpkg{mismath}\ejax,
+% \spkg{mathspec}, \mpkg{mathtools}\ejax, \mpkg{mismath}\ejax, \spkg{mleftright}\ejax,
% \spkg{multiobjective}\ejax, \mpkg{nccmath}\ejax,
-% \spkg{nicematrix}, \spkg{noitcrul}\ejax, \spkg{pb-diagram},
-% \ipkg{resizegather}, \spkg{rmathbr}\ejax, \spkg{stackrel}\ejax,
+% \spkg{nicematrix}, \spkg{noitcrul}\ejax,
+% \spkg{newpxmath}\ejax, \spkg{newtxmath}\ejax, \spkg{newtxsf}\ejax,
+% \spkg{pb-diagram},
+% \ipkg{resizegather}, \spkg{rmathbr}\ejax, \epkg{shuffle}\ejax, \spkg{stackrel}\ejax,
% \mpkg{statex2}\ejax, \spkg{statmath}\ejax,
% \spkg{subsupscripts}\ejax, \spkg{textualicomma}\ijax,
-% \spkg{unicode-math}\ejax, \mpkg{witharrows}\ejax,
+% \spkg{unicode-math}\ejax, \spkg{ushort}\ejax, \mpkg{witharrows}\ejax,
% \mpkg{xfakebold}\ejax, \mpkg{xy}.
% Many others work as-is. \\
%
@@ -5631,9 +5648,12 @@ This boolean may be tested by the user for later use.
% \mpkg{chemgreek}, \mpkg{dingbat}, \spkg{euro}, \mpkg{eurosym},
% \mpkg{fontawesome}, \mpkg{fontawesome5}, \spkg{gensymb}\ejax, \spkg{latexsym}\sjax,
% \mpkg{marvosym},
-% \spkg{mathcomp}\ejax, \mpkg{metalogo}, \mpkg{metalogox},
-% \mpkg{pifont}, \spkg{textalpha},
-% \mpkg{textcomp}, \spkg{textgreek}, \mpkg{typicons}, \mpkg{xunicode}.
+% \spkg{mathcomp}\ejax, \spkg{mathpazo}\ejax, \spkg{mathptmx}\ejax,
+% \mpkg{metalogo}, \mpkg{metalogox},
+% \mpkg{pifont}, \spkg{pxfonts}\ejax, \spkg{textalpha},
+% \mpkg{textcomp}, \spkg{textgreek}, \spkg{txfonts}\ejax,
+% \mpkg{typicons}, \spkg{upgreek}\ejax,
+% \mpkg{xunicode}.
% \\
%
% \midrule
@@ -5653,7 +5673,8 @@ This boolean may be tested by the user for later use.
% \mpkg{chemmacros}, \mpkg{chemnum},
% \spkg{circuitikz}, \spkg{econometrics}\ejax, \spkg{elements},
% \mpkg{engtlc}\ejax, \spkg{fast-diagram}, \mpkg{ghsystem},
-% \spkg{hepnicenames}, \spkg{heppennames}, \spkg{karnaughmap}, \mpkg{karnaugh-map},
+% \spkg{hepnicenames}, \spkg{heppennames}, \spkg{hepunits}\ejax,
+% \spkg{karnaughmap}, \mpkg{karnaugh-map},
% \mpkg{listings}, \spkg{listingsutf8}, \spkg{linop}, \mpkg{mhchem}\sjax, \spkg{pgfgantt},
% \mpkg{phfqit}, \spkg{physics}\sjax, \spkg{physunits}\ejax, \spkg{qcircuit},
% \mpkg{register}, \spkg{simpler-wick},
@@ -7312,10 +7333,9 @@ This boolean may be tested by the user for later use.
% ^^A \gindex{ligatures}\gindex{font>ligatures}
% \end{enumerate}
% \end{itemize}
-% \item |\usepackage{lwarp}| (\cref{sec:loading}) is placed after any of the above, followed by:
% \item |\usepackage{newtxmath}| or other math-related font packages.
-% Many of these load \pkg{amsmath}, which must be loaded after \pkg{lwarp},
-% so they must also be loaded after \pkg{lwarp}.
+% Many of these load \pkg{amsmath}, which may now be loaded before \pkg{lwarp}.
+% \item |\usepackage{lwarp}| (\cref{sec:loading}) is placed after any of the above, followed by:
% \item |\setmonofont{TeX Gyre Cursor}| or similar may be required if using
% \trouble[\pkg{fontspec} with monospaced fonts]{font>monospace}
% \trouble{font>ligatures}
@@ -10175,12 +10195,6 @@ This boolean may be tested by the user for later use.
%
%
%
-% \subsubsection{\pkg{newtxmath} package}
-%
-% \DescribePackage{newtxmath}
-% \limitsnewtxmath
-%
-%
% \subsection{Graphics}
% \label{sec:limitsgraphics}
%
@@ -11757,6 +11771,12 @@ This boolean may be tested by the user for later use.
% \end{sourcedisplay}
% \trouble{Label(s) may have changed}
%
+% \item [``Temporary page! LaTeX was unable to guess the total
+% number of pages \dots'':] \
+% Harmless. Recompile the document one more time.
+% \trouble{Temporary page \dots unable to guess \dots}
+% \trouble{LaTeX was unable to guess the total\dots}
+%
% \item [``Leaders not followed by proper glue'':] ~ \\
% This can be caused by
% a missing |l@<floattype>| or |l@<sectiontype>| definition.
@@ -12629,6 +12649,7 @@ This boolean may be tested by the user for later use.
% \changes{v0.45}{2017/12/03}{Allows \pkg{memoir}'s preloaded packages.}
% \changes{v0.58}{2018/06/21}{Fix: \pkg{memoir} and \pkg{ccaption}.}
% \changes{v0.82}{2020/03/17}{\pkg{syntonly}: Added to \cs{LWR@loadafter}.}
+% \changes{v0.89}{2020/08/12}{Allow preload of \pkg{amsmath}, \pkg{amsthm}, \pkg{centernot}.}
%
% The following packages must be loaded after \pkg{lwarp}:
% ^^A *loadafter
@@ -12640,6 +12661,7 @@ This boolean may be tested by the user for later use.
\LWR@loadafter{a5comb}
\LWR@notmemoirloadafter{abstract}
\LWR@loadafter{academicons}
+\LWR@loadafter{accents}
\LWR@loadafter{accessibility}
\LWR@loadafter{accsupp}
\LWR@loadafter{acro}
@@ -12650,8 +12672,8 @@ This boolean may be tested by the user for later use.
\LWR@loadafter{algorithm2e}
\LWR@loadafter{algorithmicx}
\LWR@loadafter{alltt}
-\LWR@loadafter{amsmath}
-\LWR@loadafter{amsthm}
+% \LWR@loadafter{amsmath}% may be preloaded
+% \LWR@loadafter{amsthm}% may be preloaded
\LWR@loadafter{anonchap}
\LWR@loadafter{anysize}
\LWR@notmemoirloadafter{appendix}
@@ -12660,10 +12682,11 @@ This boolean may be tested by the user for later use.
\LWR@notmemoirloadafter{array}
\LWR@loadafter{arydshln}
\LWR@loadafter{asymptote}
-% \LWR@loadafter{atbegshi}% used by morewrites
+% \LWR@loadafter{atbegshi}% now in LaTeX core, also used by morewrites
\LWR@loadafter{attachfile}
\LWR@loadafter{attachfile2}
\LWR@loadafter{authblk}
+\LWR@loadafter{authoraftertitle}% Supported as-is, but must be loaded after.
\LWR@loadafter{autobreak}
\LWR@loadafter{autonum}
\LWR@loadafter{awesomebox}
@@ -12696,10 +12719,11 @@ This boolean may be tested by the user for later use.
\LWR@loadafter{canoniclayout}
\LWR@loadafter{caption}
\LWR@loadafter{caption2}
+\LWR@loadafter{caption3}
\LWR@loadafter{cases}
% catoptions is supported by the lwarp core
% \LWR@loadafter{ccaption}% may be preloaded by memoir
-\LWR@loadafter{centernot}
+% \LWR@loadafter{centernot}% may be preloaded by newtx
\LWR@loadafter{changebar}
\LWR@loadafter{changelayout}
\LWR@notmemoirloadafter{changepage}
@@ -12764,7 +12788,7 @@ This boolean may be tested by the user for later use.
\LWR@loadafter{etoc}
\LWR@loadafter{eurosym}
\LWR@loadafter{everypage}
-\LWR@loadafter{everyshi}
+% \LWR@loadafter{everyshi}% now in LaTeX core
\LWR@loadafter{extarrows}
\LWR@loadafter{extramarks}
\LWR@loadafter{fancybox}
@@ -12830,7 +12854,9 @@ This boolean may be tested by the user for later use.
\LWR@loadafter{gridset}
\LWR@loadafter{hang}
\LWR@loadafter{hanging}
+\LWR@loadafter{hepunits}
\LWR@loadafter{hhline}
+\LWR@loadafter{hhtensor}
\LWR@loadafter{hypbmsec}
\LWR@loadafter{hypcap}
\LWR@loadafter{hypdestopt}
@@ -12879,9 +12905,13 @@ This boolean may be tested by the user for later use.
\LWR@loadafter{marginfix}
\LWR@loadafter{marginnote}
\LWR@loadafter{marvosym}
+% mathalpha may be loaded before lwarp
\LWR@loadafter{mathcomp}
+\LWR@loadafter{mathdesign}
\LWR@loadafter{mathdots}
\LWR@loadafter{mathfixs}
+\LWR@loadafter{mathpazo}
+\LWR@loadafter{mathptmx}
\LWR@loadafter{mathtools}
\LWR@loadafter{mcaption}
\LWR@loadafter{mdframed}
@@ -12896,6 +12926,7 @@ This boolean may be tested by the user for later use.
\LWR@loadafter{minibox}
\LWR@loadafter{minitoc}
\LWR@loadafter{mismath}
+\LWR@loadafter{mleftright}
% morefloats must be allowed early for print mode
\LWR@notmemoirloadafter{moreverb}
% morewrites must be loaded before lwarp
@@ -12918,7 +12949,9 @@ This boolean may be tested by the user for later use.
\LWR@loadafter{nccmath}
\LWR@notmemoirloadafter{needspace}
% newclude must be loaded before lwarp
-\LWR@loadafter{newtxmath}
+% newpxmath may be preloaded
+% newtxmath may be loaded before lwarp
+% newtxsf may be loaded before lwarp
% newunicodechar must be loaded before lwarp
\LWR@notmemoirloadafter{nextpage}
\LWR@loadafter{nicefrac}
@@ -12982,6 +13015,7 @@ This boolean may be tested by the user for later use.
\LWR@loadafter{pstricks}
% \LWR@loadafter{pxatbegshi}% may be used by morewrites
\LWR@loadafter{pxeveryshi}
+\LWR@loadafter{pxfonts}
\LWR@loadafter{pxftnright}
\LWR@loadafter{pxjahyper}
\LWR@loadafter{quotchap}
@@ -13020,6 +13054,7 @@ This boolean may be tested by the user for later use.
\LWR@notmemoirloadafter{showidx}
\LWR@loadafter{showkeys}
\LWR@loadafter{showtags}
+\LWR@loadafter{shuffle}
\LWR@loadafter{sidecap}
\LWR@loadafter{sidenotes}
\LWR@loadafter{SIunits}
@@ -13067,6 +13102,7 @@ This boolean may be tested by the user for later use.
\LWR@loadafter{thm-listof}
\LWR@loadafter{thm-restate}
\LWR@loadafter{thmbox}
+\LWR@loadafter{thmtools}
\LWR@loadafter{threadcol}
\LWR@loadafter{threeparttable}
\LWR@loadafter{threeparttablex}
@@ -13092,6 +13128,7 @@ This boolean may be tested by the user for later use.
\LWR@loadafter{trivfloat}
\LWR@loadafter{truncate}
\LWR@loadafter{turnthepage}
+\LWR@loadafter{txfonts}
\LWR@loadafter{twoup}
% \end{macrocode}
% \changes{v0.44}{2017/11/19}{Adjustment for \pkg{koma-script}.}
@@ -13104,8 +13141,10 @@ This boolean may be tested by the user for later use.
\LWR@loadafter{unicode-math}
\LWR@loadafter{units}
\LWR@loadafter{unitsdef}
+\LWR@loadafter{upgreek}
\LWR@loadafter{upref}
\LWR@loadafter{url}
+\LWR@loadafter{ushort}
\LWR@loadafter{uspace}
\LWR@loadafter{varioref}
\LWR@notmemoirloadafter{verse}
@@ -13390,11 +13429,13 @@ This boolean may be tested by the user for later use.
% \begin{macro}{\LWR@patcherror} \marg{packagename} \marg{macroname}
%
% Prints an error if could not patch a macro.
+% \changes{v0.89}{2020/09/01}{Improved message.}
% \begin{macrocode}
\newcommand*{\LWR@patcherror}[2]{%
\PackageError{lwarp}%
{%
- Unable to patch package #1, macro #2.\MessageBreak
+ Unable to patch package #1,\MessageBreak
+ macro \LWRbackslash #2.\MessageBreak
Lwarp may need to be updated%
}%
{Please contact the maintainer of the Lwarp package.}%
@@ -13564,6 +13605,19 @@ This boolean may be tested by the user for later use.
% \end{macro}
%
%
+% \subsection{Title case}
+%
+% \begin{macro}{\LWRtexttitlecase}
+% \begin{macrocode}
+\ExplSyntaxOn
+\newcommand*{\LWRtexttitlecase}[1]{%
+ \text_titlecase:n{#1}%
+}
+\ExplSyntaxOff
+% \end{macrocode}
+% \end{macro}
+%
+%
% \subsection{LetLtxMacrocs}
%
% \begin{macro}{\LWR@LetLtxMacrocs} \marg{newcsname} \marg{oldcsname}
@@ -14612,8 +14666,16 @@ This boolean may be tested by the user for later use.
tracking=false,
kerning=false,
spacing=false}
-
-\DisableLigatures[f,q,t,T,Q]{encoding = *,family = *}
+% \begin{macrocode}
+%
+% Disable ligatures for typewriter fonts.
+% The comma was causing issues with \brand{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.}
+% ^^A \DisableLigatures[{,},f,q,t,T,Q]{encoding = *,family = *}% previous
+% \begin{macrocode}
+\DisableLigatures{encoding = *,family = tt*}
% \end{macrocode}
% ^^A
% ^^A
@@ -17749,8 +17811,8 @@ div.wpminipage { border: 1px solid green ; margin: .5ex ; padding: .5ex ;}
}
-/* mdframed, tcolorbox packages */
-.mdframed, .tcolorbox {
+/* mdframed, tcolorbox, shadebox packages */
+.mdframed, .tcolorbox, .shadebox {
padding: 0ex ;
margin: 2ex 0em 2ex 0em ;
border: 1px solid black ;
@@ -19467,7 +19529,7 @@ MathJax = {
subequations: "0",
section: "",
loader: {
- load: ['[tex]/tagFormat']
+ load: ['[tex]/tagFormat'],
},
startup: {
ready() {
@@ -19684,15 +19746,16 @@ MathJax = {
% \changes{v0.59}{2018/08/21}{\prog{lwarpmk}: Consolidated compiling options into \optn{printlatexcmd} and \optn{HTMLlatexcmd}.}
% \changes{v0.59}{2018/09/06}{\prog{lwarpmk}: Added \cmds{lwarpmk epstopdf}.}
% \changes{v0.66}{2019/01/27}{\prog{lwarpmk}: Added \optn{ImagesDirectory} and \optn{ImagesName}.}
-% \changes{v0.66}{2019/01/30}{\prog{lwarpmk}: Fix for \cmds{cleanlimages}.}%
-% \changes{v0.68}{2019/03/02}{\prog{lwarpmk}: Improved error handling if incomplete compile.}%
+% \changes{v0.66}{2019/01/30}{\prog{lwarpmk}: Fix for \cmds{cleanlimages}.}
+% \changes{v0.68}{2019/03/02}{\prog{lwarpmk}: Improved error handling if incomplete compile.}
% \changes{v0.71}{2019/04/11}{\prog{lwarpmk}: If wrong \filenm{lwarpmk.conf} version,
% or wrong OS,
-% displays the print command to recompile.}%
-% \changes{v0.74}{2019/08/05}{\prog{lwarpmk}: \cmds{lwarpmk clean} removes add'l files.}%
-% \changes{v0.74}{2019/08/14}{\prog{lwarpmk}: \cmds{lwarpmk epstopdf} and \cmds{pdftosvg} honor directories.}%
-% \changes{v0.81}{2020/03/04}{\prog{lwarpmk}: Improved error if in \pkg{lwarp} source directory.}%
-% \changes{v0.84}{2020/03/30}{\prog{lwarpmk}: \optn{clean} also removes \filenm{comment_*.cut}}%
+% displays the print command to recompile.}
+% \changes{v0.74}{2019/08/05}{\prog{lwarpmk}: \cmds{lwarpmk clean} removes add'l files.}
+% \changes{v0.74}{2019/08/14}{\prog{lwarpmk}: \cmds{lwarpmk epstopdf} and \cmds{pdftosvg} honor directories.}
+% \changes{v0.81}{2020/03/04}{\prog{lwarpmk}: Improved error if in \pkg{lwarp} source directory.}
+% \changes{v0.84}{2020/03/30}{\prog{lwarpmk}: \optn{clean} also removes \filenm{comment_*.cut}}
+% \changes{v0.89}{2020/08/29}{\prog{lwarpmk}: \optn{clean} also removes \filenm{*.bbl}}
%
% The following is only generated if the \optn{lwarpmk} option
% was given to \pkg{lwarp}.
@@ -19708,7 +19771,7 @@ MathJax = {
-- Copyright 2016-2020 Brian Dunn
-printversion = "v0.88"
+printversion = "v0.89"
requiredconfversion = "2" -- also at *lwarpmk.conf
function printhelp ()
@@ -19739,7 +19802,7 @@ lwarpmk pdftohtml [-p project]:
lwarpmk pdftosvg <list of file names>: Converts each PDF file to SVG.
lwarpmk epstopdf <list of file names>: Converts each EPS file to PDF.
lwarpmk clean [-p project]: Remove *.aux, *.toc, *.lof/t,
- *.idx, *.ind, *.log, *_html_inc.*, .gl*,
+ *.idx, *.ind, *.bbl, *.log, *_html_inc.*, .gl*,
*_html.pdf, *_html.html, *_html.sidetoc
lwarpmk cleanall [-p project]: Remove auxiliary files, project.pdf, *.html
lwarpmk cleanlimages: Removes all images from the "lateximages" directory.
@@ -20109,6 +20172,7 @@ os.execute ( rmname .. " *.aux " ..
sourcename ..".toc " .. sourcename .. "_html.toc " ..
sourcename ..".lof " .. sourcename .. "_html.lof " ..
sourcename ..".lot " .. sourcename .. "_html.lot " ..
+ sourcename ..".bbl " .. sourcename .. "_html.bbl " ..
" *.idx " ..
" *.ind " ..
sourcename ..".ps " .. sourcename .."_html.ps " ..
@@ -24182,11 +24246,24 @@ end -- not --version
% \begin{macro}{\LWR@HTMLsanitizeexpand} \marg{text}
%
% This version expands the argument before sanitizing it.
+% This is only used for adding math to \brand{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.}
% \changes{v0.79}{2020/01/27}{Fix: \cs{\&}.}
+% \changes{v0.89}{2020/08/08}{Fix: Nested \brand{MathJax} environments.}
% \begin{macrocode}
+\edef\LWR@beginspaceleftbrace{begin \LWRleftbrace}
+\edef\LWR@beginspaceleftbrace{\detokenize\expandafter{\LWR@beginspaceleftbrace}}
+\edef\LWR@beginleftbrace{begin\LWRleftbrace}
+\edef\LWR@beginleftbrace{\detokenize\expandafter{\LWR@beginleftbrace}}
+
+\edef\LWR@endspacerightbrace{end \LWRrightbrace}
+\edef\LWR@endspacerightbrace{\detokenize\expandafter{\LWR@endspacerightbrace}}
+\edef\LWR@endrightbrace{end\LWRrightbrace}
+\edef\LWR@endrightbrace{\detokenize\expandafter{\LWR@endrightbrace}}
+
\newrobustcmd{\LWR@HTMLsanitizeexpand}[1]{%
% \end{macrocode}
% Cancel French \pkg{babel} character handling,
@@ -24201,6 +24278,18 @@ end -- not --version
% \begin{macrocode}
\protect\StrSubstitute{\detokenize\expandafter{#1}}%
{\detokenize{\&}}{\detokenize{&}}[\LWR@strresult]%
+% \end{macrocode}
+% The math expression may includes spaces between tokens,
+% but \brand{MathJax} does not want a space between \cs{begin} or \cs{end}
+% and the following brace.
+% This space is removed here.
+% \begin{macrocode}
+ \protect\StrSubstitute{\LWR@strresult}%
+ {\LWR@beginspaceleftbrace}{\LWR@beginleftbrace}[\LWR@strresult]%
+ \protect\StrSubstitute{\LWR@strresult}%
+ {\LWR@endspacerightbrace}{\LWR@endrightbrace}[\LWR@strresult]%
+% \end{macrocode}
+% \begin{macrocode}
\LWR@subHTMLsanitize%
\LWR@strresult%
\endgroup%
@@ -24339,11 +24428,10 @@ end -- not --version
\CustomizeMathJax{\def\LWRfootnote{1}}
\CustomizeMathJax{\newcommand{\footnote}[2][\LWRfootnote]{{}^{\mathrm{#1}}}}
\CustomizeMathJax{\newcommand{\footnotemark}[1][\LWRfootnote]{{}^{\mathrm{#1}}}}
-\end{warpMathJax}
% \end{macrocode}
+% Various other customizations:
% \begin{macrocode}
-\begin{warpMathJax}
\CustomizeMathJax{\newcommand\ensuremath[1]{#1}}
\CustomizeMathJax{% absorb two optional arguments
\newcommand{\LWRframebox}[2][]{\fbox{#2}}
@@ -24356,6 +24444,20 @@ end -- not --version
\CustomizeMathJax{\newcommand{\cline}[1]{}}
\CustomizeMathJax{\newcommand{\directlua}[1]{\text{(directlua)}}}
\CustomizeMathJax{\newcommand{\luatexdirectlua}[1]{\text{(directlua)}}}
+% \end{macrocode}
+%
+% \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
+% \cs{mathcode} and related.}
+% \begin{macrocode}
+\CustomizeMathJax{\newcommand{\protect}{}}
+\CustomizeMathJax{\def\LWRabsorbnumber#1 {}}
+\CustomizeMathJax{\def\LWRabsorbquotenumber"#1 {}}
+\CustomizeMathJax{\def\mathchar{\ifnextchar"\LWRabsorbquotenumber\LWRabsorbnumber}}
+\CustomizeMathJax{\def\mathcode#1={\mathchar}}
+\CustomizeMathJax{\let\delcode\mathcode}
+\CustomizeMathJax{\let\delimiter\mathchar}
\end{warpMathJax}
\begin{warpHTML}% due to warpMathJax
@@ -24375,17 +24477,19 @@ end -- not --version
\LWR@stoppars
\LWR@htmlcomment{MathJax customizations:}
-\typeout{---}
-\typeout{Package lwarp:}
-\typeout{Processing MathJax customizations. If this takes too long,}
-\typeout{see the Lwarp manual regarding customizing MathJax.}
\begin{BlockClass}{hidden}
\LWR@stoppars
-\LWR@customizedMathJax
+% \end{macrocode}
+%
+% Avoid ligatures while printing \brand{MathJax} customizations:
+% \changes{v0.89}{2020/08/02}{Print \brand{MathJax} customizations with typewriter font.}
+% \begin{macrocode}
+{
+ \LWR@print@ttfamily
+ \LWR@customizedMathJax
+}
\LWR@startpars
\end{BlockClass}
-\typeout{Done.}
-\typeout{---}
\LWR@startpars
}{}
@@ -26116,8 +26220,22 @@ end -- not --version
% 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}.}
+% \changes{v0.89}{2020/08/17}{MathJax: Improved info message.}
% \begin{macrocode}
+\ifbool{mathjax}{
+ \typeout{---}
+ \typeout{Package lwarp:}
+ \typeout{Processing MathJax customizations for the first HTML page.}
+ \typeout{Later HTML pages will take the same amount of time.}
+ \typeout{If this takes too long, see the Lwarp manual regarding customizing MathJax.}
+}{}
+
\LWR@customizeMathJax
+
+\ifbool{mathjax}{
+ \typeout{Done.}
+ \typeout{---}
+}{}
% \end{macrocode}
%
% ^^A % Likewise for Ka\TeX:
@@ -26238,41 +26356,91 @@ end -- not --version
% If labels have not changed, mark successful completion
% of the \filenm{lateximages.txt} file.
% Executed as everything is being shut down.
+%
+% For the newer kernel hooks, see \cmds{texdoc lthooks-doc} and \cmds{texdoc ltshipout-doc}.
% \changes{v0.70}{2019/03/26}{If labels changed, require recompile before making limages.}
+% \changes{v0.89}{2020/07/28}{Adapt to \LaTeX\ core changes.}
+% \begin{macrocode}
+\ifdef{\AddToHook}{% newer kernel
+ \AddToHook{enddocument/info}{%
+ \if@filesw
+ \ifx \@multiplelabels \relax
+ \if@tempswa
+% \end{macrocode}
+% This is where warnings of duplicate labels would appear.
+% \begin{macrocode}
+ \else
+% \end{macrocode}
+% No duplicate labels, so safe to create images.
% \begin{macrocode}
-\xpatchcmd{\enddocument}
- {%
- \if@tempswa
- \@latex@warning@no@line{Label(s) may have changed.
- Rerun to get cross-references right}%
- \fi
- }
- {%
- \if@tempswa
- \@latex@warning@no@line{Label(s) may have changed.
- Rerun to get cross-references right}%
- \else
\immediate\write\LWR@lateximagesfile{%
|end|end|end|%
}%
- \fi
+ \fi
+ \fi\fi
}
- {}
- {
- \AtEndDocument{
- \PackageWarningNoLine{lwarp}
- {%
- Could not patch \protect\enddocument.\MessageBreak
- If labels have changed, be sure to recompile before\MessageBreak
- creating lateximages with\MessageBreak
- \space\space lwarpmk limages,\MessageBreak
- or the images may be corrupt%
+}% newer kernel
+{% older kernel
+ \xpatchcmd{\enddocument}
+ {%
+ \if@tempswa
+ \@latex@warning@no@line{Label(s) may have changed.
+ Rerun to get cross-references right}%
+ \fi
+ }
+ {%
+ \if@tempswa
+ \@latex@warning@no@line{Label(s) may have changed.
+ Rerun to get cross-references right}%
+ \else
+% \end{macrocode}
+% No duplicate labels, so safe to create images.
+% \begin{macrocode}
+ \immediate\write\LWR@lateximagesfile{%
+ |end|end|end|%
+ }%
+ \fi
+ }
+ {}
+ {
+ \AtEndDocument{
+ \PackageWarningNoLine{lwarp}
+ {%
+ Could not patch \protect\enddocument.\MessageBreak
+ If labels have changed, be sure to recompile before\MessageBreak
+ creating lateximages with\MessageBreak
+ \space\space lwarpmk limages,\MessageBreak
+ or the images may be corrupt%
+ }
}
}
- }
+}% older kernel
% \end{macrocode}
% \end{macro}
+
+% \section{Nullifying foreground \Slash background hooks}
+%
+% See \cmds{texdoc lthooks-doc} and \cmds{textdoc ltshipout-doc}.
+%
+% \changes{v0.89}{2020/07/28}{Foreground/background hooks: Adapt to \LaTeX\ core changes.}
+% \begin{macrocode}
+\ifdef{\RemoveFromHook}{
+ \AfterEndPreamble{
+ \IfHookEmptyTF{shipout/background}{}{
+ \PackageInfo{lwarp}{Removing background hook}
+ \RemoveFromHook{shipout/background}[*]
+ }
+ \IfHookEmptyTF{shipout/foreground}{}{
+ \PackageInfo{lwarp}{Removing foreground hook}
+ \RemoveFromHook{shipout/foreground}[*]
+ }
+ }
+}{}
+% \end{macrocode}
+
+
+
% \begin{macrocode}
\end{warpHTML}
% \end{macrocode}
@@ -27418,7 +27586,7 @@ end -- not --version
% \begin{macrocode}
\begin{warpHTML}
% \end{macrocode}
-
+%
% \begin{macro}{\@begintheorem} \marg{name} \marg{number}
% \begin{macrocode}
\renewcommand{\@begintheorem}[2]{%
@@ -27429,16 +27597,26 @@ end -- not --version
}
% \end{macrocode}
% \end{macro}
+%
+%
% \begin{macro}{\@opargbegintheorem} \marg{name} \marg{number} \marg{oparg}
+%
+% \LaTeX\ defines this, but \pkg{amsthm} \cs{relax}es it,
+% so it will not be defined if \pkg{amsthm} is loaded before \pkg{lwarp}.
+% \changes{v0.89}{2020/08/12}{Allow preload of \pkg{amsmath}, \pkg{amsthm}, \pkg{centernot}.}
% \begin{macrocode}
-\renewcommand{\@opargbegintheorem}[3]{%
-\LWR@forcenewpage
-\BlockClass{theoremcontents}
-\trivlist
-\item[\InlineClass{theoremlabel}{#1\ #2\ (#3)\ }]\itshape
+\ifundef{\@opargbegintheorem}{}{
+ \renewcommand{\@opargbegintheorem}[3]{%
+ \LWR@forcenewpage
+ \BlockClass{theoremcontents}
+ \trivlist
+ \item[\InlineClass{theoremlabel}{#1\ #2\ (#3)\ }]\itshape
+ }
}
% \end{macrocode}
% \end{macro}
+%
+%
% \begin{macro}{\@endtheorem}
% \begin{macrocode}
\renewcommand*{\@endtheorem}{%
@@ -35716,12 +35894,20 @@ end -- not --version
}%
% \end{macrocode}
% For \brand{MathJax}, print the math between |\(| and |\)|:
+% \changes{v0.89}{2020/08/01}{TT font for \brand{MathJax}.}
% \begin{macrocode}
{%
\LWR@traceinfo{LWR@subsingledollar: Mathjax}%
{%
\textbackslash(%
- \LWR@HTMLsanitize{#4}%
+ {%
+% \end{macrocode}
+% \cs{ifmmode} to avoid error about \cs{ttfamily} inside math mode
+% in the case of nested math, ex. equation with tcolorbox with math.
+% \begin{macrocode}
+ \ifmmode\else\LWR@print@ttfamily\fi%
+ \LWR@HTMLsanitize{#4}%
+ }%
\textbackslash)%
}%
}% mathjax
@@ -35793,11 +35979,12 @@ end -- not --version
% \end{macrocode}
% For \brand{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}.}
% \begin{macrocode}
{
\textbackslash[%
- \LWR@HTMLsanitize{#1}%
+ {\LWR@print@ttfamily\LWR@HTMLsanitize{#1}}%
\textbackslash]
}% mathjax
@@ -35842,6 +36029,7 @@ end -- not --version
%
%
% \begin{macro}{\LWR@singledollar} \marg{alt text} \marg{math expression}
+% \changes{v0.89}{2020/08/01}{TT font for \brand{MathJax}.}
% \begin{macrocode}
\protected\gdef\LWR@singledollar#1${%
\ifbool{mathjax}{%
@@ -35882,7 +36070,7 @@ end -- not --version
\protected\gdef\[#1\]{$$#1$$}
}
-\endgroup
+\endgroup% active $
% \end{macrocode}
% \changes{v0.59}{2018/08/23}{Fix with \cs{displaymathnormal}.}
% \begin{macrocode}
@@ -35984,9 +36172,12 @@ end -- not --version
% Set the default displaymath to the normal version:
+%
+% \changes{v0.89}{2020/08/12}{Removed \cs{let} of \cs{[}, \cs{]}.}
+% ^^A \LetLtxMacro\[\LWR@openbracketnormal% (but not yet defined)
+% ^^A \LetLtxMacro\]\LWR@closebracketnormal%
+%
% \begin{macrocode}
-\LetLtxMacro\[\LWR@openbracketnormal%
-\LetLtxMacro\]\LWR@closebracketnormal%
\LetLtxMacro\displaymath\LWR@displaymathnormal%
\LetLtxMacro\enddisplaymath\endLWR@displaymathnormal%
% \end{macrocode}
@@ -36196,15 +36387,20 @@ end -- not --version
% Enclose the \brand{MathJax} environment inside printed ``\cs{(}'' and ``\cs{)}'' characters.
% \begin{macrocode}
\LWR@origtilde\LWR@orignewline
- \textbackslash{}begin\{#1\}
% \end{macrocode}
-% Print the contents, sanitizing for \HTML\ special characters.
+% Print the environment name and contents, sanitizing for \HTML\ special characters.
+% \changes{v0.89}{2020/08/01}{TT font for \brand{MathJax}.}
% \begin{macrocode}
- \LWR@HTMLsanitizeexpand{\detokenize\expandafter{#2}}
+ {%
+ \LWR@print@ttfamily%
+ \textbackslash{}begin\{#1\}
+ \LWR@orignewline%
+ \LWR@HTMLsanitizeexpand{\detokenize\expandafter{#2}}%
+ \LWR@orignewline%
+ \textbackslash{}end\{#1\}
+ }%
% \end{macrocode}
-% Close the \brand{MathJax} environment:
% \begin{macrocode}
- \textbackslash{}end\{#1\}
\LWR@orignewline
}
% \end{macrocode}
@@ -36663,11 +36859,12 @@ end -- not --version
% \changes{v0.42}{2017/10/12}{Fix: Numbering and naming AMS math environments.}
% \changes{v0.50}{2018/03/02}{Improved \SVG\ math display.}
% \changes{v0.51}{2018/03/11}{Fix: \cs{addcontentsline} inside \SVG\ math. Provides an autoid anchor.}
+% \changes{v0.89}{2020/08/02}{\cs{textendash} for number range.}
% \begin{macrocode}
\begin{BlockClass}{displaymathnumbered}%
\LWR@newautoidanchor%
\booltrue{LWR@indisplaymathimage}%
- \begin{lateximage}[(\LWR@startingequationtag--\LWR@equationtag)%
+ \begin{lateximage}[(\LWR@startingequationtag\textendash\LWR@equationtag)%
\LWR@addmathjax{eqnarray}{\BODY}]*%
% \end{macrocode}
% Support for \pkg{xfakebold}:
@@ -36988,13 +37185,14 @@ end -- not --version
% prefixed by the equation numbers.
%
% \changes{v0.42}{2017/10/12}{Fix: Numbering and naming AMS math environments.}
+% \changes{v0.89}{2020/08/02}{\cs{textendash} for number range.}
%
% \begin{macrocode}
\newcommand*{\LWR@amsmathbodynumbered}[1]
{%
\ifnumcomp{\value{LWR@startingequation}}{=}{\value{equation}}%
{(\LWR@equationtag)}%
- {(\LWR@startingequationtag--\LWR@equationtag)} % extra space
+ {(\LWR@startingequationtag\textendash\LWR@equationtag)} % extra space
\LWR@amsmathbody{#1} % extra space
}
% \end{macrocode}
@@ -37605,6 +37803,14 @@ end -- not --version
\LWR@PreloadedPackage{fontaxes}
% \end{macrocode}
+% \pkg{newpxmath}, etc. may be loaded before \pkg{lwarp}:
+% \begin{macrocode}
+\LWR@PreloadedPackage{newpxmath}
+\LWR@PreloadedPackage{newtxmath}
+\LWR@PreloadedPackage{newtxsf}
+\LWR@PreloadedPackage{mathalpha}
+% \end{macrocode}
+
% \pkg{nfssext-cfr} may be preloaded by \pkg{cfm-lm} or related font packages.
% \begin{macrocode}
\LWR@PreloadedPackage{nfssext-cfr}
@@ -37675,7 +37881,7 @@ end -- not --version
\newrobustcmd{\LWR@siunitx@textdegree}{\HTMLentity{deg}}
\newrobustcmd{\LWR@siunitx@textprime}{\HTMLunicode{2032}}
\newrobustcmd{\LWR@siunitx@textdblprime}{\HTMLunicode{2033}}
-\newrobustcmd{\LWR@siunitx@textplanckbar}{\text{\textit{\HTMLunicode{0127}}}}
+\newrobustcmd{\LWR@siunitx@textplanckbar}{\text{\textit{\HTMLunicode{210F}}}}
\appto\LWR@restoreorigformatting{%
\renewrobustcmd{\LWR@siunitx@textcelsius}{\text{\ensuremath{^\circ}C}}%
@@ -40477,7 +40683,7 @@ color:\LWR@origpound\LWR@tempcolor%
%
-% \section{\cs{AtBeginDocument}, \cs{AtEndDocument}}
+% \section{Starting and stopping \pkg{lwarp}}
% \codehtml
% \begin{macrocode}
@@ -40501,6 +40707,27 @@ color:\LWR@origpound\LWR@tempcolor%
% \end{macrocode}
+% \section{Loading \pkg{everyshi} patches}
+%
+% \pkg{everyshi} is emulated by the \LaTeX\ core, so its patches are loaded
+% here.
+% \cs{AtBeginDocument} is used in case an older verison of \LaTeX\ is
+% used.
+%
+% \changes{v0.89}{2020/07/28}{\pkg{everyshi}: Included in \LaTeX\ core.}
+%
+% \codehtml
+% \begin{macrocode}
+\begin{warpHTML}
+\AtBeginDocument{
+ \@ifpackageloaded{everyshi}{
+ \RequirePackage{lwarp-everyshi}
+ }{}
+}
+\end{warpHTML}
+% \end{macrocode}
+
+
% \section{Loading \pkg{textcomp} patches}
%
% \pkg{textcomp} has now been integrated into the \LaTeX\ core,
@@ -40515,6 +40742,37 @@ color:\LWR@origpound\LWR@tempcolor%
\end{warpHTML}
% \end{macrocode}
+
+
+% \section{Loading \pkg{amsmath}, \pkg{amsthm} patches, \pkg{centernot}}
+%
+% \pkg{amsmath}, \pkg{amsthm}, and \pkg{centernot} may have been preloaded,
+% such as by \pkg{newtx}, so their patches are loaded now.
+%
+% \codehtml
+%
+% \changes{v0.89}{2020/08/12}{Allow preload of \pkg{amsmath}, \pkg{amsthm}, \pkg{centernot}.}
+% \begin{macrocode}
+\begin{warpHTML}
+\@ifpackageloaded{amsthm}{
+ \RequirePackage{lwarp-amsthm}
+}{}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\@ifpackageloaded{amsmath}{
+ \RequirePackage{lwarp-amsmath}
+}{}
+
+% \pkg{amsthm} may load \pkg{centernot}, so \pkg{centernot} must be checked second.
+% \begin{macrocode}
+\@ifpackageloaded{centernot}{
+ \RequirePackage{lwarp-centernot}
+}{}
+\end{warpHTML}
+% \end{macrocode}
+
+
% \section{Loading \brand{Koma-script} class patches}
%
% Load patches to \pkg{koma-script}.
@@ -41272,6 +41530,99 @@ color:\LWR@origpound\LWR@tempcolor%
%
%
%
+%
+%
+% \iffalse
+%<*accents>
+% \fi
+%
+% \part{lwarp-accents.sty}
+%
+% \section{accents}
+%
+% \credits{Javier Bezos}
+%
+% \DescribePackage{accents}
+% \pkg{accents} is used as-is for \SVG\ math, and is
+% emulated for \brand{MathJax}.
+%
+% \changes{v0.89}{2020/07/21}{\pkg{accents}: Added.}
+%
+% \codehtml
+%
+% \begin{macrocode}
+\LWR@ProvidesPackagePass{accents}[2006/05/12]
+% \end{macrocode}
+%
+% For \brand{MathJax}:
+% \begin{macrocode}
+\begin{warpMathJax}
+\LWR@infoprocessingmathjax{accents}
+
+\CustomizeMathJax{\newcommand{\ring}[1]{\mathring{#1}}}
+\CustomizeMathJax{\newcommand{\accentset}[2]{\overset{#1{}}{#2}}}
+% \end{macrocode}
+%
+% As of this writing, \brand{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.
+% \cs{LARGE} gives a reasonable size, and \cs{raise} is used to
+% adjust vertically without introducing extra line space.
+% \begin{macrocode}
+\CustomizeMathJax{\let\LWRgrave\grave}
+\CustomizeMathJax{\let\LWRacute\acute}
+\CustomizeMathJax{\let\LWRcheck\check}
+\CustomizeMathJax{\let\LWRbreve\breve}
+\CustomizeMathJax{\let\LWRbar\bar}
+\CustomizeMathJax{\let\LWRhat\hat}
+\CustomizeMathJax{\let\LWRdot\dot}
+\CustomizeMathJax{\let\LWRtilde\tilde}
+\CustomizeMathJax{\let\LWRddot\ddot}
+\CustomizeMathJax{\let\LWRvec\vec}
+\CustomizeMathJax{\let\LWRwidetilde\widetilde}
+
+\CustomizeMathJax{\newcommand{\underaccent}[2]{%
+ {%
+ \renewcommand{\grave}[1]{{\LARGE\LWRgrave{##1}}}%
+ \renewcommand{\acute}[1]{{\LARGE\LWRacute{##1}}}%
+ \renewcommand{\check}[1]{{\LARGE\LWRcheck{##1}}}%
+ \renewcommand{\breve}[1]{{\LARGE\LWRbreve{##1}}}%
+ \renewcommand{\bar}[1]{{\LARGE\LWRbar{##1}}}%
+ \renewcommand{\hat}[1]{{\LARGE\LWRhat{##1}}}%
+ \renewcommand{\dot}[1]{{\LARGE\LWRdot{##1}}}%
+ \renewcommand{\tilde}[1]{{\LARGE\LWRtilde{##1}}}%
+ \renewcommand{\ddot}[1]{{\LARGE\LWRddot{##1}}}%
+ \renewcommand{\vec}[1]{{\LARGE\LWRvec{##1}}}%
+ \renewcommand{\widetilde}[1]{{\LARGE\LWRwidetilde{\hphantom{#2}}}}%
+ \underset{\raise 2pt {#1{}}}{#2}%
+ \let\grave\LWRgrave%
+ \let\acute\LWRacute%
+ \let\check\LWRcheck%
+ \let\breve\LWRbreve%
+ \let\bar\LWRbar%
+ \let\hat\LWRhat%
+ \let\dot\LWRdot%
+ \let\tilde\LWRtilde%
+ \let\ddot\LWRddot%
+ \let\vec\LWRvec%
+ \let\widetilde\LWRwidetilde%
+ }%
+}}
+
+\CustomizeMathJax{\newcommand{\undertilde}[1]{%
+ \underset{\raise 3pt {\widetilde{\hphantom{#1}}}}{#1}%
+}}
+\end{warpMathJax}
+% \end{macrocode}
+%
+% \iffalse
+%</accents>
+% \fi
+%
+%
+%
+%
% \iffalse
%<*accessibility>
% \fi
@@ -42193,6 +42544,7 @@ span style="width:\LWR@printlength{\ALG@thistlm}; display:inline-block;"%
% Embeds the environment inside a \env{lateximage}.
%
% \changes{v0.80}{2020/02/13}{AMS environments: Fix: Centering starred envs.}
+% \changes{v0.89}{2020/08/02}{AMS environments: Fix: \element{ALT} text env name.}
% \begin{macrocode}
\NewDocumentCommand{\LWR@amsmathenv@@before}{s m}{%
\IfBooleanTF{#1}{
@@ -42202,7 +42554,7 @@ span style="width:\LWR@printlength{\ALG@thistlm}; display:inline-block;"%
}
\LWR@newautoidanchor%
\booltrue{LWR@indisplaymathimage}%
- \begin{lateximage}[\LWR@amsmathbodynumbered{#1}]*
+ \begin{lateximage}[\LWR@amsmathbodynumbered{#2}]*%
\LWR@applyxfakebold%
}
% \end{macrocode}
@@ -43218,7 +43570,19 @@ span style="width:\LWR@printlength{\ALG@thistlm}; display:inline-block;"%
\LWR@ProvidesPackageDrop{atbegshi}[2011/10/05]
% \end{macrocode}
%
+% \changes{v0.89}{2020/07/28}{\pkg{atbegshi}: Adapt to \LaTeX kernel changes.}
% \begin{macrocode}
+\let\AtBeginShipout\relax
+\let\AtBeginShipoutNext\relax
+\let\AtBeginShipoutFirst\relax
+\let\AtBeginShipoutDiscard\relax
+\let\AtBeginShipoutInit\relax
+\let\AtBeginShipoutAddToBox\relax
+\let\AtBeginShipoutAddToBoxForeground\relax
+\let\AtBeginShipoutUpperLeft\relax
+\let\AtBeginShipoutUpperLeftForeground\relax
+\let\AtBeginShipoutOriginalShipout\relax
+
\newcommand*{\AtBeginShipout}[1]{}
\newbox\AtBeginShipoutBox
\newcommand*{\AtBeginShipoutNext}[1]{}
@@ -43233,7 +43597,6 @@ span style="width:\LWR@printlength{\ALG@thistlm}; display:inline-block;"%
\def\AtBeginShipoutBoxWidth{0pt}
\def\AtBeginShipoutBoxHeight{0pt}
\def\AtBeginShipoutBoxDepth{0pt}
-
% \end{macrocode}
%
% \iffalse
@@ -45475,6 +45838,7 @@ s%
% \changes{v0.78}{2019/10/30}{\pkg{caption}: Added warning regarding passing options.}
% \changes{v0.84}{2020/04/16}{\pkg{caption}: Simplified.}
% \changes{v0.84}{2020/04/20}{\pkg{caption}: Non-width \cs{parbox}es.}
+% \changes{v0.89}{2020/08/25}{\pkg{caption}: Adapt to v3.5.}
%
% \codehtml
%
@@ -45487,9 +45851,10 @@ s%
\typeout{instead of: \protect\usepackage[options]\protect{caption\protect}.}
\typeout{---}
-\LWR@ProvidesPackagePass{caption}[2020/01/03]
+\LWR@ProvidesPackagePass{caption}[2020/08/24]
% \end{macrocode}
-
+%
+% ^^A This could be given a permanent standardized name, then redefined by lwarp.
% \begin{macrocode}
\long\def\caption@iibox@#1#2#3#4{%
% \setbox\@tempboxa\hbox{#4}%
@@ -45508,7 +45873,12 @@ s%
#1*% set \caption@position
\caption@iftop{%
\endgroup
- \minipagefullwidth%
+% \end{macrocode}
+%
+% ^^A This parbox could be factored out, given a permanent name,
+% ^^A then redefined by lwarp.
+% \begin{macrocode}
+ \minipagefullwidth% lwarp
\parbox[t]{\linewidth}{%
#1\relax
\caption@setposition t%
@@ -45520,9 +45890,14 @@ s%
}%
}{%
\endgroup
+% \end{macrocode}
+%
+% ^^A This parbox could be factored out, given a permanent name,
+% ^^A then redefined by lwarp.
+% \begin{macrocode}
% \parbox[b]{#6}{%
- \minipagefullwidth%
- \parbox[b]{\linewidth}{%
+ \minipagefullwidth% lwarp
+ \parbox[b]{\linewidth}{% lwarp
#1\relax
\caption@setposition b%
% \csname caption@hj@#7\endcsname
@@ -45535,10 +45910,187 @@ s%
}
% \end{macrocode}
+% \begin{noindmacro}{\caption@makecaption}
+% \changes{v0.71}{2019/04/08}{\pkg{caption}: Reduced underfull \cs{hbox} warnings.}
+% ^^A Lwarp could nullify \caption@make@above/bottom.
+% \begin{macrocode}
+\long\def\caption@makecaption#1#2{%
+% \caption@make@above
+ \caption@@make{#1}{#2}%
+% \caption@make@below
+}
+
+\AtBeginDocument{
+ \let\@makecaption\caption@makecaption
+}
+% \end{macrocode}
+% \end{noindmacro}
+
+
+% Redefined to look ahead for \cs{centering}, etc:
+% \changes{v0.84}{2020/04/20}{\pkg{caption}: Improved integration.}
+% ^^A Lwarp has to redefine to use \LWR@futurenonspacelet correctly.
+% \begin{macrocode}
+\AtBeginDocument{
+ \def\@xfloat#1[#2]{%
+ \caption@ORI@xfloat{#1}[#2]%
+ \caption@settype{#1}%
+ \LWR@futurenonspacelet\LWR@mynexttoken\LWR@floatalignment%
+ }%
+ \def\@xdblfloat#1[#2]{% required for token capture
+ \caption@ORI@xfloat{#1}[#2]%
+ \caption@settype{#1}%
+ \LWR@futurenonspacelet\LWR@mynexttoken\LWR@floatalignment%
+ }%
+}
+% \end{macrocode}
+
+
+% Updates for late patches for \pkg{scrextend}:
+% \changes{v0.88}{2020/07/15}{\pkg{caption}, \pkg{scrextend}: Fixed \cs{caption*}.}
+% \begin{macrocode}
+\caption@AtBeginDocument{
+\@ifpackageloaded{lwarp-scrextend}{
+ \LetLtxMacro\captionbelow\caption
+ \LetLtxMacro\captionabove\caption
+ \LetLtxMacro\captionofbelow\captionof
+ \LetLtxMacro\captionofabove\captionof
+}{}
+}
+% \end{macrocode}
+%
+% \iffalse
+%</caption>
+% \fi
+%
+%
+%
+%
+%
+% \iffalse
+%<*caption3>
+% \fi
+%
+% \part{lwarp-caption3.sty}
+% \section{caption3}
+%
+% \credits{Axel Sommerfeldt}
+%
+% \DescribePackage{caption3}
+% \pkg{caption3} is patched for use by \pkg{lwarp}.
+%
+% \changes{v0.89}{2020/08/25}{\pkg{caption3}: Split from \pkg{lwarp-caption}.}
+%
+% \codehtml
+%
+% \begin{macrocode}
+\LWR@ProvidesPackagePass{caption3}[2020/08/23]
+% \end{macrocode}
+%
+%
% \begin{noindmacro}{\caption@@@make}
% \marg{caption label} \marg{caption text}
% \begin{macrocode}
+\@ifpackagelater{caption3}{2020/08/23}{
+\renewcommand\caption@@@make[2]{%
+\LWR@traceinfo{caption@@@make}%
+% \end{macrocode}
+%
+% ^^A Lwarp has to stop and start its paragraph handling,
+% ^^A so I guess caption package could provide null macros for
+% ^^A \LWR@stoppars and \LWR@startpars if lwarp has not already defined them.
+% \begin{macrocode}
+ \LWR@stoppars% lwarp
+% \end{macrocode}
+%
+% ^^A This could be factored out into a macro with a standard name
+% ^^A which lwarp could nullify:
+% \begin{macrocode}
+% \sbox\@tempboxa{#1}%
+% \ifdim\wd\@tempboxa=\z@
+% \caption@set{labelseparator}{none}%
+% \fi
+ \caption@ifempty{#2}{%
+ \caption@set{labelseparator}{none}%
+ \caption@set{textformat}{simple}%
+ }%
+ \caption@labelseparator % defines \caption@iflabelfont,
+% \caption@labelsep and \caption@labelsep@name
+% (the latter is needed by \caption@fmt)
+%
+% \end{macrocode}
+%
+% ^^A This could be factored out into a macro with a standard name
+% ^^A which lwarp could nullify:
+% \begin{macrocode}
+% \@setpar{\@@par\caption@@par}\caption@@par
+ \caption@applyfont
+% \end{macrocode}
+%
+% \cs{caption@fmt} with \optn{plain} format is defined as |{#1#2#3\par}|:
+%
+% \begin{macrocode}
+% \caption@fmt
+ {\ifcaption@star\else
+ \begingroup
+ \captionlabelfont
+% \end{macrocode}
+%
+% ^^A \LWR@isolate could also be provided by caption if lwarp has
+% ^^A not already defined it. For caption, it might be \@firstofone, for example.
+% ^^A (For lwarp it improved Chinese text handling.)
+% \begin{macrocode}
+ \LWR@isolate{#1}% lwarp
+ \endgroup
+ \fi}%
+ {\ifcaption@star\else
+ \begingroup
+ \caption@iflabelfont\captionlabelfont
+ \relax\caption@labelsep
+ \endgroup
+ \fi}%
+ {{\captiontextfont
+% \end{macrocode}
+%
+% ^^A Another null macro in caption, which could be provided if
+% ^^A lwarp has not yet defined it:
+% \begin{macrocode}
+ \let\\\newline% lwarp
+%
+ \caption@textstart
+% \end{macrocode}
+%
+% ^^A This could be factored out into a macro with a standard name
+% ^^A which lwarp could nullify:
+% \begin{macrocode}
+% \caption@ifstrut
+% {\vrule\@height\ht\strutbox\@width\z@}%
+% {}%
+% \nobreak\hskip\z@skip % enable hyphenation
+% \end{macrocode}
+%
+% ^^A \LWR@isolate again:
+% \begin{macrocode}
+ \LWR@isolate{\caption@textformat{#2}}% lwarp
+% \end{macrocode}
+%
+% ^^A This could be factored out into a macro with a standard name
+% ^^A which lwarp could nullify:
+% \begin{macrocode}
+% \caption@ifstrut
+% {\ifhmode\@finalstrut\strutbox\fi}%
+% {}%
+ \caption@textend}}%
+% \end{macrocode}
+%
+% ^^A as \LWR@startpars above:
+% \begin{macrocode}
+ \LWR@startpars% lwarp
+\LWR@traceinfo{caption@@@make done}%
+}
+}% later than 2020/08/23
+{% earlier than 2020/08/23
\renewcommand\caption@@@make[2]{%
\LWR@traceinfo{caption@@@make}%
\LWR@stoppars% lwarp
@@ -45550,6 +46102,7 @@ s%
\let\caption@lsep\@empty
\let\caption@tfmt\@firstofone
}%
+% \@setpar{\@@par\caption@@par}\caption@@par
\caption@applyfont
% \end{macrocode}
% \cs{caption@fmt} with \optn{plain} format is defined as |{#1#2#3\par}|:
@@ -45583,10 +46136,15 @@ s%
\LWR@startpars% lwarp
\LWR@traceinfo{caption@@@make done}%
}
+}% earlier than 2020/08/23
% \end{macrocode}
% \end{noindmacro}
-
+%
+%
% \begin{noindmacro}{\caption@@make@} \marg{} \marg{}
+% ^^A This could be given a standardized name,
+% ^^A and redefined by lwarp as follows. Most of the original
+% ^^A is thrown away.
% \begin{macrocode}
\renewcommand{\caption@@make@}[2]{%
\caption@stepthecounter%
@@ -45596,93 +46154,42 @@ s%
}
% \end{macrocode}
% \end{noindmacro}
-
-% \begin{noindmacro}{\caption@makecaption}
-% \changes{v0.71}{2019/04/08}{\pkg{caption}: Reduced underfull \cs{hbox} warnings.}
-% \begin{macrocode}
-\long\def\caption@makecaption#1#2{%
-% \caption@iftop
-% {\vskip\belowcaptionskip}%
-% {\caption@rule\vskip\abovecaptionskip}%
- \caption@@make{#1}{#2}%
-% \caption@iftop
-% {\vskip\abovecaptionskip\caption@rule}%
-% {\vskip\belowcaptionskip}%
-}
-
-\AtBeginDocument{
- \let\@makecaption\caption@makecaption
-}
-% \end{macrocode}
-% \end{noindmacro}
-
-
-% Redefined to look ahead for \cs{centering}, etc:
-% \changes{v0.84}{2020/04/20}{\pkg{caption}: Improved integration.}
-% \begin{macrocode}
-\AtBeginDocument{
- \def\@xfloat#1[#2]{%
- \caption@ORI@xfloat{#1}[#2]%
- \caption@settype{#1}%
- \LWR@futurenonspacelet\LWR@mynexttoken\LWR@floatalignment%
- }%
- \def\@xdblfloat#1[#2]{%
- \caption@ORI@xfloat{#1}[#2]%
- \caption@settype{#1}%
- \LWR@futurenonspacelet\LWR@mynexttoken\LWR@floatalignment%
- }%
-}
-% \end{macrocode}
-
-
+%
+%
% Add non-breakable spaces:
+% \changes{v0.89}{2020/08/25}{\pkg{caption3}: Improved label seps.}
+% ^^A Debatable "improvements":
% \begin{macrocode}
-\long\def\caption@lsep@default{.~}
-\long\def\caption@lsep@colon{:~}
-\long\def\caption@lsep@period{.~}
-\long\def\caption@lsep@space{~}
-\long\def\caption@lsep@endash{~\textendash~}
-\long\def\caption@lsep@arabi{~:~}
+\DeclareCaptionLabelSeparator{colon}{:~}
+\DeclareCaptionLabelSeparator{period}{.~}
+\DeclareCaptionLabelSeparator{space}{~}
+\DeclareCaptionLabelSeparator*{endash}{~\textendash~}
+\DeclareCaptionLabelSeparator{arabi}{\if@rl~\fi:~}
% \end{macrocode}
-
+%
+% ^^A These are simplifications for HTML:
% \begin{macrocode}
\DeclareCaptionBox{none}{#2}
\DeclareCaptionBox{parbox}{%
#2%
}
-
-\DeclareCaptionBox{colorbox}{%
- #2%
-}
% \end{macrocode}
-
-
-% Updates for late patches for \pkg{scrextend}:
-% \changes{v0.88}{2020/07/15}{\pkg{caption}, \pkg{scrextend}: Fixed \cs{caption*}.}
+%
+% ^^A Simplification for HTML:
% \begin{macrocode}
-\caption@AtBeginDocument{
-\@ifpackageloaded{lwarp-scrextend}{
- \LetLtxMacro\captionbelow\caption
- \LetLtxMacro\captionabove\caption
- \LetLtxMacro\captionofbelow\captionof
- \LetLtxMacro\captionofabove\captionof
-}{}
+\DeclareCaptionBox{colorbox}{%
+ #2%
}
% \end{macrocode}
-
-
-
+%
% \iffalse
-%</caption>
+%</caption3>
% \fi
%
%
%
%
%
-%
-%
-%
% \iffalse
%<*cases>
% \fi
@@ -45752,6 +46259,7 @@ s%
% and emulated for \brand{MathJax}.
%
% \changes{v0.80}{2020/02/08}{\pkg{centernot}: Added.}
+% \changes{v0.89}{2020/08/17}{\pkg{centernot}: Improved.}
%
% \codehtml
%
@@ -45759,9 +46267,17 @@ s%
\LWR@ProvidesPackagePass{centernot}[2016/05/16]
% \end{macrocode}
%
+% Based on \href{https://github.com/mathjax/MathJax/issues/2107}
+% {\texttt{https://github.com/mathjax/MathJax/issues/2107}}
+% with \cs{textstyle} removed to work with sub \Slash super scripts.
+%
% \begin{macrocode}
+\LWR@origRequirePackage{lwarp-common-mathjax-overlaysymbols}
+
\begin{warpMathJax}
-\CustomizeMathJax{\newcommand{\centernot}[1]{\not{\!#1\,}}}
+\CustomizeMathJax{\newcommand{\centernot}[1]{%
+ \LWRoverlaysymbols{\unicode{x2215}}{#1}
+}}
\end{warpMathJax}
% \end{macrocode}
%
@@ -49618,10 +50134,13 @@ name = \chemmacros_translate:n {scheme-name}
% is emulated for \brand{MathJax}.
%
% \changes{v0.81}{2020/03/01}{\pkg{econometrics}: Added.}
+% \changes{v0.89}{2020/09/02}{\pkg{econometrics}: Uses \pkg{lwarp-common-mathjax-letters}.}
%
% \codehtml
%
% \begin{macrocode}
+\LWR@origRequirePackage{lwarp-common-mathjax-letters}
+
\LWR@ProvidesPackagePass{econometrics}% no date specified in the original
% \end{macrocode}
%
@@ -49662,95 +50181,11 @@ name = \chemmacros_translate:n {scheme-name}
\CustomizeMathJax{\newcommand{\calY}{\mathcal{Y}}}
\CustomizeMathJax{\newcommand{\calZ}{\mathcal{Z}}}
-\CustomizeMathJax{\newcommand{\mA}{\bm A}}
-\CustomizeMathJax{\newcommand{\va}{\bm a}}
-\CustomizeMathJax{\newcommand{\mB}{\bm B}}
-\CustomizeMathJax{\newcommand{\vb}{\bm b}}
-\CustomizeMathJax{\newcommand{\mC}{\bm C}}
-\CustomizeMathJax{\newcommand{\vc}{\bm c}}
-\CustomizeMathJax{\newcommand{\mD}{\bm D}}
-\CustomizeMathJax{\newcommand{\vd}{\bm d}}
-\CustomizeMathJax{\newcommand{\mE}{\bm E}}
-\CustomizeMathJax{\newcommand{\ve}{\bm e}}
-\CustomizeMathJax{\newcommand{\mF}{\bm F}}
-\CustomizeMathJax{\newcommand{\vf}{\bm f}}
-\CustomizeMathJax{\newcommand{\mG}{\bm G}}
-\CustomizeMathJax{\newcommand{\vg}{\bm g}}
-\CustomizeMathJax{\newcommand{\mH}{\bm H}}
-\CustomizeMathJax{\newcommand{\vh}{\bm h}}
-\CustomizeMathJax{\newcommand{\mI}{\bm I}}
-\CustomizeMathJax{\newcommand{\vi}{\bm i}}
-\CustomizeMathJax{\newcommand{\mJ}{\bm J}}
-\CustomizeMathJax{\newcommand{\vj}{\bm j}}
-\CustomizeMathJax{\newcommand{\mK}{\bm K}}
-\CustomizeMathJax{\newcommand{\vk}{\bm k}}
-\CustomizeMathJax{\newcommand{\mL}{\bm L}}
-\CustomizeMathJax{\newcommand{\vl}{\bm l}}
-\CustomizeMathJax{\newcommand{\mM}{\bm M}}
-\CustomizeMathJax{\newcommand{\vm}{\bm m}}
-\CustomizeMathJax{\newcommand{\mN}{\bm N}}
-\CustomizeMathJax{\newcommand{\vn}{\bm n}}
-\CustomizeMathJax{\newcommand{\mO}{\bm O}}
-\CustomizeMathJax{\newcommand{\vo}{\bm o}}
-\CustomizeMathJax{\newcommand{\mP}{\bm P}}
-\CustomizeMathJax{\newcommand{\vp}{\bm p}}
-\CustomizeMathJax{\newcommand{\mQ}{\bm Q}}
-\CustomizeMathJax{\newcommand{\vq}{\bm q}}
-\CustomizeMathJax{\newcommand{\mR}{\bm R}}
-\CustomizeMathJax{\newcommand{\vr}{\bm r}}
-\CustomizeMathJax{\newcommand{\mS}{\bm S}}
-\CustomizeMathJax{\newcommand{\vs}{\bm s}}
-\CustomizeMathJax{\newcommand{\mT}{\bm T}}
-\CustomizeMathJax{\newcommand{\vt}{\bm t}}
-\CustomizeMathJax{\newcommand{\mU}{\bm U}}
-\CustomizeMathJax{\newcommand{\vu}{\bm u}}
-\CustomizeMathJax{\newcommand{\mV}{\bm V}}
-\CustomizeMathJax{\newcommand{\vv}{\bm v}}
-\CustomizeMathJax{\newcommand{\mW}{\bm W}}
-\CustomizeMathJax{\newcommand{\vw}{\bm w}}
-\CustomizeMathJax{\newcommand{\mX}{\bm X}}
-\CustomizeMathJax{\newcommand{\vx}{\bm x}}
-\CustomizeMathJax{\newcommand{\mY}{\bm Y}}
-\CustomizeMathJax{\newcommand{\vy}{\bm y}}
-\CustomizeMathJax{\newcommand{\mZ}{\bm Z}}
-\CustomizeMathJax{\newcommand{\vz}{\bm z}}
-
-\CustomizeMathJax{\newcommand{\valpha}{\bm \alpha}}
-\CustomizeMathJax{\newcommand{\vbeta}{\bm \beta}}
-\CustomizeMathJax{\newcommand{\vgamma}{\bm \gamma}}
-\CustomizeMathJax{\newcommand{\vdelta}{\bm \delta}}
-\CustomizeMathJax{\newcommand{\vepsi}{\bm \epsi}}
-\CustomizeMathJax{\newcommand{\vvarepsilon}{\bm \varepsilon}}
-\CustomizeMathJax{\newcommand{\vzeta}{\bm \zeta}}
-\CustomizeMathJax{\newcommand{\veta}{\bm \eta}}
-\CustomizeMathJax{\newcommand{\vtheta}{\bm \theta}}
-\CustomizeMathJax{\newcommand{\viota}{\bm \iota}}
-\CustomizeMathJax{\newcommand{\vkappa}{\bm \kappa}}
-\CustomizeMathJax{\newcommand{\vlambda}{\bm \lambda}}
-\CustomizeMathJax{\newcommand{\vmu}{\bm \mu}}
-\CustomizeMathJax{\newcommand{\vnu}{\bm \nu}}
-\CustomizeMathJax{\newcommand{\vxi}{\bm \xi}}
-\CustomizeMathJax{\newcommand{\vpi}{\bm \pi}}
-\CustomizeMathJax{\newcommand{\vrho}{\bm \rho}}
-\CustomizeMathJax{\newcommand{\vsigma}{\bm \sigma}}
-\CustomizeMathJax{\newcommand{\vtau}{\bm \tau}}
-\CustomizeMathJax{\newcommand{\vupsilon}{\bm \upsilon}}
-\CustomizeMathJax{\newcommand{\vphi}{\bm \phi}}
-\CustomizeMathJax{\newcommand{\vchi}{\bm \chi}}
-\CustomizeMathJax{\newcommand{\vpsi}{\bm \psi}}
-\CustomizeMathJax{\newcommand{\vomega}{\bm \omega}}
-
-\CustomizeMathJax{\newcommand{\mGamma}{\bm \varGamma}}
-\CustomizeMathJax{\newcommand{\mDelta}{\bm \varDelta}}
-\CustomizeMathJax{\newcommand{\mTheta}{\bm \varTheta}}
-\CustomizeMathJax{\newcommand{\mLambda}{\bm \varLambda}}
-\CustomizeMathJax{\newcommand{\mXi}{\bm \varXi}}
-\CustomizeMathJax{\newcommand{\mPi}{\bm \varPi}}
-\CustomizeMathJax{\newcommand{\mSigma}{\bm \varSigma}}
-\CustomizeMathJax{\newcommand{\mUpsilon}{\bm \varUpsilon}}
-\CustomizeMathJax{\newcommand{\mPhi}{\bm \varPhi}}
-\CustomizeMathJax{\newcommand{\mPsi}{\bm \varPsi}}
-\CustomizeMathJax{\newcommand{\mOmega}{\bm \varOmega}}
+\LWR@mathjax@addlatin@u@bfit{m}% uppercase Latin, bold italic
+\LWR@mathjax@addlatin@l@bfit{v}% lowercase Latin, bold italic
+
+\LWR@mathjax@addgreek@l@bfit{v}{}% lowercase Greek bold italic
+\LWR@mathjax@addgreek@u@bfit*{m}{}% uppercase Greek bold italic, capitalized macro names
\CustomizeMathJax{\newcommand{\rb}{\mathrm{b}}}
\CustomizeMathJax{\newcommand{\rB}{\mathrm{B}}}
@@ -51297,12 +51732,16 @@ name = \chemmacros_translate:n {scheme-name}
% \codehtml
%
% Discard all options for \pkg{lwarp-everyshi}:
+% \changes{v0.89}{2020/07/28}{\pkg{everyshi}: Adapt to \LaTeX kernel changes.}
% \begin{macrocode}
\LWR@ProvidesPackageDrop{everyshi}[2001/05/15]
% \end{macrocode}
%
% \begin{macrocode}
+\let\EveryShipout\relax
\newcommand*{\EveryShipout}[1]{}
+
+\let\AtNextShipout\relax
\newcommand*{\AtNextShipout}[1]{}
% \end{macrocode}
%
@@ -56195,6 +56634,99 @@ solid {\FancyVerbRuleColor{\LWR@origpound\LWR@tempcolor}} ; % space
%
%
% \iffalse
+%<*hepunits>
+% \fi
+%
+% \part{lwarp-hepunits.sty}
+%
+% \section{hepunits}
+%
+% \credits{Andy Buckley}
+%
+% \DescribePackage{hepunits}
+% \pkg{hepunits} is used as-is, and emulated for \brand{MathJax}.
+%
+% \changes{v0.89}{2020/07/23}{\pkg{hepunits}: Added.}
+%
+% \codehtml
+%
+% \begin{macrocode}
+\LWR@ProvidesPackagePass{hepunits}[2020/04/10]
+% \end{macrocode}
+%
+% \begin{macrocode}
+\begin{warpMathJax}
+\LWR@infoprocessingmathjax{hepunits}
+
+\ifx\@HEPopt@sicmds\@yes
+\CustomizeMathJax{\newcommand{\micron}{\micro\metre}}
+\CustomizeMathJax{\newcommand{\mrad}{\milli\radian}}
+\fi
+
+\CustomizeMathJax{\newcommand{\gauss}{\mathrm{G}}}
+
+\CustomizeMathJax{\newcommand{\invcmsq}{\centi\metre\tothe{-2}}}
+\CustomizeMathJax{\newcommand{\invcmsqpersecond}{\invcmsq\second\tothe{-1}}}
+\CustomizeMathJax{\newcommand{\invcmsqpersec}{\invcmsqpersecond}}
+
+%% (Inverse) cross-sections
+\CustomizeMathJax{\newcommand{\invbarn}{\barn\tothe{-1}}}
+
+\ifx\@HEPopt@noprefixcmds\@empty
+\CustomizeMathJax{\newcommand{\millibarn}{\milli\barn}}
+\CustomizeMathJax{\newcommand{\microbarn}{\micro\barn}}
+\CustomizeMathJax{\newcommand{\nanobarn}{\nano\barn}}
+\CustomizeMathJax{\newcommand{\picobarn}{\pico\barn}}
+\CustomizeMathJax{\newcommand{\femtobarn}{\femto\barn}}
+\CustomizeMathJax{\newcommand{\attobarn}{\atto\barn}}
+\CustomizeMathJax{\newcommand{\zeptobarn}{\zepto\barn}}
+\CustomizeMathJax{\newcommand{\yoctobarn}{\yocto\barn}}
+\CustomizeMathJax{\newcommand{\invnanobarn}{\nano\invbarn}}
+\CustomizeMathJax{\newcommand{\invpicobarn}{\pico\invbarn}}
+\CustomizeMathJax{\newcommand{\invfemtobarn}{\femto\invbarn}}
+\CustomizeMathJax{\newcommand{\invattobarn}{\atto\invbarn}}
+\CustomizeMathJax{\newcommand{\invzeptobarn}{\zepto\invbarn}}
+\CustomizeMathJax{\newcommand{\invyoctobarn}{\yocto\invbarn}}
+\CustomizeMathJax{\newcommand{\invnb}{\invnanobarn}}
+\CustomizeMathJax{\newcommand{\invpb}{\invpicobarn}}
+\CustomizeMathJax{\newcommand{\invfb}{\invfemtobarn}}
+\CustomizeMathJax{\newcommand{\invab}{\invattobarn}}
+\CustomizeMathJax{\newcommand{\invzb}{\invzeptobarn}}
+\CustomizeMathJax{\newcommand{\invyb}{\invyoctobarn}}
+\fi
+
+\CustomizeMathJax{\newcommand{\electronvoltc}{\electronvolt\per\mathit{c}}}
+\CustomizeMathJax{\newcommand{\electronvoltcsq}{\electronvolt\per\mathit{c}\squared}}
+\CustomizeMathJax{\let\eVc\electronvoltc}
+\CustomizeMathJax{\let\eVcsq\electronvoltcsq}
+
+\ifx\@HEPopt@noprefixcmds\@empty
+\CustomizeMathJax{\newcommand{\meV}{\milli\eV}}
+\CustomizeMathJax{\newcommand{\keV}{\kilo\eV}}
+\CustomizeMathJax{\newcommand{\MeV}{\mega\eV}}
+\CustomizeMathJax{\newcommand{\GeV}{\giga\eV}}
+\CustomizeMathJax{\newcommand{\TeV}{\tera\eV}}
+\CustomizeMathJax{\newcommand{\meVc}{\milli\eVc}}
+\CustomizeMathJax{\newcommand{\keVc}{\kilo\eVc}}
+\CustomizeMathJax{\newcommand{\MeVc}{\mega\eVc}}
+\CustomizeMathJax{\newcommand{\GeVc}{\giga\eVc}}
+\CustomizeMathJax{\newcommand{\TeVc}{\tera\eVc}}
+\CustomizeMathJax{\newcommand{\meVcsq}{\milli\eVcsq}}
+\CustomizeMathJax{\newcommand{\keVcsq}{\kilo\eVcsq}}
+\CustomizeMathJax{\newcommand{\MeVcsq}{\mega\eVcsq}}
+\CustomizeMathJax{\newcommand{\GeVcsq}{\giga\eVcsq}}
+\CustomizeMathJax{\newcommand{\TeVcsq}{\tera\eVcsq}}
+\fi
+\end{warpMathJax}
+% \end{macrocode}
+%
+% \iffalse
+%</hepunits>
+% \fi
+%
+%
+%
+% \iffalse
%<*hhline>
% \fi
%
@@ -56247,6 +56779,62 @@ solid {\FancyVerbRuleColor{\LWR@origpound\LWR@tempcolor}} ; % space
%
%
% \iffalse
+%<*hhtensor>
+% \fi
+%
+% \part{lwarp-hhtensor.sty}
+%
+% \section{hhtensor}
+%
+% \credits{Harald Harders}
+%
+% \DescribePackage{hhtensor}
+% \pkg{hhtensor} is used as-is, and emulated for \brand{MathJax}.
+%
+% \changes{v0.88}{2020/07/23}{\pkg{hhtensor}: Added.}
+%
+% \codehtml
+%
+% \begin{macrocode}
+\LWR@ProvidesPackagePass{hhtensor}[2011/12/29]
+% \end{macrocode}
+%
+% \begin{macrocode}
+\begin{warpMathJax}
+\iftensor@bold
+ \CustomizeMathJax{\newcommand{\vec}[1]{\boldsymbol{#1}}}
+ \CustomizeMathJax{\newcommand{\matr}[1]{\boldsymbol{#1}}}
+ \CustomizeMathJax{\newcommand{\tens}[2]{\boldsymbol{#1}}}
+\else
+ \iftensor@uline
+ \CustomizeMathJax{\newcommand{\vec}[1]{\ushort{#1}}}
+ \CustomizeMathJax{\newcommand{\matr}[1]{\ushortd{#1}}}
+ \CustomizeMathJax{\newcommand{\tens}[2]{
+ \underset{
+ \raise{.5ex}{\underset{#2}{\sim}}
+ }{#1}
+ }}
+ \else
+ \CustomizeMathJax{\newcommand{\matr}[1]{\vec{\vec{#1}}}}
+ \CustomizeMathJax{\newcommand{\tens}[2]{
+ \underset{
+ \raise{.5ex}{\underset{#2}{\sim}}
+ }{#1}
+ }}
+ \fi
+\fi
+\CustomizeMathJax{\newcommand{\dcdot}{\mathrel{\cdot\mkern 0.0mu \cdot}}}
+\CustomizeMathJax{\newcommand{\trans}{{}^{\mathrm{T}}}}
+\end{warpMathJax}
+% \end{macrocode}
+%
+% \iffalse
+%</hhtensor>
+% \fi
+%
+%
+%
+% \iffalse
%<*hypbmsec>
% \fi
%
@@ -59418,7 +60006,7 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
%
% The print version does not seem to honor \env{longtable*} from the
% \trouble[table numbering]{ltxtable=\pkg{ltxtable}>numbering}
-% \trouble{table>numbering}
+% \trouble{table>numbering>ltextable=\pkg{ltxtable}}
% \pkg{caption} package, while \pkg{lwarp} does.
%
% \changes{v0.44}{2017/11/15}{\pkg{ltxtable}: Added.}
@@ -60410,6 +60998,46 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
%
%
% \iffalse
+%<*mathalpha>
+% \fi
+%
+% \part{lwarp-mathalpha.sty}
+%
+% \section{mathalpha}
+%
+% \credits{Michael Sharpe}
+%
+% \DescribePackage{mathalpha}
+% \pkg{mathalpha} is used as-is for \SVG\ math, and is
+% emulated for \brand{MathJax}.
+%
+% The \brand{MathJax} emulation ignores all package options,
+% \trouble[limitations]{mathalpha=\pkg{mathalpha}}
+% and some bold fonts may not be not supported by \brand{MathJax}.
+%
+% \changes{v0.89}{2020/08/31}{\pkg{mathalpha}: Added.}
+%
+% \codehtml
+%
+% \begin{macrocode}
+\LWR@ProvidesPackagePass{mathalpha}[2019/10/05]
+
+\begin{warpMathJax}
+\CustomizeMathJax{\newcommand{\mathbbb}[1]{\boldsymbol{\mathbb{#1}}}}% not bold
+\CustomizeMathJax{\newcommand{\mathbcal}[1]{\boldsymbol{\mathcal{#1}}}}
+\CustomizeMathJax{\newcommand{\mathbfrak}[1]{\boldsymbol{\mathfrak{#1}}}}
+\CustomizeMathJax{\newcommand{\mathbscr}[1]{\boldsymbol{\mathscr{#1}}}}% not bold
+\end{warpMathJax}
+% \end{macrocode}
+%
+% \iffalse
+%</mathalpha>
+% \fi
+%
+%
+%
+%
+% \iffalse
%<*mathcomp>
% \fi
%
@@ -60450,6 +61078,96 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
%
%
%
+%
+% \iffalse
+%<*mathdesign>
+% \fi
+%
+% \part{lwarp-mathdesign.sty}
+%
+% \section{mathdesign}
+%
+% \credits{Paul Pichaureau}
+%
+% \DescribePackage{mathdesign}
+% \pkg{mathdesign} is used as-is for \SVG\ math, and is
+% emulated for \brand{MathJax}.
+%
+% The \brand{MathJax} emulation ignores all package options.
+% \trouble[limitations]{mathdesign=\pkg{mathdesign}}
+% The explicit macros for upright and italic greek letters do work correctly,
+% although the user may wish to swap the definitions for
+% epsilon and phi.
+% \SVG\ math should appear the same as the printed output.
+%
+% \changes{v0.89}{2020/08/08}{\pkg{mathdesign}: Added.}
+%
+% \codehtml
+%
+% \begin{macrocode}
+\LWR@origRequirePackage{lwarp-common-mathjax-letters}
+\LWR@origRequirePackage{lwarp-common-mathjax-overlaysymbols}
+
+\LWR@ProvidesPackagePass{mathdesign}[2013/08/29]
+% \end{macrocode}
+%
+% For \brand{MathJax}:
+% \begin{macrocode}
+\begin{warpMathJax}
+\LWR@infoprocessingmathjax{mathdesign}
+
+% upright
+\LWR@mathjax@addgreek@l@up{}{up}
+\LWR@mathjax@addgreek@u@up*{}{up}
+
+
+% italicized
+\LWR@mathjax@addgreek@l@it{}{it}
+\LWR@mathjax@addgreek@u@it*{}{it}
+
+% adapt to mathdesign inconsistency:
+\CustomizeMathJax{\let\digammaup\Digammaup}
+\CustomizeMathJax{\renewcommand{\digammait}{\mathit{\digammaup}}}
+
+% extra symbols
+\CustomizeMathJax{\newcommand{\smallin}{\unicode{x220A}}}
+\CustomizeMathJax{\newcommand{\smallowns}{\unicode{x220D}}}
+\CustomizeMathJax{\newcommand{\notsmallin}{\LWRoverlaysymbols{/}{\unicode{x220A}}}}
+\CustomizeMathJax{\newcommand{\notsmallowns}{\LWRoverlaysymbols{/}{\unicode{x220D}}}}
+\CustomizeMathJax{\newcommand{\rightangle}{\unicode{x221F}}}
+
+% integrals
+\CustomizeMathJax{\newcommand{\intclockwise}{\unicode{x2231}}}
+\CustomizeMathJax{\newcommand{\ointclockwise}{\unicode{x2232}}}
+\CustomizeMathJax{\newcommand{\ointctrclockwise}{\unicode{x2233}}}
+\CustomizeMathJax{\newcommand{\oiint}{\unicode{x222F}}}
+\CustomizeMathJax{\newcommand{\oiiint}{\unicode{x2230}}}
+
+% math and text mode
+\CustomizeMathJax{\newcommand{\ddag}{\unicode{x2021}}}
+\CustomizeMathJax{\newcommand{\P}{\unicode{x00B6}}}
+\CustomizeMathJax{\newcommand{\copyright}{\unicode{x00A9}}}
+\CustomizeMathJax{\newcommand{\dag}{\unicode{x2020}}}
+\CustomizeMathJax{\newcommand{\pounds}{\unicode{x00A3}}}
+
+% extra symbols
+\CustomizeMathJax{\newcommand{\iddots}{\unicode{x22F0}}}
+\CustomizeMathJax{\newcommand{\utimes}{\overline{\times}}}
+\CustomizeMathJax{\newcommand{\dtimes}{\underline{\times}}}
+\CustomizeMathJax{\newcommand{\udtimes}{\overline{\underline{\times}}}}
+\CustomizeMathJax{\newcommand{\leftwave}{\left\{}}
+\CustomizeMathJax{\newcommand{\rightwave}{\right\}}}
+
+\end{warpMathJax}
+% \end{macrocode}
+%
+% \iffalse
+%</mathdesign>
+% \fi
+%
+%
+%
+%
% \iffalse
%<*mathdots>
% \fi
@@ -60528,6 +61246,96 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
%
%
% \iffalse
+%<*mathpazo>
+% \fi
+%
+% \part{lwarp-mathpazo.sty}
+%
+% \section{mathpazo}
+%
+% \credits{Walter Schmidt}
+%
+% \DescribePackage{mathpazo}
+% \pkg{mathpazo} is used as-is for \SVG\ math, and is
+% emulated for \brand{MathJax}.
+%
+% The \brand{MathJax} emulation ignores all package options.
+% \trouble[limitations]{mathpazo=\pkg{mathpazo}}
+% The explicit macros for upright greek letters do work correctly.
+% \SVG\ math should appear the same as the printed output.
+%
+% \changes{v0.89}{2020/08/10}{\pkg{mathpazo}: Added.}
+%
+% \codehtml
+%
+% \begin{macrocode}
+\LWR@origRequirePackage{lwarp-common-mathjax-letters}
+
+\LWR@ProvidesPackagePass{mathpazo}[2020/03/25]
+% \end{macrocode}
+%
+% For \brand{MathJax}:
+% \begin{macrocode}
+\begin{warpMathJax}
+\LWR@infoprocessingmathjax{mathpazo}
+
+\LWR@mathjax@addgreek@u@up*{up}{}
+
+\CustomizeMathJax{\newcommand{\mathbold}[1]{\boldsymbol{#1}}}
+\end{warpMathJax}
+% \end{macrocode}
+%
+% \iffalse
+%</mathpazo>
+% \fi
+%
+%
+%
+% \iffalse
+%<*mathptmx>
+% \fi
+%
+% \part{lwarp-mathptmx.sty}
+%
+% \section{mathptmx}
+%
+% \credits{Walter Schmidt}
+%
+% \DescribePackage{mathptmx}
+% \pkg{mathptmx} is used as-is for \SVG\ math, and is
+% emulated for \brand{MathJax}.
+%
+% The \brand{MathJax} emulation ignores all package options.
+% \trouble[limitations]{mathptmx=\pkg{mathptmx}}
+% The explicit macros for upright greek letters do work correctly.
+% \SVG\ math should appear the same as the printed output.
+%
+% \changes{v0.89}{2020/08/10}{\pkg{mathptmx}: Added.}
+%
+% \codehtml
+%
+% \begin{macrocode}
+\LWR@origRequirePackage{lwarp-common-mathjax-letters}
+
+\LWR@ProvidesPackagePass{mathptmx}[2020/03/25]
+% \end{macrocode}
+%
+% For \brand{MathJax}:
+% \begin{macrocode}
+\begin{warpMathJax}
+\LWR@infoprocessingmathjax{mathptmx}
+
+\LWR@mathjax@addgreek@u@up*{up}{}
+\end{warpMathJax}
+% \end{macrocode}
+%
+% \iffalse
+%</mathptmx>
+% \fi
+%
+%
+%
+% \iffalse
%<*mathtools>
% \fi
%
@@ -60610,7 +61418,16 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
\CustomizeMathJax{\newcommand{\crampedclap}[2][]{{#1#2}}}
\CustomizeMathJax{\newenvironment{crampedsubarray}[1]{}{}}
\CustomizeMathJax{\newcommand{\crampedsubstack}{}}
-\CustomizeMathJax{\newcommand{\smashoperator}[2][]{#2}}
+% \end{macrocode}
+% \changes{v0.89}{2020/08/21}{\pkg{mathtools}: Minor improvements.}
+% \begin{macrocode}
+\CustomizeMathJax{\newcommand{\smashoperator}[2][]{#2\limits}}
+% \end{macrocode}
+% \changes{v0.89}{2020/08/21}{\pkg{mathtools}: Added \cs{adjustlimits}.}
+% \begin{macrocode}
+\CustomizeMathJax{\newcommand{\adjustlimits}{}}
+% \end{macrocode}
+% \begin{macrocode}
\CustomizeMathJax{\newcommand{\SwapAboveDisplaySkip}{}}
\CustomizeMathJax{\require{extpfeil}}
@@ -60816,8 +61633,11 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
\CustomizeMathJax{\newcommand\lparen{(}}
\CustomizeMathJax{\newcommand\rparen{)}}
-\CustomizeMathJax{\newcommand{\vcentcolon}{:}}
\CustomizeMathJax{\newcommand{\ordinarycolon}{:}}
+% \end{macrocode}
+% \changes{v0.89}{2020/08/21}{\pkg{mathtools}: Minor improvements.}
+% \begin{macrocode}
+\CustomizeMathJax{\newcommand{\vcentcolon}{\mathrel{\mathop\ordinarycolon}}}
\CustomizeMathJax{\newcommand\dblcolon{\vcentcolon\vcentcolon}}
\CustomizeMathJax{\newcommand\coloneqq{\vcentcolon=}}
@@ -60835,9 +61655,12 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
\CustomizeMathJax{\newcommand\colonsim{\vcentcolon\sim}}
\CustomizeMathJax{\newcommand\Colonsim{\dblcolon\sim}}
-\CustomizeMathJax{\newcommand{\nuparrow}{\cancel{\uparrow}}}
-\CustomizeMathJax{\newcommand{\ndownarrow}{\cancel{\downarrow}}}
-\CustomizeMathJax{\newcommand{\bigtimes}{{\Large\times}}}
+% \end{macrocode}
+% \changes{v0.89}{2020/08/21}{\pkg{mathtools}: Minor improvements.}
+% \begin{macrocode}
+\CustomizeMathJax{\newcommand{\nuparrow}{\mathrel{\cancel{\uparrow}}}}
+\CustomizeMathJax{\newcommand{\ndownarrow}{\mathrel{\cancel{\downarrow}}}}
+\CustomizeMathJax{\newcommand{\bigtimes}{\mathop{\Large\times}\limits}}
\CustomizeMathJax{\newcommand{\prescript}[3]{{}^{#1}_{#2}#3}}
@@ -62199,6 +63022,7 @@ background:
% \cs{mathset} may be set with \cs{CustomizeMathJax} in the preamble.
%
% \changes{v0.80}{2020/02/14}{\pkg{mismath}: Added.}
+% \changes{v0.89}{2020/09/02}{\pkg{mismath}: Improved math operators.}
%
% \codehtml
%
@@ -62258,48 +63082,48 @@ background:
\CustomizeMathJax{\newcommand{\V}{\operatorname{\probastyle{V}}}}
\CustomizeMathJax{\newcommand{\Par}{\unicode{x00B6}}}
-\CustomizeMathJax{\newcommand{\adj}{\mathrm{adj}}}
-\CustomizeMathJax{\newcommand{\Aut}{\mathrm{Aut}}}
-\CustomizeMathJax{\newcommand{\Conv}{\mathrm{Conv}}}
-\CustomizeMathJax{\newcommand{\cov}{\mathrm{cov}}}
-\CustomizeMathJax{\newcommand{\Cov}{\mathrm{Cov}}}
-\CustomizeMathJax{\newcommand{curl}{\operatorname{\vect{\mathrm{curl}}}}}
-\CustomizeMathJax{\newcommand{\divg}{\mathrm{div}}}
-\CustomizeMathJax{\newcommand{\End}{\mathrm{End}}}
-
-\CustomizeMathJax{\newcommand{\erf}{\mathrm{erf}}}
-\CustomizeMathJax{\newcommand{grad}{\operatorname{\vect{\mathrm{grad}}}}}
-\CustomizeMathJax{\newcommand{\id}{\mathrm{id}}}
-\CustomizeMathJax{\newcommand{\Id}{\mathrm{Id}}}
-\CustomizeMathJax{\newcommand{\im}{\mathrm{im}}}
+\CustomizeMathJax{\DeclareMathOperator{\adj}{adj}}
+\CustomizeMathJax{\DeclareMathOperator{\Aut}{Aut}}
+\CustomizeMathJax{\DeclareMathOperator{\Conv}{Conv}}
+\CustomizeMathJax{\DeclareMathOperator{\cov}{cov}}
+\CustomizeMathJax{\DeclareMathOperator{\Cov}{Cov}}
+\CustomizeMathJax{\newcommand{\curl}{\operatorname{\vect{\mathrm{curl}}}}}
+\CustomizeMathJax{\DeclareMathOperator{\divg}{div}}
+\CustomizeMathJax{\DeclareMathOperator{\End}{End}}
+
+\CustomizeMathJax{\DeclareMathOperator{\erf}{erf}}
+\CustomizeMathJax{\newcommand{\grad}{\operatorname{\vect{\mathrm{grad}}}}}
+\CustomizeMathJax{\DeclareMathOperator{\id}{id}}
+\CustomizeMathJax{\DeclareMathOperator{\Id}{Id}}
+\CustomizeMathJax{\DeclareMathOperator{\im}{im}}
\CustomizeMathJax{\let\oldIm\Im}
\CustomizeMathJax{\renewcommand{\Im}{\operatorname{Im}}}
-\CustomizeMathJax{\newcommand{\lb}{\mathrm{lb}}}
-\CustomizeMathJax{\newcommand{\lcm}{\mathrm{lcm}}}
+\CustomizeMathJax{\DeclareMathOperator{\lb}{lb}}
+\CustomizeMathJax{\DeclareMathOperator{\lcm}{lcm}}
-\CustomizeMathJax{\newcommand{\rank}{\mathrm{rank}}}
+\CustomizeMathJax{\DeclareMathOperator{\rank}{rank}}
\CustomizeMathJax{\let\oldRe\Re}
\CustomizeMathJax{\renewcommand{\Re}{\operatorname{Re}}}
-\CustomizeMathJax{\newcommand{rot}{\operatorname{\vect{\mathrm{rot}}}}}
-\CustomizeMathJax{\newcommand{\sgn}{\mathrm{sgn}}}
-\CustomizeMathJax{\newcommand{\spa}{\mathrm{span}}}
-\CustomizeMathJax{\newcommand{\tr}{\mathrm{tr}}}
-\CustomizeMathJax{\newcommand{\Var}{\mathrm{Var}}}
-\CustomizeMathJax{\newcommand{\Zu}{\mathrm{Z}}}
-
-\CustomizeMathJax{\newcommand{\arccot}{\mathrm{arccot}}}
-\CustomizeMathJax{\newcommand{\sech}{\mathrm{sech}}}
-\CustomizeMathJax{\newcommand{\csch}{\mathrm{csch}}}
-\CustomizeMathJax{\newcommand{\arsinh}{\mathrm{arsinh}}}
-\CustomizeMathJax{\newcommand{\arcosh}{\mathrm{arcosh}}}
-\CustomizeMathJax{\newcommand{\artanh}{\mathrm{artanh}}}
-\CustomizeMathJax{\newcommand{\arcoth}{\mathrm{arcoth}}}
-\CustomizeMathJax{\newcommand{\arsech}{\mathrm{arsech}}}
-\CustomizeMathJax{\newcommand{\arcsch}{\mathrm{arcsch}}}
-
-\CustomizeMathJax{\newcommand{\bigO}{\mathcal{O}}}
-\CustomizeMathJax{\newcommand{\bigo}{\mathrm{O}}}
-\CustomizeMathJax{\newcommand{\lito}{\mathrm{o}}}
+\CustomizeMathJax{\newcommand{\rot}{\operatorname{\vect{\mathrm{rot}}}}}
+\CustomizeMathJax{\DeclareMathOperator{\sgn}{sgn}}
+\CustomizeMathJax{\DeclareMathOperator{\spa}{span}}
+\CustomizeMathJax{\DeclareMathOperator{\tr}{tr}}
+\CustomizeMathJax{\DeclareMathOperator{\Var}{Var}}
+\CustomizeMathJax{\DeclareMathOperator{\Zu}{Z}}
+
+\CustomizeMathJax{\DeclareMathOperator{\arccot}{arccot}}
+\CustomizeMathJax{\DeclareMathOperator{\sech}{sech}}
+\CustomizeMathJax{\DeclareMathOperator{\csch}{csch}}
+\CustomizeMathJax{\DeclareMathOperator{\arsinh}{arsinh}}
+\CustomizeMathJax{\DeclareMathOperator{\arcosh}{arcosh}}
+\CustomizeMathJax{\DeclareMathOperator{\artanh}{artanh}}
+\CustomizeMathJax{\DeclareMathOperator{\arcoth}{arcoth}}
+\CustomizeMathJax{\DeclareMathOperator{\arsech}{arsech}}
+\CustomizeMathJax{\DeclareMathOperator{\arcsch}{arcsch}}
+
+\CustomizeMathJax{\DeclareMathOperator{\bigO}{\mathcal{O}}}
+\CustomizeMathJax{\DeclareMathOperator{\bigo}{O}}
+\CustomizeMathJax{\DeclareMathOperator{\lito}{o}}
\CustomizeMathJax{\newcommand{\R}{\mathset{R}}}
\CustomizeMathJax{\newcommand{\C}{\mathset{C}}}
@@ -62383,6 +63207,41 @@ background:
%
%
%
+% \iffalse
+%<*mleftright>
+% \fi
+%
+% \part{lwarp-mleftright.sty}
+%
+% \section{mleftright}
+%
+% \credits{Heiko Oberdiek}
+%
+% \DescribePackage{mleftright}
+% \pkg{mleftright} is used as-is, and is emulated for \brand{MathJax}.
+%
+% \changes{v0.88}{2020/07/22}{\pkg{mleftright}: Added.}
+%
+% \codehtml
+%
+% \begin{macrocode}
+\LWR@ProvidesPackagePass{mleftright}[2019/12/03]
+% \end{macrocode}
+%
+% \begin{macrocode}
+\begin{warpMathJax}
+\CustomizeMathJax{\newcommand{\mleft}{\left}}
+\CustomizeMathJax{\newcommand{\mright}{\right}}
+\CustomizeMathJax{\newcommand{\mleftright}{}}
+\CustomizeMathJax{\newcommand{\mleftrightrestore}{}}
+\end{warpMathJax}
+% \end{macrocode}
+%
+% \iffalse
+%</mleftright>
+% \fi
+%
+%
%
% \iffalse
%<*morefloats>
@@ -63781,6 +64640,123 @@ do not attempt to patch lwarp's version of `nameref'.)\MessageBreak
%
%
%
+% \iffalse
+%<*newpxmath>
+% \fi
+%
+% \part{lwarp-newpxmath.sty}
+%
+% \section{newpxmath}
+%
+% \credits{Michael Sharpe}
+%
+% \DescribePackage{newpxmath}
+% \pkg{newpxmath} is used as-is for \SVG\ math, and is
+% emulated for \brand{MathJax}.
+%
+% The \brand{MathJax} emulation ignores all package options.
+% \trouble[limitations]{newpxmath=\pkg{newpxmath}}
+% The explicit macros for upright and italic Greek do work correctly.
+% \SVG\ math should appear the same as the printed output.
+%
+% \changes{v0.89}{2020/08/31}{\pkg{newpxmath}: Added.}
+%
+% \codehtml
+%
+% The \brand{MathJax} code from \pkg{newtxmath} is used:
+% \begin{macrocode}
+\LWR@ProvidesPackagePass{newpxmath}[2020/01/09]
+
+\LWR@infoprocessingmathjax{newpxmath}
+
+\LWR@origRequirePackage{lwarp-common-mathjax-newpxtxmath}
+% \end{macrocode}
+%
+% \iffalse
+%</newpxmath>
+% \fi
+%
+%
+%
+% \iffalse
+%<*newtxmath>
+% \fi
+%
+% \part{lwarp-newtxmath.sty}
+%
+% \section{newtxmath}
+%
+% \credits{Michael Sharpe}
+%
+% \DescribePackage{newtxmath}
+% \pkg{newtxmath} is used as-is for \SVG\ math, and is
+% emulated for \brand{MathJax}.
+%
+% The \brand{MathJax} emulation ignores all package options,
+% \trouble[limitations]{newtxmath=\pkg{newtxmath}}
+% except that bold italic Latin letters are not defined for \brand{MathJax} if
+% the option is not selected.
+%
+% The explicit macros for upright and italic Greek and bold italic Latin letters
+% do work correctly.
+% \SVG\ math should appear the same as the printed output.
+%
+% \changes{v0.89}{2020/08/31}{\pkg{newtxmath}: Added.}
+%
+% \codehtml
+%
+% \begin{macrocode}
+\LWR@ProvidesPackagePass{newtxmath}[2020/08/04]
+
+\LWR@infoprocessingmathjax{newtxmath}
+
+\LWR@origRequirePackage{lwarp-common-mathjax-newpxtxmath}
+% \end{macrocode}
+%
+% \iffalse
+%</newtxmath>
+% \fi
+%
+%
+%
+%
+% \iffalse
+%<*newtxsf>
+% \fi
+%
+% \part{lwarp-newtxsf.sty}
+%
+% \section{newtxsf}
+%
+% \credits{Michael Sharpe}
+%
+% \DescribePackage{newtxsf}
+% \pkg{newtxsf} is used as-is for \SVG\ math, and is
+% emulated for \brand{MathJax}.
+%
+% The \brand{MathJax} emulation ignores all package options.
+% \trouble[limitations]{newtxsf=\pkg{newtxsf}}
+% The explicit macros for upright and italic Greek and bold italic Latin letters
+% do work correctly.
+% \SVG\ math should appear the same as the printed output.
+%
+% \changes{v0.89}{2020/08/31}{\pkg{newtxsf}: Added.}
+%
+% \codehtml
+%
+% \begin{macrocode}
+\LWR@ProvidesPackagePass{newtxsf}[2020/05/02]
+
+\LWR@infoprocessingmathjax{newtxsf}
+
+\LWR@origRequirePackage{lwarp-common-mathjax-newpxtxmath}
+% \end{macrocode}
+%
+% \iffalse
+%</newtxsf>
+% \fi
+%
+%
%
% \iffalse
%<*nextpage>
@@ -67659,6 +68635,45 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
%
%
% \iffalse
+%<*pxfonts>
+% \fi
+%
+% \part{lwarp-pxfonts.sty}
+%
+% \section{pxfonts}
+%
+% \credits{Young Ryu}
+%
+% \DescribePackage{pxfonts}
+% \pkg{pxfonts} is used as-is for \SVG\ math, and is
+% emulated for \brand{MathJax}.
+%
+% \changes{v0.89}{2020/08/10}{\pkg{pxfonts}: Added.}
+%
+% \codehtml
+%
+% \begin{macrocode}
+\LWR@origRequirePackage{lwarp-common-mathjax-letters}
+
+\LWR@ProvidesPackagePass{pxfonts}[2008/01/22]
+% \end{macrocode}
+%
+% For \brand{MathJax}:
+% \begin{macrocode}
+\begin{warpMathJax}
+\LWR@infoprocessingmathjax{pxfonts}
+
+\LWR@mathjax@addgreek@l@up{}{up}
+\end{warpMathJax}
+% \end{macrocode}
+%
+% \iffalse
+%</pxfonts>
+% \fi
+%
+%
+%
+% \iffalse
%<*pxftnright>
% \fi
%
@@ -69903,6 +70918,78 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
%
%
% \iffalse
+%<*shuffle>
+% \fi
+%
+% \part{lwarp-shuffle.sty}
+%
+% \section{shuffle}
+%
+% \credits{Julian Gilbey and Antoine Lejay}
+%
+% \DescribePackage{shuffle}
+% \pkg{shuffle} is emulated for \SVG\ math, and
+% also emulated for \brand{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
+% \cs{cshuffle} a \cs{bar} is added.
+%
+% \changes{v0.89}{2020/07/26}{\pkg{shuffle}: Added.}
+%
+% \codehtml
+%
+% \begin{macrocode}
+\LWR@ProvidesPackageDrop{shuffle}[2008/10/27]
+% \end{macrocode}
+%
+% \begin{macrocode}
+\begin{warpHTML}
+\newcommand*{\LWR@shuffle@start}{%
+ \hspace*{.2em}
+ \begin{picture}(.75,0.65)
+ \setlength{\unitlength}{1em}
+ \put(0,0){\line(1,0){.75}}
+ \put(0,0){\line(0,1){.5}}
+ \put(.375,0){\line(0,1){.5}}
+ \put(.75,0){\line(0,1){.5}}
+}
+
+\newcommand*{\LWR@shuffle@finish}{%
+ \end{picture}
+ \hspace*{.75em}
+ \hspace*{.2em}
+}
+
+\newcommand*{\shuffle}{%
+ \LWR@shuffle@start%
+ \LWR@shuffle@finish%
+}
+
+\newcommand*{\cshuffle}{%
+ \LWR@shuffle@start%
+ \put(.05,.65){\line(1,0){.65}}%
+ \LWR@shuffle@finish%
+}
+\end{warpHTML}
+
+\begin{warpMathJax}
+\CustomizeMathJax{\newcommand{\shuffle}{\unicode{0x29E2}}}
+\CustomizeMathJax{\newcommand{\cshuffle}{\bar{\unicode{0x29E2}}}}
+\end{warpMathJax}
+% \end{macrocode}
+%
+% \iffalse
+%</shuffle>
+% \fi
+%
+%
+%
+%
+% \iffalse
%<*sidecap>
% \fi
@@ -70392,7 +71479,7 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
\CustomizeMathJax{\newcommand{\barn}{\mathrm{b}}}
\CustomizeMathJax{\newcommand{\bbar}{\mathrm{bar}}}
\CustomizeMathJax{\newcommand{\gal}{\mathrm{Gal}}}
-\CustomizeMathJax{\newcommand{\angstrom}{\mathrm{\unicode{x00C5}}}}
+\CustomizeMathJax{\newcommand{\angstrom}{\mathrm{\unicode{x212B}}}}
\CustomizeMathJax{\newcommand{\rperminute}{\mathrm{r}\per\minute}}
\CustomizeMathJax{\newcommand{\rpersecond}{\mathrm{r}\per\second}}
\CustomizeMathJax{\newcommand{\squaremetre}{\power{\metre}{2}}}
@@ -70878,6 +71965,12 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
% \begin{macrocode}
\begin{warpMathJax}
\LWR@infoprocessingmathjax{siunitx}
+% \end{macrocode}
+%
+% \changes{v0.89}{2020/07/23}{\pkg{siunitx}: Fix: \brand{MathJax} for \cs{tothe}, \cs{raiseto}.}
+% \begin{macrocode}
+\CustomizeMathJax{\newcommand{\tothe}[1]{^{#1}}}
+\CustomizeMathJax{\newcommand{\raiseto}[2]{{#2}^{#1}}}
\CustomizeMathJax{\newcommand{\ang}[2][]{(\mathrm{#2})\degree}}
\CustomizeMathJax{\newcommand{\num}[2][]{\mathrm{#2}}}
@@ -70886,11 +71979,14 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
% \SI[opt]{num}[preunit]{unit}
\CustomizeMathJax{\newcommand{\LWRSI}[2][]{\mathrm{#1\LWRSInumber\,#2}}}
\CustomizeMathJax{\newcommand{\SI}[2][]{\def\LWRSInumber{#2}\LWRSI}}
+% \end{macrocode}
%
+% \changes{v0.89}{2020/08/02}{\pkg{siunitx}: Unicode for endash.}
+% \begin{macrocode}
\CustomizeMathJax{\newcommand{\numlist}[2][]{\mathrm{#2}}}
-\CustomizeMathJax{\newcommand{\numrange}[3][]{\mathrm{#2~-- #3}}}
+\CustomizeMathJax{\newcommand{\numrange}[3][]{\mathrm{#2\,\unicode{x2013}\,#3}}}
\CustomizeMathJax{\newcommand{\SIlist}[3][]{\mathrm{#2\,#3}}}
-\CustomizeMathJax{\newcommand{\SIrange}[4][]{\mathrm{#2\,#4~-- #3\,#4}}}
+\CustomizeMathJax{\newcommand{\SIrange}[4][]{\mathrm{#2\,#4\,\unicode{x2013}\,#3\,#4}}}
\CustomizeMathJax{\newcommand{\tablenum}[2][]{\mathrm{#2}}}
%
\CustomizeMathJax{\newcommand{\ampere}{\mathrm{A}}}
@@ -70942,8 +72038,8 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
\CustomizeMathJax{\newcommand{\electronvolt}{\mathrm{eV}}}
\CustomizeMathJax{\newcommand{\elementarycharge}{\mathit{e}}}
\CustomizeMathJax{\newcommand{\hartree}{\mathit{E}_{\mathrm{h}}}}
-\CustomizeMathJax{\newcommand{\planckbar}{\mathit{\unicode{x0127}}}}
-\CustomizeMathJax{\newcommand{\angstrom}{\mathrm{\unicode{x00C5}}}}
+\CustomizeMathJax{\newcommand{\planckbar}{\mathit{\unicode{x210F}}}}
+\CustomizeMathJax{\newcommand{\angstrom}{\mathrm{\unicode{x212B}}}}
\CustomizeMathJax{\let\LWRorigbar\bar}
\CustomizeMathJax{\newcommand{\bar}{\mathrm{bar}}}
\CustomizeMathJax{\newcommand{\barn}{\mathrm{b}}}
@@ -72104,10 +73200,14 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
% is emulated for \brand{MathJax}.
%
% \changes{v0.81}{2020/02/28}{\pkg{statmath}: Added.}
+% \changes{v0.89}{2020/09/01}{\pkg{statmath}: Fixed \optn{abcbm},
+% uses \pkg{lwarp-common-mathjax-letters}.}
%
% \codehtml
%
% \begin{macrocode}
+\LWR@origRequirePackage{lwarp-common-mathjax-letters}
+
\LWR@ProvidesPackagePass{statmath}[2018/03/08]
% \end{macrocode}
%
@@ -72115,8 +73215,12 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
\begin{warpMathJax}
\LWR@infoprocessingmathjax{statmath}
-\CustomizeMathJax{\let\abcbf\mathbf}
+\ifdefequal{\abcbf}{\mathbf}
+ {\CustomizeMathJax{\newcommand{\abcbf}[1]{\mathbf{#1}}}}
+ {\CustomizeMathJax{\newcommand{\abcbf}[1]{\boldsymbol{#1}}}}
+
\CustomizeMathJax{\newcommand{\greekbf}[1]{\boldsymbol{#1}}}
+
\CustomizeMathJax{\newcommand{\bfA}{\abcbf A}}
\CustomizeMathJax{\newcommand{\bfB}{\abcbf B}}
\CustomizeMathJax{\newcommand{\bfC}{\abcbf C}}
@@ -72169,47 +73273,12 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
\CustomizeMathJax{\newcommand{\bfx}{\abcbf x}}
\CustomizeMathJax{\newcommand{\bfy}{\abcbf y}}
\CustomizeMathJax{\newcommand{\bfz}{\abcbf z}}
-\CustomizeMathJax{\newcommand{\bfalpha}{\greekbf \alpha}}
-\CustomizeMathJax{\newcommand{\bfbeta}{\greekbf \beta}}
-\CustomizeMathJax{\newcommand{\bfdelta}{\greekbf \delta}}
-\CustomizeMathJax{\newcommand{\bfepsilon}{\greekbf \epsilon}}
-\CustomizeMathJax{\newcommand{\bfvarepsilon}{\greekbf \varepsilon}}
-\CustomizeMathJax{\newcommand{\bfzeta}{\greekbf \zeta}}
-\CustomizeMathJax{\newcommand{\bfeta}{\greekbf \eta}}
-\CustomizeMathJax{\newcommand{\bftheta}{\greekbf \theta}}
-\CustomizeMathJax{\newcommand{\bfvartheta}{\greekbf \vartheta}}
-\CustomizeMathJax{\newcommand{\bfgamma}{\greekbf \gamma}}
-\CustomizeMathJax{\newcommand{\bfkappa}{\greekbf \kappa}}
-\CustomizeMathJax{\newcommand{\bflambda}{\greekbf \lambda}}
-\CustomizeMathJax{\newcommand{\bfmu}{\greekbf \mu}}
-\CustomizeMathJax{\newcommand{\bfnu}{\greekbf \nu}}
-\CustomizeMathJax{\newcommand{\bfxi}{\greekbf \xi}}
-\CustomizeMathJax{\newcommand{\bfpi}{\greekbf \pi}}
-\CustomizeMathJax{\newcommand{\bfvarpi}{\greekbf \varpi}}
-\CustomizeMathJax{\newcommand{\bfrho}{\greekbf \rho}}
-\CustomizeMathJax{\newcommand{\bfvarrho}{\greekbf \varrho}}
-\CustomizeMathJax{\newcommand{\bfsigma}{\greekbf \sigma}}
-\CustomizeMathJax{\newcommand{\bfvarsigma}{\greekbf \varsigma}}
-\CustomizeMathJax{\newcommand{\bftau}{\greekbf \tau}}
-\CustomizeMathJax{\newcommand{\bfupsilon}{\greekbf \upsilon}}
-\CustomizeMathJax{\newcommand{\bfphi}{\greekbf \phi}}
-\CustomizeMathJax{\newcommand{\bfvarphi}{\greekbf \varphi}}
-\CustomizeMathJax{\newcommand{\bfchi}{\greekbf \chi}}
-\CustomizeMathJax{\newcommand{\bfpsi}{\greekbf \psi}}
-\CustomizeMathJax{\newcommand{\bfomega}{\greekbf \omega}}
-\CustomizeMathJax{\newcommand{\bfiota}{\greekbf \iota}}
-\CustomizeMathJax{\newcommand{\bfGamma}{\greekbf \Gamma}}
-\CustomizeMathJax{\newcommand{\bfDelta}{\greekbf \Delta}}
-\CustomizeMathJax{\newcommand{\bfTheta}{\greekbf \Theta}}
-\CustomizeMathJax{\newcommand{\bfLambda}{\greekbf \Lambda}}
-\CustomizeMathJax{\newcommand{\bfXi}{\greekbf \Xi}}
-\CustomizeMathJax{\newcommand{\bfPi}{\greekbf \Pi}}
-\CustomizeMathJax{\newcommand{\bfSigma}{\greekbf \Sigma}}
-\CustomizeMathJax{\newcommand{\bfUpsilon}{\greekbf \Upsilon}}
-\CustomizeMathJax{\newcommand{\bfPhi}{\greekbf \Phi}}
-\CustomizeMathJax{\newcommand{\bfPsi}{\greekbf \Psi}}
-\CustomizeMathJax{\newcommand{\bfOmega}{\greekbf \Omega}}
+
+\LWR@mathjax@addgreek@l@bfit{bf}{}% Greek lowercase bold face italic
+\LWR@mathjax@addgreek@u@bfup*{bf}{}% Greek uppercase bold face upright, cap macros.
+
\CustomizeMathJax{\newcommand{\bfzero}{\greekbf 0}}
+
\CustomizeMathJax{\DeclareMathOperator{\cov}{Cov}}
\CustomizeMathJax{\DeclareMathOperator{\E}{E}}
\CustomizeMathJax{\DeclareMathOperator{\V}{V}}
@@ -74533,12 +75602,13 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
%
% \section{thm-listof}
%
-% \credits{Ulrich M. Schwarz}
+% \credits{Ulrich M. Schwarz, Yukai Chou}
%
% \DescribePackage{thm-listof}
% \pkg{thm-listof} is part of \pkg{thmtools}, and is patched for use by \pkg{lwarp}.
%
% \changes{v0.88}{2020/07/03}{\pkg{thm-listof}: Added.}
+% \changes{v0.89}{2020/09/02}{\pkg{thm-listof}: Updated to v0.72.}
%
% \codehtml
%
@@ -74551,29 +75621,35 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
%
% Other \pkg{thm-*} package may be loaded by \pkg{thm-listof}.
% \begin{macrocode}
-\xpatchcmd{\listoftheorems}
- {%
- \@xa\protected@edef\csname l@\thmt@envname\endcsname{%
- \@nx\@dottedtocline{1}{1.5em}{\@nx\thmt@listnumwidth}%
- }%
- }
- {%
- \csdef{l@\thmt@envname}##1##2{\hypertocfloat{1}{figure}{lof}{##1}{##2}}%
- }
- {}
- {\LWR@patcherror{thm-listof}{listoftheorems}}
+\@ifpackagelater{thm-listof}{2020/08/01}{% v0.72
+ \def\thmtlo@newentry{%
+ \csdef{l@\thmt@envname}##1##2{\hypertocfloat{1}{figure}{lof}{##1}{##2}}%
+ }
+}{% earlier than v0.72
+ \xpatchcmd{\listoftheorems}
+ {%
+ \@xa\protected@edef\csname l@\thmt@envname\endcsname{%
+ \@nx\@dottedtocline{1}{1.5em}{\@nx\thmt@listnumwidth}%
+ }%
+ }
+ {%
+ \csdef{l@\thmt@envname}##1##2{\hypertocfloat{1}{figure}{lof}{##1}{##2}}%
+ }
+ {}
+ {\LWR@patcherror{thm-listof}{listoftheorems}}
-\xpatchcmd{\thmt@mklistcmd}
- {%
- \@xa\protected@edef\csname l@\thmt@envname\endcsname{%
- \@nx\@dottedtocline{1}{1.5em}{\@nx\thmt@listnumwidth}%
- }%
- }
- {%
- \csdef{l@\thmt@envname}##1##2{\hypertocfloat{1}{figure}{lof}{##1}{##2}}%
- }
- {}
- {\LWR@patcherror{thm-listof}{thmt@mklistcmd}}
+ \xpatchcmd{\thmt@mklistcmd}
+ {%
+ \@xa\protected@edef\csname l@\thmt@envname\endcsname{%
+ \@nx\@dottedtocline{1}{1.5em}{\@nx\thmt@listnumwidth}%
+ }%
+ }
+ {%
+ \csdef{l@\thmt@envname}##1##2{\hypertocfloat{1}{figure}{lof}{##1}{##2}}%
+ }
+ {}
+ {\LWR@patcherror{thm-listof}{thmt@mklistcmd}}
+}
% \end{macrocode}
%
% \iffalse
@@ -74596,11 +75672,12 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
% \pkg{thm-restate} is part of \pkg{thmtools}, and is patched for use by \pkg{lwarp}.
%
% \changes{v0.88}{2020/07/03}{\pkg{thm-restate}: Added.}
+% \changes{v0.89}{2020/09/02}{\pkg{thm-restate}: Updated to v0.72, no changes needed.}
%
% \codehtml
%
% \begin{macrocode}
-\LWR@ProvidesPackagePass{thm-restate}[2019/12/22]
+\LWR@ProvidesPackagePass{thm-restate}[2020/08/01]
% \end{macrocode}
%
% \begin{macrocode}
@@ -74677,6 +75754,49 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
%
%
%
+%
+%
+% \iffalse
+%<*thmtools>
+% \fi
+%
+% \part{lwarp-thmtools.sty}
+%
+% \section{thmtools}
+%
+% \credits{Ulrich M. Schwarz}
+%
+% \DescribePackage{thmtools}
+% \pkg{thmtools} is patched for use by \pkg{lwarp}.
+%
+% Also see \pkg{thm-listof} and \pkg{thm-restate}.
+%
+% \changes{v0.89}{2020/09/02}{\pkg{thmtools}: Added.}
+%
+% \codehtml
+%
+% \begin{macrocode}
+\LWR@ProvidesPackagePass{thmtools}[2020/08/01]
+% \end{macrocode}
+%
+% The following patches either \pkg{thm-amsthm} or \pkg{thm-ntheorem}.
+% \begin{macrocode}
+\def\thmt@headstyle@margin{%
+ \InlineClass{amsthmnnumbertheorem}{\NUMBER}
+ \
+ \InlineClass{amsthmnametheorem}{\NAME}
+ \InlineClass{amsthmnotetheorem}{\NOTE}
+}
+
+\let\thmt@headstyle@swapnumber\thmt@headstyle@margin
+% \end{macrocode}
+%
+% \iffalse
+%</thmtools>
+% \fi
+%
+%
+%
% \iffalse
%<*threadcol>
% \fi
@@ -77200,6 +78320,45 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
%
%
%
+%
+% \iffalse
+%<*txfonts>
+% \fi
+%
+% \part{lwarp-txfonts.sty}
+%
+% \section{txfonts}
+%
+% \credits{Young Ryu}
+%
+% \DescribePackage{txfonts}
+% \pkg{txfonts} is used as-is for \SVG\ math, and is
+% emulated for \brand{MathJax}.
+%
+% \changes{v0.89}{2020/08/10}{\pkg{txfonts}: Added.}
+%
+% \codehtml
+%
+% \begin{macrocode}
+\LWR@origRequirePackage{lwarp-common-mathjax-letters}
+
+\LWR@ProvidesPackagePass{txfonts}[2008/01/22]
+% \end{macrocode}
+%
+% For \brand{MathJax}:
+% \begin{macrocode}
+\begin{warpMathJax}
+\LWR@infoprocessingmathjax{txfonts}
+
+\LWR@mathjax@addgreek@l@up{}{up}
+\end{warpMathJax}
+% \end{macrocode}
+%
+% \iffalse
+%</txfonts>
+% \fi
+%
+%
% \iffalse
%<*typearea>
% \fi
@@ -77743,6 +78902,49 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
%
%
%
+%
+% \iffalse
+%<*upgreek>
+% \fi
+%
+% \part{lwarp-upgreek.sty}
+%
+% \section{upgreek}
+%
+% \credits{Walter Schmidt}
+%
+% \DescribePackage{upgreek}
+% \pkg{upgreek} is used as-is for \SVG\ math, and is
+% emulated for \brand{MathJax}.
+%
+% \changes{v0.89}{2020/08/10}{\pkg{upgreek}: Added.}
+%
+% \codehtml
+%
+% \begin{macrocode}
+\LWR@origRequirePackage{lwarp-common-mathjax-letters}
+
+\LWR@ProvidesPackagePass{upgreek}[2003/02/12]
+% \end{macrocode}
+%
+% For \brand{MathJax}:
+% \begin{macrocode}
+\begin{warpMathJax}
+\LWR@infoprocessingmathjax{upgreek}
+
+\LWR@mathjax@addgreek@l@up{up}{}
+\LWR@mathjax@addgreek@u@up{Up}{}
+
+\end{warpMathJax}
+% \end{macrocode}
+%
+% \iffalse
+%</upgreek>
+% \fi
+%
+%
+%
+%
% \iffalse
%<*upref>
% \fi
@@ -77817,6 +79019,47 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
%
%
%
+%
+%
+% \iffalse
+%<*ushort>
+% \fi
+%
+% \part{lwarp-ushort.sty}
+%
+% \section{ushort}
+%
+% \credits{Martin V\"ath}
+%
+% \DescribePackage{ushort}
+% \pkg{ushort} is used as-is, and emulated for \brand{MathJax}.
+%
+% \changes{v0.88}{2020/07/23}{\pkg{ushort}: Added.}
+%
+% \codehtml
+%
+% \begin{macrocode}
+\LWR@ProvidesPackagePass{ushort}[2001/06/13]
+% \end{macrocode}
+%
+% \begin{macrocode}
+\begin{warpMathJax}
+\CustomizeMathJax{\newcommand{\ushortdline}[1]{%
+ \kern{.1em}\underline{\underline{{#1}}}\kern{.1em}%
+}}
+\CustomizeMathJax{\newcommand{\ushort}[1]{\kern{.1em}\underline{#1}\kern{.1em}}}
+\CustomizeMathJax{\newcommand{\ushortd}[1]{\ushortdline{#1}}}
+\CustomizeMathJax{\newcommand{\ushortw}[1]{\kern{.1em}\underline{#1}\kern{.1em}}}
+\CustomizeMathJax{\newcommand{\ushortdw}[1]{\ushortdline{#1}}}
+\end{warpMathJax}
+% \end{macrocode}
+%
+% \iffalse
+%</ushort>
+% \fi
+%
+%
+%
% \iffalse
%<*uspace>
% \fi
@@ -78507,7 +79750,6 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
%
% \begin{macrocode}
\begin{warpHTML}
-\makeatletter
\ifbool{mathjax}{
% For the hidden print version in the HTML:
\newcommand{\Arrow}[2][]{}
@@ -78564,7 +79806,6 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
}
\AfterEndEnvironment{DispWithArrows*}{\end{lateximage}\end{BlockClass}}
}
-\makeatother
\end{warpHTML}
\begin{warpMathJax}
@@ -82763,6 +84004,937 @@ height:\LWR@printlength{\LWR@tempheight}%
% \fi
%
%
+%
+% ^^A *common-mathjax-letters
+% ^^A *letters
+%
+% \iffalse
+%<*common-mathjax-letters>
+% \fi
+%
+% \part{lwarp-common-mathjax-letters.sty}
+%
+% \section{common-mathjax-letters}
+%
+% \DescribePackage{lwarp-common-mathjax-letters}
+% Common code used by a number of packages to generate Greek math characters
+% for \brand{MathJax}.
+%
+% \changes{v0.89}{2020/08/10}{\pkg{lwarp-common-mathjax-letters}: Added.}
+%
+% \codehtml
+%
+% \begin{macrocode}
+\ProvidesPackage{lwarp-common-mathjax-letters}[2020/08/10]
+% \end{macrocode}
+%
+%
+% \begin{noindmacro}{\LWR@mathjax@addletter}
+% * \marg{2: capitalize name?} \marg{3: prefix} \marg{4: postfix}
+% \marg{5: name} \marg{6: unicode}
+%
+% Star to italicize the result, used when the unicode character does not exist.
+% \begin{macrocode}
+\begin{warpMathJax}
+
+\NewDocumentCommand{\LWR@mathjax@addletter}{s m m m m m}{
+ \IfBooleanTF{#2}%
+ {\edef\LWR@tempone{\LWRtexttitlecase{#5}}}%
+ {\edef\LWR@tempone{#5}}%
+ \xdef\LWR@customizedMathJax{%
+ \LWR@customizedMathJax%
+ \LWRbackslash(%
+ \LWRbackslash newcommand\LWRleftbrace\LWRbackslash%
+ #3% prefix
+ \LWR@tempone%name
+ #4% postfix
+ \LWRrightbrace\LWRleftbrace%
+ }%
+ \IfBooleanTF{#1}{%
+ \xdef\LWR@customizedMathJax{%
+ \LWR@customizedMathJax%
+ \LWRbackslash mathit\LWRleftbrace%
+ \LWRbackslash unicode\LWRleftbrace x#6\LWRrightbrace%
+ \LWRrightbrace%
+ }%
+ }{%
+ \xdef\LWR@customizedMathJax{%
+ \LWR@customizedMathJax%
+ \LWRbackslash unicode\LWRleftbrace x#6\LWRrightbrace%
+ }%
+ }%
+ \xdef\LWR@customizedMathJax{%
+ \LWR@customizedMathJax%
+ \LWRrightbrace\LWRbackslash)\par%
+ }%
+}
+% \end{macrocode}
+% \end{noindmacro}
+%
+%
+% \begin{noindmacro}{\LWR@mathjax@addgreek@l@up}
+% * \marg{2: prefix} \marg{3: postfix}
+%
+% Star to capitalize the macro names.
+%
+% Adds \cs{CustomizeMathjax} expressions to define a set of macros for
+% Greek letters, lowercase upright.
+% \begin{macrocode}
+\NewDocumentCommand{\LWR@mathjax@addgreek@l@up}{s m m}{
+ \LWR@mathjax@addletter{#1}{#2}{#3}{alpha}{03B1}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{beta}{03B2}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{gamma}{03B3}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{digamma}{03DD}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{delta}{03B4}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{epsilon}{03F5}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{varepsilon}{03B5}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{zeta}{03B6}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{eta}{03B7}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{theta}{03B8}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{vartheta}{03D1}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{iota}{03B9}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{kappa}{03BA}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{varkappa}{03F0}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{lambda}{03BB}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{mu}{03BC}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{nu}{03BD}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{xi}{03BE}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{omicron}{03BF}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{pi}{03C0}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{varpi}{03D6}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{rho}{03C1}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{varrho}{03F1}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{sigma}{03C3}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{varsigma}{03C2}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{tau}{03C4}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{upsilon}{03C5}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{phi}{03D5}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{varphi}{03C6}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{chi}{03C7}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{psi}{03C8}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{omega}{03C9}
+}
+% \end{macrocode}
+% \end{noindmacro}
+%
+%
+% \begin{noindmacro}{\LWR@mathjax@addgreek@u@up}
+% * \marg{2: prefix} \marg{3: postfix}
+%
+% Star to capitalize the macro names.
+%
+% Adds \cs{CustomizeMathjax} expressions to define a set of macros for
+% Greek letters, uppercase upright.
+% \begin{macrocode}
+\NewDocumentCommand{\LWR@mathjax@addgreek@u@up}{s m m}{
+ \LWR@mathjax@addletter{#1}{#2}{#3}{alpha}{0391}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{beta}{0392}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{gamma}{0393}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{digamma}{03DC}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{delta}{0394}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{epsilon}{0395}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{zeta}{0396}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{eta}{0397}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{theta}{0398}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{vartheta}{03F4}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{iota}{0399}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{kappa}{039A}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{lambda}{039B}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{mu}{039C}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{nu}{039D}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{xi}{039E}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{omicron}{039F}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{pi}{03A0}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{varpi}{03D6}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{rho}{03A1}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{sigma}{03A3}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{tau}{03A4}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{upsilon}{03A5}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{phi}{03A6}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{chi}{03A7}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{psi}{03A8}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{omega}{03A9}
+}
+% \end{macrocode}
+% \end{noindmacro}
+%
+%
+% \begin{noindmacro}{\LWR@mathjax@addgreek@l@it}
+% * \marg{2: prefix} \marg{3: postfix}
+%
+% Star to capitalize the macro names.
+%
+% Adds \cs{CustomizeMathjax} expressions to define a set of macros for
+% Greek letters, lowercase italic.
+%
+% \begin{macrocode}
+\NewDocumentCommand{\LWR@mathjax@addgreek@l@it}{s m m}{
+ \LWR@mathjax@addletter{#1}{#2}{#3}{alpha}{1D6FC}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{beta}{1D6FD}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{gamma}{1D6FE}
+ \LWR@mathjax@addletter*{#1}{#2}{#3}{digamma}{03DD}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{delta}{1D6FF}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{epsilon}{1D716}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{varepsilon}{1D700}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{zeta}{1D701}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{eta}{1D702}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{theta}{1D703}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{vartheta}{1D717}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{iota}{1D704}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{kappa}{1D705}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{varkappa}{1D718}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{lambda}{1D706}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{mu}{1D707}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{nu}{1D708}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{xi}{1D709}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{omicron}{1D70A}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{pi}{1D70B}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{varpi}{1D71B}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{rho}{1D70C}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{varrho}{1D71A}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{sigma}{1D70E}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{varsigma}{1D70D}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{tau}{1D70F}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{upsilon}{1D710}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{phi}{1D719}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{varphi}{1D711}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{chi}{1D712}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{psi}{1D713}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{omega}{1D714}
+}
+% \end{macrocode}
+% \end{noindmacro}
+%
+%
+% \begin{noindmacro}{\LWR@mathjax@addgreek@u@it}
+% * \marg{2: prefix} \marg{3: postfix}
+%
+% Star to capitalize the macro names.
+%
+% Adds \cs{CustomizeMathjax} expressions to define a set of macros for
+% Greek letters, uppercase italic.
+% \begin{macrocode}
+\NewDocumentCommand{\LWR@mathjax@addgreek@u@it}{s m m}{
+ \LWR@mathjax@addletter{#1}{#2}{#3}{alpha}{1D6E2}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{beta}{1D6E3}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{gamma}{1D6E4}
+ \LWR@mathjax@addletter*{#1}{#2}{#3}{digamma}{03DC}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{delta}{1D6E5}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{epsilon}{1D6E6}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{zeta}{1D6E7}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{eta}{1D6E8}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{theta}{1D6E9}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{vartheta}{1D6F3}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{iota}{1D6EA}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{kappa}{1D6EB}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{lambda}{1D6EC}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{mu}{1D6ED}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{nu}{1D6EE}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{xi}{1D6EF}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{omicron}{1D6F0}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{pi}{1D6F1}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{rho}{1D6F2}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{sigma}{1D6F4}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{tau}{1D6F5}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{upsilon}{1D6F6}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{phi}{1D6F7}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{chi}{1D6F8}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{psi}{1D6F9}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{omega}{1D6FA}
+}
+% \end{macrocode}
+% \end{noindmacro}
+%
+%
+% \begin{noindmacro}{\LWR@mathjax@addgreek@l@bfit}
+% * \marg{2: prefix} \marg{3: postfix}
+%
+% Star to capitalize the macro names.
+%
+% Adds \cs{CustomizeMathjax} expressions to define a set of macros for
+% Greek letters, lowercase boldface italic.
+%
+% \begin{macrocode}
+\NewDocumentCommand{\LWR@mathjax@addgreek@l@bfit}{s m m}{
+ \LWR@mathjax@addletter{#1}{#2}{#3}{alpha}{1D736}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{beta}{1D737}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{gamma}{1D738}
+ \LWR@mathjax@addletter*{#1}{#2}{#3}{digamma}{03DD}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{delta}{1D739}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{epsilon}{1D750}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{varepsilon}{1D73A}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{zeta}{1D73B}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{eta}{1D73C}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{theta}{1D73D}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{vartheta}{1D751}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{iota}{1D73E}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{kappa}{1D73F}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{varkappa}{1D752}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{lambda}{1D740}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{mu}{1D741}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{nu}{1D742}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{xi}{1D743}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{omicron}{1D744}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{pi}{1D745}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{varpi}{1D755}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{rho}{1D746}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{varrho}{1D754}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{sigma}{1D748}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{varsigma}{1D747}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{tau}{1D749}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{upsilon}{1D74A}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{phi}{1D753}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{varphi}{1D74B}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{chi}{1D74C}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{psi}{1D74D}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{omega}{1D74E}
+}
+% \end{macrocode}
+% \end{noindmacro}
+%
+%
+% \begin{noindmacro}{\LWR@mathjax@addgreek@u@bfit}
+% * \marg{2: prefix} \marg{3: postfix}
+%
+% Star to capitalize the macro names.
+%
+% Adds \cs{CustomizeMathjax} expressions to define a set of macros for
+% Greek letters, uppercase boldface italic.
+% \begin{macrocode}
+\NewDocumentCommand{\LWR@mathjax@addgreek@u@bfit}{s m m}{
+ \LWR@mathjax@addletter{#1}{#2}{#3}{alpha}{1D71C}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{beta}{1D71D}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{gamma}{1D71E}
+ \LWR@mathjax@addletter*{#1}{#2}{#3}{digamma}{03DC}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{delta}{1D71F}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{epsilon}{1D720}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{zeta}{1D721}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{eta}{1D722}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{theta}{1D723}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{vartheta}{1D72D}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{iota}{1D724}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{kappa}{1D725}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{lambda}{1D726}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{mu}{1D727}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{nu}{1D728}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{xi}{1D729}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{omicron}{1D72A}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{pi}{1D72B}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{rho}{1D72C}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{sigma}{1D72E}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{tau}{1D72F}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{upsilon}{1D730}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{phi}{1D731}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{chi}{1D732}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{psi}{1D733}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{omega}{1D734}
+}
+% \end{macrocode}
+% \end{noindmacro}
+%
+%
+%
+% \begin{noindmacro}{\LWR@mathjax@addgreek@u@bfup}
+% * \marg{2: prefix} \marg{3: postfix}
+%
+% Star to capitalize the macro names.
+%
+% Adds \cs{CustomizeMathjax} expressions to define a set of macros for
+% Greek letters, uppercase boldface upright.
+% \begin{macrocode}
+\NewDocumentCommand{\LWR@mathjax@addgreek@u@bfup}{s m m}{
+ \LWR@mathjax@addletter{#1}{#2}{#3}{alpha}{1D6A8}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{beta}{1D6A9}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{gamma}{1D6AA}
+ \LWR@mathjax@addletter*{#1}{#2}{#3}{digamma}{03DC}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{delta}{1D6AB}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{epsilon}{1D6AC}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{zeta}{1D6AD}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{eta}{1D6AE}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{theta}{1D6AF}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{vartheta}{1D6B9}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{iota}{1D6B0}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{kappa}{1D6B1}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{lambda}{1D6B2}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{mu}{1D6B3}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{nu}{1D6B4}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{xi}{1D6B5}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{omicron}{1D6B6}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{pi}{1D6B7}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{rho}{1D6B8}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{sigma}{1D6BA}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{tau}{1D6BB}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{upsilon}{1D6BC}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{phi}{1D6BD}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{chi}{1D6BE}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{psi}{1D6BF}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{omega}{1D6C0}
+}
+% \end{macrocode}
+% \end{noindmacro}
+%
+%
+% \begin{noindmacro}{\LWR@mathjax@addlatin@u@bfit} \marg{prefix}
+%
+% Adds \cs{CustomizeMathjax} expressions to define a set of macros for
+% bold-face italic Latin letters, uppercase and lowercase.
+% \begin{macrocode}
+\NewDocumentCommand{\LWR@mathjax@addlatin@u@bfit}{m}{
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{A}{1D468}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{B}{1D469}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{C}{1D46A}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{D}{1D46B}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{E}{1D46C}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{F}{1D46D}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{G}{1D46E}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{H}{1D46F}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{I}{1D470}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{J}{1D471}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{K}{1D472}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{L}{1D473}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{M}{1D474}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{N}{1D475}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{O}{1D476}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{P}{1D477}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{Q}{1D478}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{R}{1D479}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{S}{1D47A}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{T}{1D47B}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{U}{1D47C}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{V}{1D47D}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{W}{1D47E}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{X}{1D47F}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{Y}{1D480}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{Z}{1D481}
+}
+% \end{macrocode}
+% \end{noindmacro}
+%
+% \begin{noindmacro}{\LWR@mathjax@addlatin@l@bfit} \marg{prefix}
+%
+% Adds \cs{CustomizeMathjax} expressions to define a set of macros for
+% bold-face italic Latin letters, uppercase and lowercase.
+% \begin{macrocode}
+\NewDocumentCommand{\LWR@mathjax@addlatin@l@bfit}{m}{
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{a}{1D482}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{b}{1D483}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{c}{1D484}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{d}{1D485}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{e}{1D486}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{f}{1D487}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{g}{1D488}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{h}{1D489}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{i}{1D48A}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{j}{1D48B}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{k}{1D48C}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{l}{1D48D}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{m}{1D48E}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{n}{1D48F}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{o}{1D490}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{p}{1D491}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{q}{1D492}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{r}{1D493}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{s}{1D494}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{t}{1D495}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{u}{1D496}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{v}{1D497}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{w}{1D498}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{x}{1D499}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{y}{1D49A}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{z}{1D49B}
+}
+% \end{macrocode}
+% \end{noindmacro}
+%
+%
+% \begin{macrocode}
+\end{warpMathJax}
+% \end{macrocode}
+
+
+% \iffalse
+%</common-mathjax-letters>
+% \fi
+%
+%
+%
+%
+% ^^A *common-mathjax-newpxtxmath
+%
+% \iffalse
+%<*common-mathjax-newpxtxmath>
+% \fi
+%
+% \part{lwarp-common-mathjax-newpxtxmath.sty}
+%
+% \section{common-mathjax-newpxtxmath}
+%
+% \credits{Michael Sharpe}
+%
+% \DescribePackage{lwarp-common-mathjax-newpxtxmath}
+% Common code used by \pkg{newpxmath}, \pkg{newtxmath}, and \pkg{newtxsf}
+% for \brand{MathJax}.
+%
+% \changes{v0.89}{2020/08/31}{\pkg{lwarp-common-mathjax-newpxtxmath}: Added.}
+%
+% \codehtml
+%
+% \begin{macrocode}
+\ProvidesPackage{lwarp-common-mathjax-newpxtxmath}[2020/08/31]
+% \end{macrocode}
+%
+% For \brand{MathJax}:
+% \begin{macrocode}
+\LWR@origRequirePackage{lwarp-common-mathjax-letters}
+\LWR@origRequirePackage{lwarp-common-mathjax-overlaysymbols}
+
+\begin{warpMathJax}
+\CustomizeMathJax{\newcommand{\fAlt}{f}}
+\CustomizeMathJax{\newcommand{\rhoAlt}{\rho}}
+
+\CustomizeMathJax{\newcommand{\imathscr}{\mathord{\mathscr{i}}}}
+\CustomizeMathJax{\newcommand{\jmathscr}{\mathord{\mathscr{j}}}}
+
+\CustomizeMathJax{\let\llbracket[}% single only
+\CustomizeMathJax{\let\rrbracket]}% single only
+\CustomizeMathJax{\let\lBrack=\llbracket}% single only
+\CustomizeMathJax{\let\rBrack=\rrbracket}% single only
+\CustomizeMathJax{\let\smlbrace\{}
+\CustomizeMathJax{\let\smrbrace\}}
+\CustomizeMathJax{\newcommand{\Perp}{\mathrel{\unicode{x02AEB}}}}
+\CustomizeMathJax{\newcommand{\nPerp}{\mathrel{\not{\!\unicode{x02AEB}}}}}
+\CustomizeMathJax{\newcommand{\lambdabar}{%
+ \mathord{\LWRoverlaysymbols{\raise{.5ex}{-}}{\lambda}}%
+}}
+\CustomizeMathJax{\newcommand{\lambdaslash}{\mathord{\unicode{x019B}}}}
+\CustomizeMathJax{\newcommand{\Zbar}{\mathord{\unicode{x01B5}}}}
+\CustomizeMathJax{\newcommand{\Angstrom}{\mathord{\unicode{x212B}}}}
+\CustomizeMathJax{\newcommand{\Euler}{\mathord{\unicode{x2107}}}}
+\CustomizeMathJax{\newcommand{\transp}{\mathord{\unicode{xFF34}}}}
+\CustomizeMathJax{\newcommand{\hermtransp}{\mathord{\unicode{xFF28}}}}
+\CustomizeMathJax{\let\htransp=\hermtransp}
+\CustomizeMathJax{\newcommand{\circledplus}{\mathbin{\unicode{x2295}}}}
+\CustomizeMathJax{\newcommand{\circledminus}{\mathbin{\unicode{x2296}}}}
+\CustomizeMathJax{\newcommand{\circledtimes}{\mathbin{\unicode{x2297}}}}
+\CustomizeMathJax{\newcommand{\circleddot}{\mathbin{\unicode{x2299}}}}
+\CustomizeMathJax{\let\overgroup\overparen}
+\CustomizeMathJax{\let\overgroupra\overrightarrow}
+\CustomizeMathJax{\let\undergroup\underparen}
+\CustomizeMathJax{\let\undergroupla\underleftarrow}
+\CustomizeMathJax{\newcommand{\widering}[1]{\stackrel{\unicode{x2218}}{\overgroup{#1}}}}
+\CustomizeMathJax{\let\widearc\overparen}
+\CustomizeMathJax{\let\wideOarc\overrightarrow}
+\CustomizeMathJax{\newcommand{\LWRvvstar}[2]{{\overrightarrow{#1}_{#2}}}}
+\CustomizeMathJax{\newcommand{\vv}{\ifstar\LWRvvstar\overrightarrow}}
+%
+\CustomizeMathJax{\let\smallintsl\smallint}
+\CustomizeMathJax{\newcommand{\smalliintsl}{\mathop{\unicode{x222C}}}}
+\CustomizeMathJax{\newcommand{\smalliiintsl}{\mathop{\unicode{x222D}}}}
+\CustomizeMathJax{\newcommand{\smalliiiintsl}{\mathop{\unicode{x2A0C}}}}
+\CustomizeMathJax{\newcommand{\smallointsl}{\mathop{\unicode{x222E}}}}
+\CustomizeMathJax{\newcommand{\smalloiintsl}{\mathop{\unicode{x222F}}}}
+\CustomizeMathJax{\newcommand{\smalloiiintsl}{\mathop{\unicode{x2230}}}}
+\CustomizeMathJax{\newcommand{\smallvarointclockwisesl}{\mathop{\unicode{x2232}}}}
+\CustomizeMathJax{\newcommand{\smallointctrclockwisesl}{\mathop{\unicode{x2233}}}}
+\CustomizeMathJax{\newcommand{\smallsumintsl}{\mathop{\unicode{x2A0B}}}}
+\CustomizeMathJax{\newcommand{\smallfintsl}{\mathop{\unicode{x2A0F}}}}
+\CustomizeMathJax{\newcommand{\smallsqintsl}{\mathop{\unicode{x2A16}}}}
+%
+\CustomizeMathJax{\let\smallintup\smallint}
+\CustomizeMathJax{\newcommand{\smalliintup}{\mathop{\unicode{x222C}}}}
+\CustomizeMathJax{\newcommand{\smalliiintup}{\mathop{\unicode{x222D}}}}
+\CustomizeMathJax{\newcommand{\smalliiiintup}{\mathop{\unicode{x2A0C}}}}
+\CustomizeMathJax{\newcommand{\smallointup}{\mathop{\unicode{x222E}}}}
+\CustomizeMathJax{\newcommand{\smalloiintup}{\mathop{\unicode{x222F}}}}
+\CustomizeMathJax{\newcommand{\smalloiiintup}{\mathop{\unicode{x2230}}}}
+\CustomizeMathJax{\newcommand{\smallvarointclockwiseup}{\mathop{\unicode{x2232}}}}
+\CustomizeMathJax{\newcommand{\smallointctrclockwiseup}{\mathop{\unicode{x2233}}}}
+\CustomizeMathJax{\newcommand{\smallsumintup}{\mathop{\unicode{x2A0B}}}}
+\CustomizeMathJax{\newcommand{\smallfintup}{\mathop{\unicode{x2A0F}}}}
+\CustomizeMathJax{\newcommand{\smallsqintup}{\mathop{\unicode{x2A16}}}}
+%
+\CustomizeMathJax{\newcommand{\iint}{\mathop{\unicode{x222C}}}}
+\CustomizeMathJax{\newcommand{\iiint}{\mathop{\unicode{x222D}}}}
+\CustomizeMathJax{\newcommand{\iiiint}{\mathop{\unicode{x2A0C}}}}
+\CustomizeMathJax{\newcommand{\oiint}{\mathop{\unicode{x222F}}}}
+\CustomizeMathJax{\newcommand{\oiiint}{\mathop{\unicode{x2230}}}}
+\CustomizeMathJax{\newcommand{\varointclockwise}{\mathop{\unicode{x2232}}}}
+\CustomizeMathJax{\newcommand{\ointctrclockwise}{\mathop{\unicode{x2233}}}}
+\CustomizeMathJax{\newcommand{\sumint}{\mathop{\unicode{x2A0B}}}}
+\CustomizeMathJax{\newcommand{\fint}{\mathop{\unicode{x2A0F}}}}
+\CustomizeMathJax{\newcommand{\sqint}{\mathop{\unicode{x2A16}}}}
+%
+\CustomizeMathJax{\let\intsl\int}
+\CustomizeMathJax{\newcommand{\iintsl}{\mathop{\unicode{x222C}}}}
+\CustomizeMathJax{\newcommand{\iiintsl}{\mathop{\unicode{x222D}}}}
+\CustomizeMathJax{\newcommand{\iiiintsl}{\mathop{\unicode{x2A0C}}}}
+\CustomizeMathJax{\let\ointsl\oint}
+\CustomizeMathJax{\newcommand{\oiintsl}{\mathop{\unicode{x222F}}}}
+\CustomizeMathJax{\newcommand{\oiiintsl}{\mathop{\unicode{x2230}}}}
+\CustomizeMathJax{\newcommand{\varointclockwisesl}{\mathop{\unicode{x2232}}}}
+\CustomizeMathJax{\newcommand{\ointctrclockwisesl}{\mathop{\unicode{x2233}}}}
+\CustomizeMathJax{\newcommand{\sumintsl}{\mathop{\unicode{x2A0B}}}}
+\CustomizeMathJax{\newcommand{\fintsl}{\mathop{\unicode{x2A0F}}}}
+\CustomizeMathJax{\newcommand{\sqintsl}{\mathop{\unicode{x2A16}}}}
+%
+\CustomizeMathJax{\let\intup\int}
+\CustomizeMathJax{\newcommand{\iintup}{\mathop{\unicode{x222C}}}}
+\CustomizeMathJax{\newcommand{\iiintup}{\mathop{\unicode{x222D}}}}
+\CustomizeMathJax{\newcommand{\iiiintup}{\mathop{\unicode{x2A0C}}}}
+\CustomizeMathJax{\let\ointup\oint}
+\CustomizeMathJax{\newcommand{\oiintup}{\mathop{\unicode{x222F}}}}
+\CustomizeMathJax{\newcommand{\oiiintup}{\mathop{\unicode{x2230}}}}
+\CustomizeMathJax{\newcommand{\varointclockwiseup}{\mathop{\unicode{x2232}}}}
+\CustomizeMathJax{\newcommand{\ointctrclockwiseup}{\mathop{\unicode{x2233}}}}
+\CustomizeMathJax{\newcommand{\sumintup}{\mathop{\unicode{x2A0B}}}}
+\CustomizeMathJax{\newcommand{\fintup}{\mathop{\unicode{x2A0F}}}}
+\CustomizeMathJax{\newcommand{\sqintup}{\mathop{\unicode{x2A16}}}}
+%
+\CustomizeMathJax{\newcommand{\bigcupdot}{\mathop{\unicode{x2A03}}}}
+\CustomizeMathJax{\newcommand{\bignplus}{%
+ \mathop{\LWRoverlaysymbols{\unicode{xFF0B}}{\unicode{x22C2}}}%
+}}
+\CustomizeMathJax{\let\bigcapplus\bignplus}
+\CustomizeMathJax{\newcommand{\bigcupplus}{\mathop{\unicode{x2A04}}}}
+\CustomizeMathJax{\newcommand{\bigsqcap}{\mathop{\unicode{x2A05}}}}
+\CustomizeMathJax{\newcommand{\bigsqcapplus}{%
+ \mathop{\LWRoverlaysymbols{\unicode{xFF0B}}{\unicode{x2A05}}}
+}}
+\CustomizeMathJax{\newcommand{\bigsqcupplus}{%
+ \mathop{\LWRoverlaysymbols{\unicode{xFF0B}}{\unicode{x2A06}}}
+}}
+\CustomizeMathJax{\newcommand{\bigtimes}{\mathop{\unicode{x2A09}}}}
+\CustomizeMathJax{\let\varprod\bigtimes}
+%
+\CustomizeMathJax{\newcommand{\mappedfrom}{\mathrel{\unicode{x021A4}}}}
+\CustomizeMathJax{\newcommand{\mapsfrom}{\mathrel{\unicode{x021A4}}}}
+\CustomizeMathJax{\newcommand{\longmappedfrom}{\mathrel{\unicode{x027FB}}}}
+%
+\CustomizeMathJax{\newcommand{\Mapsto}{\mathrel{\unicode{x02907}}}}
+\CustomizeMathJax{\newcommand{\Longmapsto}{\mathrel{\unicode{x027FE}}}}
+\CustomizeMathJax{\newcommand{\Mappedfrom}{\mathrel{\unicode{x02906}}}}
+\CustomizeMathJax{\newcommand{\Mapsfrom}{\mathrel{\unicode{x02906}}}}
+\CustomizeMathJax{\newcommand{\Longmappedfrom}{\mathrel{\unicode{x27FD}}}}
+%
+\CustomizeMathJax{\newcommand{\mmapsto}{\mathrel{\unicode{x02905}}}}
+\CustomizeMathJax{\newcommand{\longmmapsto}{\mathrel{\unicode{x02905}}}}
+\CustomizeMathJax{\newcommand{\mmappedfrom}{\mathrel{\unicode{x021A4}}}}% x02B36
+\CustomizeMathJax{\newcommand{\longmmappedfrom}{\mathrel{\unicode{x021A4}}}}% x02B36
+%
+\CustomizeMathJax{\newcommand{\Mmapsto}{\mathrel{\unicode{x02907}}}}
+\CustomizeMathJax{\newcommand{\Longmmapsto}{\mathrel{\unicode{x027FE}}}}
+\CustomizeMathJax{\newcommand{\Mmappedfrom}{\mathrel{\unicode{x02906}}}}
+\CustomizeMathJax{\newcommand{\Longmmappedfrom}{\mathrel{\unicode{x027FD}}}}
+%
+\CustomizeMathJax{\newcommand{\medcirc}{\mathbin{\unicode{x025CB}}}}
+\CustomizeMathJax{\newcommand{\medbullet}{\mathbin{\unicode{x025CF}}}}
+\CustomizeMathJax{\newcommand{\varparallel}{\mathrel{\unicode{x02AFD}}}}
+\CustomizeMathJax{\newcommand{\varparallelinv}{\mathrel{\unicode{x244A}}}}
+\CustomizeMathJax{\newcommand{\nvarparallel}{\mathrel{\LWRoverlaysymbols{-}{\unicode{x02AFD}}}}}
+\CustomizeMathJax{\newcommand{\nvarparallelinv}{\mathrel{\LWRoverlaysymbols{-}{\unicode{x244A}}}}}
+%
+\CustomizeMathJax{\newcommand{\colonapprox}{\mathrel{:\approx}}}
+\CustomizeMathJax{\newcommand{\colonsim}{\mathrel{:\sim}}}
+\CustomizeMathJax{\newcommand{\Colonapprox}{\mathrel{\unicode{x2237}\approx}}}
+\CustomizeMathJax{\newcommand{\Colonsim}{\mathrel{\unicode{x2237}\sim}}}
+%
+\CustomizeMathJax{\newcommand{\multimapinv}{\mathrel{\unicode{x027DC}}}}
+\CustomizeMathJax{\newcommand{\multimapboth}{\mathrel{\unicode{x029DF}}}}
+\CustomizeMathJax{\newcommand{\multimapdot}{{\mathrel{-\!\bullet}}}}
+\CustomizeMathJax{\newcommand{\multimapdotinv}{\mathrel{\bullet\!-}}}
+\CustomizeMathJax{\newcommand{\multimapdotboth}{\mathrel{{\bullet\!\!-\!\!\bullet}}}}
+\CustomizeMathJax{\newcommand{\multimapdotbothA}{\mathrel{\unicode{x022B6}}}}
+\CustomizeMathJax{\newcommand{\multimapdotbothB}{\mathrel{\unicode{x22B7}}}}
+%
+\CustomizeMathJax{\newcommand{\VDash}{\mathrel{\unicode{x22AB}}}}
+\CustomizeMathJax{\newcommand{\VvDash}{\mathrel{\unicode{x22AA}}}}
+%
+\CustomizeMathJax{\newcommand{\preceqq}{\mathrel{\unicode{x02AB3}}}}
+\CustomizeMathJax{\newcommand{\succeqq}{\mathrel{\unicode{x02AB4}}}}
+%
+\CustomizeMathJax{\newcommand{\nprecsim}{\mathrel{\LWRoverlaysymbols{/}{\unicode{x0227E}}}}}
+\CustomizeMathJax{\newcommand{\nsuccsim}{\mathrel{\LWRoverlaysymbols{/}{\unicode{x0227F}}}}}
+\CustomizeMathJax{\newcommand{\nlesssim}{\mathrel{\unicode{x02274}}}}
+\CustomizeMathJax{\newcommand{\ngtrsim}{\mathrel{\unicode{x02275}}}}
+\CustomizeMathJax{\newcommand{\nlessapprox}{\mathrel{\LWRoverlaysymbols{/}{\unicode{x02A85}}}}}
+\CustomizeMathJax{\newcommand{\ngtrapprox}{\mathrel{\LWRoverlaysymbols{/}{\unicode{x02A86}}}}}
+%
+\CustomizeMathJax{\newcommand{\npreccurlyeq}{\mathrel{\LWRoverlaysymbols{/}{\unicode{x0227C}}}}}
+\CustomizeMathJax{\newcommand{\nsucccurlyeq}{\mathrel{\LWRoverlaysymbols{/}{\unicode{x0227D}}}}}
+\CustomizeMathJax{\newcommand{\ngtrless}{\mathrel{\unicode{x02279}}}}
+\CustomizeMathJax{\newcommand{\nlessgtr}{\mathrel{\unicode{x2278}}}}
+\CustomizeMathJax{\newcommand{\nbumpeq}{\mathrel{\LWRoverlaysymbols{/}{\unicode{x0224F}}}}}
+\CustomizeMathJax{\newcommand{\nBumpeq}{\mathrel{\LWRoverlaysymbols{/}{\unicode{x0224E}}}}}
+%
+\CustomizeMathJax{\newcommand{\nbacksim}{\mathrel{\LWRoverlaysymbols{/}{\unicode{x0223D}}}}}
+\CustomizeMathJax{\newcommand{\nbacksimeq}{\mathrel{\LWRoverlaysymbols{/}{\unicode{x022CD}}}}}
+\CustomizeMathJax{\newcommand{\nasymp}{\mathrel{\unicode{x226D}}}}
+\CustomizeMathJax{\newcommand{\nequiv}{\mathrel{\unicode{x2262}}}}
+\CustomizeMathJax{\newcommand{\napprox}{\mathrel{\unicode{x2249}}}}
+%
+\CustomizeMathJax{\newcommand{\nll}{\mathrel{\LWRoverlaysymbols{/}{\unicode{x0226A}}}}}
+\CustomizeMathJax{\newcommand{\ngg}{\mathrel{\LWRoverlaysymbols{/}{\unicode{x0226B}}}}}
+\CustomizeMathJax{\newcommand{\nthickapprox}{%
+ \mathrel{\LWRoverlaysymbols{/}{{\mathbf{\unicode{x02248}}}}}%
+}}
+\CustomizeMathJax{\newcommand{\napproxeq}{\mathrel{\LWRoverlaysymbols{/}{\unicode{x0224A}}}}}
+\CustomizeMathJax{\newcommand{\nprecapprox}{\mathrel{\LWRoverlaysymbols{/}{\unicode{x02AB7}}}}}
+\CustomizeMathJax{\newcommand{\nsuccapprox}{\mathrel{\LWRoverlaysymbols{/}{\unicode{x02AB8}}}}}
+\CustomizeMathJax{\newcommand{\npreceqq}{\mathrel{\LWRoverlaysymbols{/}{\unicode{x02AB3}}}}}
+\CustomizeMathJax{\newcommand{\nsucceqq}{\mathrel{\LWRoverlaysymbols{/}{\unicode{x02AB4}}}}}
+\CustomizeMathJax{\newcommand{\nsimeq}{\mathrel{\unicode{x02244}}}}
+%
+\CustomizeMathJax{\newcommand{\nSubset}{\mathrel{\LWRoverlaysymbols{/}{\unicode{x022D0}}}}}
+\CustomizeMathJax{\newcommand{\nSupset}{\mathrel{\LWRoverlaysymbols{/}{\unicode{x022D1}}}}}
+\CustomizeMathJax{\newcommand{\nsqsubseteq}{\mathrel{\unicode{x022E2}}}}
+\CustomizeMathJax{\newcommand{\nsqsupseteq}{\mathrel{\unicode{x022E3}}}}
+%
+\CustomizeMathJax{\newcommand{\coloneqq}{\mathrel{\unicode{x02254}}}}
+\CustomizeMathJax{\newcommand{\eqqcolon}{\mathrel{\unicode{x02255}}}}
+\CustomizeMathJax{\newcommand{\Coloneqq}{\mathrel{\unicode{x02A74}}}}
+\CustomizeMathJax{\newcommand{\Eqqcolon}{\mathrel{=\!\unicode{x2237}}}}
+\CustomizeMathJax{\newcommand{\Coloneq}{\mathrel{\unicode{x2237}-}}}
+\CustomizeMathJax{\newcommand{\Eqcolon}{\mathrel{-\unicode{x2237}}}}
+%
+\CustomizeMathJax{\newcommand{\lvec}[1]{\mathord{\overset{\unicode{x02190}}{#1}}}}
+\CustomizeMathJax{\newcommand{\lrvec}[1]{\mathord{\overset{\unicode{x2194}}{#1}}}}
+\CustomizeMathJax{\newcommand{\harpoonacc}[1]{\mathord{\overset{\unicode{x021C0}}{#1}}}}
+\CustomizeMathJax{\newcommand{\lharpoonacc}[1]{\mathord{\overset{\unicode{x021BC}}{#1}}}}
+\CustomizeMathJax{\newcommand{\lrharpoonacc}[1]{\mathord{\overset{\unicode{x0294E}}{#1}}}}
+\CustomizeMathJax{\newcommand{\barbar}[1]{\mathord{\overset{=}{#1}}}}
+\CustomizeMathJax{\newcommand{\bartilde}[1]{\mathord{\overset{\simeq}{#1}}}}
+\CustomizeMathJax{\newcommand{\barhat}[1]{\mathord{\hat{\bar{#1}}}}}
+\CustomizeMathJax{\newcommand{\tildebar}[1]{\mathord{\overset{\eqsim}{#1}}}}
+\CustomizeMathJax{\newcommand{\tildetilde}[1]{\mathord{\overset{\approx}{#1}}}}
+\CustomizeMathJax{\newcommand{\tildehat}[1]{\mathord{\hat{\tilde{#1}}}}}
+\CustomizeMathJax{\newcommand{\hatbar}[1]{\mathord{\bar{\hat{#1}}}}}
+\CustomizeMathJax{\newcommand{\hattilde}[1]{\mathord{\tilde{\hat{#1}}}}}
+\CustomizeMathJax{\newcommand{\hathat}[1]{\mathord{\hat{\hat{#1}}}}}
+
+\CustomizeMathJax{\newcommand{\cdotB}{\mathord{\boldsymbol{\cdot}}}}
+\CustomizeMathJax{\newcommand{\cdotBB}{\mathord{\unicode{x2022}}}}
+\CustomizeMathJax{\newcommand{\circS}{\boldsymbol{\circ}}}
+\CustomizeMathJax{\newcommand{\bulletSSS}{\bullet}}
+\CustomizeMathJax{\newcommand{\bulletSS}{\mathord{\unicode{x025CF}}}}
+\CustomizeMathJax{\newcommand{\bulletS}{\mathord{\unicode{x02B24}}}}
+\CustomizeMathJax{\newcommand{\primeS}{\prime}}
+
+\CustomizeMathJax{\newcommand{\strictif}{\mathrel{\unicode{x0297D}}}}% right fish tail
+\CustomizeMathJax{\newcommand{\strictfi}{\mathrel{\unicode{x0297C}}}}% left fish tail
+\CustomizeMathJax{\newcommand{\strictiff}{%
+ \mathrel{\unicode{x0297C}\!\!\unicode{x0297D}}%
+}}% left/right fish tails
+\CustomizeMathJax{\newcommand{\invamp}{\mathbin{\unicode{x0214B}}}}
+\CustomizeMathJax{\newcommand{\lbag}{\mathopen{\unicode{x027C5}}}}
+\CustomizeMathJax{\newcommand{\rbag}{\mathclose{\unicode{x027C6}}}}
+\CustomizeMathJax{\newcommand{\Lbag}{\mathopen{\large\unicode{x027C5}}}}
+\CustomizeMathJax{\newcommand{\Rbag}{\mathclose{\large\unicode{x027C6}}}}
+\CustomizeMathJax{\newcommand{\circledless}{\mathrel{\unicode{x029C0}}}}
+\CustomizeMathJax{\newcommand{\circledgtr}{\mathrel{\unicode{x029C1}}}}
+\CustomizeMathJax{\newcommand{\circledwedge}{%
+ \mathbin{\LWRoverlaysymbols{\unicode{x025EF}}{\unicode{x02227}}}%
+}}
+\CustomizeMathJax{\newcommand{\circledvee}{%
+ \mathbin{\LWRoverlaysymbols{\unicode{x025EF}}{\unicode{0x02228}}}%
+}}
+\CustomizeMathJax{\newcommand{\circledbar}{\mathbin{\unicode{x029B6}}}}
+\CustomizeMathJax{\newcommand{\circledbslash}{\mathbin{\unicode{x029B8}}}}
+
+\CustomizeMathJax{\newcommand{\lJoin}{\mathrel{\unicode{x22C9}}}}
+\CustomizeMathJax{\newcommand{\rJoin}{\mathrel{\unicode{x22CA}}}}
+\CustomizeMathJax{\newcommand{\lrJoin}{\mathrel{\unicode{x2A1D}}}}
+\CustomizeMathJax{\newcommand{\openJoin}{\mathrel{\unicode{x2AA4}}}}% overlapping ><
+
+\CustomizeMathJax{\newcommand{\lrtimes}{\mathrel{\unicode{x2A1D}}}}
+\CustomizeMathJax{\newcommand{\opentimes}{\mathrel{\unicode{x2AA4}}}}% overlapping ><
+\CustomizeMathJax{\newcommand{\Diamondblack}{\mathord{\unicode{x025C6}}}}
+\CustomizeMathJax{\newcommand{\nplus}{\mathrel{\LWRoverlaysymbols{+}{\unicode{x02229}}}}}
+\CustomizeMathJax{\newcommand{\nsqsubset}{\mathrel{\LWRoverlaysymbols{/}{\unicode{x0228F}}}}}
+\CustomizeMathJax{\newcommand{\nsqsupset}{\mathrel{\LWRoverlaysymbols{/}{\unicode{x02290}}}}}
+\CustomizeMathJax{\newcommand{\dasharrow}{\mathrel{\unicode{x021E2}}}}
+\CustomizeMathJax{\newcommand{\dashleftrightarrow}{\mathrel{\unicode{x021E0}\!\unicode{x021E2}}}}
+\CustomizeMathJax{\newcommand{\leftsquigarrow}{\mathrel{\unicode{x021DC}}}}
+\CustomizeMathJax{\newcommand{\ntwoheadrightarrow}{\mathrel{\unicode{x02900}}}}
+\CustomizeMathJax{\newcommand{\ntwoheadleftarrow}{\mathrel{\unicode{x02B34}}}}
+\CustomizeMathJax{\newcommand{\boxast}{\mathbin{\unicode{x029C6}}}}
+\CustomizeMathJax{\newcommand{\boxbslash}{\mathbin{\unicode{x29C5}}}}
+\CustomizeMathJax{\newcommand{\boxbar}{\mathbin{\unicode{x025EB}}}}
+\CustomizeMathJax{\newcommand{\boxslash}{\mathbin{\unicode{x029C4}}}}
+
+\CustomizeMathJax{\newcommand{\Wr}{\mathbin{\unicode{x02240}\!\unicode{x02240}}}}
+
+% defined above:
+% \CustomizeMathJax{\newcommand{\lambdaslash}{\mathord{\unicode{x00023}}}}
+% \CustomizeMathJax{\newcommand{\lambdabar}{\mathord{\unicode{x00023}}}}
+
+\CustomizeMathJax{\newcommand{\varclubsuit}{\mathord{\unicode{x02667}}}}
+\CustomizeMathJax{\newcommand{\vardiamondsuit}{\mathord{\unicode{x02666}}}}
+\CustomizeMathJax{\newcommand{\varheartsuit}{\mathord{\unicode{x02665}}}}
+\CustomizeMathJax{\newcommand{\varspadesuit}{\mathord{\unicode{x02664}}}}
+
+\CustomizeMathJax{\newcommand{\Nearrow}{\mathrel{\unicode{x021D7}}}}
+\CustomizeMathJax{\newcommand{\Searrow}{\mathrel{\unicode{x021D8}}}}
+\CustomizeMathJax{\newcommand{\Nwarrow}{\mathrel{\unicode{x021D6}}}}
+\CustomizeMathJax{\newcommand{\Swarrow}{\mathrel{\unicode{x021D9}}}}
+\CustomizeMathJax{\newcommand{\Top}{\mathord{\unicode{x02AEA}}}}
+\CustomizeMathJax{\newcommand{\Bot}{\mathord{\unicode{x02AEB}}}}
+
+\CustomizeMathJax{\newcommand{\leadstoext}{\mathrel{\unicode{xFF5E}}}}
+
+\CustomizeMathJax{\newcommand{\sqcupplus}{\mathbin{\LWRoverlaysymbols{+}{\unicode{x02294}}}}}
+\CustomizeMathJax{\newcommand{\sqcapplus}{\mathbin{\LWRoverlaysymbols{+}{\unicode{x02293}}}}}
+
+\CustomizeMathJax{\newcommand{\boxright}{\mathrel{\unicode{x025A1}\!\unicode{x02192}}}}
+\CustomizeMathJax{\newcommand{\boxleft}{\mathrel{\unicode{x02190}\!\unicode{x025A1}}}}
+\CustomizeMathJax{\newcommand{\boxdotright}{\mathrel{\unicode{x022A1}\!\unicode{x02192}}}}
+\CustomizeMathJax{\newcommand{\boxdotleft}{\mathrel{\unicode{x02190}\!\unicode{x022A1}}}}
+
+\CustomizeMathJax{\newcommand{\Diamondright}{\mathrel{\unicode{x025C7}\!\unicode{x02192}}}}
+\CustomizeMathJax{\newcommand{\Diamondleft}{\mathrel{\unicode{x02190}\!\unicode{x025C7}}}}
+\CustomizeMathJax{\newcommand{\Diamonddotright}{\mathrel{\unicode{x027D0}\!\unicode{x02192}}}}
+\CustomizeMathJax{\newcommand{\Diamonddotleft}{\mathrel{\unicode{x02190}\!\unicode{x027D0}}}}
+
+\CustomizeMathJax{\newcommand{\boxRight}{\mathrel{\unicode{x025A1}\!\unicode{x021D2}}}}
+\CustomizeMathJax{\newcommand{\boxLeft}{\mathrel{\unicode{x021D0}\!\unicode{x025A1}}}}
+\CustomizeMathJax{\newcommand{\boxdotRight}{\mathrel{\unicode{x022A1}\!\unicode{x021D2}}}}
+\CustomizeMathJax{\newcommand{\boxdotLeft}{\mathrel{\unicode{x021D0}\!\unicode{x022A1}}}}
+
+\CustomizeMathJax{\newcommand{\DiamondRight}{\mathrel{\unicode{x025C7}\!\unicode{x021D2}}}}
+\CustomizeMathJax{\newcommand{\DiamondLeft}{\mathrel{\unicode{x021D0}\!\unicode{x025C7}}}}
+\CustomizeMathJax{\newcommand{\DiamonddotRight}{\mathrel{\unicode{x027D0}\!\unicode{x021D2}}}}
+\CustomizeMathJax{\newcommand{\DiamonddotLeft}{\mathrel{\unicode{x021D0}\!\unicode{x027D0}}}}
+\CustomizeMathJax{\newcommand{\Diamonddot}{\mathrel{\unicode{x027D0}}}}
+
+\CustomizeMathJax{\newcommand{\circleright}{\mathrel{\unicode{x025CB}\!\unicode{x02192}}}}
+\CustomizeMathJax{\newcommand{\circleleft}{\mathrel{\unicode{x02190}\!\unicode{x025CB}}}}
+\CustomizeMathJax{\newcommand{\circledotright}{\mathrel{\unicode{x02299}\!\unicode{x02192}}}}
+\CustomizeMathJax{\newcommand{\circledotleft}{\mathrel{\unicode{x02190}\!\unicode{x02299}}}}
+\CustomizeMathJax{\let\circleddotright\circledotright}
+\CustomizeMathJax{\let\circleddotleft\circledotleft}
+
+\CustomizeMathJax{\newcommand{\multimapbothvert}{%
+ \mathrel{\overset{\unicode{x025CB}}{\underset{\unicode{x025CB}}{|}}}%
+}}
+\CustomizeMathJax{\newcommand{\multimapdotbothvert}{%
+ \mathrel{\overset{\unicode{x025CF}}{\underset{\unicode{x025CF}}{|}}}%
+}}
+\CustomizeMathJax{\newcommand{\multimapdotbothBvert}{%
+ \mathrel{\overset{\unicode{x025CF}}{\underset{\unicode{x025CB}}{|}}}%
+}}
+\CustomizeMathJax{\newcommand{\multimapdotbothAvert}{%
+ \mathrel{\overset{\unicode{x025CB}}{\underset{\unicode{x025CF}}{|}}}%
+}}
+
+\CustomizeMathJax{\newcommand{\dlb}{\mathopen{\unicode{x027E6}}}}
+\CustomizeMathJax{\newcommand{\drb}{\mathopen{\unicode{x027E7}}}}
+
+% * \marg{2: prefix} \marg{3: postfix} \marg{4: i/u: italic/upright}
+\LWR@mathjax@addgreek@u@up*{}{up}
+\LWR@mathjax@addgreek@u@up*{up}{}
+\LWR@mathjax@addgreek@l@up{up}{}
+\LWR@mathjax@addgreek@l@up{}{up}
+\LWR@mathjax@addgreek@u@it*{}{it}
+\LWR@mathjax@addgreek@l@it{}{it}
+
+% only newtxmath, not newpxmath:
+\LWR@mathjax@addgreek@u@it*{it}{}
+\LWR@mathjax@addgreek@l@it{it}{}
+
+\CustomizeMathJax{\newcommand{\varg}{g}}
+\CustomizeMathJax{\newcommand{\vary}{y}}
+\CustomizeMathJax{\newcommand{\varv}{v}}
+\CustomizeMathJax{\newcommand{\varw}{w}}
+
+\CustomizeMathJax{\newcommand{\nexistsAlt}{\mathord{\unicode{x02204}}}}
+\CustomizeMathJax{\newcommand{\existsAlt}{\mathord{\unicode{x02203}}}}
+\CustomizeMathJax{\newcommand{\forallAlt}{\mathord{\unicode{x02200}}}}
+\CustomizeMathJax{\newcommand{\emptysetAlt}{\mathord{\unicode{x02205}}}}
+
+\CustomizeMathJax{\newcommand{\uppartial}{\mathord{\unicode{x02202}}}}
+
+\CustomizeMathJax{\let\varmathbb\mathbb}
+\CustomizeMathJax{\let\vmathbb\mathbb}
+\CustomizeMathJax{\let\vvmathbb\mathbb}
+
+\CustomizeMathJax{\let\smallprod\prod}
+\CustomizeMathJax{\let\smallsum\sum}
+\CustomizeMathJax{\let\smallcoprod\coprod}
+
+\CustomizeMathJax{\newcommand{\openbox}{\mathord{\unicode{x25FD}}}}
+\CustomizeMathJax{\let\textsquare\openbox}
+
+% only newtxmath, not newpxmath:
+\ifdef{\iftx@BI}{
+ \iftx@BI
+ \LWR@mathjax@addlatin@u@bfit{BI}
+ \LWR@mathjax@addlatin@l@bfit{BI}
+ \fi
+}{}
+
+% for newpxmath:
+\CustomizeMathJax{\newcommand{\mathsterling}{\mathord{\unicode{x000A3}}}}
+\CustomizeMathJax{\newcommand{\mathcent}{\mathord{\unicode{x000A2}}}}
+
+\end{warpMathJax}
+% \end{macrocode}
+%
+% \iffalse
+%</common-mathjax-newpxtxmath>
+% \fi
+%
+%
+%
+%
+%
+% ^^A *common-mathjax-overlaysymbols
+%
+% \iffalse
+%<*common-mathjax-overlaysymbols>
+% \fi
+%
+% \part{lwarp-common-mathjax-overlaysymbols.sty}
+%
+% \section{common-mathjax-overlaysymbols}
+%
+% \DescribePackage{lwarp-common-mathjax-overlaysymbols}
+% Common code used by a number of packages to overlay two symbols
+% for \brand{MathJax}.
+%
+% \changes{v0.89}{2020/08/17}{\pkg{lwarp-common-mathjax-overlaysymbols}: Added.}
+%
+% \codehtml
+%
+% \begin{macrocode}
+\ProvidesPackage{lwarp-common-mathjax-overlaysymbols}[2020/08/17]
+% \end{macrocode}
+%
+% \noindmacro{\LWRoverlaysymbols} \marg{symbol} \marg{symbol}
+%
+% Overlays one symbol over another.
+% \begin{macrocode}
+\begin{warpMathJax}
+
+\CustomizeMathJax{\newcommand{\LWRoverlaysymbols}[2]{%
+ \mathord{%
+ \smash{%
+ \mathop{#2\strut}%
+ \limits^{\smash{\lower3ex{#1}}}%
+ }%
+ \strut%
+ }%
+}}
+
+\end{warpMathJax}
+% \end{macrocode}
+%
+%
+% \iffalse
+%</common-mathjax-overlaysymbols>
+% \fi
+%
+%
+%
+%
% \addtocontents{toc}{\protect\setcounter{tocdepth}{4}}
%
%
diff --git a/macros/latex/contrib/lwarp/lwarp.ins b/macros/latex/contrib/lwarp/lwarp.ins
index e0d03f6bff..c3e4c7d0e6 100644
--- a/macros/latex/contrib/lwarp/lwarp.ins
+++ b/macros/latex/contrib/lwarp/lwarp.ins
@@ -40,6 +40,7 @@ version 2005/12/01 or later.
\file{lwarp-a5comb.sty}{\from{lwarp.dtx}{a5comb}}
\file{lwarp-abstract.sty}{\from{lwarp.dtx}{abstract}}
\file{lwarp-academicons.sty}{\from{lwarp.dtx}{academicons}}
+\file{lwarp-accents.sty}{\from{lwarp.dtx}{accents}}
\file{lwarp-accessibility.sty}{\from{lwarp.dtx}{accessibility}}
\file{lwarp-accsupp.sty}{\from{lwarp.dtx}{accsupp}}
\file{lwarp-acro.sty}{\from{lwarp.dtx}{acro}}
@@ -97,6 +98,7 @@ version 2005/12/01 or later.
\file{lwarp-cancel.sty}{\from{lwarp.dtx}{cancel}}
\file{lwarp-canoniclayout.sty}{\from{lwarp.dtx}{canoniclayout}}
\file{lwarp-caption.sty}{\from{lwarp.dtx}{caption}}
+\file{lwarp-caption3.sty}{\from{lwarp.dtx}{caption3}}
\file{lwarp-cases.sty}{\from{lwarp.dtx}{cases}}
\file{lwarp-centernot.sty}{\from{lwarp.dtx}{centernot}}
\file{lwarp-changebar.sty}{\from{lwarp.dtx}{changebar}}
@@ -230,7 +232,9 @@ version 2005/12/01 or later.
\file{lwarp-gridset.sty}{\from{lwarp.dtx}{gridset}}
\file{lwarp-hang.sty}{\from{lwarp.dtx}{hang}}
\file{lwarp-hanging.sty}{\from{lwarp.dtx}{hanging}}
+\file{lwarp-hepunits.sty}{\from{lwarp.dtx}{hepunits}}
\file{lwarp-hhline.sty}{\from{lwarp.dtx}{hhline}}
+\file{lwarp-hhtensor.sty}{\from{lwarp.dtx}{hhtensor}}
\file{lwarp-hypbmsec.sty}{\from{lwarp.dtx}{hypbmsec}}
\file{lwarp-hypcap.sty}{\from{lwarp.dtx}{hypcap}}
\file{lwarp-hypdestopt.sty}{\from{lwarp.dtx}{hypdestopt}}
@@ -280,9 +284,13 @@ version 2005/12/01 or later.
\file{lwarp-marginfix.sty}{\from{lwarp.dtx}{marginfix}}
\file{lwarp-marginnote.sty}{\from{lwarp.dtx}{marginnote}}
\file{lwarp-marvosym.sty}{\from{lwarp.dtx}{marvosym}}
+\file{lwarp-mathalpha.sty}{\from{lwarp.dtx}{mathalpha}}
\file{lwarp-mathcomp.sty}{\from{lwarp.dtx}{mathcomp}}
+\file{lwarp-mathdesign.sty}{\from{lwarp.dtx}{mathdesign}}
\file{lwarp-mathdots.sty}{\from{lwarp.dtx}{mathdots}}
\file{lwarp-mathfixs.sty}{\from{lwarp.dtx}{mathfixs}}
+\file{lwarp-mathpazo.sty}{\from{lwarp.dtx}{mathpazo}}
+\file{lwarp-mathptmx.sty}{\from{lwarp.dtx}{mathptmx}}
\file{lwarp-mathtools.sty}{\from{lwarp.dtx}{mathtools}}
\file{lwarp-mcaption.sty}{\from{lwarp.dtx}{mcaption}}
\file{lwarp-mdframed.sty}{\from{lwarp.dtx}{mdframed}}
@@ -297,6 +305,7 @@ version 2005/12/01 or later.
\file{lwarp-minibox.sty}{\from{lwarp.dtx}{minibox}}
\file{lwarp-minitoc.sty}{\from{lwarp.dtx}{minitoc}}
\file{lwarp-mismath.sty}{\from{lwarp.dtx}{mismath}}
+\file{lwarp-mleftright.sty}{\from{lwarp.dtx}{mleftright}}
\file{lwarp-morefloats.sty}{\from{lwarp.dtx}{morefloats}}
\file{lwarp-moreverb.sty}{\from{lwarp.dtx}{moreverb}}
\file{lwarp-movie15.sty}{\from{lwarp.dtx}{movie15}}
@@ -317,6 +326,9 @@ version 2005/12/01 or later.
\file{lwarp-nccfoots.sty}{\from{lwarp.dtx}{nccfoots}}
\file{lwarp-nccmath.sty}{\from{lwarp.dtx}{nccmath}}
\file{lwarp-needspace.sty}{\from{lwarp.dtx}{needspace}}
+\file{lwarp-newpxmath.sty}{\from{lwarp.dtx}{newpxmath}}
+\file{lwarp-newtxmath.sty}{\from{lwarp.dtx}{newtxmath}}
+\file{lwarp-newtxsf.sty}{\from{lwarp.dtx}{newtxsf}}
\file{lwarp-nextpage.sty}{\from{lwarp.dtx}{nextpage}}
\file{lwarp-nfssext-cfr.sty}{\from{lwarp.dtx}{nfssext-cfr}}
\file{lwarp-nicefrac.sty}{\from{lwarp.dtx}{nicefrac}}
@@ -378,6 +390,7 @@ version 2005/12/01 or later.
\file{lwarp-pstricks.sty}{\from{lwarp.dtx}{pstricks}}
\file{lwarp-pxatbegshi.sty}{\from{lwarp.dtx}{pxatbegshi}}
\file{lwarp-pxeveryshi.sty}{\from{lwarp.dtx}{pxeveryshi}}
+\file{lwarp-pxfonts.sty}{\from{lwarp.dtx}{pxfonts}}
\file{lwarp-pxftnright.sty}{\from{lwarp.dtx}{pxftnright}}
\file{lwarp-pxjahyper.sty}{\from{lwarp.dtx}{pxjahyper}}
\file{lwarp-quotchap.sty}{\from{lwarp.dtx}{quotchap}}
@@ -417,6 +430,7 @@ version 2005/12/01 or later.
\file{lwarp-showidx.sty}{\from{lwarp.dtx}{idx}}
\file{lwarp-showkeys.sty}{\from{lwarp.dtx}{showkeys}}
\file{lwarp-showtags.sty}{\from{lwarp.dtx}{showtags}}
+\file{lwarp-shuffle.sty}{\from{lwarp.dtx}{shuffle}}
\file{lwarp-sidecap.sty}{\from{lwarp.dtx}{sidecap}}
\file{lwarp-sidenotes.sty}{\from{lwarp.dtx}{sidenotes}}
\file{lwarp-SIunits.sty}{\from{lwarp.dtx}{SIunits}}
@@ -463,6 +477,7 @@ version 2005/12/01 or later.
\file{lwarp-thm-listof.sty}{\from{lwarp.dtx}{thm-listof}}
\file{lwarp-thm-restate.sty}{\from{lwarp.dtx}{thm-restate}}
\file{lwarp-thmbox.sty}{\from{lwarp.dtx}{thmbox}}
+\file{lwarp-thmtools.sty}{\from{lwarp.dtx}{thmtools}}
\file{lwarp-threadcol.sty}{\from{lwarp.dtx}{threadcol}}
\file{lwarp-threeparttable.sty}{\from{lwarp.dtx}{threeparttable}}
\file{lwarp-threeparttablex.sty}{\from{lwarp.dtx}{threeparttablex}}
@@ -490,6 +505,7 @@ version 2005/12/01 or later.
\file{lwarp-truncate.sty}{\from{lwarp.dtx}{truncate}}
\file{lwarp-turnthepage.sty}{\from{lwarp.dtx}{turnthepage}}
\file{lwarp-twoup.sty}{\from{lwarp.dtx}{twoup}}
+\file{lwarp-txfonts.sty}{\from{lwarp.dtx}{txfonts}}
\file{lwarp-typearea.sty}{\from{lwarp.dtx}{typearea}}
\file{lwarp-typicons.sty}{\from{lwarp.dtx}{typicons}}
\file{lwarp-ulem.sty}{\from{lwarp.dtx}{ulem}}
@@ -498,8 +514,10 @@ version 2005/12/01 or later.
\file{lwarp-unicode-math.sty}{\from{lwarp.dtx}{unicode-math}}
\file{lwarp-units.sty}{\from{lwarp.dtx}{units}}
\file{lwarp-unitsdef.sty}{\from{lwarp.dtx}{unitsdef}}
+\file{lwarp-upgreek.sty}{\from{lwarp.dtx}{upgreek}}
\file{lwarp-upref.sty}{\from{lwarp.dtx}{upref}}
\file{lwarp-url.sty}{\from{lwarp.dtx}{url}}
+\file{lwarp-ushort.sty}{\from{lwarp.dtx}{ushort}}
\file{lwarp-uspace.sty}{\from{lwarp.dtx}{uspace}}
\file{lwarp-varioref.sty}{\from{lwarp.dtx}{varioref}}
\file{lwarp-verse.sty}{\from{lwarp.dtx}{verse}}
@@ -538,6 +556,9 @@ version 2005/12/01 or later.
\file{lwarp-patch-komascript.sty}{\from{lwarp.dtx}{patch-komascript}}
\file{lwarp-patch-memoir.sty}{\from{lwarp.dtx}{patch-memoir}}
\file{lwarp-common-multimedia.sty}{\from{lwarp.dtx}{common-multimedia}}
+\file{lwarp-common-mathjax-letters.sty}{\from{lwarp.dtx}{common-mathjax-letters}}
+\file{lwarp-common-mathjax-newpxtxmath.sty}{\from{lwarp.dtx}{common-mathjax-newpxtxmath}}
+\file{lwarp-common-mathjax-overlaysymbols.sty}{\from{lwarp.dtx}{common-mathjax-overlaysymbols}}
}
\Msg{*********************************************************}
\Msg{*}
diff --git a/macros/latex/contrib/lwarp/lwarp.pdf b/macros/latex/contrib/lwarp/lwarp.pdf
index b935c1803e..dd84ba9fdc 100644
--- a/macros/latex/contrib/lwarp/lwarp.pdf
+++ b/macros/latex/contrib/lwarp/lwarp.pdf
Binary files differ
diff --git a/macros/latex/contrib/lwarp/lwarpmk.lua b/macros/latex/contrib/lwarp/lwarpmk.lua
index fe4396c13f..18c1b40443 100755
--- a/macros/latex/contrib/lwarp/lwarpmk.lua
+++ b/macros/latex/contrib/lwarp/lwarpmk.lua
@@ -2,7 +2,7 @@
-- Copyright 2016-2020 Brian Dunn
-printversion = "v0.88"
+printversion = "v0.89"
requiredconfversion = "2" -- also at *lwarpmk.conf
function printhelp ()
@@ -32,7 +32,7 @@ lwarpmk pdftohtml [-p project]:
lwarpmk pdftosvg <list of file names>: Converts each PDF file to SVG.
lwarpmk epstopdf <list of file names>: Converts each EPS file to PDF.
lwarpmk clean [-p project]: Remove *.aux, *.toc, *.lof/t,
- *.idx, *.ind, *.log, *_html_inc.*, .gl*,
+ *.idx, *.ind, *.bbl, *.log, *_html_inc.*, .gl*,
*_html.pdf, *_html.html, *_html.sidetoc
lwarpmk cleanall [-p project]: Remove auxiliary files, project.pdf, *.html
lwarpmk cleanlimages: Removes all images from the "lateximages" directory.
@@ -386,6 +386,7 @@ os.execute ( rmname .. " *.aux " ..
sourcename ..".toc " .. sourcename .. "_html.toc " ..
sourcename ..".lof " .. sourcename .. "_html.lof " ..
sourcename ..".lot " .. sourcename .. "_html.lot " ..
+ sourcename ..".bbl " .. sourcename .. "_html.bbl " ..
" *.idx " ..
" *.ind " ..
sourcename ..".ps " .. sourcename .."_html.ps " ..