texlive[57791] branches/branch2020: lwarp (18feb21)
commits+karl at tug.org
commits+karl at tug.org
Thu Feb 18 23:20:50 CET 2021
Revision: 57791
http://tug.org/svn/texlive?view=revision&revision=57791
Author: karl
Date: 2021-02-18 23:20:50 +0100 (Thu, 18 Feb 2021)
Log Message:
-----------
lwarp (18feb21)
Modified Paths:
--------------
branches/branch2020/Build/source/texk/texlive/linked_scripts/lwarp/lwarpmk.lua
branches/branch2020/Master/texmf-dist/doc/latex/lwarp/README.txt
branches/branch2020/Master/texmf-dist/doc/latex/lwarp/lwarp.pdf
branches/branch2020/Master/texmf-dist/scripts/lwarp/lwarpmk.lua
branches/branch2020/Master/texmf-dist/source/latex/lwarp/lwarp.dtx
branches/branch2020/Master/texmf-dist/source/latex/lwarp/lwarp.ins
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-SIunits.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-abstract.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-accessibility.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-acro.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-adjmulticol.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-afterpage.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-algorithm2e.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-algorithmicx.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-alltt.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-amsmath.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-amsthm.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-atbegshi.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-attachfile.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-attachfile2.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-authblk.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-backnaur.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-backref.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-biblatex.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-booktabs.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-boxedminipage2e.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-braket.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-breakurl.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-cancel.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-caption.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-centernot.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-changes.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-chemgreek.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-colonequals.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-colortbl.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-common-multimedia.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-ctable.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-easy-todo.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-econometrics.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-ed.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-embrac.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-enumitem.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-epigraph.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-epsfig.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-epstopdf-base.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-epstopdf.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-errata.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-everyshi.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-fancybox.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-fancyhdr.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-fancyref.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-fancyvrb.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-fixme.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-float.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-floatflt.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-floatrow.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-fontaxes.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-forest.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-glossaries.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-graphics.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-graphicx.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-hang.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-hyperref.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-idxlayout.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-imakeidx.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-index.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-intopdf.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-karnaugh-map.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-keyfloat.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-lettrine.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-lineno.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-listings.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-longtable.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-luatodonotes.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-lyluatex.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-makeidx.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-mathdots.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-mathfixs.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-mathtools.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-mdframed.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-mhchem.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-mismath.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-moreverb.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-multicol.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-multiobjective.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-multirow.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-nccmath.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-nfssext-cfr.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-nicefrac.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-nowidow.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-ntheorem.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-parcolumns.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-parnotes.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-patch-komascript.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-patch-memoir.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-pdfrender.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-physics.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-pstricks.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-quoting.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-realscripts.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-rmathbr.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-rotating.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-rotfloat.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-schemata.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-scrextend.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-sidenotes.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-siunitx.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-slantsc.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-splitidx.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-statex2.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-statmath.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-steinmetz.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-struktex.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-subcaption.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-subfig.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-svg.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-textcomp.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-textpos.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-tikz.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-titlesec.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-titling.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-tocloft.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-todonotes.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-trivfloat.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-unicode-math.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-units.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-url.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-verse.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-witharrows.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-wrapfig.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-xcolor.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-xfakebold.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-xfrac.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-xpinyin.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp.sty
Added Paths:
-----------
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-accents.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-amscdx.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-boxedminipage.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-bussproofs.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-caption3.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-citeref.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-cleveref.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-cmbright.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-common-mathjax-letters.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-common-mathjax-newpxtxmath.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-common-mathjax-nonunicode.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-common-mathjax-overlaysymbols.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-drftcite.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-epsf.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-esvect.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-fbox.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-fixmath.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-fnpara.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-fourier.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-fvextra.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-gindex.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-hepunits.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-hhtensor.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-isomath.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-isotope.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-jurabib.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-keystroke.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-kpfonts-otf.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-kpfonts.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-libertinust1math.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-lpic.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-luavlna.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-mathalpha.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-mathastext.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-mathdesign.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-mathpazo.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-mathptmx.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-mathspec.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-mattens.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-maybemath.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-mdwmath.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-menukeys.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-minted.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-mleftright.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-multibib.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-newpxmath.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-newtxmath.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-newtxsf.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-nicematrix.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-picinpar.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-pinlabel.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-plimsoll.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-pxfonts.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-repltext.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-rlepsf.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-scalerel.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-selectp.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-seqsplit.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-shadethm.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-shuffle.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-simplebnf.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-skmath.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-splitbib.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-statistics.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-swfigure.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-tcolorbox.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-tensor.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-termcal.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-thm-listof.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-thm-restate.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-thmbox.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-thmtools.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-tikz-imagelabels.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-txfonts.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-txgreeks.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-upgreek.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-ushort.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-varioref.sty
branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-xevlna.sty
Modified: branches/branch2020/Build/source/texk/texlive/linked_scripts/lwarp/lwarpmk.lua
===================================================================
--- branches/branch2020/Build/source/texk/texlive/linked_scripts/lwarp/lwarpmk.lua 2021-02-18 22:18:09 UTC (rev 57790)
+++ branches/branch2020/Build/source/texk/texlive/linked_scripts/lwarp/lwarpmk.lua 2021-02-18 22:20:50 UTC (rev 57791)
@@ -1,8 +1,8 @@
#!/usr/bin/env texlua
--- Copyright 2016-2020 Brian Dunn
+-- Copyright 2016-2021 Brian Dunn
-printversion = "v0.83"
+printversion = "v0.895"
requiredconfversion = "2" -- also at *lwarpmk.conf
function printhelp ()
@@ -32,10 +32,11 @@
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.
+lwarpmk -v: Print the version number.
lwarpmk -h: Print this help message.
lwarpmk --help: Print this help message.
@@ -379,12 +380,13 @@
-- Remove auxiliary files:
-- All .aux files are removed since there may be many bbl*.aux files.
-- Also removes sourcename_html.pdf, sourcename_html.html,
--- and sourcename_html.sidetoc.
+-- and sourcename_html.sidetoc, plus comment_*.cut.
--
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 " ..
@@ -393,7 +395,8 @@
sourcename .. "_html.pdf " ..
sourcename .. "_html.html " ..
sourcename .. "_html.sidetoc " ..
- " *_html_inc.* "
+ " *_html_inc.* " ..
+ " comment_*.cut"
)
end
@@ -890,6 +893,12 @@
elseif (arg[1] == nil) then
printhelp ()
+-- lwarpmk -v:
+
+elseif (arg[1] == "-v" ) then
+-- The version number has already been printed
+-- by the lwarpmk intro.
+
-- lwarpmk -h or lwarpmk --help :
elseif (arg[1] == "-h" ) or (arg[1] == "--help") then
Modified: branches/branch2020/Master/texmf-dist/doc/latex/lwarp/README.txt
===================================================================
--- branches/branch2020/Master/texmf-dist/doc/latex/lwarp/README.txt 2021-02-18 22:18:09 UTC (rev 57790)
+++ branches/branch2020/Master/texmf-dist/doc/latex/lwarp/README.txt 2021-02-18 22:20:50 UTC (rev 57791)
@@ -1,5 +1,5 @@
-LaTeX lwarp package v0.83 README.txt
+LaTeX lwarp package v0.895 README.txt
Files included are:
@@ -41,7 +41,7 @@
version 2005/12/01 or later.
-Copyright 2016-2020 Brian Dunn
+Copyright 2016-2021 Brian Dunn
Homepage: http://BDTechConcepts.com
Email: bd at BDTechConcepts.com
Modified: branches/branch2020/Master/texmf-dist/doc/latex/lwarp/lwarp.pdf
===================================================================
(Binary files differ)
Modified: branches/branch2020/Master/texmf-dist/scripts/lwarp/lwarpmk.lua
===================================================================
--- branches/branch2020/Master/texmf-dist/scripts/lwarp/lwarpmk.lua 2021-02-18 22:18:09 UTC (rev 57790)
+++ branches/branch2020/Master/texmf-dist/scripts/lwarp/lwarpmk.lua 2021-02-18 22:20:50 UTC (rev 57791)
@@ -1,8 +1,8 @@
#!/usr/bin/env texlua
--- Copyright 2016-2020 Brian Dunn
+-- Copyright 2016-2021 Brian Dunn
-printversion = "v0.83"
+printversion = "v0.895"
requiredconfversion = "2" -- also at *lwarpmk.conf
function printhelp ()
@@ -32,10 +32,11 @@
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.
+lwarpmk -v: Print the version number.
lwarpmk -h: Print this help message.
lwarpmk --help: Print this help message.
@@ -379,12 +380,13 @@
-- Remove auxiliary files:
-- All .aux files are removed since there may be many bbl*.aux files.
-- Also removes sourcename_html.pdf, sourcename_html.html,
--- and sourcename_html.sidetoc.
+-- and sourcename_html.sidetoc, plus comment_*.cut.
--
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 " ..
@@ -393,7 +395,8 @@
sourcename .. "_html.pdf " ..
sourcename .. "_html.html " ..
sourcename .. "_html.sidetoc " ..
- " *_html_inc.* "
+ " *_html_inc.* " ..
+ " comment_*.cut"
)
end
@@ -890,6 +893,12 @@
elseif (arg[1] == nil) then
printhelp ()
+-- lwarpmk -v:
+
+elseif (arg[1] == "-v" ) then
+-- The version number has already been printed
+-- by the lwarpmk intro.
+
-- lwarpmk -h or lwarpmk --help :
elseif (arg[1] == "-h" ) or (arg[1] == "--help") then
Modified: branches/branch2020/Master/texmf-dist/source/latex/lwarp/lwarp.dtx
===================================================================
--- branches/branch2020/Master/texmf-dist/source/latex/lwarp/lwarp.dtx 2021-02-18 22:18:09 UTC (rev 57790)
+++ branches/branch2020/Master/texmf-dist/source/latex/lwarp/lwarp.dtx 2021-02-18 22:20:50 UTC (rev 57791)
@@ -1,7 +1,7 @@
%
% \iffalse meta-comment
%
-% Copyright 2016-2020 Brian Dunn
+% Copyright 2016-2021 Brian Dunn
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3
@@ -16,7 +16,7 @@
% \iffalse
%<package>\NeedsTeXFormat{LaTeX2e}[1999/12/01]
%<package>\ProvidesPackage{lwarp}
-%<package> [2020/03/25 v0.83 Allows LaTeX to directly produce HTML5 output.]
+%<package> [2021/02/18 v0.895 Allows LaTeX to directly produce HTML5 output.]
%
%<*driver>
\documentclass{ltxdoc}
@@ -24,8 +24,8 @@
\PassOptionsToPackage{quiet}{textcomp}% Not all chars supported in TT font.
\usepackage{lmodern}
-% \usepackage{libertine}
-\usepackage[space]{erewhon}
+\usepackage{libertine}
+% *88* \usepackage[space]{erewhon}
\usepackage[varqu,varl]{inconsolata} % typewriter
% \usepackage{roboto}% conflicts with \textsc inside a float
% \usepackage{sourcecodepro}
@@ -85,8 +85,10 @@
\newunicodechar{฿}{\textbaht}
\newunicodechar{℠}{\textservicemark}
-\usepackage[log-declarations=false]{xparse}
+% \usepackage[log-declarations=false]{xparse}
+\usepackage{xparse}
+\usepackage{ifptex}% *8* remove later
\usepackage[lwarpmk]{lwarp}
@@ -163,6 +165,7 @@
\usepackage{enumitem}
+\newlist{inlinedesc}{description*}{1}
\usepackage{array}
\usepackage{longtable}
@@ -565,8 +568,8 @@
\DescribeOption{GlossaryCmd}\DescribeDefault{makeglossaries}
\DescribeOption[lwarpmk]{printglossary}
\DescribeOption[lwarpmk]{htmlglossary}
-\prog{lwarpmk} has the commands \texttt{lwarpmk printglossary} and
-\texttt{lwarpmk htmlglossary}, which process the glossaries created by the
+\prog{lwarpmk} has the commands \cmds{lwarpmk printglossary} and
+\cmds{lwarpmk htmlglossary}, which process the glossaries created by the
\pkg{glossaries} package using that package's \prog{makeglossaries} program.
The shell command to execute is set by the \pkg{lwarp} option \optn{GlossaryCmd},
@@ -760,6 +763,10 @@
\newcommand*{\limitspagenote}{%
\pkg{pagenote} works as-is, but the \optn{page} option is disabled.
+
+Note that labels in page notes do not appear as expected,
+\trouble[labels]{pagenote=\pkg{pagenote}}
+even in the print version.
}
\newcommand*{\limitsendnotes}{%
@@ -814,27 +821,6 @@
these environments. Adding a space on either side may be sufficient.
}
-\newcommand{\limitshspace}{%
-\DescribeMacro{\hspace}%
-\gindex{space>horizontal}%
-\gindex{horizontal space}%
-\cs{hspace} is converted to an inline \HTML\ span of the given width,
-except that \texttt{0} width is ignored,
-a width of \texttt{.16667em} is converted to
-an \HTML\ thin breakable space (\texttt{U+2009}),
-and a \cs{fill} is converted to a \cs{qquad}.
-
-\gindex{\texttt{\textasciitilde}}%
-\gindex{\cs{,}}%
-\DescribeMacro{\,}%
-\texttt{\~} and \cs{,} are converted to \HTML\ entities.
-
-\DescribeMacro{\kern}%
-\DescribeMacro{\hskip}%
-\cs{kern} and \cs{hskip} are entered into the \HTML\ \PDF\ output as-is,
-then interpreted by \prog{pdftotext}, and thus usually appear as a single space.
-}
-
\newcommand{\limitstextcomp}{%
Some \pkg{textcomp} symbols do not have Unicode equivalents, and thus
are not supported.
@@ -848,6 +834,11 @@
\newcommand{\limitsaccents}{%
Native \LaTeX\ accents such as \cs{"} will work, but many more kinds of
accents are available when using Unicode-aware \XeLaTeX\ and \LuaLaTeX.
+If using accents in section names which will become file names, it is recommended
+to use the \LaTeX\ accents such as \cs{"} and \cs{v} instead of Unicode accents.
+The \LaTeX\ accents will have the accents stripped when creating the filenames,
+whereas the Unicode accents will appear in the file names, which may cause
+issues with some operating systems.
}
\newcommand{\limitsrelsize}{%
@@ -1025,7 +1016,6 @@
Many features are ignored during the \HTML\ conversion.
The goal is source-level compatibility.
-\cs{titlehead}, \cs{subject},
\cs{captionformat}, \cs{figureformat}, and \cs{tableformat} are not yet emulated.
\testthis
@@ -1035,6 +1025,10 @@
}
\newcommand{\limitsmemoir}{
+\pkg{lwarp} uses \pkg{caption}, which causes a warning from \pkg{memoir}.
+\trouble[captions]{memoir=\pkg{memoir}>captions}
+This is normal. Adjust captions via \pkg{caption}, instead of \pkg{memoir}.
+
While emulating \pkg{memoir}, \pkg{lwarp} pre-loads
a number of packages (\cref{sec:patch-memoir-packages}).
This can cause an options clash when the user's document later loads the same
@@ -1062,19 +1056,52 @@
which are often newer than the date declared by \pkg{memoir}, it is hoped that
\pkg{memoir} will update and change its emulated version numbers to match.
-\cs{verbfootnote} is not supported.
+\cs{label} accepts an optional \optn{(bookmark)} argument, but this is
+\margintag{\texttt{\cs{label}(bookmark)\{tag\}}}
+ignored in \HTML.
-\cs{newfootnoteseries}, etc. are not supported.
+The \env{comment} environment is from the \pkg{comment} package, and thus
+\trouble[\env{comment}]{comment=\env{comment}}
+\trouble{memoir=\pkg{memoir}>comment=\env{comment}}
+requires that the \cs{begin} and \cs{end} each be on its own line:
+\begin{sourcedisplay}
+\cs{begin}\{comment\} \\
+This is a comment. \\
+\cs{end}\{comment\}
+\end{sourcedisplay}
+Comments defined with \cs{newcomment} use \pkg{memoir}'s defintions, and
+\margintag{\cs{newcomment}}
+behave as expected, where the \cs{begin} and \cs{end} do have to each be on its own line.
+\cs{verbfootnote} is not supported.\watchout[verbatim footnotes]
+
+\cs{newfootnoteseries}, etc. are not supported.\watchout[\cs{newfootnoteseries}]
+
\pkg{lwarp} loads \pkg{pagenote} to perform \pkg{memoir}'s pagenote functions,
+\watchout[page notes]
but there are minor differences in \cs{pagenotesubhead} and related macros.
-Poem numbering is not supported.
+To add support for pagenotes with \pkg{cleveref}, add:
+\margintag{page notes with cleveref}
+\trouble{memoir=\pkg{memoir}>page notes}
+\begin{sourcedisplay}
+\cs{crefname}\{pagenote\}\{page note\}\{page notes\} \\
+\cs{Crefname}\{pagenote\}\{Page note\}\{Page notes\}
+\end{sourcedisplay}
+Note that for print mode,
+\margintag{page note \cs{nameref}}
+\cs{nameref} print the section name where the page notes are
+declared in the text, but for \HTML\ it prints the name where the page notes are printed.
+
+Poem numbering is not supported.\watchout[poems]
+
The \env{verbatim} environment does not yet support the \pkg{memoir} enhancements.
+\watchout[\env{verbatim}]
It is currently recommended to load and use \pkg{fancyvrb} instead.
The \pkg{memoir} glossary system is not yet supported by \prog{lwarpmk}.
+\watchout[glossaries]
The \pkg{glossaries} package may be used instead,
but does require the glossary entries be
changed from the \pkg{memoir} syntax to the \pkg{glossaries} syntax.
@@ -1116,6 +1143,10 @@
text in the \HTML-tagged \PDF\ output. For some settings of
\cs{HTMLleftmargini} or \cs{HTMLleftskip} the horizontal alignment may not work out
exactly, in which case a label may be shifted by one space.
+\trouble[\env{verse} margin]{verse=\pkg{verse}>margin}
+\trouble{memoir=\pkg{memoir}>verse>margin}
+During translation to \HTML, the stanza numbers are kept out of the left margin,
+which would have caused \prog{pdftotext} to shift everything over.
}
@@ -1224,8 +1255,9 @@
\subsubsection{\brand{MathJax} option}
\label{sec:limitsmathjax}
-The popular \brand{MathJax} alternative (\url{mathjax.org}) may be used to display math.
+The \brand{MathJax} (\url{mathjax.org}) \LaTeX-math to \HTML\ converter
\margintag{\brand{MathJax} math option}
+may be used to display math.
\DescribeProgram{MathJax}
\gindex{math>mathjax=\brand{MathJax} summary}
\gindex{mathjax=\brand{MathJax}>summary}
@@ -1237,8 +1269,9 @@
\item As detokenized printed \LaTeX{} commands placed directly into the \HTML\ output
for interpretation by the \brand{MathJax} display scripts. An additional script is used to
pre-set the equation number format and value according to the current \LaTeX\ values,
-and the \brand{MathJax} cross-referencing system is ignored in favor of the \LaTeX\ internal system,
-seamlessly integrating with the rest of the \LaTeX\ code.
+and the \brand{MathJax} equation numbering system is ignored in favor of the \LaTeX\ internal system,
+seamlessly integrating with the rest of the \HTML\ output, including any math
+appearing in non-\brand{MathJax} \SVG\ output.
\end{enumerate}
\subsubsection{Customizing \brand{MathJax}}
@@ -1264,12 +1297,6 @@
\cs{multicolumn} only fills a single cell, resulting in a short row.
\cs{multirow} simply prints its text on the first line.
-\item \brand{MathJax} does not support subequations.
- \trouble[subequations]{mathjax=\brand{MathJax}>subequations}%
- \trouble{math>subequations}%
- This may be improved by parsing the \LaTeX{}
- math expression to manually insert tags, but this has not yet been done.
-
\item Footnotes are emulated when used inside a \brand{MathJax} expression.
\watchout[footnotes]
For an equation with a single footnote, the correct footnote number is used.
@@ -1289,7 +1316,7 @@
\item Math appearing inside a lateximage,
\margintag{lateximage}
and therefore also inside a \tikz\ or \env{picture}
- environment, is rendered as SVG math even if \brand{MathJax}
+ environment, is rendered as \SVG\ math even if \brand{MathJax}
is used in the rest of the document.
\item For \pkg{siunitx},
@@ -1305,19 +1332,23 @@
While \brand{MathJax} is enabled inside \env{tabbing}, the browser may not correctly
render the horizontal alignment of the math and text following after on the same line.
-\item Other math-related macros and packages are not directly supported by \brand{MathJax},
+\item \brand{MathJax} includes the \prog{textmacros} extension,
+ \margintag{\cs{text}}
+ which supports various macros which are commonly used inside \cs{text},
+ such as \cs{textbf} and text accents.
+ \pkg{Lwarp} supports this extension.
+
+\item Many other math-related macros and packages are
\trouble[other macros and packages]{mathjax=\brand{MathJax}>unsupported packages}
- including \cs{ensuremath} and \pkg{bigdelim},
- and occasionally-used macros such as \cs{relax}.
+ \trouble{package>mathjax=\brand{MathJax} support}
+ not directly supported by \brand{MathJax},
+ including \cs{ensuremath} and occasionally-used macros such as \cs{relax}.
While using \brand{MathJax}, \pkg{lwarp} provides emulation
- for footnotes, \pkg{bm}, \pkg{mathtools},
- \pkg{nicefrac}, \pkg{siunitx}, and \pkg{units}.
-
-\item Starred macros are generally not supported
- \trouble[starred macros]{starred macros>mathjax=\brand{MathJax}}
- \trouble{math>starred macros and mathjax=\brand{MathJax}}
- \trouble{mathjax=\brand{MathJax}>starred macros}
- by MathJax or the \pkg{lwarp} emulations.
+ for many of these macros, as well as for footnotes and emulation for
+ dozens of packages (see \cref{tab:supported}).
+ In many cases these emulations simply ignore the package in a source-compatible way.
+ Others produce a result which represents the meaning, even if they don't look exact.
+ Look up each package in this document for a description of the limitations of each.
\end{itemize}
}
@@ -1345,7 +1376,7 @@
\DescribeMacro{\inlinemathnormal}
\DescribeMacro{\inlinemathother}
An inline math expression is usually converted to a reusable hashed \SVG\ math
-image, or a MathJax expression. The hash or expression depends on the contents
+image, or a \brand{MathJax} expression. The hash or expression depends on the contents
of the math expression. In most cases this math expression is static, such as \texttt{\$x+1\$},
so the image can be reused for multiples instances of the same expression.
In some cases,
@@ -1355,9 +1386,13 @@
Another problem is complicated contents
\margintag{complicated \attribute{alt} tag}
which do not expand well in an \attribute{alt} tag.
-The macro \cs{inlinemathother} may be used before a dynamic
-math expression, and \cs{inlinemathnormal} after. Doing so tells \pkg{lwarp} to
-use an unhashed \SVG\ math image, even if MathJax is in use.
+Yet another problem is math packages which are only partially emulated
+\margintag{\brand{MathJax} limitations}
+in \brand{MathJax}.
+The macro \cs{inlinemathother} may be used before a sequence of dynamic or complicated
+math expressions, and \cs{inlinemathnormal} after. Doing so tells \pkg{lwarp} to
+use unhashed \SVG\ math images for those particular expressins, even if \brand{MathJax}
+is otherwise in use.
See \cref{sec:localizingdynamicmath}.
}
@@ -1365,7 +1400,7 @@
\DescribeMacro{\displaymathnormal}
By default, or when selecting \cs{displaymathnormal},
\brand{Mathjax} math display environments print their contents
-as text into \HTML,
+as text into \HTML\ for \brand{MathJax} to interpret,
and \SVG\ display math environments render their contents as \SVG\ images
and use their contents as the \attribute{alt} tag of \HTML\ output.
To do so, the contents are loaded into a macro for reuse.
@@ -1376,7 +1411,7 @@
it is assumed that the contents are more complicated than ``pure''
math.
An example is an elaborate \tikz\ picture,
-\margintag{MathJax unsupported}
+\margintag{\brand{MathJax} unsupported}
which will not render in \brand{MathJax} and
will not make sense as an \HTML\ \attribute{alt} tag.
\margintag{complicated \attribute{alt} tag}
@@ -1389,6 +1424,27 @@
\newcommand{\limitscustomizemathjax}{%
+\pkg{lwarp} detects and adjusts \brand{MathJax} equation numbering format for
+\margintag{equation numbering}
+\gindex{equation numbering>mathjax=\brand{MathJax}}
+\gindex{math>equation numbering, mathjax=\brand{MathJax}}
+\gindex{mathjax=\brand{MathJax}>equation numbering}
+\trouble{equation numbering>mathjax=\brand{MathJax}}
+\trouble{mathjax=\brand{MathJax}>equation numbering}
+\trouble{math>equation numbering>mathjax=\brand{MathJax}}
+\pkg{article} and \pkg{book} style equations as well as
+\pkg{amsmath} \cs{numberwithin} for chapters, sections, and subsections.
+Custom equation number formats may be set as follows, for example:
+\begin{sourcedisplay}
+\cs{renewcommand*}\{\cs{theequation}\}\{\cs{Alph}\{section\}.\cs{arabic}\{equation\}\} \\
+\textred{\cs{AtBeginDocument}\{} \\
+ \fquad\cs{renewcommand*}\{\cs{theMathJaxsection}\}\{\cs{Alph}\{section\}.\} \\
+\textred{\}}
+\end{sourcedisplay}
+The \pkg{amsmath} \env{subequations} environment is supported, but only
+\watchout[\env{subequation}]
+with \cs{alpha} subequation numbering.
+
\brand{MathJax} does not have preexisting support every possible math function.
\margintag{global customizations}
Additional \brand{MathJax} function definitions may be
@@ -1447,9 +1503,45 @@
To maintain compile speed, use the \env{warpMathJax} environment,
and use a separate math environment for each definition.
-Starred macros are generally not supported
- \watchout[starred macros]
- by MathJax or the \pkg{lwarp} emulations.
+\DescribeMacro{\ifstar}
+For \brand{MathJax}, use \cs{ifstar} instead of \cs{@ifstar}:
+\gindex{starred macros}
+\gindex{ifnextstar=\cs{@ifnextstar} with \brand{MathJax}}
+\gindex{@ifstar=\cs{@ifstar} with \brand{MathJax}}
+\gindex{mathjax=\brand{MathJax}>starred macros}
+\trouble{mathjax=\brand{MathJax}>starred macros}
+\trouble{math>starred macros and mathjax=\brand{MathJax}}
+\gindex{mathjax=\brand{MathJax}>@ifstar=\cs{@ifstar} macros}
+\trouble{mathjax=\brand{MathJax}>@ifstar=\cs{@ifstar} macros}
+\trouble{math>@ifstar=\cs{@ifstar} macros and \brand{MathJax}}
+\begin{sourcedisplay}
+\cs{CustomizeMathJax}\{ \\
+ \fquad \cs{def}\cs{myname}\{\\
+ \fqquad \cs{ifstar}\cs{starredaction}\cs{unstarredaction} \\
+ \fqquad \% \textred{(Do not place anything after!)} \\
+ \fquad \}
+\}
+\end{sourcedisplay}
+
+\DescribeMacro{\ifnextchar}
+For \brand{MathJax}, use \cs{ifnextchar} instead of \cs{@ifnextchar}:
+\gindex{@ifnextchar=\cs{@ifnextchar} with \brand{MathJax}}
+\gindex{ifnextchar=\cs{@ifnextchar} with \brand{MathJax}}
+\gindex{mathjax=\brand{MathJax}>@ifnextchar=\cs{@ifnextchar} macros}
+\trouble{mathjax=\brand{MathJax}>@ifnextchar=\cs{@ifnextchar} macros}
+\trouble{math>@ifnextchar=\cs{@ifnextchar} macros and \brand{MathJax}}
+\begin{sourcedisplay}
+\cs{CustomizeMathJax}\{\cs{def}\cs{myname}\{\cs{ifnextchar} X \cs{found}\cs{notfound}\}\}
+\end{sourcedisplay}
+``\texttt{X}'' may be a single \acro{ASCII} character,
+or a hex number inside braces, ex:
+\begin{sourcedisplay}
+\cs{CustomizeMathJax}\{\cs{def}\cs{myname}\{\cs{ifnextchar}\{0x7B\}\cs{found}\cs{notfound}\}\}
+\end{sourcedisplay}
+Use ``\texttt{(}'' or ``\texttt{\{0x28\}}'' for a left parenthesis,
+``\texttt{\{0x7B\}}'' for a left brace,
+``\texttt{\{0x7D\}}'' for a right brace,
+or ``\texttt{\{0x5C\}}'' for a backslash.
}
%\newcommand{\limitscustomizeKaTeX}{%
@@ -1479,10 +1571,10 @@
\trouble{math>file name}
instead of dollar math \texttt{\$x+y\$}.
(Dollar math works, but appears in the filename.)
-Or, use a short name for the \TOC\ entry without the math, or use \cs{texorpdfstring}:
+Or, use a short name for the \TOC\ entry without the math, or use \cs{texorpdfstring}
+from the \pkg{hyperref} package:
\begin{sourcedisplay}
-\cs{section}\{A name with math \\
- \fqquad \cs{texorpdfstring}\{\$1+2=3\$\}\{text description\}\}
+\cs{section}\{Some math \cs{texorpdfstring}\{\$1+2=3\$\}\{three\}\}
\end{sourcedisplay}
}
@@ -1497,7 +1589,6 @@
If using \brand{MathJax}:
\trouble[\brand{MathJax}]{mathjax=\brand{MathJax}>mathtools=\pkg{mathtools}}
\begin{itemize}
- \item Starred macros are not available. Starred environments do work.
\item \pkg{mathtools} \optn{disallowspaces} does not work for \brand{MathJax}.
Protect brackets which are not optional arguments, such as:
\begin{sourcedisplay}
@@ -1513,14 +1604,19 @@
\item For the new \env{cases}-like environments,
\cs{text} must be used to set the normal roman font if desired.
\item \env{alignat} in \brand{MathJax} requires math mode, but
- in \LaTeX it doesn't. It may be required to use \env{warpHTML} and
+ in \LaTeX\ it doesn't. It may be required to use \env{warpHTML} and
\env{warpprint} to isolate a version for each mode.
- \item \cs{DeclareParedDelimiter} and related must be in the preamble
+ \item \cs{DeclarePairedDelimiter} and related must be in the preamble
before \linebreak \texttt{\cs{begin}\{document\}}.
- The starred versions of each macro are not created.
\end{itemize}
}
+\newcommand{\limitsacro}{%
+Define acronymn formats using \cs{textbf} instead
+\watchout[formats]
+of \cs{bfseries} etc.
+}
+
\newcommand{\limitschemfig}{%
If using \cs{polymerdelim} to add delimiters to a \cs{chemfig},
wrap both inside a single \env{lateximage}:
@@ -1553,11 +1649,34 @@
Font control is via \CSS, and the custom \LaTeX\ font settings
are ignored.
+If the print version does not use \pkg{cleveref},
+\trouble[cref reference format undefined]{ntheorem=\pkg{ntheorem}>cref reference format}
+\trouble{cref reference format}
+\trouble{cleveref=\pkg{cleveref}>cref reference format}
+place all \cs{theoremstyle} and \cs{newtheorem}
+declarations in the preamble inside \cs{AtBeginDocument}.\footnote{%
+ \pkg{lwarp} uses \pkg{cleveref} for the \HTML\ conversion,
+ and loads \pkg{cleveref} \cs{AtEndPreamble}, just before \cs{AtBeginDocument}.%
+}
+For some theorems, it may also be required to add inside \cs{AtBeginDocument}
+something such as:
+\begin{sourcedisplay}
+\cs{AtBeginDocument}\{ \% if not using cleveref package \\
+ \fquad \cs{theoremstyle}\{definition\} \\
+ \fquad \cs{newtheorem}\{dtheorem\}\{Definition\} \\
+ \fquad \dots \\
+ \fquad \cs{usepackage}\{etoolbox\} \% for \cs{ifdef} \\
+ \fquad \cs{ifdef}\{\cs{cref}\}\{ \\
+ \fqquad \cs{crefname}\{Proof\}\{Proof\}\{Proofs\} \\
+ \fquad \}\{\} \\
+\}
+\end{sourcedisplay}
+
\limitsntheoremnumbering
}
\newcommand{\limitsntheoremnumbering}{%
-\pkg{ntheorem} has a bug with equation numbering in \AmS\ environments%
+\pkg{ntheorem} has a bug with equation numbering in \AmS\ environments
\trouble[Equation numbering]{ntheorem=\pkg{ntheorem}>numbering}
\trouble{math>equation numbering>ntheorem=\pkg{ntheorem}}
\trouble{AMSmath>ntheorem=\pkg{ntheorem}>numbering}
@@ -1597,7 +1716,7 @@
\end{sourcedisplay}
\DescribeProgram{pdftocairo}
-\margintag{PDF to SVG}
+\margintag{\PDF\ to \SVG}
To convert a \PDF\ image to \SVG, use the utility \prog{pdftocairo}:
\userentry{pdftocairo -svg filename.pdf}
For a large number of images, use \prog{lwarpmk}:
@@ -1611,7 +1730,7 @@
use \userentry{lwarpmk pdftosvg *.PDF} to convert to \SVG\ images.
When using \DVI\ \prog{latex},
-\margintag{DVI latex}
+\margintag{\DVI\ \LaTeX}
it is necessary to convert \EPS\ to \PDF\ and then to \SVG:
\gindex{image>PDF or EPS>converting}
\userentry{lwarpmk epstopdf *.eps\qquad \textrm{(or a list of filenames)}}
@@ -1618,7 +1737,7 @@
\userentry{lwarpmk pdftosvg *.pdf\qquad \textrm{(or a list of filenames)}}
For \PNG\ or \JPG
-\margintag{PNG and JPG}
+\margintag{\PNG\ and \JPG}
\gindex{image>PNG and JPG}
\gindex{PNG images}
\gindex{JPG images}
@@ -1627,8 +1746,8 @@
but will also be used without the file extension if it is the only file of
its base name.
-GIF files may be used for \HTML,
-\margintag{GIF}
+\GIF\ files may be used for \HTML,
+\margintag{\GIF}
\gindex{image>GIF}
\gindex{GIF images}
but another format must also be provided for print output.
@@ -1777,9 +1896,9 @@
}
\newcommand{\limitscolor}{%
-\pkg{color} is superceded by \pkg{xcolor}, and
-\pkg{lwarp} requires several of the features of \pkg{xcolor}.
-When \pkg{color} is requested, \pkg{xcolor} is loaded as well.
+ \pkg{color} is superceded by \pkg{xcolor}, and
+ \pkg{lwarp} requires several of the features of \pkg{xcolor}.
+ When \pkg{color} is requested, \pkg{xcolor} is loaded as well.
}
\newcommand{\limitsxcolor}{%
@@ -1965,6 +2084,36 @@
\trouble[floatrow]{floatrow=\pkg{floatrow}>ttabbox=\cs{ttabbox}}
which used \cs{ttabbox} from \pkg{floatrow}.
\item \limitsresumetabular
+ \item To automate the use of \cs{StartDefiningTabulars}
+ \gindex{StartDefiningTabulars=\cs{StartDefiningTabulars}}
+ \gindex{tabular>StartDefiningTabulars=\cs{StartDefiningTabulars}}
+ \gindex{tabular>in environments, catcode of \&}
+ \margintag{For developers:}
+ and \cs{EndDefiningTabulars},
+ these macros may be embedded inside an \HTML\ environment definition
+ to automatically change the catcode of \texttt{\&} before
+ absorbing the arguments.
+ Another environment may be embedded as well.
+ \begin{sourcedisplay}
+ \% Does the work after the catcode has been changed: \\
+ \cs{newcommand}*\{\textblue{\cs{LWR at HTML@subsomename}}\}[2]\{\% \\
+ \fquad \dots \\
+ \fquad \textgreen{\cs{otherenvironmentname} [<args>] \{<args>\}}\quad \% for example \\
+ \} \\
+ \% Change catcode before absorbing arguments: \\
+ \cs{newcommand}*\{\cs{LWR at HTML@somename}\{\% \\
+ \fquad \textred{\cs{StartDefiningTabulars}} \\
+ \fquad \textblue{\cs{LWR at HTML@subsomename}} \\
+ \} \\
+ \% Change catcode again at the end: \\
+ \cs{newcommand}*\{\cs{LWR at HTML@endsomename}\}\{\% \\
+ \fquad \dots \\
+ \fquad \textgreen{\cs{endotherenvironmentname}} \quad \% for example \\
+ \fquad \textred{\cs{StopDefiningTabulars}} \\
+ \} \\
+ \% Combine with the existing print definition: \\
+ \cs{LWR at formattedenv}\{somename\}
+ \end{sourcedisplay}
\end{itemize}
\item [Cell contents:] \
@@ -2148,16 +2297,16 @@
To fix this, use \cs{ResumeTabular} as follows.
This is ignored in print mode.
\begin{sourcedisplay}
-\textred{\cs{StartDefiningTabulars}} \% because \& is used in a definition \\
+\textred{\cs{StartDefiningTabulars}} \% \quad (\& is used in a definition) \\
\cs{newenvironment}\{outerenvironment\} \\
\{ \\
-\cs{tabular}\{cc\} \\
-left \& right \textbackslash\textbackslash \\
+\fquad \cs{tabular}\{cc\} \\
+\fquad left \& right \textbackslash\textbackslash \\
\} \\
\{ \\
-\textred{\cs{TabularMacro}\cs{ResumeTabular}} \\
-left \& right \textbackslash\textbackslash \\
-\cs{endtabular} \\
+\fquad \textred{\cs{TabularMacro}\cs{ResumeTabular}} \\
+\fquad left \& right \textbackslash\textbackslash \\
+\fquad \cs{endtabular} \\
\} \\
\textred{\cs{StopDefiningTabulars}} \\
\end{sourcedisplay}
@@ -2432,11 +2581,12 @@
Also see \pkg{lwarp}'s \cs{fboxBlock} macro and \env{fminipage} environment for
alternatives to \cs{fbox} for framing environments.
-The \pkg{fancybox} documentation's example framed table
+The \pkg{fancybox} documentation's example of a framed table
\margintag{framed table example}
using an \cs{fbox} containing a \env{tabular}
does not work with \pkg{lwarp}, but the \env{FramedTable} environment does work if
-\cs{fbox} is replaced by \cs{fboxBlock}. This method loses \HTML\ formatting.
+\cs{fbox} is replaced by \cs{fboxBlock}.
+This method does lose some \HTML\ formatting.
A better method is to enclose the table's contents inside a \env{fminipage} environment.
The caption may be placed either inside or outside the \env{fminipage}:
\begin{sourcedisplay}
@@ -2573,6 +2723,16 @@
% would appear in the List of Figures/Tables before the enclosing figure/table,
% therefore \pkg{lwarp} does not place subfigures in the LOF/LOT.
+To have correct sub table numbers:
+\trouble[table numbering]{table>numbering>subfig=\pkg{subfig}}
+\trouble{subfig=\pkg{subfig}>numbering}
+\trouble{subtable>numbering>subfig=\pkg{subfig}}
+\begin{sourcedisplay}
+\cs{usepackage}\{caption\}\\
+\cs{captionsetup}[table]\{position=top\}
+\end{sourcedisplay}
+
+
At present, the package options for \optn{lofdepth} and \optn{lotdepth}
\trouble[\optn{lof/lotdepth}]{subfig=\pkg{subfig}>options}
are not working. These counters must be set separately after the
@@ -2579,7 +2739,7 @@
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
@@ -2661,18 +2821,17 @@
\trouble[MathJax]{mathjax=\brand{MathJax}>siunitx=\pkg{siunitx}}
a limited emulation is used.
Most functions work reasonably well, but many options cannot be emulated.
-\pkg{siunitx} macros with more than one optional value cannot absorb the second optional
-value, and complicated parsing such as for \cs{ang} is not supported.
+Complicated parsing such as for \cs{ang} is not supported.
The result usually looks fine, and otherwise is enough to get the meaning across.
-\pkg{lwarp}'s \brand{MathJax} emulation for \pkg{siunitx} is meant to be a
-stop-gap measure until an extension is included in \brand{MathJax}.
-As of this writing, the third-party \pkg{siunitx} extension
-for \brand{MathJax} is not currently hosted at any public CDN,
-thus \pkg{siunitx} is not usable with this extension unless a local copy
-of this extension is created first.
-See \cs{MathJaxFilename} to select a custom MathJax script, but \pkg{lwarp}'s
-emulation would have to be diabled as well.
+% \pkg{lwarp}'s \brand{MathJax} emulation for \pkg{siunitx} is meant to be a
+% stop-gap measure until an extension is included in \brand{MathJax}.
+% As of this writing, the third-party \pkg{siunitx} extension
+% for \brand{MathJax} is not currently hosted at any public CDN,
+% thus \pkg{siunitx} is not usable with this extension unless a local copy
+% of this extension is created first.
+% See \cs{MathJaxFilename} to select a custom \brand{MathJax} script, but \pkg{lwarp}'s
+% emulation would have to be diabled as well.
Document modifications required for \brand{MathJax}:
\begin{itemize}
@@ -2705,29 +2864,18 @@
\newcommand{\limitsphysics}{%
\pkg{physics} works as-is for \HTML\ with \SVG\ math.
-For \brand{MathJax}, emulation is provided via \brand{MathJax} macros.
-These are not the same as the third-party \brand{MathJax} extension.
-
-\begin{itemize}
-\item The \optn{notrig} option is honored.
-\item Starred macros are not yet detected.\watchout
-\item Most macros don't work with \cs{big}, etc.\watchout
-\item Macros do not auto-detect variable numbers of mandatory arguments. \watchout
- Provide empty \texttt{\{\}} arguments for those which are not used.
-\item Many of the macros do not work with auto-detected delimiters. \watchout
- Use the delimiter-specific versions instead.
- Some macros do not even consider the following arguments,
- so they may work as expected.
-\item For \cs{Re} and \cs{Im}, the arguments must be in braces.\watchout
-\item For \cs{functionalderivative}, for the example in the manual with $(E-TS)$,
- enclose the parens in braces.
-\item \cs{expectationvalue} requires and uses two mandatory arguments, \watchout
- unlike the third-party \brand{MathJax} \pkg{physics} extension.
-\item Each of \cs{matrixquantity}, \cs{smallmatrixquantity},
- and \cs{matrixdeterminant} work,
- while \cs{identitymatrix} and the following simply print a place-holder,
- and must be replaced by hand.
-\end{itemize}
+For \brand{MathJax}, the \brand{MathJax} v3 \pkg{physics} extension is used.
+% emulation is provided via \pkg{lwarp}'s \brand{MathJax} macros.
+% These are not the same as the third-party \brand{MathJax} extension.
+%
+% \begin{itemize}
+% \item The \optn{notrig} option is honored.
+% \item Most macros don't work with \cs{big}, etc.\watchout
+% \item Each of \cs{matrixquantity}, \cs{smallmatrixquantity},
+% and \cs{matrixdeterminant} work,
+% while \cs{identitymatrix} and the following simply print a place-holder,
+% and must be replaced by hand using \env{warpprint} and \env{warpHTML}.
+% \end{itemize}
}
@@ -2743,7 +2891,8 @@
\newcommand{\limitsbabeltwo}{%
When French is used, the caption separator is
\trouble[\cs{CaptionSeparator}]{babel=\pkg{babel}>French}
-changed to a dash. The following may be used to restore it to a colon:
+changed to a dash. To restore it to a colon,
+the following may be placed before \pkg{lwarp} is loaded:
\begin{sourcedisplay}
\cs{renewcommand}*\{\cs{CaptionSeparator}\}\{:\textasciitilde\}
\end{sourcedisplay}
@@ -2762,12 +2911,12 @@
}
\newcommand{\limitspolyglossia}{%
-\trouble{Undefined control sequence>polyglossia=\pkg{polyglossia}}
-\trouble{polyglossia=\pkg{polyglossia}>Undefined control sequence}
+\trouble{Undefined control sequence \dots begindocument>polyglossia=\pkg{polyglossia}}
+\trouble{polyglossia=\pkg{polyglossia}>Undefined control sequence \dots begindocument}
\pkg{lwarp} uses \pkg{cleveref}, which has some limitations when using
\pkg{polyglossia}, possibly resulting in the error
\begin{sourcedisplay}
-!~Undefined control sequence. \dots\ \cs{@begindocumenthook}
+!~Undefined control sequence. \dots\ \cs{\_\_hook} begindocument
\end{sourcedisplay}
To test compatibility, add
@@ -2824,29 +2973,8 @@
\bigskip
}
-\newcommand{\limitsxparse}{%
-\trouble{xparse=\pkg{xparse}}
-To remove from the log any warnings about redeclaring objects,
-place the following before \pkg{lwarp} is loaded:
-\begin{sourcedisplay}
-\cs{usepackage}[log-declarations=false]\{xparse\}
-\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}{
Due to changes in \prog{lwarpmk},
@@ -2925,7 +3053,7 @@
%<*package>
% \fi
%
-% \CheckSum{43597}
+% \CheckSum{53146}
%
% \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
@@ -3051,6 +3179,17 @@
% \changes{v0.81}{2020/03/04}{\ 2020/03/04}
% \changes{v0.82}{2020/03/25}{\ 2020/03/25}
% \changes{v0.83}{2020/03/27}{\ 2020/03/27}
+% \changes{v0.84}{2020/04/24}{\ 2020/04/24}
+% \changes{v0.85}{2020/05/01}{\ 2020/05/01}
+% \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}
+% \changes{v0.891}{2020/09/22}{\ 2020/09/22}
+% \changes{v0.892}{2020/10/07}{\ 2020/10/07}
+% \changes{v0.893}{2020/11/26}{\ 2020/11/26}
+% \changes{v0.894}{2020/12/24}{\ 2020/12/24}
+% \changes{v0.895}{2021/02/18}{\ 2021/02/18}
@@ -3074,7 +3213,7 @@
%
% \fileversion{} \Dash \filedate
%
-% {\small\textcopyright{} 2016--2020} Brian Dunn\\ \small \texttt{bd at BDTechConcepts.com}
+% {\small\textcopyright{} 2016--2021} Brian Dunn\\ \small \texttt{bd at BDTechConcepts.com}
%
% \end{center}
%
@@ -3083,9 +3222,10 @@
% 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 90 also support \brand{MathJax}.
+%
% Documents may be produced by \DVI\ or \PDF\ \LaTeX, Lua\LaTeX, \XeLaTeX;
% by several CJK engines, classes, and packages;
% or by customized systems such as \pkg{perltex} and \pkg{pythontex}.
@@ -3273,11 +3413,261 @@
%
% \begin{description}
% \needspace{2\baselineskip}
+% \item[v0.895:] Vector packages, greatly improved \brand{MathJax} for \pkg{siunitx}.
+% \begin{itemize}
+% \item Fixed quotes in \HTML\ tags while using old font packages with
+% \margintag{core}
+% \XeLaTeX\ and \LuaLaTeX.
+% \item Added \cs{ifblank} and \cs{ifstrequal} to \brand{MathJax} emulation.
+% \margintag{\brand{MathJax}}
+% \item \pkg{multirow}: Allow \cs{par} per v2.7.
+% \margintag{packages}
+% \item \pkg{acro}: Updated to v3.5.
+% \item \pkg{fancyhdr}: Updated to v4.0.
+% \item \pkg{changes}: Updated to v4.0.1.
+% \item \pkg{epsfig}, \pkg{rotating}: Now work inside \env{lateximage}.
+% \item \pkg{amscdx}: Verified to work with \SVG\ math.
+% Warning added about use with \brand{MathJax}.
+% \item Added \brand{MathJax} emulation for \pkg{isomath}, \pkg{mattens},
+% \pkg{maybemath}, \pkg{skmath}, \pkg{tensor}.
+% \item Improved \brand{MathJax} emulation for \pkg{siunitx} \cs{ang},
+% \cs{num}, \cs{SI}.
+% \item Added \pkg{epsf}, \pkg{impnattypo}, \pkg{isotope},
+% \pkg{lpic}, \pkg{luavlna},
+% \pkg{mdwmath}, \pkg{pinlabel}, \pkg{rlepsf},
+% \pkg{tikz-imagelabels}, \pkg{xevlna}.
+% \item Verified to work as-is: \pkg{tensind}.
+% \end{itemize}
+% \needspace{2\baselineskip}
+% \item[v0.894:] \brand{MathJax} additions and improvements.
+% \begin{itemize}
+% \item Improved warning message for enabling \SVG\ graphics for
+% \margintag{\brand{MathJax}}
+% select math expressions while using \brand{MathJax}.
+% \item Accept and ignore a star for \cs{hspace}.
+% \item Ignores \cs{arabic}, \cs{number}, \cs{noalign}.
+% \item Added \brand{MathJax} emulation for \pkg{backnaur},
+% \pkg{colortbl}, \pkg{nicematrix}.
+% \margintag{packages}
+% \item \pkg{booktabs}: \brand{MathJax} emulation now absorbs and discards trim.
+% \item \pkg{menukeys}: Updated to v1.6.1.
+% \end{itemize}
+% \needspace{2\baselineskip}
+% \item[v0.893:] Minor fixes, more packages.
+% \begin{itemize}
+% \item Added \brand{MathJax} emulation for \cs{mathnormal}.
+% \margintag{\brand{MathJax}}
+% \item Fixed \pkg{pstricks} \env{pspicture*}.
+% \margintag{packages}
+% \item Fixed \pkg{tikz} font macros.
+% \item \pkg{braket}: Now uses the \brand{MathJax} extension.
+% \item Added \pkg{esvect}, \pkg{fixmath}, \pkg{keystroke}, \pkg{mathastext},
+% \pkg{menukeys}, \pkg{picinpar}, \pkg{plimsoll}, \pkg{repltext},
+% \pkg{selectp}, \pkg{seqsplit}, \pkg{simplebnf}, \pkg{statistics},
+% \pkg{swfigure}.
+% \item Added \brand{MathJax} emulation for \pkg{mathspec}.
+% \item Verified to work as-is for \pkg{apxproof}, \pkg{syntaxdi}, \pkg{venndiagram}.
+% \end{itemize}
+% \needspace{2\baselineskip}
+% \item[v0.892:] \pkg{minted}, \pkg{fvextra}, \brand{MathJax} \cs{left} \Slash \cs{right}.
+% \begin{itemize}
+% \item \pkg{fourier}, \pkg{libertinust1math}, \pkg{newpxmath}, \pkg{newtxmath},
+% \margintag{\brand{MathJax}}
+% \pkg{newtxsf}, \pkg{unicode-math}: Added \brand{MathJax}
+% \cs{left} \Slash \cs{right} support for additional delimiters.
+% \item \pkg{textpos}: Updated to v1.10.
+% \margintag{packages}
+% \item \pkg{xcolor}: Fixed optional args for \cs{fcolorbox} and related.
+% \item Added \pkg{fvextra}, \pkg{minted}.
+% \end{itemize}
+% \needspace{2\baselineskip}
+% \item[v0.891:] \brand{MathJax} additions and improvements.
+% \begin{itemize}
+% \item Now displays inline \cs{verb} text as \cs{texttt}.
+% \margintag{core}
+% \item Fixed \pkg{alltt} and verbatims with \LaTeX\ lists.
+% \item Now generates an error if nested each of \env{warpHTML}, \env{warpprint}, \env{warpMathJax}
+% inside itself.
+% \item Added \brand{MathJax} \prog{textmacros} extension, allowing
+% \margintag{\brand{MathJax}}
+% formatting inside \cs{text}.
+% \item \pkg{biblatex}, \pkg{hyperref}: Added back page references.
+% \margintag{packages}
+% \item \pkg{fancyvrb}: Fixed \env{BVerbatim} with a label.
+% \item \pkg{listings}: Fixed \brand{MathJax} with captions, improved \HTML\ sanitation.
+% \item \pkg{babel-french}: Fixed \cs{texorpdfstring} conflict.
+% \item Now honors Greek package options for \pkg{mathdesign},
+% \pkg{mathpazo}, \pkg{mathptmx},
+% \pkg{newpxmath}, \pkg{newtxmath}.
+% \item Improved \brand{MathJax} for \pkg{colonequals}, \pkg{mathdesign},
+% \pkg{mathdots}, \pkg{mathfixs}, \pkg{mathtools}, \pkg{multiobjective},
+% \pkg{nicefrac}, \pkg{shuffle}, \pkg{units}.
+% \item \pkg{unicode-math}: Added Greek macros, as well as macros for
+% the first several categories listed in \cmds{texdoc unimath-symbols}.
+% Improved symbol shape macros with Greek. Improved documentation.
+% \item Added \pkg{bussproofs}, \pkg{cmbright}, \pkg{fourier},
+% \pkg{kpfonts}, \pkg{kpfonts-otf},
+% \pkg{libertinust1math}, \pkg{scalerel}, \pkg{txgreeks}.
+% \end{itemize}
+% \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,
+% of which more than 60 also support \brand{MathJax}.}
+% \item Fixed: \cs{ref*}, and also added \brand{MathJax} emulation.
+% \margintag{core}
+% \item If starting a new paragraph, \cs{hrulefill} creates a
+% \element{div} with a thin horizontal line across the page.
+% Use instead of \cs{hrule}.
+% \item Fixed: Use \cs{chaptername} where appropriate.
+% \item Fixed: Inline links causing extraneous paragraphs.
+% \item Added \cmds{lwarpmk -v} to print the version number.
+% \margintag{\prog{lwarpmk}}
+% \item Added the \optn{IndexRef} option to control the display of index entries.
+% \margintag{indexing}
+% See \cref{sec:optionindexref}.
+% \item Added \cs{IndexPageSeparator} and \cs{IndexRangeSeparator} for custom index styles.
+% \item Added support for \pkg{gindex}, \prog{xindex}.
+% \item Verified to work as-is with \pkg{varindex}.
+% \item \pkg{cleveref}, \pkg{varioref}: Fix for starred macros.
+% \margintag{packages}
+% \item \pkg{varioref}: Removed page-related text from \HTML\ output.
+% \item \pkg{xfakebold}: Updated to v0.08, using \pkg{pdfrender}.
+% \item \pkg{caption}, \pkg{scrextend}: Fixed \cs{caption*}.
+% \item Added \pkg{fbox}, \pkg{shadethm}, \pkg{tcolorbox}, \pkg{termcal},
+% \pkg{thmbox}, \pkg{thmtools}.
+% \end{itemize}
+% \needspace{2\baselineskip}
+% \item[v0.87:] \brand{MathJax}, bibliography packages.
+% \begin{itemize}
+% \item Added boolean \bool{FixSmallCaps} for fonts which render small caps as
+% \margintag{core}
+% all caps.
+% \item Fixed \cs{bibliography} to use the \HTML\ version's \filenm{.bbl} file.
+% Previously the \HTML\ bibliography relied on the print version's \filenm{.bbl},
+% thus would fail if the print document had not yet been created.
+% \item Added \cs{ifstar} and \cs{ifnextchar} to \brand{MathJax}, and
+% \margintag{\brand{MathJax}}
+% removed \cs{DeclareIfstar}.
+% \watchout[Removed \cs{DeclareIfstar}]
+% See \cref{sec:limitscustomizemathjax}.
+% \item \pkg{physics}: Now supports the \brand{MathJax} v3 extension.
+% \margintag{packages}
+% \item \pkg{mathtools}: Improved \cs{underbrakcet}, \cs{overbracket} for \brand{MathJax}.
+% \item \pkg{nccmath}: Improved \cs{underrel} for \brand{MathJax}.
+% \item \pkg{mhchem}: Now supports the \brand{MathJax} v3 extension for \cs{ce} inside math.
+% \item \pkg{cancel}: Now supports the \brand{MathJax} v3 extension.
+% \item \pkg{embrac}: Neutralized kerning for improved \HTML\ conversion.
+% \item Added \pkg{citeref}, \pkg{drftcite}, \pkg{jurabib}, \pkg{multibib}, \pkg{splitbib}.
+% \item Verified to work as-is with \pkg{bibtopic}, \pkg{collref}, \pkg{mciteplus}.
+% \end{itemize}
+% \needspace{2\baselineskip}
+% \item[v0.86:] \brand{MathJax} major updates.
+% \begin{itemize}
+% \item Fixed: Filename if named files with \filenm{*}, parens, period in section name.
+% \margintag{core}
+% \item Fixed: Labels in \env{eqnarray}, \env{lateximage}.
+% \item Updated to \brand{MathJax} v3. New repository.
+% \margintag{\brand{MathJax}}
+% \item Fixed forward references for \brand{MathJax}.
+% \item Improved \brand{MathJax} equation number formatting, now compatible with
+% \pkg{amsmath} \cs{numberwithin} for chapters, sections, subsections,
+% as well as \pkg{amsmath} \env{subequation}s.
+% See \cref{sec:limitscustomizemathjax}.
+% \item Added \cs{DeclareIfstar} to define starred \TeX\ macros in \brand{MathJax}.
+% See \cref{sec:limitscustomizemathjax}.
+% \item Generates an error if \cs{MathJaxFilename} file does not exist.
+% \item \pkg{mathtools}, \pkg{nccmath}, \pkg{physics}:
+% \margintag{packages}
+% Added starred macros for \brand{MathJax}.
+% \item \pkg{nccmath}: Fixed \cs{nr}, \cs{displaybreak} for \brand{MathJax}.
+% \item \pkg{xcolor}: Fixed \cs{textcolor} with \pkg{babel-french}.
+% \end{itemize}
+% \needspace{2\baselineskip}
+% \item[v0.85:] \pkg{fontspec}
+% \begin{itemize}
+% \item \pkg{fontspec}: Fixed core font change macros for world languages.
+% \margintag{packages}
+% \item \pkg{acro}: Due to v3 changes, when defining acronym formats,
+% \watchout[\pkg{acro} formats]
+% use \cs{textbf} instead of \cs{bfseries}, etc.
+% \item Fixed \pkg{idxlayout}, \pkg{mathtools}, \pkg{titlesec}, \pkg{url}.
+% \end{itemize}
+% \needspace{2\baselineskip}
+% \item[v0.84:] Previous/next page links, numerous fixes.
+% \begin{itemize}
+% \item Added documentation of \env{BlockClass} and \cs{InlineClass}
+% for \CSS\ \element{div}s and \element{span}s.
+% \margintag{docs}
+% See \cref{sec:classstyle}.
+% \item Added \cs{LinkPrevious}, \cs{LinkNext} page links.
+% See \cref{sec:htmlsettings}.
+% \item Added \cs{FirstPageBottom}.
+% \watchout[home page footer changed]
+% Home page no longer shares \cs{PageBottom}.
+% See \cref{sec:htmlsettings}.
+% \item Improved coexistence with \pkg{comment}, support for nested environments.
+% \margintag{core}
+% \item No longer requires but still supports the \pkg{caption} package.
+% \item Improved filenames and \HTML\ titles when using special characters.
+% \item Change: Append \filenm{-0} to section named Index
+% \watchout{previously \_index}
+% to distinguish from \filenm{index.html}
+% \item Fixed style tags for \cs{multicolumn}, \cs{multirow}.
+% \item Fixed spacing in \env{tabbing}.
+% \item Fixed \env{lateximage} for: \env{quote}, \env{quotation}, \env{verse},
+% \env{center}, \env{flushleft}, \env{flushright},
+% \element{par} tags, packages \pkg{verbatim}, \pkg{alltt}, \pkg{epigraph}.
+% \item Fixed \pkg{textcomp} due to integration into \LaTeX\ kernel.
+% \item Fixed \cs{itshape}, etc. Adapted to \LaTeX\ \pkg{fontaxes} integration.
+% \item Fixed \cs{@fnsymbol}.
+% \item Warns about section names with dollar-delimited math.
+% \item Warns about a \element{span} containing a float, caption, section,
+% \pkg{mdframed}, or other \element{div} object.
+% \item Only warn about \XeTeX\ logo and \pkg{graphics} if actually used \cs{Xe}.
+% \item \cmds{lwarpmk clean} also removes \filenm{comment_*.cut}.
+% \margintag{\prog{lwarpmk}}
+% \item \pkg{scrextend}, \pkg{scrartcl}, \pkg{scrbook}: Added \cs{titlehead},
+% \margintag{packages}
+% \cs{subject}, \cs{subtitle}, \cs{publishers}.
+% \item \pkg{titling}: Fixed \cs{printthanks}.
+% \item \pkg{memoir}, \pkg{abstract}: Fixed for updated \pkg{memoir}.
+% \item \pkg{memoir}: Fixed \cs{newcomment}, pagenotes, crossreferences.
+% Fixed setting a recursive name.
+% \item Fixed or improved: \pkg{amsthm}, \pkg{backref}, \pkg{biblatex}, \pkg{fixme},
+% \pkg{nfssext-cfr}, \pkg{ntheorem}, \pkg{parcolumns},
+% \pkg{realscripts}, \pkg{rotfloat}, \pkg{titling}.
+% \item Added \pkg{boxedminipage}, renamed from \pkg{boxedminipage2e} per author.
+% \item Verified to work as-is with \pkg{mcite}.
+% \end{itemize}
+% \needspace{2\baselineskip}
% \item[v0.83:] \pkg{memoir} fixes.
% \begin{itemize}
-% \item \pkg{memoir}: Various fixes and updates, but subcaption labels
+% \item \pkg{memoir}: Various fixes and updates.
% \margintag{packages}
-% still need work. (Out of time\dots)
% \item \pkg{physunits}: Updated to v1.0.4.
% \end{itemize}
% \needspace{2\baselineskip}
@@ -3447,7 +3837,7 @@
% \cmidrule(r){1-1}\cmidrule(l){2-2}
% (hard coded as ``image'') & \cs{ImageAltText} \\
% \cs{mathimagename} & \cs{MathImageAltText} \\
-% \cs{pacakgediagramname} & \cs{PackageDiagramAltText} \\
+% \cs{packagediagramname} & \cs{PackageDiagramAltText} \\
% \end{tabular}
% \end{center}
% \item Added \cs{ImageAltText} for the default \HTML\ \attribute{alt} text for
@@ -3808,7 +4198,7 @@
% \item \pkg{xfrac}: Improved \CSS.
% \item \pkg{textcomp} and \pkg{xunicode}: Fix conflicts with \cs{textcircled}.
% \item \pkg{ulem}: Improved compatibility with \pkg{CJKulem}, \env{lateximage}.
-% \item MathJax and \pkg{siunitx}: Removed inoperable extension.
+% \item \brand{MathJax} and \pkg{siunitx}: Removed inoperable extension.
% \item Added \pkg{bitpattern}, \pkg{pdfcomment},
% \pkg{pdfmarginpar}, \pkg{tram}, \pkg{unitsdef}, \pkg{xechangebar}.
% \item Added \pkg{musicography}, \pkg{octave}, \pkg{semantic-markup}.
@@ -3890,10 +4280,10 @@
% \margintag{\DVI\ \prog{latex}}
% \item Fix for \optn{-\/-shell-escape} with \prog{latexmk}.
% \margintag{\prog{latexmk}}
-% \item Updated MathJax script to v2.7.4.
+% \item Updated \brand{MathJax} script to v2.7.4.
% \margintag{math}
-% \item Fix: Mathjax chapter number removed from non-numeric tagged equations.
-% \item Added MathJax support for \pkg{nicefrac}, \pkg{units}.
+% \item Fix: \brand{Mathjax} chapter number removed from non-numeric tagged equations.
+% \item Added \brand{MathJax} support for \pkg{nicefrac}, \pkg{units}.
% \item Fix for \cs{[} and \cs{]} with \cs{displaymathnormal}.
% \item Fix for \cs{includegraphics} filename expansion.
% \margintag{images}
@@ -3958,7 +4348,7 @@
% \needspace{2\baselineskip}
% \item[v0.57:] \pkg{algorithm2e}, \pkg{float} styles, tabular packages, internal improvements.
% \begin{itemize}
-% \item Added support for MathJax equations with \cs{footnote}, \cs{footnotemark}.
+% \item Added support for \brand{MathJax} equations with \cs{footnote}, \cs{footnotemark}.
% \margintag{MathJax}
% \item Added \cs{StartDefiningMath} and \cs{StopDefiningMath} for
% \margintag{math macros}
@@ -3968,7 +4358,7 @@
% \margintag{dynamic math}
% delimit math expressions which depend on a variable condition
% such as a counter. Such expressions will not be hashed for reuse,
-% and will be converted to \SVG\ math images even when MathJax is enabled.
+% and will be converted to \SVG\ math images even when \brand{MathJax} is enabled.
% See \cref{sec:mathdynamic}.
% \item Renamed \cs{EndDefiningTabulars} to \cs{StopDefiningTabulars}.
% \watchout[new name]
@@ -4135,7 +4525,7 @@
% \item Improved \cs{ensuremath} hashing expansion.
% \item Fix: \env{equation*} with \env{split}.
% \item \env{tabbing} now works inside a \env{lateximage}. Use for math in \env{tabbing}.
-% \item Fix: MathJax script was not executing in some conditions.
+% \item Fix: \brand{MathJax} script was not executing in some conditions.
% \margintag{MathJax}
% \item Added \cs{CustomizeMathJax} to add custom functions.
% See \cref{sec:limitsmath}.
@@ -4169,8 +4559,8 @@
% \item Improved support for display math containing complicated math objects,
% such as \pkg{tikz-cd}. See \cref{sec:displaymathother}.
% \item Fix: \cs{addcontentsline} inside \SVG\ math.
-% \item Fix: SVG math containing an embedded \env{lateximage}.
-% \item MathJax now handles \cs{ensuremath} in expressions.\margintag{MathJax}
+% \item Fix: \SVG\ math containing an embedded \env{lateximage}.
+% \item \brand{MathJax} now handles \cs{ensuremath} in expressions.\margintag{MathJax}
% \item Fix: Added \env{alignat} environment. \margintag{misc. fixes}
% \item Fix: \pkg{afterpackage} no longer required, which conflicted with \pkg{scrlfile}.
% \item Fix: \pkg{titling} \cs{thanks} mark.
@@ -4197,11 +4587,11 @@
% ^^A Display math and other forms of \SVG\ image such as \env{picture} and
% ^^A \tikz\ still use individual image files which are recreated each time
% ^^A \cmds{lwarpmk limages} is run.
-% ^^A \item Fixes: SVG math and/or \cs{underline} in a sectioning file name.
+% ^^A \item Fixes: \SVG\ math and/or \cs{underline} in a sectioning file name.
% ^^A \item Improved \SVG\ display math and tags.
% ^^A \item Improved \SVG\ math and \pkg{siunitx} \attribute{alt} tags.
% ^^A \item Improved \pkg{siunitx} units.
-% ^^A \item Fix: \cs{ensuremath} with MathJax now creates a \env{lateximage}.
+% ^^A \item Fix: \cs{ensuremath} with \brand{MathJax} now creates a \env{lateximage}.
% ^^A \item Fix: \cs{centering}, etc. in \SVG\ math, \env{lateximage}, \tikz.
% ^^A \item Fix: Made various macros robust,
% ^^A additionally fixing \pkg{authblk}.\margintag{misc. fixes}
@@ -4274,7 +4664,7 @@
% ^^A \item \cs{PrintStack} changed to \cs{LWRPrintStack}.\watchout[name change]
% ^^A \item Fix: Empty lines between \env{tabular} rows.\margintag{misc. fixes}
% ^^A \item Fix: Stack unnesting.
-% ^^A \item Fix: SVG math and \env{lateximage}s in numerous situations.
+% ^^A \item Fix: \SVG\ math and \env{lateximage}s in numerous situations.
% ^^A \item Fix: Spaces in \cs{usepackage}.
% ^^A \item Fix: Now allows \brand{MathJax} inside \env{verse}.
% ^^A \end{itemize}
@@ -4296,7 +4686,7 @@
% ^^A \item Fix: Empty lines between \env{tabular} rows.\margintag{misc. fixes}
% ^^A \item Fix: ``Improper \cs{prevdepth}'' with minipages, lists.
% ^^A \item Fix: Incorrect \SVG\ math and |lateximage|s with \pkg{subfig}.
-% ^^A \item Fix: Lateximages from incorrect pages with Mathjax.
+% ^^A \item Fix: Lateximages from incorrect pages with \brand{Mathjax}.
% ^^A \item Fix: Missing sidetoc if using \pkg{listings}.
% ^^A \item Fix: Added an \pkg{array} emulation package.
% ^^A \item Added
@@ -4969,7 +5359,7 @@
% While generating \HTML\ output, \SVG\ files are used in place of \PDF.
% Other formats such as \PNG\ and \JPG\ are used as-is.
%
-% SVG images may be used for math,
+% \SVG\ images may be used for math,
% and are also used for \env{picture}, \tikz, and similar environments.
% The \SVG\ format has better browser and e-book support
% than \MathML\ (as of this writing),
@@ -5074,7 +5464,7 @@
% Package names are colored according to their support level:
% \begin{description}
% \item[\spkg{name}:] Supported as-is.
-% \item[\mpkg{name}:] Modifed to work with \HTML\ output, and also
+% \item[\mpkg{name}:] Modifed to work with \HTML\ output, and perhaps also
% as print output in \SVG\ math or \env{lateximage} environments.
% \item[\epkg{name}:] Emulated for \HTML\ output.
% \item[\ipkg{name}:] Ignored for \HTML\ output, but provides source-level compatibility.
@@ -5081,6 +5471,7 @@
% \item[\sjax:] Supported as-is for \brand{MathJax}, subject to limitations.
% \item[\ejax:] Emulated for \brand{MathJax} using custom macros, subject to limitations.
% \item[\ijax:] Ignored by \brand{MathJax}, but may be used in the document source.
+% May be converted to \SVG\ images.
% \end{description}
%
% \renewcommand{\arraystretch}{1.5}
@@ -5119,8 +5510,8 @@
%
% \midrule
%
-% Languages: & \spkg{babel}, \spkg{polyglossia}.
-% \spkg{cjkpunct}, \spkg{xeCJK}.\\
+% Languages: & \spkg{babel}, \spkg{cjkpunct}, \ipkg{impnattypo}, \mpkg{luavlna},
+% \spkg{polyglossia}, \spkg{xeCJK}, \mpkg{xevlna}. \\
%
% Chinese: & C\TeX, \spkg{ctex},
% \spkg{upzhkinsoku},
@@ -5159,7 +5550,7 @@
% \ipkg{pagegrid}, \ipkg{pagesel}, \epkg{parallel}, \epkg{parcolumns},
% \ipkg{pdfcolparallel}, \ipkg{pdfcolparcolumns}, \ipkg{pdfcrypt}, \ipkg{pdfprivacy},
% \ipkg{preview}, \epkg{ragged2e}, \ipkg{returntogrid}, \ipkg{rmpage},
-% \epkg{scrlayer-scrpage}, \epkg{scrpage2}, \epkg{setspace},
+% \epkg{scrlayer-scrpage}, \epkg{scrpage2}, \epkg{setspace}, \ipkg{selectp},
% \ipkg{textarea}, \ipkg{threadcol},
% \ipkg{thumb}, \ipkg{thumbs}, \ipkg{titleps}, \ipkg{tocenter},
% \ipkg{turnthepage}, \ipkg{twoup}, \ipkg{typearea},
@@ -5184,21 +5575,28 @@
% \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}. \\
%
-% Indexing: & \prog{makeindex} and \prog{xindy} are supported, with hyperlinks.
+% Indexing: & \prog{makeindex}, \prog{xindy}, and \prog{xindex} are supported,
+% with hyperlinks.
%
-% \spkg{hvindex}, \epkg{idxlayout}, \mpkg{imakeidx}, \epkg{index}, \mpkg{makeidx},
-% \epkg{repeatindex}, \mpkg{splitidx}.
+% \smallskip
+%
+% \mpkg{gindex}, \spkg{hvindex}, \epkg{idxlayout}, \mpkg{imakeidx},
+% \epkg{index}, \mpkg{makeidx},
+% \epkg{repeatindex}, \mpkg{splitidx}, \spkg{varindex}, \spkg{xindex}.
% \\
%
% Glossary: & \mpkg{gloss}, \mpkg{glossaries} and \prog{xindy}, \mpkg{nomencl}.\\
%
-% Bibliography: & \spkg{babelbib}, \mpkg{backref}, \mpkg{biblatex}, \mpkg{bibunits},
-% \mpkg{chapterbib}, \mpkg{cite}, \ipkg{hypernat}, \mpkg{natbib},
-% \spkg{notes2bib}, \ipkg{showtags}.
+% Bibliography: & \spkg{babelbib}, \spkg{bibtopic}, \mpkg{backref},
+% \mpkg{biblatex}, \mpkg{bibunits},
+% \mpkg{chapterbib}, \mpkg{cite}, \mpkg{citeref}, \spkg{collref}, \mpkg{drftcite},
+% \ipkg{hypernat}, \mpkg{jurabib}, \spkg{mcite}, \spkg{mciteplus}, \mpkg{multibib},
+% \mpkg{natbib}, \spkg{notes2bib}, \mpkg{splitbib}, \ipkg{showtags}.
%
% \\
%
@@ -5205,10 +5603,10 @@
% \midrule
%
% Cross-references: &
-% \ipkg{bookmark}, \epkg{breakurl}, \spkg{cleveref}, \epkg{fancyref},
+% \ipkg{bookmark}, \epkg{breakurl}, \spkg{cleveref}, \mpkg{fancyref},
% \ipkg{hypdestopt}, \epkg{hyperref}, \epkg{perpage}, \mpkg{prettyref},
-% \epkg{titleref}, \mpkg{url}, \spkg{varioref}, \spkg{xcite},
-% \mpkg{xr}, \mpkg{xr-hyper}, \ipkg{xurl}. \\
+% \epkg{titleref}, \mpkg{url}, \mpkg{varioref}, \spkg{xcite},
+% \mpkg{xr}, \mpkg{xr-hyper}, \ipkg{xurl}, \spkg{zref}. \\
%
% \midrule
%
@@ -5237,25 +5635,42 @@
% due to native \LaTeX\ processing.\\
%
% Theorems: & Native \LaTeX\ theorems,
-% \mpkg{amsthm}, \mpkg{ntheorem}, \mpkg{theorem}. \\
+% \mpkg{amsthm}, \spkg{apxproof}, \mpkg{ntheorem}, \mpkg{shadethm},
+% \mpkg{theorem}, \mpkg{thmbox}, \mpkg{thmtools}. \\
%
% Additional math: & Math fonts via \SVG\ images,
-% \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{accents}\ejax, \spkg{amscd}\sjax, \spkg{amscdx}, \spkg{autobreak}\ejax, \ipkg{autonum},
+% \mpkg{backnaur}\ejax, \mpkg{bm}\ejax, \spkg{braket}\sjax,
+% \mpkg{breqn}\ijax, \mpkg{bussproofs}\sjax, \mpkg{cases}\ijax,
+% \spkg{centernot}\ejax, \spkg{cmbright}\ejax,
+% \spkg{colonequals}\ejax, \spkg{decimal}\ejax,
% \spkg{delarray}, \mpkg{DotArrow}\ejax, \spkg{dotlessi}\ejax, \spkg{dotlessj}\sjax,
-% \spkg{extarrows}\ejax, \spkg{fouridx}\ejax,
-% \spkg{guass}, \spkg{icomma}\ijax, \spkg{jkmath},
-% \spkg{leftidx}\ejax, \spkg{mathcomp}\ejax, \spkg{mathdots}\ejax,
-% \spkg{mathfixs}\ejax, \spkg{mathpunctspace}\ijax,
-% \spkg{mathspec}, \mpkg{mathtools}\ejax, \mpkg{mismath}\ejax,
+% \spkg{esvect}\ejax, \spkg{extarrows}\ejax, \spkg{fixmath}\ejax,
+% \spkg{fouridx}\ejax, \spkg{fourier}\ejax,
+% \spkg{guass}, \spkg{hhtensor}\ejax, \spkg{icomma}\ijax,
+% \spkg{isomath}\ejax, \spkg{jkmath},
+% \spkg{kpfonts}\ejax, \spkg{kpfonts-otf}\ejax,
+% \spkg{leftidx}\ejax, \spkg{libertinust1math}\ejax, \spkg{mathalpha}\ejax,
+% \spkg{mathastext}\ejax, \spkg{mathcomp}\ejax, \spkg{mathdesign}\ejax,
+% \spkg{mathdots}\ejax, \spkg{mathfixs}\ejax,
+% \spkg{mathpazo}\ejax, \spkg{mathptmx}\ejax,
+% \spkg{mathpunctspace}\ijax,
+% \spkg{mathspec}\ejax, \mpkg{mathtools}\ejax, \spkg{mattens}\ejax,
+% \spkg{maybemath}\ijax, \spkg{mdwmath}\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,
-% \mpkg{statex2}\ejax, \spkg{statmath}\ejax,
-% \spkg{subsupscripts}\ejax, \spkg{textualicomma}\ijax,
-% \spkg{unicode-math}\ejax, \mpkg{witharrows}\ejax,
+% \spkg{nicematrix}\ejax, \spkg{noitcrul}\ejax,
+% \spkg{newpxmath}\ejax, \spkg{newtxmath}\ejax, \spkg{newtxsf}\ejax,
+% \spkg{pb-diagram},
+% \spkg{pxfonts}\ejax,
+% \ipkg{resizegather}\ijax, \spkg{rmathbr}\ejax, \spkg{scalerel}\ejax,
+% \epkg{shuffle}\ejax, \spkg{skmath}\ejax, \spkg{stackrel}\ejax,
+% \mpkg{statex2}\ejax, \mpkg{statistics}, \spkg{statmath}\ejax,
+% \spkg{subsupscripts}\ejax, \spkg{tensind}, \spkg{tensor}\ejax,
+% \spkg{textualicomma}\ijax,
+% \spkg{txfonts}\ejax, \spkg{txgreeks}\ejax,
+% \spkg{unicode-math}\ejax, \spkg{upgreek}\ejax,
+% \spkg{ushort}\ejax, \mpkg{witharrows}\ejax,
% \mpkg{xfakebold}\ejax, \mpkg{xy}.
% Many others work as-is. \\
%
@@ -5276,8 +5691,9 @@
% \ipkg{fix2col}, \ipkg{flafter},
% \epkg{float}, \epkg{floatflt}, \epkg{floatrow}, \ipkg{fltrace}, \ipkg{ftcap},
% \ipkg{hypcap}, \mpkg{keyfloat}, \ipkg{morefloats}, \ipkg{multicap}, \spkg{newfloat},
-% \epkg{nonfloat}, \ipkg{placeins}, \epkg{rotfloat}, \ipkg{stfloats},
+% \epkg{nonfloat}, \mpkg{picinpar}, \ipkg{placeins}, \epkg{rotfloat}, \ipkg{stfloats},
% \mpkg{subcaption}, \mpkg{subfig}, \epkg{subfigure}, \spkg{subfloat},
+% \epkg{swfigure},
% \epkg{topcapt}, \epkg{trivfloat}, \epkg{wrapfig}. \\
%
% \midrule
@@ -5285,7 +5701,7 @@
% Tabular: &
% \env{tabular} environment, \mpkg{array}\ejax, \epkg{arydshln}\ejax,
% \mpkg{bigdelim}\ejax, \mpkg{bigstrut}\ejax, \mpkg{booktabs}\ejax,
-% \mpkg{colortbl}, \mpkg{ctable}, \mpkg{diagbox}, \mpkg{hhline}\ejax, \epkg{longtable},
+% \mpkg{colortbl}\ijax, \mpkg{ctable}, \mpkg{diagbox}, \mpkg{hhline}\ejax, \epkg{longtable},
% \epkg{ltablex}, \epkg{ltxtable},
% \mpkg{multirow}\ejax, \epkg{supertabular}, \epkg{tabularx}, \epkg{tabulary},
% \epkg{threeparttable}, \mpkg{threeparttablex},
@@ -5299,16 +5715,20 @@
% References to \PDF\ files are changed to \SVG, other image types
% are accepted as well.
% \cs{rotatebox} and \cs{scalebox} are supported as well as \HTML\ can handle.
-% \epkg{rotating} is emulated but all objects are unrotated.
+% \epkg{rotating} is emulated but all objects are unrotated in \HTML.
% \env{picture}, \mpkg{tikz}, and \mpkg{xy} are converted to an \SVG\ image.
%
+% \smallskip
+%
% \mpkg{asymptote}, \spkg{curves}, \spkg{datatool},
-% \spkg{eepic}, \epkg{epsfig}, \spkg{epstopdf},
+% \spkg{eepic}, \mpkg{epsf}, \epkg{epsfig}, \spkg{epstopdf},
% \epkg{figsize}, \ipkg{fitbox},
-% \spkg{grffile}, \mpkg{luamplib}, \epkg{media9},
-% \epkg{movie15}, \epkg{multimedia}, \mpkg{overpic},
+% \spkg{grffile}, \mpkg{lpic}, \mpkg{luamplib}, \epkg{media9},
+% \epkg{movie15}, \epkg{multimedia}, \mpkg{overpic}, \spkg{pict2e}, \mpkg{pinlabel},
% \mpkg{psfrag}, \mpkg{psfragx}, \mpkg{pst-eps}, \mpkg{pstool}, \mpkg{pstricks},
-% \spkg{rviewport}, \mpkg{svg}, \spkg{svg-extract}, \spkg{tikz-3dplot}. \\
+% \mpkg{rlepsf},
+% \spkg{rviewport}, \mpkg{svg}, \spkg{svg-extract}, \mpkg{tikz}, \spkg{tikz-3dplot},
+% \mpkg{tikz-imagelabels}, \mpkg{xy} \\
%
% \midrule
%
@@ -5337,10 +5757,11 @@
% \mpkg{quoting}, \mpkg{verse}. \\
%
% Verbatim: &
-% \mpkg{fancyvrb}, \mpkg{moreverb}, \spkg{shortvrb}, \mpkg{verbatim}. \\
+% \mpkg{fancyvrb}, \mpkg{fvextra}, \mpkg{moreverb}, \spkg{shortvrb}, \mpkg{verbatim}. \\
%
-% Frames: & \mpkg{boxedminipage2e}, \mpkg{fancybox}, \mpkg{framed}, \mpkg{mdframed},
-% \epkg{niceframe}, \epkg{shadow}, \epkg{vertbars}. \\
+% Frames: & \mpkg{boxedminipage}, \mpkg{boxedminipage2e},
+% \mpkg{fancybox}, \mpkg{fbox}\ejax, \mpkg{framed}, \mpkg{mdframed},
+% \epkg{niceframe}, \epkg{shadow}, \mpkg{tcolorbox}\ejax, \epkg{vertbars}. \\
%
% Multi-columns: & \epkg{adjmulticol}, \epkg{multicol},
% \ipkg{multicolrule}, \mpkg{vwcol}. \\
@@ -5354,13 +5775,14 @@
% Direct formatting: & \cs{emph}, \cs{textsuperscript},
% \cs{textbf}, etc are supported.
% \cs{bfseries}, etc.\ are only supported in some cases.
-% \mpkg{cancel}, \epkg{ellipsis}, \mpkg{embrac}, \spkg{enparen},
+% \mpkg{cancel}\sjax, \epkg{ellipsis}, \mpkg{embrac}, \spkg{enparen},
% \ipkg{hyphenat}, \epkg{lettrine}, \epkg{lips},
-% \ipkg{lua-check-hyphen}, \ipkg{luacolor}, \epkg{magaz}, \epkg{nolbreaks},
-% \ipkg{normalcolor},
+% \ipkg{lua-check-hyphen}, \ipkg{luacolor}, \epkg{magaz}, \ipkg{moresize},
+% \epkg{nolbreaks}, \ipkg{normalcolor},
% \ipkg{pdfcol}, \ipkg{pdfcolmk},
-% \ipkg{pdfrender}, \epkg{realscripts}, \mpkg{relsize}\ejax,
-% \ipkg{scalefnt}, \epkg{soul}, \epkg{soulpos}, \epkg{soulutf8}, \mpkg{stackengine},
+% \ipkg{pdfrender}, \mpkg{realscripts}, \mpkg{relsize}\ejax,
+% \ipkg{scalefnt}, \mpkg{seqsplit}\ejax, \epkg{soul}, \epkg{soulpos},
+% \epkg{soulutf8}, \mpkg{stackengine},
% \epkg{textfit}, \epkg{thinsp}, \ipkg{trimclip}, \ipkg{truncate},
% \mpkg{ulem}, \mpkg{umoline}, \ipkg{underscore}, \ipkg{uspace},
% \mpkg{xellipsis}. \\
@@ -5389,15 +5811,26 @@
% Appear in \SVG\ math expressions or embedded image environments.
% \mpkg{fontaxes}, \mpkg{nfssext-cfr}, \mpkg{slantsc}, \ipkg{tabfigures}.
%
+% \smallskip
+%
% Tested to work as-is: Special font macros in \spkg{cfr-lm} and others
-% which use \spkg{nfssext-cfr}. \\
+% which use \spkg{nfssext-cfr}.
%
-% Symbols: & Native \LaTeX\ diacriticals, \mpkg{academicons}, \mpkg{bbding},
+% \smallskip
+%
+% Also see the math section for math and \brand{MathJax} support for math font packages. \\
+%
+% Symbols: & Native \LaTeX\ diacriticals, \mpkg{academicons}, \spkg{amssymb}\sjax,
+% \mpkg{bbding},
% \mpkg{chemgreek}, \mpkg{dingbat}, \spkg{euro}, \mpkg{eurosym},
-% \mpkg{fontawesome}, \mpkg{fontawesome5}, \spkg{gensymb}\ejax, \mpkg{marvosym},
-% \spkg{mathcomp}\ejax, \mpkg{metalogo}, \mpkg{metalogox},
-% \mpkg{pifont}, \spkg{textalpha},
-% \mpkg{textcomp}, \spkg{textgreek}, \mpkg{typicons}, \mpkg{xunicode}.
+% \mpkg{fontawesome}, \mpkg{fontawesome5}, \spkg{gensymb}\ejax, \spkg{latexsym}\sjax,
+% \mpkg{marvosym},
+% \mpkg{metalogo}, \mpkg{metalogox},
+% \mpkg{pifont},
+% \spkg{textalpha},
+% \mpkg{textcomp}, \spkg{textgreek},
+% \mpkg{typicons},
+% \mpkg{xunicode}.
% \\
%
% \midrule
@@ -5417,12 +5850,17 @@
% \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},
-% \mpkg{listings}, \spkg{linop}, \mpkg{mhchem}\sjax, \spkg{pgfgantt},
-% \mpkg{phfqit}, \spkg{physics}\ejax, \spkg{physunits}\ejax, \spkg{qcircuit},
-% \mpkg{register}, \spkg{simpler-wick},
-% \spkg{slashed}\ejax, \mpkg{steinmetz}\ejax, \spkg{structmech}, \mpkg{struktex}.
-% \spkg{tikz-karnaugh}, \spkg{tikzcodeblocks} \\
+% \spkg{hepnicenames}, \spkg{heppennames}, \spkg{hepunits}\ejax,
+% \mpkg{isotope}\ejax,
+% \spkg{karnaughmap}, \mpkg{karnaugh-map}, \mpkg{keystroke},
+% \mpkg{listings}, \spkg{listingsutf8}, \spkg{linop}, \mpkg{menukeys},
+% \mpkg{mhchem}\sjax, \mpkg{minted}, \spkg{pgfgantt},
+% \mpkg{phfqit}, \spkg{physics}\sjax, \spkg{physunits}\ejax,
+% \spkg{plimsoll}\ejax, \spkg{qcircuit},
+% \mpkg{register}, \mpkg{simplebnf}, \spkg{simpler-wick},
+% \spkg{slashed}\ejax, \mpkg{steinmetz}\ejax, \spkg{structmech}, \mpkg{struktex},
+% \spkg{syntaxdi},
+% \spkg{tikz-karnaugh}, \spkg{tikzcodeblocks}, \spkg{venndiagram} \\
%
% \midrule
%
@@ -5434,6 +5872,10 @@
%
% \midrule
%
+% Calendars: & \mpkg{termcal} \\
+%
+% \midrule
+%
% Admonitions: & \epkg{awesomebox}, \epkg{notes}. \\
%
% Editorial: & \ipkg{changebar}, \spkg{changelog}, \mpkg{changes},
@@ -5447,7 +5889,7 @@
%
% Accessibility: & \epkg{accessibility}\ijax, \ipkg{accsupp}\ijax,
% \ipkg{axessibility}\ijax,
-% \ipkg{pdfcomment}\ijax, \ipkg{tagpdf}. \\
+% \ipkg{pdfcomment}\ijax, \ipkg{repltext}\ijax, \ipkg{tagpdf}. \\
%
% \midrule
%
@@ -6091,7 +6533,7 @@
% create a new file called |tutorial.tex|.
% This may be done several ways:
% \begin{description}
-% \item [Copy from the documentation PDF:] \
+% \item [Copy from the documentation \PDF:] \
%
% A listing is in \cref{fig:tutorial},
% which may be copied/pasted from the figure directly into your own editor,
@@ -6211,10 +6653,10 @@
%
% \item [|lwarp\_mathjax.txt|:] Inserted into the \HTML\ files when
% \brand{MathJax} is used to display math.
-% This file should not be modified by the user.
+% Do not modify, see \cs{MathJaxFilename} instead.
%
-% \item [|comment.cut|:] A temporary file used by \pkg{lwarp} to
-% conditionally process blocks of text. This file may be ignored.
+% \item [|comment\_*.cut|:] Temporary files used by \pkg{lwarp} to
+% conditionally process blocks of text. These files may be ignored.
% \end{description}
%
% \hrule \medskip
@@ -6586,7 +7028,7 @@
%
% The \filenm{<project>-images} directory contains \SVG\ images
% automatically generated for inline and display math, \pkg{tikz}, etc.
-% To remove all the images from the \filenm{lateximages} directory:
+% To remove all the images from the \filenm{<project>-images} directory:
% \userentry{lwarpmk cleanlimages}
%
%
@@ -6783,9 +7225,12 @@
% \gindex{sideTOC=side\TOC>name}
% \gindex{settings>language}
%
-% Regional localization is supported by \pkg{lwarp} via the following package options
-% and macros:
+% Regional localization is supported by \pkg{lwarp} via the package options
+% and macros shown in \cref{tab:localization}.
%
+% \begin{table}
+% \caption{Localization settings}
+% \label{tab:localization}
% \begin{description}
% \item [Object names:] \LaTeX\ provides redefinable names for various objects,
% and \pkg{lwarp} adds a few more. Use \cs{renewcommand} to change these.
@@ -6792,6 +7237,8 @@
% \begin{description}
% \item [\cs{abstractname}:] This macro is honored by \pkg{lwarp}.
% \item [\cs{linkhomename}:] Displayed by the link to the homepage.
+% \item [\cs{linkpreviousname}:] Displayed by the link to the previous page
+% \item [\cs{linknextname}:] Displayed by the link to the next page.
% \item [\cs{sidetocname}:] Displayed at the head of the side\TOC.
% \end{description}
% \item [\HTML\ settings:] See \cref{tab:htmlsettings} and
@@ -6815,6 +7262,7 @@
% \item [\optn{pdftotextEnc}:] To adjust the encoding of \prog{pdftotext}.
% \end{description}
% \end{description}
+% \end{table}
%
%
% \subsection{Accessibility}
@@ -6838,8 +7286,11 @@
% \HTML\ also provides the \attribute{title} attribute, which usually
% generates a pop-up text. \pkg{lwarp} can add this to a reference or hyperlink.
% \brand{MathJax} also has provisions for improved accessibility
-% as well.
+% as well. See \cref{tab:accessibility}.
%
+% \begin{table}
+% \caption{Accessibiltiy settings}
+% \label{tab:accessibility}
% \begin{description}
% \item [\cs{ImageAltText}:] The default \HTML\ \attribute{alt} text
% for \cs{includegraphics} and \env{lateximage}s.
@@ -6897,6 +7348,7 @@
% This may be changed by redefining \cs{AltTextOpen} and \cs{AltTextClose}.
% Set with \cs{renewcommand}.
% \end{description}
+% \end{table}
%
%
%
@@ -6951,7 +7403,7 @@
% \margintag{Computer Modern}%
% \gindex{font>Computer Modern}\gindex{Computer Modern}%
% \watchout[\prog{pdflatex}]%
-% \watchout[DVI \prog{latex}]%
+% \watchout[\DVI\ \prog{latex}]%
% which may be a ``type 3'' bit-mapped font which may not
% convert well to plain text. A ``type 1'' vector font is required.
%
@@ -7062,10 +7514,9 @@
% ^^A \gindex{ligatures}\gindex{font>ligatures}
% \end{enumerate}
% \end{itemize}
+% \item |\usepackage{newtxmath}| or other math-related font packages.
+% 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 |\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}.
% \item |\setmonofont{TeX Gyre Cursor}| or similar may be required if using
% \trouble[\pkg{fontspec} with monospaced fonts]{font>monospace}
% \trouble{font>ligatures}
@@ -7077,6 +7528,23 @@
% with \pkg{fontspec} after loading the traditional font packages.
% Monospaced output ligatures must be turned off
% to produce the correct \HTML\ characters.
+%
+% Any monospace font with built-in ligatures may require these ligatures to
+% \changes{v0.84}{2020/04/15}{Docs: \brand{JetBrain Mono} font.}
+% be disabled for \HTML. In one example, \brand{JetBrain Mono},
+% \trouble[\brand{JetBrain Mono}]{font>JetBrain Mono=\brand{JetBrain Mono}}
+% \trouble{jetbrain mono=\brand{JetBrain Mono}}
+% \trouble[\HTML\ corrupted]{HTML>corrupted}
+% \trouble{font>ligatures}
+% it is required to use
+% \begin{sourcedisplay}
+% \cs{setmonofont}\{JetBrains Mono\}[\% \\
+% \dots \\
+% \textgreen{Contextuals=AlternateOff,} \\
+% ]
+% \end{sourcedisplay}
+% After \pkg{lwarp} is loaded, the ligature may be re-enabled for print mode
+% by using \cs{setmonofont} again inside a \env{warpprint} environment.
% \item \ldots{} the rest of the preamble and the main document.
% \end{enumerate}
%
@@ -7089,19 +7557,14 @@
% \gindex{UTF-8>index}
% \gindex{index>UTF-8}
%
-% \pkg{lwarp} uses the \prog{xindy} program to processes indexes.
-% \prog{xelatex} and \prog{lualatex} use \prog{xindy} and
-% \prog{pdflatex} uses \prog{texindy}.
+% \pkg{lwarp} supports \prog{makeindex}, \prog{xindy}, \prog{xindex},
+% and \pkg{glossaries}, \pkg{gloss}, and \pkg{nomencl}.
%
-% The \pkg{lwarp} option \optn{xindyLanguage} may be used to set the language option
-% for \pkg{xindy}, and the \optn{xindyCodepage} option may be used to set the codepage
-% option for \pkg{xindy}. These are used for
-% ^^A both
-% index
-% ^^A and glossary
-% generation.
+% See \cref{sec:indexingoverview} for indexing, and
+% \cref{sec:glossaries} for the \pkg{glossaries} package.
%
%
+%
% \clearpage
%
% \subsection{\pkg{lwarp} package loading and options}
@@ -7109,7 +7572,7 @@
% \gindex{settings>lwarp=\pkg{lwarp} package options}
%
% \begin{table}
-% \caption{\pkg{lwarp} package options\label{tab:options}}
+% \caption{\pkg{Lwarp} package options\label{tab:options}}
% \centering
% \renewcommand{\arraystretch}{1.2}
% \begin{tabular}{>{\ttfamily}lp{3.25in}}
@@ -7129,8 +7592,8 @@
% \midrule
% \multicolumn{2}{l}{\small For indexing (\cref{sec:indexsetup}) and glossaries (\cref{sec:glossaries}):} \\
% makeindex & Use \prog{makeindex} to generate indices. \\
+% makeindexStyle & Set a custom style for \prog{makeindex}. \\
% xindy & Use \prog{xindy} to generate indices. \\
-% makeindexStyle & Set a custom style for \prog{makeindex}. \\
% xindyStyle & Set a custom style for \prog{xindy}. \\
% xindyLanguage & The \prog{xindy} language option used for index
% ^^A and glossary
@@ -7138,9 +7601,12 @@
% xindyCodepage & The \prog{xindy} codepage option used for index
% ^^A and glossary
% generation. \\
+% xindex & Use \prog{xindex} to generate indices. \\
+% xindexConfig & Set a custom configuration file for \prog{xindex}. \\
% PrintIndexCmd & Shell commands executed by \cmds{lwarpmk printindex}. \\
% HTMLIndexCmd & Shell commands executed by \cmds{lwarpmk htmlindex}. \\
% LatexmkIndexCmd & Shell commands executed by \prog{latexmk}. \\
+% IndexRef & How to format index links. \\
% GlossaryCmd & Shell command executed by \cmds{lwarpmk printglossary} and \cmds{lwarpmk htmlglossary}. \\
% \midrule
% \multicolumn{2}{l}{\small Seldom necessary:} \\
@@ -7178,60 +7644,70 @@
%
% \begin{description}[itemsep=1\baselineskip]
%
-% \item[\optn{mathsvg}, \optn{mathjax}:]
+% \item[\optn{mathsvg} \textmd{and} \optn{mathjax}:]
% \DescribeOption{mathsvg}
% \DescribeOption{mathjax}
+% \DescribeDefault{mathsvg}
+% Selects \SVG\ images or \brand{MathJax} for math display.
+% See \cref{sec:limitsmath}.
% ^^A \DescribeOption{mathKaTeX}
% ^^A For math display, select \optn{mathsvg} (default), \optn{mathjax},
% ^^A or \optn{mathKaTeX}.
-% For math display, select \optn{mathsvg} (default) or \optn{mathjax}.
-% For more information about the math options, see \cref{sec:limitsmath}.
-%
%
-% \item[\optn{latexmk}:]
-% \DescribeOption{latexmk}
+% \ItemDescribeOption{latexmk}
% \DescribeDefault{false} Tells \prog{lwarpmk} to use \prog{latexmk} to recompile the
% document several times if necessary.
% Otherwise, \prog{lwarpmk} attempts to determing for itself whether to recompile.
% See \cref{sec:htmlsettings}.
%
-% \item[\optn{dvips}:]
-% \DescribeOption{dvips}
+% \ItemDescribeOption{dvips}
% \DescribeDefault{false} Tells \prog{lwarpmk} to use \prog{dvips} and \prog{ps2pdf} to convert
% \DVI\ output to \PDF.
%
-% \item[\optn{dvipdfm}:]
-% \DescribeOption{dvipdfm}
+% \ItemDescribeOption{dvipdfm}
% \DescribeDefault{false} Tells \prog{lwarpmk} to use \prog{dvipdfm} to convert
% \DVI\ output to \PDF.
%
-% \item[\optn{dvipdfmx}:]
-% \DescribeOption{dvipdfmx}
+% \ItemDescribeOption{dvipdfmx}
% \DescribeDefault{false} Tells \prog{lwarpmk} to use \prog{dvipdfmx} to convert
% \DVI\ output to \PDF.
%
%
-% \item[\optn{HomeHTMLFilename}:]
-% \DescribeOption{HomeHTMLFilename}
-% \DescribeDefault{\{\}}
-% See \cref{sec:htmlsettings}.
+% \ItemDescribeOption{HomeHTMLFilename}
+% \DescribeDefault{\cs{BaseJobname}}
%
+% Filename of the homepage, without
+% the ``\filenm{.html}'' suffix.
+% Defaults to the \cs{BaseJobname}. A common setting is:
+% \begin{sourcedisplay}
+% |HomeHTMLFilename=index|
+% \end{sourcedisplay}
+% causing the
+% homepage to be the file |index.html|. Underscores are allowed in
+% \margintag{filename underscores}
+% \optn{HomeHTMLFilename} and \optn{HTMLFilename} options, but may need to be escaped
+% elsewhere, such as when appearing in a list:
+% \gindex{underscore>filename}\gindex{filename>underscore in}
+% \changes{v0.24}{2017/03/13}{Docs: Filename underscore.}
+% \begin{sourcedisplay}
+% \cs{item} [\cs{href}\{file\textred{\textbackslash\_}name.pdf\}\{text\}] \textbackslash
+% \end{sourcedisplay}
+% See \cref{sec:filenameexamples} for examples of naming and numbering \HTML\ files.
%
-% \item[\optn{HTMLFilename}:]
-% \DescribeOption{HTMLFilename}
-% \DescribeDefault{\{\}}
-% See \cref{sec:htmlsettings}.
+% \ItemDescribeOption{HTMLFilename}
+% \DescribeDefault{<empty>}
+% A filename prefix for the rest of the \HTML\ web pages.
+% Useful for numbered web pages with a common prefix. May be empty.
+% See \cref{sec:filenameexamples} for examples of naming and numbering \HTML\ files.
%
%
-% \item[\optn{ImagesName}:]
-% \DescribeOption{ImagesName}
+% \ItemDescribeOption{ImagesName}
% \DescribeDefault{image-}
% The prefix for the images automatically generated by \pkg{lwarp}
% for objects such as \SVG\ math and \env{lateximage}s.
%
%
-% \item[\optn{ImagesDirectory}:]
-% \DescribeOption{ImagesDirectory}
+% \ItemDescribeOption{ImagesDirectory}
% \DescribeDefault{\cs{jobname}-images}
% The directory for the images automatically generated by \pkg{lwarp}
% for objects such as \SVG\ math and \env{lateximage}s.
@@ -7240,22 +7716,19 @@
% \filenm{image-<nn>}.
%
%
-% \item[\optn{PrintLatexCmd}:]
-% \DescribeOption{PrintLatexCmd}
+% \ItemDescribeOption{PrintLatexCmd}
% \DescribeDefault{<automatic>} Sets the shell commands executed by \cmds{lwarpmk print}.
% If not specified, will automatically be set according to the detected \LaTeX\ engine
% and the use of \optn{-\/-shell-escape}.
%
%
-% \item[\optn{HTMLLatexCmd}:]
-% \DescribeOption{HTMLLatexCmd}
+% \ItemDescribeOption{HTMLLatexCmd}
% \DescribeDefault{<automatic>} Sets the shell commands executed by \cmds{lwarpmk html}.
% If not specified, will automatically be set according to the detected \LaTeX\ engine
% and the use of \optn{-\/-shell-escape}.
%
%
-% \item[\optn{makeindex}:]
-% \DescribeOption{makeindex}
+% \ItemDescribeOption{makeindex}
% \DescribeDefault{makeindex} Sets \optn{PrintIndexCmd}, \optn{HTMLIndexCmd},
% and \optn{LatexmkImageCmd}
% to use \prog{makeindex} when generating indexes with
@@ -7263,8 +7736,13 @@
% If neither \optn{makeindex} nor \optn{xindy} is used, \optn{makeindex} is assumed.
%
%
-% \item[\optn{xindy}:]
-% \DescribeOption{xindy}
+% \ItemDescribeOption{makeindexStyle}
+% \DescribeDefault{lwarp.ist}
+% If you wish to use a custom |.ist| file for
+% index generation, see \cref{sec:modifymakeindex}.
+%
+%
+% \ItemDescribeOption{xindy}
% \DescribeDefault{makeindex} Sets \optn{PrintIndexCmd}, \optn{HTMLIndexCmd},
% and \optn{LatexmkImageCmd}
% to use \prog{xindy} when generating indexes with
@@ -7271,35 +7749,37 @@
% \cmds{lwarpmk printindex}, \cmds{lwarpmk htmlindex}, or \prog{latexmk}.
%
%
-% \item[\optn{makeindexStyle}:]
-% \DescribeOption{makeindexStyle}
-% \DescribeDefault{lwarp.ist}
-% If you wish to use a custom |.ist| file for
-% index generation, see \cref{sec:packageoptions}.
-%
-%
-% \item[\optn{xindyStyle}:]
-% \DescribeOption{xindyStyle}
+% \ItemDescribeOption{xindyStyle}
% \DescribeDefault{lwarp.xdy}
% If you wish to use a custom |.xdy| file for
-% index generation, see \cref{sec:packageoptions}.
+% index generation, see \cref{sec:modifyxindy}.
%
%
-% \item[\optn{xindyLanguage}:]
-% \DescribeOption{xindyLanguage}
+% \ItemDescribeOption{xindyLanguage}
% \DescribeDefault{english} If using an index or glossary,
% see \cref{sec:packageoptions}.
%
%
-% \item[\optn{xindyCodepage}:]
-% \DescribeOption{xindyCodepage}
+% \ItemDescribeOption{xindyCodepage}
% \DescribeDefault{utf8} If using an index,
% ^^A or glossary,
% see \cref{sec:packageoptions}.
%
%
-% \item[\optn{PrintIndexCmd}:]
-% \DescribeOption{PrintIndexCmd}
+% \ItemDescribeOption{xindex}
+% \DescribeDefault{makeindex} Sets \optn{PrintIndexCmd}, \optn{HTMLIndexCmd},
+% and \optn{LatexmkImageCmd}
+% to use \prog{xindex} when generating indexes with
+% \cmds{lwarpmk printindex}, \cmds{lwarpmk htmlindex}, or \prog{latexmk}.
+%
+%
+% \ItemDescribeOption{xindexConfig}
+% \DescribeDefault{<empty>}
+% If you wish to use a custom |xindex-*.lua| file for
+% index generation, see \cref{sec:modifyxindex}.
+%
+%
+% \ItemDescribeOption{PrintIndexCmd}
% \DescribeDefault{<automatic>} Sets the shell commands executed by \cmds{lwarpmk printindex}.
% If not specified, will be set by the selection of \optn{makeindex} or
% \optn{xindy}. May be used to specify the creation of multiple indexes.
@@ -7321,7 +7801,7 @@
%
% If specifying \optn{PrintIndexCmd} manually,
% \trouble{PrintIndexCmd}
-% \trouble[xindy]{xindy=\pkg{xindy}>options>PrintIndexCmd=\optn{PrintIndexCmd}}
+% \trouble[xindy]{xindy=\prog{xindy}>options>PrintIndexCmd=\optn{PrintIndexCmd}}
% be sure to assign an \prog{xindy}
% language and codepage with the |-L| and |-C| \prog{xindy} options, as the
% \pkg{lwarp} \optn{xindyLanguage} and \optn{xindyCodepage} options are not
@@ -7337,8 +7817,7 @@
% with the \pkg{lwarp} \optn{PrintIndexCmd} option.
%
%
-% \item[\optn{HTMLIndexCmd}:]
-% \DescribeOption{HTMLIndexCmd}
+% \ItemDescribeOption{HTMLIndexCmd}
% \DescribeDefault{<automatic>} Sets the shell commands executed by \cmds{lwarpmk htmlindex}.
% If not specified, will be set by the selection of \optn{makeindex} or
% \optn{xindy}. May be used to specify the creation of multiple indexes.
@@ -7361,7 +7840,7 @@
% \optn{xindyLanuage}, and \optn{xindyCodepage} options will be used if specified.
%
% If specifying \optn{HTMLIndexCmd} manually,
-% \trouble[xindy]{xindy=\pkg{xindy}>options>HTMLIndexCmd=\optn{HTMLIndexCmd}}
+% \trouble[xindy]{xindy=\prog{xindy}>options>HTMLIndexCmd=\optn{HTMLIndexCmd}}
% be sure to assign an \prog{xindy}
% language and codepage with the |-L| and |-C| \prog{xindy} options, as the
% \pkg{lwarp} \optn{xindyLanguage} and \optn{xindyCodepage} options are not
@@ -7371,8 +7850,7 @@
% worthwhile to use a shell script, then refer to that script with \optn{HTMLIndexCmd}.
%
%
-% \item[\optn{LatexmkIndexCmd}:]
-% \DescribeOption{LatexmkIndexCmd}
+% \ItemDescribeOption{LatexmkIndexCmd}
% \DescribeDefault{<automatic>} Sets the shell commands executed by \prog{latexmk}.
% Unlike \optn{PrintIndexCmd} and \optn{HTMLIndexCmd}, \optn{LatexmkIndexCmd}
% does not include any filenames, which will be provided instead by \prog{latexmk}.
@@ -7396,7 +7874,7 @@
% shown above to compile each of multiple indexes if necessary.
%
% If specifying \optn{LatexmkIndexCmd} manually,
-% \trouble[xindy]{xindy=\pkg{xindy}>options>LatexmkIndexCmd=\optn{LatexmkIndexCmd}}
+% \trouble[xindy]{xindy=\prog{xindy}>options>LatexmkIndexCmd=\optn{LatexmkIndexCmd}}
% be sure to assign an \prog{xindy}
% language and codepage with the |-L| and |-C| \prog{xindy} options, as the
% \pkg{lwarp} \optn{xindyLanguage} and \optn{xindyCodepage} options are not
@@ -7403,8 +7881,35 @@
% used for the \optn{LatexmkIndexCmd} option when it is set manually.
%
%
-% \item[\optn{GlossaryCmd}:]
-% \DescribeOption{GlossaryCmd}
+% \ItemDescribeOption{IndexRef}
+% \DescribeDefault{cref}
+% \label{sec:optionindexref}
+% Describes how to display the index entries for \HTML\ output.
+% Possible values are \optn{ref}, \optn{nameref}, \optn{refnameref},
+% \optn{cref}, \optn{crefnameref}, \optn{autoref}, or a text string
+% such as \optn{(link)} or \optn{(*)} for each index entry reference.
+% (Adding parentheses around a single character makes the link
+% larger and easier to click on.)
+% The default is \optn{cref}, which is available even if the print document
+% does not use \pkg{cleveref}, as the \pkg{lwarp} package relies on \pkg{cleveref}
+% during \HTML\ output.
+% Option \optn{autoref} gives the same results as \optn{cref}.
+%
+% \cs{ref} and \cs{cref} to starred or otherwise unknown links will display as
+% |(*)| instead of |??|.
+%
+% If using \optn{cref} (the default),
+% \trouble[??]{index>?? and non-functional link}
+% \trouble{index>formatting}
+% and if a reference appears as |??| with a non-functional link,
+% use \pkg{cleveref}'s \cs{crefname} to give a name to that type of label.
+%
+% In general, \optn{crefnameref} gives the most information,
+% but the index can become quite verbose.
+% Using \optn{(*)} or similar yields a very compact index.
+%
+%
+% \ItemDescribeOption{GlossaryCmd}
% \DescribeDefault{\cmds{makeglossaries}} Sets the shell command
% executed by \cmds{lwarpmk printglossary} and \cmds{lwarpmk htmlglossary}.
% The print or \HTML\ glossary filename is appended to this command.
@@ -7411,21 +7916,21 @@
% See \cref{sec:glossaries}.
%
%
-% \item[\optn{OSWindows}:]
-% \DescribeOption{OSWindows} \pkg{lwarp} attempts to automatically sense \brand{Windows},
+% \ItemDescribeOption{OSWindows}
+% \pkg{lwarp} attempts to automatically sense \brand{Windows},
% but it may be forced with this option.
% See \cref{sec:OSportabilityusage}.
%
%
-% \item[\optn{pdftotextEnc}:]
-% \DescribeOption{pdftotextEnc}
-% \DescribeDefault{UTF-8} Used to specify
+% \ItemDescribeOption{pdftotextEnc}
+% \DescribeDefault{UTF-8}
+% Used to specify
% the encoding used by \prog{pdftotext} during the \PDF-\HTML\ conversion.
% In most situations, the default is the correct choice.
%
%
-% \item[\optn{lwarpmk}:]
-% \DescribeOption{lwarpmk} If you wish to have \pkg{lwarp} generate a local
+% \ItemDescribeOption{lwarpmk}
+% If you wish to have \pkg{lwarp} generate a local
% copy of \filenm{lwarpmk.lua} for archival or local-installation purposes,
% compile the print version with the \optn{lwarpmk} option set.
% See \cref{sec:packageoptions}.
@@ -7439,7 +7944,7 @@
% \end{quote}
%
%
-% \item[\optn{warpprint} and \optn{warpHTML}:]
+% \item[\optn{warpprint} \textmd{and} \optn{warpHTML}:]
% \DescribeOption{warpprint}
% \DescribeOption{warpHTML}
% Usually controlled by \prog{lwarpmk}, and not set in the document.
@@ -7454,8 +7959,7 @@
% while |<project>_html.tex| will create an \HTML\ version.
%
%
-% \item[\optn{BaseJobname}:]
-% \DescribeOption{BaseJobname}
+% \ItemDescribeOption{BaseJobname}
% \DescribeDefault{\cs{jobname}} Not intended for the user.
% Used internally by \pkg{lwarp} when
% creating the |*_html.tex| file used to compile the \HTML\ version.
@@ -7478,49 +7982,67 @@
% \begin{table}[p]
% \caption{\HTML\ settings}
% \label{tab:htmlsettings}
-% \begin{tabular}{>{\ttfamily}lp{3in}}
+% \renewcommand{\arraystretch}{1.1}
+% \begin{threeparttable}
+% \begin{tabular}{>{\ttfamily}lcp{3in}}
% \toprule
-% Macro \Slash Cntr \Slash Bool & Description \\ \midrule
-% \cs{linkhomename} & Name of the link to the homepage. \\
+% Macro \Slash Cntr \Slash Bool & Loc\tnote{*} & Description \\ \midrule
+% \cs{linkhomename} & P & Name of the link to the homepage. \\
+% \cs{linkpreviousname} & P & Name of the link to the previous page. \\
+% \cs{linknextname} & P & Name of the link to the next page. \\
% \midrule
-% SideTOCDepth & Sectioning depth of the side\TOC. \\
-% \cs{sidetocname} & Name of the side\TOC. \\
+% SideTOCDepth & P & Sectioning depth of the side\TOC. \\
+% \cs{sidetocname} & P & Name of the side\TOC. \\
% \midrule
-% FileDepth & Sectioning depth of the file splits. \\
-% CombineHigherDepths & Combine higher section levels. \\
-% FileSectionNames & Use section names for file names, else use numbers. \\
-% \cs{FilenameLimit} & Maximum length of the generated filenames. \\
+% FileDepth & P & Sectioning depth of the file splits. \\
+% CombineHigherDepths & P & Combine higher section levels. \\
+% FileSectionNames & P & Use section names for file names, else use numbers. \\
+% \cs{FilenameLimit} & P & Maximum length of the generated filenames. \\
% \midrule
-% FootnoteDepth & Sectioning depth of footnotes. \\
+% FootnoteDepth & P & Sectioning depth of footnotes. \\
% \midrule
-% \cs{abstractname} & The name of the abstract. \\
-% \cs{ImageAltText} & \cs{includegraphics} and other images' \attribute{alt} tag. \\
-% \cs{ThisAltText} \marg{text} & Assigns an \attribute{alt} \Slash \attribute{title}
+% \cs{abstractname} & P & The name of the abstract. \\
+% \cs{ImageAltText} & PD & \cs{includegraphics} and other images' \attribute{alt} tag. \\
+% \cs{ThisAltText} \marg{text} & PD & Assigns an \attribute{alt} \Slash \attribute{title}
% tag for the next image or link. \\
-% \cs{MathImageAltText} & The \SVG\ math image \env{lateximage} \attribute{alt} tag. \\
-% \cs{PackageDiagramAltText} & The suffix for a package's \env{lateximage} \attribute{alt} tags. \\
-% \cs{AltTextOpen} & Start an \HTML\ \attribute{alt} tag. \\
-% \cs{AltTextClose} & End an \HTML\ \attribute{alt} tag. \\
+% \cs{MathImageAltText} & PD & The \SVG\ math image \env{lateximage} \attribute{alt} tag. \\
+% \cs{PackageDiagramAltText} & PD & The suffix for a package's \env{lateximage} \attribute{alt} tags. \\
+% \cs{AltTextOpen} & PD & Start an \HTML\ \attribute{alt} tag. \\
+% \cs{AltTextClose} & PD & End an \HTML\ \attribute{alt} tag. \\
% \midrule
-% \cs{CSSFilename} & The \CSS\ for the following files. \\
-% \cs{MathJaxFilename} & The MathJax script for the following files. \\
+% \cs{CSSFilename} & PS & The \CSS\ for the following files. \\
+% \cs{MathJaxFilename} & PS & The \brand{MathJax} script for the following files. \\
% \midrule
-% \cs{HTMLLanguage} & The \HTML\ \attribute{lang} tag. \\
-% \cs{HTMLTitle} & The homepage's \element{title}, overriding \cs{title}. \\
-% \cs{HTMLTitleBeforeSection} & Set subpage \element{title}s to \newline
+% \cs{HTMLLanguage} & PS & The \HTML\ \attribute{lang} tag. \\
+% \cs{HTMLTitle} & PS & The homepage's \element{title}, overriding \cs{title}. \\
+% \cs{HTMLTitleBeforeSection} & PS & Set subpage \element{title}s to \newline
% \fqquad \attribute{\cs{HTMLTitle} - sectionname} \\
-% \cs{HTMLTitleAfterSection} & Set subpage \element{title}s to \newline
+% \cs{HTMLTitleAfterSection} & PS & Set subpage \element{title}s to \newline
% \fqquad \attribute{sectioname - \cs{HTMLTitle}}\\
-% \cs{HTMLAuthor} & The \HTML\ \attribute{author} meta tag, overriding \cs{author}. \\
-% \cs{HTMLDescription} & The \HTML\ \attribute{description} meta tag. \\
+% \cs{HTMLAuthor} & PS & The \HTML\ \attribute{author} meta tag, overriding \cs{author}. \\
+% \cs{HTMLDescription} & PS & The \HTML\ \attribute{description} meta tag. \\
% \midrule
-% \cs{HTMLFirstPageTop} & Heading for the home page. \\
-% \cs{HTMLPageTop} & Heading for the other pages. \\
-% \cs{HTMLPageBottom} & Footing for all pages. \\
+% \cs{HTMLFirstPageTop} & P & Heading for the home page. \\
+% \cs{HTMLFirstPageBottom} & P & Footer for the home page. \\
+% \cs{HTMLPageTop} & PS & Heading for the other pages. \\
+% \cs{HTMLPageBottom} & PS & Footer for the other pages. \\
% \midrule
-% HTMLDebugComments & Boolean to generate \HTML\ comments. \\
+% \cs{IndexPageSeparator} & P & Index page list separator. \\
+% \cs{IndexRangeSeparator} & P & Index page range separator. \\
+% \midrule
+% FixSmallCaps & P & Set \optn{true} if small caps rendered as all caps. \\
+% HTMLDebugComments & P & Boolean to generate \HTML\ comments. \\
% \bottomrule
% \end{tabular}
+% \begin{tablenotes}
+% \item [*]
+% \begin{inlinedesc}
+% \item [P:] Preamble,
+% \item [D:] Anywhere in the document.
+% \item [S:] Before a section.
+% \end{inlinedesc} \hspace*{\fill}
+% \end{tablenotes}
+% \end{threeparttable}
% \end{table}
%
% \Cref{tab:htmlsettings} shows several settings may be used
@@ -7540,66 +8062,40 @@
%
% \begin{description}[style=unboxed]
%
-% \item[Options for the \pkg{lwarp} package:] \ \newline
-% Use the following as options for |\usepackage[<options>]{lwarp}|:
+% \needspace{3\baselineskip}
+% \item[Placed in the preamble before \texttt{\cs{begin}\{document\}}:] \
%
% \begin{description}
%
-% \ItemDescribeOption{HomeHTMLFilename} \DescribeDefault{\cs{BaseJobname}}
-% Filename of the homepage, without
-% the ``\filenm{.html}'' suffix.
-% Defaults to the \cs{BaseJobname}. A common setting is:
-% \begin{sourcedisplay}
-% |HomeHTMLFilename=index|
-% \end{sourcedisplay}
-% causing the
-% homepage to be the file |index.html|. Underscores are allowed in
-% \margintag{filename underscores}
-% \optn{HomeHTMLFilename} and \optn{HTMLFilename} options, but may need to be escaped
-% elsewhere, such as when appearing in a list:
-% \gindex{underscore>filename}\gindex{filename>underscore in}
-% \changes{v0.24}{2017/03/13}{Docs: Filename underscore.}
-% \begin{sourcedisplay}
-% \cs{item} [\cs{href}\{file\textred{\textbackslash\_}name.pdf\}\{text\}] \textbackslash
-% \end{sourcedisplay}
-% See \cref{sec:filenameexamples} for examples of naming and numbering \HTML\ files.
+% \ItemDescribeMacro{\HTMLFirstPageTop} \marg{contents} \DescribeDefault{<empty>} \quad
+% A user-definable custom action applied
+% to the top of the home page. Useful for logos, etc.
+% \cs{LinkNext} may be used to link to the next web page.
+% Defaults empty.
+% Ignored in print output.
%
-% \ItemDescribeOption{HTMLFilename} \DescribeDefault{<empty>}
-% A filename prefix for the rest of the \HTML\ web pages.
-% Useful for numbered web pages with a common prefix. May be empty.
-% See \cref{sec:filenameexamples} for examples of naming and numbering \HTML\ files.
+% \ItemDescribeMacro{\HTMLFirstPageBottom} \marg{contents} \DescribeDefault{<empty>} \quad
+% A user-definable custom action applied
+% to the bottom of the home page. Useful for logos, etc.
+% \cs{LinkNext} may be used to link to the next web page.
+% Defaults empty.
+% Ignored in print output.
%
-% \ItemDescribeOption{latexmk} \DescribeDefault{false}
-% Controls whether \pkg{lwarp} uses \prog{latexmk} to
-% compile the document. This setting is written to \prog{lwarpmk}'s configuration
-% files.
-%
-% \ItemDescribeOption{mathsvg} \DescribeDefault{true}
-% Selects \SVG\ display for math output. (The default.)
-%
-% \ItemDescribeOption{mathjax} \DescribeDefault{false}
-% Selects \brand{MathJax} for math output.
-%
-% ^^A \ItemDescribeOption{mathKaTeX} \DescribeDefault{false}
-% ^^A Selects Ka\TeX\ for math output.
-%
-% \ItemDescribeOption{makeindex} \DescribeDefault{makeindex}
-% Selects \prog{makeindex} for index generation by \prog{lwarpmk}.
-%
-% \ItemDescribeOption{xindy} \DescribeDefault{makeindex}
-% Selects \prog{xindy} for index generation by \prog{lwarpmk}.
-%
-% \end{description} \bigskip
-%
-% \item[Placed in the preamble before \texttt{\cs{begin}\{document\}}:] \
-%
-% \begin{description}
-%
% \ItemDescribeMacro{\linkhomename} \DescribeDefault{Home}
% Name of the link to the home page. Paragraphs are allowed.
% Redefine with \cs{renewcommand}.
% \changes{v0.63}{2018/11/29}{Docs: \cs{linkhomename}.}
%
+% \ItemDescribeMacro{\linkpreviousname} \DescribeDefault{Previous}
+% Name of the link to the previous page. Paragraphs are allowed.
+% Redefine with \cs{renewcommand}.
+% \changes{v0.84}{2020/04/24}{Docs: \cs{linkpreviousname}.}
+%
+% \ItemDescribeMacro{\linknextname} \DescribeDefault{Next}
+% Name of the link to the next page. Paragraphs are allowed.
+% Redefine with \cs{renewcommand}.
+% \changes{v0.84}{2020/04/24}{Docs: \cs{linkpreviousname}.}
+%
% \ItemDescribeCounter{tocdepth} Sectioning depth of the table of contents.
% See \cref{sec:stackdepths} for a list of \LaTeX{} stack depths.
%
@@ -7717,6 +8213,11 @@
% Any pending footnotes are also placed at the bottom of each page
% before each file break.
%
+% \ItemDescribeBoolean{FixSmallCaps} \DescribeDefault{false}
+% Set |true| if \textsc{Small Caps} are rendering in all caps (``SMALL CAPS'').
+% May be required for some fonts (\pkg{erewhon}, \pkg{utopia}, \pkg{fbb}, et al.),
+% and packages such as \pkg{embrac}.
+%
% \ItemDescribeBoolean{HTMLDebugComments} \DescribeDefault{false}
% Set |true| to generate \HTML\ comments, such as which section or \element{div}
% is being opened or closed.
@@ -7727,9 +8228,17 @@
% by the \pkg{babel} package. Defaults to ``|Abstract|''.
% Redefine with \cs{renewcommand}.
%
+% \ItemDescribeMacro{\IndexPageSeparator} \DescribeDefault{``, ''}
+% Index page list separator. Adjust to match index style file.
+% If using \pkg{gindex}, this is set automatically to \pkg{gindex}'s \cs{indexpagessep}.
+%
+% \ItemDescribeMacro{\IndexRangeSeparator} \DescribeDefault{``-\/-''}
+% Index page range separator. Adjust to match index style file.
+% If using \pkg{gindex}, this is set automatically to \pkg{gindex}'s \cs{indexrangesep}.
+%
% \end{description}
%
-% \needspace{2\baselineskip}
+% \needspace{3\baselineskip}
% \item[Placed before \texttt{\cs{begin}\{document\}},
% or before any sectioning command which causes a file break:] \
%
@@ -7749,11 +8258,11 @@
%
% \ItemDescribeMacro{\MathJaxFilename} \marg{filename}
% \DescribeDefault{\filenm{lwarp_mathjax.txt}} \quad
-% Sets the MathJax script file to use for the following
+% Sets the \brand{MathJax} script file to use for the following
% files. May be changed before each each sectioning command which would
% cause a file split.
%
-% The MathJax script file is copied into the head of each \HTML\ file.
+% The \brand{MathJax} script file is copied into the head of each \HTML\ file.
% This may be used to point to a local repository, add extensions, or change
% the script somewhere in the middle of the document.
% \cs{MathJaxFilename} may be used before each file break to set the script file for
@@ -7803,31 +8312,40 @@
% the following files. May be changed before each each sectioning command which would
% cause a file split.
%
-% \ItemDescribeMacro{\HTMLFirstPageTop} \marg{contents} \DescribeDefault{<empty>} \quad
-% A user-definable custom action applied
-% to the top of the home page. Useful for logos, etc.
-% Defaults empty.
-% Ignored in print output.
-%
% \ItemDescribeMacro{\HTMLPageTop} \marg{contents} \DescribeDefault{<empty>} \quad
% A user-definable custom action applied to
% the top of pages other than the home page. Useful for logos, etc.
% Defaults empty.
-% \cs{LinkHome} may be used to place a link back to the homepage.
+% \cs{LinkHome} may be used to place a link back to the homepage, as well as
+% \cs{LinkPrevious} and \cs{LinkNext}.
% Ignored in print output.
%
% \ItemDescribeMacro{\HTMLPageBottom} \marg{contents} \DescribeDefault{<empty>} \quad
% A user-definable custom action applied to the
-% bottom of each web page.
+% bottom of pages other than the home page.
% Useful for authors, copyright notices, contact information, etc.
% Defaults empty.
-% \cs{LinkHome} may be used to place a link back to the homepage.
+% \cs{LinkHome} may be used to place a link back to the homepage, as well as
+% \cs{LinkPrevious} and \cs{LinkNext}.
% Ignored in print output.
%
+% \ItemDescribeMacro{\LinkHome} Creates a link to the home page.
+% \gindex{link>home \Slash previous \Slash next page}
+% \gindex{navigation>link to home \Slash previous \Slash next page}
+% Usually used in \cs{HTMLPageTop} and related.
+%
+% \ItemDescribeMacro{\LinkPrevious} Creates a link to the previous \HTML\ page,
+% unless already at the home page.
+% Usually used in \cs{HTMLPageTop} and related.
+%
+% \ItemDescribeMacro{\LinkNext} Creates a link to the next \HTML\ page, unless
+% already at the end.
+% Usually used in \cs{HTMLPageTop} and related.
+%
% \end{description}
%
%
-% \needspace{2\baselineskip}
+% \needspace{3\baselineskip}
% \item[Placed in the home page before the first sectioning command which causes a file break:] \
%
% \begin{description}
@@ -7883,13 +8401,15 @@
%
% \emph{Do not place anything else on the same line as \texttt{\cs{end}\{warpprint\}}}.
% \watchout
+% Also do not nest \env{warpprint} inside itself.
%
-% \ItemDescribeEnv{warpHTML} An environment which is only used
+% \ItemDescribeEnv{warpHTML} An environment which is only included
% while generating \HTML\ output. This is useful for website logos and
% other items which have no purpose in printed output.
%
% \emph{Do not place anything else on the same line as \texttt{\cs{end}\{warpHTML\}}}.
% \watchout
+% Also do not nest \env{warpHTML} inside itself.
%
% \ItemDescribeMacro{\warpprintonly} \marg{contents} \quad
% A macro version of the \env{warpprint} environment.
@@ -8011,8 +8531,46 @@
% \VerbatimInput[frame=lines]{sample_project.css}
%
% Finally use |\CSSFilename{<project>.css}| in the document to activate the custom \CSS.
-%
-%
+%
+%
+% \subsection{Assigning \CSS\ classes and styles}
+% \label{sec:classstyle}
+%
+% \gindex{CSS>class=\attribute{class}}
+% \gindex{CSS>style=\attribute{span}}
+% \gindex{HTML>class=\attribute{class}}
+% \gindex{HTML>style=\attribute{style}}
+% \gindex{HTML>div=\element{div}}
+% \gindex{HTML>span=\element{span}}
+%
+% \HTML\ \CSS\ classes and styles may be assigned to fragments of the document.
+%
+% \DescribeEnv{BlockClass} \oarg{style} \marg{class}
+%
+% An entire block of text, including paragraphs, may be assigned a \CSS\ class
+% and optional \CSS\ style using the \env{BlockClass} environment.
+% The result is placed inside a \element{div}.
+% A \env{BlockClass} may nest other \env{BlockClass}es or \cs{InlineClass}es.
+%
+% \DescribeMacro{\InlineClass}
+% \parg{\acro{wp} \CSS\ style} \oarg{web \CSS\ style}
+% \marg{\CSS\ class} \marg{text}
+%
+% A section of text without paragraphs may be assinged a \CSS\ class and optional
+% \CSS\ style using the \cs{InlineClass} macro.
+% The result is placed inside a \element{span}.
+% \cs{InlineClass} may be nested, but per the \HTML\ standard it must not contain
+% \env{BlockClass}, nor may it contain a paragraph, nor several other objects
+% such as \HTML\ figures.
+% \cs{InlineClass} also accepts a second optional parameter, enclosed inside
+% parentheses, which assigns the style while generating output for a word processor,
+% while ignoring the web style.
+%
+% Nullified versions of \env{BlockClass} and \cs{InlineClass} are provided
+% for the print version, so they may be used in the document without
+% placing them inside \env{warpHTML} or \cs{warpHTMLonly}.
+%
+%
% \subsection{Selecting the operating system}
% \label{sec:OSportabilityusage}
% \changes{v0.11}{2016/03/11}{Added section: Selecting the operating system.}
@@ -8022,7 +8580,7 @@
%
% \subsection{Selecting actions for print, \HTML, or \brand{MathJax} output}
% \label{sec:selectingoutput}
-% \gindex{settings>selecting output}
+% \gindex{settings>selecting print/\HTML\ output}
% \changes{v0.15}{2016/04/05}{Docs: Clarify print/\HTML\ output.}
%
% The following environments and macros are used to select actions which only apply
@@ -8050,6 +8608,8 @@
% Do \emph{not} place anything else on the same line as |\end{warpHTML}|.
% \trouble[\texttt{\cs{end}\{warpHTML\}}]{warpHTML}
% The exact phrase is used to mark the end of the environment.
+% Do not nest \env{warpHTML} inside itself. \watchout[nesting]
+% \env{warpMathJax} may be used inside \env{warpHTML}.
%
% \DescribeEnv{warpprint}
% Anything which is to be done only for print output
@@ -8061,6 +8621,7 @@
% \end{Verbatim}
% As above, do not place anything else on the line with |\end{warpprint}|.
% \trouble[\texttt{\cs{end}\{warpprint\}}]{warpprint}
+% Do not nest \env{warpprint} inside itself.\watchout[nesting]
%
% \DescribeEnv{warpall}
% Anything which is to be done for any output
@@ -8071,6 +8632,8 @@
% \end{warpall}
% \end{Verbatim}
% As above, do not place anything else on the line with |\end{warpall}|.
+% \trouble[\texttt{\cs{end}\{warpall\}}]{warpall}
+% Do not nest \env{warpall} inside itself.\watchout[nesting]
%
%
% Macros are also provided for print-only or \HTML-only code:
@@ -8087,6 +8650,10 @@
% Anything which is to be done only while using \HTML\ output with \brand{MathJax}
% is surrounded by a \env{warpMathJax} environment.
% Usually, this is \cs{CustomizeMathJax}, used to add emulation macros.
+% |\end{warpMathJax}| must appear on its own line.
+% \trouble[\texttt{\cs{end}\{warpMathJax\}}]{warpMathJax}
+% Do not nest \env{warpMathJax} inside itself. \watchout[nesting]
+% \env{warpMathJax} may be used inside \env{warpHTML}.
%
%
% \subsection{Commands to be placed into the \env{warpprint} environment}
@@ -8328,11 +8895,75 @@
%
% \limitstext
%
-% \subsubsection{Horizontal space}
%
-% \limitshspace
+% \subsubsection{Small caps}
%
+% \DescribeBoolean{FixSmallCaps}
+% \trouble{font>small caps}
+% \trouble{small caps}
+% \trouble{font>CJK}
+% \trouble{CJK>font}
+% Some fonts, such as \pkg{erewhon}, \pkg{utopia}, or \pkg{fbb}, and some packages
+% such as \pkg{embrac}, copy/paste ``\textsc{Small Caps}''
+% as all caps (``SMALL CAPS''),
+% which \pkg{lwarp} then reads as all caps, so the text is printed in all caps.
+% If small caps are being rendered as all caps, set:
+% \begin{sourceverb}
+% \booltrue{FixSmallCaps}
+% \end{sourceverb}
+% Some CJK fonts may not work if \bool{FixSmallCaps} is set \optn{true}.
+% \watchout[CJK fonts]
+% \trouble{Chinese>font}
+% \trouble{Japanese>font}
+% \trouble{Korean>font}
%
+%
+% \subsubsection{Horizontal and vertical space and rules}
+%
+% \DescribeMacro{\hspace}
+% \gindex{space>horizontal and vertical}
+% \gindex{horizontal and vertical space}
+% \gindex{vertical space}
+% \cs{hspace} is converted to an inline \HTML\ span of the given width,
+% except that \texttt{0} width is ignored,
+% a width of \texttt{.16667em} is converted to
+% an \HTML\ thin breakable space (\texttt{U+2009}),
+% and a \cs{fill} is converted to a \cs{qquad}.
+%
+% \DescribeMacro{\vspace}
+% \cs{vspace} is ignored for \HTML.
+%
+% \gindex{\texttt{\textasciitilde}}
+% \gindex{\cs{,}}
+% \marginpar{\hspace*{\fill}\texttt{\~}}
+% \DescribeMacro{\,}
+% \texttt{\~} and \cs{,} are converted to \HTML\ entities.
+%
+% \DescribeMacro{\kern}
+% \DescribeMacro{\hskip}
+% \cs{kern} and \cs{hskip} are entered into the \HTML\ \PDF\ output as-is,
+% then interpreted by \prog{pdftotext}, and thus usually appear as a single space.
+%
+% \DescribeMacro{\rule}
+% \cs{rule} is converted to an \HTML\ rule of the same dimensions,
+% of the currently selected text color.
+%
+% \DescribeMacro{\hrule}
+% \DescribeMacro{\vrule}
+% \trouble{hrule=\cs{hrule}}
+% \gindex{hrule=\cs{hrule}}
+% Both \cs{hrule} and \cs{vrule} are ignored for \HTML.
+% To create a horizontal dividing rule across the page,
+% use \cs{hrulefill} in its own paragraph.
+%
+% \DescribeMacro{\hrulefill}
+% \gindex{rule>horizontal}
+% \gindex{horizontal rule}
+% \cs{hrulefill} usually creates a one-inch rule, similar to a ``fill in the blank''.
+% If it is used at the start of a new paragraph, it creates a \element{div}
+% with a thin horizontal border across the page, as would often be done with \cs{hrule}.
+%
+%
% \subsubsection{Text alignment}
%
% Use the environments \env{center}, \env{flushright}, \env{flushleft} instead
@@ -8474,7 +9105,7 @@
% and \cs{StopDefiningTabulars} afterwards.
% Also see the \pkg{lwarp} documentation for the \pkg{fancybox} package.
% \item [To frame equations:] See \cref{sec:fancybox} for the \pkg{fancybox} package.
-% \item [For fancy framed minipages:] See packages \pkg{boxedminipage2e},
+% \item [For fancy framed minipages:] See packages \pkg{boxedminipage},
% \pkg{shadow}, \pkg{fancybox}, \pkg{framed}, \pkg{mdframed}.
% \item [Custom environments:] Use a custom environment to create a sidebar,
% containing a \env{BlockClass} environment
@@ -8502,7 +9133,45 @@
% \DescribePackage{mdframed}
% \limitsmdframed
%
+
+% \subsubsection{\pkg{tcolorbox} package}
+% \label{sec:limitstcolorbox}
%
+% \DescribePackage{tcolorbox}
+% \trouble{tcolorbox=\pkg{tcolorbox}}
+% \pkg{tcolorbox} is emulated for \HTML\ and \brand{MathJax}, and
+% supported as-is inside a \env{lateximage} or \SVG\ math.
+%
+% What has been tested to work (at least partly) includes:
+% \begin{itemize}[nosep]
+% \item \env{tcolorbox}, \cs{tcbox}.
+% \item Title, subtitle.
+% \item Upper, lower parts.
+% \item Colors and title fonts.
+% \item Floating objects.
+% \item Some layered box features.
+% \item Counters, labels, references.
+% \item \pkg{listings}, \pkg{listingsutf8}.
+% \item \optn{theorems}:
+% Theorems are supported.
+% \optn{math}, \optn{ams equation}, etc.\ are not supported. \watchout[math]
+% Use a \env{tcolorbox} with regular math inside it.
+% \cs{tcboxmath} and \cs{tcbhighmath} are suppored in \SVG\ math, and
+% emulated in \brand{MathJax}.
+% \item Fitting features: \cs{tcboxfit} becomes \cs{tcbox} in \HTML.
+% \item Footnote numbering does not match the printed output.\watchout[footnotes]
+% \item \brand{MathJax} emulation is provided for common macros.
+% \end{itemize}
+%
+% If using \pkg{cleveref},
+% \trouble[undefined references]{reference>undefined>tcolorbox=\pkg{tcolorbox}}
+% it may be necessary to name theorems such as:
+% \begin{sourceverb}
+% \crefname{tcb at cnt@mytheo}{my theorem}{my theorems}
+% \end{sourceverb}
+%
+%
+%
% \subsection{Section names}
% \label{sec:limitssectionnames}
%
@@ -8601,6 +9270,14 @@
% \DescribePackage{varioref}
% \limitscpageref
%
+% \pkg{cleveref} changes the behavior of \pkg{varioref} in that
+% \trouble[\pkg{varioref} types]{varioref=\pkg{varioref}}
+% the reference type is automatically printed if \pkg{cleveref} is loaded.
+% \pkg{Lwarp} requires \pkg{cleveref}, so the \HTML\ version will always
+% automatically print the reference types even if the print mode does not.
+% The simplest way to make them match is to require the \pkg{cleveref} package
+% for the document.
+%
% \subsubsection{Hyperlinks, \pkg{hyperref}, and \pkg{url}}
%
% \DescribePackage{hyperref}
@@ -8823,8 +9500,13 @@
%
% If using a custom indexing style file,
% \margintag{custom index style}
-% see \cref{sec:modifymakeindex,sec:modifyxindy}.
+% see \cref{sec:modifymakeindex,sec:modifyxindy,sec:modifyxindex}.
%
+% To control how the index links appear in the \HTML\ output,
+% \margintag{link appearance}
+% see the \optn{IndexRef} option in \cref{sec:optionindexref},
+% \cpageref{sec:optionindexref}.
+%
% See \cref{sec:index} for \pkg{lwarp}'s core index and glossary code,
% \margintag{source code}
% \gindex{index>source code}
@@ -8835,15 +9517,16 @@
% and \cref{sec:memoirbackmatter} for \pkg{memoir}'s indexing patches.
%
%
-% \subsubsection{Indexing with basic \LaTeX\ and \pkg{makeidx}}
+% \subsubsection{Indexing with \pkg{makeidx}, \prog{makeindex},
+% \prog{xindy}, \prog{xindex}, \pkg{gindex}}
% \label{sec:indexsetup}
%
% \changes{v0.38}{2017/08/24}{Docs: Index, \pkg{tocbibind}.}
% \changes{v0.58}{2018/06/14}{Docs: Index, \prog{makeindex}, \pkg{imakeidx}.}
%
-% \gindex{xindy=\pkg{xindy}>and \pkg{hyperref}}
-% \gindex{hyperref=\pkg{hyperref}>and \pkg{xindy}}
-% \gindex{index>xindy=\pkg{xindy} and \pkg{hyperref}}
+% \gindex{xindy=\prog{xindy}>and \pkg{hyperref}}
+% \gindex{hyperref=\pkg{hyperref}>and \prog{xindy}}
+% \gindex{index>xindy=\prog{xindy}>hyperref=and \pkg{hyperref}}
% \trouble{index>missing entries}
% \gindex{index>see, seealso, ranges}
% \gindex{index>processing}
@@ -8858,6 +9541,9 @@
%
% \needspace{2\baselineskip}
% \item [For a single index using \prog{makeindex}:]
+% \DescribeProgram{makeindex}
+% \gindex{makeindex=\prog{makeindex}}
+% \gindex{index>makeindex=\prog{makeindex}>setup}
% \begin{sourcedisplay}
% \cs{usepackage}\textred{[makeindex\textgreen{,latexmk}]}
% \{\textblue{lwarp}\}
@@ -8872,8 +9558,13 @@
% Otherwise, use \userentry{lwarpmk printindex} \userentry{lwarpmk htmlindex}
% to compile the indexes.
%
+% To use a custom configuration file, see \cref{sec:modifymakeindex}.
+%
% \needspace{8\baselineskip}
% \item [For a single index using \prog{xindy}:]
+% \DescribeProgram{xindy}
+% \gindex{xindy=\prog{xindy}}
+% \gindex{index>xindy=\prog{xindy}>setup}
% \begin{sourcedisplay}
% \cs{usepackage}[ \\
% \fqquad \textred{xindy,} \\
@@ -8889,11 +9580,63 @@
% \prog{latexmk} will create the index automatically.
% Otherwise, use \userentry{lwarpmk printindex} \userentry{lwarpmk htmlindex}
% to compile the indexes.
+%
+% To use a custom configuration file, see \cref{sec:modifyxindy}.
+%
+% \needspace{8\baselineskip}
+% \item [For a single index using \prog{xindex}:]
+% \DescribeProgram{xindex}
+% \gindex{xindex=\prog{xindex}}
+% \gindex{index>xindex=\prog{xindex}>setup}
+% \begin{sourcedisplay}
+% \cs{usepackage}[ \\
+% \fqquad \textred{xindex,} \\
+% \fqquad \textgreen{latexmk} \hfill \textrm{<optional>}\\
+% ]\{\textblue{lwarp}\}
+% \end{sourcedisplay}
+% The usual \filenm{.idx} and \filenm{.ind} files will be used.
+%
+% \prog{lwarpmk} will use \prog{latexmk} if specified, in which case
+% \prog{latexmk} will create the index automatically.
+% Otherwise, use \userentry{lwarpmk printindex} \userentry{lwarpmk htmlindex}
+% to compile the indexes.
+%
+% To use a custom configuration file, see \cref{sec:modifyxindex}.
+%
+%
+% \needspace{8\baselineskip}
+% \item [For a single index using \pkg{gindex}:]
+% \DescribePackage{gindex}
+% \gindex{gindex=\pkg{gindex}}
+% \gindex{index>gindex=\pkg{gindex}>setup}
+% \begin{sourcedisplay}
+% \cs{usepackage}[ \\
+% \fqquad \textred{makeindex,} \\
+% \fqquad \textred{makeindexStyle=gindex.ist,} \\
+% \fqquad \dots or \dots \\
+% \fqquad \textred{makeindexStyle=gindexh.ist,} \\
+% \fqquad \textgreen{latexmk} \hfill \textrm{<optional>}\\
+% ]\{\textblue{lwarp}\}
+% \end{sourcedisplay}
+% The usual \filenm{.idx} and \filenm{.ind} files will be used.
+%
+% \prog{lwarpmk} will use \prog{latexmk} if specified, in which case
+% \prog{latexmk} will create the index automatically.
+% Otherwise, use \userentry{lwarpmk printindex} \userentry{lwarpmk htmlindex}
+% to compile the indexes.
+%
+% To use a custom configuration file, copy \filenm{gindex.ist} to a new
+% file, modify, then specify it with \optn{MakeindexStyle} as above.
+% \pkg{lwarp} will automatically adapt to \pkg{gindex}'s \cs{indexpagessep}
+% and \cs{indexrangesep} settings.
% \end{description}
%
%
% \subsubsection{Indexing with \pkg{index}}
%
+% \DescribeProgram{index}
+% \gindex{index>index=\prog{index}>setup}
+%
% \pkg{lwarp} is told how to use \prog{makeindex} using the
% \optn{PrintIndexCmd} and \optn{HTMLIndexCmd} options.
% The file \filenm{lwarp.ist} is specified, which generates index letter heads for
@@ -8943,6 +9686,9 @@
%
% \subsubsection{Indexing with \pkg{splitidx}}
%
+% \DescribeProgram{splitidx}
+% \gindex{index>splitidx=\prog{splitidx}>setup}
+%
% \pkg{lwarp} is told how to use \prog{splitindex} using the
% \optn{PrintIndexCmd} and \optn{HTMLIndexCmd} options.
% The file \filenm{lwarp.ist} is specified, which generates index letter heads for
@@ -9003,11 +9749,12 @@
% \end{description}
%
%
-%
-%
% \subsubsection{Indexing with \pkg{imakeidx}}
% \label{sec:indexingimakeidx}
%
+% \DescribeProgram{imakeidx}
+% \gindex{index>imakeidx=\prog{imakeidx}>setup}
+%
% Due to the number of methods which may be used to process multiple indexes,
% the options for style file and \prog{xindy} language and codepage must be
% specified in one of several different ways. These are described in detail later in
@@ -9019,7 +9766,9 @@
% \optn{options=} option, which must include
% \pkg{lwarp}'s special \filenm{lwarp.ist} or \filenm{lwarp.xdy} file,
% or a file based on them.
-% If using a custom indexing style file, see \cref{sec:modifymakeindex,sec:modifyxindy}.
+% If using a custom indexing style file,
+% see \cref{sec:modifymakeindex,sec:modifyxindy,sec:modifyxindex}.
+%
% The \optn{splitindex} option is also available of shell escape is used,
% in which case the \pkg{splitidx} package and \prog{splitindex} program will also be used.
%
@@ -9175,14 +9924,51 @@
%
% Use \userentry{lwarpmk printindex} \userentry{lwarpmk htmlindex}
% to compile the indexes.
+%
+% \needspace{2\baselineskip}
+% \item [For multiple indexes using \prog{xindex} and \pkg{imakeidx}, using shell escape:] \
+%
+% \prog{xindex}, \prog{makeindex}, \prog{imakeidx}, and \prog{splitindex} can
+% all work together:
+% \begin{sourcedisplay}
+% \cs{usepackage}\textred{[\% \\
+% \fquad xindex, \\
+% \fquad xindexConfig=-imakeidx, \\
+% \fquad \textgreen{latexmk} \\
+% ]}
+% \{\textblue{lwarp}\} \\
+% \cs{usepackage}\textred{[makeindex\textgreen{,splitindex}]}\{\textblue{imakeidx}\} \\
+% \dots \\
+% \cs{makeindex}[\% \\
+% \fquad \textgreen{options=\{ -s lwarp.ist\} \}} \\
+% ] \\
+% \cs{makeindex}[ \\
+% \fquad name=secondname, \\
+% \fquad \textgreen{options=\{ -s lwarp.ist\} \}} \\
+% ] \\
+% \end{sourcedisplay}
+% For the first compile, use:
+% \watchout[enable shell escape]
+% \userentry{pdflatex \textred{-\/-shell-escape} projectname.tex}
+% \userentry{pdflatex \textred{-\/-enable-write18} projectname.tex \quad \textrm{(MiKTeX)}}
+% or similar with \prog{xelatex} or \prog{lualatex}.
+% \pkg{lwarp} will remember if shell escape was used.
+%
+% \prog{xindex} will use \prog{imakeidx},
+% and \prog{imakeidx} will automatically execute \prog{splitindex} if selected.
+%
+% If selected, \prog{latexmk} will automatically recompile the entire document
+% as necessary.
% \end{description}
%
%
% \subsubsection{Indexes with \pkg{memoir}}
%
+% \gindex{index>memoir=\pkg{memoir}>setup}
+%
% \begin{description}
% \needspace{7\baselineskip}
-% \item [For a single index with \pkg{memoir} and \pkg{makeindex}:]
+% \item [For a single index with \pkg{memoir} and \prog{makeindex}:]
% \begin{sourcedisplay}
% \cs{documentclass}\{\textblue{memoir}\} \\
% \cs{usepackage}\textred{[makeindex\textgreen{,latexmk}]}\{\textblue{lwarp}\} \\
@@ -9198,7 +9984,7 @@
% to compile the indexes.
%
% \needspace{9\baselineskip}
-% \item [For multiple indexes with \pkg{memoir} and \pkg{makeindex},
+% \item [For multiple indexes with \pkg{memoir} and \prog{makeindex},
% using \prog{latexmk}:] \
%
% \pkg{lwarp}'s options are used, and are passed to \prog{latexmk}.
@@ -9213,7 +9999,7 @@
% when the user executes \cmds{lwarpmk print} and \cmds{lwarpmk html}.
%
% \needspace{19\baselineskip}
-% \item [For multiple indexes with \pkg{memoir} and \pkg{makeindex},
+% \item [For multiple indexes with \pkg{memoir} and \prog{makeindex},
% \emph{without} \pkg{latexmk}:] \
%
% \prog{lwarpmk} must be told how to create the indexes:
@@ -9244,7 +10030,7 @@
% to compile the indexes.
%
% \needspace{13\baselineskip}
-% \item [For a single index with \pkg{memoir} and \pkg{xindy}:]
+% \item [For a single index with \pkg{memoir} and \prog{xindy}:]
% \begin{sourcedisplay}
% \cs{documentclass}\{\textblue{memoir}\} \\
% \cs{usepackage}[ \\
@@ -9266,7 +10052,7 @@
% to compile the indexes.
%
% \needspace{17\baselineskip}
-% \item [For multiple indexes with \pkg{memoir} and \pkg{xindy},
+% \item [For multiple indexes with \pkg{memoir} and \prog{xindy},
% using \pkg{latexmk}:] \
%
% \pkg{lwarp}'s options are used, and are passed to \prog{latexmk}.
@@ -9286,7 +10072,7 @@
% \prog{lwarpmk} will use \prog{latexmk} to create the indexes automatically.
%
% \needspace{24\baselineskip}
-% \item [For multiple indexes with \pkg{memoir} and \pkg{xindy},
+% \item [For multiple indexes with \pkg{memoir} and \prog{xindy},
% \emph{without} \pkg{latexmk}:] \
%
% \prog{lwarpmk} must be told how to create the indexes:
@@ -9330,8 +10116,8 @@
% \DescribeFile{lwarp.ist}
% When using \prog{makeindex}, \prog{lwarpmk} uses the file |lwarp.ist| to process the index.
% \gindex{lwarp.ist=\filenm{lwarp.ist}>customizing}
-% \gindex{makeindex>customizing}
-% \gindex{index>custom \pkg{makeindex} style file}
+% \gindex{makeindex=\prog{makeindex}>customizing}
+% \gindex{index>makeindex=\prog{makeindex}>custom style file}
% This file is over-written by \pkg{lwarp} whenever a print version of
% the document is processed.
%
@@ -9342,14 +10128,24 @@
% Keep the lines which refer to \cs{hyperindexref}.
% These lines creates the hyperlinks for the \HTML\ index. During print output
% \cs{hyperindexref} becomes a null function.
+% \item If changing
+% \begin{sourceverb}
+% delim_n -and- delim_r
+% \end{sourceverb}
+% in \filenm{projectname.ist}, then in the document preamble redefine
+% \begin{sourceverb}
+% \IndexPageSeparator -and- \IndexRangeSeparator
+% \end{sourceverb}
+% to match.
% \item In the document source use the \optn{makeindexStyle} option for \pkg{lwarp}:
% \DescribeOption{makeindexStyle}
-% \begin{Verbatim}[gobble=2,tabsize=4]
-% \usepackage[
-% ... other options ...
-% \textred{makeindexStyle=projectname.ist},
-% ]{lwarp}
-% \end{Verbatim}
+% \begin{sourcedisplay}
+% \cs{usepackage}[ \\
+% \fquad \dots other options \dots \\
+% \fquad \textred{makeindex}, \\
+% \fquad \textred{makeindexStyle=projectname.ist}, \\
+% ]\{lwarp\}
+% \end{sourcedisplay}
% Likewise, refer to the custom style file if using \cs{PrintIndexCmd},
% \cs{HTMLIndexCmd}, or \cs{LatexmkIndexCmd}.
% \item Recompile the print version, which causes
@@ -9366,8 +10162,8 @@
% \DescribeFile{lwarp.xdy}
% When using \prog{xindy}, \prog{lwarpmk} uses the file |lwarp.xdy| to process the index.
% \gindex{lwarp.xdy=\filenm{lwarp.xdy}>customizing}
-% \gindex{xindy=\pkg{xindy}>customizing}
-% \gindex{index>custom \pkg{xindy} style file}
+% \gindex{xindy=\prog{xindy}>customizing}
+% \gindex{index>xindy=\prog{xindy}>custom style file}
% This file is over-written by \pkg{lwarp} whenever a print version of
% the document is processed.
%
@@ -9387,14 +10183,28 @@
% \cs{hyperindexref} becomes a null function.
%
% To create custom styles, refer to the lines for \cs{textbf} and \cs{textit}.
+% \item If changing any of
+% \begin{sourceverb}
+% markup-locref-list :sep
+% markup-locclass-list :open
+% markup-locclass-list :sep
+% markup-crossref-layer-list :sep
+% markup-range :sep
+% \end{sourceverb}
+% in \filenm{projectname.xdy}, then in the document preamble redefine
+% \begin{sourceverb}
+% \IndexPageSeparator -and- \IndexRangeSeparator
+% \end{sourceverb}
+% to match.
% \item In the document source use the \optn{xindyStyle} option for \pkg{lwarp}:
% \DescribeOption{xindyStyle}
-% \begin{Verbatim}[gobble=2,tabsize=4]
-% \usepackage[
-% ... other options ...
-% \textred{xindyStyle=projectname.xdy},
-% ]{lwarp}
-% \end{Verbatim}
+% \begin{sourcedisplay}
+% \cs{usepackage}[ \\
+% \fquad \dots other options \dots \\
+% \fquad \textred{xindy}, \\
+% \fquad \textred{xindyStyle=projectname.xdy}, \\
+% ]\{lwarp\}
+% \end{sourcedisplay}
% Likewise, refer to the custom style file if using \cs{PrintIndexCmd},
% \cs{HTMLIndexCmd}, or \cs{LatexmkIndexCmd}.
% \item Recompile the print version, which causes
@@ -9401,12 +10211,50 @@
% \pkg{lwarp} to rewrite the |lwarpmk.conf| configuration file.
% This tells \prog{lwarpmk} to use the custom |projectname.xdy| file instead of |lwarp.xdy|.
% \end{enumerate}
+%
+%
+% \subsubsection{Using a custom \prog{xindex} style file}
+% \label{sec:modifyxindex}
+%
+% \DescribeProgram{xindex}
+% \gindex{xindex=\prog{xindex}>customizing}
+% \gindex{index>xindex=\prog{xindex}>custom configuration file}
+% To use a custom \prog{xindex} style file:
+% \begin{enumerate}
+% \item Copy |xindex-cfg.lua| to a new filename such as \filenm{xindex-projectname.lua}.
+% The filename must start with \filenm{xindex-} and end with \filenm{.lua}.\watchout[filename]
+% \item Make changes to \filenm{xindex-projectname.lua}.
+% \item If changing
+% \begin{sourceverb}
+% itemPageDelimiter -and- rangeSymbol
+% \end{sourceverb}
+% in \filenm{xindex-projectname.lua}, then in the document preamble redefine
+% \begin{sourceverb}
+% \IndexPageSeparator -and- \IndexRangeSeparator
+% \end{sourceverb}
+% to match.
+% \item In the document source use the \optn{xindexConfig} option for \pkg{lwarp}:
+% \DescribeOption{xindexConfig}
+% \begin{sourcedisplay}
+% \cs{usepackage}[ \\
+% \fquad \dots other options \dots \\
+% \fquad \textred{xindex}, \\
+% \fquad \textred{xindexConfig=projectname}, \quad \% \textgreen{(without xindex- or .lua)} \\
+% ]\{lwarp\}
+% \end{sourcedisplay}
+% Likewise, refer to the custom style file if using \cs{PrintIndexCmd},
+% \cs{HTMLIndexCmd}, or \cs{LatexmkIndexCmd}.
+% \item Recompile the print version, which causes
+% \pkg{lwarp} to rewrite the |lwarpmk.conf| configuration file.
+% This tells \prog{lwarpmk} to use the custom
+% \filenm{xindex-projectname.lua} file instead of the default |xindex-cfg.lua|.
+% \end{enumerate}
%
%
% \subsubsection{Additional indexing limitations}
% \prog{xindy} and \pkg{hyperref} may not work well together for print output
-% \trouble[\pkg{xindy} with \pkg{hyperref}]{xindy=\pkg{xindy}>hyperref=\pkg{hyperref}}
-% \trouble{index>xindy=\pkg{xindy} and \pkg{hyperref}}
+% \trouble[\prog{xindy} with \pkg{hyperref}]{xindy=\prog{xindy}>hyperref=and \pkg{hyperref}}
+% \trouble{index>xindy=\prog{xindy}>hyperref=and \pkg{hyperref}}
% \trouble{index>see and seealso}
% \trouble{index>reference ranges}
% \trouble{index>styling references}
@@ -9450,6 +10298,9 @@
%
%
% \subsubsection{Index positions, \TOC, \pkg{tocbibind}}
+% \gindex{index>placement}
+% \gindex{index>tocbibind=\pkg{tocbibind}}
+%
% \limitstocbibind
%
% \limitstocloft
@@ -9527,12 +10378,6 @@
%
%
%
-% \subsubsection{\pkg{newtxmath} package}
-%
-% \DescribePackage{newtxmath}
-% \limitsnewtxmath
-%
-%
% \subsection{Graphics}
% \label{sec:limitsgraphics}
%
@@ -9751,7 +10596,42 @@
% \DescribeClass{memoir}
% \limitsmemoir
%
+% The custom frame commands in the \pkg{memoir} manual may be emulated by
+% \trouble[\env{framewithtitle}, \env{titledframe}]{framewithtitle=\env{framewithtitle}}
+% \trouble{titledframe=\env{titledframe}}
+% \trouble{memoir=\pkg{memoir}>\env{framewithtitle}, \env{titledframe}}
+% \gindex{memoir=\pkg{memoir}>\env{framewithtitle}, \env{titledframe}}
+% placing the original defintions in the preamble inside \env{warpprint}
+% environments, and then providing an \HTML\ equivalent:
+% \begin{sourceverb}
+% \begin{warpHTML}
+% \newcommand{\FrameTitle}[2]{%
+% \textbf{#2}
+% }
+%
+% \newenvironment{framewithtitle}[2][\FrameFirst at Lab\ (cont.)]{%
+% \begin{fminipage}{\linewidth}
+% \textbf{#2}
+% \begin{minipage}{\linewidth}
+% }
+% {\end{minipage}\end{fminipage}}
+%
+% \newcommand{\TitleFrame}[2]{%
+% \par
+% \textbf{#1}\par
+% \fboxBlock{#2}
+% }
+%
+% \newenvironment{titledframe}[2][\FrameFirst at Lab\ (cont.)]{%
+% \par
+% \textbf{#2}
+% \begin{fminipage}{\linewidth}
+% }
+% {\end{fminipage}}
+% \end{warpHTML}
+% \end{sourceverb}
%
+%
% \subsection{International languages}
% \label{sec:international}
%
@@ -9818,6 +10698,10 @@
% \limitsfixme
%
%
+% \subsubsection{\pkg{acro} package}
+% \limitsacro
+% \trouble{acro=\pkg{acro}}
+%
% \subsubsection{\pkg{chemfig} package}
%
% \limitschemfig
@@ -9835,14 +10719,6 @@
% See \cref{sec:mhchem}.
%
%
-% \subsubsection{\pkg{xparse} package}
-%
-% \changes{v0.45}{2017/12/09}{Docs: \pkg{xparse} warnings.}
-% \DescribePackage{xparse}
-% \limitsxparse
-% \gindex{xparse=\pkg{xparse}>warnings}
-%
-%
% \subsubsection{\pkg{kotex} package}
%
% \DescribePackage{kotex}
@@ -9875,7 +10751,7 @@
% are used to set customized commands to be executed by
% \cmds{lwarpmk print} and \cmds{lwarpmk html}.
% \begin{description}
-% \item [\optn{PrintLatexCmd}] should be set to shell commands which take \filenm{project.tex}
+% \item[\optn{PrintLatexCmd}] should be set to shell commands which take \filenm{project.tex}
% and generate \filenm{project.pdf}.
% \item[\optn{HTMLLatexCmd}] should be set to take \filenm{project_html.tex} and
% generate \filenm{project_html.pdf}.
@@ -10515,7 +11391,7 @@
%
% Equation numbering is not automatic, but the equation numbers in \SVG\ math
% will match the \LaTeX\ and \HTML\ output.
-% SVG math is recommended when using the \AmS\ environments, which may have
+% \SVG\ math is recommended when using the \AmS\ environments, which may have
% multiple numbered equations per object.
%
% As of when last checked, \brand{LibreOffice} ignores the following:
@@ -10581,13 +11457,6 @@
% \watchout[\TeX\ boxes]
% require \cs{newpage}, which will not work in a \TeX\ box.
%
-% \changes{v0.57}{2018/05/28}{Docs: Recreating the index for \pkg{lwarp} source.}
-% To recreate the index for the \pkg{lwarp} documentation:
-% \margintag{index recreation}
-% \begin{Verbatim}[gobble=2,obeytabs,tabsize=4,frame=lines]
-% makeindex -s gglo.ist -o lwarp.gls lwarp.glo
-% splitindex lwarp.idx -- -s gind.ist
-% \end{Verbatim}
%
%
% \subsection{Creating a development system}
@@ -10607,7 +11476,7 @@
% hundred additional \filenm{lwarp-*.sty} files for the various packages which are
% supported.
%
-% To create the documentation \filenm{lwarp.pdf},
+% To create the initial documentation \filenm{lwarp.pdf},
% execute \userentry{pdflatex lwarp.dtx}
%
% \item[To make the development files visible to other projects:] \
@@ -10619,6 +11488,7 @@
%
% Inside this directory, create the file \filenm{update}, containing:
% \begin{Verbatim}[gobble=2,obeytabs,tabsize=4,frame=lines]
+% rm lwarp-*.sty
% ln -s /path_to_dev_directory/lwarp*.sty .
% ln -s /path_to_dev_directory/lwarp_baseline_marker.png .
% ln -s /path_to_dev_directory/lwarp_baseline_marker.eps .
@@ -10654,6 +11524,39 @@
% setenv PATH ${HOME}/bin:/opt/texbin_local:/opt/texbin:${PATH}
% \end{Verbatim}
%
+% \item[To fully compile the \pkg{lwarp} documentation and indexes:] \ \null
+% \changes{v0.57}{2018/05/28}{Docs: Recreating the index for \pkg{lwarp} source.}
+% \changes{v0.87}{2020/05/17}{Docs: Updated docs to compile \pkg{lwarp} documentation.}
+% \gindex{documentation>compile}
+% \gindex{lwarp=\pkg{lwarp}>compiling documentation}
+% \begin{sourcedisplay}
+% pdflatex lwarp.ins \\
+% pdflatex lwarp.dtx \\
+% pdflatex lwarp.dtx \hfill \textgreen{<if necessary>} \\
+% makeindex -s gglo.ist -o lwarp.gls lwarp.glo \hfill \textgreen{<indexes>} \\
+% splitindex lwarp.idx -- -s gind.ist \\
+% pdflatex lwarp.dtx \\
+% pdflatex lwarp.dtx \hfill \textgreen{<if necessary>} \\
+% makeindex -s gglo.ist -o lwarp.gls lwarp.glo \hfill \textgreen{<indexes>} \\
+% splitindex lwarp.idx -- -s gind.ist \hfill \textgreen{<again>} \\
+% pdflatex lwarp.dtx \\
+% pdflatex lwarp.dtx \hfill \textgreen{<if necessary>}
+% \end{sourcedisplay}
+% (The second round of index processing is required to fully resolve the
+% final Index of Indexes.)
+%
+% To make it easier to update the documentation after a minor change,
+% it is useful to create a command script called \filenm{make_index}, containing:
+% \begin{sourceverb}
+% makeindex -s gglo.ist -o lwarp.gls lwarp.glo
+% splitindex lwarp.idx -- -s gind.ist
+% \end{sourceverb}
+%
+% Note that Index of Indexes and the cross-references to the indexes
+% \trouble[references]{index>documentation references}
+% \trouble{documentation>index cross-references}
+% may not be correct until the above has been accomplished.
+%
% \end{description}
%
%
@@ -10920,10 +11823,13 @@
% \item[\ctr{SideTOCDepth} < \ctr{FileDepth}:] A warning is displayed if these
% counters are set such that the side\TOC\ will not be able to access all pages
% of the website.
-% \item[Duplicate filenames:] \pkg{lwarp} may generate file names from section names.
-% While doing so, the filenames are simplified and special characters are removed.
+% \item[Filenames:] \pkg{lwarp} may generate file names from section names.
+% While doing so, the filenames are simplified, and special characters
+% and math are removed.
% If this process generates a duplicate filename, and error is generated,
% describing the filename and which section name generated it.
+% A warning is issued if dollar-delimited math is used.
+% Parenthesis-delimited math is recommended instead.
% \item[Multirow:] When \cs{multirow} or \cs{multicolrow} are used,
% \trouble[\HTML\ corrupted]{HTML>corrupted}
% \cs{mrowcell} or \cs{mcolrowcell} must be placed in the appropriate cells to
@@ -10930,7 +11836,7 @@
% avoid corrupted \HTML\ output.
% \item[(width,height) missing a comma:] \cs{makebox} and \cs{framebox} can accept
% a parenthesis-delimited width and height, which must be separated by a comma.
-% \item[``Load graphicx or graphics for improved SVG math baselines.'':] \SVG\ math
+% \item[``Load graphicx or graphics for improved \SVG\ math baselines.'':] \SVG\ math
% sizing and baselines are improved if either of these packages are used.
% \item[``Load graphicx or graphics for improved XeTeX logo.'':] If these packages
% are loaded, the \XeLaTeX\ logo can use the reversed ``E''.
@@ -10985,10 +11891,21 @@
% that your document's \LaTeX{} code is correct, before attempting
% to generate an \HTML\ version.
%
-% \item [\texttt{\cs{end}\{warpHTML\}, \cs{end}\{warpprint\}, \cs{end}\{warpall\}}:]
-% \trouble{warpHTML}\trouble{warpprint}\trouble{warpall}
+% \item [\texttt{\cs{end}\{warpHTML\}, \cs{end}\{warpprint\},
+% \cs{end}\{warpall\}, \cs{end}\{warpMathJax\}}:] ~ \\
+% \trouble{warpHTML}
+% \trouble{warpprint}\trouble{warpall}\trouble{warpMathJax}
% Each of these must be without any other characters on the same line.
+% \watchout[\env{warpHTML}, \env{warpprint}, \env{warpMathJax}, \env{warpall}]
%
+% \item[``\texttt{Runaway argument? File ended while scanning use of \cs{next}}:] ~ \\
+% \trouble{warpHTML}
+% \trouble{warpprint}\trouble{warpall}\trouble{warpMathJax}
+% \trouble{Runaway argument? File ended \dots}
+% \trouble{File ended while scanning use of \cs{next}}
+% Don't use \env{warpHTML}, \env{warpprint}, \env{warpall}, or
+% \env{warpMathJax} inside itself.
+%
% \item [Options clash:] If using \pkg{memoir}, see \cref{sec:limitsmemoir}.
%
% \item [``Missing \cs{begin}\{document\}.'':]
@@ -11029,6 +11946,12 @@
% \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.
@@ -11050,8 +11973,16 @@
% \end{sourcedisplay}
% inside a group first.
%
+% As a stop-gap measure, you may wish to try incrementing
+% \label{sec:troubletexboxes}
+% \margintag{\ctr{LWR at texboxdepth}}
+% the counter \ctr{LWR at texboxdepth} before the problematic
+% macro, and then decrementing it after.
+% Doing so tells \pkg{lwarp} to avoid using a \cs{newpage} inside
+% the macro, which may avoid this error.
+%
% Also, custom macros which appear inside a section,
-% \trouble[macros in section,table,figure names]{sectioning>macro in name}
+% \trouble[macros in section, table, figure names]{sectioning>macro in name}
% \trouble{table>macro in name}
% \trouble{figure>macro in name}
% figure, or table name should be
@@ -11061,7 +11992,7 @@
%
% If using BibTeX, see \cref{sec:limitsbibtex}.\watchout[BibTeX]
%
-% \item[``\texttt{!~Undefined control sequence. \dots\ \cs{@begindocumenthook}''}:] ~
+% \item[``\texttt{!~Undefined control sequence. \dots\ \cs{\_\_hook} begindocument''}:] ~
% \watchout[\pkg{polyglossia}] \\
% See \cref{sec:limitspolyglossia}
% if using \pkg{polyglossia}.
@@ -11080,6 +12011,27 @@
% define new macros for print and \HTML\ modes, see \cref{sec:definingprinthtml}
% regarding \cs{LWR at expandableformatted}.
%
+% \item[''\texttt{Token not allowed in a PDF string}'':] This \pkg{hyperref}
+% \trouble{Token not allowed in a PDF string}
+% \trouble{hyperref=\pkg{hyperref}>Token not allowed in a PDF string}
+% warning appears while creating the print-mode document, not \HTML.
+% A low-level macro is being used in a section name which appears
+% in the \PDF\ bookmarks. \pkg{hyperref} removes this macro from
+% the bookmark, and warns of doing so.
+% To avoid this warning, use \cs{pdfstringdefDisableCommands} in
+% the preamble to define simplified replacement macros for each, or use
+% \cs{texorpdfstring} in the \cs{section} or related macro
+% to declare what to use for the \TeX\ text, v.s. the \PDF\ bookmark.
+% See the \pkg{hyperref} manual.
+%
+% \item[``\texttt{Command \cs{textquoteright} invalid in math mode}'':] This
+% \trouble[quote character]{Command \cs{textquoteright} invalid in math mode}
+% \trouble{math>Command \cs{textquoteright} invalid in math mode}
+% \trouble{textquoteright=\cs{textquoteright} invalid in math mode}
+% can occur when the document source has math containing
+% the slanted quote |’| character, instead of using
+% the upright quote |'| character.
+%
% \item[Complicated objects inside math:] Some objects, such as \tikz,
% \trouble[``impure'' math objects]{math>non-math contents}
% may not compile in \pkg{lwarp}'s normal math emulation.
@@ -11168,7 +12120,7 @@
% \item Enter \cmds{lwarpmk limages} to refresh the \env{lateximage} images.
% \end{itemize}
%
-% \item[SVG images:] \
+% \item[\SVG\ images:] \
%
% \limitssvgimages
%
@@ -11523,8 +12475,12 @@
% \changes{v0.63}{2018/11/25}{Added p\TeX support.}
% \changes{v0.79}{2020/01/05}{\pkg{luatex85}: Removed.}
% \changes{v0.79}{2020/01/05}{\pkg{ifpdf}, \pkg{ifptex}: Provided by \pkg{iftex}.}
+% \changes{v0.87}{2020/05/21}{\pkg{ifpdf}, \pkg{ifptex}: Restored to work on TL2019 and earlier.}
+% ^^A *8* remove ifpdf, ifptex
% \begin{macrocode}
\RequirePackage{iftex}[2019/11/07]
+\RequirePackage{ifpdf}
+\RequirePackage{ifptex}
\newif\ifxetexorluatex
@@ -11610,14 +12566,17 @@
{%
Package #1,\MessageBreak
or one which uses #1,\MessageBreak
- must be loaded after lwarp
+ must be loaded after Lwarp.\MessageBreak
+ Enter 'H' for possible solutions%
}
- {Move \detokenize{\usepackage}{#1} after
- \detokenize{\usepackage}{lwarp}.\MessageBreak
- Package #1 may also be loaded by something else,\MessageBreak
- which must also be moved after lwarp.}
+ {%
+ Move ``\protect\usepackage{#1}'' after
+ ``\protect\usepackage{lwarp}''.\MessageBreak
+ Package #1 may also be loaded by something else,\MessageBreak
+ which must also be moved after Lwarp.%
+ }
}
-{}
+{\relax}
}
% \end{macrocode}
% \end{macro}
@@ -11668,11 +12627,14 @@
% \begin{macrocode}
\newcommand*{\LWR at loadbefore}[1]{%
\@ifpackageloaded{#1}
-{}
+{\relax}
{
\PackageError{lwarp}
- {Package #1 must be loaded before lwarp}
- {Move \detokenize{\usepackage}{#1} before \detokenize{\usepackage}{lwarp}.}
+ {%
+ Package #1 must be loaded before lwarp.\MessageBreak
+ Enter 'H' for possible solutions%
+ }
+ {Move ``\protect\usepackage{#1}'' before ``\protect\usepackage{lwarp}''.}
}
}
% \end{macrocode}
@@ -11709,7 +12671,9 @@
{%
Package #1 is not supported\MessageBreak
by lwarp's HTML conversion.\MessageBreak
- Package(s) #2 may be useful instead%
+ Package(s)\MessageBreak
+ \space\space#2\MessageBreak
+ may be useful instead%
}
{%
Package #1 might conflict with lwarp in some way,\MessageBreak
@@ -11778,7 +12742,7 @@
or is superceded by another class.\MessageBreak
For a possible alternative, see class(es) #2.
}
-}{}%
+}{\relax}%
}
% \end{macrocode}
% \end{macro}
@@ -11794,7 +12758,13 @@
% \changes{v0.68}{2019/02/26}{Prevented \pkg{alg}, \pkg{algorithmic}, \pkg{fncylab}, \pkg{pdfcprot}.}
% \changes{v0.80}{2020/02/15}{Prevented \pkg{formula}, \pkg{shadethm}, \pkg{slashbox}.}
% \changes{v0.81}{2020/02/15}{Prevented \pkg{statex}.}
+% \changes{v0.87}{2020/05/14}{Prevented \pkg{csvtools}.}
+% \changes{v0.88}{2020/07/07}{Prevented \pkg{shadethm}.}
+% \changes{v0.891}{2020/09/16}{Prevented \pkg{libgreek}.}
+% \changes{v0.893}{2020/11/15}{Allowed \pkg{picinpar}.}
+% \changes{v0.895}{2021/01/19}{Allowed \pkg{epsf}.}
%
+% ^^A *earlyloadnever *loadnever
% \begin{macrocode}
\LWR at earlyclassloadnever{jarticle}{ujarticle}
\LWR at earlyclassloadnever{jbook}{ujbook}
@@ -11808,23 +12778,21 @@
\LWR at earlyloadnever{alg}{algorithm2e, algorithmicx}
\LWR at earlyloadnever{algorithmic}{algorithm2e, algorithmicx}
\LWR at earlyloadnever{bitfield}{bytefield}
-\LWR at earlyloadnever{boxedminipage}{boxedminipage2e}
\LWR at earlyloadnever{caption2}{caption}
% \LWR at earlyloadnever{ccaption}{caption}% might be preloaded by memoir
\LWR at earlyloadnever{colortab}{colortbl}
+\LWR at earlyloadnever{csvtools}{datatool}
\LWR at earlyloadnever{doublespace}{setspace}
-\LWR at earlyloadnever{epsf}{graphicx}
\LWR at earlyloadnever{fancyheadings}{fancyhdr}
\LWR at earlyloadnever{fncylab}{cleveref}
\LWR at earlyloadnever{formula}{siunitx}
\LWR at earlyloadnever{glossary}{glossaries}
\LWR at earlyloadnever{hyper}{hyperref}
+\LWR at earlyloadnever{libgreek}{libertinust1math, newtx}
\LWR at earlyloadnever{newthm}{ntheorem}
\LWR at earlyloadnever{pdfcprot}{microtype}
-\LWR at earlyloadnever{picinpar}{floatflt, wrapfig}
\LWR at earlyloadnever{picins}{floatflt, wrapfig}
\LWR at earlyloadnever{rplain}{fancyhdr}
-\LWR at earlyloadnever{shadethm}{mdframed}
\LWR at earlyloadnever{si}{siunitx}
\LWR at earlyloadnever{sistyle}{siunitx}
\LWR at earlyloadnever{slashbox}{diagbox}
@@ -11860,6 +12828,7 @@
% \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 at 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
@@ -11871,6 +12840,7 @@
\LWR at loadafter{a5comb}
\LWR at notmemoirloadafter{abstract}
\LWR at loadafter{academicons}
+\LWR at loadafter{accents}
\LWR at loadafter{accessibility}
\LWR at loadafter{accsupp}
\LWR at loadafter{acro}
@@ -11881,8 +12851,9 @@
\LWR at loadafter{algorithm2e}
\LWR at loadafter{algorithmicx}
\LWR at loadafter{alltt}
-\LWR at loadafter{amsmath}
-\LWR at loadafter{amsthm}
+\LWR at loadafter{amscdx}
+% \LWR at loadafter{amsmath}% may be preloaded
+% \LWR at loadafter{amsthm}% may be preloaded
\LWR at loadafter{anonchap}
\LWR at loadafter{anysize}
\LWR at notmemoirloadafter{appendix}
@@ -11891,10 +12862,11 @@
\LWR at notmemoirloadafter{array}
\LWR at loadafter{arydshln}
\LWR at loadafter{asymptote}
-% \LWR at loadafter{atbegshi}% used by morewrites
+% \LWR at loadafter{atbegshi}% now in LaTeX core, also used by morewrites
\LWR at loadafter{attachfile}
\LWR at loadafter{attachfile2}
\LWR at loadafter{authblk}
+\LWR at loadafter{authoraftertitle}% Supported as-is, but must be loaded after.
\LWR at loadafter{autobreak}
\LWR at loadafter{autonum}
\LWR at loadafter{awesomebox}
@@ -11915,11 +12887,13 @@
\LWR at notmemoirloadafter{booktabs}
\LWR at loadafter{bophook}
\LWR at loadafter{bounddvi}
+\LWR at loadafter{boxedminipage}
\LWR at loadafter{boxedminipage2e}
\LWR at loadafter{braket}
\LWR at loadafter{breakurl}
\LWR at loadafter{breqn}
\LWR at loadafter{bsheaders}
+\LWR at loadafter{bussproofs}
\LWR at loadafter{bxpapersize}
\LWR at loadafter{bytefield}
\LWR at loadafter{cancel}
@@ -11926,10 +12900,11 @@
\LWR at loadafter{canoniclayout}
\LWR at loadafter{caption}
\LWR at loadafter{caption2}
+\LWR at loadafter{caption3}
\LWR at loadafter{cases}
% catoptions is supported by the lwarp core
% \LWR at loadafter{ccaption}% may be preloaded by memoir
-\LWR at loadafter{centernot}
+% \LWR at loadafter{centernot}% may be preloaded by newtx
\LWR at loadafter{changebar}
\LWR at loadafter{changelayout}
\LWR at notmemoirloadafter{changepage}
@@ -11944,6 +12919,9 @@
\LWR at loadafter{chkfloat}
\LWR at notmemoirloadafter{chngpage}
\LWR at loadafter{cite}
+\LWR at loadafter{citeref}
+\LWR at loadafter{cleveref}
+% cmbright may be preloaded
\LWR at loadafter{cmdtrack}
\LWR at loadafter{colonequals}
\LWR at loadafter{color}
@@ -11967,6 +12945,7 @@
\LWR at loadafter{draftcopy}
\LWR at loadafter{draftfigure}
\LWR at loadafter{draftwatermark}
+\LWR at loadafter{drftcite}
\LWR at loadafter{easy-todo}
\LWR at loadafter{ebook}
\LWR at loadafter{econometrics}
@@ -11981,6 +12960,7 @@
\LWR at notmemoirloadafter{enumerate}
\LWR at loadafter{enumitem}
\LWR at notmemoirloadafter{epigraph}
+\LWR at loadafter{epsf}
\LWR at loadafter{epsfig}
\LWR at loadafter{epstopdf}
\LWR at loadafter{epstopdf-base}
@@ -11988,10 +12968,11 @@
\LWR at loadafter{eqparbox}
\LWR at loadafter{errata}
\LWR at loadafter{eso-pic}
+\LWR at loadafter{esvect}
\LWR at loadafter{etoc}
\LWR at loadafter{eurosym}
\LWR at loadafter{everypage}
-\LWR at loadafter{everyshi}
+% \LWR at loadafter{everyshi}% now in LaTeX core
\LWR at loadafter{extarrows}
\LWR at loadafter{extramarks}
\LWR at loadafter{fancybox}
@@ -11999,11 +12980,13 @@
\LWR at loadafter{fancyref}
\LWR at loadafter{fancytabs}
\LWR at loadafter{fancyvrb}
+\LWR at loadafter{fbox}
\LWR at loadafter{fewerfloatpages}
\LWR at loadafter{figcaps}
\LWR at loadafter{figsize}
\LWR at loadafter{fitbox}
\LWR at loadafter{fix2col}
+\LWR at loadafter{fixmath}
\LWR at loadafter{fixme}
\LWR at loadafter{fixmetodonotes}
\LWR at loadafter{flafter}
@@ -12032,6 +13015,7 @@
\LWR at loadafter{foreign}
\LWR at loadafter{forest}
\LWR at loadafter{fouridx}
+% fourier may be loaded before lwarp
\LWR at loadafter{framed}
\LWR at loadafter{ftcap}
\LWR at loadafter{ftnright}
@@ -12038,11 +13022,13 @@
\LWR at loadafter{fullminipage}
\LWR at loadafter{fullpage}
\LWR at loadafter{fullwidth}
+\LWR at loadafter{fvextra}
\LWR at loadafter{fwlw}
\LWR at loadafter{gensymb}
\LWR at loadafter{gentombow}
% geometry is always loaded by lwarp, and lwarp-geometry is AtBeginDocument
\LWR at loadafter{ghsystem}
+\LWR at loadafter{gindex}
\LWR at loadafter{glossaries}
\LWR at loadafter{gmeometric}
% \LWR at loadafter{graphics}% pre-loaded by xunicode
@@ -12055,7 +13041,9 @@
\LWR at loadafter{gridset}
\LWR at loadafter{hang}
\LWR at loadafter{hanging}
+\LWR at loadafter{hepunits}
\LWR at loadafter{hhline}
+\LWR at loadafter{hhtensor}
\LWR at loadafter{hypbmsec}
\LWR at loadafter{hypcap}
\LWR at loadafter{hypdestopt}
@@ -12066,13 +13054,20 @@
\LWR at loadafter{idxlayout}
\LWR at loadafter{ifoddpage}
\LWR at loadafter{imakeidx}
+\LWR at loadafter{impnattypo}
\LWR at notmemoirloadafter{index}
% inputenc must be loaded before lwarp
% inputenx must be loaded before lwarp
% inputtrc may be loaded before lwarp
\LWR at loadafter{intopdf}
+\LWR at loadafter{isomath}
+\LWR at loadafter{isotope}
+\LWR at loadafter{jurabib}
\LWR at loadafter{karnaugh-map}
\LWR at loadafter{keyfloat}
+\LWR at loadafter{keystroke}
+% kpfonts may be loaded before lwarp
+% kpfonts-otf may be loaded before lwarp
\LWR at loadafter{layaureo}
\LWR at loadafter{layout}
\LWR at loadafter{layouts}
@@ -12080,11 +13075,13 @@
\LWR at loadafter{leftidx}
\LWR at loadafter{letterspace}
\LWR at loadafter{lettrine}
+% libertinust1math may be loaded before lwarp
\LWR at loadafter{lineno}
\LWR at loadafter{lips}
\LWR at loadafter{listings}
\LWR at loadafter{listliketab}
\LWR at loadafter{longtable}
+\LWR at loadafter{lpic}
\LWR at loadafter{lscape}
\LWR at loadafter{ltablex}
\LWR at loadafter{ltcaption}
@@ -12095,6 +13092,7 @@
\LWR at loadafter{luacolor}
\LWR at loadafter{luamplib}
\LWR at loadafter{luatodonotes}
+\LWR at loadafter{luavlna}
\LWR at loadafter{lyluatex}
\LWR at loadafter{magaz}
\LWR at notmemoirloadafter{makeidx}
@@ -12103,14 +13101,24 @@
\LWR at loadafter{marginfix}
\LWR at loadafter{marginnote}
\LWR at loadafter{marvosym}
+% mathalpha may be loaded before lwarp
+\LWR at loadafter{mathastext}
\LWR at loadafter{mathcomp}
+\LWR at loadafter{mathdesign}
\LWR at loadafter{mathdots}
\LWR at loadafter{mathfixs}
+\LWR at loadafter{mathpazo}
+\LWR at loadafter{mathptmx}
+\LWR at loadafter{mathspec}
\LWR at loadafter{mathtools}
+\LWR at loadafter{mattens}
+\LWR at loadafter{maybemath}
\LWR at loadafter{mcaption}
\LWR at loadafter{mdframed}
+\LWR at loadafter{mdwmath}
\LWR at loadafter{media9}
\LWR at loadafter{memhfixc}
+\LWR at loadafter{menukeys}
\LWR at loadafter{metalogo}
\LWR at loadafter{metalogox}
\LWR at loadafter{mhchem}
@@ -12119,12 +13127,15 @@
\LWR at loadafter{midpage}
\LWR at loadafter{minibox}
\LWR at loadafter{minitoc}
+\LWR at loadafter{minted}
\LWR at loadafter{mismath}
+\LWR at loadafter{mleftright}
% morefloats must be allowed early for print mode
\LWR at notmemoirloadafter{moreverb}
% morewrites must be loaded before lwarp
\LWR at notmemoirloadafter{movie15}
\LWR at notmemoirloadafter{mparhack}
+\LWR at loadafter{multibib}
\LWR at loadafter{multicap}
%\LWR at loadafter{multicol}% loaded by ltxdoc
\LWR at loadafter{multicolrule}
@@ -12141,11 +13152,14 @@
\LWR at loadafter{nccmath}
\LWR at notmemoirloadafter{needspace}
% newclude must be loaded before lwarp
-\LWR at 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 at notmemoirloadafter{nextpage}
\LWR at loadafter{nicefrac}
\LWR at loadafter{niceframe}
+\LWR at loadafter{nicematrix}
\LWR at loadafter{noitcrul}
\LWR at loadafter{nolbreaks}
\LWR at loadafter{nomencl}
@@ -12187,7 +13201,9 @@
\LWR at loadafter{phfqit}
\LWR at loadafter{physics}
\LWR at loadafter{physunits}
+\LWR at loadafter{picinpar}
\LWR at loadafter{pifont}
+\LWR at loadafter{pinlabel}
\LWR at loadafter{placeins}
\LWR at loadafter{plarray}
\LWR at loadafter{plarydshln}
@@ -12195,6 +13211,7 @@
\LWR at loadafter{plextarydshln}
\LWR at loadafter{plcolortbl}
\LWR at loadafter{plextdelarray}
+\LWR at loadafter{plimsoll}
\LWR at loadafter{prelim2e}
\LWR at loadafter{prettyref}
\LWR at loadafter{preview}
@@ -12205,6 +13222,7 @@
\LWR at loadafter{pstricks}
% \LWR at loadafter{pxatbegshi}% may be used by morewrites
\LWR at loadafter{pxeveryshi}
+% \LWR at loadafter{pxfonts}% may be loaded before lwarp
\LWR at loadafter{pxftnright}
\LWR at loadafter{pxjahyper}
\LWR at loadafter{quotchap}
@@ -12217,6 +13235,7 @@
\LWR at loadafter{repeatindex}
\LWR at loadafter{resizegather}
\LWR at loadafter{returntogrid}
+\LWR at loadafter{rlepsf}
\LWR at loadafter{rmathbr}
\LWR at loadafter{rmpage}
\LWR at loadafter{romanbar}
@@ -12226,6 +13245,7 @@
\LWR at loadafter{rviewport}
\LWR at loadafter{savetrees}
% scalefnt is loaded by babel-french
+\LWR at loadafter{scalerel}
\LWR at loadafter{schemata}
\LWR at loadafter{scrextend}
\LWR at loadafter{scrhack}
@@ -12236,6 +13256,7 @@
\LWR at loadafter{section}
\LWR at loadafter{sectionbreak}
\LWR at loadafter{sectsty}
+\LWR at loadafter{selectp}
\LWR at loadafter{semantic-markup}
\LWR at notmemoirloadafter{setspace}
\LWR at loadafter{shadow}
@@ -12243,15 +13264,19 @@
\LWR at notmemoirloadafter{showidx}
\LWR at loadafter{showkeys}
\LWR at loadafter{showtags}
+\LWR at loadafter{shuffle}
\LWR at loadafter{sidecap}
\LWR at loadafter{sidenotes}
+\LWR at loadafter{simplebnf}
\LWR at loadafter{SIunits}
\LWR at loadafter{siunitx}
+\LWR at loadafter{skmath}
\LWR at loadafter{slantsc}
\LWR at loadafter{slashed}
\LWR at loadafter{soul}
\LWR at loadafter{soulpos}
\LWR at loadafter{soulutf8}
+\LWR at loadafter{splitbib}
\LWR at loadafter{splitidx}
\LWR at loadafter{srcltx}
\LWR at loadafter{srctex}
@@ -12259,6 +13284,7 @@
\LWR at loadafter{stackengine}
\LWR at loadafter{stackrel}
\LWR at loadafter{statex2}
+\LWR at loadafter{statistics}
\LWR at loadafter{statmath}
\LWR at loadafter{steinmetz}
\LWR at notltjloadafter{stfloats}
@@ -12269,6 +13295,7 @@
\LWR at loadafter{subsupscripts}
\LWR at loadafter{supertabular}
\LWR at loadafter{svg}
+\LWR at loadafter{swfigure}
\LWR at loadafter{syntonly}
\LWR at loadafter{t1inc}
\LWR at loadafter{tabfigures}
@@ -12276,8 +13303,11 @@
\LWR at loadafter{tablefootnote}
\LWR at notmemoirloadafter{tabularx}
\LWR at loadafter{tabulary}
+\LWR at loadafter{tagpdf}
\LWR at loadafter{tascmac}
-\LWR at loadafter{tagpdf}
+\LWR at loadafter{tcolorbox}
+\LWR at loadafter{tensor}
+\LWR at loadafter{termcal}
\LWR at loadafter{textarea}
% \LWR at loadafter{textcomp}% maybe before lwarp with font packages
\LWR at loadafter{textfit}
@@ -12284,6 +13314,10 @@
\LWR at loadafter{textpos}
\LWR at loadafter{theorem}
\LWR at loadafter{thinsp}
+\LWR at loadafter{thm-listof}
+\LWR at loadafter{thm-restate}
+\LWR at loadafter{thmbox}
+\LWR at loadafter{thmtools}
\LWR at loadafter{threadcol}
\LWR at loadafter{threeparttable}
\LWR at loadafter{threeparttablex}
@@ -12290,6 +13324,7 @@
\LWR at loadafter{thumb}
\LWR at loadafter{thumbs}
\LWR at loadafter{tikz}
+\LWR at loadafter{tikz-imagelabels}
\LWR at loadafter{titleps}
\LWR at loadafter{titlesec}
\LWR at loadafter{titletoc}
@@ -12310,6 +13345,8 @@
\LWR at loadafter{truncate}
\LWR at loadafter{turnthepage}
\LWR at loadafter{twoup}
+% \LWR at loadafter{txfonts}% may be loaded before lwarp
+% txgreeks may be loaded before lwarp
% \end{macrocode}
% \changes{v0.44}{2017/11/19}{Adjustment for \pkg{koma-script}.}
% \begin{macrocode}
@@ -12318,13 +13355,15 @@
% \LWR at loadafter{ulem}% preloaded by ctexart and related classes
\LWR at loadafter{umoline}
\LWR at loadafter{underscore}
-\LWR at loadafter{unicode-math}
+% unicode-math may be loaded before lwarp
\LWR at loadafter{units}
\LWR at loadafter{unitsdef}
+\LWR at loadafter{upgreek}
\LWR at loadafter{upref}
\LWR at loadafter{url}
+\LWR at loadafter{ushort}
\LWR at loadafter{uspace}
-\LWR at loadafter{varioref}% no lwarp package provided
+\LWR at loadafter{varioref}
\LWR at notmemoirloadafter{verse}
\LWR at loadafter{versonotes}
\LWR at loadafter{vertbars}
@@ -12343,6 +13382,7 @@
\LWR at loadafter{xechangebar}
\LWR at loadafter{xellipsis}
% xetexko-vertical must be loaded before lwarp
+\LWR at loadafter{xevlna}
\LWR at loadafter{xfakebold}
\LWR at loadafter{xfrac}
\LWR at loadafter{xltabular}
@@ -12368,9 +13408,12 @@
%
% \begin{macrocode}
\newcommand{\LWR at mdfive}[1]{%
-\PackageError{lwarp}
-{No MD5 macro was found}
-{Lwarp must find the macros pdfmdfivesum or mdfivesum.}
+ \PackageError{lwarp}
+ {No MD5 macro was found}
+ {%
+ Lwarp must find the macros \protect\pdfmdfivesum\space
+ or \protect\mdfivesum.%
+ }
}
% \end{macrocode}
%
@@ -12441,7 +13484,7 @@
%
%
% \section{Unicode input characters}
-% \changes{v0.18}{2016/05/17}{PDF Unicode input characters.}
+% \changes{v0.18}{2016/05/17}{PDF=\PDF\ Unicode input characters.}
% \gindex{Unicode>input characters}
%
% \codeall
@@ -12499,7 +13542,8 @@
{%
Lwarp requires a vector font.\MessageBreak
Install and load cm-super, lmodern, or another\MessageBreak
- Type-1 vector font before loading lwarp%
+ Type-1 vector font before loading lwarp.\MessageBreak
+ Enter 'H' for possible solutions%
}
{%
Install cm-super or lmodern.\MessageBreak
@@ -12516,7 +13560,7 @@
%
% \section{Upright quotes}
%
-% In PDF\TeX, preserve upright quotes in verbatim text.
+% In pdf\TeX, preserve upright quotes in verbatim text.
% \pkg{upquote} also loads \pkg{textcomp}.
%
% \changes{v0.63}{2018/11/25}{p\TeX: Load \pkg{upquote}.}
@@ -12532,11 +13576,48 @@
%
%
%
+% \section{Avoid bad font combinations}
%
+% For \XeLaTeX\ and \LuaLaTeX, certain font combinations cause problems
+% with \pkg{lwarp}.
%
+% \pkg{libertinus-otf} has special handling for \cs{textquotedbl}.
+% Search for \cs{LWR at orig@textquotedbl}.
+%
+% \changes{v0.895}{2021/01/14}{Use \pkg{kpfonts-otf} if \LuaLaTeX, \XeLaTeX.}
+%
+% \begin{macrocode}
+\ifxetexorluatex
+ \AtBeginDocument{
+ \@ifpackageloaded{kpfonts}{
+ \PackageError{lwarp}
+ {%
+ When using XeLaTeX or LuaLaTeX,\MessageBreak
+ use kpfonts-otf instead of kpfonts%
+ }
+ {%
+ Replace: \protect\usepackage{kpfonts}\MessageBreak
+ with: \protect\usepackage{kpfonts-otf}
+ }
+ }{}
+ }
+\fi
+% \end{macrocode}
+%
+%
% \section{Miscellaneous tools}
%
%
+% \subsection{Variables}
+%
+% \begin{macrocode}
+\newlength{\LWR at templengthone}
+\newlength{\LWR at templengthtwo}
+\newlength{\LWR at templengththree}
+\newcounter{LWR at tempcountone}
+% \end{macrocode}
+%
+%
% \subsection{Lengths and units}
%
% \begin{macro}{\LWR at providelength} \marg{\cs{lengthname}}
@@ -12593,11 +13674,16 @@
% \begin{macro}{\LWR at 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 at patcherror}[2]{%
-\PackageError{lwarp}
-{Unable to patch package #1, macro #2}
-{Please contact the author of the Lwarp package.}
+ \PackageError{lwarp}%
+ {%
+ Unable to patch package #1,\MessageBreak
+ macro \LWRbackslash #2.\MessageBreak
+ Lwarp or #1 may need to be updated%
+ }%
+ {Please contact the maintainer of the Lwarp package.}%
}
% \end{macrocode}
% \end{macro}
@@ -12674,7 +13760,32 @@
% \end{macro}
%
%
+% \subsection{Inside boxes}
%
+% Greater than zero if currently inside a \TeX\ box,
+% thus should not use \cs{LWR at orignewpage}.
+% See \cref{sec:troubletexboxes}.
+% \changes{v0.88}{2020/06/06}{Added \ctr{LWR at texboxdepth}.}
+% \begin{macrocode}
+\newcounter{LWR at texboxdepth}
+\setcounter{LWR at texboxdepth}{0}
+% \end{macrocode}
+%
+% \begin{macro}{\LWR at maybe@orignewpage}
+% Only do \cs{LWR at orignewpage} if not inside a \TeX\ box.
+% \changes{v0.88}{2020/06/06}{Added.}
+% \begin{macrocode}
+\newcommand*{\LWR at maybe@orignewpage}{%
+ \LWR at traceinfo{LWR at maybe@orignewpage}%
+ \ifnumgreater{\value{LWR at texboxdepth}}{0}
+ {}%
+ {\LWR at orignewpage}%
+ \LWR at traceinfo{LWR at maybe@orignewpage done}%
+}
+% \end{macrocode}
+% \end{macro}
+%
+%
% \subsection{Global boxes}
%
% \begin{macro}{\LWR at gsavebox} \marg{macroname} \marg{contents}
@@ -12728,7 +13839,8 @@
% Results in the macro name without the leading backslash.
%
% Ref: \href{https://tex.stackexchange.com/questions/42318/removing-a-backslash-from-a-character-sequence}
-% {\texttt{https://tex.stackexchange.com/questions/42318/removing-a-backslash-from-a-character-sequence}}
+% {\texttt{https://tex.stackexchange.com/questions/42318/ \\
+% \hspace*{\fill}removing-a-backslash-from-a-character-sequence}}
%
% \changes{v0.79}{2020/01/18}{Added.}
% \begin{macrocode}
@@ -12742,6 +13854,55 @@
% \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 at LetLtxMacrocs} \marg{newcsname} \marg{oldcsname}
+%
+% \cs{LetLtxMacro} with cs names.
+%
+% \changes{v0.88}{2020/07/05}{Added.}
+% \begin{macrocode}
+\newcommand*{\LWR at LetLtxMacrocs}[2]{%
+ \expandafter\LetLtxMacro\csname #1\expandafter\endcsname%
+ \csname#2\endcsname%
+}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \subsection{Absorbing a star}
+%
+% \begin{macro}{\LWR at absorbstar} \marg{csname}
+%
+% Modifies a macro to aborb a star.
+% Used for \pkg{cleveref}, since \pkg{hyperref} is emulated, so the
+% starred macros are not created by \pkg{cleveref}.
+%
+% \changes{v0.88}{2020/07/05}{Added.}
+% \begin{macrocode}
+\newcommand*{\LWR at absorbstar}[1]{%
+ \LWR at LetLtxMacrocs{LWR at origns@#1}{#1}%
+ \csdef{#1}{\@ifstar{\csuse{LWR at origns@#1}}{\csuse{LWR at origns@#1}}}
+ \expandafter\robustify\csname #1\endcsname
+}
+% \end{macrocode}
+% \end{macro}
+%
+%
+%
% \section{Operating-System portability}
% \label{sec:OSportability}
% \changes{v0.11}{2016/03/11}{Added section: Operating-System portability.}
@@ -12960,9 +14121,9 @@
%
% \begin{macrocode}
\DeclareVoidOption{warpprint}{%
-\PackageInfo{lwarp}{Using option 'warpprint'}
-\booltrue{warpingprint}%
-\boolfalse{warpingHTML}%
+ \PackageInfo{lwarp}{Using option 'warpprint'}
+ \booltrue{warpingprint}%
+ \boolfalse{warpingHTML}%
}
% \end{macrocode}
@@ -12976,9 +14137,9 @@
%
% \begin{macrocode}
\DeclareVoidOption{warpHTML}{%
-\PackageInfo{lwarp}{Using option 'warpHTML'}%
-\booltrue{warpingHTML}%
-\boolfalse{warpingprint}%
+ \PackageInfo{lwarp}{Using option 'warpHTML'}%
+ \booltrue{warpingHTML}%
+ \boolfalse{warpingprint}%
}
% \end{macrocode}
%
@@ -12996,9 +14157,9 @@
% and may be used for \cs{ifbool} tests.
% \begin{macrocode}
\DeclareVoidOption{mathsvg}{%
-\PackageInfo{lwarp}{Using option 'mathsvg'}
-\boolfalse{mathjax}%
-\boolfalse{LWR at origmathjax}%
+ \PackageInfo{lwarp}{Using option 'mathsvg'}
+ \boolfalse{mathjax}%
+ \boolfalse{LWR at origmathjax}%
% \end{macrocode}
% ^^A % \begin{macrocode}
% ^^A \boolfalse{mathKaTeX}%
@@ -13014,9 +14175,9 @@
% If the \optn{mathjax} option is given, boolean |mathjax| is true, may be used for \cs{ifbool} tests.
% \begin{macrocode}
\DeclareVoidOption{mathjax}{%
-\PackageInfo{lwarp}{Using option 'mathjax'}
-\booltrue{mathjax}%
-\booltrue{LWR at origmathjax}%
+ \PackageInfo{lwarp}{Using option 'mathjax'}
+ \booltrue{mathjax}%
+ \booltrue{LWR at origmathjax}%
% \end{macrocode}
% ^^A % \begin{macrocode}
% ^^A \boolfalse{mathKaTeX}%
@@ -13081,8 +14242,8 @@
% \DescribeOption{makeindexStyle} Selects a custom |.ist| file.
% \DescribeDefault{lwarp.ist}
-% A customized file should be based on |lwarp.ist|, and must retain
-% the lines related to \cs{hyperindexref}.
+% A customized file should be based on |lwarp.ist|.
+% See \cref{sec:modifymakeindex}.
%
% \changes{v0.58}{2018/06/21}{Added option \optn{makeindexStyle.}}
%
@@ -13093,11 +14254,8 @@
% \DescribeOption{xindyStyle} Selects a custom |.xdy| file.
% \DescribeDefault{lwarp.xdy}
-% A customized file should be based on |lwarp.xdy|, and must retain
-% the line
-% \begin{Verbatim}[gobble=2]
-% (markup-locref :open "\hyperindexref{" :close "}")
-% \end{Verbatim}
+% A customized file should be based on |lwarp.xdy|.
+% See \cref{sec:modifyxindy}.
%
% \changes{v0.30}{2017/04/28}{Option \optn{xdyFilename} added.}
% \changes{v0.54}{2018/04/06}{Option \optn{xdyFilename} changed to \optn{xindyStyle.}}
@@ -13107,7 +14265,7 @@
% \end{macrocode}
-% \DescribeOption{xindyLanguage} Sets the \pkg{xindy} language to be assigned
+% \DescribeOption{xindyLanguage} Sets the \prog{xindy} language to be assigned
% \DescribeDefault{english}
% in \prog{lwarpmk}'s configuration files. This is then used by \prog{lwarpmk} while
% processing the index and glossary.
@@ -13121,7 +14279,7 @@
% \end{macrocode}
-% \DescribeOption{xindyCodepage} Sets the \pkg{xindy} codepage to be assigned
+% \DescribeOption{xindyCodepage} Sets the \prog{xindy} codepage to be assigned
% \DescribeDefault{utf8}
% in \prog{lwarpmk}'s configuration files. This is then used by \prog{lwarpmk} while
% processing the index.
@@ -13135,6 +14293,18 @@
+% \DescribeOption{xindexConfig} Selects a custom |xindex-*.lua| file.
+% \DescribeDefault{<empty>}
+% A customized file should be based on |xindex-cfg.lua|.
+% See \cref{sec:modifyxindex}.
+
+% \changes{v0.88}{2020/07/08}{Option \optn{xindexConfig} added.}
+% \begin{macrocode}
+\DeclareStringOption[]{xindexConfig}
+% \end{macrocode}
+
+
+
% \limitspdftotextenc
%
% \changes{v0.54}{2018/04/06}{Add: \optn{pdftotextEnc}.}
@@ -13156,8 +14326,8 @@
\boolfalse{LWR at creatinglwarpmk}
\DeclareVoidOption{lwarpmk}{
-\PackageInfo{lwarp}{Using option 'lwarpmk'}
-\booltrue{LWR at creatinglwarpmk}
+ \PackageInfo{lwarp}{Using option 'lwarpmk'}
+ \booltrue{LWR at creatinglwarpmk}
}
% \end{macrocode}
@@ -13173,8 +14343,8 @@
%
% \begin{macrocode}
\DeclareVoidOption{OSWindows}{
-\PackageInfo{lwarp}{Using option 'OSWindows'}
-\LWR at setOSWindows
+ \PackageInfo{lwarp}{Using option 'OSWindows'}
+ \LWR at setOSWindows
}
% \end{macrocode}
@@ -13246,7 +14416,7 @@
% \end{macrocode}
% \DescribeOption{makeindex} Tells \pkg{lwarp} to
-% use \pkg{makeindex} for index generation.
+% use \prog{makeindex} for index generation.
% When \filenm{lwarpmk.conf} and \filenm{*.lwarpmkconf} are generated,
% \optn{PrintIndexCmd} and \optn{HTMLIndexCmd} will be set for \prog{makeindex}
% with a single index file.
@@ -13257,7 +14427,7 @@
% \DescribeOption{xindy} Tells \pkg{lwarp} to
-% use \pkg{xindy} for index generation.
+% use \prog{xindy} for index generation.
% When \filenm{lwarpmk.conf} and \filenm{*.lwarpmkconf} are generated,
% \optn{PrintIndexCmd} and \optn{HTMLIndexCmd} will be set for \prog{xindy}
% with a single index file.
@@ -13267,6 +14437,28 @@
% \end{macrocode}
+% \DescribeOption{xindex} Tells \pkg{lwarp} to
+% use \prog{xindex} for index generation.
+% When \filenm{lwarpmk.conf} and \filenm{*.lwarpmkconf} are generated,
+% \optn{PrintIndexCmd} and \optn{HTMLIndexCmd} will be set for \prog{xindex}
+% with a single index file.
+% \changes{v0.88}{2020/07/08}{Added \optn{xindex} option.}
+% \begin{macrocode}
+\DeclareBoolOption[false]{xindex}
+% \end{macrocode}
+
+
+% \DescribeOption{IndexRef}
+% \DescribeDefault{cref}
+% Tells \pkg{lwarp} how to
+% display the index entries in \HTML output.
+% See \cref{sec:optionindexref}.
+% \changes{v0.88}{2020/07/18}{Added \optn{IndexRef} option.}
+% \begin{macrocode}
+\DeclareStringOption[cref]{IndexRef}
+% \end{macrocode}
+
+
% \DescribeOption{GlossaryCmd} \DescribeDefault{makeglossaries}
% The shell command to use to compile the glossary.
% The print or \HTML\ version of the glossary filename will be appended to this command.
@@ -13392,7 +14584,8 @@
% \cs{LWR at PrintIndexCmd} and \cs{LWR at HTMLIndexCmd} are tested to see if they are empty.
% If so, they are set to a reasonable defaults for a single index using \prog{makeindex},
% then possibly set to defaults for \prog{xindy}
-% if the \pkg{lwarp} \optn{xindy} option was selected.
+% if the \pkg{lwarp} \optn{xindy} option was selected,
+% then likewise for \prog{xindex} if the \optn{xindex} option was selected.
%
% \begin{macrocode}
\ifdefempty{\LWR at PrintIndexCmd}{
@@ -13408,6 +14601,20 @@
\jobname.idx%
}
}{}
+ \ifbool{LWR at xindex}{
+ \ifdefvoid{\LWR at xindexConfig}{
+ \renewcommand{\LWR at PrintIndexCmd}{%
+ xindex
+ \jobname.idx%
+ }
+ }{
+ \renewcommand{\LWR at PrintIndexCmd}{%
+ xindex
+ -c \LWR at xindexConfig \space
+ \jobname.idx%
+ }
+ }
+ }{}
}{}
\ifdefempty{\LWR at HTMLIndexCmd}{
@@ -13423,6 +14630,20 @@
\jobname_html.idx%
}
}{}
+ \ifbool{LWR at xindex}{
+ \ifdefvoid{\LWR at xindexConfig}{
+ \renewcommand{\LWR at HTMLIndexCmd}{%
+ xindex
+ \jobname_html.idx%
+ }
+ }{
+ \renewcommand{\LWR at HTMLIndexCmd}{%
+ xindex
+ -c \LWR at xindexConfig \space
+ \jobname_html.idx%
+ }
+ }
+ }{}
}{}
\ifdefempty{\LWR at LatexmkIndexCmd}{
@@ -13437,11 +14658,22 @@
-C \LWR at xindyCodepage%
}
}{}
+ \ifbool{LWR at xindex}{
+ \ifdefvoid{\LWR at xindexConfig}{
+ \renewcommand{\LWR at LatexmkIndexCmd}{%
+ xindex
+ }
+ }{
+ \renewcommand{\LWR at LatexmkIndexCmd}{%
+ xindex
+ -c \LWR at xindexConfig
+ }
+ }
+ }{}
}{}
% \end{macrocode}
%
%
-%
% \subsection{Conditional compilation}
%
% \begin{macro}{\warpprintonly} \marg{contents}
@@ -13474,28 +14706,63 @@
% \end{macrocode}
-% Use |comment_print.cut| for print mode, and
-% |comment_html.cut| for \HTML\ mode.
-% This helps \prog{latexmk} to more reliably know whether to recompile.
+% \begin{macro}{\LWR at includecomment} \marg{env name} \marg{partial filename}
+% \begin{macro}{\LWR at excludecomment} \marg{env name} \marg{partial filename}
%
-% \changes{v0.37}{2017/08/19}{\pkg{comment}: Maintains independent
-% cutfiles for print, \HTML.}
-%
+% Use many \pkg{comment} cut files to avoid collision in case the
+% user uses the \pkg{comment} package. Each filename is ``|comment_#2.cut|''.
+% Based on the \pkg{comment} package.
+% \changes{v0.84}{2020/03/30}{Independent cut files.}
+% \changes{v0.891}{2020/09/15}{Error if nested comment.}
% \begin{macrocode}
-\ifbool{warpingHTML}{
-\def\DefaultCutFileName{\def\CommentCutFile{comment_html.cut}}
-}{}
+\def\LWR at includecomment
+ #1#2{\message{Lwarp: Including comment '#1'}%
+ \csarg\def{After#1Comment}{%
+ \CloseAndInputCutFile%
+ \csundef{LWR@#1commentused}%
+ }
+ \csarg\def{#1}{%
+ \endgroup
+ \ifcsdef{LWR@#1commentused}{
+ \PackageError{lwarp}%
+ {Nested #1 environment}%
+ {%
+ Environment #1 cannot be nested.\MessageBreak
+ This can happen when a package is loaded
+ from inside a\MessageBreak
+ #1 environment.%
+ }%
+ }{\relax}
+ \csdef{LWR@#1commentused}{}
+ \message{Including '#1' comment.}%
+ \def\CommentCutFile{comment_#2.cut}
+ \SetUpCutFile
+ \ProcessComment{#1}
+ }%
+ \CommentEndDef{#1}
+}
-\ifbool{warpingprint}{
-\def\DefaultCutFileName{\def\CommentCutFile{comment_print.cut}}
-}{}
+\def\LWR at excludecomment
+ #1#2{\message{Lwarp: Excluding comment '#1'}%
+ \csarg\def{#1}{
+ \endgroup
+ \message{Excluding '#1' comment.}%
+ \begingroup
+ \def\CommentCutFile{comment_#2.cut}
+ \def\ProcessCutFile{}%
+ \def\ThisComment####1{}%
+ \ProcessComment{#1}
+ }%
+ \csarg\def{After#1Comment}{\CloseAndInputCutFile \endgroup}
+ \CommentEndDef{#1}}
% \end{macrocode}
+% \end{macro}
+% \end{macro}
-
% \begin{environment}{warpall}
% Anything in the |warpall| environment will be generated for print or \HTML\ outputs.
% \begin{macrocode}
-\includecomment{warpall}
+\LWR at includecomment{warpall}{all}
% \end{macrocode}
% \end{environment}
@@ -13505,8 +14772,8 @@
% For \HTML\ output:
% \begin{macrocode}
\ifbool{warpingHTML}
- {\includecomment{warpHTML}}
- {\excludecomment{warpHTML}}%
+ {\LWR at includecomment{warpHTML}{html}}
+ {\LWR at excludecomment{warpHTML}{html}}
% \end{macrocode}
% \end{environment}
@@ -13515,8 +14782,8 @@
% Anything in the |warpprint| environment will be generated for print output only.
% \begin{macrocode}
\ifbool{warpingprint}
- {\includecomment{warpprint}}
- {\excludecomment{warpprint}}
+ {\LWR at includecomment{warpprint}{print}}
+ {\LWR at excludecomment{warpprint}{print}}
% \end{macrocode}
% \end{environment}
@@ -13526,25 +14793,25 @@
% \changes{v0.79}{2020/01/26}{Added.}
% \begin{macrocode}
\begin{warpprint}
-\excludecomment{warpMathJax}
+\LWR at excludecomment{warpMathJax}{mathjax}
\end{warpprint}
\begin{warpHTML}
\ifbool{mathjax}
- {\includecomment{warpMathJax}}
- {\excludecomment{warpMathJax}}
+ {\LWR at includecomment{warpMathJax}{mathjax}}
+ {\LWR at excludecomment{warpMathJax}{mathjax}}
\end{warpHTML}
% \end{macrocode}
% \end{environment}
-% \begin{environment}{LWR at creatinglwarpmk}
+% \begin{environment}{LWRcreatelwarpmk}
% Optionally generate a local copy of \prog{lwarpmk}.
% Default to no.
% \begin{macrocode}
\ifbool{LWR at creatinglwarpmk}
- {\includecomment{LWR at createlwarpmk}}
- {\excludecomment{LWR at createlwarpmk}}
+ {\LWR at includecomment{LWRcreatelwarpmk}{lwarpmk}}
+ {\LWR at excludecomment{LWRcreatelwarpmk}{lwarpmk}}
% \end{macrocode}
% \end{environment}
%
@@ -13586,6 +14853,7 @@
% ^^A
% ^^A
%
+% \DescribePackage{fontspec}
% Load \pkg{fontspec} if necessary:
% \changes{v0.50}{2018/02/24}{Fix: Load \pkg{fontspec} if necessary.}
% \begin{macrocode}
@@ -13673,8 +14941,16 @@
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
@@ -13744,7 +15020,7 @@
% \changes{v0.20}{2017/01/12}{Page geometry set to 6in wide with large margins.}
% \changes{v0.27}{2017/04/04}{Page geometry modified to reduce line overflow.}
% \changes{v0.28}{2017/04/13}{Forced oneside to maintain large right margin.}
-% \changes{v0.52}{2018/03/31}{Fix: MathJax script line wraps. Reduced right margin.}
+% \changes{v0.52}{2018/03/31}{Fix: \brand{MathJax} script line wraps. Reduced right margin.}
% \changes{v0.74}{2019/08/13}{Remembers user's geometry.}
%
% \codehtml
@@ -14178,7 +15454,7 @@
% \begin{macrocode}
\begin{warpall}
% \end{macrocode}
-
+%
% Remember the original \cs{RequirePackage}:
% \begin{macrocode}
\LetLtxMacro\LWR at origRequirePackage\RequirePackage
@@ -14230,7 +15506,6 @@
-% ^^A *checkload
% \begin{macro}{\LWR at checkloadfilename} \marg{filename}
% Checks if this filename should be loaded after \pkg{lwarp},
% or never at all.
@@ -14244,8 +15519,15 @@
% \changes{v0.79}{2020/01/09}{Prevented \pkg{bxcjkjatype}, \pkg{hangul}.}
% \changes{v0.80}{2020/02/15}{Prevented \pkg{formula}, \pkg{shadethm}, \pkg{slashbox}.}
% \changes{v0.81}{2020/02/28}{Prevented \pkg{statex}.}
+% \changes{v0.87}{2020/05/14}{Prevented \pkg{csvtools}.}
+% \changes{v0.88}{2020/07/07}{Prevented \pkg{shadethm}.}
+% \changes{v0.891}{2020/09/16}{Prevented \pkg{libgreek}.}
+% \changes{v0.893}{2020/11/15}{Allowed \pkg{picinpar}.}
+% \changes{v0.895}{2021/01/19}{Allowed \pkg{epsf}.}
+
+% The following should never be loaded:
%
-% The following should never be loaded:
+% ^^A *checkload *loadnever
% \begin{macrocode}
\newcommand*{\LWR at checkloadfilename}[1]{%
\LWR at checkloadnever{#1}{ae}{cm-super, lmodern}
@@ -14254,23 +15536,21 @@
\LWR at checkloadnever{#1}{alg}{algorithm2e, algorithmicx}
\LWR at checkloadnever{#1}{algorithmic}{algorithm2e, algorithmicx}
\LWR at checkloadnever{#1}{bitfield}{bytefield}
-\LWR at checkloadnever{#1}{boxedminipage}{boxedminipage2e}
\LWR at checkloadnever{#1}{caption2}{caption}
\LWR at checkloadnever{#1}{ccaption}{caption}% might be preloaded by memoir
\LWR at checkloadnever{#1}{colortab}{colortbl}
+\LWR at checkloadnever{#1}{csvtools}{datatool}
\LWR at checkloadnever{#1}{doublespace}{setspace}
-\LWR at checkloadnever{#1}{epsf}{graphicx}
\LWR at checkloadnever{#1}{fancyheadings}{fancyhdr}
\LWR at checkloadnever{#1}{fncylab}{cleveref}
\LWR at checkloadnever{#1}{formula}{siunitx}
\LWR at checkloadnever{#1}{glossary}{glossaries}
\LWR at checkloadnever{#1}{hyper}{hyperref}
+\LWR at checkloadnever{#1}{libgreek}{libertinust1math, newtx}
\LWR at checkloadnever{#1}{newthm}{ntheorem}
\LWR at checkloadnever{#1}{pdfcprot}{microtype}
-\LWR at checkloadnever{#1}{picinpar}{floatflt, wrapfig}
\LWR at checkloadnever{#1}{picins}{floatflt, wrapfig}
\LWR at checkloadnever{#1}{rplain}{fancyhdr}
-\LWR at checkloadnever{#1}{shadethm}{mdframed}
\LWR at checkloadnever{#1}{si}{siunitx}
\LWR at checkloadnever{#1}{sistyle}{siunitx}
\LWR at checkloadnever{#1}{slashbox}{diagbox}
@@ -14284,6 +15564,7 @@
%
% ^^A *loadbefore
% The following should only be loaded before \pkg{lwarp}:
+% \changes{v0.895}{2021/01/14}{\pkg{kpfonts} load before \pkg{lwarp}.}
% \begin{macrocode}
\LWR at checkloadbefore{#1}{ctex}
\LWR at checkloadbefore{#1}{fontspec}
@@ -14292,6 +15573,7 @@
\LWR at checkloadbefore{#1}{nfssext-cfr}
\LWR at checkloadbefore{#1}{fontaxes}
\LWR at checkloadbefore{#1}{kotex}
+\LWR at checkloadbefore{#1}{kpfonts}% textcomp option clash
\LWR at checkloadbefore{#1}{luatexja}
\LWR at checkloadbefore{#1}{luatexja-fontspec}
\LWR at checkloadbefore{#1}{luatexko}
@@ -14436,6 +15718,8 @@
}%
}
\LetLtxMacro\usepackage\RequirePackage
+\@onlypreamble\RequirePackage
+\@onlypreamble\usepackage
% \end{macrocode}
% \end{macro}
@@ -14455,8 +15739,9 @@
% \begin{macrocode}
\NewDocumentCommand{\LWR at ProvidesPackagePass}{m o}{
\PackageInfo{lwarp}{%
- Using package `#1' and adding lwarp modifications,\MessageBreak
- including options,}%
+ Using package `#1',\MessageBreak
+ and adding lwarp modifications, including options,\MessageBreak%
+ }%
\IfValueTF{#2}%
{\ProvidesPackage{lwarp-#1}[#2]}%
{\ProvidesPackage{lwarp-#1}}%
@@ -14565,28 +15850,6 @@
-% \section{Additional required packages}
-
-% \codehtml
-% \begin{macrocode}
-\begin{warpHTML}
-% \end{macrocode}
-
-% \DescribePackage{caption}
-% \changes{v0.47}{2018/01/29}{\pkg{caption}: Also loads \pkg{lwarp-caption}.}
-% \changes{v0.66}{2018/12/29}{\pkg{caption}: Fix for options clash.}
-% \begin{macrocode}
-\LWR at origRequirePackage{caption}
-\AtBeginDocument{\RequirePackage{lwarp-caption}}%
-% \end{macrocode}
-
-% \begin{macrocode}
-\end{warpHTML}
-% \end{macrocode}
-
-
-
-
% \section{File handles}
% Defines file handles for writes.
@@ -14657,7 +15920,7 @@
\immediate\openout\LWR at quickfile #1_html_inc.tex% lwarp
\immediate\write\LWR at quickfile{\string\input{#1.tex}}% lwarp
\immediate\closeout\LWR at quickfile% lwarp
-\LWR at orignewpage% changed from clearpage
+\LWR at maybe@orignewpage% changed from clearpage
\if at filesw
\immediate\write\@mainaux{\string\@input{#1_html_inc.aux}}% changed
\fi
@@ -14675,7 +15938,7 @@
\immediate\write\@partaux{\relax}%
\fi
\@input@{#1_html_inc.tex}% changed
- \LWR at orignewpage% changed from clearpage
+ \LWR at maybe@orignewpage% changed from clearpage
\@writeckpt{#1}%
\if at filesw
\immediate\closeout\@partaux
@@ -14707,29 +15970,29 @@
% Used to copy the |.toc| file to |.sidetoc| to re-print the \TOC\ in
% the side\TOC\ navigation pane.
% \begin{macrocode}
-\newwrite\LWR at copyoutfile % open the file to write to
-\newread\LWR at copyinfile % open the file to read from
+\newwrite\LWR at copyoutfile % open the file to write to
+\newread\LWR at copyinfile % open the file to read from
\newcommand*{\LWR at copyfile}[2]{%
-\LWR at traceinfo{LWR at copyfile: copying #1 to #2}
+ \LWR at traceinfo{LWR at copyfile: copying #1 to #2}
-\immediate\openout\LWR at copyoutfile=#2
-\openin\LWR at copyinfile=#1
-\begingroup\endlinechar=-1
-\makeatletter
+ \immediate\openout\LWR at copyoutfile=#2
+ \openin\LWR at copyinfile=#1
+ \begingroup\endlinechar=-1
+ \makeatletter
-\LWR at traceinfo{LWR at copyfile: about to loop}
+ \LWR at traceinfo{LWR at copyfile: about to loop}
-\loop\unless\ifeof\LWR at copyinfile
- \LWR at traceinfo{LWR at copyfile: one line}
- \read\LWR at copyinfile to\LWR at fileline % Read one line and store it into \LWR at fileline
+ \loop\unless\ifeof\LWR at copyinfile
+ \LWR at traceinfo{LWR at copyfile: one line}
+ \read\LWR at copyinfile to\LWR at fileline % Read one line and store it into \LWR at fileline
% \LWR at fileline\par % print the content into the pdf
% print the content:
- \immediate\write\LWR at copyoutfile{\unexpanded\expandafter{\LWR at fileline}}%
-\repeat
-\immediate\closeout\LWR at copyoutfile
-\LWR at traceinfo{LWR at copyfile: done}
-\endgroup
+ \immediate\write\LWR at copyoutfile{\unexpanded\expandafter{\LWR at fileline}}%
+ \repeat
+ \immediate\closeout\LWR at copyoutfile
+ \LWR at traceinfo{LWR at copyfile: done}
+ \endgroup
}
% \end{macrocode}
% \end{macro}
@@ -14847,9 +16110,7 @@
% The new \HTML\ versions of macros and environments are used most of the time.
% Copies of the print versions are used inside a \env{lateximage} environment,
% which draws and remembers an image of the printed output, and also several
-% other places. The copies of the print versions may also be used by the \HTML\
-% versions, such as when the \HTML\ version merely encloses the print version
-% inside \HTML\ tags.
+% other places.
%
% The general structure for providing print and \HTML\ versions of a macro or
% environment is as follows:
@@ -14859,13 +16120,14 @@
% \item[For a preexisting macro, not defined with \pkg{xparse}:] An \HTML\ version
% is provided with a special name, inside a \env{warpHTML} environment,
% then \cs{LWR at formatted} is used to redefine and patch various macros:
-% \begin{Verbatim}[gobble=2,obeytabs,tabsize=4,frame=lines]
+% \needspace{5\baselineskip}
+% \begin{sourceverb}
% \begin{warpHTML}
% \newcommand{\LWR at HTML@name}{...}% may also use xparse
%
% \LWR at formatted{name}
% \end{warpHTML}
-% \end{Verbatim}
+% \end{sourceverb}
% |\LWR at formatted{name}| copies the original print version,
% then redefines \cs{name} to use either the print or \HTML\ version depending
% on which mode \pkg{lwarp} is using. \pkg{xparse} may be used to
@@ -14874,16 +16136,18 @@
% \item[For a preexisiting environment, not defined with \pkg{xparse}:] The process
% is similar. Note the use of \cs{LWR at formattedenv} instead of \cs{LWR at formatted}.
-% \begin{Verbatim}[gobble=2,obeytabs,tabsize=4,frame=lines]
+% \needspace{5\baselineskip}
+% \begin{sourceverb}
% \begin{warpHTML}
% \newenvironment{LWR at HTML@name}{...}% may also use xparse
%
% \LWR at formattedenv{name}
% \end{warpHTML}
-% \end{Verbatim}
+% \end{sourceverb}
% \item[If the original used \pkg{xparse}:] A copy must be made using a new name:
-% \begin{Verbatim}[gobble=2,obeytabs,tabsize=4,frame=lines]
+% \needspace{7\baselineskip}
+% \begin{sourceverb}
% \begin{warpHTML}
% \NewDocumentCommand{\LWR at print@name}{..}{..}% copy the original
%
@@ -14891,7 +16155,7 @@
%
% \LWR at formatted{name}
% \end{warpHTML}
-% \end{Verbatim}
+% \end{sourceverb}
% Similar for an environment, using \cs{LWR at formattedenv}.
% (\cs{LWR at formatted} and \cs{LWR at formattedenv} use \cs{LetLtxMacro} to
% copy the original print definiton,
@@ -14899,7 +16163,8 @@
% so the print version must be manually recreated in the \pkg{lwarp} source.)
% \item[For a new macro or environment, not using \pkg{xparse} for the print version:] \
-% \begin{Verbatim}[gobble=2,obeytabs,tabsize=4,frame=lines]
+% \needspace{9\baselineskip}
+% \begin{sourceverb}
% \begin{warpall}
% \newcommand{\name}{...}% NOT xparse!
% \end{warpall}
@@ -14909,7 +16174,7 @@
%
% \LWR at formatted{name}
% \end{warpHTML}
-% \end{Verbatim}
+% \end{sourceverb}
% Similar for an environment.
% The plain \cs{name} or environment \env{name} is used for the printed
% version, and is placed inside \env{warpall}.
@@ -14921,7 +16186,8 @@
% by defining the \cs{LWR at print@<name>} version with \pkg{xparse}, along with
% \cs{name} defined without \pkg{xparse} to refer directly to the \cs{LWR at print}
% version:
-% \begin{Verbatim}[gobble=2,obeytabs,tabsize=4,frame=lines]
+% \needspace{16\baselineskip}
+% \begin{sourceverb}
% \begin{warpall}
% \NewDocumentCommand{\LWR at print@name}{...} {...}% -or-
% \NewDocumentEnvironment{\LWR at print@name}{...} {...} {...}
@@ -14938,7 +16204,7 @@
% \LWR at formatted{name}% -or-
% \LWR at formattedenv{name}
% \end{warpHTML}
-% \end{Verbatim}
+% \end{sourceverb}
%
% \end{description}
%
@@ -15001,6 +16267,37 @@
% \end{macro}
%
%
+%
+% \begin{macro}{\LWR at formatted@checkname} \marg{name}
+% \changes{v0.893}{2020/11/15}{Added.}
+% \begin{macrocode}
+\newcommand*{\LWR at formatted@checkname}[1]{%
+ \ifcsundef{LWR at HTML@#1}{%
+ \PackageError{lwarp}
+ {%
+ \protect\LWR at HTML@#1 is not defined%
+ }
+ {Perhaps it is misspelled.}
+ }{\relax}%
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\LWR at formatted@checkendname} \marg{name}
+% \changes{v0.893}{2020/11/15}{Added.}
+% \begin{macrocode}
+\newcommand*{\LWR at formatted@checkendname}[1]{%
+ \ifcsundef{endLWR at HTML@#1}{%
+ \PackageError{lwarp}
+ {%
+ \protect\endLWR at HTML@#1 is not defined%
+ }
+ {Perhaps it is misspelled.}
+ }{\relax}%
+}
+% \end{macrocode}
+% \end{macro}
+%
% \begin{macro}{\LWR at formatted} \marg{macroname} \qquad No backslash in the macro name.
%
% If not yet defined, defines \cs{LWR at print@<name>} as
@@ -15008,8 +16305,10 @@
% Also redefines \cs{<name>} to use \cs{LWR@<format>@<name>},
% where <format> is set by \cs{LWR at formatting}, and is |print| or |HTML|.
%
+% \changes{v0.893}{2020/11/15}{Improved error handling.}
% \begin{macrocode}
\newcommand*{\LWR at formatted}[1]{%
+ \LWR at formatted@checkname{#1}%
\ifcsundef{LWR at print@#1}{%
\expandafter\LetLtxMacro\csname LWR at print@#1\expandafter\endcsname%
\csname#1\endcsname%
@@ -15033,8 +16332,10 @@
%
% An expandable version of \cs{LWR at formatted}.
%
+% \changes{v0.893}{2020/11/15}{Improved error handling.}
% \begin{macrocode}
\newcommand*{\LWR at expandableformatted}[1]{%
+ \LWR at formatted@checkname{#1}%
\ifcsundef{LWR at print@#1}{%
\expandafter\LetLtxMacro\csname LWR at print@#1\expandafter\endcsname%
\csname#1\endcsname%
@@ -15060,8 +16361,11 @@
% Also redefines the environment |<name>| to use environment |LWR@<format>@<name>|,
% where <format> is set by \cs{LWR at formatting}, and is |print| or |HTML|.
%
+% \changes{v0.893}{2020/11/15}{Improved error handling.}
% \begin{macrocode}
\newcommand*{\LWR at formattedenv}[1]{%
+ \LWR at formatted@checkname{#1}%
+ \LWR at formatted@checkendname{#1}%
\ifcsundef{LWR at print@#1}{%
\expandafter\LetLtxMacro\csname LWR at print@#1\expandafter\endcsname%
\csname#1\endcsname%
@@ -15083,8 +16387,11 @@
%
% An expandable version of \env{LWR at formattedenv}.
%
+% \changes{v0.893}{2020/11/15}{Improved error handling.}
% \begin{macrocode}
\newcommand*{\LWR at expandableformattedenv}[1]{%
+ \LWR at formatted@checkname{#1}%
+ \LWR at formatted@checkendname{#1}%
\ifcsundef{LWR at print@#1}{%
\expandafter\LetLtxMacro\csname LWR at print@#1\expandafter\endcsname%
\csname#1\endcsname%
@@ -15233,6 +16540,7 @@
\begin{warpHTML}
% \end{macrocode}
%
+% \changes{v0.895}{2021/01/14}{Improved \HTML\ quotes.}
% \begin{macrocode}
\AtBeginDocument{
\ifbool{FormatWP}{
@@ -15250,11 +16558,11 @@
\renewcommand*{\LWR at tagsubsubsectionend}{/h5}
\renewcommand*{\LWR at tagparagraph}{h6}
\renewcommand*{\LWR at tagparagraphend}{/h6}
-\renewcommand*{\LWR at tagsubparagraph}{span class="subparagraph"}
+\renewcommand*{\LWR at tagsubparagraph}{span class=\textquotedbl{}subparagraph\textquotedbl}
\renewcommand*{\LWR at tagsubparagraphend}{/span}
}% WPTitleHeading
{% not WPTitleHeading, part and section starting at h1
-\renewcommand*{\LWR at tagtitle}{div class="title"}
+\renewcommand*{\LWR at tagtitle}{div class=\textquotedbl{}title\textquotedbl}
\renewcommand*{\LWR at tagtitleend}{/div}
\renewcommand*{\LWR at tagpart}{h1}
\renewcommand*{\LWR at tagpartend}{/h1}
@@ -15273,7 +16581,7 @@
{% chapter defined
\ifbool{WPTitleHeading}{}
{% not WPTitleHeading, part and chapter starting at h1
-\renewcommand*{\LWR at tagtitle}{div class="title"}
+\renewcommand*{\LWR at tagtitle}{div class=\textquotedbl{}title\textquotedbl}
\renewcommand*{\LWR at tagtitleend}{/div}
\renewcommand*{\LWR at tagpart}{h1}
\renewcommand*{\LWR at tagpartend}{/h1}
@@ -15287,7 +16595,7 @@
\renewcommand*{\LWR at tagsubsubsectionend}{/h5}
\renewcommand*{\LWR at tagparagraph}{h6}
\renewcommand*{\LWR at tagparagraphend}{/h6}
-\renewcommand*{\LWR at tagsubparagraph}{span class="subparagraph"}
+\renewcommand*{\LWR at tagsubparagraph}{span class=\textquotedbl{}subparagraph\textquotedbl}
\renewcommand*{\LWR at tagsubparagraphend}{/span}
}% not WPTitleHeading
}% chapter defined
@@ -15341,8 +16649,27 @@
\let\LWR at origbigskip\bigskip
\let\LWR at origtextellipsis\textellipsis
-\let\LWR at orig@textquotedbl\textquotedbl
+% \end{macrocode}
+% \changes{v0.88}{2020/07/03}{Added \cs{vdots}.}
+% \begin{macrocode}
+\let\LWR at origvdots\vdots
+% \end{macrocode}
+%
+% \pkg{libertinus-otf} has too much kerning for \cs{textquotedbl},
+% causing an extra space.
+% \changes{v0.895}{2021/01/14}{Fixed \pkg{libertinus-otf} \cs{textquotedbl} kern.}
+% \begin{macrocode}
+\LetLtxMacro\LWR at orig@@textquotedbl\textquotedbl
+\LetLtxMacro\LWR at orig@textquotedbl\LWR at orig@@textquotedbl
+\AtEndPreamble{
+\@ifpackageloaded{libertinus-otf}{
+ \renewcommand{\LWR at orig@textquotedbl}{\LWR at orig@@textquotedbl\kern-.15em}
+ \LetLtxMacro\textquotedbl\LWR at orig@textquotedbl
+}{}
+}
+% \end{macrocode}
+% \begin{macrocode}
\LetLtxMacro\LWR at origttfamily\ttfamily
\LetLtxMacro\LWR at origem\em
@@ -15353,14 +16680,7 @@
\let\LWR at origsp\sp
\let\LWR at origsb\sb
-\LetLtxMacro\LWR at origtextsuperscript\textsuperscript
-\LetLtxMacro\LWR at orig@textsuperscript\@textsuperscript
-\AtBeginDocument{
-\LetLtxMacro\LWR at origtextsubscript\textsubscript
-\LetLtxMacro\LWR at orig@textsubscript\@textsubscript
-}
-
\LetLtxMacro\LWR at origunderline\underline
% \end{macrocode}
%
@@ -15373,7 +16693,6 @@
\let\LWR at orignewline\newline
-
\AtBeginDocument{% in case packages change definition
\let\LWR at orig@trivlist\@trivlist
\let\LWR at origtrivlist\trivlist
@@ -15415,6 +16734,7 @@
% \limitsaccents
%
% \changes{v0.37}{2017/08/18}{\protect\LaTeX\ accents: Added.}
+% \changes{v0.84}{2020/04/12}{\protect\LaTeX\ accents: Add'l symbols.}
%
% \codehtml
% \begin{macrocode}
@@ -15430,29 +16750,41 @@
%
% For Unicode engines, only \cs{t} needs to be redefined:
% \begin{macrocode}
-\LetLtxMacro\LWR at origt\t
+\LetLtxMacro\LWR at origtie\t
% \end{macrocode}
% For pdf\LaTeX, additional work is required:
% \begin{macrocode}
\ifPDFTeX% pdflatex or dvi latex
-\LetLtxMacro\LWR at origequalaccent\=
+\LetLtxMacro\LWR at origgraveaccent\`
+\LetLtxMacro\LWR at origacuteaccent\'
+\LetLtxMacro\LWR at origcircumflexaccent\^
+\LetLtxMacro\LWR at origtildeaccent\~
+\LetLtxMacro\LWR at origmacronaccent\=
+\LetLtxMacro\LWR at origbreve\u
\LetLtxMacro\LWR at origdotaccent\.
-\LetLtxMacro\LWR at origu\u
-\LetLtxMacro\LWR at origv\v
-\LetLtxMacro\LWR at origc\c
-\LetLtxMacro\LWR at origd\d
-\LetLtxMacro\LWR at origb\b
+\LetLtxMacro\LWR at origdiaeresisaccent\"
+\LetLtxMacro\LWR at origdoubleacuteaccent\H
+\LetLtxMacro\LWR at origcaronaccent\v
+\LetLtxMacro\LWR at origdotbelowaccent\d
+\LetLtxMacro\LWR at origcedillaaccent\c
+\LetLtxMacro\LWR at origmacronbelowaccent\b
% \end{macrocode}
% The \HTML\ redefinitions follow.
%
% For pdf\LaTeX, Unicode diacritical marks are used:
% \begin{macrocode}
-\renewcommand*{\=}[1]{#1\HTMLunicode{0305}}
+\renewcommand*{\`}[1]{#1\HTMLunicode{0300}}
+\renewcommand*{\'}[1]{#1\HTMLunicode{0301}}
+\renewcommand*{\^}[1]{#1\HTMLunicode{0302}}
+\renewcommand*{\~}[1]{#1\HTMLunicode{0303}}
+\renewcommand*{\=}[1]{#1\HTMLunicode{0304}}
+\renewcommand*{\u}[1]{#1\HTMLunicode{0306}}
\renewcommand*{\.}[1]{#1\HTMLunicode{0307}}
-\renewcommand*{\u}[1]{#1\HTMLunicode{0306}}
+\renewcommand*{\"}[1]{#1\HTMLunicode{0308}}
+\renewcommand*{\H}[1]{#1\HTMLunicode{030B}}
\renewcommand*{\v}[1]{#1\HTMLunicode{030C}}
+\renewcommand*{\d}[1]{#1\HTMLunicode{0323}}
\renewcommand*{\c}[1]{#1\HTMLunicode{0327}}
-\renewcommand*{\d}[1]{#1\HTMLunicode{0323}}
\renewcommand*{\b}[1]{#1\HTMLunicode{0331}}
\fi
% \end{macrocode}
@@ -15467,18 +16799,24 @@
% \begin{macrocode}
\ifPDFTeX% pdflatex or dvi latex
\newcommand*{\LWR at restoreorigaccents}{%
-\LetLtxMacro\=\LWR at origequalaccent%
-\LetLtxMacro\.\LWR at origdotaccent%
-\LetLtxMacro\u\LWR at origu%
-\LetLtxMacro\v\LWR at origu%
-\LetLtxMacro\t\LWR at origt%
-\LetLtxMacro\c\LWR at origc%
-\LetLtxMacro\d\LWR at origd%
-\LetLtxMacro\b\LWR at origb%
+ \LetLtxMacro\`\LWR at origgraveaccent%
+ \LetLtxMacro\'\LWR at origacuteaccent%
+ \LetLtxMacro\^\LWR at origcircumflexaccent%
+ \LetLtxMacro\~\LWR at origtildeaccent%
+ \LetLtxMacro\=\LWR at origmacronaccent%
+ \LetLtxMacro\u\LWR at origbreve%
+ \LetLtxMacro\.\LWR at origdotaccent%
+ \LetLtxMacro\"\LWR at origdiaeresisaccent%
+ \LetLtxMacro\H\LWR at origdoubleacuteaccent%
+ \LetLtxMacro\v\LWR at origcaronaccent%
+ \LetLtxMacro\t\LWR at origtie%
+ \LetLtxMacro\d\LWR at origdotbelowaccent%
+ \LetLtxMacro\c\LWR at origcedillaaccent%
+ \LetLtxMacro\b\LWR at origmacronbelowaccent%
}%
\else% XeLaTeX, LuaLaTeX:
\newcommand*{\LWR at restoreorigaccents}{%
-\LetLtxMacro\t\LWR at origt%
+ \LetLtxMacro\t\LWR at origtie%
}%
\fi%
}% AtBeginDocument
@@ -15513,7 +16851,7 @@
% Default to no configuration files:
% \changes{v0.61}{2018/10/02}{Don't write configuration files if processing \pkg{pstool} image.}
% \begin{macrocode}
-\excludecomment{LWRwriteconf}
+\LWR at excludecomment{LWRwriteconf}{writeconf}
% \end{macrocode}
%
% Generate configuration files if print mode and not \filenm{-pstool}:
@@ -15531,7 +16869,7 @@
}
{
\PackageInfo{lwarp}{Generating lwarp configuration files,}%
- \includecomment{LWRwriteconf}
+ \LWR at includecomment{LWRwriteconf}{writeconf}
}
\end{warpprint}
% \end{macrocode}
@@ -15626,9 +16964,12 @@
% Error message if not sure which \LaTeX\ engine is being used.
% \begin{macrocode}
\newcommand*{\LWR at unknownengine}{%
- \PackageError{lwarp}
- {Unknown LaTeX engine.}
- {Lwarp only knows about pdflatex, dvi latex, xelatex, lualatex, and upLateX.}
+ \PackageError{lwarp}%
+ {Unknown LaTeX engine}%
+ {%
+ Lwarp only knows about pdflatex, DVI latex,
+ xelatex, lualatex, and upLateX.%
+ }%
}
% \end{macrocode}
% \end{macro}
@@ -15656,7 +16997,7 @@
\newcommand*{\LWR at latexmkcmd}[1]{%
latexmk \space \LWR at shellescapecmd \space #1 \space
-recorder \space
- \LWR at latexmkvar{makeindex}{\LWR at LatexmkIndexCmd}
+ \LWR at latexmkvar{makeindex}{\LWR at LatexmkIndexCmd}%
}
% \end{macrocode}
% \end{macro}
@@ -15958,7 +17299,6 @@
% \changes{v0.58}{2018/06/20}{\filenm{lwarpmk.conf}: Generated \cs{AtBeginDocument}.}
% \changes{v0.58}{2018/06/20}{\filenm{lwarpmk.conf}: Added options \optn{makeindex} and \optn{xindy}.}
% \changes{v0.58}{2018/06/21}{\filenm{lwarpmk.conf}: Added option \optn{makeindexstyle}.}
-%
% \codeconfig
% \begin{macrocode}
\begin{LWRwriteconf}
@@ -15984,7 +17324,6 @@
% \changes{v0.58}{2018/06/20}{\filenm{*.lwarpmkconf}: Generated \cs{AtBeginDocument}.}
% \changes{v0.58}{2018/06/20}{\filenm{*.lwarpmkconf}: Added options \optn{makeindex} and \optn{xindy}.}
% \changes{v0.58}{2018/06/21}{\filenm{*.lwarpmkconf}: Added option \optn{makeindexstyle}.}
-%
% The \optn{makeindex} and \optn{xindy} options have already been handled
% for \filenm{lwarp.conf}.
%
@@ -16041,6 +17380,15 @@
% \changes{v0.76}{2019/10/02}{\filenm{lwarp.css}: Fix for small caps.}
% \changes{v0.79}{2020/01/17}{\filenm{lwarp.css}: Fix: Nested \env{tabular}s.}
% \changes{v0.81}{2020/02/22}{\filenm{lwarp.css}: Added \pkg{nolbreaks}.}
+% \changes{v0.84}{2020/03/28}{\filenm{lwarp.css}: Added \pkg{koma-*} subject.}
+% \changes{v0.84}{2020/04/10}{\filenm{lwarp.css}: Improved \pkg{realscripts}.}
+% \changes{v0.84}{2020/04/13}{\filenm{lwarp.css}: Improved \pkg{nfssext-cfr}.}
+% \changes{v0.84}{2020/04/18}{\filenm{lwarp.css}: Fix: Minipage tex align.}
+% \changes{v0.84}{2020/04/24}{\filenm{lwarp.css}: Fix: Top nav if narrow window.}
+% \changes{v0.88}{2020/07/04}{\filenm{lwarp.css}: Added \pkg{tcolorbox}, \pkg{thmbox}.}
+% \changes{v0.88}{2020/07/14}{\filenm{lwarp.css}: Added \optn{indexheading} for \pkg{gindex}.}
+% \changes{v0.893}{2020/10/18}{\filenm{lwarp.css}: Added \pkg{keystroke}.}
+% \changes{v0.894}{2020/12/15}{\filenm{lwarp.css}: \TeX\ logos no longer below baseline.}
%
% ^^A *lwarp.css
%
@@ -16050,7 +17398,7 @@
\begin{filecontents*}[overwrite]{lwarp.css}
/*
CSS stylesheet for the LaTeX Lwarp package
- Copyright 2016-2020 Brian Dunn — BD Tech Concepts LLC
+ Copyright 2016-2021 Brian Dunn — BD Tech Concepts LLC
*/
@@ -16108,10 +17456,11 @@
span.indexitem {margin-left: 0em}
span.indexsubitem {margin-left: 2em}
span.indexsubsubitem {margin-left: 4em}
+div.indexheading {margin-top: 2ex ; font-weight: bold}
div.hidden, span.hidden { display: none ; }
-kbd, span.texttt {
+kbd, span.texttt, p span.texttt {
font-family: "DejaVu Mono", "Bitstream Vera Mono", "Lucida Console",
"Nimbus Mono L", "Liberation Mono", "FreeMono", "Andale Mono",
"Courier New", monospace;
@@ -16126,10 +17475,6 @@
span.textmd, div.textmd { font-weight: normal; }
-span.texteb { font-weight: bolder; }
-
-span.textlg { font-weight: lighter; }
-
span.textup, div.textup {
font-style: normal;
font-variant: normal;
@@ -16158,6 +17503,52 @@
Geneva, Verdana, sans-serif ;
}
+/* nfssext-cfr lining figures */
+span.textln, div.textln {
+ font-variant-numeric: lining-nums ;
+}
+
+/* nfssext-cfr proportional figures */
+span.textp, div.textp {
+ font-variant-numeric: proportional-nums ;
+}
+
+/* nfssext-cfr tabular figures */
+span.textt, div.textt {
+ font-variant-numeric: tabular-nums ;
+}
+
+/* nfssext-cfr font weights */
+span.textdb, div.textdb {
+ font-weight: 500 ;
+}
+
+span.textsb, div.textsb {
+ font-weight: 600 ;
+}
+
+span.texteb, div.texteb {
+ font-weight: 800 ;
+}
+
+span.textub, div.textub {
+ font-weight: 900 ;
+}
+
+span.textlg, div.textlg {
+ font-weight: 300 ;
+}
+
+span.textel, div.textel {
+ font-weight: 200 ;
+}
+
+span.textul, div.textul {
+ font-weight: 100 ;
+}
+
+
+
span.textcircled { border: 1px solid black ; border-radius: 1ex ; }
span.underline {
@@ -16170,7 +17561,9 @@
text-decoration-skip: auto ;
}
+div.hrule { border-top: 1px solid silver }
+
/* for vertical text: */
div.verticalrl { writing-mode: vertical-rl }
div.horizontaltb { writing-mode: horizontal-tb }
@@ -16202,16 +17595,16 @@
.supsubscript sub {
position: relative;
display: block;
- font-size: .5em;
+ font-size: .7em;
line-height: 1;
}
.supsubscript sup {
- top: .5em;
+ top: .3em;
}
.supsubscript sub {
- top: .5em;
+ top: .3em;
}
div.attribution p {
@@ -16290,7 +17683,7 @@
div.dictumauthor { font-style:italic }
-/* copyrightbox package */
+/* copyrightbox package: */
div.copyrightbox { margin: .5ex .5em }
div.copyrightbox p {margin: 0px .5em ; padding: 0px}
div.copyrightboxnote {text-align: left ; font-size: 60%}
@@ -16353,6 +17746,11 @@
span.highlight { background: #F8E800 ; }
+/* keystroke package: */
+span.keystroke {
+ border-style: outset ;
+ padding: 0pt .5em 0pt .5em ;
+}
html body {
@@ -16501,7 +17899,7 @@
}
section.textbody div.footnotes{
- margin: 3ex 2em 0ex 2em ;
+ margin: 3ex 2em .5ex 2em ;
border-bottom: 2px solid silver ;
}
@@ -16693,6 +18091,7 @@
.minipage, .fminipage, .fcolorminipage {
/* display: inline-block ; */
/* Mini pages which follow each other will be tiled. */
+ text-align:left;
margin: .25em .25em .25em .25em;
padding: .25em .25em .25em .25em;
display: inline-flex;
@@ -16755,22 +18154,35 @@
}
-.mdframed {
+/* mdframed, tcolorbox, shadebox packages */
+.mdframed, .tcolorbox, .shadebox {
padding: 0ex ;
margin: 2ex 0em 2ex 0em ;
+ border: 1px solid black ;
}
-.mdframed p { padding: 0ex .5em 0ex .5em ; }
+.tcolorbox {
+ border-radius: 10pt ;
+ margin: 2ex 1em 2ex 1em ;
+}
-.mdframed dl { padding: 1ex .5em 0ex .5em ; }
+.mdframed p, .tcolorbox p { padding: 0ex .5em 0ex .5em ; }
-.mdframedtitle {
+.mdframed dl, .tcolorbox dl { padding: 1ex .5em 0ex .5em ; }
+
+.mdframedtitle, .tcolorboxtitle {
padding: .5ex 0pt 0pt 0pt ;
border-radius: 10pt 10pt 0pt 0pt ;
display: block ;
margin-bottom: 1ex ;
+ border-bottom: 1px solid silver ;
}
+.tcolorboxsubtitle .tcolorbox {
+ margin: 2ex 0em 2ex 0em ;
+ border-radius: 0pt ;
+}
+
.mdframedsubtitle {
display: block ;
}
@@ -16872,7 +18284,10 @@
dl dd p { margin-top: 0em; }
-dd ul, dd ol, dd dl { clear: both ; padding-top: 1ex }
+dd ul, dd ol, dd dl {
+ clear: both ;
+/* padding-top: 1ex ; */
+}
nav {
@@ -17188,6 +18603,26 @@
+div.titlehead
+{
+ text-align: left ;
+ font-style: normal ;
+ font-weight: normal ;
+ font-style: normal ;
+ font-size: .8em ;
+ margin: 1ex 0em 1ex 0em ;
+}
+
+div.subject
+{
+ text-align: center ;
+ font-style: normal ;
+ font-weight: bold ;
+ font-style: normal ;
+ font-size: .8em ;
+ margin: 1ex 0em 1ex 0em ;
+}
+
div.published
{
text-align: center ;
@@ -17282,6 +18717,7 @@
}
+/* for \LinkHome, \LinkPrevious, and \LinkNext: */
a.linkhome { font-weight:bold ; font-size: 1em ;}
@@ -17405,10 +18841,16 @@
/* Native LaTeX theorems: */
-.theoremcontents { font-style: italic; margin-top: 3ex ; margin-bottom: 3ex ; }
-.theoremlabel { font-style: normal; font-weight: bold ; margin-right: .5em ; }
+.theoremcontents {
+ font-style: italic; margin-top: 3ex ; margin-bottom: 3ex ;
+}
+.theoremlabel {
+ font-style: normal; font-weight: bold ; margin-right: .5em ;
+}
+
+
/* theorem, amsthm, and ntheorem packages */
span.theoremheader,
@@ -17480,6 +18922,35 @@
span.amsthmnoteremark {}
+/* thmbox */
+
+.thmbox {
+ font-style: italic; margin-top: 3ex ; margin-bottom: 3ex ;
+ border: 1px solid gray ;
+ padding: 1ex ;
+}
+
+.thmboxtitle {
+ font-style: normal; font-weight: bold ; margin-right: .5em ;
+ border-bottom: 1px solid gray ;
+}
+
+span.thmboxproofname, span.thmboxexamplename {
+ font-weight: bold ;
+}
+
+div.thmboxproof, div.thmboxexample {
+ font-size: 0.85em ;
+ margin: 2ex ;
+}
+
+div.thmboxleftbar {
+ border-left: 2px solid black ;
+ padding-left: 1em ;
+}
+
+
+
/* For the backnaur package: */
div.backnaur {
display: block ;
@@ -17527,6 +18998,9 @@
/*
For CSS LaTeX and related logos:
Based on spacing demonstrated by the metafont package.
+
+The subscripts are shrunk instead of lowered below the baseline,
+to avoid browser rendering errors with the line height in lists, etc.
*/
.latexlogofont {
@@ -17538,7 +19012,6 @@
.latexlogo {
font-family: "Linux Libertine O", "Nimbus Roman No 9 L",
"FreeSerif", "Hoefler Text", Times, "Times New Roman", serif;
- font-size: 1.1em;
}
.latexlogosup {
@@ -17552,10 +19025,11 @@
.latexlogosub {
text-transform: uppercase;
- vertical-align: -0.27ex;
+/* vertical-align: -0.27ex; */
margin-left: -0.08em;
margin-right: -0.07em;
- font-size: 1em;
+/* font-size: 1em; */
+ font-size: .7em ;
}
.latexlogotwoe {
@@ -17565,10 +19039,11 @@
.latexlogotwoesub {
font-style:italic ;
- vertical-align: -0.27ex;
+/* vertical-align: -0.27ex; */
margin-left: -0.11em;
margin-right: -0.1em;
- font-size: 1em;
+/* font-size: 1em; */
+ font-size: .7em ;
}
.xelatexlogo {
@@ -17575,14 +19050,14 @@
font-family: "Linux Libertine O", "Nimbus Roman No 9 L",
"FreeSerif", "Hoefler Text", Times, "Times New Roman", serif;
letter-spacing: .03em ;
- font-size: 1.1em;
}
.xelatexlogosub {
- vertical-align: -0.27ex;
+/* vertical-align: -0.27ex; */
margin-left: -0.0667em;
margin-right: -.05em;
- font-size: 1em;
+/* font-size: 1em; */
+ font-size: .7em ;
letter-spacing: .03em ;
}
@@ -17620,6 +19095,7 @@
box-shadow: none ;
}
span.sidetocthetitle { display: inline }
+ nav.topnavigation { display:block }
nav.botnavigation { display:block }
div.bodycontainer { width: 100% }
.marginpar {
@@ -18283,6 +19759,9 @@
% \end{macrocode}
+
+
+
% \subsection{\filenm{lwarp_one_limage.cmd}}
%
% \DescribeFile{lwarp_one_limage.cmd}
@@ -18337,10 +19816,13 @@
% \subsection{\filenm{lwarp_mathjax.txt}}
+% \credits{Davide P. Cervone}
+
% \DescribeFile{lwarp_mathjax.txt}
-% The default MathJax script used by \pkg{lwarp} when using \brand{MathJax}.
-% A recent version of MathJax is used, as served by the recommended repository.
-% Adjustments are made to allow \LaTeX\ to control the equation tags.
+% The default \brand{MathJax} script used by \pkg{lwarp} when using \brand{MathJax}.
+% A recent version of \brand{MathJax} is used, as served by the recommended repository.
+% Adjustments are made to allow \LaTeX\ to control the equation tags
+% and provide for starred macros.
%
% \cs{MathJaxFilename} determines which script file is copied into the \HTML\ pages,
% and defaults to \filenm{lwarp_mathjax.txt}.
@@ -18353,8 +19835,8 @@
% To generate a custom script, such as to use a local repository,
% \margintag{custom script}
% copy \filenm{lwarp_mathjax.txt} to a new file,
-% make changes while keeping \pkg{lwarp}'s adjustments for equation numbering,
-% and use \cs{MathJaxFilename} to select new filename.
+% make changes while keeping \pkg{lwarp}'s adjustments for equation numbering
+% and starred macros, and use \cs{MathJaxFilename} to select the new filename.
%
% \changes{v0.28}{2017/04/11}{File: \filenm{lwarp_mathjax.txt}: Updated \protect\acro{CDN} repository.}
% \changes{v0.30}{2017/04/26}{Fix: \filenm{lwarp_mathjax.txt}: Only written in print mode.}
@@ -18362,13 +19844,19 @@
% \changes{v0.42}{2017/10/16}{File: \filenm{lwarp_mathjax.txt}: Updated \pkg{siunitx} script.}
% \changes{v0.45}{2017/12/21}{File: \filenm{lwarp_mathjax.txt}: Allow \brand{MathJax} inside \env{tabbing}.}
% \changes{v0.45}{2018/01/23}{File: \filenm{lwarp_mathjax.txt}: Allow \brand{MathJax} inside \env{verse}.}
-% \changes{v0.59}{2018/07/13}{File: \filenm{lwarp_mathjax.txt}: Updated to MathJax v2.7.4.}
-% \changes{v0.59}{2018/07/16}{File: \filenm{lwarp_mathjax.txt}: Fix: Removed chapter number from tagged non-numeric MathJax equations.}
+% \changes{v0.59}{2018/07/13}{File: \filenm{lwarp_mathjax.txt}: Updated to \brand{MathJax} v2.7.4.}
+% \changes{v0.59}{2018/07/16}{File: \filenm{lwarp_mathjax.txt}: Fix: Removed chapter number from tagged non-numeric \brand{MathJax} equations.}
% \changes{v0.62}{2018/11/05}{File: \filenm{lwarp_mathjax.txt}: Removed inoperable \pkg{siunitx} extension.}
-% \changes{v0.70}{2019/03/24}{File: \filenm{lwarp_mathjax.txt}: Updated to MathJax v2.7.5.}
+% \changes{v0.70}{2019/03/24}{File: \filenm{lwarp_mathjax.txt}: Updated to \brand{MathJax} v2.7.5.}
% \changes{v0.70}{2019/03/24}{File: \filenm{lwarp_mathjax.txt}: Loads \filenm{autoload-all.js} extension.}
-% \changes{v0.76}{2019/10/05}{File: \filenm{lwarp_mathjax.txt}: Updated to MathJax v2.7.6.}
-%
+% \changes{v0.76}{2019/10/05}{File: \filenm{lwarp_mathjax.txt}: Updated to \brand{MathJax} v2.7.6.}
+% \changes{v0.86}{2020/05/03}{File: \filenm{lwarp_mathjax.txt}: Updated to \brand{MathJax} v3 current.}
+% \changes{v0.86}{2020/05/03}{File: \filenm{lwarp_mathjax.txt}: Improved equation numbering.}
+% \changes{v0.86}{2020/05/03}{File: \filenm{lwarp_mathjax.txt}: Added support for starred macros.}
+% \changes{v0.87}{2020/05/20}{File: \filenm{lwarp_mathjax.txt}: Now provides \cs{ifstar}, \cs{ifnextchar}.}
+% \changes{v0.891}{2020/09/07}{File: \filenm{lwarp_mathjax.txt}: Renamed \filenm{tagformat} extension.}
+% \changes{v0.892}{2020/09/26}{File: \filenm{lwarp_mathjax.txt}: Added \cs{left} \Slash \cs{right} delimiters.}
+% \changes{v0.895}{2021/01/13}{File: \filenm{lwarp_mathjax.txt}: Added \cs{ifblank}, \cs{ifstrequal} macros.}
% ^^A *lwarp_mathjax.txt
%
% \codeconfig
@@ -18375,121 +19863,209 @@
% \begin{macrocode}
\begin{LWRwriteconf}
\begin{filecontents*}[overwrite]{lwarp_mathjax.txt}
-<!-- https://groups.google.com/forum/#!topic/
- mathjax-users/jUtewUcE2bY -->
-<script type="text/x-mathjax-config">
-MathJax.Hub.Register.StartupHook("TeX AMSmath Ready",function () {
- var seteqsectionDefault = {name: "", num: 0};
- var seteqsections = {}, seteqsection = seteqsectionDefault;
- var TEX = MathJax.InputJax.TeX, PARSE = TEX.Parse;
- var AMS = MathJax.Extension["TeX/AMSmath"];
- TEX.Definitions.Add({
- macros: {
- seteqsection: "mySection",
- seteqnumber: "mySetEqNumber"
- }
- });
+<script>
+// Lwarp MathJax emulation code
+//
+// Based on code by Davide P. Cervone.
+// Equation numbering: https://github.com/mathjax/MathJax/issues/2427
+// Starred and ifnextchar macros: https://github.com/mathjax/MathJax/issues/2428
+// \left, \right delimiters: https://github.com/mathjax/MathJax/issues/2535
+//
+// Modified by Brian Dunn to adjust equation numbering and add subequations.
+//
+// LaTeX can use \seteqnumber{subequations?}{section}{number} before each equation.
+// subequations? is 0 usually, 1 if inside subequations.
+// section is a string printed as-is, or empty.
+// number is auto-incremented by MathJax between equations.
+//
+MathJax = {
+ subequations: "0",
+ section: "",
+ loader: {
+ load: ['[tex]/tagformat', '[tex]/textmacros'],
+ },
+ startup: {
+ ready() {
+ // These would be replaced by import commands if you wanted to make
+ // a proper extension.
+ const Configuration = MathJax._.input.tex.Configuration.Configuration;
+ const CommandMap = MathJax._.input.tex.SymbolMap.CommandMap;
+ const Macro = MathJax._.input.tex.Symbol.Macro;
+ const TexError = MathJax._.input.tex.TexError.default;
+ const ParseUtil = MathJax._.input.tex.ParseUtil.default;
+ const expandable = MathJax._.util.Options.expandable;
- PARSE.Augment({
- mySection: function (name) {
- seteqsection.num = AMS.number;
- var n = this.GetArgument(name);
- if (n === "") {
- seteqsection = seteqsectionDefault;
- } else {
- if (!seteqsections["_"+n])
- seteqsections["_"+n] = {name:n, num:0};
- seteqsection = seteqsections["_"+n];
+ // Insert the replacement string into the TeX string, and check
+ // that there haven't been too many maxro substitutions (prevents
+ // infinite loops).
+ const useArgument = (parser, text) => {
+ parser.string = ParseUtil.addArgs(parser, text, parser.string.slice(parser.i));
+ parser.i = 0;
+ if (++parser.macroCount > parser.configuration.options.maxMacros) {
+ throw new TexError('MaxMacroSub1',
+ 'MathJax maximum macro substitution count exceeded; ' +
+ 'is there a recursive macro call?');
}
- AMS.number = seteqsection.num;
- },
- mySetEqNumber: function (name) {
- var n = this.GetArgument(name);
- if (!n || !n.match(/^ *[0-9]+ *$/))
- n = "";
- else
- n = parseInt(n)-1;
- <!-- $ syntax highlighting -->
- if (n === "" || n < 1)
- TEX.Error
- ("Argument to "+name+" should be a positive integer");
- AMS.number = n;
- }
- });
- MathJax.Hub.Config({
- TeX: {
- equationNumbers: {
- formatTag: function (n) {
- <!-- if not numeric, don't include the chapter -->
- if (!n.match(/^ *[0-9]+ *$/ ))
- <!-- $ syntax highlighting -->
- return "("+(n).replace(/^\./,"")+")" ;
- else
- return "("+(seteqsection.name+"."+n).replace(/^\./,"")+")" ;
- },
- formatID: function (n) {
- n = (seteqsection.name+'.'+n).replace
- (/[:"'<>&]/g,"").replace(/^\./,"");
- return 'mjx-eqn-' + n;
- }
+ }
+
+ // Create the command map for:
+ // \ifstar, \ifnextchar, \ifblank, \ifstrequal, \seteqnumber
+ new CommandMap('Lwarp-macros', {
+ ifstar: 'IfstarFunction',
+ ifnextchar: 'IfnextcharFunction',
+ ifblank: 'IfblankFunction',
+ ifstrequal: 'IfstrequalFunction',
+ seteqnumber: 'SeteqnumberFunction'
+ }, {
+ // This function implements an ifstar macro.
+ IfstarFunction(parser, name) {
+ const resultstar = parser.GetArgument(name);
+ const resultnostar = parser.GetArgument(name);
+ const star = parser.GetStar(); // true if there is a *
+ useArgument(parser, star ? resultstar : resultnostar);
+ },
+
+ // This function implements an ifnextchar macro.
+ IfnextcharFunction(parser, name) {
+ let whichchar = parser.GetArgument(name);
+ if (whichchar.match(/^(?:0x[0-9A-F]+|[0-9]+)$/i)) {
+ // $ syntax highlighting
+ whichchar = String.fromCodePoint(parseInt(whichchar));
+ }
+ const resultnextchar = parser.GetArgument(name);
+ const resultnotnextchar = parser.GetArgument(name);
+ const gotchar = (parser.GetNext() === whichchar);
+ useArgument(parser, gotchar ? resultnextchar : resultnotnextchar);
+ },
+
+ // This function implements an ifblank macro.
+ IfblankFunction(parser, name) {
+ const blankarg = parser.GetArgument(name);
+ const resultblank = parser.GetArgument(name);
+ const resultnotblank = parser.GetArgument(name);
+ const isblank = (blankarg.trim() == "");
+ useArgument(parser, isblank ? resultblank : resultnotblank);
+ },
+
+ // This function implements an ifstrequal macro.
+ IfstrequalFunction(parser, name) {
+ const strequalfirst = parser.GetArgument(name);
+ const strequalsecond = parser.GetArgument(name);
+ const resultequal = parser.GetArgument(name);
+ const resultnotequal = parser.GetArgument(name);
+ const isequal = (strequalfirst == strequalsecond);
+ useArgument(parser, isequal ? resultequal : resultnotequal);
+ },
+
+ // This function modifies the equation numbers.
+ SeteqnumberFunction(parser, name) {
+ // Get the macro parameters
+ const star = parser.GetStar(); // true if there is a *
+ const optBrackets = parser.GetBrackets(name); // contents of optional brackets
+ const newsubequations = parser.GetArgument(name); // the subequations argument
+ const neweqsection = parser.GetArgument(name); // the eq section argument
+ const neweqnumber = parser.GetArgument(name); // the eq number argument
+ MathJax.config.subequations=newsubequations ; // a string with boolean meaning
+ MathJax.config.section=neweqsection ; // a string with numeric meaning
+ parser.tags.counter = parser.tags.allCounter = neweqnumber ;
}
- }
- });
-});
-</script>
-<!-- http://docs.mathjax.org/en/latest/options/ThirdParty.html -->
-<script type="text/x-mathjax-config">
- MathJax.Ajax.config.path["Contrib"] =
- "https://cdn.mathjax.org/mathjax/contrib";
-</script>
+ });
-<script type="text/x-mathjax-config">
-MathJax.Hub.Config({
- TeX: {
- extensions: ["autoload-all.js"] ,
- equationNumbers: {
- autoNumber: "AMS"
+ // Create the Lwarp-macros package
+ Configuration.create('Lwarp-macros', {
+ handler: {macro: ['Lwarp-macros']}
+ });
+
+ MathJax.startup.defaultReady();
+
+ // For forward references:
+ MathJax.startup.input[0].preFilters.add(({math}) => {
+ if (math.inputData.recompile){
+ MathJax.config.subequations = math.inputData.recompile.subequations;
+ MathJax.config.section = math.inputData.recompile.section;
}
- }
-});
-</script>
+ });
+ MathJax.startup.input[0].postFilters.add(({math}) => {
+ if (math.inputData.recompile){
+ math.inputData.recompile.subequations = MathJax.config.subequations;
+ math.inputData.recompile.section = MathJax.config.section;
+ }
+ });
-<!-- Alternative CDN provider: -->
-<script type="text/javascript" async
-src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.6/MathJax.js?config=TeX-AMS_HTML-full">
+ // For \left, \right with unicode-math:
+ const {DelimiterMap} = MathJax._.input.tex.SymbolMap;
+ const {Symbol} = MathJax._.input.tex.Symbol;
+ const {MapHandler} = MathJax._.input.tex.MapHandler;
+ const delimiter = MapHandler.getMap('delimiter');
+ delimiter.add('\\lBrack', new Symbol('\\lBrack', '\u27E6'));
+ delimiter.add('\\rBrack', new Symbol('\\rBrack', '\u27E7'));
+ delimiter.add('\\lAngle', new Symbol('\\lAngle', '\u27EA'));
+ delimiter.add('\\rAngle', new Symbol('\\rAngle', '\u27EB'));
+ delimiter.add('\\lbrbrak', new Symbol('\\lbrbrak', '\u2772'));
+ delimiter.add('\\rbrbrak', new Symbol('\\rbrbrak', '\u2773'));
+ delimiter.add('\\lbag', new Symbol('\\lbag', '\u27C5'));
+ delimiter.add('\\rbag', new Symbol('\\rbag', '\u27C6'));
+ delimiter.add('\\llparenthesis', new Symbol('\\llparenthesis', '\u2987'));
+ delimiter.add('\\rrparenthesis', new Symbol('\\rrparenthesis', '\u2988'));
+ delimiter.add('\\llangle', new Symbol('\\llangle', '\u2989'));
+ delimiter.add('\\rrangle', new Symbol('\\rrangle', '\u298A'));
+ delimiter.add('\\Lbrbrak', new Symbol('\\Lbrbrak', '\u27EC'));
+ delimiter.add('\\Rbrbrak', new Symbol('\\Rbrbrak', '\u27ED'));
+ delimiter.add('\\lBrace', new Symbol('\\lBrace', '\u2983'));
+ delimiter.add('\\rBrace', new Symbol('\\rBrace', '\u2984'));
+ delimiter.add('\\lParen', new Symbol('\\lParen', '\u2985'));
+ delimiter.add('\\rParen', new Symbol('\\rParen', '\u2986'));
+ delimiter.add('\\lbrackubar', new Symbol('\\lbrackubar', '\u298B'));
+ delimiter.add('\\rbrackubar', new Symbol('\\rbrackubar', '\u298C'));
+ delimiter.add('\\lbrackultick', new Symbol('\\lbrackultick', '\u298D'));
+ delimiter.add('\\rbracklrtick', new Symbol('\\rbracklrtick', '\u298E'));
+ delimiter.add('\\lbracklltick', new Symbol('\\lbracklltick', '\u298F'));
+ delimiter.add('\\rbrackurtick', new Symbol('\\rbrackurtick', '\u2990'));
+ delimiter.add('\\langledot', new Symbol('\\langledot', '\u2991'));
+ delimiter.add('\\rangledot', new Symbol('\\rangledot', '\u2992'));
+ delimiter.add('\\lparenless', new Symbol('\\lparenless', '\u2993'));
+ delimiter.add('\\rparengtr', new Symbol('\\rparengtr', '\u2994'));
+ delimiter.add('\\Lparengtr', new Symbol('\\Lparengtr', '\u2995'));
+ delimiter.add('\\Rparenless', new Symbol('\\Rparenless', '\u2996'));
+ delimiter.add('\\lblkbrbrak', new Symbol('\\lblkbrbrak', '\u2997'));
+ delimiter.add('\\rblkbrbrak', new Symbol('\\rblkbrbrak', '\u2998'));
+ delimiter.add('\\lvzigzag', new Symbol('\\lvzigzag', '\u29D8'));
+ delimiter.add('\\rvzigzag', new Symbol('\\rvzigzag', '\u29D9'));
+ delimiter.add('\\Lvzigzag', new Symbol('\\Lvzigzag', '\u29DA'));
+ delimiter.add('\\Rvzigzag', new Symbol('\\Rvzigzag', '\u29DB'));
+ delimiter.add('\\lcurvyangle', new Symbol('\\lcurvyangle', '\u29FC'));
+ delimiter.add('\\rcurvyangle', new Symbol('\\rcurvyangle', '\u29FD'));
+ delimiter.add('\\Vvert', new Symbol('\\Vvert', '\u2980'));
+ } // ready
+ }, // startup
+
+ tex: {
+ packages: {'[+]': ['tagformat', 'Lwarp-macros', 'textmacros']},
+ tags: "ams",
+ tagformat: {
+ number: function (n) {
+ if(MathJax.config.subequations==0)
+ return(MathJax.config.section + n);
+ else
+ return(MathJax.config.section + String.fromCharCode(96+n));
+ },
+ },
+ }
+}
</script>
-<!-- No longer supported after April 30, 2017: -->
-<!--
<script
- src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_HTML-full">
-</script>
--->
-
+ id="MathJax-script"
+ src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-chtml.js"
+></script>
\end{filecontents*}
% \end{Verbatim}% for syntax highlighting
\end{LWRwriteconf}
% \end{macrocode}
-% ^^A A possible addition for siuntix:
-% ^^A <!-- https://github.com/burnpanck/MathJax-siunitx -->
-% ^^A
-% ^^A <script type="text/x-mathjax-config">
-% ^^A MathJax.Hub.Config({
-% ^^A extensions: ["tex2jax.js","[siunitx]/siunitx.js"],
-% ^^A jax: ["input/TeX","output/HTML-CSS"],
-% ^^A tex2jax: {
-% ^^A inlineMath: [["$","$"],["\\(","\\)"]] ,
-% ^^A processClass: "tabbing|verse"
-% ^^A },
-% ^^A TeX: {extensions: ["AMSmath.js","AMSsymbols.js", "sinuitx.js"]}
-% ^^A });
-% ^^A MathJax.Ajax.config.path['siunitx'] = 'http://rawgit.com/burnpanck/MathJax-siunitx/master/';
-% ^^A </script>
-
-
+
% ^^A \subsection{\filenm{lwarp_KaTeX.txt}}
% ^^A \DescribeFile{lwarp_KaTeX.txt}
@@ -18591,19 +20167,21 @@
% \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.}%
+% 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}.
% \begin{macrocode}
-\begin{LWR at createlwarpmk}
+\begin{LWRcreatelwarpmk}
% \end{macrocode}
%
% ^^A *lwarpmk.lua
@@ -18611,10 +20189,10 @@
\begin{filecontents*}[overwrite]{lwarpmk.lua}
#!/usr/bin/env texlua
--- Copyright 2016-2020 Brian Dunn
+-- Copyright 2016-2021 Brian Dunn
-printversion = "v0.83"
+printversion = "v0.895"
requiredconfversion = "2" -- also at *lwarpmk.conf
function printhelp ()
@@ -18645,10 +20223,11 @@
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.
+lwarpmk -v: Print the version number.
lwarpmk -h: Print this help message.
lwarpmk --help: Print this help message.
@@ -19008,12 +20587,13 @@
-- Remove auxiliary files:
-- All .aux files are removed since there may be many bbl*.aux files.
-- Also removes sourcename_html.pdf, sourcename_html.html,
--- and sourcename_html.sidetoc.
+-- and sourcename_html.sidetoc, plus comment_*.cut.
--
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 " ..
@@ -19022,7 +20602,8 @@
sourcename .. "_html.pdf " ..
sourcename .. "_html.html " ..
sourcename .. "_html.sidetoc " ..
- " *_html_inc.* "
+ " *_html_inc.* " ..
+ " comment_*.cut"
)
end
@@ -19549,6 +21130,12 @@
printhelp ()
+-- lwarpmk -v:
+
+elseif (arg[1] == "-v" ) then
+-- The version number has already been printed
+-- by the lwarpmk intro.
+
-- lwarpmk -h or lwarpmk --help :
elseif (arg[1] == "-h" ) or (arg[1] == "--help") then
@@ -19568,7 +21155,7 @@
% \end{macrocode}
%
% \begin{macrocode}
-\end{LWR at createlwarpmk}
+\end{LWRcreatelwarpmk}
% \end{macrocode}
%
@@ -19858,11 +21445,11 @@
% \DescribeBoolean{LWR at mathmacro} True if currently defining math macros.
-% Used to disable \SVG\ math hashing and MathJax math contents while
+% Used to disable \SVG\ math hashing and \brand{MathJax} math contents while
% defining a macro using inline math.
% Begin a macro, it is not guaranteed that the contents are static, and so
% the image must be unique. The contents also almost certainly will not be
-% parsed correctly by MathJax.
+% parsed correctly by \brand{MathJax}.
% \begin{macrocode}
\newbool{LWR at mathmacro}
\boolfalse{LWR at mathmacro}
@@ -19908,7 +21495,7 @@
% value of a counter, then \cs{inlinemathother} must be used before the
% inline math expression, and \cs{inlinemathnormal} must be used after.
%
-% For MathJax, the inline math expression is usually printed for MathJax to
+% For \brand{MathJax}, the inline math expression is usually printed for \brand{MathJax} to
% interpret. When marked as dynamic math, the following inline math expression
% will be displayed as an unhashed inline \SVG\ image instead.
%
@@ -19984,7 +21571,7 @@
\newcommand*{\HTMLentity}[1]{%
% \LWR at traceinfo{HTMLentity \detokenize{#1}}%
\begingroup%
-\LWR at FBcancel%
+\LWR at hook@processingtags%
\LWR at origampersand#1;%
\endgroup%
% \LWR at traceinfo{HTMLentity done}%
@@ -20082,7 +21669,7 @@
% such as 100+ for one chapter, 200+ for another chapter, etc.
% \begin{macrocode}
\newcommand*{\SetHTMLFileNumber}[1]{%
-\setcounter{LWR at htmlfilenumber}{#1}%
+ \setcounter{LWR at htmlfilenumber}{#1}%
}
% \end{macrocode}
% \end{macro}
@@ -20108,9 +21695,43 @@
% \end{macrocode}
+% Updated each time a new \HTML\ file is begun.
+% Used to provide \HTML\ previous/next web page links.
+% \begin{macrocode}
+\newcounter{LWR at HTMLpagenum}
+\setcounter{LWR at HTMLpagenum}{0}
+% \end{macrocode}
+
+
+% \DescribeCounter{LWR at htmlseqfilenumber}
+% A sequential count of the number of each \HTML\ file as it is being created.
+% Number 0 is the home page.
+% Unlike \cs{LWR at htmlfilenumber}, this one is known to increment by one
+% for each file. This is used to generate previous \slash next links for
+% each web page, via labels called |\BaseJobname-autofile-*|, and the
+% last page is also labelled |\BaseJobname-autofile-last|.
+%
+% \changes{v0.84}{2020/04/24}{Added prev/next links.}
+% \begin{macrocode}
+\newcounter{LWR at htmlseqfilenumber}
+\setcounter{LWR at htmlseqfilenumber}{0}
+% \end{macrocode}
+
+% \DescribeBoolean{LWR at setseqfilelabel}
+% At each new \HTML\ file, this is false until a sectional unit is used,
+% at which point this is set true and a label is placed.
+% In this way, the previous/next labels will point to a named section.
+% \begin{macrocode}
+\newbool{LWR at setseqfilelabel}
+\setbool{LWR at setseqfilelabel}{false}
+% \end{macrocode}
+
+
% \DescribeCounter{LWR at htmlfilenumber}
% Records the number of each \HTML\ file as it is being created.
% Number 0 is the home page.
+% This might not be sequential, as the user may use
+% \cs{SetHTMLFileNumber} to create groups of numbered nodes.
% \begin{macrocode}
\newcounter{LWR at htmlfilenumber}
\setcounter{LWR at htmlfilenumber}{0}
@@ -20125,6 +21746,8 @@
% \changes{v0.20}{2016/09/11}{Sections called ``Index'' or ``index'' have an underscore
% prepended to their filenames if no prefix.}
% \changes{v0.66}{2019/01/30}{Sanitize underscores.}
+% \changes{v0.84}{2020/04/10}{Fix: Sections called ``Index'' or ``index'' have \filenm{-0}
+% appended to their filenames if no prefix.}
%
% Prints the filename for a given section: |\HTMLFilename{}filenumber/name.html|
% \begin{macrocode}
@@ -20144,15 +21767,15 @@
% \LWR at traceinfo{about to assign temp}%
\LWR at sanitize{#1}%
\LWR at traceinfo{about to compare with ??}%
-\ifthenelse{\equal{\LWR at sanitized}{??}}%
+\ifdefstring{\LWR at sanitized}{??}
{\LWR at traceinfo{found ??}}%
{\LWR at traceinfo{not found ??}}%
\LWR at traceinfo{about to compare with zero or empty}%
-\ifthenelse{%
- \equal{\LWR at sanitized}{0}%
- \OR \equal{\LWR at sanitized}{}%
- \OR \equal{\LWR at sanitized}{??}%
-}%
+\ifboolexpr{
+ test {\ifdefstring{\LWR at sanitized}{0}} or
+ test {\ifdefstring{\LWR at sanitized}{}} or
+ test {\ifdefstring{\LWR at sanitized}{??}}
+}
{%
\LWR at traceinfo{LWR at htmlsectionfilename B \HomeHTMLFilename.html}%
\HomeHTMLFilename.html%
@@ -20159,18 +21782,20 @@
}%
% \end{macrocode}
% For a \LaTeX\ section named ``Index'' or ``index'' without a prefix, create a filename
-% with a leading underscore to avoid colliding with the \HTML\ filename |index.html|:
+% with a trailing \filenm{-0} to avoid colliding with the \HTML\ filename |index.html|:
% \begin{macrocode}
{%
\LWR at traceinfo{LWR at htmlsectionfilename C \LWR at sanitized}%
- \ifthenelse{%
- \equal{\HTMLFilename}{} \AND
- \equal{\LWR at sanitized}{Index} \OR
- \equal{\LWR at sanitized}{index}%
+ \ifboolexpr{
+ test{\ifdefvoid{\HTMLFilename}} and
+ (
+ test{\ifdefstring{\LWR at sanitized}{Index}} or
+ test{\ifdefstring{\LWR at sanitized}{index}}
+ )
}%
{%
- \LWR at traceinfo{Prefixing the index name with an underscore.}%
- \_\LWR at sanitized.html%
+ \LWR at traceinfo{Adding a zero to the index filename.}%
+ \LWR at sanitized-0.html%
}%
% \end{macrocode}
% Otherwise, create a filename with the chosen prefix:
@@ -20189,18 +21814,18 @@
%
% Prints the filename for the given label
%
-% \changes{v0.50}{2018/02/20}{Fix: SVG math in a section name.}
+% \changes{v0.50}{2018/02/20}{Fix: \SVG\ math in a section name.}
% \begin{macrocode}
\newcommand*{\LWR at htmlrefsectionfilename}[1]{%
-\LWR at traceinfo{LWR at htmlrefsectionfilename: !\detokenize{#1}!}%
+ \LWR at traceinfo{LWR at htmlrefsectionfilename: !\detokenize{#1}!}%
% \end{macrocode}
% \cs{LWR at nullfonts} to allow math in a section name.
% \begin{macrocode}
-\begingroup%
-\LWR at nullfonts%
-\LWR at htmlsectionfilename{\LWR at htmlfileref{#1}}%
-\endgroup%
-\LWR at traceinfo{LWR at htmlrefsectionfilename: done}%
+ \begingroup%
+ \LWR at nullfonts%
+ \LWR at htmlsectionfilename{\LWR at htmlfileref{#1}}%
+ \endgroup%
+ \LWR at traceinfo{LWR at htmlrefsectionfilename: done}%
}
% \end{macrocode}
% \end{macro}
@@ -20243,7 +21868,7 @@
% The filename must be detokenized for underscores.
% \begin{macrocode}
\newcommand*{\LinkHome}{%
-\LWR at subhyperrefclass{\HomeHTMLFilename.html}{\linkhomename}{linkhome}%
+ \LWR at subhyperrefclass{\HomeHTMLFilename.html}{\linkhomename}{linkhome}%
}
% \end{macrocode}
% \end{macro}
@@ -20302,8 +21927,8 @@
% Creates a link to the homepage at the top of the page for use when the window is too
% narrow for the side\TOC.
% \begin{macrocode}
-\newcommand*{\LWR at topnavigation}{
-\LWR at htmlelementclassline{nav}{topnavigation}{\LinkHome}
+\newcommand*{\LWR at topnavigation}{%
+ \LWR at htmlelementclassline{nav}{topnavigation}{\LinkHome}
}
% \end{macrocode}
% \end{macro}
@@ -20313,8 +21938,8 @@
% Creates a link to the homepage at the bottom of the page for use when the window is too
% narrow for the side\TOC.
% \begin{macrocode}
-\newcommand*{\LWR at botnavigation}{
-\LWR at htmlelementclassline{nav}{botnavigation}{\LinkHome}
+\newcommand*{\LWR at botnavigation}{%
+ \LWR at htmlelementclassline{nav}{botnavigation}{\LinkHome}
}
% \end{macrocode}
% \end{macro}
@@ -20324,7 +21949,111 @@
% \end{macrocode}
+% \section{Previous \Slash next navigation links}
+% \codeall
+% \begin{macrocode}
+\begin{warpall}
+% \end{macrocode}
+
+% \begin{macro}{\linkpreviousname} What to call the link to the previous web page.
+% \changes{v0.84}{2020/04/24}{Added prev/next links.}
+% \begin{macrocode}
+\newcommand*{\linkpreviousname}{Previous}
+% \end{macrocode}
+% \end{macro}
+
+% \begin{macro}{\linknextname} What to call the link to the next web page.
+% \changes{v0.84}{2020/04/24}{Added prev/next links.}
+% \begin{macrocode}
+\newcommand*{\linknextname}{Next}
+% \end{macrocode}
+% \end{macro}
+
+% \begin{macrocode}
+\end{warpall}
+% \end{macrocode}
+
+
+% \codeprint
+% \begin{macrocode}
+\begin{warpprint}
+% \end{macrocode}
+
+% \begin{macro}{\LinkPrevious} Creates a link to the previous web page if there is one.
+% \begin{macrocode}
+\newcommand*{\LinkPrevious}{}
+% \end{macrocode}
+% \end{macro}
+
+% \begin{macro}{\LinkNext} Creates a link to the next web page if there is one.
+% \begin{macrocode}
+\newcommand*{\LinkNext}{}
+% \end{macrocode}
+% \end{macro}
+
+% \begin{macrocode}
+\end{warpprint}
+% \end{macrocode}
+
+
+% \codehtml
+% \begin{macrocode}
+\begin{warpHTML}
+% \end{macrocode}
+
+% \begin{macro}{\LinkPrevious} Creates a link to the previous web page if there is one.
+%
+% The links refer to the \LaTeX\ labels |\Basejobname-autofile-*|
+%
+% \changes{v0.84}{2020/04/24}{Added prev/next links.}
+% \begin{macrocode}
+\newcommand*{\LinkPrevious}{%
+ \ifnumless{\value{LWR at htmlseqfilenumber}}{1}{}{%
+ \setcounter{LWR at tempcountone}{\value{LWR at htmlseqfilenumber}-1}%
+ \LWR at subhyperrefclass{%
+ \LWR at htmlrefsectionfilename{%
+ \BaseJobname-autofile-\arabic{LWR at tempcountone}%
+ }%
+ }{\linkpreviousname}{linkhome}%
+ }%
+}
+% \end{macrocode}
+% \end{macro}
+
+% \begin{macro}{\LinkNext} Creates a link to the next web page if there is one.
+%
+% The links refer to the \LaTeX\ labels |\Basejobname-autofile-*| \\
+% and the last is the label |\Basejobname-autofile-last|
+%
+% \changes{v0.84}{2020/04/24}{Added prev/next links.}
+% \begin{macrocode}
+\newcommand*{\LinkNext}{%
+ \ifcsdef{r@\BaseJobname-autofile-last at lwarp}{%
+ \edef\LWR at tempone{%
+ \LWR at htmlfileref{\BaseJobname-autofile-\arabic{LWR at htmlseqfilenumber}}%
+ }%
+ \edef\LWR at temptwo{%
+ \LWR at htmlfileref{\BaseJobname-autofile-last}%
+ }%
+ \ifdefequal{\LWR at tempone}{\LWR at temptwo}{}{%
+ \setcounter{LWR at tempcountone}{\value{LWR at htmlseqfilenumber}+1}%
+ \LWR at subhyperrefclass{%
+ \LWR at htmlrefsectionfilename{%
+ \BaseJobname-autofile-\arabic{LWR at tempcountone}%
+ }%
+ }{\linknextname}{linkhome}%
+ }%
+ }{}%
+}
+% \end{macrocode}
+% \end{macro}
+
+% \begin{macrocode}
+\end{warpHTML}
+% \end{macrocode}
+
+
% \section{\cs{LWRPrintStack} diagnostic tool}
% Diagnostics tool:
@@ -20453,8 +22182,14 @@
\newcommand{\LWR at forcenewpage}{%
\LWR at traceinfo{LWR at forcenewpage}%
\ifinner\else%
-\LWR at stoppars\LWR at orignewpage\LWR at startpars%
+ \LWR at traceinfo{LWR at forcenewpage A}%
+ \LWR at stoppars%
+ \LWR at traceinfo{LWR at forcenewpage B}%
+ \LWR at maybe@orignewpage%
+ \LWR at traceinfo{LWR at forcenewpage C}%
+ \LWR at startpars%
\fi%
+\LWR at traceinfo{LWR at forcenewpage done}%
}
% \end{macrocode}
%
@@ -20544,10 +22279,11 @@
% \subsection{Mapping \LaTeX\ sections to \HTML\ sections}
%
% \changes{v0.73}{2019/06/21}{Added \cs{book} for \pkg{memoir}.}
+% \changes{v0.895}{2021/01/14}{Improved \HTML\ quotes.}
% \begin{macrocode}
\newcommand*{\LWR at tagtitle}{h1}
\newcommand*{\LWR at tagtitleend}{/h1}
-\newcommand*{\LWR at tagbook}{div class="book"}
+\newcommand*{\LWR at tagbook}{div class=\textquotedbl{}book\textquotedbl}
\newcommand*{\LWR at tagbookend}{/div}
\newcommand*{\LWR at tagpart}{h2}
\newcommand*{\LWR at tagpartend}{/h2}
@@ -20559,9 +22295,9 @@
\newcommand*{\LWR at tagsubsectionend}{/h5}
\newcommand*{\LWR at tagsubsubsection}{h6}
\newcommand*{\LWR at tagsubsubsectionend}{/h6}
-\newcommand*{\LWR at tagparagraph}{span class="paragraph"}
+\newcommand*{\LWR at tagparagraph}{span class=\textquotedbl{}paragraph\textquotedbl}
\newcommand*{\LWR at tagparagraphend}{/span}
-\newcommand*{\LWR at tagsubparagraph}{span class="subparagraph"}
+\newcommand*{\LWR at tagsubparagraph}{span class=\textquotedbl{}subparagraph\textquotedbl}
\newcommand*{\LWR at tagsubparagraphend}{/span}
\newcommand*{\LWR at tagregularparagraph}{p}
@@ -20568,7 +22304,22 @@
% \end{macrocode}
+% \subsection{Hook while processing tags}
+%
+% This is used to disable special text processing while processing \HTML\ tags.
+% Special processing includes that done by
+% \pkg{babel-french}, \pkg{luavina}, \pkg{xevlna}.
+%
+% \begin{macro}{\LWR at hook@processingtags} Disable special text processing
+% while generating tags.
+% Replaces \cs{LWR at FBcancel} in most places.
+% \changes{v0.895}{2021/01/12}{Added.}
+% \begin{macrocode}
+\newcommand*{\LWR at hook@processingtags}{}
+% \end{macrocode}
+% \end{macro}
+
% \subsection{Babel-French tag modifications}
% \changes{v0.34}{2017/08/03}{\pkg{babel-french}: Adds fixed-width \HTML\ spaces to punctuation.}
@@ -20594,6 +22345,7 @@
{}%
{%
\LetLtxMacro\LWR at FBcancel\NoAutoSpacing%
+ \appto{\LWR at hook@processingtags}{\LWR at FBcancel}%
}%
\@ifundefined{frenchbsetup}%
@@ -20606,31 +22358,31 @@
%
\renewrobustcmd*{\FBcolonspace}{%
\begingroup%
- \LWR at FBcancel%
+ \LWR at hook@processingtags%
\LWR at origampersand{}nbsp;%
\endgroup%
}%
\renewrobustcmd*{\FBthinspace}{%
\begingroup%
- \LWR at FBcancel%
+ \LWR at hook@processingtags%
\LWR at origampersand\LWR at origpound{}x202f;% \,
\endgroup%
}%
\renewrobustcmd*{\FBguillspace}{%
\begingroup%
- \LWR at FBcancel%
+ \LWR at hook@processingtags%
\LWR at origampersand{}nbsp;% ~, for \og xyz \fg{}
\endgroup%
}%
\DeclareDocumentCommand{\FBmedkern}{}{%
\begingroup%
- \LWR at FBcancel%
+ \LWR at hook@processingtags%
\LWR at origampersand\LWR at origpound{}x202f;% \,
\endgroup%
}%
\DeclareDocumentCommand{\FBthickkern}{}{%
\begingroup%
- \LWR at FBcancel%
+ \LWR at hook@processingtags%
\LWR at origampersand{}nbsp;% ~
\endgroup%
}%
@@ -20674,12 +22426,13 @@
% Break ligatures and use upright apostrophes in \HTML\ tags.
%
% \cs{protect} is in case the tag appears in \TOC, \LOF, \LOT.
+% \changes{v0.85}{2020/04/30}{Fix: Added print macros for \pkg{fontspec}.}
% \begin{macrocode}
\newcommand*{\LWR at htmltagc}[1]{%
\LWR at traceinfo{LWR at htmltagc !\detokenize{#1}!}%
\begingroup%
-\LWR at FBcancel%
-\ifmmode\else\protect\LWR at origttfamily\fi%
+\LWR at hook@processingtags%
+\ifmmode\else\protect\LWR at print@normalfont\protect\LWR at origttfamily\fi%
\protect\LWR at origtextless%
\LWR at isolate{#1}%
\protect\LWR at origtextgreater%
@@ -20689,7 +22442,36 @@
% \end{macro}
%
+% \begin{macro}{\LWR at spanwarnformat} \marg{object}
+%
+% Warns if the given object is used inside a span.
+% \begin{macrocode}
+\newcommand*{\LWR at spanwarnformat}[1]{%
+ \ifnumcomp{\value{LWR at spandepth}}{>}{0}{%
+ \PackageWarning{lwarp}{%
+ A #1 is being used inside a span.\MessageBreak
+ Formatting may be lost,%
+ }%
+ }{}%
+}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\LWR at spanwarninvalid} \marg{object}
+%
+% Warns if the given object is used inside a span.
+% \begin{macrocode}
+\newcommand*{\LWR at spanwarninvalid}[1]{%
+ \ifnumcomp{\value{LWR at spandepth}}{>}{0}{%
+ \PackageWarning{lwarp}{%
+ A #1 is being used inside a span.\MessageBreak
+ This generates invalid HTML,%
+ }%
+ }{}%
+}
+% \end{macrocode}
+% \end{macro}
+
% \begin{environment}{LWR at nestspan} Disable \env{minipage}, \cs{parbox},
% and \HTML\ \element{div}s inside a \element{span}.
%
@@ -20706,6 +22488,8 @@
% \changes{v0.44}{2017/11/15}{Added \env{list} and \env{trivlist}.}
% \changes{v0.70}{2019/04/02}{Improved \env{minipage}, \cs{parbox} inside a span.}
% \changes{v0.73}{2019/06/23}{Fix: \env{quote}, \env{quotation} inside a span.}
+% \changes{v0.84}{2020/04/22}{Nullified \env{minipage}, \cs{parbox} inside a span.}
+% \changes{v0.84}{2020/04/22}{Issue warnings inside a span.}
%
% \begin{macrocode}
\newcommand*{\LWR at nestspanitem}{%
@@ -20723,11 +22507,21 @@
{% not in a lateximage
\LWR at traceinfo{LWR at nestspan: NOT inside a lateximage}%
\addtocounter{LWR at spandepth}{1}%
+% \end{macrocode}
+% Nullify several objects inside the span:
+% ^^A {\LWR at subhtmlelementclass{span}{inlineminipage}}%
+% ^^A {\LWR at htmltagc{/span}}%
+% \begin{macrocode}
\RenewDocumentEnvironment{minipage}{O{t} o O{t} m}%
- {\LWR at subhtmlelementclass{span}{inlineminipage}}%
- {\LWR at htmltagc{/span}}%
- \RenewDocumentEnvironment{BlockClass}{o m}{}{}%
- \renewcommand{\BlockClassSingle}[2]{##2}%
+ {\LWR at spanwarnformat{minipage or \protect\parbox}}%
+ {}%
+ \RenewDocumentEnvironment{BlockClass}{o m}%
+ {\LWR at spanwarnformat{multi-paragraph object}}%
+ {}%
+ \renewcommand{\BlockClassSingle}[2]{%
+ {\LWR at spanwarnformat{multi-paragraph object}}%
+ ##2%
+ }%
\renewcommand{\LWR at forcenewpage}{}%
\renewcommand{\LWR at liststart}{%
\let\item\LWR at nestspanitem%
@@ -20811,13 +22605,14 @@
% \begin{macro}{\LWR at htmlclosecomment}
% \changes{v0.47}{2018/01/25}{Add \cs{mbox} to prevent line breaks.}
% \changes{v0.63}{2018/11/30}{Fix: Break ligature for \pkg{luatexko}.}
+% \changes{v0.85}{2020/04/29}{Fix: Added print macros for \pkg{fontspec}.}
% \begin{macrocode}
\newcommand*{\LWR at htmlopencomment}{%
{%
% \LWR at traceinfo{LWR at htmlopencomment}%
\begingroup%
-\LWR at FBcancel%
-\ifmmode\else\protect\LWR at origttfamily\fi%
+\LWR at hook@processingtags%
+\ifmmode\else\protect\LWR at print@normalfont\protect\LWR at origttfamily\fi%
\LWR at print@mbox{\LWR at origtextless{}!-\/-}%
\endgroup%
}%
@@ -20827,8 +22622,8 @@
{%
% \LWR at traceinfo{LWR at htmlclosecomment}%
\begingroup%
-\LWR at FBcancel%
-\ifmmode\else\protect\LWR at origttfamily\fi%
+\LWR at hook@processingtags%
+\ifmmode\else\protect\LWR at print@normalfont\protect\LWR at origttfamily\fi%
\LWR at print@mbox{-\/-\LWR at origtextgreater}%
\endgroup%
}%
@@ -20840,15 +22635,21 @@
% \begin{macro}{\LWR at htmlcomment} \marg{comment}
%
% \changes{v0.28}{2017/04/13}{Breaks ligatures in \HTML\ comments.}
-%
+% \changes{v0.85}{2020/04/29}{Fix: Added print macros for \pkg{fontspec}.}
+% \changes{v0.893}{2020/10/16}{Disabled in math mode.}
% \begin{macrocode}
\newcommand{\LWR at htmlcomment}[1]{%
-\LWR at htmlopencomment{}%
-{%
-\LWR at origttfamily% break ligatures
-#1%
-}%
-\LWR at htmlclosecomment{}}
+\ifmmode%
+\else%
+ \LWR at htmlopencomment{}%
+ {%
+ \LWR at print@normalfont%
+ \LWR at origttfamily% break ligatures
+ #1%
+ }%
+ \LWR at htmlclosecomment{}%
+\fi%
+}
% \end{macrocode}
% \end{macro}
%
@@ -20874,6 +22675,7 @@
% \subsection{Div class and element class}
+
% \begin{macro}{\LWR at subhtmlelementclass} \marg{element} \oarg{style} \marg{class}
%
% Factored and reused in several places.
@@ -20887,21 +22689,22 @@
% \changes{v0.34}{2017/08/02}{Moved optional argument in front of mandatory.}
% \changes{v0.63}{2018/11/24}{Fix for \pkg{xeCJK}.}
% \changes{v0.66}{2019/02/02}{Improved \HTML\ formatting.}
+% \changes{v0.892}{2020/10/03}{Ignore empty class.}
%
% \begin{macrocode}
\NewDocumentCommand{\LWR at subhtmlelementclass}{m O{} m}{%
\LWR at traceinfo{LWR at subhtmlelementclass !#1!#2!#3!}%
\ifblank{#2}%
-{% empty option
+{% empty style
\LWR at htmltag{%
- #1 % space
- class=\textquotedbl#3\textquotedbl\ % space
+ #1%
+ \ifblank{#3}{}{ class=\textquotedbl#3\textquotedbl\ }% spaces
}%
}%
-{% non-empty option
+{% non-empty style
\LWR at htmltag{%
#1\LWR at indentHTML%
- class=\textquotedbl#3\textquotedbl\LWR at indentHTML%
+ \ifblank{#3}{}{class=\textquotedbl#3\textquotedbl\LWR at indentHTML}%
style=\textquotedbl#2\textquotedbl\LWR at orignewline%
}%
}%
@@ -21043,12 +22846,12 @@
% \codehtml
% \begin{macrocode}
\begin{warpHTML}
+
\NewDocumentEnvironment{LWR at print@BlockClass}{o m}{}{}%
+
\NewDocumentEnvironment{LWR at HTML@BlockClass}{o m}%
-{%
- \LWR at htmldivclass[#1]{#2}%
-}
-{\LWR at htmldivclassend{#2}}
+ {\LWR at htmldivclass[#1]{#2}}
+ {\LWR at htmldivclassend{#2}}
\LWR at formattedenv{BlockClass}
\end{warpHTML}
@@ -21073,7 +22876,7 @@
% \begin{macrocode}
\begin{warpHTML}
\newcommand{\LWR at HTML@BlockClassSingle}[2]{%
-\LWR at htmlelementclassline{div}{#1}{#2}%
+ \LWR at htmlelementclassline{div}{#1}{#2}%
}
\LWR at formatted{BlockClassSingle}
@@ -21497,14 +23300,18 @@
% \begin{macro}{\LWR at startpars}
% Begin handling \HTML\ paragraphs.
% This allows an \HTML\ paragraph to start, but one has not yet begun.
+% \changes{v0.84}{2020/04/14}{Ignore if in \env{lateximage}.}
% \begin{macrocode}
\newcommand*{\LWR at startpars}%
{%
% \LWR at traceinfo{LWR at startpars}%
% \end{macrocode}
-% Ignore if inside a span:
+% Ignore if inside a \env{lateximage} or \element{span}:
% \begin{macrocode}
-\ifnumcomp{\value{LWR at spandepth}}{>}{0}%
+\ifboolexpr{
+ test {\ifnumcomp{\value{LWR at lateximagedepth}}{>}{0}} or
+ test {\ifnumcomp{\value{LWR at spandepth}}{>}{0}}
+}%
{}%
{%
% \end{macrocode}
@@ -21550,13 +23357,17 @@
% Any currently open \HTML\ paragraph is closed, and no more will be opened.
%
% \changes{v0.36}{2017/08/15}{Extra \protect\HTML\ source space after paragraphs.}
+% \changes{v0.84}{2020/04/14}{Ignore if in \env{lateximage}.}
% \begin{macrocode}
\newcommand*{\LWR at stoppars}%
{%
% \end{macrocode}
-% Ignore if inside a span:
+% Ignore if inside a \env{lateximage} or \element{span}:
% \begin{macrocode}
-\ifnumcomp{\value{LWR at spandepth}}{>}{0}%
+\ifboolexpr{
+ test {\ifnumcomp{\value{LWR at lateximagedepth}}{>}{0}} or
+ test {\ifnumcomp{\value{LWR at spandepth}}{>}{0}}
+}%
{}%
{%
% \end{macrocode}
@@ -21635,14 +23446,12 @@
% \begin{macrocode}
\AtBeginDocument{
-\def\@afterindentfalse{\let\if at afterindent\iffalse}
-\@afterindentfalse
+ \def\@afterindentfalse{\let\if at afterindent\iffalse}
+ \@afterindentfalse
}
\let\LWR at afterindent@syntaxhighlight\fi% syntax highlighting
% \end{macrocode}
-
-
% \begin{macrocode}
\end{warpHTML}
% \end{macrocode}
@@ -21658,8 +23467,10 @@
% In the following, catcode is manually changed back and forth
% without groups, since new macros are being defined which must
% not be contained within the groups.
+% \changes{v0.84}{2020/04/24}{Added \cs{FirstPageBottom}.}
% \begin{macrocode}
\newcommand{\LWR at firstpagetop}{} % for the home page alone
+\newcommand{\LWR at firstpagebottom}{} % for the home page alone
\newcommand{\LWR at pagetop}{} % for all other pages
\newcommand{\LWR at pagebottom}{}
% \end{macrocode}
@@ -21678,7 +23489,20 @@
%
% \end{macro}
%
+% \begin{macro}{\HTMLFirstPageBottom} \marg{text and logos}
%
+% \changes{v0.84}{2020/04/24}{Added \cs{FirstPageBottom}.}
+%
+% \begin{macrocode}
+\newcommand{\HTMLFirstPageBottom}[1]{%
+ \renewcommand{\LWR at firstpagebottom}{#1}%
+}
+% \end{macrocode}
+%
+%
+% \end{macro}
+%
+%
% \begin{macro}{\HTMLPageTop} \marg{text and logos}
%
% \changes{v0.30}{2017/04/28}{Renamed from \cs{SetPageTop}.}
@@ -21752,7 +23576,7 @@
-% \section{MathJax script}
+% \section{\brand{MathJax} script}
% \codehtml
% \begin{macrocode}
@@ -21761,11 +23585,11 @@
% \begin{macro}{\LWR at mathjaxfilename}
% \DescribeDefault{\filenm{lwarp_mathjax.txt}}
-% The MathJax script filename to use.
+% The \brand{MathJax} script filename to use.
% This file is copied into the head of each \HTML\ page.
% This may be changed mid-document using \cs{MathJaxFilename},
-% allowing the use of a custom MathJax script, such as for a local repository,
-% or different MathJax script files to be used for different sections of the document.
+% allowing the use of a custom \brand{MathJax} script, such as for a local repository,
+% or different \brand{MathJax} script files to be used for different sections of the document.
%
% \changes{v0.70}{2019/03/24}{Added.}
% \begin{macrocode}
@@ -21774,7 +23598,7 @@
% \end{macro}
% \begin{macro}{\MathJaxFilename} \marg{filename} \qquad
-% Assigns the MathJax script file to be used by the following \HTML\ pages.
+% Assigns the \brand{MathJax} script file to be used by the following \HTML\ pages.
%
% \changes{v0.70}{2019/03/24}{Added.}
% \begin{macrocode}
@@ -22198,7 +24022,7 @@
% \changes{v0.48}{2018/02/11}{Removed \cs{itshape}.}
% \begin{macrocode}
\AtBeginDocument{
-\def\thempfootnote{\@alph\c at mpfootnote}
+ \def\thempfootnote{\@alph\c at mpfootnote}
}
% \end{macrocode}
% \end{macro}
@@ -22440,6 +24264,7 @@
\begin{warpHTML}
% \end{macrocode}
+
% \begin{macro}{\LWR at thisfilename}
% The currently-active filename or number.
% At first, this is the homepage.
@@ -22513,7 +24338,28 @@
% \end{macro}
+% \begin{macro}{\LWR at avoiddupfilenames} \qquad
+% Instructions for how to avoid duplicate filenames.
+% This is used in a warning in \cs{LWR at filenamenoblanks},
+% and in an error in \cs{LWR at newhtmlfile}.
+% \begin{macrocode}
+\newcommand*{\LWR at avoiddupfilenames}{%
+ To avoid duplicate filenames, use the optional\MessageBreak
+ short Table of Contents entry:\MessageBreak
+ \space\space\protect\section[Unique name, no math]{Name with math}%
+ \MessageBreak
+ or use \protect\texorpdfstring, from the hyperref package:\MessageBreak
+ \space\space%
+ \protect\section{\MessageBreak
+ \space\space\space\space\protect\texorpdfstring\MessageBreak
+ \space\space\space\space\space\space%
+ {Name with math}{Unique name, no math}\MessageBreak
+ \space\space}
+}
+% \end{macrocode}
+% \end{macro}
+
% \begin{macro}{\LWR at filenamenoblanks} \marg{filename}
%
% Convert blanks into dashes, removes short words,
@@ -22539,6 +24385,7 @@
% \begin{macrocode}
\edef\LWR at thisnewfilename{#1}%
% \end{macrocode}
+%
% Replaces common macros with hyphens.
% (\cs{\&} is done by \cs{LWR at nullfonts}.)
% \begin{macrocode}
@@ -22555,7 +24402,32 @@
% \begin{macrocode}
\edef\LWR at thisnewfilename{\detokenize\expandafter{\LWR at thisnewfilename}}%
% \end{macrocode}
+%
+% Warn if there is dollar math in the section name:
% \begin{macrocode}
+\ifbool{FileSectionNames}{%
+ \IfSubStr{\LWR at thisnewfilename}{\LWRdollar}{%
+ \PackageWarning{lwarp}
+ {%
+ This section name:\MessageBreak
+ \space\space``\detokenize\expandafter{#1}''\MessageBreak
+ at the line number listed below,\MessageBreak
+ is using $dollar-delimited math$,
+ which generates\MessageBreak
+ complicated file names. It is better to use\MessageBreak
+ \space\space%
+ \protect\section{Name with \protect\(parenthesis math\protect\)}%
+ \MessageBreak
+ The math then will be removed from the file name.\MessageBreak
+ \MessageBreak
+ \LWR at avoiddupfilenames%
+ \MessageBreak
+ This section is found before or%
+ }
+ }{}%
+}{}
+% \end{macrocode}
+% \begin{macrocode}
\LWR at traceinfo{LWR at filenamenoblanks edef: !\LWR at thisnewfilename!}%
\fullexpandarg%
% \end{macrocode}
@@ -22564,12 +24436,16 @@
\LWR at simplifyname*{ }
% \end{macrocode}
% Convert punctutation into hyphens:
+% \changes{v0.86}{2020/05/04}{Fix: \filenm{*}, \filenm{(}, \filenm{)}, \filenm{.} in filename.}
% \begin{macrocode}
+\LWR at simplifyname*{*}
+\LWR at simplifyname*{(}
+\LWR at simplifyname*{)}
+\LWR at simplifyname*{.}
\LWR at simplifyname*{!}
\LWR at simplifyname*{,}
\LWR at simplifyname*{'}
\LWR at simplifyname*{+}
-\LWR at simplifyname*{,}
\LWR at simplifyname*{/}
\LWR at simplifyname*{:}
\LWR at simplifyname*{;}
@@ -22631,28 +24507,31 @@
% \begin{macrocode}
\LWR at simplifycustom%
% \end{macrocode}
-% Convert multiple hyphens:
-% \begin{macrocode}
-\LWR at simplifyname*{-----}
-\LWR at simplifyname*{----}
-\LWR at simplifyname*{---}
-\LWR at simplifyname*{--}
-% \end{macrocode}
+%
% If pdf\LaTeX\ and not \optn{utf8} encoding, don't try to convert emdash, endash:
% \changes{v0.52}{2018/04/01}{Fix: \cs{FileDepth} with non-utf8 encoding.}
+% \changes{v0.84}{2020/04/21}{Fix: Dashes in filename.}
% \begin{macrocode}
\ifPDFTeX% pdflatex or dvi latex
\ifdefstring{\inputencodingname}{utf8}{%
-\LWR at simplifyname*{—}
+ \LWR at simplifyname*{—}
% emdash
-\LWR at simplifyname*{–}
+ \LWR at simplifyname*{–}
% endash
}{}%
\else% not PDFTeX
-\LWR at simplifyname*{—}
-\LWR at simplifyname*{–}
+ \LWR at simplifyname*{—}
+ \LWR at simplifyname*{–}
\fi%
% \end{macrocode}
+%
+% Convert multiple hyphens:
+% \begin{macrocode}
+\LWR at simplifyname*{-----}
+\LWR at simplifyname*{----}
+\LWR at simplifyname*{---}
+\LWR at simplifyname*{--}
+% \end{macrocode}
% If starts with a dash, remove the leading dash:
% \begin{macrocode}
\IfBeginWith{\LWR at thisnewfilename}{\detokenize{-}}{%
@@ -22726,7 +24605,7 @@
%
% Replaces strings inside \cs{tmpb}.
%
-% Modified from the original by \textsc{Petr Olsak}, from the \pkg{opmac} package.
+% Modified from the original, by \textsc{Petr Olsak}, from the \pkg{opmac} package.
%
% \changes{v0.81}{2020/02/24}{Added.}
% \begin{macrocode}
@@ -22752,7 +24631,17 @@
% \end{macrocode}
% \end{macro}
+% \DescribeBoolean{LWR at MathJax@silentquotes}
+% If true, double quotes (\cs{"} and |"|) are removed (used for \pkg{mathspec}).
+% This unfortunately includes double quotes used inside \cs{text} with \brand{MathJax}.
+% If false, double quotes are escaped.
+% \begin{macrocode}
+\newbool{LWR at MathJax@silentquotes}
+\boolfalse{LWR at MathJax@silentquotes}
+% \end{macrocode}
+
+
% \begin{macro}{\LWR at subHTMLsanitize}
%
% \cs{LWR at strresult} must first be set by \cs{LWR at HTMLsanitize},
@@ -22775,11 +24664,21 @@
\LWR at replacestrings{<}{<}%
\LWR at replacestrings{>}{>}%
% \end{macrocode}
-% The double quote occasionally causes problems.
+% The quotes occasionally causes problems.
+% For \pkg{mathspec}, also allow neutralization of \cs{"} and the |"| character.
+% \changes{v0.891}{2020/09/09}{Neutralized single quotes.}
+% \changes{v0.893}{2020/11/22}{Optionally neutralized single quotes.}
% \begin{macrocode}
- \LWR at replacestrings{"}{"}%
+ \ifbool{LWR at MathJax@silentquotes}
+ {%
+ \expandafter\LWR at replacestrings\expandafter{\LWRbackslash"}{}%
+ \LWR at replacestrings{"}{}%
+ }%
+ {\LWR at replacestrings{"}{"}}%
+ \LWR at replacestrings{'}{'}%
+ \LWR at replacestrings{`}{`}%
% \end{macrocode}
-% MathJax allows expressions to be defined with \cs{newcommand}.
+% \brand{MathJax} allows expressions to be defined with \cs{newcommand}.
% These expressions would appear with |##| for each argument,
% and each must be changed to a single |#|.
% This must be done after all the above changes.
@@ -22803,10 +24702,8 @@
% and fully expand the strings:
% \begin{macrocode}
\begingroup%
- \LWR at FBcancel%
- \fullexpandarg%
- \protect\StrSubstitute{\detokenize{#1}}%
- {\detokenize{\&}}{\detokenize{&}}[\LWR at strresult]%
+ \LWR at hook@processingtags%
+ \edef\LWR at strresult{\detokenize{#1}}%
\LWR at subHTMLsanitize%
\LWR at strresult%
\endgroup%
@@ -22818,11 +24715,25 @@
% \begin{macro}{\LWR at HTMLsanitizeexpand} \marg{text}
%
% This version expands the argument before sanitizing it.
+% This is only used for adding math to \brand{MathJax} expressions or
+% \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{\&}.}
+% ^^A \changes{v0.79}{2020/01/27}{Fix: \cs{\&}.}
+% \changes{v0.89}{2020/08/08}{Fix: Nested \brand{MathJax} environments.}
+% ^^A *88*
% \begin{macrocode}
+\edef\LWR at beginspaceleftbrace{begin \LWRleftbrace}
+\edef\LWR at beginspaceleftbrace{\detokenize\expandafter{\LWR at beginspaceleftbrace}}
+\edef\LWR at beginleftbrace{begin\LWRleftbrace}
+\edef\LWR at beginleftbrace{\detokenize\expandafter{\LWR at beginleftbrace}}
+
+\edef\LWR at endspacerightbrace{end \LWRrightbrace}
+\edef\LWR at endspacerightbrace{\detokenize\expandafter{\LWR at endspacerightbrace}}
+\edef\LWR at endrightbrace{end\LWRrightbrace}
+\edef\LWR at endrightbrace{\detokenize\expandafter{\LWR at endrightbrace}}
+
\newrobustcmd{\LWR at HTMLsanitizeexpand}[1]{%
% \end{macrocode}
% Cancel French \pkg{babel} character handling,
@@ -22829,14 +24740,25 @@
% and fully expand the strings:
% \begin{macrocode}
\begingroup%
- \LWR at FBcancel%
- \fullexpandarg%
+ \LWR at hook@processingtags%
% \end{macrocode}
% The difference between this and \cs{LWR at HTMLsanitize} (without ``expand'')
% is the following \cs{expandafter}:
% \begin{macrocode}
- \protect\StrSubstitute{\detokenize\expandafter{#1}}%
- {\detokenize{\&}}{\detokenize{&}}[\LWR at strresult]%
+ \edef\LWR at strresult{\detokenize\expandafter{#1}}%
+% \end{macrocode}
+% The math expression may includes spaces between tokens,
+% but \brand{MathJax} does not want a space between \cs{begin} or \cs{end}
+% and the following brace.
+% This space is removed here.
+% ^^A *88*
+% \begin{macrocode}
+ \protect\StrSubstitute{\LWR at strresult}%
+ {\LWR at beginspaceleftbrace}{\LWR at beginleftbrace}[\LWR at strresult]%
+ \protect\StrSubstitute{\LWR at strresult}%
+ {\LWR at endspacerightbrace}{\LWR at endrightbrace}[\LWR at strresult]%
+% \end{macrocode}
+% \begin{macrocode}
\LWR at subHTMLsanitize%
\LWR at strresult%
\endgroup%
@@ -22869,10 +24791,8 @@
% \begin{macrocode}
\newcommand*{\LWR at subcustomizedmathjax}[1]{%
\begingroup%
- \LWR at FBcancel%
- \fullexpandarg%
- \protect\StrSubstitute{\detokenize{#1}}%
- {\detokenize{\&}}{\detokenize{&}}[\LWR at strresult]%
+ \LWR at hook@processingtags%
+ \edef\LWR at strresult{\detokenize{#1}}%
\LWR at subHTMLsanitize%
\xdef\LWR at customizedMathJax{%
\LWR at customizedMathJax%
@@ -22898,8 +24818,8 @@
\newcommand*{\CustomizeMathJax}[1]{%
\ifbool{LWR at warnedcustomizemathjax}{}{%
\StrLen{\detokenize{#1}}[\LWR at tempone]%
- \ifnumgreater{\LWR at tempone}{200}{%
- \AtBeginDocument{%
+ \ifnumgreater{\LWR at tempone}{350}{%
+ \AtEndDocument{%
\PackageWarningNoLine{lwarp}{%
To ensure faster MathJax compilation, place each\MessageBreak
custom macro in its own \protect\CustomizeMathJax.\MessageBreak
@@ -22931,7 +24851,8 @@
% \end{macrocode}
% \end{macro}
-%
+
+% ^^A *mathjax customizations
% Default customizations:
% \margintag{defaults}
%
@@ -22945,6 +24866,8 @@
% \changes{v0.51}{2018/03/18}{\brand{MathJax}: Nullifies \cs{ensuremath}.}
% \changes{v0.57}{2018/05/24}{\brand{MathJax}: Supports \cs{footnote}, \cs{footnotemark}.}
% \changes{v0.79}{2020/01/24}{\brand{MathJax}: Additional macros.}
+% \changes{v0.893}{2020/10/14}{\brand{MathJax}: Added \cs{mathnormal}.}
+% \changes{v0.894}{2020/12/22}{\brand{MathJax}: Added \cs{arabic}, \cs{number}, \cs{noalign}.}
%
% For footnotes, \cs{footnotename} is used in most cases, however
% for \env{equation} the footnote is picked up from \LaTeX in \cs{LWR at doendequation}.
@@ -22975,11 +24898,18 @@
\CustomizeMathJax{\def\LWRfootnote{1}}
\CustomizeMathJax{\newcommand{\footnote}[2][\LWRfootnote]{{}^{\mathrm{#1}}}}
\CustomizeMathJax{\newcommand{\footnotemark}[1][\LWRfootnote]{{}^{\mathrm{#1}}}}
-\end{warpMathJax}
% \end{macrocode}
-
+%
+% \cs{hspace} is modified to accept and ignore a star:
+% \changes{v0.894}{2020/12/21}{\brand{MathJax}: Accept starred \cs{hspace}.}
% \begin{macrocode}
-\begin{warpMathJax}
+\CustomizeMathJax{\let\LWRorighspace\hspace}
+\CustomizeMathJax{\renewcommand{\hspace}{\ifstar\LWRorighspace\LWRorighspace}}
+% \end{macrocode}
+%
+% Various other customizations:
+% \begin{macrocode}
+\CustomizeMathJax{\newcommand{\mathnormal}[1]{{#1}}}
\CustomizeMathJax{\newcommand\ensuremath[1]{#1}}
\CustomizeMathJax{% absorb two optional arguments
\newcommand{\LWRframebox}[2][]{\fbox{#2}}
@@ -22989,9 +24919,28 @@
\CustomizeMathJax{\newcommand{\addtolength}[2]{}}
\CustomizeMathJax{\newcommand{\setcounter}[2]{}}
\CustomizeMathJax{\newcommand{\addtocounter}[2]{}}
+\CustomizeMathJax{\newcommand{\arabic}[1]{}}
+\CustomizeMathJax{\newcommand{\number}[1]{}}
+\CustomizeMathJax{\newcommand{\noalign}[1]{\text{#1}\notag \\}}
\CustomizeMathJax{\newcommand{\cline}[1]{}}
\CustomizeMathJax{\newcommand{\directlua}[1]{\text{(directlua)}}}
\CustomizeMathJax{\newcommand{\luatexdirectlua}[1]{\text{(directlua)}}}
+% \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{\newcommand{\LWRabsorboption}[1][]{}}
+\CustomizeMathJax{\newcommand{\LWRabsorbtwooptions}[1][]{\LWRabsorboption}}
+\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
@@ -22999,7 +24948,7 @@
% \begin{macro}{\LWR at customizeMathJax}
-% Prints MathJax commands to the \HTML\ output.
+% Prints \brand{MathJax} commands to the \HTML\ output.
%
% \changes{v0.79}{2020/01/28}{MathJax: Hide definitions.}
% \begin{macrocode}
@@ -23011,16 +24960,19 @@
\LWR at stoppars
\LWR at 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 at stoppars
-\LWR at 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 at print@ttfamily
+ \LWR at customizedMathJax
+}
\LWR at startpars
\end{BlockClass}
-\typeout{---}
\LWR at startpars
}{}
@@ -23122,6 +25074,34 @@
\begin{warpHTML}
% \end{macrocode}
+
+% \begin{macro}{\LWR at createfooter} If specified, create the first or later web page footer.
+% \changes{v0.73}{2019/06/23}{Fix: Empty header/footer.}
+% \changes{v0.84}{2020/04/24}{Added \cs{FirstPageBottom}.}
+% \begin{macrocode}
+\newcommand*{\LWR at createfooter}{%
+ \ifnumless{\value{LWR at htmlseqfilenumber}}{1}{%
+ \ifdefempty{\LWR at firstpagebottom}{}{%
+ \LWR at htmlelement{footer}
+
+ \LWR at firstpagebottom
+
+ \LWR at htmlelementend{footer}
+ }%
+ }{%
+ \ifdefempty{\LWR at pagebottom}{}{%
+ \LWR at htmlelement{footer}
+
+ \LWR at pagebottom
+
+ \LWR at htmlelementend{footer}
+ }%
+ }%
+}
+% \end{macrocode}
+% \end{macro}
+
+
% \begin{macro}{\LWR at newhtmlfile} \marg{section name}
% \changes{v0.18}{2016/04/23}{side\TOC\ after title, improving responsive design.}
% \changes{v0.21}{2017/02/22}{Skip title if not given.}
@@ -23151,21 +25131,8 @@
%
% No footer between files if \EPUB:
% \begin{macrocode}
-\ifbool{FormatEPUB}
-{}
-{
+\ifbool{FormatEPUB}{}{\LWR at createfooter}
% \end{macrocode}
-% \changes{v0.73}{2019/06/23}{Fix: Empty header/footer.}
-% \begin{macrocode}
- \ifdefempty{\LWR at pagebottom}{}{%
- \LWR at htmlelement{footer}
-
- \LWR at pagebottom
-
- \LWR at htmlelementend{footer}
- }
-}
-% \end{macrocode}
%
%
% No bottom navigation if are finishing the home page or
@@ -23182,9 +25149,12 @@
\LWR at htmltag{/body}\LWR at orignewline
\LWR at htmltag{/html}\LWR at orignewline
\LWR at traceinfo{LWR at newhtmlfile: about to LWR at orignewpage}
-\LWR at orignewpage
-
+\LWR at maybe@orignewpage
+% \end{macrocode}
+% \changes{v0.84}{2020/04/24}{Added prev/next links.}
+% \begin{macrocode}
\addtocounter{LWR at htmlfilenumber}{1}%
+\addtocounter{LWR at htmlseqfilenumber}{1}%
% \end{macrocode}
%
%
@@ -23221,23 +25191,25 @@
% \end{macrocode}
% If the filename is not unique, create an error.
% \begin{macrocode}
- \PackageError{lwarp}
+ \PackageError{lwarp}%
{%
- Section name\MessageBreak
+ The section name:\MessageBreak
``#1'',\MessageBreak
at the line number listed below,\MessageBreak
generates the filename\MessageBreak
``\LWR at thisfilename'',\MessageBreak
- which appears to be a duplicate.\MessageBreak
- There is a previous section with an\MessageBreak
- identical or similar name%
- }
+ which appears to be a duplicate. There is a\MessageBreak
+ previous section with an identical or similar name.\MessageBreak
+ While generating file names, Lwarp sanitizes math,\MessageBreak
+ most symbols, and a few common short words,\MessageBreak
+ and this may cause a conflict.\MessageBreak
+ Enter 'H' for possible solutions%
+ }%
{%
- Lwarp sanitizes most symbols and a few common short words
- when generating file names, and this may cause a conflict.
- }
- }
-}
+ \LWR at avoiddupfilenames%
+ }%
+ }%
+}%
% \end{macrocode}
% If using file numbers instead of names, the name is set to the next file number.
% \begin{macrocode}
@@ -23250,7 +25222,7 @@
% Uses pipe-separated fields for |split_html.gawk|.
% Uses monospaced font with ligatures disabled for everything except the title.
%
-% \changes{v0.50}{2018/02/20}{Fix: SVG math in a section name.}
+% \changes{v0.50}{2018/02/20}{Fix: \SVG\ math in a section name.}
% \begin{macrocode}
\LWR at traceinfo{LWR at newhtmlfile: about to print start file}%
% \end{macrocode}
@@ -23278,7 +25250,7 @@
% \end{macrocode}
%
-% Track the page numbers:
+% Track the \PDF\ page numbers of the \HTML\ output:
% \changes{v0.48}{2018/02/11}{Fix: \TOC, \LOF, \LOT\ links.}
% \begin{macrocode}
\setcounter{LWR at latestautopage}{\value{page}}%
@@ -23332,13 +25304,20 @@
%
% Start of the \element{textbody}:
% \changes{v0.65}{2018/12/18}{Improved \CSS\ for page layout.}
+% \changes{v0.84}{2020/04/24}{Added prev/next links.}
% \begin{macrocode}
\LWR at htmlelementclass{div}{bodycontainer}
\LWR at htmlelementclass{section}{textbody}
-
% \end{macrocode}
%
+% Not yet found a new section in this file.
+% Once one is found, a label will be placed for
+% previous/next links.
+% \begin{macrocode}
+\boolfalse{LWR at setseqfilelabel}
+% \end{macrocode}
%
+%
% Print title only if there is one.
% Skip if formatting for an \EPUB\ or word processor:
% \begin{macrocode}
@@ -23396,6 +25375,7 @@
% \prog{pdflatex} to generate characters and \prog{pdftotext} to read them.
% If extra symbols appear in the text,
% \trouble[accents in filenames]{filename>accents}
+% \trouble{accents>file names}
% \trouble{sectioning>accents}
% \gindex{filename>accent in}
% \gindex{accents>in section \& file names}
@@ -23402,14 +25382,19 @@
% it may be that \prog{pdflatex} is actually producing a symbol over or under a
% character, resulting in \prog{pdftotext} picking up the accent symbol separately.
%
-% \XeLaTeX{} and \LuaLaTeX{} directly support accented section and file names.
+% \XeLaTeX{} and \LuaLaTeX{} directly support accented section and file names,
% \gindex{accents>in section \& file names}
% \gindex{Unicode>file \& section names}
% \gindex{UTF-8>file \& section names}
% \gindex{Xe\LaTeX>file \& section names}
% \gindex{Lua\LaTeX>file \& section names}
+% but it may be necessary to use \LaTeX\ accents instead of
+% native Unicode accents. \LaTeX\ accents will have the accents stripped
+% when creating file names, whereas using Unicode accents will create filenames
+% which include accents, which may cause issues with some operating systems.
%
%
+%
% \codehtml
% \begin{macrocode}
\begin{warpHTML}
@@ -23541,6 +25526,10 @@
% \begin{macro}{\LWR at createautosec} \marg{section type}
%
% Create an autosection tag.
+%
+% The use of \cs{textquotedbl} instead of |"| provides improved
+% compatibility with \pkg{xeCJK}.
+%
% \changes{v0.47}{2018/01/26}{Fix: Line wrap at \HTML\ hyphen.}
% \changes{v0.63}{2018/11/24}{Fix for \pkg{xeCJK}.}
% \begin{macrocode}
@@ -23663,10 +25652,23 @@
%
%
%
+% \begin{macro}{\LWR at printchaptername}
+% Print \cs{chaptername} in most cases,
+% but this is nullified for \pkg{ctexbook}, \pkg{komascript}, \pkg{ujt*} classes.
+% \changes{v0.88}{2020/06/20}{Conditionally print \cs{chaptername}.}
+% \begin{macrocode}
+\newcommand*{\LWR at printchaptername}{%
+ \ifdefvoid{\chaptername}{}{\chaptername~}%
+}
+% \end{macrocode}
+% \end{macro}
+%
+%
% \DescribeCounter{LWR at currentautosec} Records the page number when the section
-% was created. If a math expression is included in the section name,
-% and SVG math is used, the corresponding \env{lateximage} will cause the
-% page number to change by the time the following autosec label is created.
+% was created. (If a math expression is included in the section name,
+% and \SVG\ math is used, the corresponding \env{lateximage} will cause the
+% page number to change by the time the following autosec label is created,
+% thus the initial page number is recorded here.)
% \changes{v0.43}{2017/11/01}{\ctr{LWR at currentautosec}: Added.}
% \changes{v0.66}{2019/01/28}{\ctr{LWR at currentautosec}: Fix for \LOF, \LOT float in home page.}
% \begin{macrocode}
@@ -23689,6 +25691,13 @@
\IfValueTF{#2}%
{\LWR at traceinfo{LWR at section: starting #4 #2}}%
{\LWR at traceinfo{LWR at section: starting #4 #3}}%
+% \end{macrocode}
+% Warn if starting a section inside a \element{span}:
+% \changes{v0.84}{2020/04/22}{Warn inside a \element{span}.}
+% \begin{macrocode}
+ \LWR at spanwarninvalid{section}%
+% \end{macrocode}
+% \begin{macrocode}
\LWR at maybeprintpendingfootnotes{\csuse{LWR at depth#4}}%
\LWR at stoppars%
\LWR at startnewdepth{#4}%
@@ -23757,10 +25766,11 @@
% Generate a new \LaTeX\ page so that \TOC\ and index page number points to the section:
% \begin{macrocode}
\LWR at traceinfo{LWR at section: not a new HTML file, about to LWR at orignewpage}%
- \LWR at orignewpage%
+ \LWR at maybe@orignewpage%
}% not new file
% \end{macrocode}
+%
% Remember this section's name for \cs{nameref}:
% \begin{macrocode}
\IfValueT{#3}{%
@@ -23768,6 +25778,7 @@
\IfValueTF{#2}{\LWR at setlatestname{#2}}{\LWR at setlatestname{#3}}%
}%
% \end{macrocode}
+%
% Print an opening comment with the level and the name;
% ex: ``section'' ``Introduction''
% Footnotes may be used in section names, which would also appear in the
@@ -23791,6 +25802,7 @@
\endgroup%
}{}
% \end{macrocode}
+%
% For inline sections paragraph and subparagraph, start a new paragraph now:
% \begin{macrocode}
\ifthenelse{%
@@ -23799,6 +25811,7 @@
{\LWR at startpars}%
{}%
% \end{macrocode}
+%
% Create the opening tag with an autosec:
% \begin{macrocode}
\LWR at traceinfo{LWR at section: about to LWR at createautosec}%
@@ -23808,6 +25821,7 @@
% \begin{macrocode}
\setcounter{LWR at currentautosec}{\value{page}}%
% \end{macrocode}
+%
% Check if starred:
% \begin{macrocode}
\IfBooleanTF{#1}%
@@ -23814,6 +25828,7 @@
{%
\LWR at traceinfo{LWR at section: starred}%
% \end{macrocode}
+%
% Starred, but also forcing a \TOC\ entry, so
% add unnumbered \TOC\ name or regular name:
% \begin{macrocode}
@@ -23826,10 +25841,12 @@
{}%
}% starred
% \end{macrocode}
+%
% Not starred, so step counter and add to \TOC:
% \begin{macrocode}
{% not starred
% \end{macrocode}
+%
% Only add a numbered \TOC\ entry if section number is not too deep:
% \begin{macrocode}
\ifthenelse{%
@@ -23837,6 +25854,7 @@
}%
{% if secnumdepth
% \end{macrocode}
+%
% If in the main matter, step the counter and add the \TOC\ entry.
% For |article| class, \pkg{lwarp} assumes that all is mainmatter.
% \begin{macrocode}
@@ -23846,6 +25864,7 @@
\LWR at traceinfo{LWR at section: yes mainmatter}%
\refstepcounter{#4}%
% \end{macrocode}
+%
% Add main matter numbered \TOC\ entry with the \TOC\ name or the regular name:
% \changes{v0.64}{2018/12/07}{Support for \pkg{ujarticle and related.}}
% \begin{macrocode}
@@ -23865,6 +25884,7 @@
\LWR at traceinfo{LWR at section: finished addcontentsline}%
}% end of if main matter
% \end{macrocode}
+%
% If not main matter, add unnumbered \TOC\ name or regular name:
% \begin{macrocode}
{% not main matter
@@ -23875,6 +25895,7 @@
}% end of not main matter
}% end of secnumdepth
% \end{macrocode}
+%
% Deeper than secnumdepth, so add an unnumbered \TOC\ entry:
% \begin{macrocode}
{%
@@ -23883,6 +25904,7 @@
}%
}%
% \end{macrocode}
+%
% For part, print ``Part'':
% \begin{macrocode}
\ifbool{LWR at mainmatter}%
@@ -23895,6 +25917,7 @@
{\@partnameformat}%
{}%
% \end{macrocode}
+%
% Print the section number:
% \begin{macrocode}
\LWR at traceinfo{LWR at section: about to print section number}%
@@ -23906,7 +25929,13 @@
{\protect\LWR at sectionnumber{\@partcntformat{#4}}}%
{%
\ifstrequal{#4}{chapter}%
- {\protect\LWR at sectionnumber{\@chapcntformat{#4}}}%
+ {%
+% \end{macrocode}
+% \changes{v0.88}{2020/06/20}{Conditionally print \cs{chaptername}.}
+% \begin{macrocode}
+ \LWR at printchaptername%
+ \protect\LWR at sectionnumber{\@chapcntformat{#4}}%
+ }%
{\protect\LWR at sectionnumber{\@seccntformat{#4}}}%
}%
}%
@@ -23913,7 +25942,7 @@
{}%
\LWR at traceinfo{LWR at section: finished print section number}%
}{}%
-}% end of not starred
+}% not starred
% \end{macrocode}
% Print the section name:
% \begin{macrocode}
@@ -23927,7 +25956,11 @@
\LWR at htmltag{\@nameuse{LWR at tag#4end}}%
\LWR at orignewline%
% \end{macrocode}
-% Generate a \LaTeX{} label:
+%
+% Generate a \LaTeX{} label.
+%
+% Track the \PDF\ page numbers of the \HTML\ output.
+%
% \changes{v0.43}{2017/11/01}{Fix: Math in section name.}
% \changes{v0.48}{2018/02/11}{Fix: \TOC, \LOF, \LOT\ links.}
% \changes{v0.66}{2019/01/28}{Fix: \TOC, \LOF, \LOT\ links.}
@@ -23937,6 +25970,18 @@
\setcounter{LWR at latestautopage}{\value{page}}%
\LWR at newautopagelabel{LWR at currentautosec}\LWR at orignewline%
% \end{macrocode}
+%
+% If this is the first section found in this file,
+% create a label for prevous/next links:
+% \changes{v0.84}{2020/04/24}{Added prev/next links.}
+% \begin{macrocode}
+\ifbool{LWR at setseqfilelabel}{}{%
+ \label{\BaseJobname-autofile-\arabic{LWR at htmlseqfilenumber}}%
+ \booltrue{LWR at setseqfilelabel}%
+}%
+% \end{macrocode}
+%
+%
% Start paragraph handing unless is an inline paragraph or subparagraph:
% \begin{macrocode}
\ifthenelse{%
@@ -24190,7 +26235,7 @@
\newcommand*{\LWR at currentHTMLLanguage}{en-US}
\newcommand*{\HTMLLanguage}[1]{%
-\renewcommand*{\LWR at currentHTMLLanguage}{#1}%
+ \renewcommand*{\LWR at currentHTMLLanguage}{#1}%
}
% \end{macrocode}
% \end{macro}
@@ -24203,18 +26248,19 @@
% \changes{v0.52}{2018/04/01}{Fix: \cs{FileDepth} with non-utf8 encoding.}
% \changes{v0.62}{2018/11/02}{Refactored.}
% \changes{v0.64}{2018/12/07}{Added \pkg{utarticle} and related.}
+% \changes{v0.84}{2020/04/21}{Improved spacing for \pkg{xeCJK}.}
% \begin{macrocode}
\ifPDFTeX% pdflatex or dvi latex
\ifdefstring{\inputencodingname}{utf8}{%
- \newcommand*{\theHTMLTitleSeparator}{ — }% EMdash
+ \newcommand*{\theHTMLTitleSeparator}{ —\ }% EMdash
}{%
- \newcommand*{\theHTMLTitleSeparator}{ - }% hyphen
+ \newcommand*{\theHTMLTitleSeparator}{ -\ }% hyphen
}%
\else%
\ifpTeX
- \newcommand*{\theHTMLTitleSeparator}{ - }% hyphen
+ \newcommand*{\theHTMLTitleSeparator}{ -\ }% hyphen
\else
- \newcommand*{\theHTMLTitleSeparator}{ — }% EMdash
+ \newcommand*{\theHTMLTitleSeparator}{ —\ }% EMdash
\fi%
\fi%
% \end{macrocode}
@@ -24280,7 +26326,7 @@
% \end{macrocode}
-% \begin{macro}{\LWR at filestart} \oarg{sectionname} \qquad
+% \begin{macro}{\LWR at filestart} \oarg{section name} \qquad
% Creates the opening \HTML\ tags.
% \changes{v0.19}{2016/05/25}{lwarp\_mathjax.txt loaded.}
% \changes{v0.20}{2016/06/27}{Adds meta description.}
@@ -24291,30 +26337,57 @@
\newcommand*{\LWR at filestart}[1][]{%
\LWR at traceinfo{LWR at filestart !#1!}%
% \end{macrocode}
+%
% Locally temporarily disable direct-formatting commands:
% \begin{macrocode}
\begingroup%
\LWR at nullfonts%
% \end{macrocode}
+%
% Save the section name for use while creating the
% \HTML\ meta \attribute{title} tag:
% \begin{macrocode}
\edef\theHTMLSection{#1}%
% \end{macrocode}
+%
+% Remove extra material:
+% \changes{v0.84}{2020/04/12}{Improved \HTML\ title.}
+% \begin{macrocode}
+\StrSubstitute{\theHTMLSection}{\protect}{\detokenize{-}}[\theHTMLSection]
+\StrSubstitute{\theHTMLSection}{\detokenize{-----}}{\detokenize{-}}[\theHTMLSection]
+\StrSubstitute{\theHTMLSection}{\detokenize{----}}{\detokenize{-}}[\theHTMLSection]
+\StrSubstitute{\theHTMLSection}{\detokenize{---}}{\detokenize{-}}[\theHTMLSection]
+\StrSubstitute{\theHTMLSection}{\detokenize{--}}{\detokenize{-}}[\theHTMLSection]
+% \end{macrocode}
+%
+% If starts with a dash, remove the leading dash:
+% \begin{macrocode}
+\IfBeginWith{\theHTMLSection}{\detokenize{-}}{%
+ \StrGobbleLeft{\theHTMLSection}{1}[\theHTMLSection]%
+}{}%
+% \end{macrocode}
+%
% Create the page's \HTML\ header:
% \begin{macrocode}
\LWR at htmltag{!DOCTYPE html}\LWR at orignewline
% \end{macrocode}
+%
% The language is user-adjustable:
+%
+% NOTE: \cs{LWR at orig@textquotedbl} is used here because \cs{textquotedbl} is
+% nullified by \cs{LWR at nullfonts} while starting the new file.
+%
% \begin{macrocode}
\LWR at htmltag{%
html lang=\LWR at orig@textquotedbl\LWR at currentHTMLLanguage\LWR at orig@textquotedbl%
}\LWR at orignewline
% \end{macrocode}
+%
% Start of the meta data:
% \begin{macrocode}
\LWR at htmltag{head}\LWR at orignewline
% \end{macrocode}
+%
% Charset is fixed at UTF-8:
% \begin{macrocode}
\LWR at htmltag{%
@@ -24355,6 +26428,7 @@
}\LWR at orignewline
}%
% \end{macrocode}
+%
% Mobile-friendly viewport:
% \gindex{HTML>meta tag>viewport}
% \gindex{viewport>HTML meta tag}
@@ -24366,6 +26440,7 @@
content=\LWR at orig@textquotedbl{}width=device-width, initial-scale=1.0\LWR at orig@textquotedbl\ /%
}\LWR at orignewline
% \end{macrocode}
+%
% IE patch:
% \changes{v0.63}{2018/11/30}{Fix: Break ligature for \pkg{luatexko}.}
% \begin{macrocode}
@@ -24379,6 +26454,7 @@
\LWR at htmltag{/script}\LWR at orignewline
\LWR at htmltag{![endif]-\/-}\LWR at orignewline
% \end{macrocode}
+%
% The page's title, if there is one.
% A section name is also added if given.
% \changes{v0.44}{2017/11/18}{Add \cs{HTMLTitle}.}
@@ -24394,6 +26470,7 @@
\LWR at htmltag{/title}\LWR at orignewline%
}%
% \end{macrocode}
+%
% The page's stylesheet:
% \begin{macrocode}
\LWR at htmltag{%
@@ -24404,6 +26481,7 @@
}%
\LWR at orignewline
% \end{macrocode}
+%
% Optional \brand{MathJax} support. The \HTML\ tags must be turned off
% during the verbatim input, and the paragraph handling which was
% turned on at the end of verbatim input must be immediately turned off
@@ -24418,8 +26496,19 @@
% ^^A \ifbool{mathKaTeX}{%
% ^^A \verbatiminput{lwarp_KaTeX.txt}%
% ^^A }{%
+% \changes{v0.86}{2020/05/03}{Error if missing file.}
% \begin{macrocode}
- \verbatiminput{\LWR at mathjaxfilename}%
+ \IfFileExists{\LWR at mathjaxfilename}%
+ {\verbatiminput{\LWR at mathjaxfilename}}%
+ {%
+ \PackageError{lwarp}%
+ {%
+ \protect\MathJaxFilename\space specified the file\MessageBreak
+ \space\space\LWR at mathjaxfilename\MessageBreak
+ which does not exist%
+ }%
+ {Specify an existing file, or remove \protect\MathJaxFilename.}%
+ }%
% \end{macrocode}
% ^^A }%
% \begin{macrocode}
@@ -24429,10 +26518,12 @@
}% end of mathjax
{}%
% \end{macrocode}
+%
% End of the header:
% \begin{macrocode}
\LWR at htmltag{/head}\LWR at orignewline
% \end{macrocode}
+%
% Start of the body:
% \begin{macrocode}
\LWR at htmltag{body}\LWR at orignewline
@@ -24546,16 +26637,6 @@
\let\LWR at origcaption\caption
% \end{macrocode}
%
-% Labels:
-% \cs{ltx at label} is used in \pkg{amsmath} environments and is also
-% patched by \pkg{cleveref}.
-% \gindex{label>in HTML}
-% \margintag{Label in \HTML}
-% \changes{v0.20}{2017/01/30}{Fix: math cross references.}
-% \begin{macrocode}
-\let\LWR at origltx@label\ltx at label
-\let\ltx at label\LWR at htmlmathlabel
-% \end{macrocode}
% Not yet started any paragraph handling:
% \begin{macrocode}
\global\boolfalse{LWR at doingapar}
@@ -24562,7 +26643,7 @@
\global\boolfalse{LWR at doingstartpars}
% \end{macrocode}
% Document and page settings:
-% \changes{v0.45}{2017/12/08}{Fix: Lateximages on incorrect pages with Mathjax.}
+% \changes{v0.45}{2017/12/08}{Fix: Lateximages on incorrect pages with \brand{Mathjax}.}
% \begin{macrocode}
\mainmatter
\LWR at origpagenumbering{arabic}
@@ -24591,6 +26672,13 @@
\LWR at htmlelementclass{section}{textbody}
% \end{macrocode}
%
+% Create a label for previous/next links, and remember it has been done:
+% \changes{v0.84}{2020/04/24}{Added prev/next links.}
+% \begin{macrocode}
+\booltrue{LWR at setseqfilelabel}%
+\label{\BaseJobname-autofile-\arabic{LWR at htmlseqfilenumber}}
+% \end{macrocode}
+%
% Patch the |itemize|, |enumerate|, and |description| environments and \cs{item}.
% This works with the native \LaTeX\ environments, as well as
% those provided by \pkg{enumitem}, \pkg{enumerate}, and \pkg{paralist}.
@@ -24619,8 +26707,22 @@
% 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 at customizeMathJax
+
+\ifbool{mathjax}{
+ \typeout{Done.}
+ \typeout{---}
+}{}
% \end{macrocode}
%
% ^^A % Likewise for Ka\TeX:
@@ -24691,7 +26793,9 @@
% Close the textbody:
% \changes{v0.65}{2018/12/18}{Improved \CSS\ for page layout.}
+% \changes{v0.84}{2020/04/24}{Added prev/next links.}
% \begin{macrocode}
+\label{\BaseJobname-autofile-last}
\LWR at htmlelementclassend{section}{textbody}
\LWR at htmlelementclassend{div}{bodycontainer}
\LWR at htmlelementclassend{div}{bodyandsidetoc}
@@ -24701,17 +26805,10 @@
\LWR at printpendingfootnotes
% \end{macrocode}
%
-% Create the footer:
-%
-% \changes{v0.73}{2019/06/23}{Fix: Empty header/footer.}
+% Create the footer if not \EPUB\:
+% \changes{v0.84}{2020/04/24}{Fix: No footer for \EPUB}
% \begin{macrocode}
-\ifdefempty{\LWR at pagebottom}{}{%
- \LWR at htmlelement{footer}
-
- \LWR at pagebottom
-
- \LWR at htmlelementend{footer}
-}
+\ifbool{FormatEPUB}{}{\LWR at createfooter}
% \end{macrocode}
% No bottom navigation if are finishing the home page,
@@ -24735,7 +26832,7 @@
% \end{macrocode}
% Seems to be required sometimes:
% \begin{macrocode}
-\LWR at orignewpage
+\LWR at maybe@orignewpage
}
% \end{macrocode}
% \end{macro}
@@ -24744,42 +26841,94 @@
% \begin{macro}{\enddocument}
% If labels have not changed, mark successful completion
-% of the \env{lateximages} file.
+% 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}
-\xpatchcmd{\enddocument}
- {%
- \if at tempswa
- \@latex at warning@no at line{Label(s) may have changed.
- Rerun to get cross-references right}%
- \fi
- }
- {%
- \if at tempswa
- \@latex at warning@no at line{Label(s) may have changed.
- Rerun to get cross-references right}%
- \else
+\ifdef{\AddToHook}{% newer kernel
+ \AddToHook{enddocument/info}{%
+ \if at filesw
+ \ifx \@multiplelabels \relax
+ \if at 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}
\immediate\write\LWR at lateximagesfile{%
|end|end|end|%
}%
- \fi
+ \fi
+ \fi\fi
}
- {}
- {
- \PackageWarningNoLine{lwarp}
+}% newer kernel
+{% older kernel
+ \xpatchcmd{\enddocument}
{%
- 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%
+ \if at tempswa
+ \@latex at warning@no at line{Label(s) may have changed.
+ Rerun to get cross-references right}%
+ \fi
}
- }
+ {%
+ \if at tempswa
+ \@latex at warning@no at 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 at 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}
@@ -25010,24 +27159,27 @@
%
% \subsection{Printing the thanks}
%
-% \codeall
-% \begin{macrocode}
-\begin{warpall}
-% \end{macrocode}
-% \DescribeMacro{\printthanks} Forces the \cs{thanks} to be printed.
-%
+% \begin{macro}{\printthanks} Forces the \cs{thanks} to be printed.
% This is necessary in a \env{titlingpage} environment
% when \cs{maketitle} was not used.
-% \changes{v0.73}{2019/06/25}{Fix: Paragraph tags.}
-% \begin{macrocode}
-\newcommand*{\printthanks}{\LWR at stoppars\@thanks\LWR at startpars}
-% \end{macrocode}
%
+% \changes{v0.84}{2020/03/29}{Fix: \cs{printthanks} in print mode.}
%
+% \codeprint
% \begin{macrocode}
-\end{warpall}
+\begin{warpprint}
+\newcommand*{\printthanks}{\@thanks}
+\end{warpprint}
% \end{macrocode}
+% \changes{v0.73}{2019/06/25}{Fix: Paragraph tags.}
+% \codehtml
+% \begin{macrocode}
+\begin{warpHTML}
+\newcommand*{\printthanks}{\LWR at stoppars\@thanks\LWR at startpars}
+\end{warpHTML}
+% \end{macrocode}
+% \end{macro}
% \subsection{Printing the title, etc.\ in \HTML}
@@ -25250,12 +27402,22 @@
% The original definition used \cs{\textbar} which was not being seen by \prog{pdftotext}.
%
% \changes{v0.34}{2017/08/07}{Text symbols instead of math.}
+% \changes{v0.84}{2020/04/17}{\cs{LWR at formatted}, fixed double bar.}
%
% \begin{macrocode}
-\def\@fnsymbol#1{\ifcase#1\or *\or \HTMLentity{dagger}\or \HTMLentity{Dagger}\or
- \HTMLentity{sect}\or \HTMLentity{para}\or \text{\HTMLunicode{2016}}\or
- **\or \HTMLentity{dagger}\HTMLentity{dagger} \or
- \HTMLentity{Dagger}\HTMLentity{Dagger} \else\@ctrerr\fi}
+\def\LWR at HTML@@fnsymbol#1{%
+ \ifcase#1\or *\or
+ \HTMLentity{dagger}\or
+ \HTMLentity{Dagger}\or
+ \HTMLentity{sect}\or
+ \HTMLentity{para}\or
+ \HTMLunicode{2016}\or
+ **\or
+ \HTMLentity{dagger}\HTMLentity{dagger} \or
+ \HTMLentity{Dagger}\HTMLentity{Dagger} \else
+ \@ctrerr\fi%
+}
+\LWR at formatted{@fnsymbol}
% \end{macrocode}
% \end{macro}
%
@@ -25450,10 +27612,16 @@
}%
}% yes titling package
{% no titling package
- \newcommand{\published}[1]{}%
- \newcommand*{\printpublished}{}%
- \newcommand{\subtitle}{}%
- \newcommand*{\printsubtitle}%
+% \end{macrocode}
+% \changes{v0.84}{2020/03/28}{Fixed \cs{subtitle}, \cs{printsubtitle} if no \pkg{titling}.}
+% \changes{v0.84}{2020/03/28}{Added \cs{subtitle}, \cs{published} for \pkg{koma*}.}
+% \begin{macrocode}
+ \def\@published{}%
+ \DeclareDocumentCommand{\published}{m}{\gdef\@published{##1}}%
+ \DeclareDocumentCommand{\printpublished}{}{}%
+ \def\@subtitle{}%
+ \DeclareDocumentCommand{\subtitle}{m}{\gdef\@subtitle{##1}}%
+ \DeclareDocumentCommand{\printsubtitle}{}{}%
}% no titling package
}% \AddSubtitlePublished
% \end{macrocode}
@@ -25493,12 +27661,12 @@
% \begin{macrocode}
\DeclareDocumentEnvironment{abstract}{O{\abstractname}}
{
-\LWR at forcenewpage
-\BlockClass{abstract}
-\BlockClassSingle{abstracttitle}{#1}
+ \LWR at forcenewpage
+ \BlockClass{abstract}
+ \BlockClassSingle{abstracttitle}{#1}
}
{
-\endBlockClass
+ \endBlockClass
}
% \end{macrocode}
% \end{environment}
@@ -25523,11 +27691,25 @@
% Ex: |"A quotation." \attribution{\textsc{Author Name}\\\textsl{Book Title}}|
%
% \changes{v0.73}{2019/06/25}{Fix: Paragraph tags.}
+% \changes{v0.84}{2020/04/14}{Added print mode.}
%
+% \codeall
+% \begin{macrocode}
+\begin{warpall}
+\newcommand{\attribution}[1]{
+ \begin{flushright}
+ \unskip
+ #1
+ \end{flushright}%
+}
+\end{warpall}
+% \end{macrocode}
+% \end{macro}
+%
% \codehtml
% \begin{macrocode}
\begin{warpHTML}
-\newcommand{\attribution}[1]{%
+\newcommand{\LWR at HTML@attribution}[1]{%
\LWR at stoppars%
\begin{BlockClass}{attribution}
#1
@@ -25534,20 +27716,9 @@
\end{BlockClass}
\LWR at startpars%
}
+\LWR at formatted{attribution}
\end{warpHTML}
% \end{macrocode}
-% \codeprint
-% \begin{macrocode}
-\begin{warpprint}
-\newcommand{\attribution}[1]{
- \begin{flushright}
- \unskip
- #1
- \end{flushright}%
-}
-\end{warpprint}
-% \end{macrocode}
-% \end{macro}
% \subsection{Quotes, quotations}
@@ -25558,25 +27729,31 @@
% \end{macrocode}
%
% \begin{environment}{quote}
+% \changes{v0.84}{2020/04/14}{Added print mode.}
% \begin{macrocode}
-\renewenvironment*{quote}
+\newenvironment*{LWR at HTML@quote}
{
\LWR at forcenewpage
\LWR at htmlblocktag{blockquote}
}
{\LWR at htmlblocktag{/blockquote}}
+
+\LWR at formattedenv{quote}
% \end{macrocode}
% \end{environment}
%
+% \begin{environment}{quotation}
% \changes{v0.71}{2019/04/27}{Fix: \env{blockquotation} tag.}
-% \begin{environment}{quotation}
+% \changes{v0.84}{2020/04/14}{Added print mode.}
% \begin{macrocode}
-\renewenvironment*{quotation}
+\newenvironment*{LWR at HTML@quotation}
{
\LWR at forcenewpage
\LWR at htmlblocktag{blockquote}
}
{\LWR at htmlblocktag{/blockquote}}
+
+\LWR at formattedenv{quotation}
% \end{macrocode}
% \end{environment}
@@ -25599,8 +27776,9 @@
%
% \begin{environment}{verse}
% \changes{v0.54}{2018/04/08}{Fix: Line spacing.}
+% \changes{v0.84}{2020/04/14}{Added print mode.}
% \begin{macrocode}
-\renewenvironment{verse}
+\newenvironment{LWR at HTML@verse}
{\let\\\newline% lwarp
\list{}{\itemsep \z@
\itemindent -1.5em%
@@ -25609,6 +27787,8 @@
\advance\leftmargin 1.5em}%
\item\relax}
{\endlist}
+
+\LWR at formattedenv{verse}
% \end{macrocode}
% \end{environment}
%
@@ -25666,6 +27846,7 @@
% \end{macrocode}
%
%
+%
% \DescribeLength{\VerbatimHTMLWidth} Width to use in \HTML\ |Verbatim| environment.
%
% This width is used when placing line numbers to the right.
@@ -25690,10 +27871,39 @@
% \end{macrocode}
+% \begin{macro}{\verb}
+%
+% Patched to encapsulate the verbatim text inside span
+% with a class of \attribute{texttt}.
+%
+% \changes{v0.891}{2020/09/12}{\cs{verb} as \cs{texttt}.}
+% \begin{macrocode}
+\LetLtxMacro\LWR at orig@verb at egroup\verb at egroup
+
+\def\LWR at verb@egroup at endspan{%
+ \LWR at orig@verb at egroup%
+ \LWR at htmltag{/span}%
+ \endgroup%
+}
+% \end{macrocode}
+%
+% \changes{v0.895}{2021/01/14}{Improved \HTML\ quotes.}
+% \begin{macrocode}
+\xpretocmd{\verb}
+ {%
+ \begingroup%
+ \LWR at htmltag{span class=\textquotedbl{}texttt\textquotedbl}%
+ \let\verb at egroup\LWR at verb@egroup at endspan%
+ }
+ {}
+ {\LWR at patcherror{LaTeX}{verb}}
+% \end{macrocode}
+% \end{macro}
+
+
% \begin{macro}{\LWR at atbeginverbatim}
% \oarg{1: style}
-% \marg{2: negative \cs{baselineskip} \cs{vspace}}
-% \marg{3: class}
+% \marg{2: class}
%
% Encloses a verbatim environment with the given \CSS\ class.
%
@@ -25702,29 +27912,32 @@
% \changes{v0.51}{2018/03/17}{Adds vertical offset.}
% \changes{v0.63}{2018/11/24}{Fix for \pkg{xeCJK}.}
% \begin{macrocode}
-\newcommand*{\LWR at atbeginverbatim}[3][]
+\newcommand*{\LWR at atbeginverbatim}[2][]
{%
% \end{macrocode}
+% Stop generating \HTML\ paragraph tags:
+% \begin{macrocode}
+\LWR at stoppars%
+% \end{macrocode}
% Avoid excessive space between lines:
+% \changes{v0.891}{2020/09/12}{Fix for verbatim, \pkg{alltt} with lists}
% \begin{macrocode}
\setlength{\parskip}{0ex}%
+\setlength{\topsep}{0pt}%
+\setlength{\partopsep}{0pt}%
% \end{macrocode}
-% Stop generating \HTML\ paragraph tags:
-% \begin{macrocode}
-\LWR at stoppars%
-% \end{macrocode}
% Create a new |pre| of the given class.
% The tags may temporarily be turned off for internal use, such
% as loading the \brand{MathJax} script.
% \begin{macrocode}
\ifbool{LWR at verbtags}{%
- \LWR at htmltag{pre class=\textquotedbl#3\textquotedbl%
+ \LWR at htmltag{pre class=\textquotedbl#2\textquotedbl%
\ifthenelse{\equal{#1}{}}{}{ style=\textquotedbl#1\textquotedbl}%
}%
- \LWR at orignewline% pre
- \leavevmode\unskip\LWR at print@vspace*{-#2\baselineskip}%
+ \par%
}{}%
% \end{macrocode}
+%
% Use a mono-spaced font to preserve horizontal positioning.
% If horizontal alignment is important for the user, use a mono-spaced font
% in the \CSS\ for the |verse| class.
@@ -25734,10 +27947,11 @@
% \end{macrocode}
% \changes{v0.50}{2018/03/02}{Improved column alignment.}
% \changes{v0.54}{2018/04/06}{Improved column alignment.}
+% \changes{v0.85}{2020/04/29}{Fix: Added print macros for \pkg{fontspec}.}
% \begin{macrocode}
-% \LWR at print@normalsize%
+\LWR at print@normalfont%
\LWR at origttfamily%
-\LWR at print@small%
+\LWR at print@scriptsize%
% \end{macrocode}
% Since inside a \element{pre}, restore the original list processing:
% \begin{macrocode}
@@ -25745,7 +27959,7 @@
% \end{macrocode}
% Turn off \pkg{babel-french} extra space before punctuation:
% \begin{macrocode}
-\LWR at FBcancel%
+\LWR at hook@processingtags%
% \end{macrocode}
% Do not produce \HTML\ tags for \cs{hspace} inside a verse |par|.
% Restore plain \LaTeX{} \cs{hspace} functionality:
@@ -25757,12 +27971,11 @@
% \begin{macro}{\LWR at afterendverbatim}
-% \marg{negative \cs{baselineskip} \cs{vspace}}
%
% Finishes enclosing a verbatim environment.
% \changes{v0.54}{2018/04/07}{Added vspace argument.}
% \begin{macrocode}
-\newcommand*{\LWR at afterendverbatim}[1]{%
+\newcommand*{\LWR at afterendverbatim}{%
\endgroup%
\par%
% \end{macrocode}
@@ -25769,8 +27982,7 @@
% At the end of the environment, close the |pre|:
% \begin{macrocode}
\ifbool{LWR at verbtags}{%
- \LWR at print@vspace*{-#1\baselineskip}%
- \noindent\LWR at htmltag{/pre}\LWR at orignewline% pre
+ \noindent\LWR at htmltag{/pre}\par% pre
}{}%
% \end{macrocode}
% Resume regular paragraph handling:
@@ -25786,15 +27998,16 @@
%
% Patch \cs{verbatiminput} to add \HTML\ tags:
%
+% \changes{v0.84}{2020/04/16}{Added print mode.}
% \begin{macrocode}
-\let\LWRV at origverbatim@input\verbatim at input
+\newcommand{\LWR at HTML@verbatim at input}[2]{%
+ \ifbool{LWR at verbtags}{\LWR at forcenewpage}{}%
+ \LWR at atbeginverbatim{Verbatim}%
+ \LWR at print@verbatim at input{#1}{#2}%
+ \LWR at afterendverbatim%
+}
-\renewcommand{\verbatim at input}[2]{%
-\ifbool{LWR at verbtags}{\LWR at forcenewpage}{}%
-\LWR at atbeginverbatim{2.5}{Verbatim}%
-\LWRV at origverbatim@input{#1}{#2}%
-\LWR at afterendverbatim{1.5}%
-}
+\LWR at formatted{verbatim at input}
% \end{macrocode}
% \end{macro}
@@ -25803,16 +28016,25 @@
% \begin{environment}{verbatim}
%
% \changes{v0.20}{2016/12/24}{Added.}
+% \changes{v0.84}{2020/04/16}{Added print mode.}
%
% \begin{macrocode}
\AfterEndPreamble{
\LWR at traceinfo{Patching verbatim.}
\AtBeginEnvironment{verbatim}{%
-\LWR at forcenewpage%
-\LWR at atbeginverbatim{2.5}{verbatim}%
+ \ifnumcomp{\value{LWR at lateximagedepth}}{>}{0}%
+ {}%
+ {%
+ \LWR at forcenewpage%
+ \LWR at atbeginverbatim{verbatim}%
+ }%
}
\AfterEndEnvironment{verbatim}{%
- \LWR at afterendverbatim{1}%
+ \ifnumcomp{\value{LWR at lateximagedepth}}{>}{0}%
+ {}%
+ {%
+ \LWR at afterendverbatim%
+ }%
}
}
% \end{macrocode}
@@ -25826,16 +28048,24 @@
% \changes{v0.42}{2017/10/13}{Added.}
% \changes{v0.52}{2018/03/27}{Fix to allow inside \env{lateximage}.}
% \changes{v0.58}{2018/06/07}{Improved print/\HTML\ output selection.}
+% \changes{v0.84}{2020/04/17}{Restore spacing.}
% \begin{macrocode}
\newcommand*{\LWR at HTML@tabbing}{%
-\LWR at forcenewpage%
-\LWR at atbeginverbatim{3}{tabbing}%
-\LWR at print@tabbing%
+ \LWR at forcenewpage%
+ \LWR at atbeginverbatim{tabbing}%
+ \let\enskip\LWR at origenskip%
+ \let\quad\LWR at origquad%
+ \let\qquad\LWR at origqquad%
+ \let~\LWR at origtilde%
+ \let\,\LWR at origcomma%
+ \let\thinspace\LWR at origthinspace%
+ \let\negthinspace\LWR at orignegthinspace%
+ \LWR at print@tabbing%
}
\newcommand*{\LWR at HTML@endtabbing}{%
\LWR at print@endtabbing%
- \LWR at afterendverbatim{1}%
+ \LWR at afterendverbatim%
}
\LWR at formatted{tabbing}
@@ -25872,7 +28102,7 @@
% \begin{macrocode}
\begin{warpHTML}
% \end{macrocode}
-
+%
% \begin{macro}{\@begintheorem} \marg{name} \marg{number}
% \begin{macrocode}
\renewcommand{\@begintheorem}[2]{%
@@ -25883,16 +28113,26 @@
}
% \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 at forcenewpage
-\BlockClass{theoremcontents}
-\trivlist
-\item[\InlineClass{theoremlabel}{#1\ #2\ (#3)\ }]\itshape
+\ifundef{\@opargbegintheorem}{}{
+ \renewcommand{\@opargbegintheorem}[3]{%
+ \LWR at forcenewpage
+ \BlockClass{theoremcontents}
+ \trivlist
+ \item[\InlineClass{theoremlabel}{#1\ #2\ (#3)\ }]\itshape
+ }
}
% \end{macrocode}
% \end{macro}
+%
+%
% \begin{macro}{\@endtheorem}
% \begin{macrocode}
\renewcommand*{\@endtheorem}{%
@@ -25968,8 +28208,11 @@
% \begin{macro}{\LWR at printopenlist}
% May be locally redefined by \env{enumerate} or \env{description}.
% \changes{v0.47}{2018/01/26}{Fix: Line wrap at \HTML\ hyphen.}
+% \changes{v0.895}{2021/01/14}{Improved \HTML\ quotes.}
% \begin{macrocode}
-\newcommand*{\LWR at printopenlist}{ul style="\LWR at print@mbox{list-style-type:none}"}
+\newcommand*{\LWR at printopenlist}{%
+ ul style=\textquotedbl\LWR at print@mbox{list-style-type:none}\textquotedbl{}%
+}
% \end{macrocode}
% \end{macro}
@@ -26172,6 +28415,7 @@
\LWR at nulllistfills%
}
% \end{macrocode}
+%
% \changes{v0.46}{2018/01/21}{Fix: Stack unnesting.}
% \begin{macrocode}
\newcommand*{\LWR at listend}{%
@@ -26205,10 +28449,13 @@
% \begin{environment}{itemize} \oarg{options}
% \changes{v0.47}{2018/01/26}{Fix: Line wrap at \HTML\ hyphen.}
+% \changes{v0.895}{2021/01/14}{Improved \HTML\ quotes.}
% \begin{macrocode}
\newcommand*{\LWR at itemizestart}{%
\renewcommand*{\LWR at printcloselist}{\LWR at printcloseitemize}
-\renewcommand*{\LWR at printopenlist}{ul style="\LWR at print@mbox{list-style-type:none}"}
+\renewcommand*{\LWR at printopenlist}{%
+ ul style=\textquotedbl\LWR at print@mbox{list-style-type:none}\textquotedbl{}%
+}
\let\item\LWR at itemizeitem%
\LWR at nulllistfills%
}
@@ -26223,10 +28470,13 @@
% \begin{environment}{enumerate} \oarg{options}
% \changes{v0.47}{2018/01/26}{Fix: Line wrap at \HTML\ hyphen.}
+% \changes{v0.895}{2021/01/14}{Improved \HTML\ quotes.}
% \begin{macrocode}
\newcommand*{\LWR at enumeratestart}{%
\renewcommand*{\LWR at printcloselist}{\LWR at printcloseitemize}
-\renewcommand*{\LWR at printopenlist}{ul style="\LWR at print@mbox{list-style-type:none}"}
+\renewcommand*{\LWR at printopenlist}{%
+ ul style=\textquotedbl\LWR at print@mbox{list-style-type:none}\textquotedbl{}%
+}
\let\item\LWR at itemizeitem%
\LWR at nulllistfills%
}
@@ -26325,22 +28575,22 @@
% \begin{macro}{\LWR at restoreoriglists} Restores the original \env{trivlist} environment.
% \begin{macrocode}
\newcommand*{\LWR at restoreoriglists}{%
-\LWR at traceinfo{LWR at restoreoriglists}%
-\LetLtxMacro\item\LWR at origitem%
-\LetLtxMacro\@item\LWR at orig@item%
-\let\@trivlist\LWR at orig@trivlist%
-\let\trivlist\LWR at origtrivlist%
-\let\endtrivlist\LWR at origendtrivlist%
-\LetLtxMacro\itemize\LWR at origitemize%
-\LetLtxMacro\enditemize\LWR at endorigitemize%
-\LetLtxMacro\enumerate\LWR at origenumerate%
-\LetLtxMacro\endenumerate\LWR at endorigenumerate%
-\LetLtxMacro\description\LWR at origdescription%
-\LetLtxMacro\enddescription\LWR at endorigdescription%
-\let\@mklab\LWR at orig@mklab%
-\let\makelabel\LWR at origmakelabel%
-\let\@donoparitem\LWR at orig@donoparitem%
-\let\@nbitem\LWR at orig@nbitem%
+ \LWR at traceinfo{LWR at restoreoriglists}%
+ \LetLtxMacro\item\LWR at origitem%
+ \LetLtxMacro\@item\LWR at orig@item%
+ \let\@trivlist\LWR at orig@trivlist%
+ \let\trivlist\LWR at origtrivlist%
+ \let\endtrivlist\LWR at origendtrivlist%
+ \LetLtxMacro\itemize\LWR at origitemize%
+ \LetLtxMacro\enditemize\LWR at endorigitemize%
+ \LetLtxMacro\enumerate\LWR at origenumerate%
+ \LetLtxMacro\endenumerate\LWR at endorigenumerate%
+ \LetLtxMacro\description\LWR at origdescription%
+ \LetLtxMacro\enddescription\LWR at endorigdescription%
+ \let\@mklab\LWR at orig@mklab%
+ \let\makelabel\LWR at origmakelabel%
+ \let\@donoparitem\LWR at orig@donoparitem%
+ \let\@nbitem\LWR at orig@nbitem%
}
% \end{macrocode}
% \end{macro}
@@ -26726,7 +28976,7 @@
% \subsubsection{Longtable variables}
% \DescribeBoolean{LWR at starredlongtable}
-% Per the \pkg{caption} pacakge, step the counter if |longtable*|.
+% Per the \pkg{caption} package, step the counter if |longtable*|.
%
% \begin{macrocode}
\newbool{LWR at starredlongtable}
@@ -27960,6 +30210,7 @@
\booltrue{LWR at startedrow}%
% \end{macrocode}
% Create the row tag, with a class if necessary.
+% \changes{v0.895}{2021/01/14}{Improved \HTML\ quotes.}
% \begin{macrocode}
\booltrue{LWR at intabularmetadata}%
\ifboolexpr{%
@@ -27967,7 +30218,7 @@
test{\ifnumcomp{\value{LWR at hdashedlines}}{>}{0}}%
}%
{%
- \LWR at htmltag{tr class="hline" }%
+ \LWR at htmltag{tr class=\textquotedbl{}hline\textquotedbl }%
\LWR at orignewline%
}%
{% not doing hline
@@ -27974,12 +30225,12 @@
\ifbool{LWR at doingtbrule}%
{%
\ifdefvoid{\LWR at ruleHTMLcolor}{%
- \LWR at htmltag{tr class="tbrule"}%
+ \LWR at htmltag{tr class=\textquotedbl{}tbrule\textquotedbl}%
}{%
\LWR at htmltag{%
- tr class="tbrule" % space
- style="border-top: 1px solid % space
- \LWR at origpound\LWR at ruleHTMLcolor "%
+ tr class=\textquotedbl{}tbrule\textquotedbl\ % space
+ style=\textquotedbl{}border-top: 1px solid % space
+ \LWR at origpound\LWR at ruleHTMLcolor \textquotedbl{}%
}%
}%
\LWR at orignewline%
@@ -28030,15 +30281,16 @@
\LWR at traceinfo{atbang: #2 !\LWR at atbangspec!}%
% \end{macrocode}
% Only generate if is not empty;
+% \changes{v0.895}{2021/01/14}{Improved \HTML\ quotes.}
% \begin{macrocode}
\ifdefempty{\LWR at atbangspec}%
{}%
{% not empty
\LWR at htmltag{%
- td class="td#1%
+ td class=\textquotedbl{}td#1%
\LWR at subaddcmidruletrim{}{}%
\LWR at printbartag{#2}%
- "%
+ \textquotedbl{}%
\LWR at tdstartstyles%
\LWR at addcmidrulewidth%
\LWR at addcdashline%
@@ -28130,13 +30382,14 @@
\LWR at getexparray{LWR at tablecolspec}{\arabic{LWR at tableLaTeXcolindex}}%
}%
% \end{macrocode}
-% print the start of a new table data cell:
+% Print the start of a new table data cell:
+% \changes{v0.895}{2021/01/14}{Improved \HTML\ quotes.}
% \begin{macrocode}
\LWR at traceinfo{LWR at tabledatasinglecolumntag: about to print td tag}%
\LWR at htmltag{%
- td class="td%
+ td class=\textquotedbl{}td%
% \end{macrocode}
-% append this column's spec:
+% Append this column's spec:
% \begin{macrocode}
\LWR at strresult%
% \end{macrocode}
@@ -28146,7 +30399,7 @@
\LWR at addcmidruletrim%
\LWR at addleftmostbartag%
\LWR at printbartag{\arabic{LWR at tableLaTeXcolindex}}%
- "%
+ \textquotedbl{}%
% \end{macrocode}
% Add styles for rules, alignment:
% \changes{v0.42}{2017/10/26}{If \progcode{FormatWP} add cell alignment.}
@@ -28385,15 +30638,6 @@
-% Used to compute margins, tabular trims, column offsets:
-% \begin{macrocode}
-\newlength{\LWR at templengthone}
-\newlength{\LWR at templengthtwo}
-\newlength{\LWR at templengththree}
-\newcounter{LWR at tempcountone}
-% \end{macrocode}
-
-
% \begin{macro}{\LWR at tdstartstyles}
% Begins possibly adding a table data cell style.
% \begin{macrocode}
@@ -28403,11 +30647,12 @@
% \begin{macro}{\LWR at tdaddstyle}
% Starts adding a table data cell style.
+% \changes{v0.895}{2021/01/14}{Improved \HTML\ quotes.}
% \begin{macrocode}
\newcommand*{\LWR at tdaddstyle}{%
\ifbool{LWR at tdhavecellstyle}%
{; }%
- { style="}%
+ { style=\textquotedbl}%
\booltrue{LWR at tdhavecellstyle}%
}
% \end{macrocode}
@@ -28416,11 +30661,12 @@
% \begin{macro}{\LWR at tdendstyles}
% Finishes possibly adding a table data cell style.
% Prints the closing quote.
+% \changes{v0.895}{2021/01/14}{Improved \HTML\ quotes.}
% \begin{macrocode}
\newcommand*{\LWR at tdendstyles}{%
\ifbool{LWR at tdhavecellstyle}%
{%
- "%
+ \textquotedbl%
\boolfalse{LWR at tdhavecellstyle}%
}{}%
}
@@ -28778,11 +31024,14 @@
% \begin{macro}{\LWR at subaddtabularcellcolor} \marg{\HTML\ color}
+% \changes{v0.895}{2021/01/14}{Improved \HTML\ quotes.}
% \begin{macrocode}
\newcommand*{\LWR at subaddtabularcellcolor}[1]{%
- \LWR at htmltag{div class="cellcolor" style="%
+ \LWR at htmltag{div class=\textquotedbl{}cellcolor\textquotedbl\ % space
+ style=\textquotedbl{}%
background:\LWR at origpound{}{}#1 %
- " }%
+ \textquotedbl\ %
+ }% space
\defaddtocounter{LWR at cellcolordepth}{1}%
}
% \end{macrocode}
@@ -29140,30 +31389,23 @@
\LWR at maybenewtablerow%
% \end{macrocode}
% Begin the opening table data tag:
+% \changes{v0.895}{2021/01/14}{Improved \HTML\ quotes.}
% \begin{macrocode}
\LWR at htmltag{%
- td colspan="#4" %
+ td colspan=\textquotedbl#4\textquotedbl\ %
% \end{macrocode}
%
% \begin{macrocode}
\IfValueT{#2}{ % rows?
- rowspan="#2" %
+ rowspan=\textquotedbl#2\textquotedbl\ %
+ }%
% \end{macrocode}
%
-% \changes{v0.47}{2018/01/26}{Fix: Line wrap at \HTML\ hyphen.}
+% \changes{v0.84}{2020/04/16}{Fix: Multicolumn style.}
+% \changes{v0.895}{2021/01/14}{Improved \HTML\ quotes.}
% \begin{macrocode}
- \IfValueT{#1}{% vpos?
- \ifstrequal{#1}{b}%
- {style="\LWR at print@mbox{vertical-align:bottom}" }{}%
- \ifstrequal{#1}{t}%
- {style="\LWR at print@mbox{vertical-align:top}" }{}%
- }% vpos?
- }% rows?
+ class=\textquotedbl{}td%
% \end{macrocode}
-%
-% \begin{macrocode}
- class="td%
-% \end{macrocode}
% Print the column type and vertical bars:
% \begin{macrocode}
\defcounter{LWR at mcolvertbarsl}{0}%
@@ -29206,17 +31448,38 @@
{ tvertbarrdoubledash}{}%
% \end{macrocode}
% Close the class tag's opening quote:
+% \changes{v0.895}{2021/01/14}{Improved \HTML\ quotes.}
% \begin{macrocode}
- "%
+ \textquotedbl{}%
% \end{macrocode}
% \changes{v0.42}{2017/10/26}{If \progcode{FormatWP} add cell alignment.}
% \begin{macrocode}
\LWR at tdstartstyles%
% \end{macrocode}
+%
+% Style for vertical position:
+% \changes{v0.47}{2018/01/26}{Fix: Line wrap at \HTML\ hyphen.}
+% \begin{macrocode}
+ \IfValueT{#1}{% vpos?
+ \ifstrequal{#1}{b}%
+ {%
+ \LWR at tdaddstyle%
+ \LWR at print@mbox{vertical-align:bottom}%
+ }{}%
+ \ifstrequal{#1}{t}%
+ {%
+ \LWR at tdaddstyle%
+ \LWR at print@mbox{vertical-align:top}%
+ }{}%
+ }% vpos?
+% \end{macrocode}
+%
+% Style for row colors:
% \changes{v0.49}{2018/02/18}{\pkg{xcolor}: Added tabular row colors.}
% \begin{macrocode}
\LWR at addtabularrowcolor%
% \end{macrocode}
+% Other styles:
% \begin{macrocode}
\LWR at addcmidrulewidth%
\LWR at addcdashline%
@@ -30019,7 +32282,7 @@
% \begin{macro}{\LWR at nullifyNoAutoSpacing}
% For \pkg{babel-french}, turn off auto spacing at the start of the tabular,
% then nullify the autospacing commands inside the tabular,
-% since they were not compatible with the tabular column parsing code,
+% since they were not compatible with the tabular parsing code for each cell,
% which uses \pkg{xstring}.
% \changes{v0.41}{2017/10/06}{\pkg{babel-french}: Fix: \cs{NoAutoSpacing} in a tabular.}
% \changes{v0.78}{2019/10/29}{\pkg{babel-french}: Fix: Hyperlinks.}
@@ -30073,16 +32336,7 @@
% a warning is issued here instructing the user to please isolate the \element{span}
% to print-only.
% \begin{macrocode}
- \ifnumcomp{\value{LWR at spandepth}}{>}{0}{%
- \PackageWarning{lwarp}{%
- A tabular is being used inside a span such as\MessageBreak
- a minipage. Some formatting may not be correct\MessageBreak
- in the tabular.\MessageBreak
- It is recommended to use \protect\warpprintonly\space or the\MessageBreak
- warpprint environment to isolate the span to\MessageBreak
- print-only,%
- }
- }{}%
+ \LWR at spanwarnformat{tabular}%
\addtocounter{LWR at tabulardepth}{1}%
% \end{macrocode}
% Not yet started a table row:
@@ -30345,7 +32599,7 @@
% \begin{macrocode}
\ifbool{LWR at usedmultirow}{%
\ifbool{LWR at foundmrowcell}%
- {}%
+ {\relax}%
{%
\PackageError{lwarp}%
{%
@@ -30431,6 +32685,8 @@
% \begin{description}
% \item [\cs{label}:] Adds \HTML\ tags (\cref{sec:labels}),
% and another \filenm{.aux} entry (\cref{sec:lwarplabelsetup}).
+% If \pkg{memoir} is used, its \cs{@mem at old@label} points to \pkg{lwarp}'s version,
+% and \pkg{cleveref} patches.
% \item [\cs{newlabel}:] Unchanged. When the |.aux| file is read, sets \cs{r@<label>@lwarp}.
% \item [\cs{r@<label>@lwarp}:] Set to |{{section_name}{file_name}{depth}{number}}|:
% \begin{description}
@@ -30497,8 +32753,9 @@
% description, or caption, for \cs{nameref}.
%
% \changes{v0.44}{2017/11/19}{Adjustment for \pkg{koma-script}.}
+% \changes{v0.84}{2020/04/24}{Default name for previous/next links.}
% \begin{macrocode}
-\providecommand*{\@currentlabelname}{}
+\def\@currentlabelname{\linkhomename}%
% \end{macrocode}
% \end{macro}
%
@@ -30614,12 +32871,12 @@
% \end{macro}
%
%
-% \begin{macro}{\LWR at lwarplabel} \marg{label}
+% \begin{macro}{\LWR at write@lwarplabel} \marg{label}
% Sanitize the name and then creates the label:
% \changes{v0.66}{2019/01/27}{No longer use \pkg{zref}.}
% \begin{macrocode}
-\newcommand*{\LWR at lwarplabel}[1]{%
- \LWR at traceinfo{LWR at lwarplabel !#1!}%
+\newcommand*{\LWR at write@lwarplabel}[1]{%
+ \LWR at traceinfo{LWR at write@lwarplabel !#1!}%
\LWR at setlatestname{\@currentlabelname}%
\@bsphack%
\protected at write\@auxout{}%
@@ -30647,14 +32904,63 @@
% \label{sec:labels}
-% \begin{macro}{\LWR at sublabel} \marg{label} \quad
+% \begin{macro}{\LWR at label@subcreatetag} Creates the tag from \cs{LWR at sanitized}.
+% \changes{v0.895}{2021/01/14}{Improved \HTML\ quotes.}
+% \begin{macrocode}
+\newcommand*{\LWR at label@subcreatetag}{%
+ \LWR at htmltag{a \LWR at print@mbox{id=\textquotedbl\LWR at sanitized\textquotedbl}}%
+ \LWR at htmltag{/a}%
+}
+% \end{macrocode}
+% \end{macro}
+
+
+% \begin{macro}{\LWR at label@inmathcomment}
+% \changes{v0.86}{2020/05/11}{Fix: Labels in \env{eqnarray}.}
+% \begin{macrocode}
+\newcommand*{\LWR at label@inmathcomment}{%
+ \ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
+ {%
+% \end{macrocode}
+% The combined \LaTeX\ \& \HTML\ label is printed in a \cs{mbox} field:%
+% \begin{macrocode}
+ \mbox{%
+% \end{macrocode}
+% Shift the label over to the right side of the environment to avoid
+% over-printing the math:
+% \begin{macrocode}
+ \ifdef{\totwidth@}{\ifbool{LWR at amsmultline}{}{\hspace*{\totwidth@}}}{}%
+% \end{macrocode}
+% Temporarily end the \HTML\ comment,
+% insert the \LaTeX{} \& \HTML\ label, then
+% resume the \HTML\ comment.
+% \cs{@firstofone} is required to remove extra braces
+% introduced by the \pkg{amsmath} package.)
+% \begin{macrocode}
+ \LWR at htmlclosecomment%
+ \LWR at label@subcreatetag%
+ \LWR at htmlopencomment%
+ }% mbox
+ }% mathjax
+ {%
+ \LWR at label@subcreatetag%
+ }%
+}
+% \end{macrocode}
+% \end{macro}
+
+
+
+% \begin{macro}{\LWR at label@createtag} \marg{label} \quad
% Creates an \HTML\ id tag.
%
+% Used by \cs{LWR at new@label} and \cs{hyperdef}.
+%
% \cs{detokenize} is used to allow underscores in the labels.
% \changes{v0.45}{2017/12/29}{Fix: Labels with underscores.}
% \begin{macrocode}
-\newcommand*{\LWR at sublabel}[1]{%
- \LWR at traceinfo{LWR at sublabel !#1!}%
+\newcommand*{\LWR at label@createtag}[1]{%
+ \LWR at traceinfo{LWR at label@createtag !#1!}%
% \end{macrocode}
% Create an \HTML\ id tag unless are inside a lateximage,
% since it would appear in the image:
@@ -30663,29 +32969,33 @@
{}%
{% not lateximage
% \end{macrocode}
-% If not doing a lateximage, create an \HTML\ ID tag:
+% If not doing a lateximage, create an \HTML\ ID tag.
+%
% \changes{v0.47}{2018/01/26}{Fix: Line wrap at \HTML\ hyphen.}
-% (To be factored\dots)
+% \changes{v0.86}{2020/05/11}{Fix: Labels in \env{eqnarray}.}
% \begin{macrocode}
\LWR at sanitize{#1}%
- \ifbool{LWR at doingstartpars}%
- {% pars allowed
- \ifbool{LWR at doingapar}%
- {% par started
- \LWR at htmltag{a \LWR at print@mbox{id="\LWR at sanitized"}}%
- \LWR at htmltag{/a}%
- }% par started
- {% par not started
- \LWR at stoppars%
- \LWR at htmltag{a \LWR at print@mbox{id="\LWR at sanitized"}}%
- \LWR at htmltag{/a}%
- \LWR at startpars%
- }% par not started
- }% pars allowed
- {% pars not allowed
- \LWR at htmltag{a \LWR at print@mbox{id="\LWR at sanitized"}}%
- \LWR at htmltag{/a}%
- }% pars not allowed
+ \ifbool{LWR at insidemathcomment}%
+ {% inside HTML math comment
+ \LWR at label@inmathcomment%
+ }% inside HTML math comment
+ {% not inside HTML math comment
+ \ifbool{LWR at doingstartpars}%
+ {% pars allowed
+ \ifbool{LWR at doingapar}%
+ {% par started
+ \LWR at label@subcreatetag%
+ }% par started
+ {% par not started
+ \LWR at stoppars%
+ \LWR at label@subcreatetag%
+ \LWR at startpars%
+ }% par not started
+ }% pars allowed
+ {% pars not allowed
+ \LWR at label@subcreatetag%
+ }% pars not allowed
+ }% not inside HTML math comment
}% not lateximage
}
% \end{macrocode}
@@ -30692,30 +33002,30 @@
% \end{macro}
%
%
-% \begin{macro}{\LWR at new@label} \parg{bookmark} \marg{label} \oarg{type}
+% \begin{macro}{\LWR at new@label} \marg{label}
%
% \cs{label} during \HTML\ output when not in \SVG\ math mode,
% removing extra spaces around the label, as done by a regular \LaTeX\ \cs{label}.
%
% The is also used during a \env{lateximage}, including \SVG\ math, since
-% the special label handling is required, but \cs{LWR at sublabel} does not
+% the special label handling is required, but \cs{LWR at label@createtag} does not
% generate \HTML\ tags inside a \env{lateximage}.
%
-% \pkg{clevereref} later encases this to add its own cross-referencing.
+% If \pkg{memoir} is used, it's \cs{@mem at old@label} is pointed here.
%
-% The optional \meta{bookmark} is per the \pkg{memoir} class, and is ignored.
+% \pkg{clevereref} later encases this to add its own cross-referencing,
+% and also patches \pkg{memoir}.
%
-% The optional \meta{type} is per the \pkg{ntheorem} package, and is ignored.
-%
+% \changes{v0.84}{2020/04/05}{Removed optional args.}
% \begin{macrocode}
-\NewDocumentCommand{\LWR at new@label}{d() m o}{%
+\NewDocumentCommand{\LWR at new@label}{m}{%
\LWR at traceinfo{LWR at new@label: starting}%
- \LWR at traceinfo{LWR at new@label: !#2!}%
+ \LWR at traceinfo{LWR at new@label: !#1!}%
% \@bsphack%
% \end{macrocode}
% Create a traditional \LaTeX\ label, as modified by \pkg{cleveref}:
% \begin{macrocode}
- \LWR at orig@label{#2}%
+ \LWR at orig@label{#1}%
% \end{macrocode}
% Create a special label which holds the section number,
% |LWR at htmlfilenumber|, |LWR at lateximagedepth|, and |LWR at lateximagenumber|:
@@ -30730,8 +33040,8 @@
\LWR at traceinfo{%
LWR at new@label: LWR at htmlfilenumber is \arabic{LWR at htmlfilenumber}%
}%
- \LWR at lwarplabel{#2}%
- \LWR at sublabel{#2}%
+ \LWR at write@lwarplabel{#1}%
+ \LWR at label@createtag{#1}%
% \@esphack%
\LWR at traceinfo{LWR at new@label: done}%
}
@@ -30746,10 +33056,11 @@
% \begin{macro}{\LWR at addlinktitle}
% \changes{v0.74}{2019/08/25}{Added.}
+% \changes{v0.895}{2021/01/14}{Improved \HTML\ quotes.}
% \begin{macrocode}
\newcommand*{\LWR at addlinktitle}{%
\ifdefvoid{\LWR at ThisAltText}{}{ % space
- title="\LWR at ThisAltText" % space
+ title=\textquotedbl\LWR at ThisAltText\textquotedbl\ % space
\gdef\LWR at ThisAltText{}%
}%
}
@@ -30773,8 +33084,9 @@
\LWR at traceinfo{LWR at startref A: !#1!}%
% \end{macrocode}
% Create the filename part of the link:
+% \changes{v0.895}{2021/01/14}{Improved \HTML\ quotes.}
% \begin{macrocode}
- \LWR at htmltag{a href="%
+ \LWR at htmltag{a href=\textquotedbl%
\LWR at traceinfo{LWR at startref B}%
\LWR at print@mbox{\LWR at htmlrefsectionfilename{#1}}%
\LWR at traceinfo{LWR at startref C}%
@@ -30802,7 +33114,10 @@
{%
\ifthenelse{\cnttest{\LWR at lateximagedepthref{#1}}{>}{0}}%
{%
- \LWR at ImagesName\LWR at lateximagenumberref{#1}%
+% \end{macrocode}
+% \changes{v0.86}{2020/05/11}{Fixed: \cs{label} inside \env{lateximage}.}
+% \begin{macrocode}
+ lateximage-\BaseJobname-\LWR at lateximagenumberref{#1}%
}%
{%
\LWR at traceinfo{LWR at startref D3}%
@@ -30816,8 +33131,9 @@
\LWR at traceinfo{LWR at startref E}%
% \end{macrocode}
% Closing quote:
+% \changes{v0.895}{2021/01/14}{Improved \HTML\ quotes.}
% \begin{macrocode}
- "%
+ \textquotedbl%
% \end{macrocode}
% Maybe add a title:
% \begin{macrocode}
@@ -30852,6 +33168,16 @@
% Create an internal document reference link,
% or without a link if starred per \pkg{hyperref}.
%
+% \pkg{hyperref} defines a starred version.
+% Since \pkg{hyperref} is only emulated, the starred version is
+% defined here for print mode, in case \cs{ref} is used inside
+% \SVG\ math:
+% \changes{v0.88}{2020/07/05}{Fixed: Starred.}
+% \begin{macrocode}
+\LWR at absorbstar{ref}%
+% \end{macrocode}
+%
+% The \HTML\ version:
% \changes{v0.58}{2018/06/07}{Improved print/\HTML\ output selection.}
% \begin{macrocode}
\NewDocumentCommand{\LWR at HTML@ref}{s m}{%
@@ -30863,22 +33189,18 @@
\LWR at formatted{ref}
% \end{macrocode}
+%
+% For \brand{MathJax}:
+% \changes{v0.88}{2020/07/05}{Added \brand{MathJax}.}
+% \begin{macrocode}
+\CustomizeMathJax{\let\LWRref\ref}
+\CustomizeMathJax{\renewcommand{\ref}{\ifstar\LWRref\LWRref}}
+% \end{macrocode}
% \end{macro}
% \end{macro}
%
-% \begin{macro}{\LWR at ref@ignorestar} * \marg{label} \quad
-% For use inside \cs{hyperref}. Ignores the star, then uses the original \cs{ref}.
%
-% \changes{v0.57}{2018/06/05}{\pkg{subcaption}: Fix: \cs{subref}.}
-% \begin{macrocode}
-\NewDocumentCommand{\LWR at ref@ignorestar}{s m}{%
- \LWR at print@ref{#2}%
-}
-% \end{macrocode}
-% \end{macro}
-
-
-
+%
% \label{sec:pagerefpagefor}
% \begin{macro}{\pagerefPageFor} Text for page references.
%
@@ -30957,14 +33279,11 @@
% Emulates \pkg{hyperref}:
% \begin{macro}{\@currentHref} Added to support \pkg{backref}.
% \changes{v0.45}{2018/01/14}{Added.}
+% \changes{v0.84}{2020/04/07}{\pkg{backref}: Fixed from \pkg{lwarp} v0.72 changes.}
% \begin{macrocode}
\AtBeginDocument{
-
-\def\@currentHref{%
- autopage-\theLWR at currentautosec%
+ \def\@currentHref{\BaseJobname-autopage-\theLWR at currentautosec}
}
-
-}
% \end{macrocode}
% \end{macro}
@@ -30983,7 +33302,7 @@
% For \pkg{babel-french}:
% \changes{v0.78}{2019/10/29}{\pkg{babel-french}: Fix: Hyperlinks.}
% \begin{macrocode}
- \LWR at FBcancel%
+ \LWR at hook@processingtags%
}
% \end{macrocode}
% \end{macro}
@@ -31004,7 +33323,7 @@
% For \pkg{babel-french}:
% \changes{v0.78}{2019/10/29}{\pkg{babel-french}: Fix: Hyperlinks.}
% \begin{macrocode}
- \LWR at FBcancel%
+ \LWR at hook@processingtags%
}
% \end{macrocode}
% \end{macro}
@@ -31019,14 +33338,15 @@
% \changes{v0.18}{2016/04/14}{Improved \HTML\ output linebreaks.}
% \changes{v0.45}{2017/12/29}{Improved URLs with underscores.}
% \changes{v0.57}{2018/06/05}{Fix: Text catcodes.}
+% \changes{v0.895}{2021/01/14}{Improved \HTML\ quotes.}
% \begin{macrocode}
\NewDocumentCommand{\LWR at subhyperref}{m}{%
\LWR at traceinfo{LWR at subhyperref !#1!}%
\LWR at sanitize{#1}%
\LWR at htmltag{%
- a href="\LWR at sanitized" % space
+ a href=\textquotedbl\LWR at sanitized\textquotedbl\ % space
\LWR at addlinktitle % space
- target="\_{}blank" % space
+ target=\textquotedbl\_{}blank\textquotedbl\ % space
}%
}
% \end{macrocode}
@@ -31053,12 +33373,13 @@
% \changes{v0.45}{2017/12/29}{Improved URLs with underscores.}
% \changes{v0.66}{2019/02/02}{Improved \HTML\ formatting.}
% \changes{v0.78}{2019/11/05}{Remove extra space.}
+% \changes{v0.895}{2021/01/14}{Improved \HTML\ quotes.}
% \begin{macrocode}
\NewDocumentCommand{\LWR at subhyperrefclass}{m +m m}{%
\LWR at htmltag{%
a % space
- href="\begingroup\@sanitize#1\endgroup" % space
- class="#3" % space
+ href=\textquotedbl\begingroup\@sanitize#1\endgroup\textquotedbl\ % space
+ class=\textquotedbl#3\textquotedbl\ % space
\LWR at addlinktitle % space
}\LWR at orignewline%
#2%
@@ -31070,7 +33391,7 @@
-% \begin{macro}{\href} \oarg{options} \marg{URL}
+% \begin{macro}{\LWR at href} \oarg{options} \marg{URL}
%
% Create a link with accompanying text:
%
@@ -31078,6 +33399,7 @@
% \changes{v0.49}{2018/02/18}{Fix: Adapt to classes.}
% \changes{v0.52}{2018/03/26}{Fix: \progcode{\#}, \progcode{\%}, \progcode{\&}, \progcode{\~}, \progcode{\_} in \URL.}
% \changes{v0.57}{2018/06/05}{Fix: Text catcodes.}
+% \changes{v0.86}{2020/05/07}{\pkg{hyperref}: Adjusted emulation.}
% \begin{macrocode}
\DeclareDocumentCommand{\LWR at hrefb}{O{} m}{%
\LWR at ensuredoingapar%
@@ -31086,7 +33408,7 @@
\LWR at subhyperreftext%
}
-\newrobustcmd*{\href}{%
+\newrobustcmd*{\LWR at href}{%
\begingroup%
\LWR at linkcatcodes%
\LWR at hrefb%
@@ -31094,12 +33416,13 @@
% \end{macrocode}
% \end{macro}
-% \begin{macro}{\nolinkurl} \marg{URL}
+% \begin{macro}{\LWR at nolinkurl} \marg{URL}
%
% Print the name of the link without creating the link:
% \changes{v0.43}{2017/10/31}{Made robust.}
% \changes{v0.45}{2017/12/29}{Fix: Underscore in \URL.}
% \changes{v0.52}{2018/03/26}{Fix: \progcode{\#}, \progcode{\%}, \progcode{\&}, \progcode{\~}, \progcode{\_} in \URL.}
+% \changes{v0.86}{2020/05/07}{\pkg{hyperref}: Adjusted emulation.}
% \begin{macrocode}
\newcommand*{\LWR at nolinkurlb}[1]{%
\LWR at ensuredoingapar%
@@ -31109,7 +33432,7 @@
\endgroup%
}
-\newrobustcmd*{\nolinkurl}{%
+\newrobustcmd*{\LWR at nolinkurl}{%
\begingroup%
\LWR at linkcatcodes%
\LWR at nolinkurlb%
@@ -31118,7 +33441,7 @@
% \end{macro}
-% \begin{macro}{\url} \marg{URL}
+% \begin{macro}{\LWR at url} \marg{URL}
%
% Create a link whose text name is the address of the link.
%
@@ -31129,16 +33452,17 @@
% \changes{v0.45}{2017/12/29}{Improved URLs with underscores.}
% \changes{v0.49}{2018/02/18}{Fix: Adapt to classes.}
% \changes{v0.52}{2018/03/26}{Fix: \progcode{\#}, \progcode{\%}, \progcode{\&}, \progcode{\~}, \progcode{\_} in \URL.}
+% \changes{v0.86}{2020/05/07}{\pkg{hyperref}: Adjusted emulation.}
% \begin{macrocode}
\DeclareDocumentCommand{\LWR at urlb}{m}{%
\LWR at ensuredoingapar%
\def\LWR at templink{#1}%
\@onelevel at sanitize\LWR at templink%
- \href{\LWR at templink}{\LWR at templink}%
+ \LWR at href{\LWR at templink}{\LWR at templink}%
\endgroup%
}
-\newrobustcmd*{\url}{%
+\newrobustcmd*{\LWR at url}{%
\begingroup%
\LWR at linkcatcodes%
\LWR at urlb%
@@ -31155,23 +33479,24 @@
% \changes{v0.18}{2016/05/18}{Suppress extra space.}
% \changes{v0.66}{2019/02/02}{Improved \HTML\ formatting.}
% \changes{v0.74}{2019/08/20}{Add \cs{ThisAltText}.}
+% \changes{v0.895}{2021/01/14}{Improved \HTML\ quotes.}
% \begin{macrocode}
\newcommand*{\LWR at subinlineimage}[5]{%
\ifblank{#1}%
{%
\LWR at htmltag{img \LWR at indentHTML
- src="#3.#4" \LWR at indentHTML
- alt="#3" \LWR at indentHTML
- style="#5" \LWR at indentHTML
- class="#2" \LWR at orignewline
+ src=\textquotedbl#3.#4\textquotedbl \LWR at indentHTML
+ alt=\textquotedbl#3\textquotedbl \LWR at indentHTML
+ style=\textquotedbl#5\textquotedbl \LWR at indentHTML
+ class=\textquotedbl#2\textquotedbl \LWR at orignewline
}%
}%
{%
\LWR at htmltag{img \LWR at indentHTML
- src="#3.#4" \LWR at indentHTML
- alt="#1" \LWR at indentHTML
- style="#5" \LWR at indentHTML
- class="#2" \LWR at orignewline
+ src=\textquotedbl#3.#4\textquotedbl \LWR at indentHTML
+ alt=\textquotedbl#1\textquotedbl \LWR at indentHTML
+ style=\textquotedbl#5\textquotedbl \LWR at indentHTML
+ class=\textquotedbl#2\textquotedbl \LWR at orignewline
}%
}%
}
@@ -31225,12 +33550,11 @@
% \hrule
% \end{table}
%
-% \cs{@makecaption} is redefined to print the float number and caption text,
-% separated by \cs{CaptionSeparator}, which works with the \pkg{babel} package to
-% adjust the caption separator according to the language. French, for example,
-% uses an en-dash instead of a colon: ``Figure 123 -- Caption text''.
+% ^^A \cs{@makecaption} is redefined to print the float number and caption text,
+% ^^A separated by \cs{CaptionSeparator}, which works with the \pkg{babel} package to
+% ^^A adjust the caption separator according to the language. French, for example,
+% ^^A uses an en-dash instead of a colon: ``Figure 123 -- Caption text''.
-
% \subsection{Float environment}
% \codehtml
@@ -31244,6 +33568,13 @@
%
% \begin{macrocode}
\NewDocumentCommand{\LWR at floatbegin}{m o}{%
+% \end{macrocode}
+% Warn if starting a float inside a \element{span}:
+% \changes{v0.84}{2020/04/22}{Warn inside a \element{span}.}
+% \begin{macrocode}
+ \LWR at spanwarninvalid{float}%
+% \end{macrocode}
+% \begin{macrocode}
\ifbool{FormatWP}{\newline}{}%
\LWR at stoppars%
% \end{macrocode}
@@ -31268,10 +33599,13 @@
% \changes{v0.42}{2017/10/26}{If \progcode{FormatWP} add a text frame.}
% \changes{v0.47}{2018/01/26}{Fix: Line wrap at \HTML\ hyphen.}
% \changes{v0.56}{2018/05/14}{Adds a \element{class} per \pkg{float} package style.}
+% \changes{v0.895}{2021/01/14}{Improved \HTML\ quotes.}
% \begin{macrocode}
\LWR at htmltag{%
- figure id="\LWR at print@mbox{autoid-\arabic{LWR at thisautoid}}" % space
- class="#1 \@nameuse{LWR at floatstyle@#1}"%
+ figure id=\textquotedbl%
+ \LWR at print@mbox{autoid-\arabic{LWR at thisautoid}}%
+ \textquotedbl\ % space
+ class=\textquotedbl#1 \@nameuse{LWR at floatstyle@#1}\textquotedbl%
}%
\ifbool{FormatWP}{%
\LWR at orignewline%
@@ -31281,7 +33615,6 @@
% Update the caption type:
% \begin{macrocode}
\renewcommand*{\@captype}{#1}%
- \caption at settype{#1}%
% \end{macrocode}
% Mark the float for a word processor conversion:
% \begin{macrocode}
@@ -31292,11 +33625,9 @@
}{}%
% \end{macrocode}
-% Look for \cs{centering}, etc:
-% \changes{v0.54}{2018/04/19}{Honor \cs{centering}, etc. in floats.}
-% \changes{v0.55}{2018/04/24}{Fix: Float optional args.}
+% After each \cs{LWR at floatbegin}, look for \cs{centering}, etc next,
+% using \cs{LWR at floatalignment}.
% \begin{macrocode}
- \LWR at futurenonspacelet\LWR at mynexttoken\LWR at floatalignment%
}
% \end{macrocode}
% \end{macro}
@@ -31319,11 +33650,25 @@
%
%
%
-% \begin{macro}{\@float}
-% \begin{macro}{\@dlbfloat} Support packages which create floats directly.
+% \begin{macro}{\@xfloat}
+% \begin{macro}{\@xdlbfloat} Support packages which create floats directly.
+%
+% Look for \cs{centering}, etc using \cs{LWR at floatalignment}.
+%
+% \changes{v0.54}{2018/04/19}{Honor \cs{centering}, etc. in floats.}
+% \changes{v0.55}{2018/04/24}{Fix: Float optional args.}
+% \changes{v0.84}{2020/04/19}{\pkg{caption} now optional.}
% \begin{macrocode}
-\let\@float\LWR at floatbegin
-\let\@dblfloat\LWR at floatbegin
+\AtBeginDocument{
+ \def\@xfloat #1[#2]{%
+ \LWR at floatbegin{#1}[#2]
+ \LWR at futurenonspacelet\LWR at mynexttoken\LWR at floatalignment%
+ }
+ \def\@xdblfloat #1[#2]{%
+ \LWR at floatbegin{#1}[#2]
+ \LWR at futurenonspacelet\LWR at mynexttoken\LWR at floatalignment%
+ }
+}
% \end{macrocode}
% \end{macro}
% \end{macro}
@@ -31365,9 +33710,12 @@
%
% \begin{macro}{\end at float}
% \begin{macro}{\end at dlbfloat} Support packages which create floats directly.
+% \changes{v0.84}{2020/04/19}{\pkg{caption} now optional.}
% \begin{macrocode}
-\let\end at float\LWR at floatend
-\let\end at dblfloat\LWR at floatend
+\AtBeginDocument{
+ \let\end at float\LWR at floatend
+ \let\end at dblfloat\LWR at floatend
+}
% \end{macrocode}
% \end{macro}
% \end{macro}
@@ -31402,11 +33750,27 @@
% \begin{macro}{\LWR at forcenewautoidanchor}
% Adds a new \element{autoid} anchor.
% \changes{v0.79}{2019/12/09}{Factored.}
+% \changes{v0.84}{2020/04/16}{\element{par} handling.}
+% \changes{v0.88}{2020/07/04}{Inline handling.}
+% \changes{v0.895}{2021/01/14}{Improved \HTML\ quotes.}
% \begin{macrocode}
\newcommand*{\LWR at forcenewautoidanchor}{%
\addtocounter{LWR at thisautoid}{1}%
- \LWR at htmltag{a id="\LWR at print@mbox{autoid-\arabic{LWR at thisautoid}}"}%
- \LWR at htmltag{/a}%
+ \ifbool{LWR at doingapar}%
+ {%
+ \LWR at htmltag{a id=\textquotedbl%
+ \LWR at print@mbox{autoid-\arabic{LWR at thisautoid}}%
+ \textquotedbl\ }% space
+ \LWR at htmltag{/a }%
+ }%
+ {%
+ \LWR at stoppars%
+ \LWR at htmltag{a id=\textquotedbl%
+ \LWR at print@mbox{autoid-\arabic{LWR at thisautoid}}%
+ \textquotedbl\ }% space
+ \LWR at htmltag{/a }%
+ \LWR at startpars%
+ }%
}
% \end{macrocode}
% \end{macro}
@@ -31479,7 +33843,9 @@
% \subsection{Caption inside a float environment}
-% \begin{macro}{\CaptionSeparator} How to separate the float number and the caption text.
+% \begin{macro}{\CaptionSeparator} How to separate the float number and the caption text,
+% if not defined by the user.
+% In most cases, \pkg{caption}'s settings are used instead.
% \changes{v0.13}{2016/03/23}{Fix for newer babel package.}
% \begin{macrocode}
\AtBeginDocument{\providecommand*{\CaptionSeparator}{:~}}
@@ -31486,27 +33852,57 @@
% \end{macrocode}
% \end{macro}
+
+% \begin{macro}{\@caption} \marg{posn} \oarg{name} \marg{long name}
% \begin{macro}{\@makecaption} \marg{name and num} \marg{text}
%
% Prints the float type and number, the caption separator, and the caption text.
+%
+% \cs{@caption} is provided here in case \pkg{caption} is not loaded, and
+% is based on the \pkg{nameref} package.
+%
+% \changes{v0.84}{2020/04/20}{\pkg{caption} now optional.}
% \begin{macrocode}
-\AtBeginDocument{\renewcommand{\@makecaption}[2]{%
- \LWR at traceinfo{@makecaption}%
- \LWR at isolate{#1}\CaptionSeparator\LWR at isolate{#2}%
- \LWR at traceinfo{@makecaption: done}%
-}%
+\AtBeginDocument{
+ \@ifpackageloaded{caption}{}{
+ \let\LWR at orig@caption\@caption%
+ \long\def\@caption#1[#2]{%
+% \end{macrocode}
+% Warn if using a caption inside a \element{span}:
+% \changes{v0.84}{2020/04/22}{Warn inside a \element{span}.}
+% \begin{macrocode}
+ \LWR at spanwarnformat{caption}%
+% \end{macrocode}
+% \begin{macrocode}
+ \LWR at setlatestname{#2}%
+ \LWR at orig@caption{#1}[{#2}]% also takes third argument
+ }%
+
+ \renewcommand{\@makecaption}[2]{%
+ \LWR at traceinfo{@makecaption}%
+ \caption at begin{\@captype}%
+ \LWR at isolate{#1}%
+ \edef\LWR at tempone{#1}%
+ \ifdefvoid{\LWR at tempone}{}{\CaptionSeparator}%
+ \LWR at isolate{#2}%
+ \caption at end%
+ \LWR at traceinfo{@makecaption: done}%
+ }%
+ }
}
% \end{macrocode}
% \end{macro}
+% \end{macro}
% \subsection{Caption and \LOF\ linking and tracking}
% When a new \HTML\ file is marked in the \LaTeX\ \PDF\ file,
+% or at the start of a new section,
% the \LaTeX\ page number at that point is stored in |LWR at latestautopage|,
% (and the associated filename is remembered by the special \LaTeX\ labels).
% This page number is used to generate an |autopage| \HTML\ \element{id}
-% in the \HTML\ output at the start of the new \HTML\ file.
+% in the \HTML\ output at the start of the new \HTML\ file or section.
% Meanwhile, there is a float counter used to generate an \HTML\ |autoid|
% \element{id} at the start of the float itself in the \HTML\ file.
% The |autopage| and |autoid| values to use for each float are written to the
@@ -31541,8 +33937,10 @@
% \end{macrocode}
% \end{macro}
+
% \DescribeCounter{LWR at latestautopage}
-% Updated each time a new \HTML\ file is begun.
+% The \HTML\ output's \PDF\ page number at the start of a new \HTML\ file or section.
+%
% \cs{LWRsetnextfloat} is written with this and the |autoid|
% by the modified \cs{addcontentsline} just before each float's entry.
% \begin{macrocode}
@@ -31579,7 +33977,7 @@
%
% Low-level code to create \HTML\ tags for captions.
%
-% The print versions are from the \pkg{caption} package.
+% The print versions are from the \pkg{caption} package, if loaded.
%
% \changes{v0.47}{2018/01/28}{Fix: Argument passed to \cs{LWR at origcaption@begin}.}
% \changes{v0.58}{2018/06/07}{Improved print/\HTML\ output selection.}
@@ -31632,10 +34030,17 @@
% These are assigned \cs{AtBeginDocument} so that other packages
% which modify captions will have already been loaded before saving the
% print-mode version.
+%
+% Print versions are provided here in case \pkg{caption} is not loaded.
+%
+% \changes{v0.84}{2020/04/20}{\pkg{caption} now optional.}
% \begin{macrocode}
\AtBeginDocument{
-\LWR at formatted{caption at begin}
-\LWR at formatted{caption at end}
+ \providecommand{\caption at begin}[1]{}
+ \LWR at formatted{caption at begin}
+
+ \providecommand{\caption at end}{}
+ \LWR at formatted{caption at end}
}
% \end{macrocode}
% \end{macro}
@@ -31646,28 +34051,37 @@
% Tracks the float number for this caption used outside a float.
% Patched to create an \HTML\ anchor.
% \changes{v0.47}{2018/01/26}{Fix: Line wrap at \HTML\ hyphen.}
+% \changes{v0.84}{2020/04/20}{\pkg{caption} now optional.}
% \begin{macrocode}
-\let\LWR at origcaptionlistentry\captionlistentry
+\AtBeginDocument{%
+\@ifpackageloaded{caption}{
+ \let\LWR at origcaptionlistentry\captionlistentry
-\renewcommand*{\captionlistentry}{%
- \LWR at ensuredoingapar%
- \LWR at origcaptionlistentry%
-}
+ \renewcommand*{\captionlistentry}{%
+ \LWR at ensuredoingapar%
+ \LWR at origcaptionlistentry%
+ }
% \end{macrocode}
%
% \changes{v0.79}{2019/12/09}{Fix: Duplicate \attribute{auto-id}.}
% \begin{macrocode}
-\def\LWR at LTcaptionlistentry{%
- \LWR at ensuredoingapar%
- \LWR at forcenewautoidanchor%
- \bgroup
- \@ifstar{\egroup\LWR at LT@captionlistentry}% gobble *
- {\egroup\LWR at LT@captionlistentry}%
-}%
+ \def\LWR at LTcaptionlistentry{%
+ \LWR at ensuredoingapar%
+ \LWR at forcenewautoidanchor%
+ \bgroup%
+ \@ifstar{\egroup\LWR at LT@captionlistentry}% gobble *
+ {\egroup\LWR at LT@captionlistentry}%
+ }%
-\def\LWR at LT@captionlistentry#1{%
- \caption at listentry\@firstoftwo[\LTcaptype]{#1}%
-}%
+ \def\LWR at LT@captionlistentry#1{%
+ \caption at listentry\@firstoftwo[\LTcaptype]{#1}%
+ }%
+}% caption loaded
+{% caption not loaded
+ \newcommand{\captionlistentry}[2][]{}%
+ \newcommand{\LWR at LT@captionlistentry}[2][]{}%
+}
+}% AtBeginDocument
% \end{macrocode}
% \end{macro}
@@ -31715,16 +34129,17 @@
%
% \begin{macro}{\captionof}
% Patched to handle paragraph tags.
+% \changes{v0.84}{2020/04/20}{\pkg{caption} now optional.}
% \begin{macrocode}
+\RequirePackage{capt-of}
+
\AtBeginDocument{
+ \let\LWR at origcaptionof\captionof
-\let\LWR at origcaptionof\captionof
-
-\renewcommand*{\captionof}{%
- \LWR at stoppars%
- \LWR at origcaptionof%
-}
-
+ \renewcommand*{\captionof}{%
+ \LWR at stoppars%
+ \LWR at origcaptionof%
+ }
}% AtBeginDocument
% \end{macrocode}
% \end{macro}
@@ -31980,10 +34395,11 @@
%
% It may be renamed by redefining \cs{sidetocname}, and may contain paragraphs.
%
-% \CSS\ may be used to format the side\TOC:
+% Per \cref{tab:sidetoccss}, \CSS\ may be used to format the side\TOC.
%
-% \begin{docsidebar}[CSS related to side\TOC:]
-% \vspace*{-\baselineskip}
+% \begin{table}[h]
+% \caption{CSS related to the side\TOC}
+% \label{tab:sidetoccss}
% \begin{description}[parsep=0ex]
% \vspace*{-\baselineskip}
% \item [|div.sidetoccontainer|:] The entire side\TOC.
@@ -31990,8 +34406,7 @@
% \item [|div.sidetoctitle|:] The title.
% \item [|div.sidetoccontents|:] The table of contents.
% \end{description}
-% \vspace*{-\baselineskip}
-% \end{docsidebar}
+% \end{table}
% \begin{macrocode}
\end{warpHTML}
@@ -32010,7 +34425,7 @@
\newcounter{SideTOCDepth}
\setcounter{SideTOCDepth}{1}
-\AtBeginDocument{%
+\AtEndDocument{%
\ifnumcomp{\value{SideTOCDepth}}{<}{\value{FileDepth}}{
\PackageWarningNoLine{lwarp}
{%
@@ -32123,7 +34538,8 @@
% \end{macrocode}
% Respond to |tocdepth|:
% \begin{macrocode}
- \ifthenelse{\cnttest{#1}{<=}{\value{tocdepth}}}%
+ \ifnumcomp{#1}{>}{\value{tocdepth}}%
+ {}%
{%
\LWR at startpars%
% \end{macrocode}
@@ -32148,7 +34564,6 @@
% \begin{macrocode}
\LWR at stoppars%
}%
- {}%
\LWR at traceinfo{hypertoc done}%
}
% \end{macrocode}
@@ -32186,7 +34601,6 @@
%
% \begin{macrocode}
\newcommand{\hypertocfloat}[5]{%
- \LWR at startpars%
% \end{macrocode}
% If some float-creation package has not yet defined
% the float type's |lofdepth| counter, etc, define it here:
@@ -32343,7 +34757,18 @@
% \end{macrocode}
+% \begin{macro}{\IndexPageSeparator}
+% \begin{macro}{\IndexRangeSeparator}
+% User-adjustable delimiters for page and range separators in the \filenm{*.ind} files.
+% \changes{v0.88}{2020/07/16}{Added.}
+% \begin{macrocode}
+\newcommand*{\IndexPageSeparator}{, }
+\newcommand*{\IndexRangeSeparator}{--}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+
% \begin{environment}{theindex}
% \begin{macrocode}
\@ifundefined{chapter}
@@ -32399,15 +34824,76 @@
% \end{macro}
-% \begin{macro}{\@wrindex} \marg{term} \qquad
+% \begin{macro}{\LWR at xindex@modifyentry} \marg{indexing term}
+%
+% If using \prog{xindex}, modifies the pipe character to become \cs{hyperindexformat}.
+% The indexing term is split into two argument at the pipe, then fed to
+% \cs{LWR at xindex@modifyentrysub}.
+%
+% \changes{v0.88}{2020/07/12}{Added support for \prog{xindex}.}
+% \begin{macrocode}
+\NewDocumentCommand{\LWR at xindex@modifyentry}{>{\SplitArgument{1}{|}}m}
+ {\LWR at xindex@modifyentrysub#1}
+% \end{macrocode}
+%
+% Handle left and right parenthesis range argument,
+% or add a |hyperindexformat| clause.
+% \begin{macrocode}
+\newcommand*{\LWR at xindex@modifyentrysub}[2]{%
+ \edef\LWR at tempone{#1}%
+ \edef\LWR at temptwo{#2}%
+ \IfValueTF{#2}{%
+ \ifx#2(%
+ \appto\LWR at tempone{|(}%
+ \else%
+ \ifx#2)%
+ \appto\LWR at tempone{|)}%
+ \else%
+ \appto\LWR at tempone{%
+ |hyperindexformat\LWRleftbrace%
+ \LWRbackslash#2%
+ \LWRrightbrace%
+ }%
+ \fi%
+ \fi%
+ }%
+ {}%
+}
+% \end{macrocode}
+% \end{macro}
+
+
+% \begin{macro}{\@wrindex} \marg{indexing term} \qquad
% Redefined to write the |LWR at autoindex| counter instead of |page|.
+%
+% If using \prog{xindex}, the first line is a comment
+% including a special phrase which tricks \prog{xindex} into
+% thinking that \pkg{hyperref} was used.
+%
% \changes{v0.28}{2017/04/13}{Improved indexing.}
+% \changes{v0.88}{2020/07/12}{Added support for \prog{xindex}.}
% \begin{macrocode}
+\newbool{LWR at xindex@tricked}
+\boolfalse{LWR at xindex@tricked}
+
\def\LWR at wrindex#1{%
+ \ifbool{LWR at xindex}{%
+ \ifbool{LWR at xindex@tricked}{}{%
+ \protected at write\@indexfile{}%
+ {%
+ \LWRpercent\space hyperpage\LWRrightbrace%
+ \LWRpercent\space trick xindex to assume hyperref%
+ }%
+ \global\booltrue{LWR at xindex@tricked}%
+ }%
+ \LWR at xindex@modifyentry{#1}%
+ }{%
+ \def\LWR at tempone{#1}%
+ }%
\addtocounter{LWR at autoindex}{1}%
- \LWR at new@label{LWRindex-\arabic{LWR at autoindex}}%
+ \label{LWRindex-\arabic{LWR at autoindex}}%
\protected at write\@indexfile{}%
- {\string\indexentry{#1}{\arabic{LWR at autoindex}}}%
+ {\string\indexentry{\LWR at tempone}{\arabic{LWR at autoindex}}}%
\endgroup%
\@esphack%
}
@@ -32434,29 +34920,200 @@
% \end{macro}
+% \begin{macro}{\LWR at indexnameref@anonref} \marg{LWR at autoindex}
+%
+% Displays a reference link where there no \cs{ref} available.
+% \begin{macrocode}
+\newcommand*{\LWR at indexnameref@anonref}[1]{%
+ \LWR at startref{LWRindex-#1}%
+ (*)%
+ \LWR at htmltag{/a}%
+}
+% \end{macrocode}
+% \end{macro}
+
+% \begin{macro}{\LWR at indexnameref@ref} \marg{LWR at autoindex}
+%
+% Creates \cs{ref}-style index references.
+% To avoid an unwanted space if there is nothing to reference,
+% the reference is checked first.
+% \begin{macrocode}
+\newcommand*{\LWR at indexnameref@ref}[1]{%
+ \edef\LWR at thisref{\csuse{r at LWRindex-#1}}%
+ \ifdefvoid{\LWR at thisref}{}{%
+ \edef\LWR at thisref{\expandafter\@firstoftwo\LWR at thisref}%
+ \ifdefvoid{\LWR at thisref}%
+ {\LWR at indexnameref@anonref{#1}}%
+ {\ref{LWRindex-#1}}%
+ }%
+}
+% \end{macrocode}
+% \end{macro}
+
+
+% \begin{macro}{\LWR at indexnameref@refnameref} \marg{LWR at autoindex}
+%
+% Creates \cs{ref}-style index references.
+% To avoid an unwanted space if there is nothing to reference,
+% the reference is checked first.
+% For links to starred or |??| objects, only the name is used.
+% \begin{macrocode}
+\newcommand*{\LWR at indexnameref@refnameref}[1]{%
+ \edef\LWR at thisref{\csuse{r at LWRindex-#1}}%
+ \ifdefvoid{\LWR at thisref}{}{%
+ \edef\LWR at thisref{\expandafter\@firstoftwo\LWR at thisref}%
+ \ifdefvoid{\LWR at thisref}{}{%
+ \ifdefstring{\LWR at thisref}{(*)}%
+ {}%
+ {\ref{LWRindex-#1} }% space
+ }%
+ }%
+ \nameref{LWRindex-#1}%
+}
+% \end{macrocode}
+% \end{macro}
+
+
+% \begin{macro}{\LWR at indexnameref@cref} \marg{LWR at autoindex}
+%
+% Creates \cs{cref}-style index references.
+% If no numbered reference is available, a \cs{nameref} is used instead.
+% If the reference is |??|, which will be changed by \cs{LWR at indexnameref}
+% to become |(*)|, then the link is changed to show |(*)|.
+% \begin{macrocode}
+\newcommand*{\LWR at indexnameref@cref}[1]{%
+ \edef\LWR at thisref{\csuse{r at LWRindex-#1}}%
+ \ifdefvoid{\LWR at thisref}{%
+ \nameref{LWRindex-#1}%
+ }{%
+ \edef\LWR at thisref{\expandafter\@firstoftwo\LWR at thisref}%
+ \ifdefvoid{\LWR at thisref}{%
+ \nameref{LWRindex-#1}%
+ }{%
+ \ifdefstring{\LWR at thisref}{(*)}{%
+ \LWR at indexnameref@anonref{#1}%
+ }{%
+ \cref{LWRindex-#1}%
+ }%
+ }%
+ }%
+}
+% \end{macrocode}
+% \end{macro}
+
+
+% \begin{macro}{\LWR at indexnameref@crefnameref} \marg{LWR at autoindex}
+%
+% Creates \cs{cref}-style index references.
+% If no numbered reference is available, a \cs{nameref} is used instead.
+% If the reference is |??|, which will be changed by \cs{LWR at indexnameref}
+% to become |(*)|, then the link is changed to show only the name.
+% \begin{macrocode}
+\newcommand*{\LWR at indexnameref@crefnameref}[1]{%
+ \edef\LWR at thisref{\csuse{r at LWRindex-#1}}%
+ \ifdefvoid{\LWR at thisref}%
+ {}%
+ {%
+ \edef\LWR at thisref{\expandafter\@firstoftwo\LWR at thisref}%
+ \ifdefvoid{\LWR at thisref}%
+ {}%
+ {%
+ \ifdefstring{\LWR at thisref}{(*)}%
+ {}%
+ {\cref{LWRindex-#1}} % space
+ }%
+ }%
+ \nameref{LWRindex-#1}%
+}
+% \end{macrocode}
+% \end{macro}
+
+
% \begin{macro}{\LWR at indexnameref} \marg{LWR at autoindex}
%
% Creates a hyperlink based on the given entry's autoindex.
+% \changes{v0.88}{2020/07/19}{Added \optn{IndexRef} option, refactored.}
% \begin{macrocode}
-\newcommand*{\LWR at indexnameref}[1]{\nameref{LWRindex-#1}}
+\newcommand*{\LWR at indexnameref}[1]{%
+ {% group
% \end{macrocode}
+% Temporarily redefine \pkg{caption}'s \cs{caption at xref} because it was printing |??|
+% in the indexes, and also causing error on expansion:
+% \begin{macrocode}
+ \ifdef{\caption at xref}{%
+ \renewcommand*{\caption at xref}[2]{(*)}%
+ }{}%
+% \end{macrocode}
+% \begin{macrocode}
+ \ifdefstring{\LWR at IndexRef}{ref}{%
+ \LWR at indexnameref@ref{#1}%
+ }{%
+ \ifdefstring{\LWR at IndexRef}{nameref}{%
+ \nameref{LWRindex-#1}%
+ }{%
+ \ifdefstring{\LWR at IndexRef}{refnameref}{%
+ \LWR at indexnameref@refnameref{#1}%
+ }{%
+ \ifdefstring{\LWR at IndexRef}{cref}{%
+ \LWR at indexnameref@cref{#1}%
+ }{%
+ \ifdefstring{\LWR at IndexRef}{crefnameref}{%
+ \LWR at indexnameref@crefnameref{#1}%
+ }{%
+ \ifdefstring{\LWR at IndexRef}{autoref}{%
+ \LWR at indexnameref@cref{#1}%
+ }{% text string
+ \LWR at startref{LWRindex-#1}%
+ \LWR at IndexRef%
+ \LWR at htmltag{/a}%
+ }}}}}}%
+ }% group
+}
+% \end{macrocode}
% \end{macro}
-% \begin{macro}{\LWR at doindexentry} \marg{LWR at autoindex, or macros.}
+% \begin{macro}{\LWR at doindexentrysubsub} \marg{range start: LWR at autoindex, or macros.} \marg{range end or blank}
%
% Creates a hyperlink, or handles \cs{see}, \cs{textbf}, etc.
%
% \changes{v0.58}{2018/06/17}{Adds support for \cs{see}, \cs{seealso}, \cs{emph}, \cs{textbf}, etc.}
+% \changes{v0.88}{2020/07/11}{Handles a range, for \prog{xindex}.}
% \begin{macrocode}
-\newrobustcmd{\LWR at doindexentry}[1]{%
+\newrobustcmd{\LWR at doindexentrysubsub}[2]{%
\IfInteger{#1}%
{\LWR at indexnameref{#1}}%
{#1}%
+ \IfValueT{#2}{%
+ \IndexRangeSeparator%
+ \IfInteger{#2}%
+ {\LWR at indexnameref{#2}}%
+ {#2}%
+ }%
}
% \end{macrocode}
% \end{macro}
+%
+% \begin{macro}{\LWR at doindexentrysub}
+% \marg{range delimiter} \marg{LWR at autoindex or macros, possible a range}
+% \changes{v0.88}{2020/07/15}{Adapts to \pkg{gindex}.}
+% \begin{macrocode}
+\NewDocumentCommand{\LWR at doindexentrysub}{m >{\SplitArgument{1}{#1}}m}
+ {\LWR at doindexentrysubsub#2}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\LWR at doindexentry} \marg{LWR at autoindex or macros, possible a range}
+% \changes{v0.88}{2020/07/15}{Adapts to \pkg{gindex}.}
+% \begin{macrocode}
+\newcommand*{\LWR at doindexentry}[1]{%
+ \relax% required
+ \expandafter\LWR at doindexentrysub\expandafter{\IndexRangeSeparator}{#1}%
+}
+% \end{macrocode}
+% \end{macro}
+
+
% \begin{macro}{\LWR at hyperindexrefnullified}
% Handles macros commonly seen inside an \cs{index} entry.
% Each macro is redefined to create and format a link to its entry.
@@ -32491,18 +35148,94 @@
% \end{macro}
-% \begin{macro}{\hyperindexref} \marg{LWR at autoindex}
+% \begin{macro}{\hyperindexref} \marg{list of LWR at autoindex, commas, and ranges}
%
% |\hyperindexref{LWR at autoindex}| is inserted into |*.ind| by
-% the \pkg{makeindex} style file \filenm{lwarp.ist} or
-% the \pkg{xindy} style file \filenm{lwarp.xdy}.
+% the \prog{makeindex} style file \filenm{lwarp.ist} or
+% the \prog{xindy} style file \filenm{lwarp.xdy}.
+% For \prog{xindex}, \cs{hyperpage} is inserted, which is \cs{let} to \cs{hyperindexref}.
+% For \prog{gindex}, \cs{addindexitem} and related are inserted, which
+% are defined to use \cs{hyperindexref}.
%
+% The argument is split at commas, and also for ranges,
+% then passed to \cs{LWR at hyperindexrefsub}.
+%
+% \changes{v0.88}{2020/07/14}{Rewritten to parse commas and ranges.}
+% \begin{macrocode}
+\newcommand*{\hyperindexref}[1]{%
+ \relax% required
+ \expandafter\LWR at hyperindexref@comma\expandafter{\IndexPageSeparator}{#1}%
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\LWR at hyperindexref@comma} \marg{separator} \marg{list of args}
+%
+% The list is split at commas, and passed to \cs{LWR at hyperindexref@@comma}.
+% \begin{macrocode}
+\NewDocumentCommand{\LWR at hyperindexref@comma}
+ {m >{\SplitList{#1}} m}
+ {%
+% \end{macrocode}
+% Used to place the separtor between each entry, but not before the first.
+% \begin{macrocode}
+ \def\LWR at hyperindexref@thiscomma{}%
+ \def\LWR at hyperindexref@nextcomma{#1}%
+% \end{macrocode}
+% Each comma-delimited entry is now passed individually to \cs{LWR at hyperindexref@@comma}.
+% \begin{macrocode}
+ \ProcessList{#2}\LWR at hyperindexref@@comma%
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\LWR at hyperindexref@@comma} \marg{arg, perhaps with a range}
+%
+% A comma separator is placed if not the first item,
+% then the range is parsed.
+% \begin{macrocode}
+\newcommand*{\LWR at hyperindexref@@comma}[1]{%
+ \LWR at hyperindexref@thiscomma%
+ \renewcommand{\LWR at hyperindexref@thiscomma}{\LWR at hyperindexref@nextcomma}%
+ \expandafter\LWR at hyperindexref@range\expandafter{\IndexRangeSeparator}{#1}%
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\LWR at hyperindexref@range} \marg{range delimiter} \marg{arg}
+% \begin{macrocode}
+\NewDocumentCommand{\LWR at hyperindexref@range}
+ {m >{\SplitArgument{1}{#1}} m}
+ {\LWR at hyperindexrefsub#2}
+% \end{macrocode}
+% \end{macro}
+
+
+% \begin{macro}{\LWR at hyperindexrefsub}
+% \marg{range start: LWR at autoindex}
+% \marg{range end, or |-NoValue-|}
+%
+% Handles the start and end of a range, if applicable.
+% \begin{macrocode}
+\newcommand*{\LWR at hyperindexrefsub}[2]{%
+ \LWR at hyperindexrefsubtwo{#1}%
+ \IfValueT{#2}{%
+ \IndexRangeSeparator%
+ \LWR at hyperindexrefsubtwo{#2}%
+ }%
+}
+% \end{macrocode}
+% \end{macro}
+
+% \begin{macro}{\LWR at hyperindexrefsubtwo} \marg{LWR at autoindex}
+%
% \changes{v0.20}{2016/12/19}{Print mode provided in case \pkg{hyperref} not used.}
% \changes{v0.28}{2017/04/13}{Improved indexing.}
% \changes{v0.58}{2018/06/17}{Adds support for \cs{see}, \cs{seealso}, \cs{emph}, \cs{textbf}, etc.}
% \changes{v0.66}{2019/02/05}{Fix: Long index entries.}
+% \changes{v0.88}{2020/07/11}{Adds support for a range, for \prog{xindex}.}
% \begin{macrocode}
-\newcommand{\hyperindexref}[1]{%
+\newcommand*{\LWR at hyperindexrefsubtwo}[1]{%
% \end{macrocode}
% In long index lines with numerous entries,
% \prog{makeindex} can insert a newline before the page number,
@@ -32510,7 +35243,7 @@
% If the first character is a space, remove it first.
% ^^A Or use the trimspaces package.
% \begin{macrocode}
- \def\LWR at tempone{#1}%
+ \edef\LWR at tempone{#1}%
\IfBeginWith{\LWR at tempone}{ }{%
\StrGobbleLeft{\LWR at tempone}{1}[\LWR at tempone]%
}{}%
@@ -32532,7 +35265,32 @@
% \end{macrocode}
% \end{macro}
+
+% \begin{macro}{\hyperpage} Emulate \pkg{hyperref}.
+% \changes{v0.88}{2020/07/12}{Added.}
% \begin{macrocode}
+\LetLtxMacro\hyperpage\hyperindexref
+% \end{macrocode}
+% \end{macro}
+
+% \begin{macro}{\nohyperpage} Emulate \pkg{hyperref}.
+% \changes{v0.88}{2020/07/12}{Added.}
+% \begin{macrocode}
+\def\nohyperpage#1{}
+% \end{macrocode}
+% \end{macro}
+
+% \begin{macro}{\hyperindexformat} Emulate \pkg{hyperref}.
+% \changes{v0.88}{2020/07/12}{Added.}
+% \begin{macrocode}
+\def\hyperindexformat#1#2{%
+ #1{\hyperpage{#2}}%
+}%
+% \end{macrocode}
+% \end{macro}
+
+
+% \begin{macrocode}
\end{warpHTML}
% \end{macrocode}
@@ -32564,6 +35322,7 @@
%
%
% \section{Bibliography presentation}
+% ^^A *bibliography
%
% \codehtml
% \begin{macrocode}
@@ -32571,21 +35330,12 @@
% \end{macrocode}
%
%
-% \begin{macro}{\bibliography} \marg{filenames}
-%
-% Modified to use the base jobname instead of the |_html| jobname.
-% \changes{v0.48}{2018/02/04}{Fix: \cs{BaseJobname} for bibliography.}
-% \begin{macrocode}
-\def\bibliography#1{%
- \if at filesw
- \immediate\write\@auxout{\string\bibdata{#1}}%
- \fi
-% \@input@{\jobname.bbl}% original
- \begingroup%
- \@input@{\BaseJobname.bbl}% lwarp
- \endgroup%
-}
-% \end{macrocode}
+% \begin{macro}{\bibliography} \marg{filenames} \qquad
+% At one time this was modified to read \cs{BaseJobname}\filenm{.bbl},
+% which meant the \HTML\ version could not resolve until the print version was
+% also present. This also confused \pkg{multibib}.
+% It has been reverted to the original to use \cs{jobname}\filenm{.bbl}.
+% \changes{v0.87}{2020/05/17}{Reverted to original.}
% \end{macro}
%
%
@@ -32646,6 +35396,24 @@
% \section{Restoring original formatting}
%
+% \codehtml
+% \begin{macrocode}
+\begin{warpHTML}
+% \end{macrocode}
+%
+%
+% \begin{macro}{\LWR at restoreMathJaxformatting}
+% A few macros (ref: \pkg{tcolorbox}) must be treated
+% separately while printing the \HTML\
+% comment for a \brand{MathJax} expression.
+% These are set here, to which other functions may be appended.
+% \changes{v0.88}{2020/06/25}{Added.}
+% \begin{macrocode}
+\newcommand*{\LWR at restoreMathJaxformatting}{}
+% \end{macrocode}
+% \end{macro}
+%
+%
% \begin{macro}{\LWR at restoreorigformatting}
% Used to temporarily restore
% the print-mode meaning of a number of formatting, graphics, and symbols-related
@@ -32669,12 +35437,7 @@
% \changes{v0.40}{2017/09/09}{Improved \protect\LaTeX\ logos inside a \env{lateximage}.}
% \changes{v0.40}{2017/09/09}{Nullified \cs{InlineClass}, etc. inside a \env{lateximage}.}
-% \codehtml
% \begin{macrocode}
-\begin{warpHTML}
-% \end{macrocode}
-
-% \begin{macrocode}
\newcommand*{\LWR at restoreorigformatting}{%
\LWR at traceinfo{LWR at restoreorigformatting}%
% \end{macrocode}
@@ -32705,6 +35468,12 @@
\let\thinspace\LWR at origthinspace% disable HTML short unbreakable space
\let\negthinspace\LWR at orignegthinspace% disable HTML negative short unbreakable space
\let\textellipsis\LWR at origtextellipsis%
+% \end{macrocode}
+% \changes{v0.88}{2020/07/03}{Added \cs{vdots}.}
+% \begin{macrocode}
+ \let\vdots\LWR at origvdots%
+% \end{macrocode}
+% \begin{macrocode}
\let\textless\LWR at origtextless%
\let\textgreater\LWR at origtextgreater%
% \end{macrocode}
@@ -32718,10 +35487,6 @@
\LetLtxMacro\normalfont\LWR at orignormalfont%
\let\sp\LWR at origsp%
\let\sb\LWR at origsb%
- \LetLtxMacro\textsuperscript\LWR at origtextsuperscript%
- \LetLtxMacro\@textsuperscript\LWR at orig@textsuperscript%
- \LetLtxMacro\textsubscript\LWR at origtextsubscript%
- \LetLtxMacro\@textsubscript\LWR at orig@textsubscript%
\LetLtxMacro\underline\LWR at origunderline%
\let~\LWR at origtilde%
\let\enskip\LWR at origenskip%
@@ -32758,7 +35523,15 @@
\LWR at restoreorigaccents%
\LWR at restoreoriglists%
%
- \LWR at FBcancel%
+ \LWR at hook@processingtags%
+% \end{macrocode}
+%
+% To enable \brand{MathJax}-specific nullification, used for \pkg{tcolorbox}:
+% \changes{v0.88}{2020/06/25}{Support for \brand{MathJax}.}
+% \begin{macrocode}
+ \ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
+ {\LWR at restoreMathJaxformatting}%
+ {}%
}
% \end{macrocode}
% \end{macro}
@@ -32768,12 +35541,230 @@
% \end{macrocode}
%
%
+% \section{Nullifying filename formatting}
%
+% The following are used to nullify certain macros and
+% environments while converting section names to file names.
+%
+%
+% \codehtml
+% \begin{macrocode}
+\begin{warpHTML}
+% \end{macrocode}
+%
+%
+% Also commonly used are \cs{@empty}, \cs{@gobble}, and \cs{@firstofone}.
+%
+% \begin{macrocode}
+\newcommand*{\LWR at dash}{-}
+% \end{macrocode}
+%
+%
+% \begin{macro}{\LWR at nullfonts} Removes formatting during filename operations,
+% file references, and \HTML\ comments.
+%
+% \textred{Use only inside a group.}\watchout
+%
+% The following are \emph{not} made robust,
+% since they must be expanded to their nullified versions.
+%
+% \changes{v0.34}{2017/08/05}{Improved font control.}
+% \changes{v0.36}{2017/08/15}{Fix: Filenames while using \brand{MathJax}.}
+% \changes{v0.40}{2017/09/21}{Fix: Long arguments for expandable command.}
+% \changes{v0.43}{2017/10/31}{Fix: Nullify dollar inside filesnames.}
+% \changes{v0.48}{2018/02/04}{Fix: \cs{newline} in title.}
+% \changes{v0.65}{2018/12/09}{Added \cs{textsi}.}
+% \changes{v0.84}{2020/04/11}{Factored out redefinitions.}
+% \changes{v0.84}{2020/04/12}{Fix: Accents.}
+% \begin{macrocode}
+\catcode`\$=\active% redefining $ below
+\catcode`\_=12% redefining \_ below
+\newcommand*{\LWR at nullfonts}{%
+% \end{macrocode}
+% Various built-in symbols.
+% \changes{v0.67}{2019/02/13}{Add'l symbols.}
+% \changes{v0.84}{2020/04/12}{Add'l symbols.}
+% \begin{macrocode}
+ \renewcommand*{\$}{-}%
+ \renewcommand*{\%}{-}%
+ \renewcommand*{\_}{-}%
+ \renewcommand*{\}}{-}%
+ \renewcommand*{\{}{-}%
+ \renewcommand*{\&}{-}% used to be 'and'
+ \renewcommand*{\#}{-}%
+ \renewcommand*{\,}{-}%
+ \renewcommand*{~}{-}%
+%
+% accents:
+ \renewcommand*{\`}[1]{##1}%
+ \renewcommand*{\'}[1]{##1}%
+ \renewcommand*{\^}[1]{##1}%
+ \renewcommand*{\~}[1]{##1}%
+ \renewcommand*{\=}[1]{##1}%
+ \renewcommand*{\u}[1]{##1}%
+ \renewcommand*{\.}[1]{##1}%
+ \renewcommand*{\"}[1]{##1}%
+ \renewcommand*{\H}[1]{##1}%
+ \renewcommand*{\v}[1]{##1}%
+ \renewcommand*{\d}[1]{##1}%
+ \renewcommand*{\c}[1]{##1}%
+ \renewcommand*{\b}[1]{##1}%
+ \renewcommand*{\t}[1]{##1}%
+%
+ \let\newline\LWR at dash%
+ \let\textasciicircum\LWR at dash%
+ \let\textasciitilde\LWR at dash%
+ \let\textasteriskcentered\LWR at dash%
+ \let\textbackslash\LWR at dash%
+ \let\textbar\LWR at dash%
+ \let\textbardbl\LWR at dash%
+ \let\textbigcircle\LWR at dash%
+ \let\textbraceleft\LWR at dash%
+ \let\textbraceright\LWR at dash%
+ \let\textbullet\LWR at dash%
+ \let\textcopyright\LWR at dash%
+ \let\textdagger\LWR at dash%
+ \let\textdaggerdbl\LWR at dash%
+ \let\textdollar\LWR at dash%
+ \let\textellipsis\LWR at dash%
+ \let\textemdash\LWR at dash%
+ \let\textendash\LWR at dash%
+ \let\textexclamdown\LWR at dash%
+ \let\textgreater\LWR at dash%
+ \let\textless\LWR at dash%
+ \let\textordfeminine\LWR at dash%
+ \let\textordmasculine\LWR at dash%
+ \let\textparagraph\LWR at dash%
+ \let\textperiodcentered\LWR at dash%
+ \let\textpertenthousand\LWR at dash%
+ \let\textperthousand\LWR at dash%
+ \let\textquestiondown\LWR at dash%
+ \let\textquotedblleft\LWR at dash%
+ \let\textquotedblright\LWR at dash%
+ \let\textquoteleft\LWR at dash%
+ \let\textquoteright\LWR at dash%
+ \let\textregistered\LWR at dash%
+ \let\textsection\LWR at dash%
+ \let\textsterling\LWR at dash%
+ \let\texttrademark\LWR at dash%
+ \let\textunderscore\LWR at dash%
+ \let\textvisiblespace\LWR at dash%
+ \let\copyright\LWR at dash%
+ \let\dag\LWR at dash%
+ \let\ddag\LWR at dash%
+ \let\dots\LWR at dash%
+ \let\P\LWR at dash%
+ \let\pounds\LWR at dash%
+ \let\S\LWR at dash%
+%
+ \renewcommand*{\aa}{a}%
+ \renewcommand*{\AA}{A}%
+ \renewcommand*{\AE}{AE}%
+ \renewcommand*{\ae}{ae}%
+ \renewcommand*{\dh}{d}%
+ \renewcommand*{\DH}{D}%
+ \renewcommand*{\DJ}{D}%
+ \renewcommand*{\dj}{d}%
+ \renewcommand*{\IJ}{IJ}%
+ \renewcommand*{\ij}{ij}%
+ \renewcommand*{\L}{L}%
+ \renewcommand*{\l}{l}%
+ \renewcommand*{\NG}{NG}%
+ \renewcommand*{\ng}{ng}%
+ \renewcommand*{\O}{O}%
+ \renewcommand*{\o}{o}%
+ \renewcommand*{\oe}{oe}%
+ \renewcommand*{\OE}{OE}%
+ \renewcommand*{\ss}{ss}%
+ \renewcommand*{\SS}{SS}%
+ \renewcommand*{\th}{th}%
+ \renewcommand*{\TH}{TH}%
+%
+ \let\guillemotleft\@empty%
+ \let\guilsinglleft\@empty%
+ \let\quotedblbase\@empty%
+ \let\textquotedbl\@empty%
+ \let\guillemotright\@empty%
+ \let\guilsinglright\@empty%
+ \let\quotesinglbase\@empty%
+% \end{macrocode}
+% \begin{macrocode}
+ \renewcommand*{\HTMLunicode}[1]{}%
+ \renewcommand*{\HTMLentity}[1]{}%
+% \end{macrocode}
+% \begin{macrocode}
+ \renewcommand{\textsuperscript}[1]{##1}%
+ \renewcommand{\textsubscript}[1]{##1}%
+% \end{macrocode}
+% \changes{v0.50}{2018/02/20}{Fix: \cs{underline} in sectioning file name.}
+% \begin{macrocode}
+ \renewcommand{\underline}[1]{##1}%
+% \end{macrocode}
+% \changes{v0.73}{2019/06/24}{Fix: \cs{hspace} in sectioning file name.}
+% \begin{macrocode}
+ \RenewDocumentCommand{\hspace}{s m}{}%
+% \end{macrocode}
+% \begin{macrocode}
+ \RenewDocumentCommand{\LWR at htmlspanclass}{o m +m}{##3}%
+ \DeclareExpandableDocumentCommand{\InlineClass}{D{(}{)}{} o m +m}{##4}%
+% \end{macrocode}
+% Nullify math macros.
+% \changes{v0.55}{2018/04/24}{Removed extraneous space which appeared in file links.}
+% \begin{macrocode}
+ \def\(##1\){}%
+ \def\[##1\]{}%
+ \RenewDocumentCommand{\LWR at subsingledollar}{s m m m}{}%
+% \end{macrocode}
+% Nullify logos:
+% \changes{v0.66}{2019/02/01}{Logos.}
+% \begin{macrocode}
+ \renewcommand*{\TeX}{TeX}%
+ \renewcommand*{\LaTeX}{LaTeX}%
+ \renewcommand*{\LaTeXe}{LaTeX2e}%
+ \renewcommand*{\LuaTeX}{LuaTeX}%
+ \renewcommand*{\LuaLaTeX}{LuaLaTeX}%
+ \renewcommand*{\XeTeX}{XeTeX}%
+ \renewcommand*{\XeLaTeX}{XeLaTeX}%
+ \renewcommand*{\ConTeXt}{ConTeXt}%
+ \renewcommand*{\BibTeX}{BibTeX}%
+ \renewcommand*{\MakeIndex}{MakeIndex}%
+ \renewcommand*{\AmS}{AmS}%
+ \renewcommand*{\MiKTeX}{MiKTeX}%
+ \renewcommand*{\LyX}{LyX}%
+% \end{macrocode}
+% Use the simpler form with \cs{texorpdfstring}:
+% \changes{v0.52}{2018/03/31}{Fix: \cs{texorpdfstring} in section names.}
+% \changes{v0.84}{2020/04/12}{Revised \cs{texorpdfstring}.}
+% \begin{macrocode}
+ \def\texorpdfstring{\expandafter\@secondoftwo}%
+}
+\catcode`\$=3%
+\catcode`\_=8%
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\FilenameNullify} \marg{redefinitions}
+%
+% Adds more nullifying definitions for filename generation.
+%
+% \changes{v0.67}{2019/02/13}{Added.}
+% \begin{macrocode}
+\newcommand*{\FilenameNullify}[1]{%
+ \appto{\LWR at nullfonts}{#1}%
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macrocode}
+\end{warpHTML}
+% \end{macrocode}
+%
+%
+%
% \section{Math}
% \label{sec:math}
%
-%
-%
% \subsection{Limitations}
%
% See \nameref{sec:limitsmath}, \cref{sec:limitsmath}.
@@ -32897,6 +35888,18 @@
% \end{macrocode}
+% \DescribeBoolean{LWR at insidemathcomment}
+% True while inside an \HTML\ comment which is displaying a math
+% environment.
+% Used to undo the comment for a moment while creating a \cs{label},
+% so that the label's \HTML\ tags will be seen by \HTML.
+% \changes{v0.86}{2020/05/11}{\bool{LWR at insidemathcomment}: Added.}
+% \begin{macrocode}
+\newbool{LWR at insidemathcomment}
+\boolfalse{LWR at insidemathcomment}
+% \end{macrocode}
+
+
% \DescribeBoolean{LWR at xfakebold}
% True if \pkg{xfakebold} \cs{setBold} is in use.
% \changes{v0.67}{2019/02/17}{\pkg{xfakebold}: Added support.}
@@ -32985,7 +35988,7 @@
%
% A marker with alpha or opacity of 0\% is not registered by \prog{pdfcrop}, so
% the marker is a small square block of 1\% alpha, which seems to work while still being
-% effectively invisible in the final SVG image.
+% effectively invisible in the final \SVG\ image.
%
% If \pkg{graphicx} is loaded, this marker is sized as a tiny 1\,sp square.
% If \pkg{graphics} is loaded, this marker is used at its default size of around
@@ -33090,13 +36093,13 @@
% preferred.)
%
% \begin{description}
-% \item [SVG math:] \cs{LWR at origensuredmath} is part of argument \#4.
-% \item [SVG math \cs{ensuremath}:] \cs{LWR at origensuredmath} is part of argument \#4.
-% \item [SVG dynamic math:] \cs{LWR at origensuredmath} is part of argument \#4.
-% \item [Mathjax:] Argument \#4 is the contents of the math expression
+% \item [\SVG\ math:] \cs{LWR at origensuredmath} is part of argument \#4.
+% \item [\SVG\ math \cs{ensuremath}:] \cs{LWR at origensuredmath} is part of argument \#4.
+% \item [\SVG\ dynamic math:] \cs{LWR at origensuredmath} is part of argument \#4.
+% \item [\brand{MathJax}:] Argument \#4 is the contents of the math expression
% without \cs{LWR at origensuredmath}. This case is handled above.
-% \item [Mathjax \cs{ensuremath}:] \cs{LWR at origensuredmath} is part of argument \#4.
-% \item [Mathjax dynamic math:] Argument \#4 is the contents of the math expression
+% \item [\brand{MathJax} \cs{ensuremath}:] \cs{LWR at origensuredmath} is part of argument \#4.
+% \item [\brand{MathJax} dynamic math:] Argument \#4 is the contents of the math expression
% without \cs{LWR at origensuredmath}, so \cs{LWR at origensuredmath} is added below.\
% \item [\cs{ifmmode}:] Included ``just in case''.
% \end{description}
@@ -33220,7 +36223,7 @@
\newcommand*{\LWR at subsingledollarsvg}[4]{%
% \end{macrocode}
% Measure the depth, width, and height of the math image:
-% \changes{v0.51}{2018/03/04}{Fix: SVG math with enclosed \env{lateximage}.}
+% \changes{v0.51}{2018/03/04}{Fix: \SVG\ math with enclosed \env{lateximage}.}
% \begin{macrocode}
\LWR at singledollarmeasure{#4}%
% \end{macrocode}
@@ -33372,17 +36375,17 @@
% \marg{4: math expression}
%
% For inline math.
-% Uses MathJax, or for \SVG\ math the image is measured and ajusted to the baseline
+% Uses \brand{MathJax}, or for \SVG\ math the image is measured and ajusted to the baseline
% of the \HTML\ output, and placed inside a \env{lateximage}.
%
% \begin{description}
-% \item [SVG math:] \cs{LWR at origensuredmath} is part of argument \#4.
-% \item [SVG math \cs{ensuremath}:] \cs{LWR at origensuredmath} is part of argument \#4.
-% \item [SVG dynamic math:] \cs{LWR at origensuredmath} is part of argument \#4.
-% \item [Mathjax:] Argument \#4 is the contents of the math expression
+% \item [\SVG\ math:] \cs{LWR at origensuredmath} is part of argument \#4.
+% \item [\SVG\ math \cs{ensuremath}:] \cs{LWR at origensuredmath} is part of argument \#4.
+% \item [\SVG\ dynamic math:] \cs{LWR at origensuredmath} is part of argument \#4.
+% \item [\brand{MathJax}:] Argument \#4 is the contents of the math expression
% without \cs{LWR at origensuredmath}. This case is handled above.
-% \item [Mathjax \cs{ensuremath}:] \cs{LWR at origensuredmath} is part of argument \#4.
-% \item [Mathjax dynamic math:] Argument \#4 is the contents of the math expression
+% \item [\brand{MathJax} \cs{ensuremath}:] \cs{LWR at origensuredmath} is part of argument \#4.
+% \item [\brand{MathJax} dynamic math:] Argument \#4 is the contents of the math expression
% without \cs{LWR at origensuredmath}, so \cs{LWR at origensuredmath} is added below.\
% \end{description}
%
@@ -33391,7 +36394,7 @@
% \changes{v0.19}{2016/05/25}{\brand{MathJax} support.}
% \changes{v0.42}{2017/10/26}{If \progcode{FormatWP} print LaTeX expression.}
% \changes{v0.47}{2018/01/24}{Added \SVG\ math image baseline adjust and em sizing.}
-% \changes{v0.50}{2018/02/23}{Fix: Use \env{lateximage} even if MathJax.}
+% \changes{v0.50}{2018/02/23}{Fix: Use \env{lateximage} even if \brand{MathJax}.}
% \changes{v0.50}{2018/02/24}{Improved \SVG\ math \attribute{alt} tags.}
% \begin{macrocode}
\newlength{\LWR at singledollarwidth}
@@ -33417,14 +36420,14 @@
% \begin{macrocode}
\LWR at applyxfakebold%
% \end{macrocode}
-% MathJax cannot parse the often complicated \TeX\ expressions which
+% \brand{MathJax} cannot parse the often complicated \TeX\ expressions which
% appear in the various uses of \cs{ensuredmath}.
% \cs{ensuremath} forces the \attribute{alt} tag to ``|(math image)|'', as
% translated according to \cs{MathImageAltText}.
-% If this is the case, force the use of a \env{lateximage} even if MathJax.
+% If this is the case, force the use of a \env{lateximage} even if \brand{MathJax}.
% Likewise for \pkg{siunitx} if |parse-numbers=false|.
%
-% If MathJax, or if formatting math for a word processor, and not \cs{ensuredmath},
+% If \brand{MathJax}, or if formatting math for a word processor, and not \cs{ensuredmath},
% and not a dynamic math expression, print the math expression:
% \changes{v0.51}{2018/03/11}{Fix: \cs{ensuredmath} inside \SVG\ image.}
% \changes{v0.57}{2018/05/23}{Fix: Dynamic inline math expressions.}
@@ -33443,17 +36446,25 @@
}%
% \end{macrocode}
% For \brand{MathJax}, print the math between |\(| and |\)|:
+% \changes{v0.89}{2020/08/01}{TT font for \brand{MathJax}.}
% \begin{macrocode}
{%
\LWR at traceinfo{LWR at subsingledollar: Mathjax}%
{%
\textbackslash(%
- \LWR at 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 at print@ttfamily\fi%
+ \LWR at HTMLsanitize{#4}%
+ }%
\textbackslash)%
}%
}% mathjax
% \end{macrocode}
-% For SVG, print the math inside a \env{lateximage},
+% For \SVG, print the math inside a \env{lateximage},
% with an \element{alt} tag of the \LaTeX\ code,
% and a \CSS\ style to control the baseline adjustment.
% \begin{macrocode}
@@ -33520,16 +36531,17 @@
% \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 at HTMLsanitize{#1}%
+ {\LWR at print@ttfamily\LWR at HTMLsanitize{#1}}%
\textbackslash]
}% mathjax
% \end{macrocode}
-% For SVG, print the math inside a \env{lateximage},
+% For \SVG, print the math inside a \env{lateximage},
% with an \element{alt} tag of the \LaTeX\ code:
% \changes{v0.50}{2018/02/24}{Improved \SVG\ math \attribute{alt} tags.}
% \changes{v0.50}{2018/03/02}{Improved \SVG\ math display.}
@@ -33569,6 +36581,7 @@
%
%
% \begin{macro}{\LWR at singledollar} \marg{alt text} \marg{math expression}
+% \changes{v0.89}{2020/08/01}{TT font for \brand{MathJax}.}
% \begin{macrocode}
\protected\gdef\LWR at singledollar#1${%
\ifbool{mathjax}{%
@@ -33605,11 +36618,11 @@
% Redefine to the above dollar macros.
% \begin{macrocode}
\AtBeginDocument{
-\protected\gdef\(#1\){$#1$}
-\protected\gdef\[#1\]{$$#1$$}
+ \protected\gdef\(#1\){$#1$}
+ \protected\gdef\[#1\]{$$#1$$}
}
-\endgroup
+\endgroup% active $
% \end{macrocode}
% \changes{v0.59}{2018/08/23}{Fix with \cs{displaymathnormal}.}
% \begin{macrocode}
@@ -33624,14 +36637,14 @@
% \begin{macro}{\@ensuredmath} \marg{expression}
%
-% If MathJax, a \env{lateximage} is used, since \cs{ensuremath} is
-% often used for complex \TeX\ expressions which MathJax may not render.
+% If \brand{MathJax}, a \env{lateximage} is used, since \cs{ensuremath} is
+% often used for complex \TeX\ expressions which \brand{MathJax} may not render.
% If \SVG\ math, a hashed file is used with a simple \attribute{alt} tag, but
% additional hashing provided by the contents.
%
% \changes{v0.51}{2018/02/24}{Hashes \cs{ensuremath}.}
% \changes{v0.42}{2017/10/16}{Improved \cs{ensuremath}.}
-% \changes{v0.50}{2018/02/23}{Fix: Use \env{lateximage} even if MathJax.}
+% \changes{v0.50}{2018/02/23}{Fix: Use \env{lateximage} even if \brand{MathJax}.}
% \changes{v0.50}{2018/02/24}{Improved \SVG\ math \attribute{alt} tags.}
% \changes{v0.52}{2018/03/25}{Improved hashing expansion.}
% \begin{macrocode}
@@ -33711,9 +36724,12 @@
% Set the default displaymath to the normal version:
+%
+% \changes{v0.89}{2020/08/12}{Removed \cs{let} of \cs{[}, \cs{]}.}
+% ^^A \LetLtxMacro\[\LWR at openbracketnormal% (but not yet defined)
+% ^^A \LetLtxMacro\]\LWR at closebracketnormal%
+%
% \begin{macrocode}
-\LetLtxMacro\[\LWR at openbracketnormal%
-\LetLtxMacro\]\LWR at closebracketnormal%
\LetLtxMacro\displaymath\LWR at displaymathnormal%
\LetLtxMacro\enddisplaymath\endLWR at displaymathnormal%
% \end{macrocode}
@@ -33775,7 +36791,52 @@
% \end{macrocode}
%
%
+% Determing how to set \brand{MathJax} section and equation numbers.
+% Adjusts for various kinds of \cs{theequation} to determine
+% \cs{theMathJaxsection} and \cs{theMathJaxequation}.
%
+% \begin{macrocode}
+\newcommand\LWR at article@theequation{\@arabic\c at equation}
+
+\newcommand\LWR at book@theequation
+ {\ifnum \c at chapter>\z@ \thechapter.\fi \@arabic\c at equation}
+
+
+\newcommand\LWR at chapter@theequation{\thechapter.\arabic{equation}}
+\newcommand\LWR at section@thequation{\thesection.\arabic{equation}}
+\newcommand\LWR at subsection@thequation{\thesubsection.\arabic{equation}}
+
+\AtBeginDocument{
+ % default per article class:
+ \newcommand*{\theMathJaxsubequations}{0}
+ \newcommand*{\theMathJaxsection}{}
+ \newcommand*{\theMathJaxequation}{\arabic{equation}}
+
+ \ifdefstrequal{\theequation}{\LWR at article@theequation}
+ {}{
+ \ifdefstrequal{\theequation}{\LWR at book@theequation}{
+ \renewcommand*{\theMathJaxsection}{\ifnum \c at chapter>\z@ \thechapter.\fi}
+ }{
+ \ifdefstrequal{\theequation}{\LWR at subsection@thequation}{
+ \renewcommand*{\theMathJaxsection}{\thesubsection{}.}
+ }{
+ \ifdefstrequal{\theequation}{\LWR at section@thequation}{
+ \renewcommand*{\theMathJaxsection}{\thesection{}.}
+ }{
+ \ifdefstrequal{\theequation}{\LWR at chapter@theequation}{
+ \renewcommand*{\theMathJaxsection}{\thechapter{}.}
+ }{% unknown format
+ \PackageWarningNoLine{lwarp}
+ {%
+ Unknown equation tag format for \protect\theequation.\MessageBreak
+ Article-style equation numbering will be used%
+ }
+ }}}}}
+}
+% \end{macrocode}
+%
+%
+%
% \begin{macro}{\LWR at syncmathjax} Sets the \brand{MathJax} equation format
% and number for the following equations.
%
@@ -33784,44 +36845,35 @@
% \begin{macrocode}
\newcommand*{\LWR at syncmathjax}{%
% \end{macrocode}
-% If using chapters, place the chapter number in front of the equation.
-% Otherwise, use the simple equation number.
-% \changes{v0.82}{2020/03/09}{Removed \element{par} tags.}
-% \begin{macrocode}
- \ifcsdef{thechapter}{
- \LWR at stoppars%
- \InlineClass{hidden}{
- \textbackslash(
- \textbackslash{}seteqsection \{\thechapter\}
- \textbackslash)
- }
- \LWR at startpars%
- }
- {}% not using chapters
-% \end{macrocode}
-% \brand{MathJax} doesn't allow setting the equation number to 1:
-% \begin{macrocode}
- \ifthenelse{\cnttest{\value{equation}}>0}
- {
-% \end{macrocode}
-% Tell \brand{MathJax} that the next set of equations begins with the current \LaTeX{} equation
-% number, plus one.
-% \begin{macrocode}
- \setcounter{LWR at nextequation}{\value{equation}}
- \addtocounter{LWR at nextequation}{1}
-% \end{macrocode}
+%
+% Tell \brand{MathJax} that the next equation number is
+% the current \LaTeX{} equation number.
+%
+% Before each equation, \pkg{lwarp} inserts into the \HTML\ code:
+% \begin{sourceverb}
+% \seteqnumber{subequations?}{section}{number}
+% \end{sourceverb}
+% \begin{description}
+% \item [|subequations?|] is |0| usually, |1| if inside \pkg{amsmath} \env{subequations}.
+% \item [|section|] is a string printed as-is, or empty.
+% \item [|number|] is auto-incremented by \brand{MathJax} between equations.
+% \end{description}
+%
% Place the \brand{MathJax} command inside ``\cs{(}'' and ``\cs{)}'' characters,
% to be printed to \HTML, not interpreted by \LaTeX.
% \changes{v0.82}{2020/03/09}{Removed \element{par} tags.}
+% \changes{v0.86}{2020/05/08}{Improved \brand{MathJax} equation numbers.}
% \begin{macrocode}
\LWR at stoppars%
\InlineClass{hidden}{
- \textbackslash(
- \textbackslash{}seteqnumber \{\arabic{LWR at nextequation}\}
- \textbackslash)
+ \textbackslash(%
+ \textbackslash{}seteqnumber%
+ \{\theMathJaxsubequations\}%
+ \{\theMathJaxsection\}%
+ \{\theMathJaxequation\}%
+ \textbackslash)%
}
\LWR at startpars%
- }{}% not eq > 0
}
% \end{macrocode}
% \end{macro}
@@ -33849,6 +36901,7 @@
% restore various commands to their \LaTeX\ meanings.
% \begin{macrocode}
\LWR at restoreorigformatting
+ \booltrue{LWR at insidemathcomment}
% \end{macrocode}
% ^^A When a label is encountered, the \HTML\ comment is closed,
% ^^A the label is generated in an \HTML-output context,
@@ -33868,6 +36921,7 @@
% Close the \HTML\ comment and resume \HTML\ paragraph handling:
% \begin{macrocode}
\LWR at htmlclosecomment
+ \boolfalse{LWR at insidemathcomment}
\LWR at startpars
}
% \end{macrocode}
@@ -33885,15 +36939,20 @@
% Enclose the \brand{MathJax} environment inside printed ``\cs{(}'' and ``\cs{)}'' characters.
% \begin{macrocode}
\LWR at origtilde\LWR at 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 at HTMLsanitizeexpand{\detokenize\expandafter{#2}}
+ {%
+ \LWR at print@ttfamily%
+ \textbackslash{}begin\{#1\}
+ \LWR at orignewline%
+ \LWR at HTMLsanitizeexpand{\detokenize\expandafter{#2}}%
+ \LWR at orignewline%
+ \textbackslash{}end\{#1\}
+ }%
% \end{macrocode}
-% Close the \brand{MathJax} environment:
% \begin{macrocode}
- \textbackslash{}end\{#1\}
\LWR at orignewline
}
% \end{macrocode}
@@ -33906,10 +36965,10 @@
% after redefined by \pkg{amsmath}, if loaded.
% \begin{macrocode}
\AtBeginDocument{
-\let\LWR at origequation\equation
-\let\LWR at origendequation\endequation
-\csletcs{LWR at origequation*}{equation*}
-\csletcs{LWR at origendequation*}{endequation*}
+ \let\LWR at origequation\equation
+ \let\LWR at origendequation\endequation
+ \csletcs{LWR at origequation*}{equation*}
+ \csletcs{LWR at origendequation*}{endequation*}
}
% \end{macrocode}
%
@@ -33953,10 +37012,10 @@
\LWR at hidelatexequation{#2}{#1}
}
% \end{macrocode}
-% SVG output:
+% \SVG\ output:
% Create the |lateximage| along with an \HTML\ \element{alt} tag
% having an equation number, the \LaTeX{} equation environment
-% commmands, and the contents of the environment's \cs{BODY}.
+% commands, and the contents of the environment's \cs{BODY}.
% \begin{macrocode}
{% not mathjax
% \end{macrocode}
@@ -34085,10 +37144,10 @@
% Remove existing \env{equation} environment:
% \begin{macrocode}
\AtBeginDocument{
-\let\equation\relax
-\let\endequation\relax
-\csletcs{equation*}{relax}
-\csletcs{endequation*}{relax}
+ \let\equation\relax
+ \let\endequation\relax
+ \csletcs{equation*}{relax}
+ \csletcs{endequation*}{relax}
}
% \end{macrocode}
@@ -34100,14 +37159,12 @@
% macro called \cs{BODY}.
% \begin{macrocode}
\AtBeginDocument{
+ \NewEnviron{equation}%
+ {\LWR at doequation{\BODY}{equation}}%
+ [\LWR at doendequation{equation}]
-\NewEnviron{equation}%
- {\LWR at doequation{\BODY}{equation}}%
- [\LWR at doendequation{equation}]
-
-\LetLtxMacro\LWR at equationnormal\equation
-\LetLtxMacro\endLWR at equationnormal\endequation
-
+ \LetLtxMacro\LWR at equationnormal\equation
+ \LetLtxMacro\endLWR at equationnormal\endequation
}% AtBeginDocument
% \end{macrocode}
% \end{environment}
@@ -34116,14 +37173,12 @@
% \begin{environment}{equation*}
% \begin{macrocode}
\AtBeginDocument{
+ \NewEnviron{equation*}%
+ {\LWR at doequation{\BODY}{equation*}}%
+ [\LWR at doendequation{equation*}]
-\NewEnviron{equation*}%
- {\LWR at doequation{\BODY}{equation*}}%
- [\LWR at doendequation{equation*}]
-
-\csletcs{LWR at equationnormalstar}{equation*}
-\csletcs{LWR at endequationnormalstar}{endequation*}
-
+ \csletcs{LWR at equationnormalstar}{equation*}
+ \csletcs{LWR at endequationnormalstar}{endequation*}
}% AtBeginDocument
% \end{macrocode}
% \end{environment}
@@ -34134,10 +37189,10 @@
% some \tikz\ expressions.
% \begin{macrocode}
\AtBeginDocument{
-\LetLtxMacro\LWR at equationless\equation
-\LetLtxMacro\endLWR at equationless\endequation
-\csletcs{LWR at equationlessstar}{equation*}
-\csletcs{LWR at endequationlessstar}{endequation*}
+ \LetLtxMacro\LWR at equationless\equation
+ \LetLtxMacro\endLWR at equationless\endequation
+ \csletcs{LWR at equationlessstar}{equation*}
+ \csletcs{LWR at endequationlessstar}{endequation*}
}
% \end{macrocode}
@@ -34167,7 +37222,7 @@
% \begin{macro}{\displaymathother} Use when display math environments have complicated
-% objects which will not work with MathJax or should not be
+% objects which will not work with \brand{MathJax} or should not be
% included in \HTML\ \attribute{alt} tags. \margintag{complicated math objects}
% Complicated contents are more likely to compile correctly.
% \changes{v0.51}{2018/03/21}{Processing for complicated display math.}
@@ -34231,55 +37286,6 @@
% \end{macrocode}
-% \begin{macro}{\LWR at htmlmathlabel} \marg{label}
-% \gindex{label>math environment}
-%
-% \pkg{lwarp} points \cs{ltx at label} here.
-% This is used by \cs{label} when inside a
-% \LaTeX\ AMS math environment's math display environment.
-%
-% \cs{LWR at origltx@label} points to the \LaTeX\ original,
-% modified by \pkg{lwarp}, then by \pkg{amsmath},
-% then by \pkg{cleveref}.
-% \begin{macrocode}
-\newcommand*{\LWR at htmlmathlabel}[1]{%
- \LWR at traceinfo{LWR at htmlmathlabelb #1}%
-% \end{macrocode}
-% If |mathjax| or |FormatWP|, print the \LaTeX\ expression:
-% \changes{v0.42}{2017/10/26}{If \progcode{FormatWP} print LaTeX expression.}
-% \begin{macrocode}
- \ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
- {%
-% \end{macrocode}
-% The combined \LaTeX\ \& \HTML\ label is printed in a \cs{text} field:
-% \begin{macrocode}
- \text{%
-% \end{macrocode}
-% Shift the label over to the right side of the environment to avoid
-% over-printing the math:
-% \begin{macrocode}
- \ifbool{LWR at amsmultline}{}{\hspace*{\totwidth@}}%
-% \end{macrocode}
-% Temporarily end the \HTML\ comment,
-% insert the \LaTeX{} \& \HTML\ label, then
-% resume the \HTML\ comment.
-% \cs{@firstofone} is required to remove extra braces
-% introduced by the \pkg{amsmath} package.)
-% \begin{macrocode}
- \LWR at htmlclosecomment%
- \LWR at origltx@label{#1}%
- \LWR at htmlopencomment%
- }% text
- }% mathjax
- {%
- \LWR at origltx@label{#1}%
- }%
-}
-% \end{macrocode}
-% \end{macro}
-
-
-
% \begin{macro}{\LWR at beginhideamsmath}
% Starts hiding \LaTeX\ math inside an \HTML\ comment.
% \begin{macrocode}
@@ -34290,6 +37296,7 @@
\begingroup
\LWR at restoreorigformatting
+ \booltrue{LWR at insidemathcomment}
}
% \end{macrocode}
% \end{macro}
@@ -34301,6 +37308,7 @@
\endgroup
\LWR at htmlclosecomment
+ \boolfalse{LWR at insidemathcomment}
\LWR at orignewline
\LWR at startpars
}
@@ -34317,8 +37325,8 @@
% \changes{v0.34}{2017/07/29}{Fix: Added the \env{eqnarray} environments.}
%
% The \pkg{amsmath} environments already collect their contents
-% in \cs{@envbody} for further processing. \env{eqnarray} is not an \AmS\ package,
-% and thus requires special handling.
+% in \cs{@envbody} for further processing.
+% \env{eqnarray} is not an \AmS\ package, and thus requires special handling.
%
% For \SVG\ math: Each envrionment is encapsulated inside a \env{lateximage} environment,
% along with a special optional argument of \cs{LWR at amsmathbody}
@@ -34403,11 +37411,12 @@
% \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 at newautoidanchor%
\booltrue{LWR at indisplaymathimage}%
- \begin{lateximage}[(\LWR at startingequationtag--\LWR at equationtag)%
+ \begin{lateximage}[(\LWR at startingequationtag\textendash\LWR at equationtag)%
\LWR at addmathjax{eqnarray}{\BODY}]*%
% \end{macrocode}
% Support for \pkg{xfakebold}:
@@ -34728,6 +37737,7 @@
% 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 at amsmathbodynumbered}[1]
@@ -34734,7 +37744,7 @@
{%
\ifnumcomp{\value{LWR at startingequation}}{=}{\value{equation}}%
{(\LWR at equationtag)}%
- {(\LWR at startingequationtag--\LWR at equationtag)} % extra space
+ {(\LWR at startingequationtag\textendash\LWR at equationtag)} % extra space
\LWR at amsmathbody{#1} % extra space
}
% \end{macrocode}
@@ -34904,10 +37914,13 @@
% Create an \HTML\ span which will hold the comment which contains the \prog{pdftotext} translation
% of the image's page, and also will hold the link to the |.svg| file:
% \changes{v0.66}{2019/02/02}{Improved \HTML\ formatting.}
+% \changes{v0.895}{2021/01/14}{Improved \HTML\ quotes.}
% \begin{macrocode}
\LWR at htmltag{span\LWR at indentHTML%
- id="lateximage-\BaseJobname-\arabic{LWR at lateximagenumber}"\LWR at indentHTML
- class="lateximagesource"\LWR at orignewline
+ id=\textquotedbl{}%
+ lateximage-\BaseJobname-\arabic{LWR at lateximagenumber}%
+ \textquotedbl\LWR at indentHTML
+ class=\textquotedbl{}lateximagesource\textquotedbl\LWR at orignewline
}%
% \end{macrocode}
% Write instructions to the |<ImagesDirectory>.txt| file:
@@ -34970,7 +37983,7 @@
% Start the new \PDF\ page:
% \begin{macrocode}
\LWR at traceinfo{lateximage: about to create a new page}%
- \LWR at orignewpage%
+ \LWR at maybe@orignewpage%
% \end{macrocode}
% If the current page is larger,
% typeset the image in a ``standard'' width page and font size:
@@ -35013,7 +38026,7 @@
% \end{macrocode}
%
% Enable print-mode math functions:
-% \changes{v0.50}{2018/02/20}{Fix: SVG math in a section name.}
+% \changes{v0.50}{2018/02/20}{Fix: \SVG\ math in a section name.}
% \begin{macrocode}
\LetLtxMacro$\LWR at origdollar%
\catcode`\$=3% math shift
@@ -35020,6 +38033,7 @@
\LetLtxMacro\(\LWR at origopenparen%
\LetLtxMacro\)\LWR at origcloseparen%
% \end{macrocode}
+%
% Only enable print-mode display math if are not already inside display math:
% \changes{v0.51}{2018/03/21}{Processing for complicated display math.}
% \begin{macrocode}
@@ -35032,6 +38046,7 @@
\csletcs{endequation*}{LWR at origendequation*}%
}% not in display math
% \end{macrocode}
+%
% For \pkg{chemformula}:
% \begin{macrocode}
\LetLtxMacro\LWR at newsingledollar$%
@@ -35043,7 +38058,8 @@
}% end of \begin{lateximage}
% \end{macrocode}
%
-% When the environment closes:
+%
+% When the \env{lateximage} environment closes:
% \margintag{\cs{endlateximage}}
%
% \begin{macrocode}
@@ -35050,11 +38066,13 @@
{% start of \end{lateximage}
\LWR at traceinfo{lateximage: starting end of lateximage}%
% \end{macrocode}
+%
% Nested more than one deep?
% \begin{macrocode}
\LWR at traceinfo{lateximage: internal depth was \arabic{LWR at lateximagedepth}}%
\ifnumcomp{\value{LWR at lateximagedepth}}{>}{1}%
% \end{macrocode}
+%
% If nesting inside an already existing lateximage, simply record one less level.
% Uses a lower-level \TeX\ macro due to \AmS\ \cs{text} change of \cs{addtocounter}.
% \begin{macrocode}
@@ -35063,17 +38081,20 @@
\global\advance\c at LWR@lateximagedepth -1\relax%
}%
% \end{macrocode}
+%
% If this is the outer-most lateximage:
% \begin{macrocode}
{% end of outer-most lateximage
% \end{macrocode}
+%
% Finish the lateximage minipage and start a new \PDF\ page:
% \changes{v0.69}{2019/03/14}{Fix for \prog{pdftotext} errors from font size change.}
% \begin{macrocode}
\LWR at traceinfo{lateximage: ending outer-most lateximage}%
\endLWR at print@minipage%
- \LWR at orignewpage%
+ \LWR at maybe@orignewpage%
% \end{macrocode}
+%
% Close the \HTML\ comment which encapsulated any traces of the lateximage picked up by \prog{pdftotext}:
% \begin{macrocode}
\LWR at print@vspace*{.5\baselineskip}%
@@ -35080,6 +38101,7 @@
\LWR at htmlclosecomment%
\LWR at traceinfo{lateximage: The page after the image is \arabic{page}}%
% \end{macrocode}
+%
% Create a link to the lateximage, allowing its natural height:
% \changes{v0.47}{2018/01/26}{Fix: Line wrap at \HTML\ hyphen.}
% \changes{v0.50}{2018/02/22}{MD5 hash avoids duplicate \SVG\ math.}
@@ -35093,10 +38115,12 @@
\LWR at lateximage@oneimage{#2}{\LWR at ImagesName\theLWR at externalfilecnt}{#5}{#3}%
}% no hash
% \end{macrocode}
+%
% Be sure that are doing a paragraph:
% \begin{macrocode}
\LWR at ensuredoingapar%
% \end{macrocode}
+%
% Close the \HTML\ span which has the \prog{pdftotext} comment and also the link to the |.svg| image:
% \begin{macrocode}
\LWR at htmltag{/span}%
@@ -35104,11 +38128,13 @@
\LWR at htmlcomment{End of lateximage}%
}{}%
% \end{macrocode}
+%
% Undo one lateximage level.
% This is not inside an \AmS\ \cs{text}, so regular \cs{addtocounter} may be used here.
% \begin{macrocode}
\addtocounter{LWR at lateximagedepth}{-1}%
% \end{macrocode}
+%
% Clear the single-use \attribute{alt} text:
% \changes{v0.74}{2019/08/20}{Add \cs{ThisAltText}.}
% \begin{macrocode}
@@ -35128,7 +38154,7 @@
% \end{macrocode}
% \begin{environment}{lateximage} * \oarg{\element{alt} tag} *
-% \oarg{add'l hashing} \oarg{\CSS\ style}
+% \oarg{add'l hashing} \oarg{\CSS\ style}
%
% \env{varwidth} is used to create a box of the natural width of its contents.
%
@@ -35159,8 +38185,9 @@
% Replace \env{center} functionality with \CSS\ tags:
% \changes{v0.42}{2017/10/26}{If \progcode{FormatWP} use explicit \attribute{text-align}.}
% \changes{v0.47}{2018/01/26}{Fix: Line wrap at \HTML\ hyphen.}
+% \changes{v0.84}{2020/04/14}{Added print mode.}
% \begin{macrocode}
-\renewenvironment*{center}
+\newenvironment*{LWR at HTML@center}
{
\LWR at forcenewpage
\ifbool{FormatWP}
@@ -35168,6 +38195,8 @@
{\BlockClass{center}}
}
{\endBlockClass}
+
+\LWR at formattedenv{center}
% \end{macrocode}
% \end{environment}
@@ -35174,8 +38203,9 @@
% \begin{environment}{flushright}
% \changes{v0.47}{2018/01/26}{Fix: Line wrap at \HTML\ hyphen.}
+% \changes{v0.84}{2020/04/14}{Added print mode.}
% \begin{macrocode}
-\renewenvironment*{flushright}
+\newenvironment*{LWR at HTML@flushright}
{
\LWR at forcenewpage
\ifbool{FormatWP}
@@ -35183,13 +38213,16 @@
{\BlockClass{flushright}}
}
{\endBlockClass}
+
+\LWR at formattedenv{flushright}
% \end{macrocode}
% \end{environment}
% \begin{environment}{flushleft}
% \changes{v0.47}{2018/01/26}{Fix: Line wrap at \HTML\ hyphen.}
+% \changes{v0.84}{2020/04/14}{Added print mode.}
% \begin{macrocode}
-\renewenvironment*{flushleft}
+\newenvironment*{LWR at HTML@flushleft}
{
\LWR at forcenewpage
\ifbool{FormatWP}
@@ -35197,6 +38230,8 @@
{\BlockClass{flushleft}}
}
{\endBlockClass}
+
+\LWR at formattedenv{flushleft}
% \end{macrocode}
% \end{environment}
@@ -35328,11 +38363,33 @@
\LWR at PreloadedPackage{graphicx}
% \end{macrocode}
+% \pkg{scalefnt} may have been preloaded by \pkg{babel}
+% \begin{macrocode}
+\LWR at PreloadedPackage{scalefnt}
+% \end{macrocode}
+
% \pkg{fontaxes} must be preloaded so that \pkg{lwarp} may patch it for \HTML.
% \begin{macrocode}
\LWR at PreloadedPackage{fontaxes}
% \end{macrocode}
+% Various font packages which may be loaded before \pkg{lwarp}:
+% \begin{macrocode}
+\LWR at PreloadedPackage{cmbright}
+\LWR at PreloadedPackage{fourier}
+\LWR at PreloadedPackage{kpfonts}
+\LWR at PreloadedPackage{kpfonts-otf}
+\LWR at PreloadedPackage{libertinust1math}
+\LWR at PreloadedPackage{pxfonts}
+\LWR at PreloadedPackage{txfonts}
+\LWR at PreloadedPackage{txgreeks}
+\LWR at PreloadedPackage{newpxmath}
+\LWR at PreloadedPackage{newtxmath}
+\LWR at PreloadedPackage{newtxsf}
+\LWR at PreloadedPackage{mathalpha}
+\LWR at PreloadedPackage{unicode-math}
+% \end{macrocode}
+
% \pkg{nfssext-cfr} may be preloaded by \pkg{cfm-lm} or related font packages.
% \begin{macrocode}
\LWR at PreloadedPackage{nfssext-cfr}
@@ -35403,7 +38460,7 @@
\newrobustcmd{\LWR at siunitx@textdegree}{\HTMLentity{deg}}
\newrobustcmd{\LWR at siunitx@textprime}{\HTMLunicode{2032}}
\newrobustcmd{\LWR at siunitx@textdblprime}{\HTMLunicode{2033}}
-\newrobustcmd{\LWR at siunitx@textplanckbar}{\text{\textit{\HTMLunicode{0127}}}}
+\newrobustcmd{\LWR at siunitx@textplanckbar}{\text{\textit{\HTMLunicode{210F}}}}
\appto\LWR at restoreorigformatting{%
\renewrobustcmd{\LWR at siunitx@textcelsius}{\text{\ensuremath{^\circ}C}}%
@@ -35726,16 +38783,9 @@
-
% \section{\pkg{cleveref}}
-% \label{sec:cleveref}
-
-% \DescribePackage{cleveref}
-% \pkg{cleveref} package is used as-is with minor patches.
%
-% \limitscpageref
-%
-% \pkg{cleveref} and the following associated macro patches are
+% \pkg{cleveref} and \pkg{lwarp-cleveref} with its associated macro patches are
% \margintag{loading order}
% automatically preloaded at the end of the preamble via \cs{AtEndPreamble}
% and \cs{AfterEndPreamble}.
@@ -35746,182 +38796,26 @@
% \cs{crefname}, then \pkg{cleveref} may be loaded in the user's preamble near the
% end, and \pkg{lwarp}'s additional loading of \pkg{cleveref} will have no effect.
%
-% \Cref{tab:crossrefdata} on page \pageref{tab:crossrefdata}
-% shows the data structure of the label/reference system
-% as revised by \pkg{lwarp} and \pkg{cleveref}.
-
-
-% A few patches allow \pkg{cleveref} to work as-is:
-
-% \codehtml
-% \begin{macrocode}
-\begin{warpHTML}
-% \end{macrocode}
+% \cs{AtEndPreable} forces \pkg{cleveref} to be loaded last,
+% if it has not yet been loaded by the user.
%
-% \cs{AtEndPreable} forces \pkg{cleveref} to be loaded last:
-%
% \changes{v0.19}{2016/06/06}{cleveref: Loaded \cs{AtEndPreamble}.}
% \changes{v0.33}{2017/06/18}{cleveref: Fix: Loaded \cs{AtEndPreamble}.}
%
+% \codehtml
% \begin{macrocode}
+\begin{warpHTML}
+
\AtEndPreamble{
\RequirePackage{cleveref}
}
-% \end{macrocode}
-%
-%
-% \changes{v0.20}{2017/01/05}{\pkg{cleveref} and referencing patches:
-% Applied \cs{AfterEndPreamble}.}
-%
-% \begin{flushleft}
-% The following patches are applied after \pkg{cleveref} has loaded,
-% and after \cs{AtBeginDocument}. Print-mode versions are not required
-% since they all come down to \cs{ref} eventually, and \cs{ref} has a print-mode
-% version.
-% \end{flushleft}
-% \begin{macrocode}
-\AfterEndPreamble{
-\LWR at traceinfo{Patching cleveref.}
-% \end{macrocode}
-% \begin{macro}{\@@@setcref} \marg{kindofref} \marg{label}
-%
-% \cs{@templabel} becomes the section number.
-%
-% \changes{v0.48}{2018/02/10}{Fix for new v0.21 of \pkg{cleveref}.}
-% \begin{macrocode}
-\def\LWR at orig@@@setcref#1#2{\cref at getlabel{#2}{\@templabel}#1{\@templabel}{}{}}%
-
-\ifdefequal{\@@setcref}{\LWR at orig@@@setcref}{% before v0.21
- \renewcommand*{\@@setcref}[2]{#1{\ref{#2}}{}{}}
-}{
- \ifdefequal{\@@@setcref}{\LWR at orig@@@setcref}{% as of v0.21
- \renewcommand*{\@@@setcref}[2]{#1{\ref{#2}}{}{}}
- }{
- \PackageWarning{lwarp-cleveref}{
- Unknown version of cleveref.
- \protect\cref\space will fail.
- }%
- }
-}
+\end{warpHTML}
% \end{macrocode}
-% \end{macro}
-
-%\begin{macro}{\@@@setcrefrange} \marg{text} \marg{label} \marg{label}
-% \changes{v0.48}{2018/02/10}{Fix for new v0.21 of \pkg{cleveref}.}
-% \begin{macrocode}
-\def\LWR at orig@@@setcrefrange#1#2#3{%
- \cref at getlabel{#2}{\@labela}%
- \cref at getlabel{#3}{\@labelb}%
- #1{\@labela}{\@labelb}{}{}{}{}}%
-
-\ifdefequal{\@@setcrefrange}{\LWR at orig@@@setcrefrange}{
- \renewcommand{\@@setcrefrange}[3]{%
- #1{\ref{#2}}{\ref{#3}}{}{}{}{}%
- }
-}{
- \ifdefequal{\@@@setcrefrange}{\LWR at orig@@@setcrefrange}{
- \renewcommand{\@@@setcrefrange}[3]{%
- #1{\ref{#2}}{\ref{#3}}{}{}{}{}%
- }
- }{
- \PackageWarning{lwarp-cleveref}{
- Unknown version of cleveref.
- \protect\crefrange\space will fail.
- }
- }
-}
-
-% \end{macrocode}
-% \end{macro}
-
-% ^^A orig:
-% ^^A \def\@@setcpageref#1#2{%
-% ^^A \cref at getpageref{#2}{\@temppage}#1{\@temppage}{}{}}
-
-
-% \label{sec:cpagereffor}
-% \begin{macro}{\cpagerefFor} Redefinable word between ``page(s)'' and the page numbers.
%
-% \changes{v0.20}{2017/01/03}{User-redefinable word for page references.}
%
-% \begin{macrocode}
-\newcommand*{\cpagerefFor}{for}
-% \end{macrocode}
-% \end{macro}
-
-% \begin{macro}{\@@@setcpageref} \marg{typeofref} \marg{label},
-% where typeofref is ``page'' or ``pages''
+% \section{Preexisting label and reference definitions}
%
-% \changes{v0.48}{2018/02/10}{Fix for new v0.21 of \pkg{cleveref}.}
-% \begin{macrocode}
-\def\LWR at orig@@setcpageref#1#2{% before v0.21
- \cref at getpageref{#2}{\@temppage}#1{\@temppage}{}{}}%
-
-\def\LWR at orig@@@setcpageref#1#2{% as of v0.21
- \cpageref at getlabel{#2}{\@temppage}#1{\@temppage}{}{}}%
-
-\ifdefequal{\@@setcpageref}{\LWR at orig@@setcpageref}{
- \renewcommand*{\@@setcpageref}[2]{%
- #1{\cpagerefFor\ \cref{#2}}{}{}%
- }
-}{
- \ifdefequal{\@@@setcpageref}{\LWR at orig@@@setcpageref}{
- \renewcommand*{\@@@setcpageref}[2]{%
- #1{\cpagerefFor\ \cref{#2}}{}{}%
- }
- }
- {
- \PackageWarning{lwarp-cleveref}{
- Unknown version of cleveref.
- \protect\cpageref\space will fail.
- }
- }
-}
-% \end{macrocode}
-% \end{macro}
-
-
-% ^^A orig:
-% ^^A \def\@@setcpagerefrange#1#2#3{%
-% ^^A \cref at getpageref{#2}{\@pagea}%
-% ^^A \cref at getpageref{#3}{\@pageb}%
-% ^^A #1{\@pagea}{\@pageb}{}{}{}{}}
-
-% \begin{macrocode}
-\def\LWR at orig@@setcpagerefrange#1#2#3{% before v0.21
- \cref at getpageref{#2}{\@pagea}%
- \cref at getpageref{#3}{\@pageb}%
- #1{\@pagea}{\@pageb}{}{}{}{}}%
-
-\def\LWR at orig@@@setcpagerefrange#1#2#3{% as of v0.21
- \cpageref at getlabel{#2}{\@pagea}%
- \cpageref at getlabel{#3}{\@pageb}%
- #1{\@pagea}{\@pageb}{}{}{}{}}%
-
-\ifdefequal{\@@setcpagerefrange}{\LWR at orig@@setcpagerefrange}{
- \renewcommand*{\@@setcpagerefrange}[3]{%
- #1{\cpagerefFor\ \cref{#2}}{\cref{#3}}{}{}{}{}%
- }
-}{
- \ifdefequal{\@@@setcpagerefrange}{\LWR at orig@@@setcpagerefrange}{
- \renewcommand*{\@@@setcpagerefrange}[3]{%
- #1{\cpagerefFor\ \cref{#2}}{\cref{#3}}{}{}{}{}%
- }
- }
- {
- \PackageWarning{lwarp-cleveref}{
- Unknown version of cleveref.
- \protect\cpagerefrange\space will fail.
- }
- }
-}
-
-}% AfterEndPreamble
-% \end{macrocode}
-
-
-%
% Remember and patch some label-related defintions.
% These will be further encased and patched by other packages later.
%
@@ -35928,12 +38822,16 @@
% \cs{label} and \cs{pageref} do NOT change their behavior according to
% print or \HTML\ output, and thus do not use the \cs{LWR at formatted} system.
%
+% \codehtml
% \begin{macrocode}
-\LetLtxMacro\LWR at orig@label\label
-\RenewDocumentCommand{\label}{}{\LWR at new@label}
+\begin{warpHTML}
+\LetLtxMacro\LWR at orig@label\label% includes memoir, before cleveref
+\LetLtxMacro\label\LWR at new@label
+
\LetLtxMacro\LWR at orig@pageref\pageref
-\RenewDocumentCommand{\pageref}{}{\LWR at new@pageref}
+\LetLtxMacro\pageref\LWR at new@pageref
+
\end{warpHTML}
% \end{macrocode}
@@ -36026,7 +38924,7 @@
% \begin{macrocode}
\NewDocumentEnvironment{LWR at setvirtualpage}{s O{1}}{%
\ifnumequal{\value{LWR at virtualpagedepth}}{0}{%
- \IfBooleanT{#1}{\LWR at orignewpage}%
+ \IfBooleanT{#1}{\LWR at maybe@orignewpage}%
\setlength{\linewidth}{6in/#2}%
\setlength{\textwidth}{6in}%
\setlength{\textheight}{9in}%
@@ -36180,13 +39078,16 @@
% If |FormatWP|, add a text frame:
% \changes{v0.42}{2017/10/26}{If \progcode{FormatWP} add a text frame.}
% \changes{v0.47}{2018/01/26}{Fix: Line wrap at \HTML\ hyphen.}
+% \changes{v0.895}{2021/01/14}{Improved \HTML\ quotes.}
% \begin{macrocode}
\ifbool{FormatWP}{%
\addtocounter{LWR at thisautoidWP}{1}%
\LWR at htmltag{%
- div id="\LWR at print@mbox{autoidWP-\arabic{LWR at thisautoidWP}}" %
- class="wpminipage"%
+ div id=\textquotedbl%
+ \LWR at print@mbox{autoidWP-\arabic{LWR at thisautoidWP}}%
+ \textquotedbl\ % space
+ class=\textquotedbl{}wpminipage\textquotedbl%
}%
}{}%
@@ -36194,9 +39095,10 @@
%
% Create the \element{div} tag with optional alignment style:
% \changes{v0.47}{2018/01/26}{Fix: Line wrap at \HTML\ hyphen.}
+% \changes{v0.895}{2021/01/14}{Improved \HTML\ quotes.}
% \begin{macrocode}
\LWR at traceinfo{minipage: creating div class}%
-\LWR at htmltag{div class="minipage" style="%
+\LWR at htmltag{div class=\textquotedbl{}minipage\textquotedbl\ style=\textquotedbl%
\ifthenelse{\equal{#1}{t}}{\LWR at print@mbox{vertical-align:bottom} ; }{}%
\ifthenelse{\equal{#1}{c}}{\LWR at print@mbox{vertical-align:middle} ; }{}%
\ifthenelse{\equal{#1}{b}}{\LWR at print@mbox{vertical-align:top} ; }{}%
@@ -36223,7 +39125,8 @@
}%
\LWR at traceinfo{minipage: about to print the height}%
\ifblank{#2}{}{height:\LWR at printlength{\LWR at minipageheight} ; }%
-"}%
+\textquotedbl%
+}%
% \end{macrocode}
%
% Finish with an empty line to start the contents on a new line.
@@ -36721,6 +39624,7 @@
+
% \section{Direct formatting}
% \label{sec:directformatting}
%
@@ -36730,6 +39634,27 @@
% see \cref{sec:highlevelclasses}.
+% \codeall
+% \begin{macrocode}
+\begin{warpall}
+% \end{macrocode}
+
+% \DescribeBoolean{FixSmallCaps}
+% User may set \bool{FixSmallCaps} to \optn{true} if small caps
+% are being incorrectly rendered as all caps.
+%
+% \changes{v0.87}{2020/05/12}{Added \bool{FixSmallCaps} to remove \cs{LWR at print@scshape}
+% for \pkg{erewhon}, et. al.}
+% \begin{macrocode}
+\newbool{FixSmallCaps}
+\boolfalse{FixSmallCaps}
+% \end{macrocode}
+
+% \begin{macrocode}
+\end{warpall}
+% \end{macrocode}
+
+
% \codehtml
% \begin{macrocode}
\begin{warpHTML}
@@ -36753,8 +39678,6 @@
}
\LWR at formatted{emph}
-
-\newcommand{\LWR at null@emph}[1]{#1}
% \end{macrocode}
% \end{macro}
@@ -36769,8 +39692,6 @@
}
\LWR at formatted{textmd}
-
-\newcommand{\LWR at null@textmd}[1]{#1}
% \end{macrocode}
% \end{macro}
@@ -36785,8 +39706,6 @@
}
\LWR at formatted{textbf}
-
-\newcommand{\LWR at null@textbf}[1]{#1}
% \end{macrocode}
% \end{macro}
@@ -36802,8 +39721,6 @@
}
\LWR at formatted{texteb}
-
-\newcommand{\LWR at null@texteb}[1]{#1}
% \end{macrocode}
% \end{macro}
@@ -36819,8 +39736,6 @@
}
\LWR at formatted{textlg}
-
-\newcommand{\LWR at null@textlg}[1]{#1}
% \end{macrocode}
% \end{macro}
@@ -36835,8 +39750,6 @@
}
\LWR at formatted{textrm}
-
-\newcommand{\LWR at null@textrm}[1]{#1}
% \end{macrocode}
% \end{macro}
@@ -36851,8 +39764,6 @@
}
\LWR at formatted{textsf}
-
-\newcommand{\LWR at null@textsf}[1]{#1}
% \end{macrocode}
% \end{macro}
@@ -36866,8 +39777,6 @@
}
\LWR at formatted{texttt}
-
-\newcommand{\LWR at null@texttt}[1]{#1}
% \end{macrocode}
% \end{macro}
@@ -36883,8 +39792,6 @@
}
\LWR at formatted{textup}
-
-\newcommand{\LWR at null@textup}[1]{#1}
% \end{macrocode}
% \end{macro}
@@ -36898,8 +39805,6 @@
}
\LWR at formatted{textit}
-
-\newcommand{\LWR at null@textit}[1]{#1}
% \end{macrocode}
% \end{macro}
@@ -36914,8 +39819,6 @@
}
\LWR at formatted{textsc}
-
-\newcommand{\LWR at null@textsc}[1]{#1}
% \end{macrocode}
% \end{macro}
@@ -36931,8 +39834,6 @@
}
\LWR at formatted{textulc}
-
-\newcommand{\LWR at null@textulc}[1]{#1}
% \end{macrocode}
% \end{macro}
@@ -36957,8 +39858,6 @@
}
\LWR at formatted{textsi}
-
-\newcommand{\LWR at null@textsi}[1]{#1}
% \end{macrocode}
% \end{macro}
@@ -36972,8 +39871,15 @@
}
\LWR at formatted{textsl}
+% \end{macrocode}
+% \end{macro}
-\newcommand{\LWR at null@textsl}[1]{#1}
+
+% \begin{macro}{\textssc} \marg{text}
+% \changes{v0.84}{2020/04/13}{Moved to core.}
+% \begin{macrocode}
+\newrobustcmd{\LWR at HTML@textssc}[1]{\textsc{#1}}
+\LWR at formatted{textssc}
% \end{macrocode}
% \end{macro}
@@ -36983,244 +39889,35 @@
\DeclareRobustCommand{\LWR at HTML@textnormal}[1]{\textmd{\textrm{\textup{#1}}}}
\LWR at formatted{textnormal}
-
-\newcommand{\LWR at null@textnormal}[1]{#1}
% \end{macrocode}
% \end{macro}
-
-
% \begin{macrocode}
-\newcommand{\LWR at null@rmfamily}{}
-\newcommand{\LWR at null@sffamily}{}
-\newcommand{\LWR at null@ttfamily}{}
-\newcommand{\LWR at null@bfseries}{}
-\newcommand{\LWR at null@ebweight}{}
-\newcommand{\LWR at null@lgweight}{}
-\newcommand{\LWR at null@mdseries}{}
-\newcommand{\LWR at null@upshape}{}
-\newcommand{\LWR at null@slshape}{}
-\newcommand{\LWR at null@scshape}{}
-\newcommand{\LWR at null@itshape}{}
-\newcommand{\LWR at null@normalfont}{}
-% \end{macrocode}
-%
-% \changes{v0.62}{2018/11/17}{Fix for \cs{em}.}
-% \begin{macrocode}
-\newcommand{\LWR at null@em}{}
-% \end{macrocode}
-
-
-% \begin{macro}{\LWR at nullfonts} Removes formatting during filename operations,
-% file references, and \HTML\ comments.
-%
-% \textred{Use only inside a group.}\watchout
-%
-% The following are \emph{not} made robust,
-% since they must be expanded to their nullified versions.
-%
-% \changes{v0.34}{2017/08/05}{Improved font control.}
-% \changes{v0.36}{2017/08/15}{Fix: Filenames while using \brand{MathJax}.}
-% \changes{v0.40}{2017/09/21}{Fix: Long arguments for expandable command.}
-% \changes{v0.43}{2017/10/31}{Fix: Nullify dollar inside filesnames.}
-% \changes{v0.48}{2018/02/04}{Fix: \cs{newline} in title.}
-% \changes{v0.65}{2018/12/09}{Added \cs{textsi}.}
-% \begin{macrocode}
-\catcode`\$=\active% redefining $ below
-\catcode`\_=12% redefining \_ below
-\newcommand*{\LWR at nullfonts}{%
-\LetLtxMacro\emph\LWR at null@emph%
-\LetLtxMacro\textmd\LWR at null@textmd%
-\LetLtxMacro\textbf\LWR at null@textbf%
-\LetLtxMacro\textrm\LWR at null@textrm%
-\LetLtxMacro\textsf\LWR at null@textsf%
-\LetLtxMacro\texttt\LWR at null@texttt%
-\LetLtxMacro\textup\LWR at null@textup%
-\LetLtxMacro\textit\LWR at null@textit%
-\LetLtxMacro\textsc\LWR at null@textsc%
-\LetLtxMacro\textulc\LWR at null@textulc%
-\LetLtxMacro\textsi\LWR at null@textsi%
-\LetLtxMacro\textsl\LWR at null@textsl%
-\LetLtxMacro\textnormal\LWR at null@textnormal%
-\LetLtxMacro\rmfamily\LWR at null@rmfamily%
-\LetLtxMacro\sffamily\LWR at null@sffamily%
-\LetLtxMacro\ttfamily\LWR at null@ttfamily%
-\LetLtxMacro\bfseries\LWR at null@bfseries%
-\LetLtxMacro\mdseries\LWR at null@mdseries%
-\LetLtxMacro\upshape\LWR at null@upshape%
-\LetLtxMacro\slshape\LWR at null@slshape%
-\LetLtxMacro\scshape\LWR at null@scshape%
-\LetLtxMacro\ulcshape\LWR at null@ulcshape%
-% \end{macrocode}
-% \changes{v0.65}{2018/12/10}{Added \cs{sishape}.}
-% \begin{macrocode}
-\LetLtxMacro\sishape\LWR at null@sishape%
-% \end{macrocode}
-% \begin{macrocode}
-\LetLtxMacro\itshape\LWR at null@itshape%
-\LetLtxMacro\normalfont\LWR at null@normalfont%
-\LetLtxMacro\em\LWR at null@em%
-% \end{macrocode}
-% Various built-in symbols.
-% \changes{v0.67}{2019/02/13}{Add'l symbols.}
-% \begin{macrocode}
-\renewcommand*{\$}{-}%
-\renewcommand*{\%}{-}%
-\renewcommand*{\_}{-}%
-\renewcommand*{\}}{-}%
-\renewcommand*{\{}{-}%
-\renewcommand*{\&}{and}%
-\renewcommand*{\#}{-}%
-\renewcommand*{\,}{-}%
-\renewcommand*{~}{-}%
-\renewcommand*{\^}[1]{-}%
-\renewcommand*{\~}[1]{-}%
-\renewcommand*{\newline}{-}%
-\renewcommand*{\textasciicircum}{-}%
-\renewcommand*{\textasciitilde}{-}%
-\renewcommand*{\textasteriskcentered}{-}%
-\renewcommand*{\textbackslash}{-}%
-\renewcommand*{\textbar}{-}%
-\renewcommand*{\textbardbl}{-}%
-\renewcommand*{\textbigcircle}{-}%
-\renewcommand*{\textbraceleft}{-}%
-\renewcommand*{\textbraceright}{-}%
-\renewcommand*{\textbullet}{-}%
-\renewcommand*{\textcopyright}{-}%
-\renewcommand*{\textdagger}{-}%
-\renewcommand*{\textdaggerdbl}{-}%
-\renewcommand*{\textdollar}{-}%
-\renewcommand*{\textellipsis}{-}%
-\renewcommand*{\textemdash}{-}%
-\renewcommand*{\textendash}{-}%
-\renewcommand*{\textexclamdown}{-}%
-\renewcommand*{\textgreater}{-}%
-\renewcommand*{\textless}{-}%
-\renewcommand*{\textordfeminine}{-}%
-\renewcommand*{\textordmasculine}{-}%
-\renewcommand*{\textparagraph}{-}%
-\renewcommand*{\textperiodcentered}{-}%
-\renewcommand*{\textpertenthousand}{-}%
-\renewcommand*{\textperthousand}{-}%
-\renewcommand*{\textquestiondown}{-}%
-\renewcommand*{\textquotedblleft}{-}%
-\renewcommand*{\textquotedblright}{-}%
-\renewcommand*{\textquoteleft}{-}%
-\renewcommand*{\textquoteright}{-}%
-\renewcommand*{\textregistered}{-}%
-\renewcommand*{\textsection}{-}%
-\renewcommand*{\textsterling}{-}%
-\renewcommand*{\texttrademark}{-}%
-\renewcommand*{\textunderscore}{-}%
-\renewcommand*{\textvisiblespace}{-}%
-\renewcommand*{\copyright}{-}%
-\renewcommand*{\dag}{-}%
-\renewcommand*{\ddag}{-}%
-\renewcommand*{\dots}{-}%
-\renewcommand*{\P}{-}%
-\renewcommand*{\pounds}{-}%
-\renewcommand*{\S}{-}%
-\renewcommand*{\aa}{a}%
-\renewcommand*{\AA}{A}%
-\renewcommand*{\AE}{AE}%
-\renewcommand*{\ae}{ae}%
-\renewcommand*{\dh}{d}%
-\renewcommand*{\DH}{D}%
-\renewcommand*{\DJ}{D}%
-\renewcommand*{\dj}{d}%
-\renewcommand*{\IJ}{IJ}%
-\renewcommand*{\ij}{ij}%
-\renewcommand*{\L}{L}%
-\renewcommand*{\l}{l}%
-\renewcommand*{\NG}{NG}%
-\renewcommand*{\ng}{ng}%
-\renewcommand*{\O}{O}%
-\renewcommand*{\o}{o}%
-\renewcommand*{\oe}{oe}%
-\renewcommand*{\OE}{OE}%
-\renewcommand*{\ss}{ss}%
-\renewcommand*{\SS}{SS}%
-\renewcommand*{\th}{th}%
-\renewcommand*{\TH}{TH}%
-\renewcommand*{\guillemotleft}{}%
-\renewcommand*{\guilsinglleft}{}%
-\renewcommand*{\quotedblbase}{}%
-\renewcommand*{\textquotedbl}{}%
-\renewcommand*{\guillemotright}{}%
-\renewcommand*{\guilsinglright}{}%
-\renewcommand*{\quotesinglbase}{}%
-% \end{macrocode}
-% \begin{macrocode}
-\renewcommand*{\HTMLunicode}[1]{}%
-\renewcommand*{\HTMLentity}[1]{}%
-% \end{macrocode}
-% \begin{macrocode}
-\renewcommand{\textsuperscript}[1]{##1}%
-\renewcommand{\textsubscript}[1]{##1}%
-% \end{macrocode}
-% \changes{v0.50}{2018/02/20}{Fix: \cs{underline} in sectioning file name.}
-% \begin{macrocode}
-\renewcommand{\underline}[1]{##1}%
-% \end{macrocode}
-% \changes{v0.73}{2019/06/24}{Fix: \cs{hspace} in sectioning file name.}
-% \begin{macrocode}
-\RenewDocumentCommand{\hspace}{s m}{}%
-% \end{macrocode}
-% \begin{macrocode}
-\RenewDocumentCommand{\LWR at htmlspanclass}{o m +m}{##3}%
-\DeclareExpandableDocumentCommand{\InlineClass}{D{(}{)}{} o m +m}{##4}%
-% \end{macrocode}
-% Nullify math macros.
-% \changes{v0.55}{2018/04/24}{Removed extraneous space which appeared in file links.}
-% \begin{macrocode}
-\def\(##1\){}%
-\def\[##1\]{}%
-\RenewDocumentCommand{\LWR at subsingledollar}{s m m m}{}%
-\protected\def$##1${}%
-% \end{macrocode}
-% Nullify logos:
-% \changes{v0.66}{2019/02/01}{Logos.}
-% \begin{macrocode}
-\renewcommand*{\TeX}{TeX}%
-\renewcommand*{\LaTeX}{LaTeX}%
-\renewcommand*{\LaTeXe}{LaTeX2e}%
-\renewcommand*{\LuaTeX}{LuaTeX}%
-\renewcommand*{\LuaLaTeX}{LuaLaTeX}%
-\renewcommand*{\XeTeX}{XeTeX}%
-\renewcommand*{\XeLaTeX}{XeLaTeX}%
-\renewcommand*{\ConTeXt}{ConTeXt}%
-\renewcommand*{\BibTeX}{BibTeX}%
-\renewcommand*{\MakeIndex}{MakeIndex}%
-\renewcommand*{\AmS}{AmS}%
-\renewcommand*{\MiKTeX}{MiKTeX}%
-\renewcommand*{\LyX}{LyX}%
-% \end{macrocode}
-% Use the simpler form with \cs{texorpdfstring}:
-% \changes{v0.52}{2018/03/31}{Fix: \cs{texorpdfstring} in section names.}
-% \begin{macrocode}
-\let\texorpdfstring\relax%
-\newcommand{\texorpdfstring}[2]{##2}%
+\FilenameNullify{%
+ \LetLtxMacro\emph\@firstofone%
+ \LetLtxMacro\textmd\@firstofone%
+ \LetLtxMacro\textbf\@firstofone%
+ \LetLtxMacro\texteb\@firstofone%
+ \LetLtxMacro\textlg\@firstofone%
+ \LetLtxMacro\textrm\@firstofone%
+ \LetLtxMacro\textsf\@firstofone%
+ \LetLtxMacro\texttt\@firstofone%
+ \LetLtxMacro\textup\@firstofone%
+ \LetLtxMacro\textit\@firstofone%
+ \LetLtxMacro\textsc\@firstofone%
+ \LetLtxMacro\textulc\@firstofone%
+ \LetLtxMacro\textsi\@firstofone%
+ \LetLtxMacro\textsl\@firstofone%
+ \LetLtxMacro\textssc\@firstofone%
+ \LetLtxMacro\textnormal\@firstofone%
}
-\catcode`\$=3%
-\catcode`\_=8%
% \end{macrocode}
-% \end{macro}
%
%
-% \begin{macro}{\FilenameNullify} \marg{redefinitions}
%
-% Adds more nullifying definitions for filename generation.
%
-% \changes{v0.67}{2019/02/13}{Added.}
-% \begin{macrocode}
-\newcommand*{\FilenameNullify}[1]{%
- \appto{\LWR at nullfonts}{#1}%
-}
-% \end{macrocode}
-% \end{macro}
%
-%
% \changes{v0.48}{2018/02/02}{Improved font control.}
% \changes{v0.72}{2019/05/27}{\pkg{fontaxes}: Added.}
@@ -37291,10 +39988,14 @@
% \changes{v0.48}{2018/02/02}{Improved font control.}
% \changes{v0.50}{2018/02/20}{Robustify macros.}
% \changes{v0.72}{2019/05/24}{Use \cs{LWR at formatted} for \cs{bfseries}, etc.}
+% \changes{v0.85}{2020/04/29}{Fix: Added print macros for \pkg{fontspec}.}
%
% \begin{macro}{\mdseries}
% \begin{macrocode}
-\newrobustcmd*{\LWR at HTML@mdseries}{\renewcommand*{\LWR at f@series}{md}}
+\newrobustcmd*{\LWR at HTML@mdseries}{%
+ \LWR at print@mdseries%
+ \renewcommand*{\LWR at f@series}{md}%
+}
\LWR at formatted{mdseries}
% \end{macrocode}
% \end{macro}
@@ -37301,7 +40002,10 @@
% \begin{macro}{\bfseries}
% \begin{macrocode}
-\newrobustcmd*{\LWR at HTML@bfseries}{\renewcommand*{\LWR at f@series}{bf}}
+\newrobustcmd*{\LWR at HTML@bfseries}{%
+ \LWR at print@bfseries%
+ \renewcommand*{\LWR at f@series}{bf}%
+}
\LWR at formatted{bfseries}
% \end{macrocode}
% \end{macro}
@@ -37309,7 +40013,10 @@
% \begin{macro}{\ebweight} From \pkg{nfssext-cfr}.
% \changes{v0.72}{2019/05/26}{\pkg{nfssext-cfr}: Added.}
% \begin{macrocode}
-\newrobustcmd*{\LWR at HTML@ebweight}{\renewcommand*{\LWR at f@series}{eb}}
+\newrobustcmd*{\LWR at HTML@ebweight}{%
+ \LWR at print@ebweight%
+ \renewcommand*{\LWR at f@series}{eb}%
+}
\LWR at formatted{ebweight}
% \end{macrocode}
% \end{macro}
@@ -37317,7 +40024,10 @@
% \begin{macro}{\lgweight} From \pkg{nfssext-cfr}.
% \changes{v0.72}{2019/05/26}{\pkg{nfssext-cfr}: Added.}
% \begin{macrocode}
-\newrobustcmd*{\LWR at HTML@lgweight}{\renewcommand*{\LWR at f@series}{lg}}
+\newrobustcmd*{\LWR at HTML@lgweight}{%
+ \LWR at print@lgweight%
+ \renewcommand*{\LWR at f@series}{lg}%
+}
\LWR at formatted{lgweight}
% \end{macrocode}
% \end{macro}
@@ -37324,7 +40034,10 @@
% \begin{macro}{\rmfamily}
% \begin{macrocode}
-\newrobustcmd*{\LWR at HTML@rmfamily}{\renewcommand*{\LWR at f@family}{rm}}
+\newrobustcmd*{\LWR at HTML@rmfamily}{%
+ \LWR at print@rmfamily%
+ \renewcommand*{\LWR at f@family}{rm}%
+}
\LWR at formatted{rmfamily}
% \end{macrocode}
% \end{macro}
@@ -37331,7 +40044,10 @@
% \begin{macro}{\sffamily}
% \begin{macrocode}
-\newrobustcmd*{\LWR at HTML@sffamily}{\renewcommand*{\LWR at f@family}{sf}}
+\newrobustcmd*{\LWR at HTML@sffamily}{%
+ \LWR at print@sffamily%
+ \renewcommand*{\LWR at f@family}{sf}%
+}
\LWR at formatted{sffamily}
% \end{macrocode}
% \end{macro}
@@ -37338,29 +40054,55 @@
% \begin{macro}{\ttfamily}
% \begin{macrocode}
-\newrobustcmd*{\LWR at HTML@ttfamily}{\renewcommand*{\LWR at f@family}{tt}}
+\newrobustcmd*{\LWR at HTML@ttfamily}{%
+ \LWR at print@ttfamily%
+ \renewcommand*{\LWR at f@family}{tt}%
+}
\LWR at formatted{ttfamily}
% \end{macrocode}
% \end{macro}
-
+%
+%
+% The following use \cs{AtBeginDocument} due to the
+% \LaTeX\ core \cs{reinstall at nfss@defs}, which redefines these
+% \cs{AtBeginDocument}. See \cmds{texdoc source2e}.
+%
% \begin{macro}{\upshape}
% \begin{macrocode}
-\newrobustcmd*{\LWR at HTML@upshape}{\renewcommand*{\LWR at f@shape}{up}}
-\LWR at formatted{upshape}
+\newrobustcmd*{\LWR at HTML@upshape}{%
+ \LWR at print@upshape%
+ \renewcommand*{\LWR at f@shape}{up}%
+}
+\AtBeginDocument{\LWR at formatted{upshape}}
% \end{macrocode}
% \end{macro}
% \begin{macro}{\itshape}
% \begin{macrocode}
-\newrobustcmd*{\LWR at HTML@itshape}{\renewcommand*{\LWR at f@shape}{it}}
-\LWR at formatted{itshape}
+\newrobustcmd*{\LWR at HTML@itshape}{%
+ \LWR at print@itshape%
+ \renewcommand*{\LWR at f@shape}{it}%
+}
+\AtBeginDocument{\LWR at formatted{itshape}}
% \end{macrocode}
% \end{macro}
+
% \begin{macro}{\scshape}
+%
+% Note: \cs{LWR at print@scshape} is not used here since some fonts,
+% such as \pkg{erewhon}, copy/paste as all-caps.
+%
+% \changes{v0.87}{2020/05/12}{Added \bool{FixSmallCaps} to remove \cs{LWR at print@scshape}
+% for \pkg{erewhon}, et. al.}
% \begin{macrocode}
-\newrobustcmd*{\LWR at HTML@scshape}{\renewcommand*{\LWR at f@shapecaps}{sc}}
-\LWR at formatted{scshape}
+\newrobustcmd*{\LWR at HTML@scshape}{%
+ \ifbool{FixSmallCaps}{}{%
+ \LWR at print@scshape%
+ }%
+ \renewcommand*{\LWR at f@shapecaps}{sc}%
+}
+\AtBeginDocument{\LWR at formatted{scshape}}
% \end{macrocode}
% \end{macro}
@@ -37370,22 +40112,30 @@
\@ifundefined{ulcshape}{
\LetLtxMacro\ulcshape\upshape
}{}
-\newrobustcmd*{\LWR at HTML@ulcshape}{\renewcommand*{\LWR at f@shapecaps}{ulc}}
-\LWR at formatted{ulcshape}
+\newrobustcmd*{\LWR at HTML@ulcshape}{%
+ \LWR at print@ulcshape%
+ \renewcommand*{\LWR at f@shapecaps}{ulc}%
+}
+\AtBeginDocument{\LWR at formatted{ulcshape}}
% \end{macrocode}
% \end{macro}
% \begin{macro}{\sishape}
% \changes{v0.65}{2018/12/10}{Added \cs{sishape}.}
+% \changes{v0.87}{2020/05/12}{Added \bool{FixSmallCaps} to remove \cs{LWR at print@scshape}
+% for \pkg{erewhon}, et. al.}
% \begin{macrocode}
\@ifundefined{sishape}{
\LetLtxMacro\sishape\scshape
}{}
\newrobustcmd*{\LWR at HTML@sishape}{%
+ \ifbool{FixSmallCaps}{}{%
+ \LWR at print@sishape%
+ }%
\renewcommand*{\LWR at f@shape}{it}
\renewcommand*{\LWR at f@shapecaps}{sc}%
}
-\LWR at formatted{sishape}
+\AtBeginDocument{\LWR at formatted{sishape}}
% \end{macrocode}
% \end{macro}
@@ -37392,11 +40142,22 @@
% \begin{macro}{\slshape}
% \changes{v0.62}{2018/11/11}{Added.}
% \begin{macrocode}
-\newrobustcmd*{\LWR at HTML@slshape}{\renewcommand*{\LWR at f@shape}{sl}}
-\LWR at formatted{slshape}
+\newrobustcmd*{\LWR at HTML@slshape}{%
+ \LWR at print@slshape%
+ \renewcommand*{\LWR at f@shape}{sl}%
+}
+\AtBeginDocument{\LWR at formatted{slshape}}
% \end{macrocode}
% \end{macro}
+% \begin{macro}{\sscshape}
+% \changes{v0.84}{2020/04/13}{Moved to core.}
+% \begin{macrocode}
+\newrobustcmd{\LWR at HTML@sscshape}{\LWR at HTML@scshape}
+\AtBeginDocument{\LWR at formatted{sscshape}}
+% \end{macrocode}
+% \end{macro}
+
% \begin{macro}{\normalfont}
% \changes{v0.78}{2019/11/05}{Uses \cs{LWR at formatted}.}
% \begin{macrocode}
@@ -37407,6 +40168,27 @@
+% \begin{macrocode}
+\FilenameNullify{%
+ \LetLtxMacro\rmfamily\@empty%
+ \LetLtxMacro\sffamily\@empty%
+ \LetLtxMacro\ttfamily\@empty%
+ \LetLtxMacro\bfseries\@empty%
+ \LetLtxMacro\ebweight\@empty%
+ \LetLtxMacro\lgweight\@empty%
+ \LetLtxMacro\mdseries\@empty%
+ \LetLtxMacro\upshape\@empty%
+ \LetLtxMacro\slshape\@empty%
+ \LetLtxMacro\sishape\@empty%
+ \LetLtxMacro\scshape\@empty%
+ \LetLtxMacro\itshape\@empty%
+ \LetLtxMacro\ulcshape\@empty%
+ \LetLtxMacro\sscshape\@empty%
+ \LetLtxMacro\normalfont\@empty%
+}
+% \end{macrocode}
+
+
% \begin{macro}{\sp} \marg{text}
% For \pkg{siunitx}. Must work in math mode.
@@ -37426,33 +40208,37 @@
% \begin{macro}{\textsuperscript} \marg{text}
% \changes{v0.50}{2018/02/20}{Robustify macros.}
+% \changes{v0.84}{2020/04/13}{Use \cs{LWR at formatted}.}
% \begin{macrocode}
-\renewrobustcmd{\textsuperscript}[1]{\LWR at htmlspan{sup}{#1}}
+\newrobustcmd{\LWR at HTML@textsuperscript}[1]{\LWR at htmlspan{sup}{#1}}
+\LWR at formatted{textsuperscript}
% \end{macrocode}
% \end{macro}
% \begin{macro}{\@textsuperscript} \marg{text}
% \changes{v0.42}{2017/10/16}{Added.}
+% \changes{v0.84}{2020/04/13}{Use \cs{LWR at formatted}.}
% \begin{macrocode}
-\renewcommand{\@textsuperscript}[1]{\LWR at htmlspan{sup}{#1}}
+\newcommand{\LWR at HTML@@textsuperscript}[1]{\LWR at htmlspan{sup}{#1}}
+\LWR at formatted{@textsuperscript}
% \end{macrocode}
% \end{macro}
% \begin{macro}{\textsubscript} \marg{text}
% \changes{v0.50}{2018/02/20}{Robustify macros.}
+% \changes{v0.84}{2020/04/13}{Use \cs{LWR at formatted}. No longer \cs{AtBeginDocument}.}
% \begin{macrocode}
-\AtBeginDocument{
-\renewrobustcmd{\textsubscript}[1]{\LWR at htmlspan{sub}{#1}}
-}
+ \newrobustcmd{\LWR at HTML@textsubscript}[1]{\LWR at htmlspan{sub}{#1}}
+ \LWR at formatted{textsubscript}
% \end{macrocode}
% \end{macro}
% \begin{macro}{\@textsubscript} \marg{text}
% \changes{v0.42}{2017/10/16}{Added.}
+% \changes{v0.84}{2020/04/13}{Use \cs{LWR at formatted}. No longer \cs{AtBeginDocument}.}
% \begin{macrocode}
-\AtBeginDocument{
-\renewcommand{\@textsubscript}[1]{\LWR at htmlspan{sub}{#1}}
-}
+ \newcommand{\LWR at HTML@@textsubscript}[1]{\LWR at htmlspan{sub}{#1}}
+ \LWR at formatted{@textsubscript}
% \end{macrocode}
% \end{macro}
@@ -37609,6 +40395,7 @@
% \changes{v0.45}{2017/12/29}{Improved: Robust \cs{,}, \cs{~}, and \cs{textellipsis} commands.}
% \changes{v0.56}{2018/05/09}{Added \cs{thinspace}.}
% \changes{v0.61}{2018/09/23}{Spaces redefined \cs{AtBeginDocument}.}
+% \changes{v0.88}{2020/07/03}{Added \cs{vdots}.}
% \begin{macrocode}
\AtBeginDocument{
\renewrobustcmd*{\,}{\HTMLunicode{202f}} % HTML thin non-breakable space
@@ -37616,6 +40403,7 @@
\renewrobustcmd*{\negthinspace}{\HTMLunicode{202f}} % HTML thin non-breakable space
\renewrobustcmd*{~}{\HTMLentity{nbsp}}
\renewrobustcmd*{\textellipsis}{\HTMLunicode{2026}}
+\renewrobustcmd*{\vdots}{\HTMLunicode{22EE}}
}
% \end{macrocode}
%
@@ -37681,8 +40469,26 @@
% \begin{macro}{\hrulefill}
% \changes{v0.20}{2017/01/19}{Inserts a short rule.}
% \changes{v0.58}{2018/06/07}{Improved print/\HTML\ output selection.}
+% \changes{v0.88}{2020/06/28}{Full line \element{div} if not started paragraph.}
% \begin{macrocode}
-\newcommand*{\LWR at HTML@hrulefill}{\rule{1in}{1pt}}
+\newcommand*{\LWR at HTML@hrulefill}{%
+ \ifbool{LWR at doingapar}%
+ {\rule{1in}{1pt}}%
+ {%
+ \LWR at findcurrenttextcolor%
+ \ifdefstring{\LWR at tempcolor}{000000}%
+ {%
+ \begin{BlockClass}{hrule}%
+ \end{BlockClass}%
+ }%
+ {%
+ \begin{BlockClass}[%
+ border-top: 1px solid \LWR at origpound\LWR at tempcolor % space
+ ]{hrule}%
+ \end{BlockClass}%
+ }%
+ }%
+}%
\LWR at formatted{hrulefill}
% \end{macrocode}
% \end{macro}
@@ -37777,7 +40583,7 @@
% Placed just before \cs{hspace}, \cs{quad}, or \cs{qquad}'s \HTML\ output.
% \begin{macrocode}
\newcommand*{\LWR at minipagestartpars}{%
-\ifbool{LWR at minipagethispar}{\LWR at startpars}{}%
+ \ifbool{LWR at minipagethispar}{\LWR at startpars}{}%
}
% \end{macrocode}
% \end{macro}
@@ -37786,7 +40592,7 @@
% Placed just after \cs{hspace}, \cs{quad}, or \cs{qquad}'s \HTML\ output.
% \begin{macrocode}
\newcommand*{\LWR at minipagestoppars}{%
-\ifbool{LWR at minipagethispar}{\LWR at stoppars}{}%
+ \ifbool{LWR at minipagethispar}{\LWR at stoppars}{}%
}
% \end{macrocode}
% \end{macro}
@@ -37799,9 +40605,9 @@
% \changes{v0.65}{2018/12/22}{Changed to Unicode EM SPACE.}
% \begin{macrocode}
\renewrobustcmd*{\quad}{%
-\LWR at minipagestoppars%
-\HTMLunicode{2003}%
-\LWR at minipagestartpars%
+ \LWR at minipagestoppars%
+ \HTMLunicode{2003}%
+ \LWR at minipagestartpars%
}
% \end{macrocode}
% \end{macro}
@@ -37820,9 +40626,9 @@
% \changes{v0.65}{2018/12/22}{Changed to Unicode EN SPACE.}
% \begin{macrocode}
\renewrobustcmd*{\enskip}{%
-\LWR at minipagestoppars%
-\HTMLunicode{2002}%
-\LWR at minipagestartpars%
+ \LWR at minipagestoppars%
+ \HTMLunicode{2002}%
+ \LWR at minipagestartpars%
}
% \end{macrocode}
% \end{macro}
@@ -37881,11 +40687,12 @@
}%
% \end{macrocode}
% Print the span with the converted width. Not rounded.
+% \changes{v0.895}{2021/01/14}{Improved \HTML\ quotes.}
% \begin{macrocode}
{%
\LWR at htmltagc{%
- span style="width:\LWR at printlength{\LWR at tempwidth}; % extra space
- display:inline-block"%
+ span style=\textquotedbl{}width:\LWR at printlength{\LWR at tempwidth}; % extra space
+ display:inline-block\textquotedbl%
}%
% \end{macrocode}
% If formatting for a word processor, approximate with a number of \cs{quad}s,
@@ -38068,11 +40875,12 @@
% less than 1pt is quite common in \LaTeX\ code.
% \changes{v0.57}{2018/06/02}{Fix: Colored rules.}
% \changes{v0.66}{2019/02/02}{Improved \HTML\ formatting.}
+% \changes{v0.895}{2021/01/14}{Improved \HTML\ quotes.}
% \begin{macrocode}
\LWR at findcurrenttextcolor%
\LWR at htmltagc{%
span\LWR at indentHTML%
- style="%
+ style=\textquotedbl%
% \end{macrocode}
% The \HTML\ background color is used to draw the filled rule according
% to the \LaTeX\ foreground color set by \cs{textcolor}.
@@ -38107,8 +40915,9 @@
}%
% \end{macrocode}
% Display inline-block to place the span inline with the text:
+% \changes{v0.895}{2021/01/14}{Improved \HTML\ quotes.}
% \begin{macrocode}
- display:inline-block;"\LWR at orignewline%
+ display:inline-block;\textquotedbl\LWR at orignewline%
}%
% \end{macrocode}
% If formatting for a word processor, approximate with a number of underscores,
@@ -38144,6 +40953,33 @@
% \end{macrocode}
% \end{macro}
%
+%
+% ^^A This doesn't work because \hrule is used in many places at a low level.
+% ^^A % \begin{macro}{\hrule}
+% ^^A % Generates a <div>, then uses the original to consume any arguments.
+% ^^A % The print-mode rule is not seen by \prog{pdftotext}.
+% ^^A %
+% ^^A % \changes{v0.88}{2020/06/22}{Added.}
+% ^^A % \begin{macrocode}
+% ^^A \renewcommand*{\hrule}{%
+% ^^A \ifbool{LWR at doingstartpars}%
+% ^^A {%
+% ^^A \begin{BlockClass}[border-top:1px solid silver]{hrule}%
+% ^^A \end{BlockClass}%
+% ^^A }{}%
+% ^^A \LWR at orig@hrule%
+% ^^A }
+% ^^A % \end{macrocode}
+% ^^A %
+% ^^A % Not needed, since print-mode \env{BlockClass} does nothing:
+% ^^A % \begin{sourceverb}
+% ^^A % \appto\LWR at restoreorigformatting{
+% ^^A % \let\hrule\LWR at orig@hrule%
+% ^^A % }
+% ^^A % \end{sourceverb}
+% ^^A % \end{macro}
+%
+%
% \begin{macrocode}
\end{warpHTML}
% \end{macrocode}
@@ -38158,17 +40994,18 @@
\begin{warpHTML}
% \end{macrocode}
-% \begin{macro}{\phantomsection}
+% \begin{macro}{\LWR at phantomsection}
% Emulate the \pkg{hyperref} \cs{phantomsection} command,
% often used to insert the bibliography into the table of contents.
% Ignores \cs{ForceHTMLTOC}.
% \changes{v0.55}{2018/04/26}{Fix: \cs{ForceHTMLTOC} with \cs{phantomsection}.}
+% \changes{v0.86}{2020/05/07}{\pkg{hyperref}: Adjusted emulation.}
% \begin{macrocode}
-\DeclareDocumentCommand{\phantomsection}{}{%
-\begingroup%
-\boolfalse{LWR at forcinghtmltoc}%
-\section*{}%
-\endgroup%
+\newrobustcmd*{\LWR at phantomsection}{%
+ \begingroup%
+ \boolfalse{LWR at forcinghtmltoc}%
+ \section*{}%
+ \endgroup%
}
% \end{macrocode}
% \end{macro}
@@ -38202,23 +41039,34 @@
%
%
% \changes{v0.62}{2018/10/23}{Logos: Fix for \XeTeX\ logo if \pkg{graphics} is not loaded.}
+% \changes{v0.84}{2020/04/06}{Logos: Only warn about \pkg{graphics} if actually use \cs{Xe}.}
%
% \codeall
% \begin{macrocode}
\begin{warpall}
+\newbool{LWR at warnXe}
+\boolfalse{LWR at warnXe}
+
\newrobustcmd*{\Xe}
- {X\hspace{-.1667em}\raisebox{-.5ex}{E}}
+ {%
+ X\hspace{-.1667em}\raisebox{-.5ex}{E}%
+ \global\booltrue{LWR at warnXe}%
+ }
\AtBeginDocument{
-\@ifpackageloaded{graphics}{
- \@ifpackageloaded{metalogo}{}{
- \renewrobustcmd*{\Xe}
- {X\hspace{-.1667em}\raisebox{-.5ex}{\reflectbox{E}}}
- }
-}{
- \PackageWarningNoLine{lwarp}{Load graphicx or graphics
- for improved XeTeX logo}
+ \@ifpackageloaded{graphics}{
+ \@ifpackageloaded{metalogo}{}{
+ \renewrobustcmd*{\Xe}
+ {X\hspace{-.1667em}\raisebox{-.5ex}{\reflectbox{E}}}
+ }
+ }{}
}
+
+\AtEndDocument{
+ \ifbool{LWR at warnXe}{
+ \PackageWarningNoLine{lwarp}{Load graphicx or graphics
+ for improved XeTeX logo}
+ }{}
}
\providerobustcmd*{\XeTeX}{\mbox{\Xe\hspace{-.125em}\TeX}}
@@ -38422,7 +41270,7 @@
%
-% \section{\cs{AtBeginDocument}, \cs{AtEndDocument}}
+% \section{Starting and stopping \pkg{lwarp}}
% \codehtml
% \begin{macrocode}
@@ -38446,8 +41294,74 @@
% \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,
+% so its patches are loaded now.
+%
+% \codehtml
+%
+% \changes{v0.84}{2020/04/14}{Fixed: \pkg{textcomp} now in kernel.}
+% \begin{macrocode}
+\begin{warpHTML}
+\RequirePackage{lwarp-textcomp}
+\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}
+}{}
+% \end{macrocode}
+%
+%
+% \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}.
@@ -38473,22 +41387,25 @@
% Load patches to \pkg{memoir}.
%
% \changes{v0.45}{2017/12/03}{\pkg{memoir}: Added.}
+% \changes{v0.84}{2020/03/31}{\pkg{memoir}: Preloads \pkg{xcolor}.}
%
+% \codeall
+% \begin{macrocode}
+\begin{warpprint}
+\@ifclassloaded{memoir}{\LWR at origRequirePackage{xcolor}}{}
+\end{warpprint}
+% \end{macrocode}
+
% \codehtml
% \begin{macrocode}
\begin{warpHTML}
-% \end{macrocode}
-%
-% \begin{macrocode}
\@ifclassloaded{memoir}{\RequirePackage{lwarp-patch-memoir}}{}
-% \end{macrocode}
-%
-% \begin{macrocode}
\end{warpHTML}
% \end{macrocode}
+
% \section{\pkg{ut*} class patches}
%
% Load patches to \pkg{uj*} and \pkg{ut*} classes, as well as \pkg{ltj*} classes.
@@ -38525,6 +41442,7 @@
\quad%
}
}
+ \renewcommand*{\LWR at printchaptername}{}
% \end{macrocode}
% Use decimal points instead of centered dots:
% \begin{macrocode}
@@ -38610,6 +41528,8 @@
\LWR at isolate{\CTEX at chaptername}~%
\CTEX at chapter@aftername%
}%
+
+ \renewcommand*{\LWR at printchaptername}{}
}{}
}
% \end{macrocode}
@@ -38691,7 +41611,7 @@
\typeout{Package lwarp:}
\typeout{If the error}
\typeout{\space\space``! Undefined control sequence.
- \space ... \space \protect\@begindocumenthook''}
+ \space ... \space \protect\__hook begindocument''}
\typeout{occurs here, use the polyglossia macro:}
\typeout{\space\space\protect\setmainlanguage\protect{...\protect}}
\typeout{---}
@@ -38714,13 +41634,12 @@
%
%
% \section{\brand{MathJax} warnings}
-% ^^A *mathjax
%
% \begin{macro}{\LWR at mathjaxwarn} \marg{packagename} \marg{More text.}
%
% To be done \cs{AtBeginDocument}.
%
-% \changes{v0.79}{2020/01/18}{Warn if using packages not supported by \brand{MathJax}.}
+% \changes{v0.79}{2020/01/18}{Warn if using packages partially supported by \brand{MathJax}.}
% \begin{macrocode}
\newcommand*{\LWR at mathjaxwarn}[2]{%
\@ifpackageloaded{lwarp-#1}{%
@@ -38741,60 +41660,147 @@
}{}%
}
+% \begin{macro}{\LWR at nomathjaxwarn} \marg{packagename} \marg{More text.}
+%
+% To be done \cs{AtBeginDocument}.
+%
+% \changes{v0.894}{2020/12/22}{Warn if using packages not supported by \brand{MathJax}.}
+% \changes{v0.895}{2021/01/08}{Improved \brand{MathJax} warning.}
+% \begin{macrocode}
+\newcommand*{\LWR at nomathjaxwarn}[2]{%
+ \@ifpackageloaded{lwarp-#1}{%
+ \ifblank{#2}{%
+ \PackageWarningNoLine{lwarp}
+ {%
+ Lwarp does not provide MathJax support for #1.\MessageBreak
+ Use SVG math by removing the Lwarp mathjax option%
+ }
+ }{%
+ \PackageWarningNoLine{lwarp}
+ {%
+ Lwarp does not provide MathJax support for #1.\MessageBreak
+ #2%
+ }
+ }%
+ }{}%
+}
+% \end{macrocode}
+%
+% \begin{macro}{\LWR at forceSVGmessage} \marg{packagename}
+% \changes{v0.894}{2020/12/22}{Improved \brand{MathJax} warnings.}
+% \changes{v0.895}{2021/01/08}{Improved \brand{MathJax} warning.}
+% \begin{macrocode}
+\newcommand*{\LWR at forceSVGmessage}[1]{%
+ SVG math output may be enabled for select math\MessageBreak
+ expressions to preserve #1 visual\MessageBreak
+ features for those particular expressions.\MessageBreak
+ Before the chosen inline math, use \protect\inlinemathother\MessageBreak
+ to begin using SVG math, and \protect\inlinemathnormal\MessageBreak
+ afterward to resume using MathJax math.\MessageBreak
+ Before display math, use \protect\displaymathother\MessageBreak
+ to begin using SVG math, and use \protect\displaymathnormal\MessageBreak
+ after to resume using MathJax for the following math.\MessageBreak
+ Or, use SVG math for all expressions by removing\MessageBreak
+ the mathjax option for the lwarp package%
+}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% ^^A *mathjax warnings
+%
+% If \brand{MathJax} is being used, issue a warning for certain packages.
+% \changes{v0.894}{2020/12/22}{Improved \brand{MathJax} warnings.}
+% \changes{v0.895}{2021/02/06}{Added \brand{MathJax} warnings for
+% \pkg{aligned-overset}, \pkg{autoaligne}, \pkg{boldtensors},
+% \pkg{liberitinust1math}, \pkg{tensind}.}
+% \changes{v0.895}{2021/02/06}{Improved \brand{MathJax} warning for \pkg{unicode-math}.}
+% \begin{macrocode}
\AtBeginDocument{
\ifbool{mathjax}{
+ \LWR at nomathjaxwarn{aligned-overset}{}
+ \LWR at nomathjaxwarn{amscdx}
+ {\LWR at forceSVGmessage{amscdx}}
\LWR at mathjaxwarn{arydshln}
{In a math array, do not use the optional argument\MessageBreak
for \protect\cdashline.\space\space
Furthermore, \protect\cline\space is not\MessageBreak
supported by MathJax}
+ \LWR at nomathjaxwarn{autoaligne}{}
\LWR at mathjaxwarn{autonum}
{MathJax does not support equation+.\MessageBreak
You may use the warpprint and warpHTML\MessageBreak
environments to isolate the package load\MessageBreak
and the equation+ environments}
- \LWR at mathjaxwarn{backnaur}
- {You may enclose its uses inside\MessageBreak
- lateximage environments to force SVG output,\MessageBreak
- but this also changes the print output}
\LWR at mathjaxwarn{bigdelim}
{Delimiters appear only of the first line}
+ \LWR at nomathjaxwarn{boldtensors}{}
\LWR at mathjaxwarn{booktabs}
- {In a math array, do not use (trim) for \protect\cmidrule}
+ {\protect\cmidrule\space is not displayed}
\LWR at mathjaxwarn{breqn}
{Each environment becomes an SVG image}
+ \LWR at mathjaxwarn{colortbl}
+ {Colors are ignored in MathJax.\MessageBreak
+ (Text mode tabular does support colortbl.)\MessageBreak
+ \LWR at forceSVGmessage{colortbl}}
\LWR at mathjaxwarn{delarray}
- {Enclose its uses inside lateximage\MessageBreak
- environments to force SVG output}
- \LWR at mathjaxwarn{jkmath}{}
- \LWR at mathjaxwarn{mathspec}{}
+ {\LWR at forceSVGmessage{delarray}}
+ \LWR at nomathjaxwarn{gauss}
+ {\LWR at forceSVGmessage{gauss}}
+ \LWR at mathjaxwarn{hhline}
+ {A simple \protect\hline\space is used}
+ \LWR at mathjaxwarn{isomath}
+ {Some of the symbol font macros such as \protect\mathsfbfit\MessageBreak
+ do not use a sans font because MathJax does not yet\MessageBreak
+ have sans Greek. Tensors may look like vectors%
+ }
+ \LWR at nomathjaxwarn{jkmath}
+ {\LWR at forceSVGmessage{jkmath}}
+ \LWR at mathjaxwarn{libertinust1math}
+ {Some of the symbol font macros such as \protect\mathsfbfit\MessageBreak
+ do not use a sans font because MathJax does not yet\MessageBreak
+ have sans Greek. Tensors may look like vectors%
+ }
\LWR at mathjaxwarn{mathtools}
- {Avoid starred macros.\MessageBreak
- See the Lwarp manual for other limitations}
+ {See the Lwarp manual regarding the disallowspaces\MessageBreak
+ and showonlyrefs options, the alignat environment,\MessageBreak
+ and \protect\DeclarePairedDelimiter\space and related%
+ }
+ \LWR at mathjaxwarn{mathspec}
+ {Double quotes are removed, even inside \protect\text}
\LWR at mathjaxwarn{multirow}
{Multirow works as expected in text mode, but\MessageBreak
limited emulation is provided for MathJax math.\MessageBreak
\protect\multirow\space ignores all arguments except\MessageBreak
the text}
- \LWR at mathjaxwarn{pb-diagram}
- {Enclose its uses inside lateximage environments\MessageBreak
- to force SVG output}
- \LWR at mathjaxwarn{physics}
- {The third-party extension is not yet used.\MessageBreak
- Avoid starred macros and automatic delimiters.\MessageBreak
- Use all mandatory arguments, adding empty as needed.\MessageBreak
- See the Lwarp manual for details}
+ \LWR at mathjaxwarn{nicematrix}
+ {Keys/values are ignored in MathJax.\MessageBreak
+ \protect\Cdots, etc. do not span multiple cells.\MessageBreak
+ AutoNiceMatrix, etc. are not supported for MathJax.\MessageBreak
+ \LWR at forceSVGmessage{nicematrix}%
+ }
+ \LWR at nomathjaxwarn{pb-diagram}
+ {\LWR at forceSVGmessage{pb-diagram}}
+% \LWR at mathjaxwarn{physics}
+% % {The third-party extension is not used.\MessageBreak
+% {The MathJax v3 extension is used.\MessageBreak
+% See the Lwarp manual for details}
+ \LWR at nomathjaxwarn{tensind}{}
\LWR at mathjaxwarn{unicode-math}
- {Not all characters are encoded correctly.\MessageBreak
+ {Do not use embedded Unicode characters.\MessageBreak
+ (Not all characters are encoded correctly.)\MessageBreak
Some symbol fonts are not supported by MathJax,\MessageBreak
- and are only approximated}
+ and are only approximated.\MessageBreak
+ Greek macros such as \protect\alpha\space respond to the math-style\MessageBreak
+ option. Latin symbols does not, per MathJax\MessageBreak
+ limitations, unless placed inside \protect\symbit\space or similar}
+ \LWR at nomathjaxwarn{unitsdef}{}
\LWR at mathjaxwarn{witharrows}
{Arrows can only point to the next line.\MessageBreak
Text is only placed on a single line}
- \LWR at mathjaxwarn{xy}
- {xy works in text, but in math you must\MessageBreak
- enclose its uses inside lateximage\MessageBreak
- environments to force SVG output}
+ \LWR at nomathjaxwarn{xy}
+ {In text, xy works as-is. SVG images will be generated.\MessageBreak
+ \LWR at forceSVGmessage{xy}}
}{}
}
% \end{macrocode}
@@ -39050,33 +42056,37 @@
\InlineClass{abstractrunintitle}{\abstractname}%
\@bslabeldelim}%
}
-
+% \end{macrocode}
+%
+% \changes{v0.84}{2020/03/28}{\pkg{abstract}: Updated for \pkg{memoir}.}
+% \begin{macrocode}
\@ifclassloaded{memoir}
{
\renewenvironment{abstract}{%
-% \titlepage
- \null\vfil
- \@beginparpenalty\@lowpenalty
+% % \titlepage
+% \null\vfil
+% \@beginparpenalty\@lowpenalty
+ \setup at bstract
\if at bsrunin
\else
- \if at bsstyle
- \abstitlestyle{\BlockClassSingle{abstracttitle}{\abstractname}}
- \else
+% \if at bsstyle
+% \abstitlestyle{\BlockClassSingle{abstracttitle}{\abstractname}}
+% \else
\ifnumber at bs
\num at bs
\else
\begin{\absnamepos}%
\abstractnamefont \BlockClassSingle{abstracttitle}{\abstractname}
- \@endparpenalty\@M
+% \@endparpenalty\@M
\end\absnamepos%
-%% \vspace{\abstitleskip}%
+ \vspace{\abstitleskip}%
\fi
- \fi
- \vspace{\abstitleskip}%
+% \fi
+% \vspace{\abstitleskip}%
\fi
\put at bsintoc%
\begin{@bstr at ctlist}\if at bsrunin\@bsrunintitle\fi\abstracttextfont}%
- {\par\end{@bstr at ctlist}\vfil\null%\endtitlepage
+ {\par\end{@bstr at ctlist}%\vfil\null%\endtitlepage
}
}{% not memoir
\if at titlepage
@@ -39196,41 +42206,97 @@
%
%
%
-%
% \iffalse
-%<*afterpage>
+%<*accents>
% \fi
%
-% \part{lwarp-afterpage.sty}
+% \part{lwarp-accents.sty}
%
-% \section{afterpage}
+% \section{accents}
%
-% \credits{David Carlisle}
+% \credits{Javier Bezos}
%
-% \DescribePackage{afterpage} \pkg{afterpage} is emulated.
+% \DescribePackage{accents}
+% \pkg{accents} is used as-is for \SVG\ math, and is
+% emulated for \brand{MathJax}.
%
-% \changes{v0.20}{2017/01/11}{\pkg{afterpage}: Added.}
+% \changes{v0.89}{2020/07/21}{\pkg{accents}: Added.}
%
% \codehtml
%
-% Discard all options for \pkg{lwarp-afterpage}:
% \begin{macrocode}
-\LWR at ProvidesPackageDrop{afterpage}[2014/10/28]
+\LWR at ProvidesPackagePass{accents}[2006/05/12]
% \end{macrocode}
%
+% For \brand{MathJax}:
% \begin{macrocode}
-\newcommand{\afterpage}[1]{#1}
+\begin{warpMathJax}
+\LWR at 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
-%</afterpage>
+%</accents>
% \fi
%
%
%
%
-%
-%
% \iffalse
%<*accessibility>
% \fi
@@ -39252,7 +42318,7 @@
%
% \begin{macrocode}
\newcommand{\alt}[1]{\ThisAltText{#1}}
-\newcommand{\newhref}[3]{\ThisAltText{#2}\href{#1}{#3}}%
+\newcommand{\newhref}[3]{\ThisAltText{#2}\LWR at href{#1}{#3}}%
\providecommand{\thead}[1]{\textbf{#1}}
% \end{macrocode}
%
@@ -39325,6 +42391,8 @@
% \DescribePackage{acro}
% \pkg{acro} is patched for use by \pkg{lwarp}.
%
+% \limitsacro
+%
% \changes{v0.48}{2018/02/02}{\pkg{acro}: Added.}
%
% \codehtml
@@ -39352,11 +42420,25 @@
\LWR at DeclareAcronym
}
% \end{macrocode}
-
+%
+%
+% Replace dot fill with simple dots:
+% \changes{v0.895}{2021/01/20}{\pkg{acro}: Updated to v3.5.}
+% \begin{macrocode}
+\ExplSyntaxOn
+\cs_new_protected:Npn \LWR at HTML@acro_dot_fill: {\dots\space}
+\LWR at formatted{acro_dot_fill:}
+\ExplSyntaxOff
+% \end{macrocode}
+%
+%
% Modified to activate the current font:
% \changes{v0.76}{2019/10/07}{\pkg{acro}: Updated for v2.10.}
% \begin{macrocode}
\ExplSyntaxOn
+\@ifpackagelater{acro}{2020/04/29}%
+{}% v3 or later
+{% before v3
\@ifpackagelater{acro}{2019/09/23}%
{% v2.10 or later
\cs_gset_protected:Npn \__acro_typeset:nn #1#2
@@ -39453,6 +42535,7 @@
\group_end:
}
}% before v2.10
+}% before v3
\ExplSyntaxOff
% \end{macrocode}
@@ -39601,8 +42684,8 @@
% \changes{v0.47}{2018/01/26}{\pkg{adjmulticol}: Fix: Line wrap at \HTML\ hyphen.}
% \begin{macrocode}
\BlockClass[%
-\LWR at print@mbox{margin-left:\LWR at printlength{\LWR at templengthone}} ; %
-\LWR at print@mbox{margin-right:\LWR at printlength{\LWR at templengthtwo}}%
+ \LWR at print@mbox{margin-left:\LWR at printlength{\LWR at templengthone}} ; %
+ \LWR at print@mbox{margin-right:\LWR at printlength{\LWR at templengthtwo}}%
]{\LWR at mcolstype}%
}
{\endBlockClass}
@@ -39885,37 +42968,37 @@
% and turns off line numbering while creating the \element{div} tags:
% \begin{macrocode}
\renewcommand{\algocf at Vline}[1]{%
-\boolfalse{LWR at algocf@dopars}%
-\begin{BlockClass}{alg2evline}
-\booltrue{LWR at algocf@dopars}%
-#1
-\boolfalse{LWR at algocf@dopars}%
-\end{BlockClass}
-\booltrue{LWR at algocf@dopars}%
+ \boolfalse{LWR at algocf@dopars}%
+ \begin{BlockClass}{alg2evline}
+ \booltrue{LWR at algocf@dopars}%
+ #1
+ \boolfalse{LWR at algocf@dopars}%
+ \end{BlockClass}
+ \booltrue{LWR at algocf@dopars}%
}
% \end{macrocode}
%
% \begin{macrocode}
\renewcommand{\algocf at Vsline}[1]{%
-\boolfalse{LWR at algocf@dopars}%
-\begin{BlockClass}{alg2evsline}
-\booltrue{LWR at algocf@dopars}%
-#1
-\boolfalse{LWR at algocf@dopars}%
-\end{BlockClass}
-\booltrue{LWR at algocf@dopars}%
+ \boolfalse{LWR at algocf@dopars}%
+ \begin{BlockClass}{alg2evsline}
+ \booltrue{LWR at algocf@dopars}%
+ #1
+ \boolfalse{LWR at algocf@dopars}%
+ \end{BlockClass}
+ \booltrue{LWR at algocf@dopars}%
}
% \end{macrocode}
%
% \begin{macrocode}
\renewcommand{\algocf at Noline}[1]{%
-\boolfalse{LWR at algocf@dopars}%
-\begin{BlockClass}{alg2enoline}
-\booltrue{LWR at algocf@dopars}%
-#1
-\boolfalse{LWR at algocf@dopars}%
-\end{BlockClass}
-\booltrue{LWR at algocf@dopars}%
+ \boolfalse{LWR at algocf@dopars}%
+ \begin{BlockClass}{alg2enoline}
+ \booltrue{LWR at algocf@dopars}%
+ #1
+ \boolfalse{LWR at algocf@dopars}%
+ \end{BlockClass}
+ \booltrue{LWR at algocf@dopars}%
}
% \end{macrocode}
%
@@ -39961,13 +43044,9 @@
%
% \changes{v0.42}{2017/10/27}{\pkg{algorithmicx}: If \progcode{FormatWP} add \cs{quad}s.}
% \changes{v0.44}{2017/11/16}{\pkg{algorithmicx}: Improved comment symbol.}
+% \changes{v0.895}{2021/01/14}{Improved \HTML\ quotes.}
%
-% \codehtml
% \begin{macrocode}
-\begin{warpHTML}
-% \end{macrocode}
-
-% \begin{macrocode}
\AtBeginEnvironment{algorithmic}{%
%
\let\origALG at doentity\ALG at doentity%
@@ -39975,7 +43054,9 @@
\renewcommand*{\ALG at doentity}{%
\origALG at doentity%
\LWR at htmltagc{%
-span style="width:\LWR at printlength{\ALG at thistlm}; display:inline-block;"%
+ span style=\textquotedbl{}%
+ width:\LWR at printlength{\ALG at thistlm}; display:inline-block;%
+ \textquotedbl%
}%
\ifbool{FormatWP}{%
\setlength{\LWR at templengthone}{\the\ALG at thistlm}%
@@ -39999,10 +43080,6 @@
}%
% \end{macrocode}
-% \begin{macrocode}
-\end{warpHTML}
-% \end{macrocode}
-
% \iffalse
%</algorithmicx>
% \fi
@@ -40024,6 +43101,7 @@
% \pkg{alltt} is patched for use by \pkg{lwarp}.
%
% \changes{v0.20}{2017/01/11}{\pkg{alltt}: Added.}
+% \changes{v0.84}{2020/04/16}{\pkg{alltt}: Added print mode.}
%
% \codehtml
%
@@ -40034,13 +43112,30 @@
% \begin{macrocode}
\AfterEndPreamble{
\LWR at traceinfo{Patching alltt.}
+
\AtBeginEnvironment{alltt}{%
-\LWR at forcenewpage
-\LWR at atbeginverbatim{3}{alltt}%
+ \ifnumcomp{\value{LWR at lateximagedepth}}{>}{0}%
+ {}%
+ {%
+ \LWR at forcenewpage
+% \end{macrocode}
+% Vertical spacing changes if inside a list.
+% \begin{macrocode}
+ \LWR at atbeginverbatim{alltt}%
+ }%
}
+
\AfterEndEnvironment{alltt}{%
- \LWR at afterendverbatim{2}%
+ \ifnumcomp{\value{LWR at lateximagedepth}}{>}{0}%
+ {}%
+ {%
+% \end{macrocode}
+% Vertical spacing changes if inside a list.
+% \begin{macrocode}
+ \LWR at afterendverbatim%
+ }%
}
+
}
% \end{macrocode}
%
@@ -40051,8 +43146,55 @@
%
%
%
+% \iffalse
+%<*amscdx>
+% \fi
%
+% \part{lwarp-amscdx.sty}
+%
+% \section{amscdx}
+%
+% \credits{Martin Vermeer}
+%
+% \DescribePackage{amscdx}
+% \pkg{amscdx} is used as-is for \SVG\ math.
+%
+% For \brand{MathJax}, a warning notes that the \env{CD} environment
+% \trouble[\brand{MathJax}]{amscdx=\pkg{amscdx}}
+% must be enclosed between \cs{displaymathother} and \cs{displaymathnormal}.
+%
+% \changes{v0.895}{2021/01/08}{\pkg{amscdx}: Added.}
+%
+% \codehtml
+%
+% \begin{macrocode}
+\LWR at ProvidesPackagePass{amscdx}[2019/07/02]
+% \end{macrocode}
+%
+% \begin{macrocode}
+\begin{warpMathJax}
+\CustomizeMathJax{%
+ \renewenvironment{CD}
+ {\text{(Use \unicode{x005C}displaymathother before the CD enviroment.) \quad}}
+ {\quad \text{(Use \unicode{x005C}displaymathnormal after the CD enviroment.)}}
+}
+
+\CustomizeMathJax{\newcommand{\CDfattrue}{}}
+\CustomizeMathJax{\newcommand{\CDfatfalse}{}}
+\CustomizeMathJax{\newcommand{\CDashtrue}{}}
+\CustomizeMathJax{\newcommand{\CDashfalse}{}}
+\CustomizeMathJax{\newcommand{\CDlor}[1]{}}
+\end{warpMathJax}
+% \end{macrocode}
+%
% \iffalse
+%</amscdx>
+% \fi
+%
+%
+%
+%
+% \iffalse
%<*amsmath>
% \fi
%
@@ -40074,6 +43216,15 @@
\LWR at ProvidesPackagePass{amsmath}[2017/09/02]
% \end{macrocode}
%
+% \begin{noindmacro}{\dotso} An \HTML\ text-mode version.
+% \changes{v0.88}{2020/07/03}{\pkg{amsmath}: Added \cs{dotso} text mode.}
+% \begin{macrocode}
+\newcommand*{\LWR at HTML@dotso}{\textellipsis\ }
+\LWR at formatted{dotso}
+% \end{macrocode}
+% \end{noindmacro}
+%
+%
% Patches to allow \cs{eqref} inside a caption:
%
% \changes{v0.49}{2018/02/18}{\pkg{amsmath}: Fix: Patches for \cs{eqref}.}
@@ -40128,6 +43279,7 @@
% 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 at amsmathenv@@before}{s m}{%
\IfBooleanTF{#1}{
@@ -40137,7 +43289,7 @@
}
\LWR at newautoidanchor%
\booltrue{LWR at indisplaymathimage}%
- \begin{lateximage}[\LWR at amsmathbodynumbered{#1}]*
+ \begin{lateximage}[\LWR at amsmathbodynumbered{#2}]*%
\LWR at applyxfakebold%
}
% \end{macrocode}
@@ -40214,7 +43366,7 @@
{\LWR at amsmathenv@@after}
% \end{macrocode}
% Clear the single-use \attribute{alt} text:
-% \changes{v0.74}{2019/08/20}{Add \cs{ThisAltText}.}
+% \changes{v0.74}{2019/08/20}{\pkg{amsmath}: Add \cs{ThisAltText}.}
% \begin{macrocode}
\gdef\LWR at ThisAltText{}%
}{}
@@ -40297,7 +43449,7 @@
% \begin{environment}{alignat}
-% \changes{v0.51}{2018/03/11}{Fix: Added.}
+% \changes{v0.51}{2018/03/11}{\pkg{amsmath}: Fix: Added.}
% \begin{macrocode}
\BeforeBeginEnvironment{alignat}{\LWR at amsmathenv@before{alignat}}
@@ -40315,12 +43467,33 @@
% \end{environment}
%
%
+% \changes{v0.86}{2020/05/08}{\pkg{amsmath}: Added support for \brand{MathJax}.}
+% \begin{macrocode}
+\AtBeginEnvironment{subequations}{
+ \renewcommand*{\theMathJaxsubequations}{1}
+ \renewcommand*{\theMathJaxsection}{\theparentequation}
+ \renewcommand*{\theMathJaxequation}{\arabic{equation}}
+}
+% \end{macrocode}
+%
+%
% For \brand{MathJax}:
% \changes{v0.79}{2020/01/27}{\pkg{amsmath}: Added \brand{MathJax} emulation.}
% \changes{v0.82}{2020/03/14}{\pkg{amsmath}: Fixed: \cs{intertext} for \brand{MathJax}.}
+% \changes{v0.895}{2021/02/11}{\pkg{amsmath}: Added \cs{Hat}, etc..}
% \begin{macrocode}
\begin{warpMathJax}
\CustomizeMathJax{\newcommand{\intertext}[1]{\text{#1}\notag \\}}
+\CustomizeMathJax{\let\Hat\hat}
+\CustomizeMathJax{\let\Check\check}
+\CustomizeMathJax{\let\Tilde\tilde}
+\CustomizeMathJax{\let\Acute\acute}
+\CustomizeMathJax{\let\Grave\grave}
+\CustomizeMathJax{\let\Dot\dot}
+\CustomizeMathJax{\let\Ddot\ddot}
+\CustomizeMathJax{\let\Breve\breve}
+\CustomizeMathJax{\let\Bar\bar}
+\CustomizeMathJax{\let\Vec\vec}
\end{warpMathJax}
% \end{macrocode}
%
@@ -40374,21 +43547,33 @@
% \begin{macrocode}
\@ifpackageloaded{mdframed}{
\PackageError{lwarp}
- {Package mdframed must be loaded after package amsthm}
{%
- Move \detokenize{\usepackage}{amsthm} before
- \detokenize{\usepackage}{mdframed}.\MessageBreak
+ Package mdframed must be loaded after package amsthm.\MessageBreak
+ Enter 'H' for solutions%
+ }
+ {%
+ Move ``\protect\usepackage{amsthm}'' before
+ ``\protect\usepackage{mdframed}''.\MessageBreak
Package amsthm may be loaded by something else,\MessageBreak
which must also be moved before mdframed.%
}
}
-{}
+{\relax}
% \end{macrocode}
%
+%
+% Necessary for \cs{text}, used by \cs{openbox}, etc., below:
+% \changes{v0.88}{2020/07/01}{\pkg{amsthm}: Requires \pkg{amsmath}.}
% \begin{macrocode}
+\RequirePackage{amsmath}
+% \end{macrocode}
+%
+%
+% \begin{macrocode}
\LWR at ProvidesPackagePass{amsthm}[2017/10/31]
% \end{macrocode}
-
+%
+%
% Storage for the style being used for new theorems:
% \begin{macrocode}
\newcommand{\LWR at newtheoremstyle}{plain}
@@ -40423,7 +43608,9 @@
\else % numbered theorem, need to check for optional arg
\def\@tempa{\@oparg{\@ynthm{#2}}[]}%
\fi
- \AtBeginEnvironment{#2}{\edef\LWR at thisthmstyle{\@nameuse{LWR at thmstyle#2}}}% lwarp
+ \AtBeginEnvironment{#2}{%
+ \edef\LWR at thisthmstyle{\@nameuse{LWR at thmstyle#2}}%
+ }% lwarp
}%
\@tempa
}
@@ -40432,15 +43619,21 @@
% Patched to enclose with \CSS:
% \begin{macrocode}
\newcommand{\LWR at haveamsthmname}{
-\renewcommand{\thmname}[1]{\InlineClass{amsthmname\LWR at thisthmstyle}{##1}}
+ \renewcommand{\thmname}[1]{%
+ \InlineClass{amsthmname\LWR at thisthmstyle}{##1}%
+ }
}
\newcommand{\LWR at haveamsthmnumber}{
-\renewcommand{\thmnumber}[1]{\InlineClass{amsthmnumber\LWR at thisthmstyle}{##1}}
+ \renewcommand{\thmnumber}[1]{%
+ \InlineClass{amsthmnumber\LWR at thisthmstyle}{##1}%
+ }
}
\newcommand{\LWR at haveamsthmnote}{
-\renewcommand{\thmnote}[1]{\InlineClass{amsthmnote\LWR at thisthmstyle}{##1}}
+ \renewcommand{\thmnote}[1]{%
+ \InlineClass{amsthmnote\LWR at thisthmstyle}{##1}%
+ }
}
\LWR at haveamsthmname
@@ -40448,15 +43641,22 @@
\LWR at haveamsthmnote
% \end{macrocode}
%
-% Patches for \CSS:
+% Patched for \CSS:
% \begin{macrocode}
\def\@begintheorem#1#2[#3]{%
+% \end{macrocode}
+% \changes{v0.84}{2020/04/07}{\pkg{amsthm}: Fix for \cs{nameref}.}
+% \begin{macrocode}
+ \GetTitleString{#3}% lwarp
+ \let\@currentlabelname\GetTitleStringResult% lwarp
+% \end{macrocode}
+% \begin{macrocode}
\item[
% \deferred at thm@head{
% \the\thm at headfont \thm at indent
- \@ifempty{#1}{\let\thmname\@gobble}{\LWR at haveamsthmname}% lwarp
- \@ifempty{#2}{\let\thmnumber\@gobble}{\LWR at haveamsthmnumber}% lwarp
- \@ifempty{#3}{\let\thmnote\@gobble}{\LWR at haveamsthmnote}% lwarp
+ \@ifempty{#1}{\let\thmname\@gobble}{\LWR at haveamsthmname}% lwarp
+ \@ifempty{#2}{\let\thmnumber\@gobble}{\LWR at haveamsthmnumber}% lwarp
+ \@ifempty{#3}{\let\thmnote\@gobble}{\LWR at haveamsthmnote}% lwarp
\thm at swap\swappedhead\thmhead{#1}{#2}{#3}%
\the\thm at headpunct~
\thmheadnl % possibly a newline.
@@ -40472,8 +43672,8 @@
\def\@thm#1#2#3{%
\ifhmode\unskip\unskip\par\fi
\normalfont
- \LWR at forcenewpage% lwarp
- \BlockClass{amsthmbody\LWR at thisthmstyle}% lwarp
+ \LWR at forcenewpage% lwarp
+ \BlockClass{amsthmbody\LWR at thisthmstyle}% lwarp
\trivlist
\let\thmheadnl\relax
\let\thm at swap\@gobble
@@ -40501,8 +43701,8 @@
\def\cref at thmoptarg[#1]#2#3#4{%
\ifhmode\unskip\unskip\par\fi%
\normalfont%
- \LWR at forcenewpage% lwarp
- \BlockClass{amsthmbody\LWR at thisthmstyle}% lwarp
+ \LWR at forcenewpage% lwarp
+ \BlockClass{amsthmbody\LWR at thisthmstyle}% lwarp
\trivlist%
\let\thmheadnl\relax%
\let\thm at swap\@gobble%
@@ -40543,9 +43743,9 @@
\def\Box{\text{\HTMLunicode{25A1}}}% UTF-8 white box
\appto\LWR at restoreorigformatting{%
-\LetLtxMacro\openbox\LWR at orig@openbox%
-\LetLtxMacro\blacksquare\LWR at orig@blacksquare%
-\LetLtxMacro\Box\LWR at orig@Box%
+ \LetLtxMacro\openbox\LWR at orig@openbox%
+ \LetLtxMacro\blacksquare\LWR at orig@blacksquare%
+ \LetLtxMacro\Box\LWR at orig@Box%
}% appto
}{}% @ifundefined
}% AtBeginDocument
@@ -41116,7 +44316,19 @@
\LWR at 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]{}
@@ -41131,7 +44343,6 @@
\def\AtBeginShipoutBoxWidth{0pt}
\def\AtBeginShipoutBoxHeight{0pt}
\def\AtBeginShipoutBoxDepth{0pt}
-
% \end{macrocode}
%
% \iffalse
@@ -41212,7 +44423,7 @@
% A file annotation becomes a reference:
% \begin{macrocode}
\DeclareRobustCommand{\atfi at insert@file at annot}[1]{%
- \href{#1}{\LWR at attachfile@appearance}%
+ \LWR at href{#1}{\LWR at attachfile@appearance}%
}
% \end{macrocode}
@@ -41310,7 +44521,7 @@
% A file annotation becomes a reference:
% \begin{macrocode}
\DeclareRobustCommand{\atfi at insert@file at annot}[1]{%
- \href{#1}{\LWR at attachfile@appearance}%
+ \LWR at href{#1}{\LWR at attachfile@appearance}%
}
% \end{macrocode}
%
@@ -41382,11 +44593,14 @@
% Require that \pkg{authblk} be loaded before \pkg{titling}:
% \begin{macrocode}
\@ifpackageloaded{titling}{
-\PackageError{lwarp-authblk}
-{Package authblk must be loaded before titling}
-{Titling appends authblk's author macro, so authblk must be loaded first.}
+ \PackageError{lwarp-authblk}
+ {Package authblk must be loaded before titling}
+ {%
+ Titling appends authblk's author macro,
+ so authblk must be loaded first.%
+ }
}
-{}
+{\relax}
% \end{macrocode}
%
% Load \pkg{authblk}:
@@ -41728,7 +44942,8 @@
% \credits{Adrian P. Robson}
%
% \DescribePackage{backnaur}
-% \pkg{backnaur} is patched for use by \pkg{lwarp}.
+% \pkg{backnaur} is patched for use by \pkg{lwarp},
+% and emulated for \brand{MathJax}.
%
% \changes{v0.72}{2019/05/20}{\pkg{backnaur}: Added.}
%
@@ -41743,7 +44958,7 @@
\renewenvironment{bnf*}{\csuse{eqnarray*}}{\csuse{endeqnarray*}}
% \end{macrocode}
%
-% ^^A % For HTML without SVG images, but also without equation numbering:
+% ^^A % For HTML without \SVG\ images, but also without equation numbering:
% ^^A %
% ^^A % A purely \HTML\ text output is generated, without math images.
% ^^A %
@@ -41789,6 +45004,43 @@
% ^^A % \@ifpackagewith{backnaur}{epsilon}{\renewcommand{\bnfes}{\HTMLunicode{3f5}}}{}% \epsilon
% ^^A % \end{macrocode}
%
+%
+% For \brand{MathJax}:
+% \begin{macrocode}
+\begin{warpMathJax}
+\CustomizeMathJax{\newcommand{\bnfpn}[1]{\langle \text{\textrm{#1}} \rangle}}
+\CustomizeMathJax{\newcommand{\bnfor}{\; \mid \;}}
+\CustomizeMathJax{\newcommand{\bnfsp}{\;}}
+\@ifpackagewith{backnaur}{perp}{
+ \CustomizeMathJax{\newcommand{\bnfes}{\perp}}
+}{
+ \@ifpackagewith{backnaur}{epsilon}{
+ \CustomizeMathJax{\newcommand{\bnfes}{\epsilon}}
+ }{
+ \CustomizeMathJax{\newcommand{\bnfes}{\lambda}}
+ }
+}
+\@ifpackagewith{backnaur}{tsrm}{
+ \CustomizeMathJax{\newcommand{\bnfts}[1]{\text{#1}}}
+}{
+ \CustomizeMathJax{\newcommand{\bnfts}[1]{\text{\texttt{#1}}}}
+}
+\CustomizeMathJax{\newcommand{\bnftd}[1]{\text{\textit{#1}}}}
+\CustomizeMathJax{\newcommand{\bnfsk}{\dots}}
+\@ifpackagewith{backnaur}{altpo}{
+ \CustomizeMathJax{\newcommand{\bnfpo}{::=}}
+}{
+ \CustomizeMathJax{\newcommand{\bnfpo}{\models}}
+}
+\CustomizeMathJax{\newcommand{\bnfprod}{\ifstar{\LWRbnfprodnn}{\LWRbnfprodyn}}}
+\CustomizeMathJax{\newcommand{\LWRbnfprodyn}[2]{\bnfpn{#1} & \bnfpo & #2}}
+\CustomizeMathJax{\newcommand{\LWRbnfprodnn}[2]{\nonumber \bnfpn{#1} & \bnfpo & #2}}
+\CustomizeMathJax{\newcommand{\bnfmore}{\ifstar{\LWRbnfmorenn}{\LWRbnfmoreyn}}}
+\CustomizeMathJax{\newcommand{\LWRbnfmoreyn}[1]{ & & #1}}
+\CustomizeMathJax{\newcommand{\LWRbnfmorenn}[1]{\nonumber & & #1}}
+\end{warpMathJax}
+% \end{macrocode}
+%
% \iffalse
%</backnaur>
% \fi
@@ -41815,6 +45067,7 @@
% generating \HTML\ output.
%
% \changes{v0.45}{2018/01/14}{\pkg{backref}: Added.}
+% \changes{v0.84}{2020/04/07}{\pkg{backref}: Fixed from \pkg{lwarp} v0.72 changes.}
%
% \codehtml
%
@@ -41824,7 +45077,13 @@
% Force the \optn{hyperref} option:
% \begin{macrocode}
-\def\backref{}\let\backrefxxx\hyper at section@backref
+\def\backref{}
+
+\long\def\hyper at section@backref#1#2#3{%
+ \ref{#3}%
+}
+
+\let\backrefxxx\hyper at section@backref
% \end{macrocode}
% \iffalse
@@ -42191,7 +45450,12 @@
}{}
% \end{macrocode}
%
+% \pkg{hyperref} emulation is loaded \cs{AtBeginDocument} to avoid an
+% options clash.
+% \changes{v0.84}{2020/04/24}{\pkg{biblatex}: Fixed: Requires \pkg{hyperref}.}
% \begin{macrocode}
+\AtBeginDocument{\RequirePackage{hyperref}}
+
\LWR at ProvidesPackagePass{biblatex}[2018/03/04]
% \end{macrocode}
%
@@ -42209,6 +45473,7 @@
{}
{\listxadd\blx at anchors{\the\c at refsection @\abx at field@entrykey}%
\hypertarget{cite.\the\c at refsection @\abx at field@entrykey}{}}}
+
\protected\def\blx at imc@bibhyperref{%
\@ifnextchar[%]
{\blx at bibhyperref}
@@ -42245,9 +45510,136 @@
}
\let\blx at imc@ifhyperref\@firstoftwo
-}
% \end{macrocode}
%
+%
+% The following patches are for back page references.
+%
+% \changes{v0.891}{2020/09/05}{\pkg{biblatex}: Fixed: Back page references.}
+% \begin{macrocode}
+\DeclareListFormat{pageref}{%
+ \ifnumless{\abx at pagerefstyle}{0}
+ {\usebibmacro{list:plain}%
+ \ifhyperref
+ {%
+% \hyperlink{page.#1}{#1}%
+ \ref{\BaseJobname-autopage-#1}% lwarp
+ }
+ {#1}}
+ {\ifnumequal{\value{listcount}}{1}
+ {\usebibmacro{pageref:init}}
+ {}%
+ \usebibmacro{pageref:comp}{#1}%
+ \ifnumequal{\value{listcount}}{\value{liststop}}
+ {\usebibmacro{pageref:dump}}
+ {}}}
+
+\renewbibmacro*{pageref:comp}[1]{%
+ \numdef\abx at range@prev{\abx at range@prev+1}%
+ \ifinteger{#1}
+ {\def\abx at range@num{#1}%
+ \def\abx at range@this{1}%
+ \ifnumequal{\abx at range@this}{\abx at range@last}
+ {}
+ {\def\abx at range@prev{-1}}}
+ {\ifrmnum{#1}
+ {\numdef\abx at range@num{\rmntonum{#1}}%
+ \def\abx at range@this{2}%
+ \ifnumequal{\abx at range@this}{\abx at range@last}
+ {}
+ {\def\abx at range@prev{-1}}}
+ {\undef\abx at range@num
+ \def\abx at range@this{0}%
+ \def\abx at range@prev{-1}}}%
+ \ifdef\abx at range@num
+ {\ifnumequal{\abx at range@num}{\abx at range@prev}
+ {\def\abx at range@hold{#1}%
+ \numdef\abx at range@diff{\abx at range@diff+1}}
+ {\usebibmacro{pageref:dump}%
+ \ifnumgreater{\abx at range@last}{-1}
+ {\printdelim{multilistdelim}}
+ {}%
+ \ifhyperref
+% {\hyperlink{page.#1}{#1}}
+ {\ref{\BaseJobname-autopage-#1}}% lwarp
+ {#1}}%
+ \edef\abx at range@prev{\abx at range@num}}
+ {\usebibmacro{pageref:dump}%
+ \ifnumgreater{\abx at range@last}{-1}
+ {\printdelim{multilistdelim}}
+ {}%
+ \ifhyperref
+% {\hyperlink{page.#1}{#1}}
+ {\ref{\BaseJobname-autopage-#1}}% lwarp
+ {#1}%
+ \def\abx at range@prev{-1}}%
+ \edef\abx at range@last{\abx at range@this}}
+
+\renewbibmacro*{pageref:dump}{%
+ \ifnumgreater{\abx at range@diff}{0}
+ {\ifcase\abx at pagerefstyle\relax % two
+ \bibrangedash
+ \ifhyperref
+% {\hyperlink{page.\abx at range@hold}{\abx at range@hold}}
+ {\ref{\BaseJobname-autopage-\abx at range@hold}}% lwarp
+ {\abx at range@hold}%
+ \or % three
+ \ifnumless{\abx at range@diff}{2}
+ {\printdelim{multilistdelim}}
+ {\bibrangedash}%
+ \ifhyperref
+% {\hyperlink{page.\abx at range@hold}{\abx at range@hold}}
+ {\ref{\BaseJobname-autopage-\abx at range@hold}}% lwarp
+ {\abx at range@hold}%
+ \or % two+
+ \ifnumless{\abx at range@diff}{2}
+ {\sqspace
+ \ifhyperref
+% {\hyperlink{page.\abx at range@hold}{\bibstring{sequens}}}
+ {\ref{\BaseJobname-autopage-\abx at range@hold}}% lwarp
+ {\bibstring{sequens}}}
+ {\bibrangedash
+ \ifhyperref
+% {\hyperlink{page.\abx at range@hold}{\abx at range@hold}}
+ {\ref{\BaseJobname-autopage-\abx at range@hold}}% lwarp
+ {\abx at range@hold}}%
+ \or % three+
+ \ifnumless{\abx at range@diff}{2}
+ {\sqspace
+ \ifhyperref
+% {\hyperlink{page.\abx at range@hold}{\bibstring{sequens}}}
+ {\ref{\BaseJobname-autopage-\abx at range@hold}}% lwarp
+ {\bibstring{sequens}}}
+ {\ifnumless{\abx at range@diff}{3}
+ {\sqspace
+ \ifhyperref
+% {\hyperlink{page.\abx at range@hold}{\bibstring{sequentes}}}
+ {\ref{\BaseJobname-autopage-\abx at range@hold}}% lwarp
+ {\bibstring{sequentes}}}
+ {\bibrangedash
+ \ifhyperref
+% {\hyperlink{page.\abx at range@hold}{\abx at range@hold}}
+ {\ref{\BaseJobname-autopage-\abx at range@hold}}% lwarp
+ {\abx at range@hold}}}%
+ \else % all+
+ \ifnumless{\abx at range@diff}{2}
+ {\sqspace
+ \ifhyperref
+% {\hyperlink{page.\abx at range@hold}{\bibstring{sequens}}}
+ {\ref{\BaseJobname-autopage-\abx at range@hold}}% lwarp
+ {\bibstring{sequens}}}
+ {\sqspace
+ \ifhyperref
+% {\hyperlink{page.\abx at range@hold}{\bibstring{sequentes}}}
+ {\ref{\BaseJobname-autopage-\abx at range@hold}}% lwarp
+ {\bibstring{sequentes}}}%
+ \fi
+ \def\abx at range@diff{0}}
+ {}}
+
+}% \AfterPreamble
+% \end{macrocode}
+%
% \iffalse
%</biblatex>
% \fi
@@ -42254,6 +45646,8 @@
%
%
%
+%
+%
% \iffalse
%<*bibunits>
% \fi
@@ -42783,12 +46177,17 @@
%
% For \brand{MathJax}:
% \changes{v0.79}{2020/01/30}{\pkg{booktabs}: Added \brand{MathJax} emulation.}
+% \changes{v0.894}{2020/12/22}{\pkg{booktabs}: \brand{MathJax}: Absorb \cs{cmidrule} trim arg.}
% \begin{macrocode}
\begin{warpMathJax}
\CustomizeMathJax{\newcommand{\toprule}[1][]{\hline}}
\CustomizeMathJax{\let\midrule\toprule}
\CustomizeMathJax{\let\bottomrule\toprule}
-\CustomizeMathJax{\newcommand{\cmidrule}[2][]{}}% avoid (trim)
+\CustomizeMathJax{\def\LWRbooktabscmidruleparen(#1)#2{}}
+\CustomizeMathJax{\newcommand{\LWRbooktabscmidrulenoparen}[1]{}}
+\CustomizeMathJax{\newcommand{\cmidrule}[1][]{%
+ \ifnextchar(\LWRbooktabscmidruleparen\LWRbooktabscmidrulenoparen%
+}}
\CustomizeMathJax{\newcommand{\morecmidrules}{}}
\CustomizeMathJax{\newcommand{\specialrule}[3]{\hline}}
\CustomizeMathJax{\newcommand{\addlinespace}[1][]{}}
@@ -42861,27 +46260,27 @@
%
%
% \iffalse
-%<*boxedminipage2e>
+%<*boxedminipage>
% \fi
-% \part{lwarp-boxedminipage2e.sty}
+% \part{lwarp-boxedminipage.sty}
-% \section{boxedminipage2e}
+% \section{boxedminipage}
%
% \credits{Scott Pakin}
%
-% \DescribePackage{boxedminipage2e}
-% \pkg{boxedminipage2e} is emulated for \HTML, and used as-is for \env{lateximage}s.
+% \DescribePackage{boxedminipage}
+% \pkg{boxedminipage} is emulated for \HTML, and used as-is for \env{lateximage}s.
%
% \changes{v0.34}{2017/07/26}{\pkg{boxedminipage2e}: Added.}
% \changes{v0.72}{2019/06/07}{\pkg{boxedminipage2e}: Added support for \env{lateximage}s.}
% \changes{v0.73}{2019/06/24}{\pkg{boxedminipage2e}: Fix: Paragraph tags.}
+% \changes{v0.84}{2020/04/23}{\pkg{boxedminipage}: Renamed from \pkg{boxedminipage2e} per author.}
%
% \codehtml
%
-% Discard all options for \pkg{lwarp-boxedminipage2e}:
% \begin{macrocode}
-\LWR at ProvidesPackagePass{boxedminipage2e}[2015/03/09]
+\LWR at ProvidesPackagePass{boxedminipage}[2020/04/19]
% \end{macrocode}
% \begin{macrocode}
@@ -42899,6 +46298,34 @@
% \end{macrocode}
% \iffalse
+%</boxedminipage>
+% \fi
+%
+%
+%
+% \iffalse
+%<*boxedminipage2e>
+% \fi
+
+% \part{lwarp-boxedminipage2e.sty}
+
+% \section{boxedminipage2e}
+%
+% \credits{Scott Pakin}
+%
+% \DescribePackage{boxedminipage2e}
+% \pkg{boxedminipage2e} has been renamed \pkg{boxedminipage} by the author.
+%
+% \changes{v0.84}{2020/04/23}{\pkg{boxedminipage}: Renamed from \pkg{boxedminipage2e} per author.}
+%
+% \codehtml
+%
+% Automatically loads \pkg{boxedminipage}:
+% \begin{macrocode}
+\LWR at ProvidesPackagePass{boxedminipage2e}
+% \end{macrocode}
+
+% \iffalse
%</boxedminipage2e>
% \fi
%
@@ -42918,9 +46345,10 @@
%
% \DescribePackage{braket}
% \pkg{braket} works as-is for \HTML\ with \SVG\ math.
-% For \brand{MathJax}, emulation is provided by \brand{MathJax} macros.
+% For \brand{MathJax}, the \brand{MathJax} extension is used.
%
% \changes{v0.79}{2020/01/29}{\pkg{braket}: Added.}
+% \changes{v0.893}{2020/10/30}{\pkg{braket}: Now uses \brand{MathJax} extension.}
%
% \codehtml
%
@@ -42930,14 +46358,7 @@
%
% \begin{macrocode}
\begin{warpMathJax}
-\CustomizeMathJax{\newcommand{\bra}[1]{\langle#1\vert}}
-\CustomizeMathJax{\newcommand{\Bra}[1]{\left\langle#1\right\vert}}
-\CustomizeMathJax{\newcommand{\ket}[1]{\vert#1\rangle}}
-\CustomizeMathJax{\newcommand{\Ket}[1]{\left\vert#1\right\rangle}}
-\CustomizeMathJax{\newcommand{\braket}[1]{\langle#1\rangle}}
-\CustomizeMathJax{\newcommand{\Braket}[1]{\left\langle#1\right\rangle}}
-\CustomizeMathJax{\newcommand{\set}[1]{\{#1\}}}
-\CustomizeMathJax{\newcommand{\Set}[1]{\left\{#1\right\}}}
+ \CustomizeMathJax{\require{braket}}
\end{warpMathJax}
% \end{macrocode}
%
@@ -42973,7 +46394,7 @@
% \end{macrocode}
%
% \begin{macrocode}
-\LetLtxMacro\burl\url
+\LetLtxMacro\burl\LWR at url
\NewDocumentCommand{\LWR at burlaltb}{O{} +m m}{%
\LWR at ensuredoingapar%
@@ -43130,8 +46551,59 @@
%
%
%
+% \iffalse
+%<*bussproofs>
+% \fi
%
+% \part{lwarp-bussproofs.sty}
+%
+% \section{bussproofs}
+%
+% \credits{Samuel R. Buss}
+%
+% \DescribePackage{bussproofs}
+% \pkg{bussproofs} is used as-is for \HTML, and
+% emulated by \brand{MathJax}'s extension.
+%
+% If not using \brand{MathJax}, inline proofs with \cs{DisplayMath} must be placed
+% \trouble[\cs{DisplayProof}]{bussproofs=\pkg{bussproofs}}
+% inside a math expression.
+%
+% If using \brand{MathJax}, only the \env{prooftree} environment may be used,
+% not \cs{DisplayProof}.
+%
+% \changes{v0.891}{2020/09/20}{\pkg{bussproofs}: Added.}
+%
+% \codehtml
+%
+% \begin{macrocode}
+\LWR at ProvidesPackagePass{bussproofs}% no date in file
+% \end{macrocode}
+%
+% \begin{macrocode}
+\ifbool{mathjax}{
+ \CustomizeMathJax{\require{bussproofs}}
+
+ \NewEnviron{LWR at HTML@prooftree}%
+ {\LWR at doequation{\BODY}{prooftree}}%
+ [\LWR at doendequation{prooftree}]
+ \LWR at formattedenv{prooftree}
+}{% SVG HTML
+ \BeforeBeginEnvironment{prooftree}{%
+ \begin{lateximage}[-bussproofs-~\PackageDiagramAltText]%
+ }
+ \AfterEndEnvironment{prooftree}{\end{lateximage}}
+}
+% \end{macrocode}
+%
% \iffalse
+%</bussproofs>
+% \fi
+%
+%
+%
+%
+% \iffalse
%<*bxpapersize>
% \fi
%
@@ -43206,9 +46678,10 @@
% \section{cancel}
%
% \DescribePackage{cancel}
-% \pkg{cancel} is used as-is for SVG math, and emulated for \HTML\ text output.
+% \pkg{cancel} is used as-is for \SVG\ math, and emulated for \HTML\ text output.
%
% \changes{v0.44}{2017/11/16}{\pkg{cancel}: Added.}
+% \changes{v0.87}{2020/06/02}{\pkg{cancel}: Now uses \brand{MathJax} v3 extension.}
%
% \codehtml
%
@@ -43263,6 +46736,15 @@
% \end{macrocode}
% \end{noindmacro}
%
+% For \brand{MathJax}:
+% \begin{macrocode}
+\begin{warpMathJax}
+\PackageWarningNoLine{lwarp, cancel}{The MathJax v3 extension will be used}
+\CustomizeMathJax{\require{cancel}}
+\end{warpMathJax}
+% \end{macrocode}
+
+%
% \iffalse
%</cancel>
% \fi
@@ -43317,128 +46799,268 @@
% \pkg{caption} is patched for use by \pkg{lwarp}.
%
% \changes{v0.47}{2018/01/25}{\pkg{caption}: Added.}
+% \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.}
+% \changes{v0.893}{2020/11/26}{\pkg{caption}: Updated date to v3.5g.}
%
% \codehtml
%
-% \changes{v0.78}{2019/10/30}{\pkg{caption}: Added warning regarding passing options.}
% \begin{macrocode}
\typeout{---}
\typeout{Packages lwarp and caption:}
\typeout{If a ``Missing \protect\begin\protect{document\protect}'' error occurs here,}
-\typeout{try using: \space \protect\usepackage\protect{caption\protect}\space\protect\captionsetup{options}}
+\typeout{try using: \space \protect\usepackage\protect{caption\protect}\space%
+ \protect\captionsetup{options}}
\typeout{instead of: \protect\usepackage[options]\protect{caption\protect}.}
\typeout{---}
-\LWR at ProvidesPackagePass{caption}[2019/09/01]
+\LWR at ProvidesPackagePass{caption}[2020/10/26]
% \end{macrocode}
-
-% \begin{macrocode}
-\renewcommand\caption at ibox[3]{%
- \@testopt{\caption at iibox{#1}{#2}{#3}}{%
-% \wd\@tempboxa%
- \linewidth% lwarp
- }%
-% \LWR at traceinfo{caption at ibox: done}%
-}
-% \end{macrocode}
%
+% ^^A This could be given a permanent standardized name, then redefined by lwarp.
% \begin{macrocode}
-\long\def\caption at iibox#1#2#3[#4]{%
- \@testopt{\caption at iiibox{#1}{#2}{#3}{#4}}\captionbox at hj@default
+\long\def\caption at iibox@#1#2#3#4{%
+% \setbox\@tempboxa\hbox{#4}%
+ \caption at iiibox{#1}{#2}{#3}%
+% [\wd\@tempboxa]%
+ []% lwarp
+ [\captionbox at hj@default]%
+% {\unhbox\@tempboxa}%
+ {{#4}}% lwarp
}
% \end{macrocode}
%
% \begin{macrocode}
-\long\def\caption at iiibox#1#2#3#4[#5]#6{%
-% \setbox\@tempboxa\hbox{#6}%
+\long\def\caption at iiiibox#1#2#3#4#5[#6][#7]#8{%
\begingroup
#1*% set \caption at position
\caption at iftop{%
- \LWR at traceinfo{caption at iiibox top}%
\endgroup
- \parbox[t]{#4}{%
+% \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 at setposition t%
-% \vbox{\caption#2{#3}}%
- {\caption#2{#3}}% lwarp
+% #2%
+ {\caption#4{#5}}%
% \captionbox at hrule
-% \csname caption at hj@#5\endcsname
-% \unhbox\@tempboxa
- #6% lwarp
+% \csname caption at hj@#7\endcsname
+ #8%
}%
}{%
- \LWR at traceinfo{caption at iiibox bottom}%
\endgroup
- \parbox[b]{#4}{%
+% \end{macrocode}
+%
+% ^^A This parbox could be factored out, given a permanent name,
+% ^^A then redefined by lwarp.
+% \begin{macrocode}
+% \parbox[b]{#6}{%
+ \minipagefullwidth% lwarp
+ \parbox[b]{\linewidth}{% lwarp
#1\relax
\caption at setposition b%
-% \csname caption at hj@#5\endcsname
-% \unhbox\@tempboxa
- #6% lwarp
+% \csname caption at hj@#7\endcsname
+ #8%
% \captionbox at hrule
-% \vtop{\caption#2{#3}}}%
- {\caption#2{#3}}% lwarp
- }%
+% #3
+ {\caption#4{#5}}%
+ }%
}%
-\LWR at traceinfo{caption at iiibox: done}%
}
+% \end{macrocode}
-% \def\caption at caption{%
-% \caption at iftype
-% {%
-% \caption at checkgrouplevel\@empty\caption
-% \caption at star
-% {\caption at refstepcounter\@captype}%
-% {\caption at dblarg{\@caption\@captype}}}%
-% {\caption at Error{\noexpand\caption outside float}%
-% \caption at gobble}%
-% }
+% \begin{noindmacro}{\caption at makecaption}
+% \changes{v0.71}{2019/04/08}{\pkg{caption}: Reduced underfull \cs{hbox} warnings.}
+% ^^A Lwarp could nullify \caption at make@above/bottom.
+% \begin{macrocode}
+\long\def\caption at makecaption#1#2{%
+% \caption at make@above
+ \caption@@make{#1}{#2}%
+% \caption at make@below
+}
-\long\def\caption@@caption#1[#2]#3{%
+\AtBeginDocument{
+ \let\@makecaption\caption at makecaption
+}
% \end{macrocode}
+% \end{noindmacro}
+
+
+% Appended to look ahead to the next token for \cs{centering}, etc:
+% \changes{v0.84}{2020/04/20}{\pkg{caption}: Improved integration.}
+% \changes{v0.891}{2020/09/04}{\pkg{caption}: Improved integration.}
% \begin{macrocode}
- \ifcaption at star
- \else
- \caption at prepareanchor{#1}{#2}%
- \memcaptioninfo{#1}{\csname the#1\endcsname}{#2}{#3}%
- \@nameuse{nag at hascaptiontrue}%
- \fi
+\AtBeginDocument{
+\xapptocmd{\@xfloat}
+ {\LWR at futurenonspacelet\LWR at mynexttoken\LWR at floatalignment}
+ {}
+ {\LWR at patcherror{caption}{@xfloat}}
+
+\xapptocmd{\@xdblfloat}
+ {\LWR at futurenonspacelet\LWR at mynexttoken\LWR at floatalignment}
+ {}
+ {\LWR at patcherror{caption}{@xdblfloat}}
+}
% \end{macrocode}
+
+
+% Updates for late patches for \pkg{scrextend}:
+% \changes{v0.88}{2020/07/15}{\pkg{caption}, \pkg{scrextend}: Fixed \cs{caption*}.}
% \begin{macrocode}
- \par
- \caption at beginex{#1}{#2}{#3}%
- \caption at setfloatcapt{%
- \caption at boxrestore
- \if at minipage
- \@setminipage
- \fi
- \caption at normalsize
+\caption at AtBeginDocument{
+\@ifpackageloaded{lwarp-scrextend}{
+ \LetLtxMacro\captionbelow\caption
+ \LetLtxMacro\captionabove\caption
+ \LetLtxMacro\captionofbelow\captionof
+ \LetLtxMacro\captionofabove\captionof
+}{}
+}
% \end{macrocode}
-% \changes{v0.73}{2019/07/11}{\pkg{caption}: Fix for starred captions.}
+%
+% \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}.}
+% \changes{v0.893}{2020/11/26}{\pkg{caption3}: Updated date to v2.2e.}
+%
+% \codehtml
+%
% \begin{macrocode}
- \ifcaption at star
- \let\caption at makeanchor\@firstofone
- #3% lwarp
- \else% lwarp
- \@makecaption{\csname fnum@#1\endcsname}%
- {\ignorespaces\caption at makeanchor{#3}}%
- \fi% lwarp
+\LWR at ProvidesPackagePass{caption3}[2020/10/21]
% \end{macrocode}
-% \changes{v0.70}{2019/03/24}{\pkg{caption}: Fix: Extra par tags.}
-% \begin{macrocode}
-% \par
- \caption at if@minipage\@minipagetrue\@minipagefalse}%
- \caption at end%
-}
-% \end{macrocode}
-
+%
+%
% \begin{noindmacro}{\caption@@@make}
% \marg{caption label} \marg{caption text}
% \begin{macrocode}
+\@ifpackagelater{caption3}{2020/08/23}{
\renewcommand\caption@@@make[2]{%
\LWR at 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 at stoppars and \LWR at startpars if lwarp has not already defined them.
+% \begin{macrocode}
+ \LWR at 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 at set{labelseparator}{none}%
+% \fi
+ \caption at ifempty{#2}{%
+ \caption at set{labelseparator}{none}%
+ \caption at set{textformat}{simple}%
+ }%
+ \caption at labelseparator % defines \caption at iflabelfont,
+% \caption at labelsep and \caption at labelsep@name
+% (the latter is needed by \caption at 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 at applyfont
+% \end{macrocode}
+%
+% \cs{caption at fmt} with \optn{plain} format is defined as |{#1#2#3\par}|:
+%
+% \begin{macrocode}
+% \caption at fmt
+ {\ifcaption at star\else
+ \begingroup
+ \captionlabelfont
+% \end{macrocode}
+%
+% ^^A \LWR at 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 at isolate{#1}% lwarp
+ \endgroup
+ \fi}%
+ {\ifcaption at star\else
+ \begingroup
+ \caption at iflabelfont\captionlabelfont
+ \relax\caption at 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 at textstart
+% \end{macrocode}
+%
+% ^^A This could be factored out into a macro with a standard name
+% ^^A which lwarp could nullify:
+% \begin{macrocode}
+% \caption at ifstrut
+% {\vrule\@height\ht\strutbox\@width\z@}%
+% {}%
+% \nobreak\hskip\z at skip % enable hyphenation
+% \end{macrocode}
+%
+% ^^A \LWR at isolate again:
+% \begin{macrocode}
+ \LWR at isolate{\caption at 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 at ifstrut
+% {\ifhmode\@finalstrut\strutbox\fi}%
+% {}%
+ \caption at textend}}%
+% \end{macrocode}
+%
+% ^^A as \LWR at startpars above:
+% \begin{macrocode}
+ \LWR at startpars% lwarp
+\LWR at traceinfo{caption@@@make done}%
+}
+}% later than 2020/08/23
+{% earlier than 2020/08/23
+\renewcommand\caption@@@make[2]{%
+\LWR at traceinfo{caption@@@make}%
+ \LWR at stoppars% lwarp
+% \sbox\@tempboxa{#1}%
+% \ifdim\wd\@tempboxa=\z@
% \let\caption at lsep\relax
% \fi
\caption at ifempty{#2}{%
@@ -43445,6 +47067,7 @@
\let\caption at lsep\@empty
\let\caption at tfmt\@firstofone
}%
+% \@setpar{\@@par\caption@@par}\caption@@par
\caption at applyfont
% \end{macrocode}
% \cs{caption at fmt} with \optn{plain} format is defined as |{#1#2#3\par}|:
@@ -43453,7 +47076,7 @@
{\ifcaption at star\else
\begingroup
\captionlabelfont
- #1%
+ \LWR at isolate{#1}% lwarp
\endgroup
\fi}%
{\ifcaption at star\else
@@ -43465,59 +47088,57 @@
\fi}%
{{%
\captiontextfont
+ \let\\\newline% lwarp
% \caption at ifstrut
% {\vrule\@height\ht\strutbox\@width\z@}%
% {}%
% \nobreak\hskip\z at skip % enable hyphenation
- \caption at tfmt{#2}%
+ \LWR at isolate{\caption at tfmt{#2}}% lwarp
% \caption at ifstrut
% {\ifhmode\@finalstrut\strutbox\fi}%
% {}%
}}%
+ \LWR at startpars% lwarp
\LWR at 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 at stepthecounter
- \caption at beginhook
+ \caption at stepthecounter%
+ \caption at beginhook%
\caption@@@make{#1}{#2}%
- \caption at endhook
+ \caption at endhook%
}
% \end{macrocode}
% \end{noindmacro}
-
-% \begin{noindmacro}{\caption at makecaption}
-% \changes{v0.71}{2019/04/08}{Reduced underfull \cs{hbox} warnings.}
+%
+%
+%
+% ^^A These are simplifications for HTML:
% \begin{macrocode}
-\long\def\caption at makecaption#1#2{%
-% \caption at iftop
-% {\vskip\belowcaptionskip}%
-% {\caption at rule\vskip\abovecaptionskip}%
- \caption@@make{#1}{#2}%
-% \caption at iftop
-% {\vskip\abovecaptionskip\caption at rule}%
-% {\vskip\belowcaptionskip}%
+\DeclareCaptionBox{none}{#2}
+\DeclareCaptionBox{parbox}{%
+ #2%
}
% \end{macrocode}
-% \end{noindmacro}
-
-
+%
+% ^^A Simplification for HTML:
% \begin{macrocode}
-% \DeclareCaptionBox{none}{#2}
-\DeclareCaptionBox{parbox}{%
-#2%
-}
\DeclareCaptionBox{colorbox}{%
-#2%
+ #2%
}
% \end{macrocode}
-
+%
% \iffalse
-%</caption>
+%</caption3>
% \fi
%
%
@@ -43524,9 +47145,6 @@
%
%
%
-%
-%
-%
% \iffalse
%<*cases>
% \fi
@@ -43596,6 +47214,7 @@
% and emulated for \brand{MathJax}.
%
% \changes{v0.80}{2020/02/08}{\pkg{centernot}: Added.}
+% \changes{v0.89}{2020/08/17}{\pkg{centernot}: Improved.}
%
% \codehtml
%
@@ -43603,9 +47222,17 @@
\LWR at 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 at 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}
%
@@ -43774,13 +47401,18 @@
% \DescribePackage{changes}
% \pkg{changes} is patched for use by \pkg{lwarp}.
%
+% Use \optn{commandnameprefix=ifneeded} to avoid a conflict with the \cs{comment}
+% \trouble[\cs{comment}]{changes=\pkg{changes}}
+% command when using \pkg{lwarp}.
+%
% \changes{v0.67}{2019/02/15}{\pkg{changes}: Added.}
% \changes{v0.70}{2019/03/24}{\pkg{changes}: Updated to v3.1.2.}
+% \changes{v0.895}{2021/01/30}{\pkg{changes}: Updated to v4.0.1.}
%
% \codehtml
%
% \begin{macrocode}
-\LWR at ProvidesPackagePass{changes}[2019/01/26]
+\LWR at ProvidesPackagePass{changes}[2021/02/14]
% \end{macrocode}
%
% \cs{BaseJobname} is added to the label in case \pkg{xr} or \pkg{xr-hyper} are used.
@@ -43788,7 +47420,7 @@
% \changes{v0.72}{2019/06/05}{\pkg{changes}: Fix references for \pkg{xr}, \pkg{xr-hyper}.}
% \begin{macrocode}
\renewcommand{\ChangesListline}[4]{%
- \IfSubStr{\Changes at loc@show}{#1}{%
+ \IfIsInList{#1}{\Changes at loc@show}{%
\LWR at startpars%
#2: #3 \qquad
\nameref{\BaseJobname-autopage-#4}%
@@ -43796,112 +47428,255 @@
}{}%
}
-\renewcommand{\Changes at summaryline}[4]{%
- \IfSubStr{\Changes at loc@show}{#1}{%
- \ifthenelse{\not\equal{\Changes at loc@style}{compactsummary} \or #2 > 0}%
- {%
- #3:~#2#4%
- }{}%
- }{}%
+\renewcommand{\listofchanges}[1][\@empty]{%
+\setkeys{Changes at loc}{#1}%
+\ifbool{Changes at optiondraft}%
+{%
+\IfIsInList{\Changes at loc@style}{list|summary|compactsummary}%
+{}%
+{%
+\PackageWarning{changes}{Wrong style for list of changes: '\Changes at loc@style', using 'list' instead.}%
+\def\Changes at loc@style{}%
+}%
+\IfIsEmpty{\Changes at loc@style}%
+{\def\Changes at loc@style{list}}%
+{}%
+\IfStrEq{\Changes at loc@show}{all}%
+{\def\Changes at loc@show{added|deleted|replaced|highlight|comment}}%
+{}%
+\IfIsInList{\Changes at loc@show}{added|deleted|replaced|highlight|comment}%
+{}%
+{%
+\PackageWarning{changes}{Wrong show-value for list of changes: '\Changes at loc@show', using 'all' instead.}%
+\def\Changes at loc@show{}%
+}%
+\IfIsEmpty{\Changes at loc@show}%
+{\def\Changes at loc@show{added|deleted|replaced|highlight|comment}}%
+{}%
+\IfIsEmpty{\Changes at loc@title}%
+{%
+\IfStrEq{\Changes at loc@style}{list}%
+{\def\Changes at heading{\listofchangesname}}{}%
+\IfStrEq{\Changes at loc@style}{summary}%
+{\def\Changes at heading{\summaryofchangesname}}{}%
+\IfStrEq{\Changes at loc@style}{compactsummary}%
+{\def\Changes at heading{\compactsummaryofchangesname}}{}%
+}%
+{\def\Changes at heading{\Changes at loc@title}}%
+\section*{\Changes at heading}
+\IfIsInList{\Changes at loc@style}{list}%
+{%
+\IfFileExists{\jobname.\Changes at locextension}%
+{%
+\newread\Changes at InFile%
+\openin\Changes at InFile=\jobname.\Changes at locextension%
+\loop\unless\ifeof\Changes at InFile%
+\read\Changes at InFile to \Changes at Line%
+\ifeof\Changes at InFile\else%
+\Changes at Line%
+\fi
+\repeat
+\closein\Changes at InFile%
+}{%
+\emph{\changesnoloc}%
+\PackageWarning{changes}{LaTeX rerun needed for list of changes}%
+}%
+}{}%
+\IfIsInList{\Changes at loc@style}{summary|compactsummary}%
+{%
+\IfFileExists{\jobname.\Changes at socextension}%
+{%
+\newread\Changes at InFile%
+\openin\Changes at InFile = \jobname.\Changes at socextension%
+\loop\unless\ifeof\Changes at InFile%
+\read\Changes at InFile to \Changes at Line%
+\ifeof\Changes at InFile\else%
+\expandafter\changes at chopline\Changes at Line\\%
+\textbf{%
+\IfIsColored%
+{\color{\Changes at Incolor}}%
+{}%
+\IfIsAnonymous{\Changes at Inid}%
+{%
+ \LWR at textcurrentcolor{% lwarp
+ \changesauthorname: \changesanonymousname%
+ }% lwarp
+}%
+{%
+ \LWR at textcurrentcolor{% lwarp
+\changesauthorname: \Changes at Inid%
+ }% lwarp
+\IfIsEmpty{\Changes at Inname}%
+{}%
+{ %
+ \LWR at textcurrentcolor{% lwarp
+(\Changes at Inname)%
+ }% lwarp
+}%
+}%
+}\\%
+\numdef{\Changes at InSum}{0}%
+\renewcommand*{\do}[1]{%
+\numdef{\Changes at InSum}{\Changes at InSum + \csuse{Changes at In########1}}%
+}%
+\expandafter\dopsvlist\expandafter{\Changes at loc@show}%
+\ifnumcomp{\Changes at InSum}{=}{0}%
+{%
+% \parbox{\Changes at summary@width}{% lwarp
+ \changesnochanges%
+% }% lwarp
+% \\[1ex]% lwarp
+ \par% \lwarp
+}%
+{%
+\numdef{\Changes at InCount}{0}%
+\renewcommand*{\do}[1]{%
+\numdef{\Changes at InCount}{\Changes at InCount + \csuse{Changes at In########1}}%
+\ifboolexpr{%
+not test {\IfStrEq{\Changes at loc@style}{compactsummary}} or%
+test {\ifnumgreater{\csuse{Changes at In########1}}{0}}%
+}%
+{%
+% \parbox{\Changes at summary@width}{% lwarp
+\csuse{changes########1name}~%
+% \let\cleaders\leaders\dotfill~% lwarp
+\dotfill~% \lwarp
+\csuse{Changes at In########1}%
+% }% lwarp
+% \ifnumless{\Changes at InCount}{\Changes at InSum}% lwarp
+{\\}%
+% {\\[1ex]}% lwarp
+}%
+{}%
+}%
+\expandafter\dopsvlist\expandafter{\Changes at loc@show}%
+ \par% lwarp
+}%
+\fi%
+\repeat
+\closein\Changes at InFile%
+}{%
+\emph{\changesnosoc}%
+\PackageWarning{changes}{LaTeX rerun needed for summary of changes}%
+}%
+}{}%
+}{}%
}
-\xpatchcmd{\listofchanges}
- {{\changesauthorname: \changesanonymousname}}
- {{\LWR at textcurrentcolor{\changesauthorname: \changesanonymousname}}}
- {}
- {\LWR at patcherror{changes}{listofchanges A}}
-\xpatchcmd{\listofchanges}
- {\changesauthorname: \Changes at InID}
- {\LWR at textcurrentcolor{\changesauthorname: \Changes at InID}}
- {}
- {\LWR at patcherror{changes}{listofchanges B}}
+\renewcommand{\Changes at Markup@comment}[3]{%
+\IfStrEq{\Changes at optioncommentmarkup}{todo}%
+{%
+\IfIsColored%
+{\colorlet{Changes at todocolor}{authorcolor}}%
+{\colorlet{Changes at todocolor}{black}}%
+\todo[color=Changes at todocolor!10, bordercolor=Changes at todocolor, linecolor=Changes at todocolor!70, nolist]{\textbf{[\IfIsAnonymous{#2}{}{#3~}\arabic{authorcommentcount}]} #1}%
+}{}%
+\IfStrEq{\Changes at optioncommentmarkup}{margin}%
+{%
+\marginpar{%
+\IfIsColored%
+{\leavevmode\color{authorcolor}}%
+{}%
+ \LWR at textcurrentcolor{% lwarp
+\textbf{[\IfIsAnonymous{#2}{}{#3~}\arabic{Changes at commentCount#2}]:} #1%
+ }% lwarp
+}%
+}{}%
+\IfStrEq{\Changes at optioncommentmarkup}{footnote}%
+{%
+\footnote{%
+ \LWR at textcurrentcolor{% lwarp
+\textbf{[\IfIsAnonymous{#2}{}{#3~}\arabic{Changes at commentCount#2}]:} #1%
+ }% lwarp
+}%
+}{}%
+\IfStrEq{\Changes at optioncommentmarkup}{uwave}%
+{%
+{%
+\IfIsColored%
+{\color{authorcolor}}%
+{}%
+\allowbreak%
+\uwave{%
+\textbf{[\IfIsAnonymous{#2}{}{#3~}\arabic{Changes at commentCount#2}]:} #1%
+}%
+}%
+}{}%
+}
-\xpatchcmd{\listofchanges}
- {(\Changes at InName)}
- {\LWR at textcurrentcolor{(\Changes at InName)}}
- {}
- {\LWR at patcherror{changes}{listofchanges C}}
-
-\xpatchcmd{\listofchanges}
- {\parbox{\Changes at summary@width}}
- {}
- {}
- {\LWR at patcherror{changes}{listofchanges D}}
-
-\xpatchcmd{\Changes at Markup@comment}
- {%
- \ifthenelse{\isAnonymous{#2}}%
- {\textbf{[\arabic{Changes at commentCount#2}]:} }%
- {\textbf{[#3~\arabic{Changes at commentCount#2}]:} }%
- #1%
- }
- {%
- \LWR at textcurrentcolor{% lwarp
- \ifthenelse{\isAnonymous{#2}}%
- {\textbf{[\arabic{Changes at commentCount#2}]:} }%
- {\textbf{[#3~\arabic{Changes at commentCount#2}]:} }%
- #1%
- }% lwarp
- }
- {}
- {\LWR at patcherror{changes}{\Changes at Markup@comment A}}
-
-\xpatchcmd{\Changes at Markup@comment}
- {%
- \uwave{%
- \ifthenelse{\isAnonymous{#2}}%
- {\textbf{[\arabic{Changes at commentCount#2}]:} }%
- {\textbf{[#3~\arabic{Changes at commentCount#2}]:} }%
- #1%
- }%
- }
- {%
- \LWR at textcurrentcolor{% lwarp
- \uwave{%
- \ifthenelse{\isAnonymous{#2}}%
- {\textbf{[\arabic{Changes at commentCount#2}]:} }%
- {\textbf{[#3~\arabic{Changes at commentCount#2}]:} }%
- #1%
- }%
- }% lwarp
- }
- {}
- {\LWR at patcherror{changes}{\Changes at Markup@comment B}}
-
-\xpatchcmd{\Changes at output}
- {\Changes at Markup@author{\Changes at output@author{#2}{left}}}
- {\LWR at textcurrentcolor{\Changes at Markup@author{\Changes at output@author{#2}{left}}}}
- {}
- {\LWR at patcherror{changes}{Changes at output A}}
-
-\xpatchcmd{\Changes at output}
- {%
- \ifthenelse{\equal{#1}{added}}{\Changes at Markup@added{#3}}{}%
- \ifthenelse{\equal{#1}{deleted}}{\Changes at Markup@deleted{#4}}{}%
- \ifthenelse{\equal{#1}{replaced}}{%
- {\Changes at Markup@added{#3}}\allowbreak\Changes at Markup@deleted{#4}%
- }{}%
- \ifthenelse{\equal{#1}{highlight}}{\Changes at Markup@highlight{#3}}{}%
- }
- {%
- \LWR at textcurrentcolor{%
- \ifthenelse{\equal{#1}{added}}{\Changes at Markup@added{#3}}{}%
- \ifthenelse{\equal{#1}{deleted}}{\Changes at Markup@deleted{#4}}{}%
- \ifthenelse{\equal{#1}{replaced}}{%
- {\Changes at Markup@added{#3}}\allowbreak\Changes at Markup@deleted{#4}%
- }{}%
- \ifthenelse{\equal{#1}{highlight}}{\Changes at Markup@highlight{#3}}{}%
- }%
- }
- {}
- {\LWR at patcherror{changes}{Changes at output B}}
-
-\xpatchcmd{\Changes at output}
- {\Changes at Markup@author{\Changes at output@author{#2}{right}}}
- {\LWR at textcurrentcolor{\Changes at Markup@author{\Changes at output@author{#2}{right}}}}
- {}
- {\LWR at patcherror{changes}{Changes at output C}}
+\renewrobustcmd{\Changes at output}[7]{%
+\ifbool{Changes at optiondraft}%
+{%
+\Changes at check@author{#2}%
+\Changes at set@color{#2}%
+{%
+\IfIsInList{#1}{added|deleted|replaced|highlight}%
+{%
+\IfIsEmpty{#5}%
+{%
+\IfIsAuthorEmptyAtPosition{#2}{left}%
+{}%
+{{%
+\IfIsColored%
+{\color{authorcolor}}%
+{}%
+ \LWR at textcurrentcolor{% lwarp
+\Changes at Markup@author{\Changes at output@author{#2}{left}}%
+ }% lwarp
+}}%
+}{}%
+{%
+\IfStrEq{#1}{highlight}%
+{}{%
+\IfIsColored%
+{\color{authorcolor}}%
+{}%
+}%
+ \LWR at textcurrentcolor{% lwarp
+\IfStrEq{#1}{added}{\Changes at Markup@added{#3}}{}%
+\IfStrEq{#1}{deleted}{\Changes at Markup@deleted{#4}}{}%
+\IfStrEq{#1}{replaced}{{\Changes at Markup@added{#3}}\allowbreak\Changes at Markup@deleted{#4}}{}%
+\IfStrEq{#1}{highlight}{\Changes at Markup@highlight{#3}}{}%
+ }% lwarp
+}%
+\IfIsEmpty{#5}%
+{%
+\IfIsAuthorEmptyAtPosition{#2}{right}%
+{}%
+{{%
+\IfIsColored%
+{\color{authorcolor}}%
+{}%
+ \LWR at textcurrentcolor{% lwarp
+\Changes at Markup@author{\Changes at output@author{#2}{right}}%
+ }% lwarp
+}}%
+}{}%
+\stepcounter{Changes@#1Count#2}%
+}{}%
+\IfIsEmpty{#5}%
+{}%
+{%
+\stepcounter{Changes at commentCount#2}%
+\Changes at set@commentcount{#2}%
+\Changes at Markup@comment%
+{#5}%
+{#2}%
+{\Changes at output@author{#2}{left}\Changes at output@author{#2}{right}}%
+}%
+}%
+\IfIsEmpty{#2}%
+{\def\Changes at locid{}}%
+{\def\Changes at locid{~(#2)}}%
+\addtocontents{\Changes at locextension}{\protect\ChangesListline{#1}{#6\Changes at locid}{#7}{\thepage}}%
+}%
+{%
+\IfIsEmpty{#3}%
+{\@bsphack\@esphack}%
+{#3}%
+}%
+}
% \end{macrocode}
%
% \iffalse
@@ -44132,7 +47907,7 @@
% \end{macrocode}
%
% \begin{noindmacro}{\ch}
-% Enclose in an inline \SVG\ image or MathJax.
+% Enclose in an inline \SVG\ image or \brand{MathJax}.
% The \attribute{alt} tag is is the contents of the \cs{ch} expression.
% The filename is hashed, and also has additional hashing information based on
% the local options.
@@ -44469,7 +48244,7 @@
% \codehtml
%
% \begin{macrocode}
-\LWR at ProvidesPackagePass{chemgreek}[2016/02/10]
+\LWR at ProvidesPackagePass{chemgreek}[2020/01/16]
% \end{macrocode}
% \begin{macrocode}
@@ -44515,7 +48290,7 @@
\LWR at ProvidesPackagePass{chemmacros}[2017/08/28]
% \end{macrocode}
%
-% SVG file hashing assumes that the relevent options are constant for the entire document.
+% \SVG\ file hashing assumes that the relevent options are constant for the entire document.
%
% \subsection{Changes to the user's document}
%
@@ -45731,9 +49506,51 @@
%
%
%
+% \iffalse
+%<*citeref>
+% \fi
%
+% \part{lwarp-citeref.sty}
%
+% \section{citeref}
+%
+% \credits{Bj\"orn Briel}
+%
+% \DescribePackage{citeref}
+% \pkg{citeref} is patched for use by \pkg{lwarp}.
+%
+% \changes{v0.87}{2020/05/16}{\pkg{citeref}: Added.}
+%
+% \codehtml
+%
+% \begin{macrocode}
+\LWR at ProvidesPackagePass{citeref}[1999/27/05]
+% \end{macrocode}
+%
+% \begin{macrocode}
+\def\@cprwrite#1={\write\@auxout{\string\citepageref{#1}{\theLWR at currentautosec}}}
+
+\def\citepageref#1#2{%
+ \xdef\cpr at testa{\@nameuse{cpr at last@#1}}%letzte Zitatstelle
+ \xdef\cpr at testb{#2}% Seite dieser Zitatstelle
+ \ifx\cpr at testa\cpr at testb%
+ \relax% Konsekutive identische Seitenangaben weglassen
+ \else%
+ \@namexdef{cpr at last@#1}{#2}%
+ \@ifundefined{cpr@#1}%
+ {\@namexdef{cpr@#1}{\ref{\BaseJobname-autopage-#2}}}% lwarp
+ {\@namexdef{cpr@#1}{\@nameuse{cpr@#1}, \ref{\BaseJobname-autopage-#2}}}% lwarp
+ \fi
+ }
+% \end{macrocode}
+%
% \iffalse
+%</citeref>
+% \fi
+%
+%
+%
+% \iffalse
%<*CJK>
% \fi
%
@@ -45792,6 +49609,258 @@
%
%
% \iffalse
+%<*cleveref>
+% \fi
+%
+% \part{lwarp-cleveref.sty}
+%
+% \section{cleveref}
+% \label{sec:cleveref}
+%
+% \credits{Toby Cubitt}
+%
+% \DescribePackage{cleveref}
+% \pkg{cleveref} is patched for \HTML, and
+% limited \brand{MathJax} emulation is added.
+%
+% \limitscpageref
+%
+% \Cref{tab:crossrefdata} on page \pageref{tab:crossrefdata}
+% shows the data structure of the label/reference system
+% as revised by \pkg{lwarp} and \pkg{cleveref}.
+%
+% For \brand{MathJax},
+% each references is printed as an \cs{eqref}, without \pkg{cleveref}'s
+% description text. Page references are also printed as simple \cs{eqref}s.
+% Multiple labels in a single \cs{cref} will print as \texttt{(???)} in \brand{MathJax}.
+% \watchout[multiple labels]
+%
+% \codehtml
+%
+% \begin{macrocode}
+\LWR at ProvidesPackagePass{cleveref}[2018/03/27]
+% \end{macrocode}
+%
+%
+% \changes{v0.20}{2017/01/05}{\pkg{cleveref} and referencing patches:
+% Applied \cs{AfterEndPreamble}.}
+%
+% The following patches are applied.
+% Print-mode versions are not required since they all come down to \cs{ref} eventually,
+% and \cs{ref} has a print-mode version.
+%
+% \begin{macro}{\@@@setcref} \marg{kindofref} \marg{label}
+%
+% \cs{@templabel} becomes the section number.
+%
+% \changes{v0.48}{2018/02/10}{Fix for new v0.21 of \pkg{cleveref}.}
+% \begin{macrocode}
+\def\LWR at orig@@@setcref#1#2{\cref at getlabel{#2}{\@templabel}#1{\@templabel}{}{}}%
+
+\ifdefequal{\@@setcref}{\LWR at orig@@@setcref}{% before v0.21
+ \renewcommand*{\@@setcref}[2]{#1{\ref{#2}}{}{}}
+}{
+ \ifdefequal{\@@@setcref}{\LWR at orig@@@setcref}{% as of v0.21
+ \renewcommand*{\@@@setcref}[2]{%
+ #1{\ref{#2}}{}{}}
+ }{
+ \PackageWarningNoLine{lwarp-cleveref}{
+ Unknown version of cleveref.
+ \protect\cref\space will fail.
+ }%
+ }
+}
+% \end{macrocode}
+% \end{macro}
+
+%\begin{macro}{\@@@setcrefrange} \marg{text} \marg{label} \marg{label}
+% \changes{v0.48}{2018/02/10}{Fix for new v0.21 of \pkg{cleveref}.}
+% \begin{macrocode}
+\def\LWR at orig@@@setcrefrange#1#2#3{%
+ \cref at getlabel{#2}{\@labela}%
+ \cref at getlabel{#3}{\@labelb}%
+ #1{\@labela}{\@labelb}{}{}{}{}}%
+
+\ifdefequal{\@@setcrefrange}{\LWR at orig@@@setcrefrange}{
+ \renewcommand{\@@setcrefrange}[3]{%
+ #1{\ref{#2}}{\ref{#3}}{}{}{}{}%
+ }
+}{
+ \ifdefequal{\@@@setcrefrange}{\LWR at orig@@@setcrefrange}{
+ \renewcommand{\@@@setcrefrange}[3]{%
+ #1{\ref{#2}}{\ref{#3}}{}{}{}{}%
+ }
+ }{
+ \PackageWarningNoLine{lwarp-cleveref}{
+ Unknown version of cleveref.
+ \protect\crefrange\space will fail.
+ }
+ }
+}
+% \end{macrocode}
+% \end{macro}
+
+% ^^A orig:
+% ^^A \def\@@setcpageref#1#2{%
+% ^^A \cref at getpageref{#2}{\@temppage}#1{\@temppage}{}{}}
+
+
+% \label{sec:cpagereffor}
+% \begin{macro}{\cpagerefFor} Redefinable word between ``page(s)'' and the page numbers.
+%
+% \changes{v0.20}{2017/01/03}{User-redefinable word for page references.}
+%
+% \begin{macrocode}
+\newcommand*{\cpagerefFor}{for}
+% \end{macrocode}
+% \end{macro}
+
+% \begin{macro}{\@@@setcpageref} \marg{typeofref} \marg{label},
+% where typeofref is ``page'' or ``pages''
+%
+% \changes{v0.48}{2018/02/10}{Fix for new v0.21 of \pkg{cleveref}.}
+% \begin{macrocode}
+\def\LWR at orig@@setcpageref#1#2{% before v0.21
+ \cref at getpageref{#2}{\@temppage}#1{\@temppage}{}{}}%
+
+\def\LWR at orig@@@setcpageref#1#2{% as of v0.21
+ \cpageref at getlabel{#2}{\@temppage}#1{\@temppage}{}{}}%
+
+\ifdefequal{\@@setcpageref}{\LWR at orig@@setcpageref}{
+ \renewcommand*{\@@setcpageref}[2]{%
+ #1{\cpagerefFor\ \cref{#2}}{}{}%
+ }
+}{
+ \ifdefequal{\@@@setcpageref}{\LWR at orig@@@setcpageref}{
+ \renewcommand*{\@@@setcpageref}[2]{%
+ #1{\cpagerefFor\ \cref{#2}}{}{}%
+ }
+ }
+ {
+ \PackageWarningNoLine{lwarp-cleveref}{
+ Unknown version of cleveref.
+ \protect\cpageref\space will fail.
+ }
+ }
+}
+% \end{macrocode}
+% \end{macro}
+
+
+% ^^A orig:
+% ^^A \def\@@setcpagerefrange#1#2#3{%
+% ^^A \cref at getpageref{#2}{\@pagea}%
+% ^^A \cref at getpageref{#3}{\@pageb}%
+% ^^A #1{\@pagea}{\@pageb}{}{}{}{}}
+
+% \begin{macrocode}
+\def\LWR at orig@@setcpagerefrange#1#2#3{% before v0.21
+ \cref at getpageref{#2}{\@pagea}%
+ \cref at getpageref{#3}{\@pageb}%
+ #1{\@pagea}{\@pageb}{}{}{}{}}%
+
+\def\LWR at orig@@@setcpagerefrange#1#2#3{% as of v0.21
+ \cpageref at getlabel{#2}{\@pagea}%
+ \cpageref at getlabel{#3}{\@pageb}%
+ #1{\@pagea}{\@pageb}{}{}{}{}}%
+
+\ifdefequal{\@@setcpagerefrange}{\LWR at orig@@setcpagerefrange}{
+ \renewcommand*{\@@setcpagerefrange}[3]{%
+ #1{\cpagerefFor\ \cref{#2}}{\cref{#3}}{}{}{}{}%
+ }
+}{
+ \ifdefequal{\@@@setcpagerefrange}{\LWR at orig@@@setcpagerefrange}{
+ \renewcommand*{\@@@setcpagerefrange}[3]{%
+ #1{\cpagerefFor\ \cref{#2}}{\cref{#3}}{}{}{}{}%
+ }
+ }
+ {
+ \PackageWarningNoLine{lwarp-cleveref}{
+ Unknown version of cleveref.
+ \protect\cpagerefrange\space will fail.
+ }
+ }
+}
+% \end{macrocode}
+%
+% If \pkg{hyperref} is loaded, \pkg{cleveref} defines starred versions of the following,
+% but since \pkg{hyperref} is only emulated, starred versions are defined here:
+% \changes{v0.88}{2020/07/05}{\pkg{cleveref}, \pkg{varioref}: Fix for starred macros.}
+% \begin{macrocode}
+\LWR at absorbstar{cref}
+\LWR at absorbstar{Cref}
+\LWR at absorbstar{crefrange}
+\LWR at absorbstar{Crefrange}
+\LWR at absorbstar{cpageref}
+\LWR at absorbstar{Cpageref}
+\LWR at absorbstar{cpagerefrange}
+\LWR at absorbstar{Cpagerefrange}
+\LWR at absorbstar{labelcref}
+\LWR at absorbstar{labelcpageref}
+% \end{macrocode}
+%
+% ^^A *varioref
+% If \pkg{hyperref} is loaded, \pkg{cleveref} also defines starred versions
+% of \pkg{varioref} macros, so they are defined here.
+% \begin{macrocode}
+\@ifpackageloaded{varioref}{
+ \LWR at absorbstar{vref}
+ \LWR at absorbstar{Vref}
+ \LWR at absorbstar{vrefrange}
+ \LWR at absorbstar{Vrefrange}
+ \LWR at absorbstar{fullref}
+ \LWR at absorbstar{Fullref}
+}{}% varioref
+% \end{macrocode}
+%
+%
+% ^^A % For \brand{MathJax} and \pkg{cleveref},
+% ^^A % but not \pkg{varioref} since \pkg{varioref} macros would only
+% ^^A % be useful in math inside a \cs{text} macro, where they do not
+% ^^A % work in \brand{MathJax}.
+% ^^A %
+% ^^A % \changes{v0.88}{2020/07/05}{\pkg{cleveref}: Added \brand{MathJax} emulation.}
+% ^^A % \begin{macrocode}
+% ^^A \CustomizeMathJax{\newcommand{\cref}{\ifstar\eqref\eqref}}
+% ^^A \CustomizeMathJax{\let\Cref\cref}
+% ^^A \CustomizeMathJax{\newcommand{\LWRcrefrange}[2]{%
+% ^^A \eqref{#1}--\eqref{#2}%
+% ^^A }}
+% ^^A \CustomizeMathJax{\newcommand{\crefrange}{%
+% ^^A \ifstar\LWRcrefrange\LWRcrefrange%
+% ^^A }}
+% ^^A \CustomizeMathJax{\let\Crefrange\crefrange}
+% ^^A \CustomizeMathJax{\let\cpageref\cref}
+% ^^A \CustomizeMathJax{\let\Cpageref\cref}
+% ^^A \CustomizeMathJax{\let\cpagerefrange\crefrange}
+% ^^A \CustomizeMathJax{\let\Cpagerefrange\crefrange}
+% ^^A \CustomizeMathJax{\let\labelcref\cref}
+% ^^A \CustomizeMathJax{\let\labelcpageref\cpageref}
+% ^^A % \end{macrocode}
+% ^^A %
+% ^^A % For \pkg{varioref}, which is modified by \pkg{cleveref},
+% ^^A % so must be patched here:
+% ^^A % \begin{macrocode}
+% ^^A \CustomizeMathJax{\let\vref\cref}
+% ^^A \CustomizeMathJax{\let\Vref\cref}
+% ^^A \CustomizeMathJax{\let\vpageref\cref}
+% ^^A \CustomizeMathJax{\let\Vpageref\cref}
+% ^^A \CustomizeMathJax{\let\vrefrange\crefrange}
+% ^^A \CustomizeMathJax{\let\Vrefrange\crefrange}
+% ^^A \CustomizeMathJax{\let\vpagerefrange\crefrange}
+% ^^A \CustomizeMathJax{\let\Vpagerefrange\crefrange}
+% ^^A \CustomizeMathJax{\let\fullref\cref}
+% ^^A \CustomizeMathJax{\let\Fullref\cref}
+% ^^A % \end{macrocode}
+%
+% \iffalse
+%</cleveref>
+% \fi
+%
+%
+%
+%
+% \iffalse
%<*clrdblpg>
% \fi
%
@@ -45818,6 +49887,63 @@
%
%
% \iffalse
+%<*cmbright>
+% \fi
+%
+% \part{lwarp-cmbright.sty}
+%
+% \section{cmbright}
+%
+% \credits{Walter Schmidt}
+%
+% \DescribePackage{cmbright}
+% \pkg{cmbright} is used as-is for \SVG\ math, and is
+% emulated for \brand{MathJax}.
+%
+% The \brand{MathJax} emulation ignores all package options,
+% \trouble[limitations]{cmbright=\pkg{cmbright}}
+% except \optn{slantedGreek} is honored, and \cs{mathbold} is available.
+%
+% The dedicated macros for upright Greek letters do work correctly.
+%
+% \SVG\ math should appear the same as the printed output.
+%
+% \changes{v0.891}{2020/09/14}{\pkg{cmbright}: Added.}
+%
+% \codehtml
+%
+% \begin{macrocode}
+\LWR at ProvidesPackagePass{cmbright}[2005/04/13]
+
+\LWR at infoprocessingmathjax{cmbright}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\LWR at origRequirePackage{lwarp-common-mathjax-letters}
+
+\begin{warpMathJax}
+
+\@ifpackagewith{cmbright}{slantedGreek}
+{
+ \LWR at mathjax@addgreek at u@it*{}{}
+}
+{}
+
+\LWR at mathjax@addgreek at u@up*{up}{}
+
+\CustomizeMathJax{\newcommand{\mathbold}[1]{\boldsymbol{#1}}}
+
+\end{warpMathJax}
+% \end{macrocode}
+%
+% \iffalse
+%</cmbright>
+% \fi
+%
+%
+%
+%
+% \iffalse
%<*cmdtrack>
% \fi
%
@@ -45868,6 +49994,7 @@
% This may need to be undone for some fonts.
%
% \changes{v0.81}{2020/03/03}{\pkg{colonequals}: Added.}
+% \changes{v0.891}{2020/09/08}{\pkg{colonequals}: Uses Unicode and \cs{mathrel}.}
%
% \codehtml
%
@@ -45879,24 +50006,24 @@
\begin{warpMathJax}
\LWR at infoprocessingmathjax{colonequals}
-\CustomizeMathJax{\newcommand{\ratio}{\unicode{x2236}}}
-\CustomizeMathJax{\newcommand{\coloncolon}{\unicode{x2237}}}
-\CustomizeMathJax{\newcommand{\colonequals}{\coloncolon=}}
-\CustomizeMathJax{\newcommand{\coloncolonequals}{\coloncolon=}}
-\CustomizeMathJax{\newcommand{\equalscolon}{=\!\ratio}}
-\CustomizeMathJax{\newcommand{\equalscoloncolon}{=\!\coloncolon}}
-\CustomizeMathJax{\newcommand{\colonminus}{\ratio-}}
-\CustomizeMathJax{\newcommand{\coloncolonminus}{\coloncolon-}}
-\CustomizeMathJax{\newcommand{\minuscolon}{-\ratio}}
-\CustomizeMathJax{\newcommand{\minuscoloncolon}{-\coloncolon}}
-\CustomizeMathJax{\newcommand{\colonapprox}{\ratio\approx}}
-\CustomizeMathJax{\newcommand{\coloncolonapprox}{\coloncolon\approx}}
-\CustomizeMathJax{\newcommand{\approxcolon}{\approx\!\ratio}}
-\CustomizeMathJax{\newcommand{\approxcoloncolon}{\approx\!\coloncolon}}
-\CustomizeMathJax{\newcommand{\colonsim}{\ratio\sim}}
-\CustomizeMathJax{\newcommand{\coloncolonsim}{\coloncolon\sim}}
-\CustomizeMathJax{\newcommand{\simcolon}{\sim\!\ratio}}
-\CustomizeMathJax{\newcommand{\simcoloncolon}{\sim\!\coloncolon}}
+\CustomizeMathJax{\newcommand{\ratio}{\mathrel{\unicode{x2236}}}}
+\CustomizeMathJax{\newcommand{\coloncolon}{\mathrel{\unicode{x2237}}}}
+\CustomizeMathJax{\newcommand{\colonequals}{\mathrel{\unicode{x2236}\!=}}}
+\CustomizeMathJax{\newcommand{\coloncolonequals}{\mathrel{\unicode{x2237}\!=}}}
+\CustomizeMathJax{\newcommand{\equalscolon}{\mathrel{=\!\unicode{x2236}}}}
+\CustomizeMathJax{\newcommand{\equalscoloncolon}{\mathrel{=\!\unicode{x2237}}}}
+\CustomizeMathJax{\newcommand{\colonminus}{\mathrel{\unicode{x2236}-}}}
+\CustomizeMathJax{\newcommand{\coloncolonminus}{\mathrel{\unicode{x2237}-}}}
+\CustomizeMathJax{\newcommand{\minuscolon}{\mathrel{-\unicode{x2236}}}}
+\CustomizeMathJax{\newcommand{\minuscoloncolon}{\mathrel{-\unicode{x2237}}}}
+\CustomizeMathJax{\newcommand{\colonapprox}{\mathrel{\unicode{x2236}\!\approx}}}
+\CustomizeMathJax{\newcommand{\coloncolonapprox}{\mathrel{\unicode{x2237}\!\approx}}}
+\CustomizeMathJax{\newcommand{\approxcolon}{\mathrel{\approx\!\unicode{x2236}}}}
+\CustomizeMathJax{\newcommand{\approxcoloncolon}{\mathrel{\approx\!\unicode{x2237}}}}
+\CustomizeMathJax{\newcommand{\colonsim}{\mathrel{\unicode{x2236}\!\sim}}}
+\CustomizeMathJax{\newcommand{\coloncolonsim}{\mathrel{\unicode{x2237}\!\sim}}}
+\CustomizeMathJax{\newcommand{\simcolon}{\mathrel{\sim\!\unicode{x2236}}}}
+\CustomizeMathJax{\newcommand{\simcoloncolon}{\mathrel{\sim\!\unicode{x2237}}}}
\end{warpMathJax}
% \end{macrocode}
%
@@ -45906,9 +50033,6 @@
%
%
%
-%
-%
-%
% \iffalse
%<*color>
% \fi
@@ -45938,7 +50062,6 @@
%
%
%
-%
% \iffalse
%<*colortbl>
% \fi
@@ -46066,6 +50189,17 @@
% \end{macrocode}
% \end{noindmacro}
+% For \brand{MathJax}, colors are discarded.
+% \changes{v0.894}{2020/12/22}{\pkg{colortbl}: Added \brand{MathJax} emulation.}
+% \begin{macrocode}
+\begin{warpMathJax}
+\CustomizeMathJax{\newcommand{\columncolor}[2][]{\LWRabsorbtwooptions}}
+\CustomizeMathJax{\let\rowcolor\columncolor}
+\CustomizeMathJax{\let\cellcolor\columncolor}
+\end{warpMathJax}
+% \end{macrocode}
+
+
% \iffalse
%</colortbl>
% \fi
@@ -46262,6 +50396,7 @@
\PackageError{lwarp-ctable}{\MessageBreak
You can, currently, use the sidecap option only with\MessageBreak
memoir documents. Use topcap or botcap only}
+ {}
\fi
\fi
\ifdim\@CTwidth=0pt\else
@@ -46269,6 +50404,7 @@
\PackageError{lwarp-ctable}{\MessageBreak
You may not use the width and maxwidth options together\MessageBreak
Use either width or maxwidth}
+ {}
\fi
\fi
\ifx\@CTpos\empty
@@ -46276,6 +50412,7 @@
\PackageError{lwarp-ctable}{\MessageBreak
You may not use the pos and sideways options together\MessageBreak
Rotated tables and figures are always typeset on a separate page}
+ {}
\fi
\fi
\ifx\@CTcaption\empty
@@ -46283,6 +50420,7 @@
\PackageError{lwarp-ctable}{\MessageBreak
You may not label a captionless table\MessageBreak
Such a label can't be referenced}
+ {}
\fi
\fi
% \end{macrocode}
@@ -47000,8 +51138,46 @@
%
%
%
+% \iffalse
+%<*drftcite>
+% \fi
%
+% \part{lwarp-drftcite.sty}
+%
+% \section{drftcite}
+%
+% \credits{Donald Arseneau}
+%
+% \DescribePackage{drftcite}
+% \pkg{drftcite} is patched for use by \pkg{lwarp}.
+%
+% \changes{v0.87}{2020/06/02}{\pkg{drftcite}: Added.}
+%
+% \codehtml
+%
+% \begin{macrocode}
+\LWR at ProvidesPackagePass{drftcite}[1995/01/23]
+% \end{macrocode}
+%
+% \begin{macrocode}
+\def\@lbibitem[#1]#2{\global\@HighCite\z@
+ \item[
+ \textsuperscript{\@nameuse{DCN@#2\@extra at b@citeb}}~% lwarp
+ \@biblabel{\@ifundefined{DCN@#2\@extra at b@citeb}{\@warning
+ {Reference `#2' on page \thepage\space was never cited}}{}%
+% \DC at llap{$^{\@nameuse{DCN@#2\@extra at b@citeb}}$\ \ }%%o
+ \@citeverb{#2}}\hfil]\if at filesw{\def\protect##1{\string ##1\space}%
+ \immediate\write\@auxout{\string\bibcite{#2}{#1}}}\fi\ignorespaces}
+% \end{macrocode}
+%
% \iffalse
+%</drftcite>
+% \fi
+%
+%
+%
+%
+% \iffalse
%<*easy-todo>
% \fi
%
@@ -47014,6 +51190,11 @@
% \DescribePackage{easy-todo}
% \pkg{easy-todo} is patched for use by \pkg{lwarp}.
%
+% To remove the ``P.'' heading for \HTML:
+% \begin{sourceverb}
+% \warpHTMLonly{\renewcommand{\todoindexpagetitle}{}}
+% \end{sourceverb}
+%
% \changes{v0.44}{2017/11/10}{\pkg{easy-todo}: Added.}
%
% \codehtml
@@ -47025,12 +51206,12 @@
% \begin{noindmacro}{\listoftodos}
% Modified to correct buggy use of \cs{flushright}.
% \begin{macrocode}
-\let\LWR at origlistoftodos\listoftodos
+\let\LWR at easytodo@origlistoftodos\listoftodos
\renewcommand{\listoftodos}{%
\begingroup
\renewcommand{\flushright}{}
-\LWR at origlistoftodos
+\LWR at easytodo@origlistoftodos
\endgroup
}
% \end{macrocode}
@@ -47125,6 +51306,7 @@
% 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
%
@@ -47132,7 +51314,10 @@
\LWR at ProvidesPackagePass{econometrics}% no date specified in the original
% \end{macrocode}
%
+%
% \begin{macrocode}
+\LWR at origRequirePackage{lwarp-common-mathjax-letters}
+
\begin{warpMathJax}
\LWR at infoprocessingmathjax{econometrics}
@@ -47169,96 +51354,12 @@
\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}}
+\LWR at mathjax@addlatin at u@bfit{m}% uppercase Latin, bold italic
+\LWR at mathjax@addlatin at l@bfit{v}% lowercase Latin, bold italic
-\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}}
+\LWR at mathjax@addgreek at l@bfit{v}{}% lowercase Greek bold italic
+\LWR at mathjax@addgreek at u@bfit*{m}{}% uppercase Greek bold italic, capitalized macro names
-\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}}
-
\CustomizeMathJax{\newcommand{\rb}{\mathrm{b}}}
\CustomizeMathJax{\newcommand{\rB}{\mathrm{B}}}
\CustomizeMathJax{\newcommand{\rC}{\mathrm{C}}}
@@ -47389,7 +51490,7 @@
\textcolor{red}{%
#1 is only a provisional stub\\\Large
the Office document
- \ifx\ed at stubURI\@empty{#2}\else\href{\ed at stubURI}{#2}\fi\
+ \ifx\ed at stubURI\@empty{#2}\else\LWR at href{\ed at stubURI}{#2}\fi\
contains more text\\which will be merged for the final document%
}%
\end{center}%
@@ -47449,7 +51550,7 @@
% \credits{Clemens Niederberger}
%
% \DescribePackage{embrac}
-% \pkg{embrac} is nullfied for \HTML\, and used as-is for print.
+% \pkg{embrac} is patched for \HTML\, and used as-is for print.
%
% \changes{v0.65}{2018/12/10}{\pkg{embrac}: Added.}
%
@@ -47459,7 +51560,14 @@
\LWR at ProvidesPackagePass{embrac}[2017/07/04]
% \end{macrocode}
%
+% \changes{v0.87}{2020/05/14}{\pkg{embrac}: Neutralized kerning.}
% \begin{macrocode}
+\ExplSyntaxOn
+\RenewDocumentCommand{\embrac_kern:n}{m}{}
+\ExplSyntaxOff
+% \end{macrocode}
+%
+% \begin{macrocode}
\LetLtxMacro\LWR at orig@HTML at emph\LWR at HTML@emph
\RenewDocumentCommand{\LWR at HTML@emph}{s m}{\LWR at orig@HTML at emph{#2}}
@@ -47645,7 +51753,7 @@
%
% \credits{John Lavagnino}
%
-% \DescribePackage{endnotes} Used as-is.
+% \DescribePackage{endnotes} Patched for \HTML.
%
% \limitsendnotes
%
@@ -48022,12 +52130,7 @@
%
%
%
-% \codehtml
-% \begin{macrocode}
-\begin{warpHTML}
-% \end{macrocode}
-
% \cs{newlist} \marg{name} \marg{type} \marg{maxdepth} \\
% \cs{renewlist} \marg{name} \marg{type} \marg{maxdepth}
%
@@ -48047,10 +52150,6 @@
% \end{macrocode}
-% \begin{macrocode}
-\end{warpHTML}
-% \end{macrocode}
-
% \iffalse
%</enumitem>
% \fi
@@ -48074,88 +52173,102 @@
% \credits{Peter Wilson}
%
% \DescribePackage{epigraph}
-% \pkg{epigraph} is emulated.
+% \pkg{epigraph} is emulated for \HTML, and used as-is for print output.
%
+% Use \CSS\ to format epigraphs.
+%
% \changes{v0.42}{2017/10/27}{\pkg{epigraph}: If \progcode{FormatWP} add \HTML\ styles.}
+% \changes{v0.84}{2020/04/16}{\pkg{epigraph}: Added print mode.}
%
% \codehtml
% \begin{macrocode}
-\LWR at ProvidesPackageDrop{epigraph}[2009/09/02]
+\LWR at ProvidesPackagePass{epigraph}[2020/01/02]
% \end{macrocode}
% \changes{v0.73}{2019/06/25}{\pkg{epigraph}: Fix: Paragraph tags.}
% \begin{macrocode}
-\DeclareDocumentCommand{\qitem}{m m}
-{
-\begin{BlockClass}{qitem}
-#1
-\LWR at stoppars%
-\ifbool{FormatWP}
-{\begin{BlockClass}[border-top:1px solid gray]{epigraphsource}}
-{\begin{BlockClass}{epigraphsource}}
-#2
-\end{BlockClass}
-\end{BlockClass}
+\DeclareDocumentCommand{\LWR at HTML@qitem}{m m}
+{%
+ \begin{BlockClass}{qitem}%
+ #1%
+ \LWR at stoppars%
+ \ifbool{FormatWP}%
+ {\begin{BlockClass}[border-top:1px solid gray]{epigraphsource}}%
+ {\begin{BlockClass}{epigraphsource}}%
+ #2%
+ \end{BlockClass}%
+ \end{BlockClass}%
}
+\LWR at formatted{qitem}
% \end{macrocode}
% \changes{v0.47}{2018/01/26}{\pkg{epigraph}: Fix: Line wrap at \HTML\ hyphen.}
% \begin{macrocode}
-\DeclareDocumentCommand{\epigraph}{m m}
-{
-\begin{LWR at BlockClassWP}{\LWR at print@mbox{text-align:right}}{}{epigraph}
-\qitem{#1}{#2}
-\end{LWR at BlockClassWP}
+\DeclareDocumentCommand{\LWR at HTML@epigraph}{m m}
+{%
+ \begin{LWR at BlockClassWP}{\LWR at print@mbox{text-align:right}}{}{epigraph}%
+ \qitem{#1}{#2}%
+ \end{LWR at BlockClassWP}%
}
+\LWR at formatted{epigraph}
-\DeclareDocumentEnvironment{epigraphs}{}
-{\LWR at BlockClassWP{\LWR at print@mbox{text-align:right}}{}{epigraph}}
-{\endLWR at BlockClassWP}
+\DeclareDocumentEnvironment{LWR at HTML@epigraphs}{}
+ {\LWR at BlockClassWP{\LWR at print@mbox{text-align:right}}{}{epigraph}}
+ {\endLWR at BlockClassWP}
+\LWR at formattedenv{epigraphs}
% \end{macrocode}
%
-% Use \CSS\ to format epigraphs.
%
-% The following are null commands for source compatibility:
+% The following cannot be used in print mode while generating \HTML:
% \begin{macrocode}
-\newenvironment*{flushepinormal}{}{}
-% \end{macrocode}
-%
-% \changes{v0.45}{2017/12/22}{\pkg{epigraph}: Support for \pkg{memoir}.}
-% \begin{macrocode}
-\@ifclassloaded{memoir}{
-\setlength{\epigraphwidth}{.5\linewidth}
-\renewcommand{\textflush}{flushepinormal}
\renewcommand{\epigraphhead}[2][0]{#2}
\renewcommand{\dropchapter}[1]{}
\renewcommand*{\undodrop}{}
-}{% not memoir
-\newlength{\epigraphwidth}
-\setlength{\epigraphwidth}{.5\linewidth}
-\newcommand{\textflush}{flushepinormal}
-\newcommand{\epigraphflush}{flushright}
-\newcommand{\sourceflush}{flushright}
-\newcommand*{\epigraphsize}{\small}
-\newlength{\epigraphrule}
-\newlength{\beforeepigraphskip}
-\newlength{\afterepigraphskip}
-\newcommand{\epigraphhead}[2][0]{#2}
-\newcommand{\dropchapter}[1]{}
-\newcommand*{\undodrop}{}
-}% not memoir
-
-\let\cleartoevenpage\relax% also in nextpage
-\newcommand{\cleartoevenpage}[1][]{}
% \end{macrocode}
%
-% \changes{v0.79}{2020/01/06}{\pkg{epigraph}: Updated to v1.5e.}
+%
+% \iffalse
+%</epigraph>
+% \fi
+%
+%
+%
+% \iffalse
+%<*epsf>
+% \fi
+%
+% \part{lwarp-epsf.sty}
+%
+% \section{epsf}
+%
+% \credits{Tom Rokicki}
+%
+% \DescribePackage{epsf}
+% \pkg{epsf} is patched for use by \pkg{lwarp}.
+%
+% \changes{v0.895}{2019/01/19}{\pkg{epsf}: Added.}
+%
+% \codehtml
+%
% \begin{macrocode}
-\newif\ifepigraphnoindent
-\newcommand\epigraphnoindent{\epigraphnoindenttrue}
+\LWR at ProvidesPackagePass{epsf}% not date given
% \end{macrocode}
%
+% \begin{macrocode}
+\xpretocmd{\epsfsetgraph}
+ {\begin{lateximage}}
+ {}
+ {\LWR at patcherror{lwarp-epsf}{epsfsetgraph-begin}}
+
+\xapptocmd{\epsfsetgraph}
+ {\end{lateximage}}
+ {}
+ {\LWR at patcherror{lwarp-epsf}{epsfsetgraph-end}}
+% \end{macrocode}
+%
% \iffalse
-%</epigraph>
+%</epsf>
% \fi
%
%
@@ -48176,11 +52289,12 @@
% \watchout
%
% \changes{v0.61}{2018/10/01}{\pkg{epsfig}: Added.}
+% \changes{v0.895}{2021/01/17}{\pkg{epsfig}: Supports \env{lateximage}.}
%
% \codehtml
%
% \begin{macrocode}
-\LWR at ProvidesPackageDrop{epsfig}[2017/06/25]
+\LWR at ProvidesPackagePass{epsfig}[2017/06/25]
% \end{macrocode}
%
% A few additional keys to capture the filename:
@@ -48202,9 +52316,11 @@
%
% The captured filename is used as the argument to \cs{includegraphics}:
% \begin{macrocode}
-\newcommand{\epsfig}[1]{\includegraphics[#1]{\LWR at epsfig@filename}}
+\newcommand{\LWR at HTML@epsfig}[1]{\includegraphics[#1]{\LWR at epsfig@filename}}
+\LWR at formatted{epsfig}
-\newcommand{\psfig}[1]{\includegraphics[#1]{\LWR at epsfig@filename}}
+\newcommand{\LWR at HTML@psfig}[1]{\includegraphics[#1]{\LWR at epsfig@filename}}
+\LWR at formatted{psfig}
% \end{macrocode}
%
% \iffalse
@@ -48233,11 +52349,12 @@
%
% \changes{v0.50}{2018/02/21}{\pkg{epstopdf}: Added.}
% \changes{v0.59}{2018/08/27}{\pkg{epstopdf}: Improved.}
+% \changes{v0.893}{2020/11/26}{\pkg{epstopdf}: Updated date to v2.11.}
%
% \codehtml
%
% \begin{macrocode}
-\LWR at ProvidesPackagePass{epstopdf}[2016/05/15]
+\LWR at ProvidesPackagePass{epstopdf}[2020-01-24]
% \end{macrocode}
%
% \iffalse
@@ -48260,11 +52377,12 @@
%
% \changes{v0.51}{2018/03/03}{\pkg{epstopdf-base}: Added.}
% \changes{v0.59}{2018/08/27}{\pkg{epstopdf-base}: Improved.}
+% \changes{v0.893}{2020/11/26}{\pkg{epstopdf-base}: Updated date to v2.11.}
%
% \codehtml
%
% \begin{macrocode}
-\LWR at ProvidesPackagePass{epstopdf-base}[2016/05/15]
+\LWR at ProvidesPackagePass{epstopdf-base}[2020-01-24]
% \end{macrocode}
%
% Redefine to remember the image filename, replacing |.pdf| with |.svg|.
@@ -48502,7 +52620,7 @@
% Finish the current page's errata before closing and reloading the list:
% \begin{macrocode}
-\preto\PrintErrata{\LWR at orignewpage}
+\preto\PrintErrata{\LWR at maybe@orignewpage}
% \end{macrocode}
% No longer defining math macros with the \HTML\ |$|:
@@ -48570,6 +52688,43 @@
%
%
% \iffalse
+%<*esvect>
+% \fi
+%
+% \part{lwarp-esvect.sty}
+%
+% \section{esvect}
+%
+% \credits{Eddie Saudrais}
+%
+% \DescribePackage{esvect}
+% \pkg{esvect} is used as-is for \SVG\ math,
+% and emulated for \brand{MathJax}.
+%
+% \changes{v0.893}{2020/10/14}{\pkg{esvect}: Added.}
+%
+% \codehtml
+%
+% \begin{macrocode}
+\LWR at ProvidesPackagePass{esvect}% no date given
+% \end{macrocode}
+%
+% \begin{macrocode}
+\begin{warpMathJax}
+\CustomizeMathJax{\newcommand{\LWResvectvv}[1]{\overrightarrow{#1}}}
+\CustomizeMathJax{\newcommand{\LWResvectvvstar}[2]{\overrightarrow{#1}\!_{#2}}}
+\CustomizeMathJax{\newcommand{\vv}{\ifstar\LWResvectvvstar\LWResvectvv}}
+\end{warpMathJax}
+% \end{macrocode}
+%
+% \iffalse
+%</esvect>
+% \fi
+%
+%
+%
+%
+% \iffalse
%<*etoc>
% \fi
%
@@ -48822,12 +52977,16 @@
% \codehtml
%
% Discard all options for \pkg{lwarp-everyshi}:
+% \changes{v0.89}{2020/07/28}{\pkg{everyshi}: Adapt to \LaTeX kernel changes.}
% \begin{macrocode}
\LWR at ProvidesPackageDrop{everyshi}[2001/05/15]
% \end{macrocode}
%
% \begin{macrocode}
+\let\EveryShipout\relax
\newcommand*{\EveryShipout}[1]{}
+
+\let\AtNextShipout\relax
\newcommand*{\AtNextShipout}[1]{}
% \end{macrocode}
%
@@ -49173,24 +53332,24 @@
% \begin{macrocode}
\let\LWRFB at UseVerbatim\UseVerbatim
\renewcommand*{\UseVerbatim}[1]{%
-\LWR at atbeginverbatim{3}{Verbatim}%
+\LWR at atbeginverbatim{Verbatim}%
\LWRFB at UseVerbatim{#1}%
-\LWR at afterendverbatim{.5}%
+\LWR at afterendverbatim%
}
\let\LWRFB at LUseVerbatim\LUseVerbatim
\renewcommand*{\LUseVerbatim}[1]{%
-\LWR at atbeginverbatim{3}{LVerbatim}%
+\LWR at atbeginverbatim{LVerbatim}%
\noindent%
\LWRFB at LUseVerbatim{#1}%
-\LWR at afterendverbatim{.5}%
+\LWR at afterendverbatim%
}
\def\@BUseVerbatim[#1]#2{%
-\LWR at atbeginverbatim{3}{BVerbatim}%
+\LWR at atbeginverbatim{BVerbatim}%
\LWRFB at UseVerbatim{#2}%
-\LWR at afterendverbatim{.5}%
+\LWR at afterendverbatim%
}
% \end{macrocode}
%
@@ -49220,12 +53379,13 @@
% \changes{v0.20}{2017/01/11}{\pkg{fancyhdr}: Added.}
% \changes{v0.33}{2017/06/18}{\pkg{fancyhdr}: Fix: Optional args for \cs{lhead}, etc.}
% \changes{v0.66}{2019/02/02}{\pkg{fancyhdr}: Updated to v3.10.}
+% \changes{v0.895}{2020/01/05}{\pkg{fancyhdr}: Updated to v4.0.}
%
% \codehtml
%
% Discard all options for \pkg{lwarp-fancyhdr}:
% \begin{macrocode}
-\LWR at ProvidesPackageDrop{fancyhdr}[2019/01/31]
+\LWR at ProvidesPackageDrop{fancyhdr}[2021/01/04]
% \end{macrocode}
% \begin{macrocode}
@@ -49232,7 +53392,7 @@
\newcommand*{\fancyhead}[2][]{}
\newcommand*{\fancyfoot}[2][]{}
\newcommand*{\fancyhf}[2][]{}
-\newcommand*{\fancypagestyle}[2]{}
+
\newcommand*{\lhead}[2][]{}
\newcommand*{\chead}[2][]{}
\newcommand*{\rhead}[2][]{}
@@ -49241,16 +53401,30 @@
\newcommand*{\rfoot}[2][]{}
\newcommand*{\headrulewidth}{}
\newcommand*{\footrulewidth}{}
+\providecommand{\headruleskip}{0pt}
+\providecommand{\footruleskip}{0pt}
+\newcommand{\plainheadrulewidth}{0pt}
+\newcommand{\plainfootrulewidth}{0pt}
+\def\fancyplain#1#2{#1}
\newcommand*{\headrule}{}
\newcommand*{\footrule}{}
\newlength{\headwidth}
+\newcommand*{\fancycenter}[1][1em]{}
\newcommand*{\fancyheadoffset}[2][]{}
\newcommand*{\fancyfootoffset}[2][]{}
\newcommand*{\fancyhfoffset}[2][]{}
+\newcommand{\fancyheadinit}[1]{}
+\newcommand{\fancyfootinit}[1]{}
+\newcommand{\fancyhfinit}[1]{}
\newcommand*{\iffloatpage}[2]{#2}
\newcommand*{\ifftopfloat}[2]{#2}
\newcommand*{\iffbotfloat}[2]{#2}
\newcommand*{\iffootnote}[2]{#2}
+
+\newcommand{\fancypagestyle}[1]{%
+ \@ifnextchar[{\f at nch@pagestyle{#1}}{\f at nch@pagestyle{#1}[]}%
+}
+\long\def\f at nch@pagestyle#1[#2]#3{}
% \end{macrocode}
% \iffalse
@@ -49268,11 +53442,14 @@
%
% \section{fancyref}
%
+% \credits{Axel Reichert}
+%
% \DescribePackage{fancyref}
-% \pkg{fancyref} is emulated.
+% \pkg{fancyref} is modifed for \HTML\ output.
%
% \changes{v0.44}{2017/11/22}{\pkg{fancyref}: Added.}
% \changes{v0.48}{2018/02/04}{\pkg{fancyref}: Now directly supported.}
+% \changes{v0.88}{2020/07/20}{\pkg{fancyref}: Now uses \pkg{varioref} which ignores page-related output.}
%
% \codehtml
%
@@ -49292,36 +53469,6 @@
\renewcommand*{\fancyrefhook}[1]{#1}%
}
% \end{macrocode}
-
-% Modified to ignore the page number and \pkg{varioref}.
-% \begin{macrocode}
-\renewcommand*{\@f at ref}[4]{%
- \@ifundefined{#1r@#2@#3}{%
- \PackageError{lwarp-fancyref}{%
- \backslashchar#1ref\space format ``#2''
- undefined\MessageBreak
- for label type ``#3''%
- }{%
- The format ``#2'' was not defined for the label type
- ``#3''\MessageBreak
- and the \backslashchar#1ref\space command. Perhaps
- you have only misspelled its name.\MessageBreak
- Otherwise you will have to define it with
- \protect\new#1refformat\MessageBreak
- prior to using it.%
- }%
- }{%
- \fancyrefhook{%
- \@nameuse{#1r@#2@#3}%
- {\ref{#3\fancyrefargdelim#4}}%
-% {\pageref{#3\fancyrefargdelim#4}}% original
-% {\@fancyref at page@ref{#3\fancyrefargdelim#4}}% original
- {}% lwarp
- {}% lwarp
- }%
- }%
-}%
-% \end{macrocode}
%
% \iffalse
%</fancyref>
@@ -49507,11 +53654,10 @@
% \end{macrocode}
%
% Adds \HTML\ formatting:
+% \changes{v0.891}{2020/09/12}{\pkg{fancyvrb}: Fix: \env{BVerbatim} with labels.}
% \begin{macrocode}
\def\FV at BUseVerbatim#1{%
- \LWR at atbeginverbatim{0}{verbatim}%
\FV at BVerbatimBegin#1\FV at BVerbatimEnd%
- \LWR at afterendverbatim{0}%
}
% \end{macrocode}
@@ -49526,6 +53672,7 @@
% start and end of the environment, depending on the choice of |frame|.
% Original code is from the \pkg{fancyvrb} package.
% \changes{v0.73}{2019/06/26}{\pkg{fancyvrb}: Fix: Nested \element{div}/\element{pre}.}
+% \changes{v0.895}{2021/01/14}{Improved \HTML\ quotes.}
% \begin{macrocode}
\newcommand*{\LWR at fvstartnone}{%
\LWR at traceinfo{fvstartnone}%
@@ -49536,14 +53683,14 @@
\ifx\FV at LabelBegin\relax\else
\FancyVerbRuleColor{\LWR at FVfindbordercolor}
\LWR at htmltagc{%
- div class="fancyvrblabel" % extra space
- style="color: \LWR at origpound\LWR at tempcolor"%
+ div class=\textquotedbl{}fancyvrblabel\textquotedbl\ % space
+ style=\textquotedbl{}color: \LWR at origpound\LWR at tempcolor\textquotedbl%
}
\LWR at print@textrm{\FV at LabelBegin}% \textrm preserves emdash
\LWR at htmltagc{/div}\LWR at orignewline%
\fi
\fi
-\LWR at atbeginverbatim{0}{verbatim}%
+\LWR at atbeginverbatim{verbatim}%
% }%
}
@@ -49550,14 +53697,14 @@
\newcommand*{\LWR at fvendnone}{%
\LWR at traceinfo{fvendnone}%
% \hbox to\z@{
-\LWR at afterendverbatim{0}%
+\LWR at afterendverbatim%
\LWR at stoppars%
\ifx\FV at LabelPositionBottomLine\relax\else
\ifx\FV at LabelEnd\relax\else
\FancyVerbRuleColor{\LWR at FVfindbordercolor}
\LWR at htmltagc{%
- div class="fancyvrblabel" % extra space
- style="color: \LWR at origpound\LWR at tempcolor"%
+ div class=\textquotedbl{}fancyvrblabel\textquotedbl\ % space
+ style=\textquotedbl{}color: \LWR at origpound\LWR at tempcolor\textquotedbl%
}
\LWR at print@textrm{\FV at LabelEnd}
\LWR at htmltagc{/div}\LWR at orignewline%
@@ -49662,7 +53809,14 @@
\let\FV at LeftListFrame\relax%
\let\FV at RightListFrame\relax%
\let\FV at EndListFrame\LWR at fvendline}
-
+% \end{macrocode}
+%
+% Seems to be required in some situations:
+% \changes{v0.892}{2020/10/06}{\pkg{fancyvrb}: Provided \cs{FV at FrameFillLine}.}
+% \begin{macrocode}
+\def\FV at FrameFillLine{}%
+% \end{macrocode}
+% \begin{macrocode}
\def\FV at Frame@leftline{%
\renewcommand*{\LWR at FVstyle}{%
\LWR at currenttextcolorstyle\LWR at indentHTMLtwo%
@@ -49736,19 +53890,44 @@
}
% \end{macrocode}
-% \begin{environment}{BVerbatim}
+% \changes{v0.892}{2020/10/05}{\pkg{fancyvrb}: Adapted to \pkg{fvextra}.}
% \begin{macrocode}
-\AtBeginEnvironment{BVerbatim}
-{%
-\LWR at forcenewpage% instead of \preto
-\LWR at atbeginverbatim{0}{bverbatim}%
+\def\FV at ListProcessLine@i#1{%
+% \hbox{%
+ \ifvoid\@labels\else
+ \hbox to \z@{\kern\@totalleftmargin\box\@labels\hss}%
+ \fi
+ \FV at ListProcessLine{#1}%
+% }%
+% \let\FV at ProcessLine\FV at ListProcessLine@ii%
}
+% \end{macrocode}
-\AfterEndEnvironment{BVerbatim}
-{%
-\LWR at afterendverbatim{0}%
-}
+% \changes{v0.892}{2020/10/05}{\pkg{fancyvrb}: Adapted to \pkg{fvextra}.}
+% \begin{macrocode}
+\def\FV at ListProcessLastLine{}
% \end{macrocode}
+
+
+% \begin{environment}{BVerbatim}
+% \changes{v0.891}{2020/09/12}{\pkg{fancyvrb}: Fix: \env{BVerbatim} with labels.}
+% \begin{macrocode}
+
+\xpretocmd{\FV at BeginVBox}
+ {%
+ \LWR at forcenewpage% instead of \preto
+ \LWR at atbeginverbatim{bverbatim}%
+ }
+ {}
+ {\LWR at patcherror{fancyvrb}{FV at BeginVBox}}
+
+\xapptocmd{\FV at EndVBox}
+ {%
+ \LWR at afterendverbatim%
+ }
+ {}
+ {\LWR at patcherror{fancyvrb}{FV at EndVBox}}
+% \end{macrocode}
% \end{environment}
% End of the modifications to make at the end of the preamble:
@@ -49765,6 +53944,169 @@
%
%
% \iffalse
+%<*fbox>
+% \fi
+%
+% \part{lwarp-fbox.sty}
+%
+% \section{fbox}
+%
+% \credits{Herbert Voß}
+%
+% \DescribePackage{fbox}
+% \pkg{fbox} is patched for use by \pkg{lwarp}.
+%
+% \changes{v0.88}{2020/06/30}{\pkg{fbox}: Added.}
+%
+% \codehtml
+%
+% \begin{macrocode}
+\LWR at ProvidesPackagePass{fbox}[2020/06/22]
+% \end{macrocode}
+%
+% This will be \cs{LWR at formatted} when \cs{AtBeginDocument}:
+% \begin{macrocode}
+\LetLtxMacro\LWR at HTML@fbox\fbox
+% \end{macrocode}
+%
+% Instead of using the original, the new version is used with all borders:
+% \begin{macrocode}
+\renewcommand*{\orig at fbox}{\FBox at i[tblr]}
+% \end{macrocode}
+%
+% \begin{noindmacro}{LWR at fboxpkg@border}
+% \marg{1: top \Slash bottom \Slash left \Slash right} \marg{2: padding, or empty}
+%
+% Accumulates \HTML\ styles for border, and padding if given:
+% \begin{macrocode}
+\newcommand*{\LWR at fboxpkg@border}[2]{%
+ \appto\LWR at tempone{%
+ border-#1: % space
+ \LWR at printlength{\LWR at atleastonept} % space
+ solid \LWR at origpound\LWR at tempcolor ;\LWR at indentHTML
+ }%
+ \ifblank{#2}{}{%
+ \appto\LWR at tempone{%
+ padding-#1: \LWR at printlength{#2} ;\LWR at indentHTML
+ }%
+ }%
+}
+% \end{macrocode}
+% \end{noindmacro}
+%
+% A hack to reuse the same code for inline and blocks:
+% \begin{macrocode}
+\newbool{LWR at fboxpkg@ispar}
+\boolfalse{LWR at fboxpkg@ispar}
+% \end{macrocode}
+%
+% Acculumate \HTML\ styles for left and right padding,
+% depending on \cs{if at fbox@space at left}, \cs{if at fbox@space at right}:
+% \begin{macrocode}
+\newcommand{\LWR at fboxpkg@lrpadding}[1]{%
+ \csuse{if at fbox@space@#1}%
+ \appto\LWR at tempone{%
+ padding-#1: \LWR at printlength{\fbox@@sep};\LWR at indentHTML
+ }
+ \else%
+ \appto\LWR at tempone{%
+ padding-#1: 0pt;\LWR at indentHTML
+ }
+ \fi%
+}
+% \end{macrocode}
+%
+% The \HTML\ version, modified to use \HTML\ styles and either
+% an \cs{InlineClass} or \env{BlockClass}:
+% \begin{macrocode}
+\newcommand{\LWR at HTML@FBox at iii}[1]{%
+% \end{macrocode}
+%
+% Find and set the text color, rule width, margin:
+% \begin{macrocode}
+ \LWR at forceminwidth{\fbox@@rule}%
+ \LWR at findcurrenttextcolor%
+ \def\LWR at tempone{%
+ color: \LWR at origpound\LWR at tempcolor ; \LWR at indentHTML
+ margin: 1ex ; \LWR at indentHTML
+ }%
+% \end{macrocode}
+%
+% Add left/right padding:
+% \begin{macrocode}
+ \LWR at fboxpkg@lrpadding{left}%
+ \LWR at fboxpkg@lrpadding{right}%
+% \end{macrocode}
+%
+% Per the original to decode the borders, in a new way:
+% \begin{macrocode}
+ \ifnum\the\@tempcntb>8\relax
+ \advance\@tempcntb by -8
+ \LWR at fboxpkg@border{top}{\fbox@@sep}%
+ \fi
+ \ifnum\@tempcntb>3
+ \advance\@tempcntb by -4
+ \LWR at fboxpkg@border{left}{}%
+ \fi
+ \ifnum\@tempcntb>1
+ \LWR at fboxpkg@border{right}{}%
+ \fi
+ \ifodd\@tempcntb
+ \LWR at fboxpkg@border{bottom}{\fbox@@sep}%
+ \fi
+% \end{macrocode}
+%
+% Generate a \env{BlockClass} or \cs{InlineClass} with the contents:
+% \begin{macrocode}
+ \color at begingroup
+ \ifbool{LWR at fboxpkg@ispar}%
+ {%
+ \begin{BlockClass}[\LWR at tempone]{fboxpkg}%
+ #1%
+ \end{BlockClass}%
+ }%
+ {%
+ \InlineClass[\LWR at tempone]{fboxpkg}{%
+ #1%
+ }%
+ }%
+ \color at endgroup
+ \boolfalse{LWR at fboxpkg@ispar}% globally
+}
+\LWR at formatted{FBox at iii}
+% \end{macrocode}
+%
+% For \cs{fparbox}, set the use of \env{BlockClass}, then reuse the above:
+% \begin{macrocode}
+\long\def\LWR at HTML@FParBox at i[#1]#2{%
+ \booltrue{LWR at fboxpkg@ispar}%
+ \FBox at i[#1]{#2}
+}
+\LWR at formatted{FParBox at i}
+
+\long\def\LWR at HTML@FParBox at ii#1{%
+ \booltrue{LWR at fboxpkg@ispar}%
+ \FBox at i[tblr]{#1}%
+}
+\LWR at formatted{FParBox at ii}
+% \end{macrocode}
+%
+% For \brand{MathJax}, absorb and ignore star and optional arguments:
+% \begin{macrocode}
+\CustomizeMathJax{\let\LWRorigfbox\fbox}
+\CustomizeMathJax{\newcommand{\LWRfboxpkgtwo}[2][]{\LWRorigfbox{#2}}}
+\CustomizeMathJax{\renewcommand{\fbox}{\ifstar\LWRfboxpkgtwo\LWRfboxpkgtwo}}
+\CustomizeMathJax{\newcommand{\fparbox}{\fbox}}
+% \end{macrocode}
+%
+% \iffalse
+%</fbox>
+% \fi
+%
+%
+%
+%
+% \iffalse
%<*fewerfloatpages>
% \fi
%
@@ -49946,8 +54288,49 @@
%
%
%
+% \iffalse
+%<*fixmath>
+% \fi
%
+% \part{lwarp-fixmath.sty}
+%
+% \section{fixmath}
+%
+% \credits{Walter Schmidt}
+%
+% \DescribePackage{fixmath}
+% \pkg{fixmath} is used as-is for \SVG\ math, and
+% emulated for \brand{MathJax}.
+%
+% \brand{MathJax} does not have full font support for bold italic Greek.
+% \watchout[limitations]
+%
+% \changes{v0.893}{2020/10/30}{\pkg{fixmath}: Added.}
+%
+% \codehtml
+%
+% \begin{macrocode}
+\LWR at ProvidesPackagePass{fixmath}[2000/04/11]
+% \end{macrocode}
+%
+% \begin{macrocode}
+\LWR at origRequirePackage{lwarp-common-mathjax-letters}
+
+\begin{warpMathJax}
+\LWR at mathjax@addgreek at u@it*{}{}
+\LWR at mathjax@addletter{\BooleanTrue}{up}{}{delta}{0394}
+\LWR at mathjax@addletter{\BooleanTrue}{up}{}{omega}{03A9}
+\CustomizeMathJax{\newcommand{\mathbold}[1]{\boldsymbol{#1}}}
+\end{warpMathJax}
+% \end{macrocode}
+%
% \iffalse
+%</fixmath>
+% \fi
+%
+%
+%
+% \iffalse
%<*fixme>
% \fi
%
@@ -49977,10 +54360,15 @@
% \end{macrocode}
%
% Float-related macros required by \pkg{lwarp}:
+% \changes{v0.84}{2020/04/09}{\pkg{fixme}: Added section name.}
% \begin{macrocode}
\newcommand{\ext at fixme}{lox}
-\renewcommand{\l at fixme}[2]{\hypertocfloat{1}{fixme}{lox}{#1}{#2}}
+\renewcommand{\l at fixme}[2]{%
+ \hypertocfloat{1}{fixme}{lox}%
+ {\LWR at nameref{\BaseJobname-autopage-\arabic{LWR at nextautopage}} --- #1}
+ {#2}
+}
% \end{macrocode}
%
% Other modifications:
@@ -50169,10 +54557,6 @@
\LWR at ProvidesPackageDrop{float}[2001/11/08]
% \end{macrocode}
-% \begin{noindmacro}{\listof}
-% See \cref{sec:listof} for the \cs{listof} command.
-% \end{noindmacro}
-
% \begin{macro}{\LWR at floatstyle}
% The default float style:
% \begin{macrocode}
@@ -50189,27 +54573,27 @@
%
% \begin{macrocode}
\NewDocumentCommand{\newfloat}{m m m o}{%
-\IfValueTF{#4}%
-{\DeclareFloatingEnvironment[fileext=#3,within=#4]{#1}}%
-{\DeclareFloatingEnvironment[fileext=#3]{#1}}%
+ \IfValueTF{#4}%
+ {\DeclareFloatingEnvironment[fileext=#3,within=#4]{#1}}%
+ {\DeclareFloatingEnvironment[fileext=#3]{#1}}%
% \end{macrocode}
% Remember the float style:
% \changes{v0.57}{2018/05/14}{\pkg{float}: Added float styles.}
% \begin{macrocode}
-\csedef{LWR at floatstyle@#1}{\LWR at floatstyle}%
+ \csedef{LWR at floatstyle@#1}{\LWR at floatstyle}%
% \end{macrocode}
% \pkg{newfloat} package automatically creates the \cs{listof} command
% for new floats, but \pkg{float} does not,
% so remove \cs{listof} here in case it is manually created later.
% \begin{macrocode}
-\cslet{listof#1s}\relax%
-\cslet{listof#1es}\relax%
+ \cslet{listof#1s}\relax%
+ \cslet{listof#1es}\relax%
% \end{macrocode}
% Likesize, \pkg{newfloat} also creates \cs{l@<type>}, but \pkg{float} does not,
% so remove it here:
% \changes{v0.57}{2018/05/26}{\pkg{float}: Fix: Do not pre-define \cs{l at name}.}
% \begin{macrocode}
-\cslet{l@#1}\relax%
+ \cslet{l@#1}\relax%
}
% \end{macrocode}
% \end{noindmacro}
@@ -50217,9 +54601,15 @@
% \begin{noindmacro}{\floatname} \marg{type} \marg{name}
%
% Sets the text name of the float, such as ``Figure''.
+% Avoids trying to set a recursive name, from \pkg{trivfloat}.
+% \changes{v0.84}{2020/04/08}{\pkg{float}: Fix: Recursive name.}
% \begin{macrocode}
\NewDocumentCommand{\floatname}{m +m}{%
- \SetupFloatingEnvironment{#1}{name=#2}%
+ \def\LWR at tempone{#2}%
+ \def\LWR at temptwo{\@nameuse{#1name}}%
+ \ifdefequal{\LWR at tempone}{\LWR at temptwo}{}{%
+ \SetupFloatingEnvironment{#1}{name=#2}%
+ }%
}
% \end{macrocode}
% \end{noindmacro}
@@ -50254,6 +54644,10 @@
% \end{macrocode}
% \end{noindmacro}
+% \begin{noindmacro}{\listof}
+% See \cref{sec:listof} for the \cs{listof} command in the \pkg{lwarp} core.
+% \end{noindmacro}
+
% \iffalse
%</float>
% \fi
@@ -50310,7 +54704,7 @@
}%
{marginblock}%
}%
- \captionsetup{type=#2}%
+ \renewcommand*{\@captype}{#2}%
}
{%
\endLWR at BlockClassWP%
@@ -50410,8 +54804,8 @@
\AtBeginDocument{
\@ifpackageloaded{subcaption}
-{\booltrue{LWR at subcaptionloaded}}
-{\boolfalse{LWR at subcaptionloaded}}
+ {\booltrue{LWR at subcaptionloaded}}
+ {\boolfalse{LWR at subcaptionloaded}}
}
% \end{macrocode}
@@ -50672,9 +55066,9 @@
% inside a \CSS\ \element{div} of class |floatfoot|.
% \begin{macrocode}
\NewDocumentCommand{\floatfoot}{s +m}{%
-\begin{BlockClass}{floatfoot}
-#2
-\end{BlockClass}
+ \begin{BlockClass}{floatfoot}
+ #2
+ \end{BlockClass}
}
% \end{macrocode}
% \end{noindmacro}
@@ -50695,19 +55089,19 @@
% \end{macrocode}
% The row of floats is placed into a \element{div} of class |floatrow|:
% \begin{macrocode}
-\LWR at forcenewpage
-\BlockClass{floatrow}
+ \LWR at forcenewpage
+ \BlockClass{floatrow}
% \end{macrocode}
% While inside the floatrow, |LWR at insubfloatrow| is set true,
% which tells \cs{floatbox} to use \cs{subfigure} or \cs{subtable}.
% \begin{macrocode}
-\begingroup
-\booltrue{LWR at insubfloatrow}
+ \begingroup%
+ \booltrue{LWR at insubfloatrow}%
}
-{
-\endgroup
-\endBlockClass
-\boolfalse{LWR at insubfloatrow}
+{%
+ \endgroup%
+ \endBlockClass%
+ \boolfalse{LWR at insubfloatrow}%
}
% \end{macrocode}
% \end{noindenvironment}
@@ -51141,6 +55535,7 @@
% Swashes and figure styles are ignored for \HTML.
%
% \changes{v0.72}{2019/05/27}{\pkg{fontaxes}: Added.}
+% \changes{v0.84}{2020/04/13}{\pkg{fontaxes}: Moved sscshape to core. \cs{FilenameNullify}.}
%
% \codehtml
%
@@ -51149,29 +55544,17 @@
% \end{macrocode}
%
% \begin{macrocode}
-\newrobustcmd{\LWR at HTML@sscshape}{\LWR at HTML@scshape}
-\LWR at formatted{sscshape}
-\newcommand*{\LWR at null@sscshape}{}
-
-\newrobustcmd{\LWR at HTML@textssc}[1]{\textsc{#1}}
-\LWR at formatted{textssc}
-\newcommand*{\LWR at null@textssc}[1]{#1}
-
\ifdef{\LWR at HTML@swshape}{}{% duplicated by nfssext-cfr
\newcommand{\LWR at HTML@swshape}{}
\LWR at formatted{swshape}
- \newcommand*{\LWR at null@swshape}{}
- \newcommand{\LWR at HTML@textsw}[1]{#1}
+ \newrobustcmd{\LWR at HTML@textsw}[1]{#1}
\LWR at formatted{textsw}
- \newcommand*{\LWR at null@textsw}[1]{#1}
-}
-\appto{\LWR at nullfonts}{%
-\LetLtxMacro\sscshape\LWR at null@sscshape%
-\LetLtxMacro\textssc\LWR at null@textssc%
-\LetLtxMacro\swshape\LWR at null@swshape%
-\LetLtxMacro\textsw\LWR at null@textsw%
+ \FilenameNullify{%
+ \LetLtxMacro\swshape\@empty%
+ \LetLtxMacro\textsw\firstofone%
+ }
}
% \end{macrocode}
%
@@ -51256,7 +55639,8 @@
\providecommand*{\multfootsep}{,}
% \end{macrocode}
%
-% Using \pkg{cleveref}:
+% Using \pkg{cleveref}.
+% \cs{labelcref} only prints the number of the object, not its type.
% \begin{macrocode}
\providecommand*{\footref}[1]{\labelcref{#1}}
% \end{macrocode}
@@ -51538,7 +55922,9 @@
% \end{macrocode}
% \begin{macrocode}
-\BeforeBeginEnvironment{forest}{\begin{lateximage}[forest]}
+\BeforeBeginEnvironment{forest}{%
+ \begin{lateximage}[-forest-~\PackageDiagramAltText]%
+}
\AfterEndEnvironment{forest}{\end{lateximage}}
@@ -51546,8 +55932,9 @@
\forest at config{#2}%
\IfBooleanTF{#1}{%
\PackageError{lwarp-forest}%
- {Starred \Forest is not supported}%
- {Lwarp uses an environment for images, but \Forest* cannot work in an environment.}%
+ {\protect\Forest* is not supported}%
+ {Lwarp uses an environment for images,\MessageBreak
+ but \protect\Forest* cannot work in an environment.}%
\let\forest at next\forest at env%
}{\let\forest at next\forest at group@env}%
\begin{lateximage}[-forest-~\PackageDiagramAltText]% lwarp
@@ -51603,6 +55990,118 @@
%
%
% \iffalse
+%<*fourier>
+% \fi
+%
+% \part{lwarp-fourier.sty}
+%
+% \section{fourier}
+%
+% \credits{Michel Bovani}
+%
+% \DescribePackage{fourier}
+% \pkg{fourier} is used as-is for \SVG\ math, and is
+% emulated for \brand{MathJax}.
+%
+% The \brand{MathJax} emulation ignores all package options,
+% \trouble[limitations]{fourier=\pkg{fourier}}
+% except \optn{sloped} and \optn{upright} are honored for Greek characters,
+% but \brand{MathJax} cannot yet honor these for Latin characters.
+%
+% The dedicated macros for upright and italic Greek letters do work correctly.
+%
+% \SVG\ math should appear the same as the printed output.
+%
+% \changes{v0.891}{2020/09/14}{\pkg{fourier}: Added.}
+%
+% \codehtml
+%
+% \begin{macrocode}
+\LWR at ProvidesPackagePass{fourier}[2020/03/03]
+
+\LWR at infoprocessingmathjax{fourier}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\LWR at origRequirePackage{lwarp-common-mathjax-letters}
+
+\LWR at origRequirePackage{lwarp-common-mathjax-overlaysymbols}
+
+\begin{warpMathJax}
+
+\@ifpackagewith{fourier}{sloped}
+ {
+ \LWR at mathjax@addgreek at l@up{other}{}
+ \LWR at mathjax@addgreek at u@it*{other}{}
+ }% sloped
+ {% not sloped
+ \@ifpackagewith{fourier}{upright}
+ {% upright option
+ \LWR at mathjax@addgreek at l@up{}{}
+ \LWR at mathjax@addgreek at u@up*{}{}
+ \LWR at mathjax@addgreek at l@it{other}{}
+ \LWR at mathjax@addgreek at u@it*{other}{}
+ }
+ {% neither sloped nor upright
+ \LWR at mathjax@addgreek at l@up{other}{}
+ \LWR at mathjax@addgreek at u@it*{other}{}
+ }
+ }
+
+\CustomizeMathJax{\newcommand{\othergreek}[1]{#1}}
+\CustomizeMathJax{\let\varvarrho\varrho}
+\CustomizeMathJax{\let\varvarpi\varpi}
+\CustomizeMathJax{\let\othervarvarpi\othervarpi}
+\CustomizeMathJax{\let\othervarvarrho\othervarrho}
+\CustomizeMathJax{\let\varpartialdiff\partial}
+% \end{macrocode}
+%
+% \filenm{lwarp_mathjax.txt} adds \cs{left} \Slash \cs{right} support for
+% delimiters.
+% \changes{v0.892}{2020/09/26}{\pkg{fourier}: Added \cs{left} \Slash \cs{right} support in \filenm{lwarp_mathjax.txt}.}
+% \begin{macrocode}
+\CustomizeMathJax{\let\llbracket\lBrack}
+\CustomizeMathJax{\let\rrbracket\rBrack}
+\CustomizeMathJax{\let\dblbrackleft\lBrack}
+\CustomizeMathJax{\let\dblbrackright\rBrack}
+
+\CustomizeMathJax{\let\VERT|}
+
+\CustomizeMathJax{\newcommand{\parallelslant}{\mathrel{\unicode{x02AFD}}}}
+\CustomizeMathJax{\newcommand{\thething}{\mathord{\unicode{x1F60E}}}}
+\CustomizeMathJax{\newcommand{\nparallelslant}{%
+ \mathrel{\LWRoverlaysymbols{-}{\unicode{x02AFD}}}%
+}}
+\CustomizeMathJax{\newcommand{\xswordsup}{\mathord{\unicode{x2694}}}}
+\CustomizeMathJax{\newcommand{\xswordsdown}{\mathord{\unicode{x2694}}}}% up
+\CustomizeMathJax{\newcommand{\notowns}{\mathrel{\unicode{x220C}}}}
+
+\CustomizeMathJax{\newcommand{\iintop}{\mathop{\unicode{x222C}}\limits}}
+\CustomizeMathJax{\newcommand{\iiintop}{\mathop{\unicode{x222D}}\limits}}
+\CustomizeMathJax{\newcommand{\oiint}{\mathop{\unicode{x222F}}\limits}}
+\CustomizeMathJax{\let\oiintop\oiint}
+\CustomizeMathJax{\newcommand{\oiiint}{\mathop{\unicode{x2230}}\limits}}
+\CustomizeMathJax{\let\oiiintop\oiiint}
+\CustomizeMathJax{\newcommand{\slashint}{\mathop{\unicode{x2A0D}}\limits}}
+\CustomizeMathJax{\let\slashintop\slashint}
+
+\CustomizeMathJax{\let\overgroup\overparen}
+\CustomizeMathJax{\let\wideparen\overparen}
+\CustomizeMathJax{\let\widearc\overparen}
+\CustomizeMathJax{\let\wideOarc\overrightarrow}
+\CustomizeMathJax{\newcommand{\widering}[1]{\stackrel{\unicode{x2218}}{\overgroup{#1}}}}
+
+\end{warpMathJax}
+% \end{macrocode}
+%
+% \iffalse
+%</fourier>
+% \fi
+%
+%
+%
+%
+% \iffalse
%<*framed>
% \fi
@@ -51911,8 +56410,201 @@
%
%
%
+% \iffalse
+%<*fvextra>
+% \fi
%
+% \part{lwarp-fvextra.sty}
+%
+% \section{fvextra}
+%
+% \credits{Geoffrey M. Poore}
+%
+% \DescribePackage{fvextra}
+% \pkg{fvextra} is patched for use by \pkg{lwarp}.
+%
+% \changes{v0.892}{2020/10/05}{\pkg{fvextra}: Added.}
+%
+% \codehtml
+%
+% \begin{macrocode}
+\LWR at ProvidesPackagePass{fvextra}[2019/02/04]
+% \end{macrocode}
+%
+% Ignored are \optn{highlight},
+% \optn{showtabs}, \optn{obeytabs}, \optn{tab}, \optn{tabcolor}.
+% Also ignored are all options regarding line breaking
+% except \optn{breaklines}, which is emulated as true.
+%
+% \optn{tabsize} is honored.
+%
+% If line numbers on the right side are used along with \optn{breaklines},
+% the line numbers will not be aligned.
+% \begin{macrocode}
+
+\define at booleankey{FV}{obeytabs}%
+% {\let\FV at ObeyTabsInit\FV@@ObeyTabsInit}%
+ {\let\FV at ObeyTabsInit\relax}
+ {\let\FV at ObeyTabsInit\relax}
+
+\define at key{FV}{tabcolor}%
+ {}
+
+\define at key{FV}{tab}{}
+
+\define at booleankey{FV}{showtabs}%
+% {\def\FV at TabChar{\FV at TabColor{\FancyVerbTab}}}%
+ {\let\FV at TabChar\relax}
+ {\let\FV at TabChar\relax}
+
+\newbool{LWR at FV@breaklines}
+
+\define at booleankey{FV}{breaklines}%
+ {\FV at BreakLinesfalse
+ \booltrue{LWR at FV@breaklines}
+ \let\FV at ListProcessLine\FV at ListProcessLine@NoBreak}
+ {\FV at BreakLinesfalse
+ \boolfalse{LWR at FV@breaklines}
+ \let\FV at ListProcessLine\FV at ListProcessLine@NoBreak}
+% \fvset{breaklines}
+
+\define at key{FV}{breakanywheresymbolpre}{\def\FancyVerbBreakAnywhereSymbolPre{}}
+\fvset{breakanywheresymbolpre={}}
+
+\define at key{FV}{breakanywheresymbolpost}{\def\FancyVerbBreakAnywhereSymbolPost{}}
+\fvset{breakanywheresymbolpost={}}
+
+\define at key{FV}{breakbeforesymbolpre}{\def\FancyVerbBreakBeforeSymbolPre{}}
+\fvset{breakbeforesymbolpre={}}
+
+\define at key{FV}{breakbeforesymbolpost}{\def\FancyVerbBreakBeforeSymbolPost{}}
+\fvset{breakbeforesymbolpost={}}
+
+\define at key{FV}{breakaftersymbolpre}{\def\FancyVerbBreakAfterSymbolPre{}}
+\fvset{breakaftersymbolpre={}}
+
+\define at key{FV}{breakaftersymbolpost}{\def\FancyVerbBreakAfterSymbolPost{}}
+\fvset{breakaftersymbolpost={}}
+
+\define at key{FV}{breaksymbolleft}{\def\FancyVerbBreakSymbolLeft{}}
+
+\define at key{FV}{breaksymbol}{\fvset{breaksymbolleft={}}}
+
+\fvset{breaksymbolleft={}}
+
+\define at key{FV}{breaksymbolright}{\def\FancyVerbBreakSymbolRight{}}
+\fvset{breaksymbolright={}}
+
+\def\FV at ListProcessLine@NoBreak#1{%
+% \hbox to \hsize{%
+% \kern\leftmargin
+% \hbox to \linewidth{%
+ \FV at LeftListNumber%
+ \FV at LeftListFrame%
+ \FancyVerbFormatLine{%
+ \FancyVerbHighlightLine{%
+ \FV at ObeyTabs{\FancyVerbFormatText{#1}}}}%\hss
+ \FV at RightListFrame%
+ \FV at RightListNumber%
+% }%
+% \hss}%
+\null\par% lwarp
+}
+
+
+\newcommand*{\LWR at FV@linethensep}{%
+ \ifbool{LWR at FV@breaklines}%
+ {\theFancyVerbLine\kern\FV at NumberSep}%
+ {\hbox to\z@{\hss\theFancyVerbLine\kern\FV at NumberSep}}%
+}
+
+\newcommand*{\LWR at FV@septhenline}{%
+ \ifbool{LWR at FV@breaklines}%
+ {\kern\FV at NumberSep\theFancyVerbLine}%
+ {\hbox to\z@{\kern\FV at NumberSep\theFancyVerbLine\hss}}%
+}
+
+\xpatchcmd{\FV at Numbers@left}
+ {\hbox to\z@{\hss\theFancyVerbLine\kern\FV at NumberSep}}
+ {\LWR at FV@linethensep}
+ {}
+ {\LWR at patcherror{fvextra}{FV at Numbers@left A}}
+
+\xpatchcmd{\FV at Numbers@left}
+ {\hbox to\z@{\hss\theFancyVerbLine\kern\FV at NumberSep}}
+ {\LWR at FV@linethensep}
+ {}
+ {\LWR at patcherror{fvextra}{FV at Numbers@left B}}
+
+\xpatchcmd{\FV at Numbers@left}
+ {\hbox to\z@{\hss\theFancyVerbLine\kern\FV at NumberSep}}
+ {\LWR at FV@linethensep}
+ {}
+ {\LWR at patcherror{fvextra}{FV at Numbers@left C}}
+
+\xpatchcmd{\FV at Numbers@right}
+ {\hbox to\z@{\kern\FV at NumberSep\theFancyVerbLine\hss}}
+ {\LWR at FV@septhenline}
+ {}
+ {\LWR at patcherror{fvextra}{FV at Numbers@right A}}
+
+\xpatchcmd{\FV at Numbers@right}
+ {\hbox to\z@{\kern\FV at NumberSep\theFancyVerbLine\hss}}
+ {\LWR at FV@septhenline}
+ {}
+ {\LWR at patcherror{fvextra}{FV at Numbers@right B}}
+
+\xpatchcmd{\FV at Numbers@right}
+ {\hbox to\z@{\hss\theFancyVerbLine\kern\FV at NumberSep}}
+ {\LWR at FV@linethensep}
+ {}
+ {\LWR at patcherror{fvextra}{FV at Numbers@right C}}
+
+\xpatchcmd{\FV at Numbers@both}
+ {\hbox to\z@{\hss\theFancyVerbLine\kern\FV at NumberSep}}
+ {\LWR at FV@linethensep}
+ {}
+ {\LWR at patcherror{fvextra}{FV at Numbers@both A}}
+
+\xpatchcmd{\FV at Numbers@both}
+ {\hbox to\z@{\hss\theFancyVerbLine\kern\FV at NumberSep}}
+ {\LWR at FV@linethensep}
+ {}
+ {\LWR at patcherror{fvextra}{FV at Numbers@both B}}
+
+\xpatchcmd{\FV at Numbers@both}
+ {\hbox to\z@{\hss\theFancyVerbLine\kern\FV at NumberSep}}
+ {\LWR at FV@linethensep}
+ {}
+ {\LWR at patcherror{fvextra}{FV at Numbers@both C}}
+
+\xpatchcmd{\FV at Numbers@both}
+ {\hbox to\z@{\kern\FV at NumberSep\theFancyVerbLine\hss}}
+ {\LWR at FV@septhenline}
+ {}
+ {\LWR at patcherror{fvextra}{FV at Numbers@both D}}
+
+\xpatchcmd{\FV at Numbers@both}
+ {\hbox to\z@{\kern\FV at NumberSep\theFancyVerbLine\hss}}
+ {\LWR at FV@septhenline}
+ {}
+ {\LWR at patcherror{fvextra}{FV at Numbers@both E}}
+
+\xpatchcmd{\FV at Numbers@both}
+ {\hbox to\z@{\hss\theFancyVerbLine\kern\FV at NumberSep}}
+ {\LWR at FV@linethensep}
+ {}
+ {\LWR at patcherror{fvextra}{FV at Numbers@both F}}
+% \end{macrocode}
+%
% \iffalse
+%</fvextra>
+% \fi
+%
+%
+%
+%
+% \iffalse
%<*fwlw>
% \fi
%
@@ -52132,6 +56824,75 @@
%
%
% \iffalse
+%<*gindex>
+% \fi
+%
+% \part{lwarp-gindex.sty}
+%
+% \section{gindex}
+%
+% \credits{Javier Bezos}
+%
+% \DescribePackage{gindex}
+% \pkg{gindex} is patched for use by \pkg{lwarp}.
+%
+% See \cref{sec:indexsetup}.
+%
+% \changes{v0.88}{2020/07/16}{\pkg{gindex}: Added.}
+%
+% \codehtml
+%
+% \begin{macrocode}
+\LWR at ProvidesPackagePass{gindex}[2019/10/07]
+% \end{macrocode}
+%
+% Set the index page and range separators.
+% These are set \cs{AtBeginDocument} to allow the user to change them.
+% They are then protected so that the \pkg{lwarp} core looks for the
+% tokens instead of their expanded contents, since the \filenm{*.ind}
+% files will contain \cs{indexpagessep} and \cs{indexrangesep} instead of
+% their literal contents.
+% Finally, \pkg{lwarp} is told of the \pkg{gindex} macros.
+% \begin{macrocode}
+\AtBeginDocument{
+ \robustify{\indexpagessep}
+ \robustify{\indexrangesep}
+ \renewcommand*{\IndexPageSeparator}{\indexpagessep}
+ \renewcommand*{\IndexRangeSeparator}{\indexrangesep}
+}
+% \end{macrocode}
+%
+% \cs{hyperindexref} is added:
+% \begin{macrocode}
+\def\addindexitem#1#2{%
+ \indexflushitem
+ \gix at getspecial#1\indexspecial\indexspecial\@@\indexitem{\hyperindexref{#2}}}
+
+\def\addindexsubitem#1#2{%
+ \stepcounter{indexsubitems}%
+ \gix at getspecial#1\indexspecial\indexspecial\@@\indexsubitem{\hyperindexref{#2}}}
+
+\def\addindexsubsubitem#1#2{%
+ \gix at getspecial#1\indexspecial\indexspecial\@@\indexsubsubitem{\hyperindexref{#2}}}
+% \end{macrocode}
+%
+% Uses a \element{div} of class \attribute{indexheading}:
+% \begin{macrocode}
+\renewcommand\indexheading[1]{%
+ \begin{BlockClass}{indexheading}
+ \MakeUppercase{#1}%
+ \end{BlockClass}
+}
+% \end{macrocode}
+%
+% \iffalse
+%</gindex>
+% \fi
+%
+%
+%
+%
+% \iffalse
%<*gloss>
% \fi
%
@@ -52207,7 +56968,7 @@
% \begin{macrocode}
\renewcommand*{\@p at glossarysection}[2]{%
\glsclearpage
- \phantomsection
+ \LWR at phantomsection
\ifdefempty\@@glossarysecstar
{%
\csname\@@glossarysec\endcsname{#2}%
@@ -52320,10 +57081,11 @@
% \changes{v0.40}{2017/09/07}{\pkg{graphics}: Moved out of the \pkg{lwarp} core.}
% \changes{v0.40}{2017/09/07}{\pkg{graphics}: Restores \cs{includegraphics}
% and \cs{DeclareGraphicsExtensions} in a \env{lateximage}.}
+% \changes{v0.893}{2020/11/26}{\pkg{graphics}: Updated date to v1.4c.}
%
% \codehtml
% \begin{macrocode}
-\LWR at ProvidesPackagePass{graphics}[2017/06/25]
+\LWR at ProvidesPackagePass{graphics}[2020/08/30]
% \end{macrocode}
@@ -52489,9 +57251,8 @@
\define at key{igraph}{scale}{%
\ifthenelse{\equal{#1}{1}}{}{% must expand #1
\PackageWarning{lwarp}{%
- It is recommended to use\MessageBreak
- [width=xx\protect\linewidth]\MessageBreak
- instead of [scale=yy],%
+ It is recommended to use ``[width=xx\protect\linewidth]''\MessageBreak
+ instead of ``[scale=yy]'',%
}%
}%
\renewcommand*{\LWR at igxscale}{#1}%
@@ -52732,10 +57493,11 @@
% For the \HTML\ reference, add the graphicspath, filename, extension,
% alt tag, style, and class.
% \changes{v0.79}{2019/12/09}{\pkg{graphics}: Factored from \cs{LWR at includegraphicsb}.}
+% \changes{v0.895}{2021/01/14}{Improved \HTML\ quotes.}
% \begin{macrocode}
\newcommand*{\LWR at ig@htmltag}{%
img\LWR at indentHTML%
- src="%
+ src=\textquotedbl%
% \end{macrocode}
% \changes{v0.62}{2018/10/27}{\pkg{graphics}: Fix: Filename expansion.}
% \begin{macrocode}
@@ -52742,9 +57504,10 @@
\detokenize\expandafter{\LWR at parsedfilename}%
% \end{macrocode}
% \begin{macrocode}
- "\LWR at indentHTML%
+ \textquotedbl\LWR at indentHTML%
% \end{macrocode}
% Only include a style tag if a width, height, angle, or scale was given:
+% \changes{v0.895}{2021/01/14}{Improved \HTML\ quotes.}
% \begin{macrocode}
\ifthenelse{
\NOT\equal{\LWR at igwidthstyle}{} \OR
@@ -52755,7 +57518,7 @@
\NOT\equal{\LWR at igyscale}{1}
}%
{%
- style="\LWR at indentHTML
+ style=\textquotedbl\LWR at indentHTML
\ifthenelse{\NOT\equal{\LWR at igwidthstyle}{}}%
{\LWR at igwidthstyle;\LWR at indentHTML}{}%
\ifthenelse{\NOT\equal{\LWR at igheightstyle}{}}%
@@ -52787,14 +57550,15 @@
\ifthenelse{\NOT\equal{\LWR at opacity}{1}}%
{opacity:\LWR at opacity;\LWR at indentHTML}{}%
%
- "\LWR at indentHTML%
+ \textquotedbl\LWR at indentHTML%
}{}%
% \end{macrocode}
% Set the class and alt tag:
% \changes{v0.65}{2018/12/19}{\pkg{graphics}: Added \cs{includegraphics} \attribute{alt} key.}
+% \changes{v0.895}{2021/01/14}{Improved \HTML\ quotes.}
% \begin{macrocode}
- class="\LWR at igclass"\LWR at indentHTML%
- alt="\AltTextOpen\LWR at igalt\AltTextClose" \LWR at orignewline%
+ class=\textquotedbl\LWR at igclass\textquotedbl\LWR at indentHTML%
+ alt=\textquotedbl\AltTextOpen\LWR at igalt\AltTextClose\textquotedbl\ \LWR at orignewline%
}% end of image tags
% \end{macrocode}
% \end{noindmacro}
@@ -52816,7 +57580,7 @@
% \changes{v0.18}{2016/05/17}{\pkg{graphics}: Fix: \cs{linewidth}, \cs{textwidth}, \cs{textheight}
% inside a minipage.}
% \changes{v0.18}{2016/05/17}{\pkg{graphics}: em, ex, \%, px dimensions preserved.}
-% \changes{v0.18}{2016/05/17}{\pkg{graphics}: Add: svgz file extension.}
+% \changes{v0.18}{2016/05/17}{\pkg{graphics}: Add: \SVG\ file extension.}
% \changes{v0.20}{2016/08/20}{\pkg{graphics}: Fix: \cs{linewidth} in a floatrow.}
% \changes{v0.20}{2017/01/12}{\pkg{graphics}: Fix: Expands filename.}
% \changes{v0.28}{2017/04/12}{\pkg{graphics}: Adapts to \pkg{graphics} syntax.}
@@ -52893,9 +57657,18 @@
\Ginclude at graphics{\detokenize\expandafter{\LWR at tempone}}%
\endgroup%
\filename at parse{\LWR at parsedfilename}%
+% \end{macrocode}
+%
+% Remove doubled |//| in the directory path,
+% from the 2020/10/01 \LaTeX\ kernel change.
+% \changes{v0.892}{2020/10/01}{\pkg{graphics}: Fix path from kernel change.}
+% \begin{macrocode}
+ \StrSubstitute{\LWR at parsedfilename}{//}{/}[\LWR at parsedfilename]%
+% \end{macrocode}
+% \begin{macrocode}
\LWR at traceinfo{LWR at parsedfilename is \LWR at parsedfilename}%
-% \LWR at sanitize{\LWR at parsedfilename}%
% \end{macrocode}
+% ^^A \LWR at sanitize{\LWR at parsedfilename}%
%
% If formatting for a word processor, find and set the actual image size,
% without rotation, using \PDF\ instead of \SVG\ to find the original bounding box:
@@ -52907,7 +57680,7 @@
% alt tag, style, and class:
% \begin{macrocode}
\LWR at traceinfo{LWR at includegraphicsb: about to create href}%
- \href{\LWR at parsedfilename}%
+ \LWR at href{\LWR at parsedfilename}%
{% start of href
\LWR at traceinfo{LWR at includegraphicsb: about to LWR at htmltag}%
\LWR at htmltag{\LWR at ig@htmltag}%
@@ -53033,10 +57806,11 @@
% \end{macrocode}
% Select |inline-block| so that \HTML\ will transform this span:
% \changes{v0.66}{2019/02/02}{Improved \HTML\ formatting.}
+% \changes{v0.895}{2021/01/14}{Improved \HTML\ quotes.}
% \begin{macrocode}
\LWR at htmltagc{%
span\LWR at indentHTML
- style="\LWR at indentHTML
+ style=\textquotedbl\LWR at indentHTML
display: inline-block;\LWR at indentHTML
% \end{macrocode}
% If an origin was given, translate and print the origin information:
@@ -53049,7 +57823,7 @@
% \begin{macrocode}
\LWR at rotstyle{-ms-}{#2}\LWR at indentHTML
\LWR at rotstyle{-webkit-}{#2}\LWR at indentHTML
- \LWR at rotstyle{}{#2}"\LWR at orignewline%
+ \LWR at rotstyle{}{#2}\textquotedbl\LWR at orignewline%
}\LWR at orignewline%
% \end{macrocode}
% Print the text to be rotated:
@@ -53085,10 +57859,11 @@
% \end{macrocode}
% Select |inline-block| so that \HTML\ will transform this span:
% \changes{v0.66}{2019/02/02}{Improved \HTML\ formatting.}
+% \changes{v0.895}{2021/01/14}{Improved \HTML\ quotes.}
% \begin{macrocode}
\LWR at htmltagc{%
span\LWR at indentHTML
- style="\LWR at indentHTML
+ style=\textquotedbl\LWR at indentHTML
display: inline-block;\LWR at indentHTML
% \end{macrocode}
% Print the scaling information:
@@ -53096,7 +57871,7 @@
\LWR at scalestyle{-ms-}{#1}{\IfNoValueTF{#2}{#1}{#2}}\LWR at indentHTML
\LWR at scalestyle{-webkit-}{#1}{\IfNoValueTF{#2}{#1}{#2}}\LWR at indentHTML
\LWR at scalestyle{}{#1}{\IfNoValueTF{#2}{#1}{#2}}
- "\LWR at orignewline
+ \textquotedbl\LWR at orignewline
}\LWR at orignewline%
% \end{macrocode}
% Print the text to be scaled:
@@ -53126,7 +57901,7 @@
\AtBeginDocument{
\newcommand{\LWR at HTML@reflectbox}[1]{%
-\scalebox{-1}[1]{#1}%
+ \scalebox{-1}[1]{#1}%
}% \reflectbox
\LWR at formatted{reflectbox}
@@ -53146,7 +57921,7 @@
\AtBeginDocument{
\NewDocumentCommand{\LWR at HTML@resizebox}{s m m m}{%
-#4%
+ #4%
}
\LWR at formatted{resizebox}
@@ -53182,10 +57957,11 @@
% \pkg{lwarp-graphics} handles the syntax of either \pkg{graphics} or \pkg{graphicx}.
%
% \changes{v0.40}{2017/09/07}{\pkg{graphicx}: Moved out of the \pkg{lwarp} core.}
+% \changes{v0.893}{2020/11/26}{\pkg{graphicx}: Updated date to v1.2b.}
%
% \codehtml
% \begin{macrocode}
-\LWR at ProvidesPackagePass{graphicx}[2017/06/01]
+\LWR at ProvidesPackagePass{graphicx}[2020/09/09]
% \end{macrocode}
% \iffalse
@@ -53355,6 +58131,7 @@
%
% \changes{v0.44}{2017/11/15}{\pkg{hang}: Added.}
% \changes{v0.47}{2018/01/26}{\pkg{hang}: Fix: Line wrap at \HTML\ hyphen.}
+% \changes{v0.895}{2021/01/14}{Improved \HTML\ quotes.}
%
% \codehtml
%
@@ -53389,7 +58166,7 @@
\renewcommand*{\LWR at printcloselist}{\LWR at printcloseitemize}%
\renewcommand*{\LWR at printopenlist}{%
\LWR at findhangingleftmargin%
- ul style="%
+ ul style=\textquotedbl%
\LWR at print@mbox{list-style-type:none;} % extra space
\LWR at print@mbox{%
margin-left:\LWR at printlength{\LWR at templengthone}%
@@ -53397,7 +58174,7 @@
\LWR at print@mbox{%
text-indent:-\LWR at printlength{\hangingindent}%
}%
- "%
+ \textquotedbl%
}%
\let\item\LWR at itemizeitem%
\list{}{}%
@@ -53512,6 +58289,99 @@
%
%
% \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 at ProvidesPackagePass{hepunits}[2020/04/10]
+% \end{macrocode}
+%
+% \begin{macrocode}
+\begin{warpMathJax}
+\LWR at infoprocessingmathjax{hepunits}
+
+\ifx\@HEPopt at 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 at 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 at 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
%
@@ -53564,6 +58434,62 @@
%
%
% \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 at ProvidesPackagePass{hhtensor}[2011/12/29]
+% \end{macrocode}
+%
+% \begin{macrocode}
+\begin{warpMathJax}
+\iftensor at bold
+ \CustomizeMathJax{\newcommand{\vec}[1]{\boldsymbol{#1}}}
+ \CustomizeMathJax{\newcommand{\matr}[1]{\boldsymbol{#1}}}
+ \CustomizeMathJax{\newcommand{\tens}[2]{\boldsymbol{#1}}}
+\else
+ \iftensor at 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
%
@@ -53684,7 +58610,7 @@
% \section{hyperref}
%
-% \credits{Sebastian Rahtz, Heiko Oberdiek}
+% \credits{Sebastian Rahtz, Heiko Oberdiek, The \LaTeX3 Project}
%
% \DescribePackage{hyperref}
% \pkg{hyperref} is emulated.
@@ -53697,22 +58623,277 @@
% \ProvidesPackage{lwarp-#1-#2}% not allowed
\PackageInfo{lwarp}{%
Using the lwarp HTML version of package `hyperref',\MessageBreak
-and discarding options.\MessageBreak
+and discarding options except backref, pagebackref.\MessageBreak
(Not using \protect\ProvidesPackage, so that other packages\MessageBreak
do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
+% \end{macrocode}
+%
+%
+% \changes{v0.891}{2020/09/05}{\pkg{hyperref}: Added \optn{backref}, \optn{pagebackref}.}
+% \begin{macrocode}
+\SetupKeyvalOptions{family=LWR at hyperref,prefix=LWR at hyperref@}
-\DeclareOption*{}
+\newcommand{\hypersetup}[1]{\setkeys{LWR at hyperref}{#1}}
+
+\define at key{LWR at hyperref}{a4paper}[]{}
+\define at key{LWR at hyperref}{a5paper}[]{}
+\define at key{LWR at hyperref}{b5paper}[]{}
+\define at key{LWR at hyperref}{letterpaper}[]{}
+\define at key{LWR at hyperref}{legalpaper}[]{}
+\define at key{LWR at hyperref}{executivepaper}[]{}
+\define at key{LWR at hyperref}{implicit}[]{}
+\define at key{LWR at hyperref}{draft}[]{}
+\define at key{LWR at hyperref}{final}[]{}
+\define at key{LWR at hyperref}{setpagesize}[]{}
+\define at key{LWR at hyperref}{debug}[]{}
+\define at key{LWR at hyperref}{linktocpage}[]{}
+\define at key{LWR at hyperref}{linktoc}[]{}
+\define at key{LWR at hyperref}{extension}[]{}
+\define at key{LWR at hyperref}{verbose}[]{}
+\define at key{LWR at hyperref}{typexml}[]{}
+\define at key{LWR at hyperref}{raiselinks}[]{}
+\define at key{LWR at hyperref}{breaklinks}[]{}
+\define at key{LWR at hyperref}{localanchorname}[]{}
+\define at key{LWR at hyperref}{pageanchor}[]{}
+\define at key{LWR at hyperref}{plainpages}[]{}
+\define at key{LWR at hyperref}{naturalnames}[]{}
+\define at key{LWR at hyperref}{hypertexnames}[]{}
+\define at key{LWR at hyperref}{nesting}[]{}
+\define at key{LWR at hyperref}{destlabel}[]{}
+\define at key{LWR at hyperref}{unicode}[]{}
+\define at key{LWR at hyperref}{pdfencoding}[]{}
+\define at key{LWR at hyperref}{psdextra}[]{}
+\define at key{LWR at hyperref}{pdfversion}[]{}
+\define at key{LWR at hyperref}{dvipdfmx-outline-open}[]{}
+\define at key{LWR at hyperref}{driverfallback}[]{}
+\define at key{LWR at hyperref}{customdriver}[]{}
+\define at key{LWR at hyperref}{hyperfigures}[]{}
+\define at key{LWR at hyperref}{hyperfootnotes}[]{}
+\define at key{LWR at hyperref}{hyperindex}[]{}
+\define at key{LWR at hyperref}{encap}[]{}
+\define at key{LWR at hyperref}{colorlinks}[]{}
+\define at key{LWR at hyperref}{ocgcolorlinks}[]{}
+\define at key{LWR at hyperref}{frenchlinks}[]{}
+\define at key{LWR at hyperref}{bookmarks}[]{}
+\define at key{LWR at hyperref}{bookmarksopen}[]{}
+\define at key{LWR at hyperref}{bookmarksdepth}[]{}
+\define at key{LWR at hyperref}{bookmarksopenlevel}[]{}
+\define at key{LWR at hyperref}{bookmarkstype}[]{}
+\define at key{LWR at hyperref}{bookmarksnumbered}[]{}
+\define at key{LWR at hyperref}{CJKbookmarks}[]{}
+\define at key{LWR at hyperref}{link}[]{}
+\define at key{LWR at hyperref}{anchor}[]{}
+\define at key{LWR at hyperref}{cite}[]{}
+\define at key{LWR at hyperref}{file}[]{}
+\define at key{LWR at hyperref}{url}[]{}
+\define at key{LWR at hyperref}{menu}[]{}
+\define at key{LWR at hyperref}{run}[]{}
+\define at key{LWR at hyperref}{linkbordercolor}[]{}
+\define at key{LWR at hyperref}{anchorbordercolor}[]{}
+\define at key{LWR at hyperref}{citebordercolor}[]{}
+\define at key{LWR at hyperref}{filebordercolor}[]{}
+\define at key{LWR at hyperref}{urlbordercolor}[]{}
+\define at key{LWR at hyperref}{menubordercolor}[]{}
+\define at key{LWR at hyperref}{runbordercolor}[]{}
+\define at key{LWR at hyperref}{pagecolor}[]{}
+\define at key{LWR at hyperref}{baseurl}[]{}
+\define at key{LWR at hyperref}{linkfileprefix}[]{}
+\define at key{LWR at hyperref}{pdfpagetransition}[]{}
+\define at key{LWR at hyperref}{pdfpageduration}[]{}
+\define at key{LWR at hyperref}{pdfpagehidden}[]{}
+\define at key{LWR at hyperref}{pagebordercolor}[]{}
+\define at key{LWR at hyperref}{allbordercolors}[]{}
+\define at key{LWR at hyperref}{pdfhighlight}[]{}
+\define at key{LWR at hyperref}{pdfborder}[]{}
+\define at key{LWR at hyperref}{pdfborderstyle}[]{}
+\define at key{LWR at hyperref}{pdfprintpagerange}[]{}
+\define at key{LWR at hyperref}{pdfusetitle}[]{}
+\define at key{LWR at hyperref}{pdftitle}[]{}
+\define at key{LWR at hyperref}{pdfauthor}[]{}
+\define at key{LWR at hyperref}{pdfproducer}[]{}
+\define at key{LWR at hyperref}{pdfcreator}[]{}
+\define at key{LWR at hyperref}{addtopdfcreator}[]{}
+\define at key{LWR at hyperref}{pdfcreationdate}[]{}
+\define at key{LWR at hyperref}{pdfmoddate}[]{}
+\define at key{LWR at hyperref}{pdfsubject}[]{}
+\define at key{LWR at hyperref}{pdfkeywords}[]{}
+\define at key{LWR at hyperref}{pdftrapped}[]{}
+\define at key{LWR at hyperref}{pdfinfo}[]{}
+\define at key{LWR at hyperref}{pdfview}[]{}
+\define at key{LWR at hyperref}{pdflinkmargin}[]{}
+\define at key{LWR at hyperref}{pdfstartpage}[]{}
+\define at key{LWR at hyperref}{pdfstartview}[]{}
+\define at key{LWR at hyperref}{pdfremotestartview}[]{}
+\define at key{LWR at hyperref}{pdfpagescrop}[]{}
+\define at key{LWR at hyperref}{pdftoolbar}[]{}
+\define at key{LWR at hyperref}{pdfmenubar}[]{}
+\define at key{LWR at hyperref}{pdfwindowui}[]{}
+\define at key{LWR at hyperref}{pdffitwindow}[]{}
+\define at key{LWR at hyperref}{pdfcenterwindow}[]{}
+\define at key{LWR at hyperref}{pdfdisplaydoctitle}[]{}
+\define at key{LWR at hyperref}{pdfa}[]{}
+\define at key{LWR at hyperref}{pdfnewwindow}[]{}
+\define at key{LWR at hyperref}{pdflang}[]{}
+\define at key{LWR at hyperref}{pdfpagelabels}[]{}
+\define at key{LWR at hyperref}{pdfescapeform}[]{}
+\define at key{LWR at hyperref}{english}[]{}
+\define at key{LWR at hyperref}{UKenglish}[]{}
+\define at key{LWR at hyperref}{british}[]{}
+\define at key{LWR at hyperref}{USenglish}[]{}
+\define at key{LWR at hyperref}{american}[]{}
+\define at key{LWR at hyperref}{german}[]{}
+\define at key{LWR at hyperref}{austrian}[]{}
+\define at key{LWR at hyperref}{ngerman}[]{}
+\define at key{LWR at hyperref}{naustrian}[]{}
+\define at key{LWR at hyperref}{russian}[]{}
+\define at key{LWR at hyperref}{brazil}[]{}
+\define at key{LWR at hyperref}{brazilian}[]{}
+\define at key{LWR at hyperref}{portuguese}[]{}
+\define at key{LWR at hyperref}{spanish}[]{}
+\define at key{LWR at hyperref}{catalan}[]{}
+\define at key{LWR at hyperref}{afrikaans}[]{}
+\define at key{LWR at hyperref}{french}[]{}
+\define at key{LWR at hyperref}{frenchb}[]{}
+\define at key{LWR at hyperref}{francais}[]{}
+\define at key{LWR at hyperref}{acadian}[]{}
+\define at key{LWR at hyperref}{canadien}[]{}
+\define at key{LWR at hyperref}{italian}[]{}
+\define at key{LWR at hyperref}{magyar}[]{}
+\define at key{LWR at hyperref}{hungarian}[]{}
+\define at key{LWR at hyperref}{greek}[]{}
+\define at key{LWR at hyperref}{dutch}[]{}
+\define at key{LWR at hyperref}{tex4ht}[]{}
+\define at key{LWR at hyperref}{pdftex}[]{}
+\define at key{LWR at hyperref}{luatex}[]{}
+\define at key{LWR at hyperref}{nativepdf}[]{}
+\define at key{LWR at hyperref}{dvipdfm}[]{}
+\define at key{LWR at hyperref}{dvipdfmx}[]{}
+\define at key{LWR at hyperref}{xetex}[]{}
+\define at key{LWR at hyperref}{pdfmark}[]{}
+\define at key{LWR at hyperref}{dvips}[]{}
+\define at key{LWR at hyperref}{hypertex}[]{}
+\define at key{LWR at hyperref}{vtex}[]{}
+\define at key{LWR at hyperref}{vtexpdfmark}[]{}
+\define at key{LWR at hyperref}{dviwindo}[]{}
+\define at key{LWR at hyperref}{dvipsone}[]{}
+\define at key{LWR at hyperref}{textures}[]{}
+\define at key{LWR at hyperref}{latex2html}[]{}
+\define at key{LWR at hyperref}{ps2pdf}[]{}
+\define at key{LWR at hyperref}{vietnamese}[]{}
+\define at key{LWR at hyperref}{vietnam}[]{}
+\define at key{LWR at hyperref}{arabic}[]{}
+\define at key{LWR at hyperref}{hidelinks}[]{}
+\define at key{LWR at hyperref}{draft}[]{}
+\define at key{LWR at hyperref}{nolinks}[]{}
+\define at key{LWR at hyperref}{final}[]{}
+\define at key{LWR at hyperref}{pdfa}[]{}
+\define at key{LWR at hyperref}{pdfversion}[]{}
+\define at key{LWR at hyperref}{typexml}[]{}
+\define at key{LWR at hyperref}{tex4ht}[]{}
+\define at key{LWR at hyperref}{pdftex}[]{}
+\define at key{LWR at hyperref}{nativepdf}[]{}
+\define at key{LWR at hyperref}{dvipdfm}[]{}
+\define at key{LWR at hyperref}{dvipdfmx}[]{}
+\define at key{LWR at hyperref}{dvipdfmx-outline-open}[]{}
+\define at key{LWR at hyperref}{pdfmark}[]{}
+\define at key{LWR at hyperref}{dvips}[]{}
+\define at key{LWR at hyperref}{hypertex}[]{}
+\define at key{LWR at hyperref}{vtex}[]{}
+\define at key{LWR at hyperref}{vtexpdfmark}[]{}
+\define at key{LWR at hyperref}{dviwindo}[]{}
+\define at key{LWR at hyperref}{dvipsone}[]{}
+\define at key{LWR at hyperref}{textures}[]{}
+\define at key{LWR at hyperref}{latex2html}[]{}
+\define at key{LWR at hyperref}{ps2pdf}[]{}
+\define at key{LWR at hyperref}{xetex}[]{}
+\define at key{LWR at hyperref}{driverfallback}[]{}
+\define at key{LWR at hyperref}{customdriver}[]{}
+\define at key{LWR at hyperref}{pdfversion}[]{}
+\define at key{LWR at hyperref}{bookmarks}[]{}
+\define at key{LWR at hyperref}{ocgcolorlinks}[]{}
+\define at key{LWR at hyperref}{colorlinks}[]{}
+\define at key{LWR at hyperref}{frenchlinks}[]{}
+\define at key{LWR at hyperref}{backref}[]{}
+\define at key{LWR at hyperref}{pagebackref}[]{}
+\define at key{LWR at hyperref}{destlabel}[]{}
+\define at key{LWR at hyperref}{pdfpagescrop}[]{}
+\define at key{LWR at hyperref}{pdfpagemode}[]{}
+\define at key{LWR at hyperref}{pdfnonfullscreenpagemode}[]{}
+\define at key{LWR at hyperref}{pdfdirection}[]{}
+\define at key{LWR at hyperref}{pdfviewarea}[]{}
+\define at key{LWR at hyperref}{pdfviewclip}[]{}
+\define at key{LWR at hyperref}{pdfprintarea}[]{}
+\define at key{LWR at hyperref}{pdfprintclip}[]{}
+\define at key{LWR at hyperref}{pdfprintscaling}[]{}
+\define at key{LWR at hyperref}{pdfduplex}[]{}
+\define at key{LWR at hyperref}{pdfpicktraybypdfsize}[]{}
+\define at key{LWR at hyperref}{pdfprintpagerange}[]{}
+\define at key{LWR at hyperref}{pdfnumcopies}[]{}
+\define at key{LWR at hyperref}{pdfstartview}[]{}
+\define at key{LWR at hyperref}{pdfstartpage}[]{}
+\define at key{LWR at hyperref}{pdftoolbar}[]{}
+\define at key{LWR at hyperref}{pdfmenubar}[]{}
+\define at key{LWR at hyperref}{pdfwindowui}[]{}
+\define at key{LWR at hyperref}{pdffitwindow}[]{}
+\define at key{LWR at hyperref}{pdfcenterwindow}[]{}
+\define at key{LWR at hyperref}{pdfdisplaydoctitle}[]{}
+\define at key{LWR at hyperref}{pdfpagelayout}[]{}
+\define at key{LWR at hyperref}{pdflang}[]{}
+\define at key{LWR at hyperref}{baseurl}[]{}
+\define at key{LWR at hyperref}{pdfusetitle}[]{}
+\define at key{LWR at hyperref}{pdfpagelabels}[]{}
+\define at key{LWR at hyperref}{hyperfootnotes}[]{}
+\define at key{LWR at hyperref}{hyperfigures}[]{}
+\define at key{LWR at hyperref}{hyperindex}[]{}
+\define at key{LWR at hyperref}{encap}[]{}
+\define at key{LWR at hyperref}{linkcolor}[]{}
+\define at key{LWR at hyperref}{anchorcolor}[]{}
+\define at key{LWR at hyperref}{citecolor}[]{}
+\define at key{LWR at hyperref}{filecolor}[]{}
+\define at key{LWR at hyperref}{urlcolor}[]{}
+\define at key{LWR at hyperref}{menucolor}[]{}
+\define at key{LWR at hyperref}{runcolor}[]{}
+\define at key{LWR at hyperref}{allcolors}[]{}
+
+\DeclareStringOption[false]{backref}[section]
+
+\DeclareBoolOption{pagebackref}
+
+\DeclareDefaultOption{}
+
+\ProcessKeyvalOptions*\relax
% \end{macrocode}
-% \changes{v0.68}{2019/02/28}{\pkg{hyperref}: Fix for options with braces.}
+%
+% Maybe load \pkg{backref}:
% \begin{macrocode}
-% \ProcessOptions\relax
-\let\ds@\@empty% from the original \ProcessOptions
-\edef\@curroptions{}% lwarp modification to \ProcessOptions
-\@process at ptions\relax% from the original \ProcessOptions
+\ifdefstring{\LWR at hyperref@backref}{section}
+ {\RequirePackage{backref}}
+ {}
+
+\ifdefstring{\LWR at hyperref@backref}{slide}
+ {\RequirePackage{backref}}
+ {}
+
+\ifdefstring{\LWR at hyperref@backref}{page}
+ {\RequirePackage{backref}}
+ {}
+
+\ifLWR at hyperref@pagebackref
+ \RequirePackage{backref}
+\fi
% \end{macrocode}
+%
+%
+% \changes{v0.86}{2020/05/07}{\pkg{hyperref}: Adjusted emulation.}
+% \begin{macrocode}
+\LetLtxMacro\href\LWR at href
+\LetLtxMacro\nolinkurl\LWR at nolinkurl
+\LetLtxMacro\url\LWR at url
+\LetLtxMacro\phantomsection\LWR at phantomsection
+% \end{macrocode}
+
% \begin{macrocode}
-\newcommand*{\hypersetup}[1]{}
\newcommand*{\hyperbaseurl}[1]{}
% \end{macrocode}
@@ -53725,12 +58906,17 @@
% \changes{v0.43}{2017/10/31}{\pkg{hyperref}: Made robust.}
% \changes{v0.45}{2017/12/29}{\pkg{hyperref}: Fix: Underscore in \URL.}
% \changes{v0.52}{2018/03/26}{\pkg{hyperref}: Fix: \progcode{\#}, \progcode{\%}, \progcode{\&}, \progcode{\~}, \progcode{\_} in \URL.}
+% \changes{v0.895}{2021/01/14}{Improved \HTML\ quotes.}
% \begin{macrocode}
\NewDocumentCommand{\LWR at hyperimageb}{m +m}{%
\LWR at ensuredoingapar%
\def\LWR at templink{#1}%
\@onelevel at sanitize\LWR at templink%
- \LWR at htmltag{img src="\LWR at templink" alt="#2" class="hyperimage"}%
+ \LWR at htmltag{%
+ img src=\textquotedbl\LWR at templink\textquotedbl\ %
+ alt=\textquotedbl#2\textquotedbl\ %
+ class=\textquotedbl{}hyperimage\textquotedbl%
+ }%
\LWR at ensuredoingapar%
\endgroup%
}
@@ -53754,7 +58940,7 @@
% \begin{macrocode}
\NewDocumentCommand{\LWR at hyperdefb}{m m +m}{%
\LWR at ensuredoingapar%
- \LWR at sublabel{#1.#2}%
+ \LWR at label@createtag{#1.#2}%
#3%
\endgroup%
}
@@ -53774,13 +58960,16 @@
% \changes{v0.45}{2018/01/02}{\pkg{hyperref}: Fix: Underscore in \URL.}
% \changes{v0.52}{2018/03/26}{\pkg{hyperref}: Fix: \progcode{\#}, \progcode{\%}, \progcode{\&}, \progcode{\~}, \progcode{\_} in \URL.}
% \changes{v0.57}{2018/06/05}{\pkg{subcaption}: Fix: \cs{subref}.}
+% \changes{v0.895}{2021/01/14}{Improved \HTML\ quotes.}
%
% Creates an \HTML\ link to |URL#category.name| with the given text.
+%
+% To avoid nested links, \cs{ref} is temporarily redefined to the print version.
% \begin{macrocode}
\newcommand{\LWR at hyperreffinish}[1]{%
\begingroup%
- \RenewDocumentCommand{\ref}{}{\LWR at ref@ignorestar}%
- #1%
+ \RenewDocumentCommand{\ref}{s m}{\LWR at print@ref{##2}}%
+ #1%
\endgroup%
\LWR at htmltag{/a}%
}
@@ -53787,10 +58976,10 @@
\newcommand*{\LWR at hyperrefbb}[3]{%
\LWR at htmltag{%
- a href="%
+ a href=\textquotedbl%
\detokenize\expandafter{#1}\LWR at hashmark%
\detokenize\expandafter{#2}.\detokenize\expandafter{#3}%
- "%
+ \textquotedbl%
\LWR at addlinktitle%
}%
\endgroup%
@@ -53955,7 +59144,9 @@
% \begin{noindmacro}{\texorpdfstring} \marg{\TeX{}string} \marg{PDFstring}
%
% \changes{v0.48}{2018/02/02}{\pkg{hyperref}: \cs{texorpdfstring} now uses the \TeX\ string.}
+% \changes{v0.891}{2020/09/21}{\pkg{hyperref}: Fixed \cs{texorpdfstring} with \pkg{babel-french}.}
% \begin{macrocode}
+\let\texorpdfstring\relax
\newcommand{\texorpdfstring}[2]{#1}
% \end{macrocode}
% \end{noindmacro}
@@ -54229,16 +59420,24 @@
%
% \begin{macrocode}
\newcommand{\LWR at indexprenote}{}
+% \end{macrocode}
+%
+% \cs{AtBeginDocument} to help with package load order.
+% \changes{v0.85}{2020/04/29}{\pkg{idxlayout}: Fixed: \cs{AtBeginDocument} for load order.}
+% \begin{macrocode}
+\AtBeginDocument{
+ \preto\printindex{
-\preto\printindex{
+ \LWR at maybe@orignewpage
+ \LWR at startpars
-\LWR at orignewpage
-\LWR at startpars
+ \LWR at indexprenote
-\LWR at indexprenote
-
+ }
}
-
+% \end{macrocode}
+%
+% \begin{macrocode}
\newcommand{\setindexprenote}[1]{\renewcommand{\LWR at indexprenote}{#1}}
\newcommand*{\noindexprenote}{\renewcommand{\LWR at indexprenote}{}}
@@ -54340,7 +59539,7 @@
\catcode`\_=12%
\renewcommand*{\printindex}[1][\imki at jobname]{%
-\LWR at orignewpage%
+\LWR at maybe@orignewpage%
\LWR at startpars%
\ifstrequal{#1}{\imki at jobname}{%
\@ifundefined{#1 at idxfile}{%
@@ -54423,7 +59622,7 @@
% \begin{macrocode}
\renewcommand\imki at wrindexentrysplit[3]{%
\addtocounter{LWR at autoindex}{1}%
-\LWR at new@label{LWRindex-\arabic{LWR at autoindex}}%
+\label{LWRindex-\arabic{LWR at autoindex}}%
\expandafter\protected at write\csname#1 at idxfile\endcsname{}%
{\string\indexentry{#2}{\arabic{LWR at autoindex}}}%
}
@@ -54430,7 +59629,7 @@
\renewcommand\imki at wrindexentryunique[3]{%
\addtocounter{LWR at autoindex}{1}%
-\LWR at new@label{LWRindex-\arabic{LWR at autoindex}}%
+\label{LWRindex-\arabic{LWR at autoindex}}%
\protected at write\@indexfile{}%
{\string\indexentry[#1]{#2}{\arabic{LWR at autoindex}}}%
}
@@ -54453,7 +59652,7 @@
%
% \begin{noindmacro}{\LWR at imki@setxdydefopts}
%
-% Sets the \pkg{xindy} \HTML\ options, ignoring the user's settings.
+% Sets the \prog{xindy} \HTML\ options, ignoring the user's settings.
% \begin{macrocode}
\newcommand*{\LWR at imki@setxdydefopts}{%
\edef\imki at options{ \space %
@@ -54468,7 +59667,7 @@
% \begin{noindmacro}{\LWR at imki@setdefopts} \marg{user options}
%
% Sets the \HTML\ options, added to the user's settings,
-% depending on whether \pkg{makeindex} or \pkg{xindy} are used.
+% depending on whether \prog{makeindex} or \prog{xindy} are used.
%
% For \prog{makeindex}, the user's choice is ignored, and only the \pkg{lwarp}
% version is used. (Only one style at a time is possible.)
@@ -54570,7 +59769,33 @@
%
%
%
+%
% \iffalse
+%<*impnattypo>
+% \fi
+%
+% \part{lwarp-impnattypo.sty}
+%
+% \section{impnattypo}
+%
+% \DescribePackage{impnattypo}
+% \pkg{impnattypo} is ignored.
+%
+% \changes{v0.895}{2021/01/13}{\pkg{impnattypo}: Added.}
+%
+% \codehtml
+%
+% \begin{macrocode}
+\LWR at ProvidesPackageDrop{impnattypo}[2019/03/04]
+% \end{macrocode}
+%
+% \iffalse
+%</impnattypo>
+% \fi
+%
+%
+%
+% \iffalse
%<*index>
% \fi
%
@@ -54621,7 +59846,7 @@
{\begingroup}
{%
\addtocounter{LWR at autoindex}{1}% lwarp
- \LWR at new@label{LWRindex-\arabic{LWR at autoindex}}% lwarp
+ \label{LWRindex-\arabic{LWR at autoindex}}% lwarp
\begingroup%
}
{}
@@ -54740,7 +59965,7 @@
%
% \begin{macrocode}
\NewDocumentCommand{\attachandlink}{o m o m m}{%
- \href{#2}{#5}%
+ \LWR at href{#2}{#5}%
}
% \end{macrocode}
%
@@ -54751,8 +59976,243 @@
%
%
%
+% \iffalse
+%<*isomath>
+% \fi
%
+% \part{lwarp-isomath.sty}
+%
+% \section{isomath}
+%
+% \credits{Günter Milde}
+%
+% \DescribePackage{isomath}
+% \pkg{isomath} is used as-is for \SVG\ math, and
+% emulated for \brand{MathJax}.
+%
+% \brand{MathJax} does not provide a sans math font, so sans is typeset as roman.
+% \trouble[\brand{MathJax} sans]{isomath=\pkg{isomath}}
+%
+% \changes{v0.895}{2021/02/08}{\pkg{isomath}: Added.}
+%
+% \codehtml
+%
+% \begin{macrocode}
+\LWR at ProvidesPackagePass{isomath}[2012/09/04]
+% \end{macrocode}
+%
+% \begin{macrocode}
+\begin{warpMathJax}
+\CustomizeMathJax{\let\mathbfit\boldsymbol}
+\CustomizeMathJax{\let\mathsfbfit\mathbfit}% not sans
+\CustomizeMathJax{\let\mathsfit\mathit}% not sans
+\CustomizeMathJax{\let\vectorsym\mathbfit}
+\CustomizeMathJax{\let\matrixsym\mathbfit}
+\CustomizeMathJax{\let\tensorsym\mathsfbfit}
+\CustomizeMathJax{\let\mathboldsans\mathsfbfit}
+\CustomizeMathJax{\let\mathbold\mathbfit}
+\CustomizeMathJax{\let\mathsans\mathrm}% not sans
+\end{warpMathJax}
+% \end{macrocode}
+%
% \iffalse
+%</isomath>
+% \fi
+%
+%
+%
+%
+% \iffalse
+%<*isotope>
+% \fi
+%
+% \part{lwarp-isotope.sty}
+%
+% \section{isotope}
+%
+% \credits{Heiko Bauke}
+%
+% \DescribePackage{isotope}
+% \pkg{isotope} is patched for use by \pkg{lwarp} with \SVG\ math,
+% and emulated for \brand{MathJax}.
+%
+% \changes{v0.895}{2021/01/10}{\pkg{isotope}: Added.}
+%
+% \codehtml
+%
+% \begin{macrocode}
+\LWR at ProvidesPackagePass{isotope}[2011/08/26]
+% \end{macrocode}
+%
+% \begin{macrocode}
+\newcommand{\LWR at HTML@isotope at two}[2][]{%
+ \renewcommand{\isotope at atomicnumber}{#1}%
+ \edef\LWR at isotope@alttag{%
+ \textbackslash(
+ \textbackslash{}isotope
+ [\isotope at nucleonnumber]%
+ [\isotope at atomicnumber]%
+ \{#2\}
+ \textbackslash)%
+ }%
+ \ifbool{mathjax}%
+ {\LWR at isotope@alttag}%
+ {% SVG
+ \m at th%
+ \LWR at subsingledollar*%
+ {% alt tag
+ \LWR at isotope@alttag%
+ }%
+ {isotope}% add'l hashing
+ {% contents
+ \settowidth\@tempdimb{%
+ \ensuremath{\scriptstyle\isotope at nucleonnumber}%
+ }%
+ \settowidth\@tempdimc{%
+ \ensuremath{\scriptstyle\isotope at atomicnumber}%
+ }%
+ \ifdim\@tempdimb<\@tempdimc\@tempdimb=\@tempdimc\fi%
+ \ensuremath{
+ {}%
+ ^{\makebox[\@tempdimb][r]{%
+ \ensuremath{%
+ \scriptstyle\isotope at nucleonnumber%
+ }% ensuremath
+ }}%
+ _{\makebox[\@tempdimb][r]{%
+ \ensuremath{%
+ \scriptstyle\isotope at atomicnumber%
+ }% ensuremath
+ }}%
+ \isotopestyle{#2}%
+ }% ensuremath
+ }% contents
+ }% SVG
+ \endgroup%
+}%
+\LWR at formatted{isotope at two}
+
+\begin{warpMathJax}
+\CustomizeMathJax{%
+ \newcommand{\LWRisotopetwo}[2][]{%
+ {%
+ \vphantom{\mathrm{#2}}%
+ {}^{\LWRisotopenucleonnumber}_{#1}%
+ \mathrm{#2}%
+ }%
+ }%
+}
+
+\CustomizeMathJax{%
+ \newcommand{\isotope}[1][]{%
+ \def\LWRisotopenucleonnumber{#1}%
+ \LWRisotopetwo%
+ }%
+}
+\end{warpMathJax}
+% \end{macrocode}
+%
+% \iffalse
+%</isotope>
+% \fi
+%
+%
+%
+%
+% \iffalse
+%<*jurabib>
+% \fi
+%
+% \part{lwarp-jurabib.sty}
+%
+% \section{jurabib}
+%
+% \credits{Jens Berger}
+%
+% \DescribePackage{jurabib}
+% \pkg{jurabib} is patched for use by \pkg{lwarp}.
+%
+% \changes{v0.87}{2020/05/18}{\pkg{jurabib}: Added.}
+%
+% \codehtml
+%
+% \begin{macrocode}
+\LWR at ProvidesPackagePass{jurabib}[2004/01/25]
+% \end{macrocode}
+%
+% \begin{macrocode}
+\renewrobustcmd{\jblangle}{\textless}
+
+\renewrobustcmd{\jbrangle}{\textgreater}
+
+\renewcommand*{\jb at biblaw@item}{%
+ \hspace{0.5em}%
+% $\triangleright$
+ \HTMLunicode{25B7}% lwarp
+ \hspace{0.5em}%
+}
+
+\renewrobustcmd{\jbarchsig}[2]{%
+ \ifjbweareinbib
+ \settowidth{\jb at subarchitemwidth}{\jbsamesubarchindent+#1}%
+ \setlength{\jb at subarchentrywidth}{\textwidth-\jb at subarchitemwidth-4em}%
+% \begin{tabular}{@{}p{\jb at subarchitemwidth}@{}j{\jb at subarchentrywidth}@{}}%
+ #1\ifjb at dot\unskip\unskip\unskip.\fi
+% &
+ \quad% lwarp
+ \ifthenelse{\equal{#2}{}}{}{\jbarchnameformat{#2}}%
+% \end{tabular}
+ \fi
+}%
+
+
+\xpatchcmd{\jb at do@post at item}
+ {\begin{tabular}{p{\jb at biblaw@item at width}j{\jb at biblaw@entry at width}}}
+ {}
+ {}
+ {\LWR at patcherror{jurabib}{jb at do@post at item 1}}
+
+\xpatchcmd{\jb at do@post at item}
+ {\multicolumn{2}{p{\columnwidth}}{\jb@@name}}
+ {\jb@@name}
+ {}
+ {\LWR at patcherror{jurabib}{jb at do@post at item 2}}
+
+\xpatchcmd{\jb at do@post at item}
+ {\jb at biblaw@item & \jb@@fulltitle}
+ {\jb at biblaw@item \quad \jb@@fulltitle}
+ {}
+ {\LWR at patcherror{jurabib}{jb at do@post at item 3}}
+
+\xpatchcmd{\jb at do@post at item}
+ {\end{tabular}}
+ {}
+ {}
+ {\LWR at patcherror{jurabib}{jb at do@post at item 4}}
+
+\xpatchcmd{\jb at do@post at item}
+ {\begin{minipage}[t]{\bibnumberwidth}}
+ {}
+ {}
+ {\LWR at patcherror{jurabib}{jb at do@post at item 5}}
+
+\xpatchcmd{\jb at do@post at item}
+ {\end{minipage}}
+ {\quad}
+ {}
+ {\LWR at patcherror{jurabib}{jb at do@post at item 6}}
+% \end{macrocode}
+%
+% \iffalse
+%</jurabib>
+% \fi
+%
+%
+%
+%
+%
+%
+% \iffalse
%<*karnaugh-map>
% \fi
%
@@ -54773,8 +60233,10 @@
\LWR at ProvidesPackagePass{karnaugh-map}[2017/02/20]
% \end{macrocode}
%
-% (It is hard to patch this macro, so the entire thing is redefined here,
-% with the \pkg{lwarp} modificaitions identified in comments.)
+% This patch is needed only because \pkg{lwarp} changes the definition of \cs{\&},
+% and the original uses \cs{ifnum} to compare |0| with \cs{\&}.
+% It is hard to patch this environment, so the entire thing is redefined here,
+% with the \pkg{lwarp} modifications identified in comments.
%
% \begin{macrocode}
\RenewDocumentEnvironment{karnaugh-map}{s O{4} O{4} O{1} O{$X_1X_0$} O{$X_3X_2$} O{$X_5X_4$}} {%
@@ -54867,12 +60329,15 @@
% \ifnum0=\@karnaughmap at local@matrixtemplate@% original
% print error if no template could be found
\PackageError{lwarp-karnaugh-map}{%
- Can not find a template fitting your specification (\@karnaughmap at var@mapsizex@\space x \@karnaughmap at var@mapsizey@\space x \@karnaughmap at var@mapsizez@)%
+ Can not find a template fitting your specification
+ (\@karnaughmap at var@mapsizex@\space x \@karnaughmap at var@mapsizey@\space x
+ \@karnaughmap at var@mapsizez@)%
}{%
- Existing templates have the following dimensions: 2x2x1, 2x4x1, 4x2x1, 4x4x1, 4x4x2, and 4x4x4.
+ Existing templates have the following dimensions:
+ 2x2x1, 2x4x1, 4x2x1, 4x4x1, 4x4x2, and 4x4x4.
}%
% \fi original
- }{}% lwarp
+ }{\relax}% lwarp
\begin{tikzpicture}
% grid
% for all dimensions
@@ -54956,7 +60421,7 @@
% \begin{macrocode}
\LWR at ProvidesPackagePass{keyfloat}[2019/09/23]
-\@ifpackagelater{keyfloat}{2019/09/23}{}{
+\@ifpackagelater{keyfloat}{2019/09/23}{\relax}{
\PackageError{lwarp-keyfloat}
{%
The keyfloat package is out of date.\MessageBreak
@@ -55217,7 +60682,7 @@
{float:right; width:2in; margin:10pt}%
{}%
{marginblock}%
- \captionsetup{type=#2}%
+ \renewcommand*{\@captype}{#2}%
\minipage{\LWR at usersmarginparwidth}%
\setlength{\marginparwidth}{.95\LWR at usersmarginparwidth}%
}
@@ -55278,6 +60743,295 @@
%
%
% \iffalse
+%<*keystroke>
+% \fi
+%
+% \part{lwarp-keystroke.sty}
+%
+% \section{keystroke}
+%
+% \credits{Werner Fink}
+%
+% \DescribePackage{keystroke}
+% \pkg{keystroke} is patched for use by \pkg{lwarp}.
+%
+% \changes{v0.893}{2020/10/18}{\pkg{keystroke}: Added.}
+%
+% \codehtml
+%
+% \begin{macrocode}
+\LWR at ProvidesPackagePass{keystroke}[2010/04/23]
+% \end{macrocode}
+%
+% \begin{macrocode}
+\newcommand*{\LWR at HTML@keystroke}[1]{
+ \InlineClass{keystroke}{#1}
+}
+\LWR at formatted{keystroke}
+
+
+\newcommand*{\LWR at HTML@Return}{\keystroke{\HTMLunicode{021A9}}}
+\LWR at formatted{Return}
+
+\newcommand*{\LWR at HTML@BSpace}{\keystroke{\HTMLunicode{027FB}}}
+\LWR at formatted{BSpace}
+
+\newcommand*{\LWR at HTML@Tab}{\keystroke{|\HTMLunicode{021C6}|}}
+\LWR at formatted{Tab}
+
+\newcommand*{\LWR at HTML@UArrow}{\keystroke{\HTMLunicode{02191}}}
+\LWR at formatted{UArrow}
+
+\newcommand*{\LWR at HTML@DArrow}{\keystroke{\HTMLunicode{02193}}}
+\LWR at formatted{DArrow}
+
+\newcommand*{\LWR at HTML@LArrow}{\keystroke{\HTMLunicode{02190}}}
+\LWR at formatted{LArrow}
+
+\newcommand*{\LWR at HTML@RArrow}{\keystroke{\HTMLunicode{02192}}}
+\LWR at formatted{RArrow}
+
+% Preserves the language options:
+\LetLtxMacro\LWR at HTML@Shift\Shift
+\xpatchcmd{\LWR at HTML@Shift}
+ {$\Uparrow$}
+ {\HTMLunicode{21D1}}
+ {}
+ {}
+\LWR at formatted{Shift}
+
+\LetLtxMacro\LWR at HTML@PgUp\PgUp
+\xpatchcmd{\LWR at HTML@PgUp}
+ {$\uparrow$}
+ {\HTMLunicode{2191}}
+ {}
+ {}
+\LWR at formatted{PgUp}
+
+\LetLtxMacro\LWR at HTML@PgDown\PgDown
+\xpatchcmd{\LWR at HTML@PgDown}
+ {$\downarrow$}
+ {\HTMLunicode{2193}}
+ {}
+ {}
+\LWR at formatted{PgDown}
+% \end{macrocode}
+%
+% \iffalse
+%</keystroke>
+% \fi
+%
+%
+%
+% \iffalse
+%<*kpfonts>
+% \fi
+%
+% \part{lwarp-kpfonts.sty}
+%
+% \section{kpfonts}
+%
+% \credits{Christophe Caignaert}
+%
+% \DescribePackage{kpfonts}
+% \pkg{kpfonts} is used as-is for \SVG\ math, and is
+% emulated for \brand{MathJax}.
+%
+% The \brand{MathJax} emulation honors the options
+% \trouble[limitations]{kpfonts=\pkg{kpfonts}}
+% \optn{uprightRoman} for \cs{D} only,
+% \optn{classicReIm},
+% \optn{frenchstyle} for Greek only,
+% \optn{upright} for Greek only,
+% \optn{uprightgreeks},
+% \optn{slantedGreeks},
+% and \optn{mathcalasscript}.
+%
+% The dedicated macros for Greek work correctly.
+%
+% \SVG\ math should appear the same as the printed output.
+%
+% \changes{v0.891}{2020/09/19}{\pkg{kpfonts}: Added.}
+%
+% \codehtml
+%
+% \begin{macrocode}
+\LWR at ProvidesPackagePass{kpfonts}[2010/08/20]
+
+\LWR at infoprocessingmathjax{kpfonts}
+
+\LWR at origRequirePackage{lwarp-common-mathjax-newpxtxmath}
+
+\LWR at origRequirePackage{lwarp-common-mathjax-letters}
+
+\begin{warpMathJax}
+
+\ifkp at calasscr
+ \CustomizeMathJax{\let\LWRorigmathscr\mathscr}
+ \CustomizeMathJax{\let\LWRorigmathcal\mathcal}
+ \CustomizeMathJax{\let\mathscr\LWRorigmathcal}
+ \CustomizeMathJax{\let\mathcal\LWRorigmathscr}
+\fi
+
+\ifkp at upgrk % lowercase
+ \LWR at mathjax@addgreek at l@up{}{}
+ \LWR at mathjax@addgreek at l@it{other}{}
+\else
+ \LWR at mathjax@addgreek at l@up{other}{}
+\fi
+
+\ifkp at slGrk
+ \LWR at mathjax@addgreek at u@it*{}{}
+ \LWR at mathjax@addgreek at u@up*{other}{}
+ \LWR at mathjax@addgreek at u@up*{var}{}
+\else
+ \LWR at mathjax@addgreek at u@it*{other}{}
+ \LWR at mathjax@addgreek at u@it*{var}{}
+\fi
+
+\LWR at mathjax@addgreek at u@up*{}{up}
+\LWR at mathjax@addgreek at l@up{}{up}
+
+\LWR at mathjax@addgreek at u@it*{}{sl}
+\LWR at mathjax@addgreek at l@it{}{sl}
+
+\CustomizeMathJax{\newcommand{\partialsl}{\mathord{\unicode{x1D715}}}}
+\CustomizeMathJax{\let\partialup\uppartial}% not upright
+
+\ifkp at oldReIm
+\else
+ \CustomizeMathJax{\renewcommand{\Re}{\mathfrak{Re}}}
+ \CustomizeMathJax{\renewcommand{\Im}{\mathfrak{Im}}}
+\fi
+
+\ifkp at Dcommand
+ \ifkp at upRm%
+ \CustomizeMathJax{
+ \def\D#1{\mathclose{\,\mathrm{d}}#1}
+ }
+ \else
+ \CustomizeMathJax{
+ \def\D#1{\mathclose{\,\mathit{d}}#1}
+ }
+ \fi
+\fi
+
+\CustomizeMathJax{\let\pounds\mathsterling}
+\CustomizeMathJax{\let\kppounds\mathsterling}
+
+\CustomizeMathJax{\newcommand{\mathup}[1]{\mathrm{#1}}}% never sans
+\CustomizeMathJax{\let\mathupright\mathup}
+
+\end{warpMathJax}
+% \end{macrocode}
+%
+% \iffalse
+%</kpfonts>
+% \fi
+%
+%
+%
+% \iffalse
+%<*kpfonts-otf>
+% \fi
+%
+% \part{lwarp-kpfonts-otf.sty}
+%
+% \section{kpfonts-otf}
+%
+% \credits{Daniel Flipo}
+%
+% \DescribePackage{kpfonts-otf}
+% \pkg{kpfonts-otf} is used as-is for \SVG\ math, and is
+% emulated for \brand{MathJax}.
+%
+% The \brand{MathJax} emulation honors the options
+% \trouble[limitations]{kpfonts-otf=\pkg{kpfonts-otf}}
+% \optn{fancyReIm},
+% \optn{mathcal},
+% \optn{frenchstyle} for Greek only,
+% and \optn{mathcalasscript}.
+%
+% Also see the options for \pkg{unicode-math}, which is loaded by \pkg{kpfonts-otf}.
+%
+% The \pkg{unicode-math} dedicated macros for Greek work correctly.
+%
+% The \brand{MathJax} emulation does not change with the use of \cs{mathversion}.
+% \watchout[\cs{mathversion}]
+% Whatever emulation is established at the begin of the document will remain.
+%
+% \SVG\ math should appear the same as the printed output.
+%
+% \changes{v0.891}{2020/09/20}{\pkg{kpfonts-otf}: Added.}
+%
+% \codehtml
+%
+% \begin{macrocode}
+\LWR at ProvidesPackagePass{kpfonts-otf}[2020/06/20]
+
+\LWR at infoprocessingmathjax{kpfonts-otf}
+
+\LWR at origRequirePackage{lwarp-common-mathjax-nonunicode}
+
+\LWR at origRequirePackage{lwarp-common-mathjax-letters}
+
+\begin{warpMathJax}
+
+\ifkp at calasscr
+ \CustomizeMathJax{\let\mathscr\mathcal}
+\else
+ \CustomizeMathJax{\let\mathcal\mathscr}
+\fi
+
+\ifkp at frenchstyle
+ \LWR at mathjax@addgreek at l@up{}{}
+ \LWR at mathjax@addgreek at u@up*{}{}
+\fi
+
+\ifkp at oldReIm
+ \CustomizeMathJax{\renewcommand{\Re}{\mathfrak{Re}}}
+ \CustomizeMathJax{\renewcommand{\Im}{\mathfrak{Im}}}
+\else
+\fi
+
+\ifkp at Dcommand
+ \CustomizeMathJax{
+ \def\D#1{\mathclose{\,\mathrm{d}}#1}
+ }
+\fi
+
+\CustomizeMathJax{\let\varint\int}
+\CustomizeMathJax{\let\variint\iint}
+\CustomizeMathJax{\let\variiint\iiint}
+\CustomizeMathJax{\let\variiiint\iiiint}
+\CustomizeMathJax{\let\varidotsint\idotsint}
+
+\CustomizeMathJax{\newcommand{\varointctrclockwise}{\mathop{\unicode{x2939}\!\!\unicode{x0222E}}}}
+\CustomizeMathJax{\newcommand{\oiintclockwise}{\mathop{\unicode{x0222F}\!\!\unicode{x2938}}}}
+\CustomizeMathJax{\newcommand{\oiintctrclockwise}{\mathop{\unicode{x2939}\!\!\unicode{x0222F}}}}
+\CustomizeMathJax{\newcommand{\varoiintclockwise}{\mathop{\unicode{x0222F}\!\!\unicode{x2938}}}}
+\CustomizeMathJax{\newcommand{\varoiintctrclockwise}{\mathop{\unicode{x2939}\!\!\unicode{x0222F}}}}
+\CustomizeMathJax{\newcommand{\oiiintclockwise}{\mathop{\unicode{x02230}\!\!\unicode{x2938}}}}
+\CustomizeMathJax{\newcommand{\oiiintctrclockwise}{\mathop{\unicode{x2939}\!\!\unicode{x02230}}}}
+\CustomizeMathJax{\newcommand{\varoiiintclockwise}{\mathop{\unicode{x02230}\!\!\unicode{x2938}}}}
+\CustomizeMathJax{\newcommand{\varoiiintctrclockwise}{\mathop{\unicode{x2939}\!\!\unicode{x02230}}}}
+\CustomizeMathJax{\newcommand{\sqiint}{\mathop{\unicode{x2A16}\!\!\unicode{x2A16}}}}
+\CustomizeMathJax{\newcommand{\sqiiint}{\mathop{\unicode{x2A16}\!\!\unicode{x2A16}\!\!\unicode{x2A16}}}}
+
+\CustomizeMathJax{\let\widearc\overparen}
+\CustomizeMathJax{\let\widearcarrow\overrightarrow}
+\CustomizeMathJax{\let\overrightarc\overrightarrow}
+
+\end{warpMathJax}
+% \end{macrocode}
+%
+% \iffalse
+%</kpfonts-otf>
+% \fi
+%
+%
+%
+% \iffalse
%<*layaureo>
% \fi
%
@@ -55634,7 +61388,7 @@
% \cs{lettrine} \oarg{keys} \marg{letter} \marg{additional text}
% \begin{macrocode}
\DeclareDocumentCommand{\lettrine}{o m m}{%
-\InlineClass{lettrine}{#2}\InlineClass{lettrinetext}{#3} % extra space
+ \InlineClass{lettrine}{#2}\InlineClass{lettrinetext}{#3} % extra space
}
\newcounter{DefaultLines}
@@ -55668,9 +61422,394 @@
%
%
%
+% \iffalse
+%<*libertinust1math>
+% \fi
%
+% \part{lwarp-libertinust1math.sty}
%
+% \section{libertinust1math}
+%
+% \credits{Michael Sharpe}
+%
+% \DescribePackage{libertinust1math}
+% \pkg{libertinust1math} is used as-is for \SVG\ math, and is
+% emulated for \brand{MathJax}.
+%
+% The \brand{MathJax} emulation honors
+% \optn{frenchmath} for Greek but not Latin characters,
+% and \optn{slantedGreek}, \optn{uprightGreek}, and \optn{ISO}
+% also adjust Greek characters.
+% \brand{MathJax} cannot yet honor options for adjusting Latin characters.
+%
+% The dedicated macros for upright and italic Greek letters do work correctly.
+%
+% Some of the symbol font macros such as \cs{mathsfbf} do not use a sans font
+% because \brand{MathJax} does not yet have sans Greek.
+%
+% \SVG\ math honors all font choices, and should appear the same as the printed output.
+%
+% \changes{v0.891}{2020/09/18}{\pkg{libertinust1math}: Added.}
+%
+% \codehtml
+%
+% \begin{macrocode}
+\LWR at ProvidesPackagePass{libertinust1math}[2020/06/10]
+
+\LWR at infoprocessingmathjax{libertinust1math}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\LWR at origRequirePackage{lwarp-common-mathjax-letters}
+
+\begin{warpMathJax}
+
+\iflibus at slantedG
+ \LWR at mathjax@addgreek at u@it*{}{}
+\else
+ \LWR at mathjax@addgreek at u@up*{}{}
+\fi
+
+\LWR at mathjax@addgreek at u@it*{}{it}
+\LWR at mathjax@addgreek at u@up*{up}{}
+\LWR at mathjax@addgreek at u@up*{}{up}
+
+\iflibus at frenchm
+ \LWR at mathjax@addgreek at l@up{}{}
+\else
+ \LWR at mathjax@addgreek at l@it{}{}
+\fi
+
+\LWR at mathjax@addgreek at l@it{}{it}
+\LWR at mathjax@addgreek at l@up{}{up}
+\LWR at mathjax@addgreek at l@up{up}{}
+
+\CustomizeMathJax{\let\uppartial\partial}% not upright
+% \end{macrocode}
+%
+% \changes{v0.895}{2021/01/04}{\pkg{libertinust1math}: \brand{MathJax}: Fixed for Greek, ignoring sans.}
+% \begin{macrocode}
+\CustomizeMathJax{\let\mathsfbf\mathbf}% not sans
+% \CustomizeMathJax{\newcommand{\mathsfbf}[1]{%
+% \mmlToken{mi}[mathvariant="bold-sans-serif"]{#1}% not greek
+% }}% not sans
+
+% \CustomizeMathJax{\newcommand{\mathbfit}[1]{\boldsymbol{#1}}}
+\CustomizeMathJax{\let\mathbfit\boldsymbol}
+% \end{macrocode}
+%
+% \changes{v0.895}{2021/01/04}{\pkg{libertinust1math}: \brand{MathJax}: Fixed for Greek, ignoring sans.}
+% \begin{macrocode}
+% \CustomizeMathJax{\newcommand{\mathsfbfit}[1]{\boldsymbol{#1}}}% not sans
+\CustomizeMathJax{\let\mathsfbfit\mathbfit}% not sans
+% \CustomizeMathJax{\newcommand{\mathsfbfit}[1]{%
+% \mmlToken{mi}[mathvariant="sans-serif-bold-italic"]{#1}% not greek
+% }}%
+% \end{macrocode}
+%
+% \changes{v0.895}{2021/01/04}{\pkg{libertinust1math}: \brand{MathJax}: Fixed for Greek, ignoring sans.}
+% \begin{macrocode}
+\CustomizeMathJax{\let\mathsfit\mathit}% not sans
+% \CustomizeMathJax{\newcommand{\mathsfit}[1]{%
+% \mmlToken{mi}[mathvariant="sans-serif-italic"]{#1}% not greek
+% }}
+
+\CustomizeMathJax{\let\vectorsym\mathbfit}
+\CustomizeMathJax{\let\matrixsym\mathbfit}
+\CustomizeMathJax{\let\tensorsym\mathsfbfit}
+\CustomizeMathJax{\let\mathboldsans\mathsfbfit}
+\CustomizeMathJax{\let\mathbold\mathbfit}
+% \end{macrocode}
+%
+% \filenm{lwarp_mathjax.txt} adds \cs{left} \Slash \cs{right} support for
+% delimiters.
+% \changes{v0.892}{2020/09/26}{\pkg{libertinust1math}: Added \cs{left} \Slash \cs{right} support in \filenm{lwarp_mathjax.txt}.}
+% \begin{macrocode}
+\CustomizeMathJax{\let\dlb\lBrack}
+\CustomizeMathJax{\let\drb\rBrack}
+
+\CustomizeMathJax{\let\sqrtsign\sqrt}
+
+\CustomizeMathJax{\let\smallintsl\smallint}
+\CustomizeMathJax{\newcommand{\smalliintsl}{\mathop{\unicode{x222C}}\limits}}
+\CustomizeMathJax{\newcommand{\smalliiintsl}{\mathop{\unicode{x222D}}\limits}}
+\CustomizeMathJax{\newcommand{\smalliiiintsl}{\mathop{\unicode{x2A0C}}\limits}}
+\CustomizeMathJax{\newcommand{\smallointsl}{\mathop{\unicode{x222E}}\limits}}
+\CustomizeMathJax{\newcommand{\smalloiintsl}{\mathop{\unicode{x222F}}\limits}}
+
+\CustomizeMathJax{\let\smallintup\smallint}
+\CustomizeMathJax{\newcommand{\smalliintup}{\mathop{\unicode{x222C}}\limits}}
+\CustomizeMathJax{\newcommand{\smalliiintup}{\mathop{\unicode{x222D}}\limits}}
+\CustomizeMathJax{\newcommand{\smalliiiintup}{\mathop{\unicode{x2A0C}}\limits}}
+\CustomizeMathJax{\newcommand{\smallointup}{\mathop{\unicode{x222E}}\limits}}
+\CustomizeMathJax{\newcommand{\smalloiintup}{\mathop{\unicode{x222F}}\limits}}
+
+\CustomizeMathJax{\let\intslop\int}
+\CustomizeMathJax{\newcommand{\iintslop}{\mathop{\unicode{x222C}}\limits}}
+\CustomizeMathJax{\newcommand{\iiintslop}{\mathop{\unicode{x222D}}\limits}}
+\CustomizeMathJax{\newcommand{\iiiintslop}{\mathop{\unicode{x2A0C}}\limits}}
+\CustomizeMathJax{\let\ointslop\oint}
+\CustomizeMathJax{\newcommand{\oiintslop}{\mathop{\unicode{x222F}}\limits}}
+\CustomizeMathJax{\newcommand{\oiiintslop}{\mathop{\unicode{x2230}}\limits}}
+
+\CustomizeMathJax{\let\intupop\int}
+\CustomizeMathJax{\newcommand{\iintupop}{\mathop{\unicode{x222C}}\limits}}
+\CustomizeMathJax{\newcommand{\iiintupop}{\mathop{\unicode{x222D}}\limits}}
+\CustomizeMathJax{\newcommand{\iiiintupop}{\mathop{\unicode{x2A0C}}\limits}}
+\CustomizeMathJax{\let\ointupop\oint}
+\CustomizeMathJax{\newcommand{\oiintupop}{\mathop{\unicode{x222F}}\limits}}
+\CustomizeMathJax{\newcommand{\oiiintupop}{\mathop{\unicode{x2230}}\limits}}
+
+\CustomizeMathJax{\newcommand{\smalliint}{\mathop{\unicode{x222C}}\limits}}
+\CustomizeMathJax{\newcommand{\smalliiint}{\mathop{\unicode{x222D}}\limits}}
+\CustomizeMathJax{\newcommand{\smalliiiint}{\mathop{\unicode{x2A0C}}\limits}}
+\CustomizeMathJax{\newcommand{\smalloint}{\mathop{\unicode{x222E}}\limits}}
+\CustomizeMathJax{\newcommand{\smalloiint}{\mathop{\unicode{x222F}}\limits}}
+
+\CustomizeMathJax{\let\intop\int}
+\CustomizeMathJax{\newcommand{\iintop}{\mathop{\unicode{x222C}}\limits}}
+\CustomizeMathJax{\newcommand{\iiintop}{\mathop{\unicode{x222D}}\limits}}
+\CustomizeMathJax{\newcommand{\iiiintop}{\mathop{\unicode{x2A0C}}\limits}}
+\CustomizeMathJax{\let\ointop\oint}
+\CustomizeMathJax{\newcommand{\oiintop}{\mathop{\unicode{x222F}}\limits}}
+\CustomizeMathJax{\newcommand{\oiiintop}{\mathop{\unicode{x2230}}\limits}}
+
+\CustomizeMathJax{\newcommand{\oiint}{\mathop{\unicode{x222F}}\limits}}
+
+\CustomizeMathJax{\newcommand{\bigcupdot}{\mathop{\unicode{x2A03}}}}
+\CustomizeMathJax{\newcommand{\bigsqcap}{\mathop{\unicode{x2A05}}}}
+\CustomizeMathJax{\newcommand{\xsol}{\mathop{\unicode{x29F8}}}}
+\CustomizeMathJax{\newcommand{\xbsol}{\mathop{\unicode{x29F9}}}}
+\CustomizeMathJax{\let\prodop\prod}
+\CustomizeMathJax{\let\coprodop\coprod}
+\CustomizeMathJax{\let\sumop\sum}
+\CustomizeMathJax{\let\bigwedgeop\bigwedge}
+\CustomizeMathJax{\let\bigveeop\bigvee}
+\CustomizeMathJax{\let\bigcapop\bigcap}
+\CustomizeMathJax{\let\bigcupop\bigcup}
+\CustomizeMathJax{\let\xsolop\xsol}
+\CustomizeMathJax{\let\xbsolop\xbsol}
+\CustomizeMathJax{\let\bigodotop\bigodot}
+\CustomizeMathJax{\let\bigoplusop\bigoplus}
+\CustomizeMathJax{\let\bigotimesop\bigotimes}
+\CustomizeMathJax{\let\bigcupdotop\bigcupdot}
+\CustomizeMathJax{\let\biguplusop\biguplus}
+\CustomizeMathJax{\let\bigsqcapop\bigsqcap}
+\CustomizeMathJax{\let\bigsqcupop\bigsqcup}
+
+\CustomizeMathJax{\newcommand{\ovhook}[1]{\mathord{#1\unicode{x00309}}}}
+\CustomizeMathJax{\newcommand{\candra}[1]{\mathord{#1\unicode{x00310}}}}
+\CustomizeMathJax{\newcommand{\oturnedcomma}[1]{\mathord{#1\unicode{x00312}}}}
+\CustomizeMathJax{\newcommand{\ocommatopright}[1]{\mathord{#1\unicode{x00315}}}}
+\CustomizeMathJax{\newcommand{\droang}[1]{\mathord{#1\unicode{x0031A}}}}
+\CustomizeMathJax{\newcommand{\leftharpoonaccent}[1]{\mathord{#1\unicode{x020D0}}}}
+\CustomizeMathJax{\newcommand{\rightharpoonaccent}[1]{\mathord{#1\unicode{x020D1}}}}
+\CustomizeMathJax{\newcommand{\leftarrowaccent}[1]{\mathord{#1\unicode{x020D0}}}}
+\CustomizeMathJax{\let\rightarrowaccent\vec}
+
+\CustomizeMathJax{\newcommand{\leftrightarrowaccent}[1]{\mathord{#1\unicode{x020E1}}}}
+\CustomizeMathJax{\newcommand{\annuity}[1]{\mathord{#1\unicode{x020E7}}}}
+\CustomizeMathJax{\newcommand{\widebridgeabove}[1]{\mathord{#1\unicode{x020E9}}}}
+\CustomizeMathJax{\newcommand{\asteraccent}[1]{\mathord{#1\unicode{x020F0}}}}
+
+% neutralized:
+\CustomizeMathJax{\newcommand{\braceld}{}}
+\CustomizeMathJax{\newcommand{\bracerd}{}}
+\CustomizeMathJax{\newcommand{\bracelu}{}}
+\CustomizeMathJax{\newcommand{\braceru}{}}
+\CustomizeMathJax{\newcommand{\braceex}{}}
+\CustomizeMathJax{\newcommand{\bracemu}{}}
+\CustomizeMathJax{\newcommand{\bracemd}{}}
+\CustomizeMathJax{\newcommand{\parenld}{}}
+\CustomizeMathJax{\newcommand{\parenrd}{}}
+\CustomizeMathJax{\newcommand{\parenlu}{}}
+\CustomizeMathJax{\newcommand{\parenru}{}}
+\CustomizeMathJax{\newcommand{\bracketld}{}}
+\CustomizeMathJax{\newcommand{\bracketrd}{}}
+\CustomizeMathJax{\newcommand{\bracketlu}{}}
+\CustomizeMathJax{\newcommand{\bracketru}{}}
+\CustomizeMathJax{\newcommand{\bracketex}{}}
+\CustomizeMathJax{\newcommand{\parenex}{}}
+
+\CustomizeMathJax{\newcommand{lhook}{~}}
+\CustomizeMathJax{\newcommand{rhook}{~}}
+\CustomizeMathJax{\newcommand{relbar}{-}}
+\CustomizeMathJax{\newcommand{Relbar}{=}}
+
+\CustomizeMathJax{\newcommand{\mapstochar}{\mathrel{\unicode{x21A6}}}}
+
+\CustomizeMathJax{\newcommand{\Zbar}{\mathord{\unicode{x0001B5}}}}
+\CustomizeMathJax{\newcommand{\notchar}{\mathrel{\unicode{x000AC}}}}
+\CustomizeMathJax{\newcommand{\upbackepsilon}{\mathord{\unicode{x03F6}}}}
+\CustomizeMathJax{\newcommand{\smblkcircle}{\mathbin{\unicode{x02022}}}}
+\CustomizeMathJax{\newcommand{\enleadertwodots}{\mathord{\unicode{x02025}}}}
+\CustomizeMathJax{\newcommand{\unicodeellipsis}{\mathord{\unicode{x02026}}}}
+\CustomizeMathJax{\newcommand{\mathellipsis}{\mathinner{\unicode{x02026}}}}
+\CustomizeMathJax{\newcommand{\dprime}{\mathord{\unicode{x02033}}}}
+\CustomizeMathJax{\newcommand{\trprime}{\mathord{\unicode{x02034}}}}
+\CustomizeMathJax{\newcommand{\backdprime}{\mathord{\unicode{x02036}}}}
+\CustomizeMathJax{\newcommand{\backtrprime}{\mathord{\unicode{x02037}}}}
+\CustomizeMathJax{\newcommand{\caretinsert}{\mathord{\unicode{x02038}}}}
+\CustomizeMathJax{\newcommand{\Exclam}{\mathord{\unicode{x0203C}}}}
+
+\CustomizeMathJax{\newcommand{\hyphenbullet}{\mathord{\unicode{x02043}}}}
+\CustomizeMathJax{\newcommand{\fracslash}{\mathbin{\unicode{x02044}}}}
+\CustomizeMathJax{\newcommand{\Question}{\mathord{\unicode{x02047}}}}
+\CustomizeMathJax{\newcommand{\closure}{\mathrel{\unicode{x02050}}}}
+\CustomizeMathJax{\newcommand{\qprime}{\mathord{\unicode{x02057}}}}
+\CustomizeMathJax{\newcommand{\vertoverlay}{\mathrel{\unicode{x020D2}}}}
+\CustomizeMathJax{\newcommand{\enclosecircle}{\mathord{\unicode{x020DD}}}}
+\CustomizeMathJax{\newcommand{\enclosesquare}{\mathord{\unicode{x020DE}}}}
+\CustomizeMathJax{\newcommand{\enclosetriangle}{\mathord{\unicode{x020E4}}}}
+\CustomizeMathJax{\newcommand{\Eulerconst}{\mathord{\unicode{x02107}}}}
+\CustomizeMathJax{\newcommand{\turnediota}{\mathord{\unicode{x02129}}}}
+\CustomizeMathJax{\newcommand{\Angstrom}{\mathord{\unicode{x0212B}}}}
+
+\CustomizeMathJax{\newcommand{\sansLturned}{\mathord{\unicode{x02142}}}}
+\CustomizeMathJax{\newcommand{\sansLmirrored}{\mathord{\unicode{x02143}}}}
+\CustomizeMathJax{\newcommand{\Yup}{\mathord{\unicode{x02144}}}}
+\CustomizeMathJax{\newcommand{\upand}{\mathbin{\unicode{x0214B}}}}
+\CustomizeMathJax{\newcommand{\increment}{\mathord{\unicode{x02206}}}}
+\CustomizeMathJax{\newcommand{\smallin}{\mathrel{\unicode{x0220A}}}}
+\CustomizeMathJax{\newcommand{\nni}{\mathrel{\unicode{x0220C}}}}
+
+\CustomizeMathJax{\newcommand{\smallni}{\mathrel{\unicode{x0220D}}}}
+\CustomizeMathJax{\newcommand{\QED}{\mathord{\unicode{x0220E}}}}
+\CustomizeMathJax{\newcommand{\vysmwhtcircle}{\mathbin{\unicode{x02218}}}}
+\CustomizeMathJax{\newcommand{\vysmblkcircle}{\mathbin{\unicode{x02219}}}}
+\CustomizeMathJax{\newcommand{\rightangle}{\mathord{\unicode{x0221F}}}}
+
+\CustomizeMathJax{\newcommand{\Colon}{\mathrel{\unicode{x02237}}}}
+\CustomizeMathJax{\newcommand{\dotminus}{\mathbin{\unicode{x02238}}}}
+\CustomizeMathJax{\newcommand{\dashcolon}{\mathrel{\unicode{x02239}}}}
+\CustomizeMathJax{\newcommand{\dotsminusdots}{\mathrel{\unicode{x0223A}}}}
+\CustomizeMathJax{\newcommand{\kernelcontraction}{\mathrel{\unicode{x0223B}}}}
+\CustomizeMathJax{\newcommand{\invlazys}{\mathbin{\unicode{x0223E}}}}
+
+\CustomizeMathJax{\newcommand{\sinewave}{\mathord{\unicode{x0223F}}}}
+\CustomizeMathJax{\newcommand{\nsime}{\mathrel{\unicode{x02244}}}}
+\CustomizeMathJax{\newcommand{\simneqq}{\mathrel{\unicode{x02246}}}}
+\CustomizeMathJax{\newcommand{\napprox}{\mathrel{\unicode{x02249}}}}
+\CustomizeMathJax{\newcommand{\approxident}{\mathrel{\unicode{x0224B}}}}
+\CustomizeMathJax{\newcommand{\backcong}{\mathrel{\unicode{x0224C}}}}
+
+\CustomizeMathJax{\newcommand{\nasymp}{\mathrel{\unicode{x0226D}}}}
+\CustomizeMathJax{\newcommand{\nlesssim}{\mathrel{\unicode{x02274}}}}
+\CustomizeMathJax{\newcommand{\ngtrsim}{\mathrel{\unicode{x02275}}}}
+\CustomizeMathJax{\newcommand{\nlessgtr}{\mathrel{\unicode{x02278}}}}
+\CustomizeMathJax{\newcommand{\ngtrless}{\mathrel{\unicode{x02279}}}}
+
+\CustomizeMathJax{\newcommand{\nsubset}{\mathrel{\unicode{x02284}}}}
+\CustomizeMathJax{\newcommand{\nsupset}{\mathrel{\unicode{x02285}}}}
+
+\CustomizeMathJax{\newcommand{\cupleftarrow}{\mathbin{\unicode{x0228C}}}}
+\CustomizeMathJax{\newcommand{\cupdot}{\mathbin{\unicode{x0228D}}}}
+\CustomizeMathJax{\newcommand{\circledequal}{\mathbin{\unicode{x0229C}}}}
+
+\CustomizeMathJax{\newcommand{\assert}{\mathrel{\unicode{x022A6}}}}
+\CustomizeMathJax{\newcommand{\VDash}{\mathrel{\unicode{x022AB}}}}
+\CustomizeMathJax{\newcommand{\prurel}{\mathrel{\unicode{x022B0}}}}
+
+\CustomizeMathJax{\newcommand{\origof}{\mathrel{\unicode{x022B6}}}}
+\CustomizeMathJax{\newcommand{\smallprod}{\mathop{\unicode{x0220F}}}}% not small
+\CustomizeMathJax{\newcommand{\smallcoprod}{\mathop{\unicode{x02210}}}}% not small
+\CustomizeMathJax{\newcommand{\smallsum}{\mathop{\unicode{x02211}}}}% not small
+\CustomizeMathJax{\newcommand{\Hfraktur}{\mathord{\unicode{x1D525}}}}
+\CustomizeMathJax{\newcommand{\dsol}{\mathbin{\unicode{x029F6}}}}
+\CustomizeMathJax{\newcommand{\rsolbar}{\mathbin{\unicode{x029F7}}}}
+
+\CustomizeMathJax{\newcommand{\eqless}{\mathrel{\unicode{x022DC}}}}
+\CustomizeMathJax{\newcommand{\eqgtr}{\mathrel{\unicode{x022DD}}}}
+\CustomizeMathJax{\newcommand{\npreccurlyeq}{\mathrel{\unicode{x022E0}}}}
+\CustomizeMathJax{\newcommand{\nsucccurlyeq}{\mathrel{\unicode{x022E1}}}}
+\CustomizeMathJax{\newcommand{\nsqsubseteq}{\mathrel{\unicode{x022E2}}}}
+\CustomizeMathJax{\newcommand{\nsqsupseteq}{\mathrel{\unicode{x022E3}}}}
+\CustomizeMathJax{\newcommand{\sqsubsetneq}{\mathrel{\unicode{x022E4}}}}
+\CustomizeMathJax{\newcommand{\sqsupsetneq}{\mathrel{\unicode{x022E5}}}}
+\CustomizeMathJax{\newcommand{\nvartriangleleft}{\mathrel{\unicode{x022EA}}}}
+\CustomizeMathJax{\newcommand{\nvartriangleright}{\mathrel{\unicode{x022EB}}}}
+
+\CustomizeMathJax{\newcommand{\vdotsmath}{\mathrel{\unicode{x022EE}}}}
+\CustomizeMathJax{\newcommand{\unicodecdots}{\mathord{\unicode{x022EF}}}}
+\CustomizeMathJax{\newcommand{\adots}{\mathrel{\unicode{x022F0}}}}
+\CustomizeMathJax{\newcommand{\succneq}{\mathrel{\unicode{x02AB2}}}}
+\CustomizeMathJax{\newcommand{\preceqq}{\mathrel{\unicode{x02AB3}}}}
+\CustomizeMathJax{\newcommand{\succeqq}{\mathrel{\unicode{x02AB4}}}}
+\CustomizeMathJax{\newcommand{\precneq}{\mathrel{\unicode{x02AB1}}}}
+
+\CustomizeMathJax{\newcommand{\mapsfrom}{\mathrel{\unicode{x021A4}}}}
+
+\CustomizeMathJax{\newcommand{\longmapsfrom}{\mathrel{\unicode{x027FB}}}}
+
+\CustomizeMathJax{\newcommand{\diameter}{\mathord{\unicode{x02300}}}}
+\CustomizeMathJax{\newcommand{\coloneq}{\mathrel{\unicode{x02254}}}}
+\CustomizeMathJax{\newcommand{\eqcolon}{\mathrel{\unicode{x02255}}}}
+\CustomizeMathJax{\newcommand{\arceq}{\mathrel{\unicode{x02258}}}}
+\CustomizeMathJax{\newcommand{\wedgeq}{\mathrel{\unicode{x02259}}}}
+\CustomizeMathJax{\newcommand{\veeeq}{\mathrel{\unicode{x0225A}}}}
+
+\CustomizeMathJax{\newcommand{\stareq}{\mathrel{\unicode{x0225B}}}}
+\CustomizeMathJax{\newcommand{\eqdef}{\mathrel{\unicode{x0225D}}}}
+\CustomizeMathJax{\newcommand{\measeq}{\mathrel{\unicode{x0225E}}}}
+\CustomizeMathJax{\newcommand{\questeq}{\mathrel{\unicode{x0225F}}}}
+\CustomizeMathJax{\newcommand{\nequiv}{\mathrel{\unicode{x02262}}}}
+\CustomizeMathJax{\newcommand{\Equiv}{\mathrel{\unicode{x02263}}}}
+
+\CustomizeMathJax{\newcommand{\house}{\mathord{\unicode{x02302}}}}
+
+\CustomizeMathJax{\newcommand{\musicalnote}{\mathord{\unicode{x0266A}}}}
+\CustomizeMathJax{\newcommand{\degree}{\mathord{\unicode{x000B0}}}}
+\CustomizeMathJax{\newcommand{\mathsection}{\mathord{\unicode{x000A7}}}}
+\CustomizeMathJax{\newcommand{\mathparagraph}{\mathord{\unicode{x000B6}}}}
+\CustomizeMathJax{\newcommand{\checkmarkmath}{\mathord{\unicode{x02713}}}}
+\CustomizeMathJax{\newcommand{\invnot}{\mathord{\unicode{x02310}}}}
+
+\CustomizeMathJax{\newcommand{\mathvisiblespace}{\mathord{\unicode{x02423}}}}
+\CustomizeMathJax{\newcommand{\mdlgblksquare}{\mathord{\unicode{x025A0}}}}
+\CustomizeMathJax{\newcommand{\mdlgwhtsquare}{\mathord{\unicode{x025A1}}}}
+
+\CustomizeMathJax{\newcommand{\bigblacktriangleup}{\mathord{\unicode{x025B2}}}}
+\CustomizeMathJax{\newcommand{\varbigtriangleup}{\mathord{\unicode{x025B3}}}}
+
+\CustomizeMathJax{\newcommand{\bigblacktriangledown}{\mathord{\unicode{x025BC}}}}
+\CustomizeMathJax{\newcommand{\varbigtriangledown}{\mathord{\unicode{x025BD}}}}
+\CustomizeMathJax{\newcommand{\Longmapsfrom}{\mathrel{\unicode{x027FD}}}}
+
+% bug in print font:
+\CustomizeMathJax{\newcommand{\mdlgblkdiamond}{\mathord{\unicode{x025C6}}}}
+
+\CustomizeMathJax{\newcommand{\mdlgwhtdiamond}{\mathord{\unicode{x025C7}}}}
+\CustomizeMathJax{\newcommand{\Longmapsto}{\mathrel{\unicode{x027FE}}}}
+\CustomizeMathJax{\newcommand{\fisheye}{\mathord{\unicode{x025C9}}}}
+\CustomizeMathJax{\newcommand{\mdlgwhtlozenge}{\mathord{\unicode{x025CA}}}}
+\CustomizeMathJax{\newcommand{\mdlgwhtcircle}{\mathbin{\unicode{x025CB}}}}
+\CustomizeMathJax{\newcommand{\bullseye}{\mathord{\unicode{x025CE}}}}
+\CustomizeMathJax{\newcommand{\mdlgblkcircle}{\mathord{\unicode{x025CF}}}}
+
+\CustomizeMathJax{\newcommand{\Nwarrow}{\mathrel{\unicode{x021D6}}}}
+\CustomizeMathJax{\newcommand{\Nearrow}{\mathrel{\unicode{x021D7}}}}
+\CustomizeMathJax{\newcommand{\Searrow}{\mathrel{\unicode{x021D8}}}}
+\CustomizeMathJax{\newcommand{\Swarrow}{\mathrel{\unicode{x021D9}}}}
+
+\CustomizeMathJax{\newcommand{\Mapsfrom}{\mathord{\unicode{x02906}}}}
+\CustomizeMathJax{\newcommand{\smwhtcircle}{\mathord{\unicode{x025E6}}}}
+\CustomizeMathJax{\newcommand{\smwhtdiamond}{\mathbin{\unicode{x022C4}}}}
+\CustomizeMathJax{\newcommand{\Mapsto}{\mathord{\unicode{x02907}}}}
+
+\CustomizeMathJax{\let\ngets\nleftarrow}
+\CustomizeMathJax{\let\nsimeq\nsime}
+\CustomizeMathJax{\let\nle\nleq}
+\CustomizeMathJax{\let\nge\ngeq}
+
+\end{warpMathJax}
+% \end{macrocode}
+%
% \iffalse
+%</libertinust1math>
+% \fi
+%
+%
+% \iffalse
%<*lineno>
% \fi
%
@@ -55684,6 +61823,7 @@
% \pkg{lineno} is partly emulated, but mostly ignored.
%
% \changes{v0.49}{2018/02/19}{\pkg{lineno}: Added.}
+% \changes{v0.892}{2020/10/02}{\pkg{lineno}: Fix for \env{internallinenumbers*}.}
%
% \codehtml
%
@@ -55749,7 +61889,7 @@
\newcommand\internallinenumbers{}
\let\endinternallinenumbers\endlinenumbers
-\@namedef{internallinenumbers*}{\internallinenumbers*}
+\@namedef{internallinenumbers*}{\internallinenumbers}
\expandafter\let\csname endinternallinenumbers*\endcsname\endlinenumbers
\newcommand*{\linenoplaceholder}[1]{% redefine per language
@@ -55880,16 +62020,12 @@
%
% \changes{v0.20}{2017/01/01}{\pkg{listings}: Added.}
%
-% \codehtml
-% \begin{macrocode}
-\begin{warpHTML}
-% \end{macrocode}
%
-%
% \begin{macrocode}
\LWR at ProvidesPackagePass{listings}[2018/09/02]
% \end{macrocode}
+%
% ^^A For passing optional arguments to an environment, see:
% ^^A \href
% ^^A {http://tex.stackexchange.com/questions/9035/how-to-pass-an-optional-argument-to-an-environment-with-verbatim-content}
@@ -55920,6 +62056,7 @@
% Use the \pkg{listings} \optn{literate} option to replace
% \HTML\ entities:
% \changes{v0.60}{2018/09/12}{\pkg{listings}: Fix for \HTML\ entities.}
+% \changes{v0.891}{2020/09/21}{\pkg{listings}: Improved \HTML\ sanitizing.}
% \begin{macrocode}
\def\lstset@#1{\endgroup%
% \ifx\@empty#1%
@@ -55930,7 +62067,17 @@
,literate=%
{<}{\HTMLentity{lt}}{4}%
{>}{\HTMLentity{gt}}{4}%
- {\&}{\HTMLentity{amp}}{5}%
+ {'}{\HTMLentity{apos}}{6}%
+ {`}{\HTMLentity{grave}}{7}%
+% \end{macrocode}
+% The ampersand is not treated here, as the result is inconsistent spacing.
+% It is nevertheless converted to |&| elsewhere.
+% Sanitizing the double quote interferes with \pkg{listings}' conversion of
+% visible spaces inside strings.
+% \changes{v0.891}{2020/09/21}{\pkg{listings}: Improved spacing around ampersand.}
+% ^^A {"}{\HTMLentity{quot}}{6}%
+% ^^A {\&}{\HTMLentity{amp}}{5}% inconsistent spacing
+% \begin{macrocode}
}%
% \fi%
}
@@ -55949,6 +62096,15 @@
% \changes{v0.51}{2018/03/17}{\pkg{listings}: Forces cleared options.}
% \begin{macrocode}
\LWR at traceinfo{lst at Init}%
+% \end{macrocode}
+%
+% \cs{LWR at forcenewpage} is moved to the start to avoid a spurrious bug
+% with paragraph handling and conditionals.
+% \changes{v0.891}{2020/09/16}{\pkg{listings}: Fix for \brand{MathJax}: Moved \cs{LWR at forcenewpage} to start.}
+% \begin{macrocode}
+\lst at ifdisplaystyle%
+ \LWR at forcenewpage%
+\fi%
\renewcommand*{\@captype}{lstlisting}%
\let\lst at aboveskip\z@\let\lst at belowskip\z@%
\gdef\lst at boxpos{t}%
@@ -55976,18 +62132,24 @@
% produce the \element{pre}, then
% reenable line numbers.
% \begin{macrocode}
-\LWR at traceinfo{About to create verbatim.}%
-\let\lsthk at EveryPar\relax%
-\LWR at forcenewpage
-\LWR at atbeginverbatim{2}{programlisting}%
+ \LWR at traceinfo{About to create verbatim.}%
+ \let\lsthk at EveryPar\relax%
+% \end{macrocode}
+% \changes{v0.891}{2020/09/16}{\pkg{listings}: Fix for \brand{MathJax}: Moved \cs{LWR at forcenewpage} to start.}
+% \begin{macrocode}
+ \LWR at atbeginverbatim{programlisting}%
-\let\lsthk at EveryPar\LWR at origlsthkEveryPar%
+ \let\lsthk at EveryPar\LWR at origlsthkEveryPar%
\else%
% \end{macrocode}
% Inline, so open a \element{span}:
+% \changes{v0.895}{2021/01/14}{Improved \HTML\ quotes.}
% \begin{macrocode}
-\ifbool{LWR at verbtags}{\LWR at htmltag{span class="inlineprogramlisting"}}{}%
+ \ifbool{LWR at verbtags}{\LWR at htmltag{%
+ span class=\textquotedbl{}inlineprogramlisting\textquotedbl%
+ }}{}%
\fi%
+\LWR at traceinfo{lst at Init done}%
}
% \end{macrocode}
@@ -56005,14 +62167,14 @@
% produce the \element{/pre}, then
% reenable line numbers:
% \begin{macrocode}
-\let\lsthk at EveryPar\relax%
-\LWR at afterendverbatim{0}%
-\let\lsthk at EveryPar\LWR at origlsthkEveryPar%
+ \let\lsthk at EveryPar\relax%
+ \LWR at afterendverbatim%
+ \let\lsthk at EveryPar\LWR at origlsthkEveryPar%
\else%
% \end{macrocode}
% Inline, so create the closing \element{/span}:
% \begin{macrocode}
-\ifbool{LWR at verbtags}{\noindent\LWR at htmltag{/span}}{}%
+ \ifbool{LWR at verbtags}{\noindent\LWR at htmltag{/span}}{}%
\fi%
% \end{macrocode}
% Final \pkg{listings} deinit:
@@ -56030,6 +62192,7 @@
%
% Patched for \pkg{lwarp}.
% \begin{macrocode}
+
\def\lst at MakeCaption#1{%
\LWR at traceinfo{MAKING CAPTION at #1}%
\lst at ifdisplaystyle
@@ -56047,8 +62210,10 @@
\lst at ifnolol\else
\ifx\lst@@caption\@empty
\ifx\lst at caption\@empty
- \ifx\lst at intname\@empty \else \def\lst at temp{ }%
- \ifx\lst at intname\lst at temp \else
+ \ifx\lst at intname\@empty
+ \else
+ \def\lst at temp{ }%
+ \ifx\lst at intname\lst at temp \else
% \end{macrocode}
% This code places a contents entry for a non-float.
% This would have to be modified for \pkg{lwarp}:
@@ -56055,7 +62220,8 @@
% \begin{macrocode}
\LWR at traceinfo{addcontents lst at name: -\lst at name-}%
% \addcontentsline{lol}{lstlisting}{\lst at name}
- \fi\fi
+ \fi
+ \fi
\fi
\else
% \end{macrocode}
@@ -56094,9 +62260,9 @@
% \begin{macrocode}
% \lst at maketitle\lst at title % (AS)
\LWR at traceinfo{Making title: \lst at title}%
-\begin{BlockClass}{lstlistingtitle}% lwarp
-\lst at maketitle\lst at title% lwarp
-\end{BlockClass}% lwarp
+\begin{BlockClass}{lstlistingtitle}% lwarp
+\lst at maketitle\lst at title% lwarp
+\end{BlockClass}% lwarp
\fi
\LWR at traceinfo{About to assign label: !\lst at label!}%
\ifx\lst at label\@empty\else
@@ -56118,6 +62284,11 @@
\fi
\LWR at traceinfo{DONE WITH CAPTION at #1}%
}
+
+\renewcommand{\lst at maketitle}[1]{%
+ \LWR at isolate{#1}%
+}%
+
% \end{macrocode}
% \end{noindmacro}
%
@@ -56152,10 +62323,6 @@
}{\PackageError{lwarp-listings}{Numbers #1 unknown}\@ehc}}
% \end{macrocode}
%
-% \begin{macrocode}
-\end{warpHTML}
-% \end{macrocode}
-
% \iffalse
%</listings>
% \fi
@@ -56308,13 +62475,20 @@
% not at each caption.
%
% Options [c], [l], and [r] are ignored.
+%
+% \changes{v0.84}{2020/04/20}{\pkg{caption} now optional.}
+%
% \begin{macrocode}
\newenvironment{longtable*}[2][]{%
\LWR at floatbegin{table}%
- \setcaptiontype{\LTcaptype}%
- \caption at setoptions{longtable}%
- \caption at setoptions{@longtable}%
- \caption at LT@setup%
+ \ifdef{\setcaptiontype}{% caption package:
+ \setcaptiontype{\LTcaptype}%
+ \caption at setoptions{longtable}%
+ \caption at setoptions{@longtable}%
+ \caption at LT@setup%
+ }{% w/o caption package:
+ \renewcommand*{\@captype}{\LTcaptype}%
+ }%
\booltrue{LWR at starredlongtable}%
\boolfalse{LWR at longtable@havehead}%
\let\captionlistentry\LWR at LTcaptionlistentry%
@@ -56324,10 +62498,14 @@
\newenvironment{longtable}[2][]{%
\LWR at floatbegin{table}%
- \setcaptiontype{\LTcaptype}%
- \caption at setoptions{longtable}%
- \caption at setoptions{@longtable}%
- \caption at LT@setup%
+ \ifdef{\setcaptiontype}{% caption package:
+ \setcaptiontype{\LTcaptype}%
+ \caption at setoptions{longtable}%
+ \caption at setoptions{@longtable}%
+ \caption at LT@setup%
+ }{% w/o caption package:
+ \renewcommand*{\@captype}{\LTcaptype}%
+ }%
\refstepcounter{\LTcaptype}%
\boolfalse{LWR at longtable@havehead}%
\let\captionlistentry\LWR at LTcaptionlistentry%
@@ -56345,7 +62523,7 @@
% Error for heads which should have been in \cs{warpprintonly}:
% \begin{macrocode}
\newcommand*{\LWR at longtable@headerror}{%
- \PackageError{lwarp}
+ \PackageError{lwarp-longtable}
{For longtable:\MessageBreak
1: Keep either one of an \protect\endhead\space or
\protect\endfirsthead\space\MessageBreak
@@ -56430,9 +62608,45 @@
%
%
%
+% \iffalse
+%<*lpic>
+% \fi
%
+% \part{lwarp-lpic.sty}
%
+% \section{lpic}
+%
+% \credits{R. Matveyev}
+%
+% \DescribePackage{lpic}
+% \pkg{lpic} is patched for use by \pkg{lwarp}.
+%
+% \changes{v0.895}{2021/01/19}{\pkg{lpic}: Added.}
+%
+% \codehtml
+%
+% \begin{macrocode}
+\LWR at ProvidesPackagePass{lpic}[2010/12/23]
+% \end{macrocode}
+%
+% \begin{macrocode}
+\BeforeBeginEnvironment{lpic}{%
+ \begin{lateximage}[-lpic-~\PackageDiagramAltText]%
+}
+
+\AfterEndEnvironment{lpic}{\end{lateximage}}
+% \end{macrocode}
+%
% \iffalse
+%</lpic>
+% \fi
+%
+%
+%
+%
+%
+%
+% \iffalse
%<*lscape>
% \fi
@@ -56604,7 +62818,7 @@
%
% 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.}
@@ -56937,7 +63151,7 @@
\let\LWRTODONOTES at orig@todototoc\todototoc
\renewcommand*{\todototoc}{%
-\phantomsection%
+\LWR at phantomsection%
\LWRTODONOTES at orig@todototoc%
}
@@ -57019,8 +63233,43 @@
%
%
%
+% \iffalse
+%<*luavlna>
+% \fi
%
+% \part{lwarp-luavlna.sty}
+%
+% \section{luavlna}
+%
+% \credits{Michal Hoftich, Miro Hrončok}
+%
+% \DescribePackage{luavlna}
+% \pkg{luavlna} is patched for use by \pkg{lwarp}.
+%
+% The package is disabled for \HTML\ output, due to incompatibilities with
+% \pkg{lwarp}'s handling of math \SVG\ images.
+%
+% \changes{v0.895}{2020/01/13}{\pkg{luavlna}: Added.}
+%
+% \codehtml
+%
+% \begin{macrocode}
+\LWR at ProvidesPackagePass{luavlna}[2019/10/30]
+% \end{macrocode}
+%
+% \begin{macrocode}
+\preventsingleoff
+\LetLtxMacro\preventsingleon\preventsingleoff
+% \end{macrocode}
+%
% \iffalse
+%</luavlna>
+% \fi
+%
+%
+%
+%
+% \iffalse
%<*lyluatex>
% \fi
%
@@ -57104,7 +63353,7 @@
% This allows for correct spacing in the musical score.
% \changes{v0.74}{2019/08/13}{\pkg{lyluatex}: Adapts to user's geometry.}
% \begin{macrocode}
- \LWR at orignewpage%
+ \LWR at maybe@orignewpage%
\LWR at origloadgeometry{LWR at usergeometry}%
\LWR at print@normalsize%
% \end{macrocode}
@@ -57161,7 +63410,7 @@
% \end{macrocode}
% Move to a new page and renew the regular page geometry:
% \begin{macrocode}
- \LWR at orignewpage%
+ \LWR at maybe@orignewpage%
\LWR at origrestoregeometry%
% \end{macrocode}
% End of the local group.
@@ -57257,7 +63506,7 @@
% \changes{v0.58}{2018/06/13}{Fix: Extra \cs{newpage} to flush pending \cs{index} writes.}
% \begin{macrocode}
\preto\printindex{%
- \LWR at orignewpage%
+ \LWR at maybe@orignewpage%
\LWR at startpars%
}
% \end{macrocode}
@@ -57596,6 +63845,122 @@
%
%
% \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 at 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
+%<*mathastext>
+% \fi
+%
+% \part{lwarp-mathastext.sty}
+%
+% \section{mathastext}
+%
+% \credits{Jean-Fran\c{c}ois Burnol}
+%
+% \DescribePackage{mathastext}
+% \pkg{mathastext} is used as-is for \SVG\ math,
+% and emulated for \brand{MathJax}.
+%
+% \changes{v0.893}{2020/10/14}{\pkg{mathastext}: Added.}
+%
+% \codehtml
+%
+% \begin{macrocode}
+\LWR at ProvidesPackagePass{mathastext}[2019/11/16]
+% \end{macrocode}
+%
+% \begin{macrocode}
+\LWR at origRequirePackage{lwarp-common-mathjax-letters}
+
+\begin{warpMathJax}
+\ifmst at itgreek
+% \LWR at mathjax@addgreek at l@it{}{}
+\else
+ \ifmst at upgreek
+ \LWR at mathjax@addgreek at l@up{}{}
+ \else
+ \ifmst at frenchmath
+ \LWR at mathjax@addgreek at l@up{}{}
+ \else
+ \ifmst at italic
+% \LWR at mathjax@addgreek at l@it{}{}
+ \else
+ \LWR at mathjax@addgreek at l@up{}{}
+ \fi
+ \fi
+ \fi
+\fi
+
+\ifcase\mst at greek@select
+ \or{\LWR at mathjax@addgreek at u@it*{}{}}
+% \or{\LWR at mathjax@addgreek at u@up*{}{}}
+\fi
+
+\CustomizeMathJax{\newcommand{\mathnormalbold}[1]{\boldsymbol{#1}}}
+\CustomizeMathJax{\newcommand{\MathEulerBold}[1]{\boldsymbol{#1}}}
+\CustomizeMathJax{\newcommand{\MathEuler}[1]{{#1}}}
+\CustomizeMathJax{\newcommand{\MathPSymbol}[1]{{#1}}}
+\CustomizeMathJax{\let\fouriervec\vec}
+\CustomizeMathJax{\let\pmvec\vec}
+\CustomizeMathJax{\let\inodot\imath}
+\CustomizeMathJax{\let\jnodot\jmath}
+\CustomizeMathJax{\let\shortiff\iff}
+\CustomizeMathJax{\let\longto\longrightarrow}
+\CustomizeMathJax{\newcommand{\inftypsy}{\mathord{\unicode{x221E}}}}
+\CustomizeMathJax{\newcommand{\proptopsy}{\mathrel{\unicode{x221D}}}}
+\CustomizeMathJax{\let\prodpsy\prod}
+\CustomizeMathJax{\let\sumpsy\sum}
+\CustomizeMathJax{\let\MToriginalprod\prod}
+\CustomizeMathJax{\let\MToriginalsum\sum}
+\CustomizeMathJax{\newcommand{\DotTriangle}{\mathord{\unicode{x2234}}}}
+\end{warpMathJax}
+% \end{macrocode}
+%
+% \iffalse
+%</mathastext>
+% \fi
+%
+%
+%
+%
+% \iffalse
%<*mathcomp>
% \fi
%
@@ -57636,7 +64001,131 @@
%
%
%
+%
% \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}}
+% except \optn{greekuppercase} and \optn{greeklowercase}.
+% The dedicated macros for upright and italic greek letters 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 at ProvidesPackagePass{mathdesign}[2013/08/29]
+% \end{macrocode}
+%
+% For \brand{MathJax}:
+% \begin{macrocode}
+\LWR at origRequirePackage{lwarp-common-mathjax-letters}
+
+\LWR at origRequirePackage{lwarp-common-mathjax-overlaysymbols}
+
+\begin{warpMathJax}
+\LWR at infoprocessingmathjax{mathdesign}
+% \end{macrocode}
+
+% Default greek upright or italicized:
+%
+% \changes{v0.891}{2020/09/06}{\pkg{mathdesign}: Honors \optn{greekuppercase},
+% \optn{greeklowercase}.}
+% \begin{macrocode}
+\if at MD@grupright
+\LWR at mathjax@addgreek at l@up{}{}
+\fi
+
+\if at MD@GRupright
+\else
+\LWR at mathjax@addgreek at u@it*{}{}
+\fi
+% \end{macrocode}
+%
+% Upright:
+% \begin{macrocode}
+\LWR at mathjax@addgreek at l@up{}{up}
+\LWR at mathjax@addgreek at u@up*{}{up}
+% \end{macrocode}
+%
+% Italicized:
+% \begin{macrocode}
+\LWR at mathjax@addgreek at l@it{}{it}
+\LWR at mathjax@addgreek at u@it*{}{it}
+% \end{macrocode}
+%
+% Adapt to \pkg{mathdesign} inconsistency:
+% \begin{macrocode}
+\CustomizeMathJax{\let\digammaup\Digammaup}
+\CustomizeMathJax{\renewcommand{\digammait}{\mathit{\digammaup}}}
+% \end{macrocode}
+%
+% Extra symbols:
+% \changes{v0.891}{2020/09/08}{\pkg{mathdesign}: Added \cs{mathrel}, \cs{mathord}.}
+% \begin{macrocode}
+\CustomizeMathJax{\newcommand{\smallin}{\mathrel{\unicode{x220A}}}}
+\CustomizeMathJax{\newcommand{\smallowns}{\mathrel{\unicode{x220D}}}}
+\CustomizeMathJax{\newcommand{\notsmallin}{\mathrel{\LWRoverlaysymbols{/}{\unicode{x220A}}}}}
+\CustomizeMathJax{\newcommand{\notsmallowns}{\mathrel{\LWRoverlaysymbols{/}{\unicode{x220D}}}}}
+\CustomizeMathJax{\newcommand{\rightangle}{\mathord{\unicode{x221F}}}}
+% \end{macrocode}
+%
+% Integrals:
+% \changes{v0.891}{2020/09/08}{\pkg{mathdesign}: Added \cs{mathop}.}
+% \begin{macrocode}
+\CustomizeMathJax{\newcommand{\intclockwise}{\mathop{\unicode{x2231}}\limits}}
+\CustomizeMathJax{\newcommand{\ointclockwise}{\mathop{\unicode{x2232}}\limits}}
+\CustomizeMathJax{\newcommand{\ointctrclockwise}{\mathop{\unicode{x2233}}\limits}}
+\CustomizeMathJax{\newcommand{\oiint}{\mathop{\unicode{x222F}}\limits}}
+\CustomizeMathJax{\newcommand{\oiiint}{\mathop{\unicode{x2230}}\limits}}
+% \end{macrocode}
+%
+% Math and text mode:
+% \begin{macrocode}
+\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}}}
+% \end{macrocode}
+%
+% Extra symbols:
+% \changes{v0.891}{2020/09/08}{\pkg{mathdesign}: Added \cs{mathinner}, \cs{mathbin}.}
+% \begin{macrocode}
+\CustomizeMathJax{\newcommand{\iddots}{\mathinner{\unicode{x22F0}}}}
+\CustomizeMathJax{\newcommand{\utimes}{\mathbin{\overline{\times}}}}
+\CustomizeMathJax{\newcommand{\dtimes}{\mathbin{\underline{\times}}}}
+\CustomizeMathJax{\newcommand{\udtimes}{\mathbin{\overline{\underline{\times}}}}}
+\CustomizeMathJax{\newcommand{\leftwave}{\left\{}}
+\CustomizeMathJax{\newcommand{\rightwave}{\right\}}}
+
+\end{warpMathJax}
+% \end{macrocode}
+%
+% \iffalse
+%</mathdesign>
+% \fi
+%
+%
+%
+%
+% \iffalse
%<*mathdots>
% \fi
%
@@ -57651,6 +64140,7 @@
% emulated for \brand{MathJax}.
%
% \changes{v0.80}{2020/02/16}{\pkg{mathdots}: Added.}
+% \changes{v0.891}{2020/09/08}{\pkg{mathdots}: Added more macros, \cs{mathinner}.}
%
% \codehtml
%
@@ -57660,7 +64150,15 @@
%
% \begin{macrocode}
\begin{warpMathJax}
-\CustomizeMathJax{\newcommand{\iddots}{\unicode{x22F0}}}
+\CustomizeMathJax{\newcommand{\iddots}{\mathinner{\unicode{x22F0}}}}
+\CustomizeMathJax{\let\fixedddots\ddots}
+\CustomizeMathJax{\let\fixedvdots\vdots}
+\CustomizeMathJax{\let\fixediddots\iddots}
+\CustomizeMathJax{\let\originalddots\ddots}
+\CustomizeMathJax{\let\originalvdots\vdots}
+\CustomizeMathJax{\let\originaliddots\iddots}
+\CustomizeMathJax{\let\originaldddot\dddot}
+\CustomizeMathJax{\let\originalddddot\ddddot}
\end{warpMathJax}
% \end{macrocode}
%
@@ -57688,6 +64186,7 @@
% Greek letters are unchanged.\watchout
%
% \changes{v0.80}{2020/02/09}{\pkg{mathfixs}: Added.}
+% \changes{v0.891}{2020/09/08}{\pkg{mathfixs}: Added \cs{mathinner}.}
%
% \codehtml
%
@@ -57698,7 +64197,7 @@
% \begin{macrocode}
\begin{warpMathJax}
\CustomizeMathJax{\newcommand{\rfrac}[2]{\tfrac{#1}{#2}}}
-\CustomizeMathJax{\newcommand{\vfrac}[2]{{}^{#1}\!/{}_{#2}}}
+\CustomizeMathJax{\newcommand{\vfrac}[2]{\mathinner{{}^{#1}\!/{}_{#2}}}}
\CustomizeMathJax{\newcommand{\ProvideMathFix}[1]{}}
\CustomizeMathJax{\newcommand{\mathbold}[1]{\boldsymbol{#1}}}
\CustomizeMathJax{\newcommand{\.}{\,}}
@@ -57714,6 +64213,234 @@
%
%
% \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 dedicated 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.}
+% \changes{v0.891}{2020/09/06}{\pkg{mathpazo}: Honors \optn{slantedGreek}.}
+%
+% \codehtml
+%
+% \begin{macrocode}
+\LWR at ProvidesPackagePass{mathpazo}[2020/03/25]
+% \end{macrocode}
+%
+% For \brand{MathJax}:
+% \begin{macrocode}
+\LWR at origRequirePackage{lwarp-common-mathjax-letters}
+
+\begin{warpMathJax}
+\LWR at infoprocessingmathjax{mathpazo}
+
+\ifpazo at slGreek
+\LWR at mathjax@addgreek at u@it*{}{}
+\fi
+
+\LWR at mathjax@addgreek at 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 dedicated 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.}
+% \changes{v0.891}{2020/09/06}{\pkg{mathptmx}: Honors \optn{slantedGreek}.}
+%
+% \codehtml
+%
+% \begin{macrocode}
+\LWR at ProvidesPackagePass{mathptmx}[2020/03/25]
+% \end{macrocode}
+%
+% For \brand{MathJax}:
+% \begin{macrocode}
+\LWR at origRequirePackage{lwarp-common-mathjax-letters}
+
+\begin{warpMathJax}
+\LWR at infoprocessingmathjax{mathptmx}
+
+\@ifpackagewith{mathptmx}{slantedGreek}
+ {\LWR at mathjax@addgreek at u@it*{}{}}
+ {}
+
+\LWR at mathjax@addgreek at u@up*{up}{}
+\end{warpMathJax}
+% \end{macrocode}
+%
+% \iffalse
+%</mathptmx>
+% \fi
+%
+%
+%
+%
+% \iffalse
+%<*mathspec>
+% \fi
+%
+% \part{lwarp-mathspec.sty}
+%
+% \section{mathspec}
+%
+% \credits{Andrew Gilbert Moschou}
+%
+% \DescribePackage{mathspec}
+% \pkg{mathspec} is used as-is with \SVG\ math,
+% and is emulated for \brand{MathJax}.
+%
+% Double quotes (\cs{"} and the |"| character)
+% \trouble[quotes]{mathspec=\pkg{mathspec}}
+% are removed during \brand{MathJax} emulation,
+% but this also includes inside \cs{text}.
+%
+% \changes{v0.893}{2020/11/22}{\pkg{mathspec}: Added.}
+%
+% \codehtml
+%
+% \begin{macrocode}
+\LWR at ProvidesPackagePass{mathspec}[2016/12/22]
+% \end{macrocode}
+%
+% \begin{macrocode}
+\LWR at origRequirePackage{lwarp-common-mathjax-letters}
+
+\begin{warpMathJax}
+% \end{macrocode}
+%
+% Neutralize double quotes (|"| and \cs{"}):
+% \begin{macrocode}
+\booltrue{LWR at MathJax@silentquotes}
+% \end{macrocode}
+%
+% Sort options for out Greek emulation:
+% \begin{macrocode}
+\AtBeginDocument{
+\ifcase\eu at GreekUppercase@@value %% If Greek Uppercase Regular
+ \LWR at mathjax@addgreek at u@up*{}{}
+\or %% If Greek Uppercase Italic
+ \LWR at mathjax@addgreek at u@it*{}{}
+\or %% If Greek Uppercase Plain
+ \LWR at mathjax@addgreek at u@up*{}{}
+\fi
+\ifcase\eu at GreekLowercase@@value %% If Greek Lowercase Regular
+ \LWR at mathjax@addgreek at l@up{}{}
+\or %% If Greek Lowercase Italic
+ \LWR at mathjax@addgreek at l@it{}{}
+\or %% If Greek Lowercase Plain
+ \LWR at mathjax@addgreek at l@it{}{}
+\fi
+}
+% \end{macrocode}
+%
+% Swap definitions according the \pkg{mathspec} conditionals:
+% \begin{macrocode}
+\newcommand*{\LWR at mathspec@varforms}{%
+\eu at ifbooltrue{GreekLowercase}{
+ \eu at ifbooltrue{exchangebetaforms}{
+ \CustomizeMathJax{\let\LWRorigbeta\beta}
+ \CustomizeMathJax{\let\beta\varbeta}
+ \CustomizeMathJax{\let\varbeta\LWRorigbeta}
+ }
+ \eu at ifbooltrue{exchangeepsilonforms}{
+ \CustomizeMathJax{\let\LWRorigepsilon\epsilon}
+ \CustomizeMathJax{\let\epsilon\varepsilon}
+ \CustomizeMathJax{\let\varepsilon\LWRorigepsilon}
+ }
+ \eu at ifbooltrue{exchangethetaforms}{
+ \CustomizeMathJax{\let\LWRorigtheta\theta}
+ \CustomizeMathJax{\let\theta\vartheta}
+ \CustomizeMathJax{\let\vartheta\LWRorigtheta}
+ }
+ \eu at ifbooltrue{exchangekappaforms}{
+ \CustomizeMathJax{\let\LWRorigkappa\kappa}
+ \CustomizeMathJax{\let\kappa\varkappa}
+ \CustomizeMathJax{\let\varkappa\LWRorigkappa}
+ }
+ \eu at ifbooltrue{exchangepiforms}{
+ \CustomizeMathJax{\let\LWRorigpi\pi}
+ \CustomizeMathJax{\let\pi\varpi}
+ \CustomizeMathJax{\let\varpi\LWRorigpi}
+ }
+ \eu at ifbooltrue{exchangerhoforms}{
+ \CustomizeMathJax{\let\LWRorigrho\rho}
+ \CustomizeMathJax{\let\rho\varrho}
+ \CustomizeMathJax{\let\varrho\LWRorigrho}
+ }
+ \eu at ifbooltrue{exchangephiforms}{
+ \CustomizeMathJax{\let\LWRorigphi\phi}
+ \CustomizeMathJax{\let\phi\varphi}
+ \CustomizeMathJax{\let\varphi\LWRorigphi}
+ }
+}
+\eu at ifbooltrue{GreekUppercase}{
+ \eu at ifbooltrue{exhangeThetaforms}{
+ \CustomizeMathJax{\let\LWRorigTheta\Theta}
+ \CustomizeMathJax{\let\Theta\varTheta}
+ \CustomizeMathJax{\let\varTheta\LWRorigTheta}
+ }
+}
+}
+% \end{macrocode}
+%
+% Append new action to \pkg{mathspec}'s \cs{AtBeginDocument} code:
+% \begin{macrocode}
+\xapptocmd{\exchangeforms}
+ {\AtBeginDocument{\LWR at mathspec@varforms}}
+ {}
+ {\LWR at patcherror{mathspec}{exchangeforms}}
+
+\end{warpMathJax}
+% \end{macrocode}
+%
+% \iffalse
+%</mathspec>
+% \fi
+%
+%
+%
+%
+% \iffalse
%<*mathtools>
% \fi
%
@@ -57777,6 +64504,9 @@
% For \brand{MathJax}:
%
% \changes{v0.79}{2020/01/26}{\pkg{mathtools}: Added \brand{MathJax} emulation.}
+% \changes{v0.87}{2020/05/20}{\pkg{mathtools}: Updated starred macros.}
+% \changes{v0.87}{2020/05/20}{\pkg{mathtools}: Improved \cs{underbraket}, \cs{overbracket}.}
+% \changes{v0.891}{2020/09/19}{\pkg{mathtools}: Improved \cs{underbraket}, \cs{overbracket}.}
% \begin{macrocode}
\begin{warpMathJax}
\LWR at infoprocessingmathjax{mathtools}
@@ -57794,7 +64524,16 @@
\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}}
@@ -57812,10 +64551,14 @@
\CustomizeMathJax{\Newextarrow\xleftharpoonup{10,10}{0x21bc}}
\CustomizeMathJax{\Newextarrow\xleftrightharpoons{10,10}{0x21cb}}
-\CustomizeMathJax{\newcommand{\LWRdounderbracket}[1]{\underline{#1}}}
+\CustomizeMathJax{\newcommand{\LWRdounderbracket}[3]{%
+ \mathinner{\underset{#3}{\underline{\llcorner{#1}\lrcorner}}}%
+}}
\CustomizeMathJax{\newcommand{\LWRunderbracket}[2][]{\LWRdounderbracket{#2}}}
\CustomizeMathJax{\newcommand{\underbracket}[1][]{\LWRunderbracket}}
-\CustomizeMathJax{\newcommand{\LWRdooverbracket}[1]{\overline{#1}}}
+\CustomizeMathJax{\newcommand{\LWRdooverbracket}[3]{%
+ \mathinner{\overset{#3}{\overline{\ulcorner{#1}\urcorner}}}%
+}}
\CustomizeMathJax{\newcommand{\LWRoverbracket}[2][]{\LWRdooverbracket{#2}}}
\CustomizeMathJax{\newcommand{\overbracket}[1][]{\LWRoverbracket}}
@@ -57863,37 +64606,107 @@
\def\LWRAboxed#1!|!{\fbox{\(#1\)}&\fbox{\(#2\)}}
\newcommand{\Aboxed}[1]{\LWRAboxed#1&&!|!}
}
-
+% \end{macrocode}
+%
+% \changes{v0.86}{2020/05/09}{\pkg{mathtools}: Added \cs{ArrowBetweenLines*}.}
+% \begin{macrocode}
\CustomizeMathJax{
- \newcommand{\ArrowBetweenLines}[1][\Updownarrow]{#1}% no starred
+ \newcommand{\LWRABLines}[1][\Updownarrow]{#1 \notag \\}% star/nostar the same
+ \newcommand{\ArrowBetweenLines}{\ifstar\LWRABLines\LWRABLines}
}
+% \end{macrocode}
+%
+% \changes{v0.85}{2020/05/01}{\pkg{mathtools}: Fixed: \cs{shortintertext}.}
+% \changes{v0.86}{2020/05/09}{\pkg{mathtools}: Added starred delimited macros.}
+% \begin{macrocode}
+\CustomizeMathJax{\newcommand{\shortintertext}[1]{\text{#1}\notag \\}}
-\CustomizeMathJax{\newcommand{\shortintertext}[1]{\\ \text{#1}\notag \\}}
+\CustomizeMathJax{\newcommand{\vdotswithin}[1]{\hspace{.5em}\vdots}}
+% \end{macrocode}
+%
+% \changes{v0.86}{2020/05/09}{\pkg{mathtools}: Added \cs{shortvdotswithin*}.}
+% \begin{macrocode}
+\CustomizeMathJax{\newcommand{\LWRshortvdotswithinstar}[1]{\vdots \hspace{.5em} & \\}}
+\CustomizeMathJax{\newcommand{\LWRshortvdotswithinnostar}[1]{& \hspace{.5em}\vdots \\}}
+\CustomizeMathJax{%
+ \newcommand{\shortvdotswithin}%
+ {\ifstar\LWRshortvdotswithinstar\LWRshortvdotswithinnostar}%
+}
-\CustomizeMathJax{\newcommand{\vdotswithin}[1]{\hspace{.5em}\vdots}}
-\CustomizeMathJax{\newcommand{\shortvdotswithin}[1]{ & \hspace{.5em}\vdots \\}}
\CustomizeMathJax{\newcommand{\MTFlushSpaceAbove}{}}
\CustomizeMathJax{\newcommand{\MTFlushSpaceBelow}{\\}}
-% The following does not create a starred version of the macro:
\LetLtxMacro\LWR at mathtools@orig at DeclarePairedDelimiter\DeclarePairedDelimiter
\renewcommand{\DeclarePairedDelimiter}[3]{
\LWR at mathtools@orig at DeclarePairedDelimiter{#1}{#2}{#3}
- \CustomizeMathJax{\newcommand{#1}[2][]{{##1#2##2##1#3}}}
+% starred:
+ \appto\LWR at customizedMathJax{\LWRbackslash(}
+ \appto\LWR at customizedMathJax{%
+ \LWRbackslash{}newcommand\{\LWRbackslash\macrotocsname{#1}LWRsubstar\}%
+ }%
+ \appto\LWR at customizedMathJax{[2][]}%
+ \appto\LWR at customizedMathJax{\{\{}%
+ \LWR at subcustomizedmathjax{##1\left#2##2##1\right#3}%
+ \appto\LWR at customizedMathJax{\}\}}%
+ \appto\LWR at customizedMathJax{\LWRbackslash)\par}%
+% not starred:
+ \appto\LWR at customizedMathJax{\LWRbackslash(}
+ \appto\LWR at customizedMathJax{%
+ \LWRbackslash{}newcommand\{\LWRbackslash\macrotocsname{#1}LWRsubnostar\}%
+ }%
+ \appto\LWR at customizedMathJax{[2][]}%
+ \appto\LWR at customizedMathJax{\{\{}%
+ \LWR at subcustomizedmathjax{##1#2##2##1#3}%
+ \appto\LWR at customizedMathJax{\}\}}%
+ \appto\LWR at customizedMathJax{\LWRbackslash)\par}%
+% user macro:
+ \appto\LWR at customizedMathJax{\LWRbackslash(}
+ \appto\LWR at customizedMathJax{%
+ \LWRbackslash{}newcommand\{\LWRbackslash{}\macrotocsname{#1}\}%
+ \{\LWRbackslash{}ifstar%
+ \LWRbackslash{}\macrotocsname{#1}LWRsubstar%
+ \LWRbackslash{}\macrotocsname{#1}LWRsubnostar%
+ \}%
+ }%
+ \appto\LWR at customizedMathJax{\LWRbackslash)\par}%
}
\@onlypreamble\DeclareParedDelimiter
% (DeclarePairedDelimiterX is already defined to use \DeclarePairedDelimiterXPP.)
-% The following does not create a starred version of the macro.
\LetLtxMacro\LWR at mathtools@orig at DeclarePairedDelimiterXPP\DeclarePairedDelimiterXPP
\DeclareDocumentCommand{\DeclarePairedDelimiterXPP}{m O{1} m m m m m}{
\LWR at mathtools@orig at DeclarePairedDelimiterXPP{#1}[#2]{#3}{#4}{#5}{#6}{#7}
+% subsubstar, second opt arg
\appto\LWR at customizedMathJax{\LWRbackslash(}%
\appto\LWR at customizedMathJax{%
- \LWRbackslash{}newcommand\{\LWRbackslash\macrotocsname{#1}LWRsub\}%
+ \LWRbackslash{}newcommand\{\LWRbackslash\macrotocsname{#1}LWRsubsubstar\}%
}%
\appto\LWR at customizedMathJax{[#2]}%
+ \appto\LWR at customizedMathJax{\{\{\LWRbackslash{}left}%
+ \LWR at subcustomizedmathjax{#3#4#7}%
+ \appto\LWR at customizedMathJax{\LWRbackslash{}right}%
+ \LWR at subcustomizedmathjax{#5#6}%
+ \appto\LWR at customizedMathJax{\}\}}%
+ \appto\LWR at customizedMathJax{\LWRbackslash)\par}%
+% substar, first opt arg
+ \appto\LWR at customizedMathJax{\LWRbackslash(}%
+ \appto\LWR at customizedMathJax{%
+ \LWRbackslash{}newcommand\{\LWRbackslash\macrotocsname{#1}LWRsubstar\}[1][]%
+ }%
+ \appto\LWR at customizedMathJax{%
+ \{
+ \LWRbackslash{}def\LWRbackslash{}delimsize\{\#1\}
+ \LWRbackslash\macrotocsname{#1}LWRsubsubstar
+ \}%
+ }%
+ \appto\LWR at customizedMathJax{\LWRbackslash)\par}%
+% subsubnostar, second opt arg
+ \appto\LWR at customizedMathJax{\LWRbackslash(}%
+ \appto\LWR at customizedMathJax{%
+ \LWRbackslash{}newcommand\{\LWRbackslash\macrotocsname{#1}LWRsubsubnostar\}%
+ }%
+ \appto\LWR at customizedMathJax{[#2]}%
\appto\LWR at customizedMathJax{\{\{\LWRbackslash{}delimsize}%
\LWR at subcustomizedmathjax{#3#4#7}%
\appto\LWR at customizedMathJax{\LWRbackslash{}delimsize}%
@@ -57900,17 +64713,30 @@
\LWR at subcustomizedmathjax{#5#6}%
\appto\LWR at customizedMathJax{\}\}}%
\appto\LWR at customizedMathJax{\LWRbackslash)\par}%
+% subnostar, first opt arg
\appto\LWR at customizedMathJax{\LWRbackslash(}%
\appto\LWR at customizedMathJax{%
- \LWRbackslash{}newcommand\{\LWRbackslash\macrotocsname{#1}\}[1][]%
+ \LWRbackslash{}newcommand\{\LWRbackslash\macrotocsname{#1}LWRsubnostar\}[1][]%
}%
\appto\LWR at customizedMathJax{%
\{
\LWRbackslash{}def\LWRbackslash{}delimsize\{\#1\}
- \LWRbackslash\macrotocsname{#1}LWRsub
+ \LWRbackslash\macrotocsname{#1}LWRsubsubnostar
\}%
}%
\appto\LWR at customizedMathJax{\LWRbackslash)\par}%
+% user macro:
+ \appto\LWR at customizedMathJax{\LWRbackslash(}
+ \appto\LWR at customizedMathJax{%
+ \LWRbackslash{}newcommand\{%
+ \LWRbackslash{}\macrotocsname{#1}%
+ \}%
+ \{\LWRbackslash{}ifstar%
+ \LWRbackslash{}\macrotocsname{#1}LWRsubstar%
+ \LWRbackslash{}\macrotocsname{#1}LWRsubnostar%
+ \}%
+ }%
+ \appto\LWR at customizedMathJax{\LWRbackslash)\par}%
}
\@onlypreamble\DeclareParedDelimiterXPP
\@onlypreamble\DeclareParedDelimiterX
@@ -57917,28 +64743,35 @@
\CustomizeMathJax{\newcommand\lparen{(}}
\CustomizeMathJax{\newcommand\rparen{)}}
-\CustomizeMathJax{\newcommand{\vcentcolon}{:}}
\CustomizeMathJax{\newcommand{\ordinarycolon}{:}}
+% \end{macrocode}
+% \changes{v0.89}{2020/08/21}{\pkg{mathtools}: Minor improvements.}
+% \changes{v0.891}{2020/09/08}{\pkg{mathtools}: Uses Unicode and \cs{mathrel}.}
+% \begin{macrocode}
+\CustomizeMathJax{\newcommand{\vcentcolon}{\mathrel{\unicode{x2236}}}}
-\CustomizeMathJax{\newcommand\dblcolon{\vcentcolon\vcentcolon}}
-\CustomizeMathJax{\newcommand\coloneqq{\vcentcolon=}}
-\CustomizeMathJax{\newcommand\Coloneqq{\dblcolon=}}
-\CustomizeMathJax{\newcommand\coloneq{\vcentcolon{-}}}
-\CustomizeMathJax{\newcommand\Coloneq{\dblcolon{-}}}
+\CustomizeMathJax{\newcommand\dblcolon{\mathrel{\unicode{x2237}}}}
+\CustomizeMathJax{\newcommand\coloneqq{\mathrel{\unicode{x2236}\!=}}}
+\CustomizeMathJax{\newcommand\Coloneqq{\mathrel{\unicode{x2237}\!=}}}
+\CustomizeMathJax{\newcommand\coloneq{\mathrel{\unicode{x2236}-}}}
+\CustomizeMathJax{\newcommand\Coloneq{\mathrel{\unicode{x2237}-}}}
-\CustomizeMathJax{\newcommand\eqqcolon{=\vcentcolon}}
-\CustomizeMathJax{\newcommand\Eqqcolon{=\dblcolon}}
-\CustomizeMathJax{\newcommand\eqcolon{\mathrel{-}\vcentcolon}}
-\CustomizeMathJax{\newcommand\Eqcolon{\mathrel{-}\dblcolon}}
+\CustomizeMathJax{\newcommand\eqqcolon{\mathrel{=\!\unicode{x2236}}}}
+\CustomizeMathJax{\newcommand\Eqqcolon{\mathrel{=\!\unicode{x2237}}}}
+\CustomizeMathJax{\newcommand\eqcolon{\mathrel{-\unicode{x2236}}}}
+\CustomizeMathJax{\newcommand\Eqcolon{\mathrel{-\unicode{x2237}}}}
-\CustomizeMathJax{\newcommand\colonapprox{\vcentcolon\approx}}
-\CustomizeMathJax{\newcommand\Colonapprox{\dblcolon\approx}}
-\CustomizeMathJax{\newcommand\colonsim{\vcentcolon\sim}}
-\CustomizeMathJax{\newcommand\Colonsim{\dblcolon\sim}}
+\CustomizeMathJax{\newcommand\colonapprox{\mathrel{\unicode{x2236}\!\approx}}}
+\CustomizeMathJax{\newcommand\Colonapprox{\mathrel{\unicode{x2237}\!\approx}}}
+\CustomizeMathJax{\newcommand\colonsim{\mathrel{\unicode{x2236}\!\sim}}}
+\CustomizeMathJax{\newcommand\Colonsim{\mathrel{\unicode{x2237}\!\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}}
@@ -57969,7 +64802,170 @@
%
%
%
+%
% \iffalse
+%<*mattens>
+% \fi
+%
+% \part{lwarp-mattens.sty}
+%
+% \section{mattens}
+%
+% \credits{Danie Els}
+%
+% \DescribePackage{mattens}
+% \pkg{mattens} is used as-is for \SVG\ math,
+% and is emulated for \brand{MathJax}.
+%
+% \changes{v0.895}{2021/02/11}{\pkg{mattens}: Added.}
+%
+% \codehtml
+%
+% \begin{macrocode}
+\LWR at ProvidesPackagePass{mattens}[2010/03/26]
+% \end{macrocode}
+%
+% \begin{macrocode}
+\begin{warpMathJax}
+\CustomizeMathJax{\newcommand{\LWRmattensnull}{}}
+
+\CustomizeMathJax{\newcommand{\LWRmattensnostar}[2][]{%
+ {#1{\LWRmattensundercmd{\LWRmattensovercmd{\LWRmattenscross{\boldsymbol{#2}}}}}}%
+}}
+
+\CustomizeMathJax{\newcommand{\LWRmattensstar}[2][]{%
+ {#1{\LWRmattensundercmd{\LWRmattensovercmd{\LWRmattenscross{#2}}}}}%
+}}
+
+\CustomizeMathJax{\newcommand{\LWRmattens}{
+ \ifstar\LWRmattensstar\LWRmattensnostar%
+}}
+
+\CustomizeMathJax{\newcommand{\aS}{%
+ \let\LWRmattenscross\LWRmattensnull%
+ \let\LWRmattensovercmd\overrightarrow%
+ \let\LWRmattensundercmd\LWRmattensnull%
+ \LWRmattens%
+}}
+
+\CustomizeMathJax{\newcommand{\Sa}{%
+ \let\LWRmattenscross\LWRmattensnull%
+ \let\LWRmattensovercmd\underrightarrow%
+ \let\LWRmattensundercmd\LWRmattensnull%
+ \LWRmattens%
+}}
+
+\CustomizeMathJax{\newcommand{\bS}{%
+ \let\LWRmattenscross\LWRmattensnull%
+ \let\LWRmattensovercmd\overline%
+ \let\LWRmattensundercmd\LWRmattensnull%
+ \LWRmattens%
+}}
+
+\CustomizeMathJax{\newcommand{\Sb}{%
+ \let\LWRmattenscross\LWRmattensnull%
+ \let\LWRmattensovercmd\underline%
+ \let\LWRmattensundercmd\LWRmattensnull%
+ \LWRmattens%
+}}
+
+\CustomizeMathJax{\newcommand{\aSa}{%
+ \let\LWRmattenscross\LWRmattensnull%
+ \let\LWRmattensovercmd\overrightarrow%
+ \let\LWRmattensundercmd\underrightarrow%
+ \LWRmattens%
+}}
+
+\CustomizeMathJax{\newcommand{\aSb}{%
+ \let\LWRmattenscross\LWRmattensnull%
+ \let\LWRmattensovercmd\overrightarrow%
+ \let\LWRmattensundercmd\underline%
+ \LWRmattens%
+}}
+
+\CustomizeMathJax{\newcommand{\bSa}{%
+ \let\LWRmattenscross\LWRmattensnull%
+ \let\LWRmattensovercmd\overline%
+ \let\LWRmattensundercmd\underrightarrow%
+ \LWRmattens%
+}}
+
+\CustomizeMathJax{\newcommand{\bSb}{%
+ \let\LWRmattenscross\LWRmattensnull%
+ \let\LWRmattensovercmd\overline%
+ \let\LWRmattensundercmd\underline%
+ \LWRmattens%
+}}
+
+\CustomizeMathJax{\newcommand{\aCSa}{%
+ \let\LWRmattenscross\tilde%
+ \let\LWRmattensovercmd\overrightarrow%
+ \let\LWRmattensundercmd\underrightarrow%
+ \LWRmattens%
+}}
+
+\CustomizeMathJax{\newcommand{\bCSb}{%
+ \let\LWRmattenscross\tilde%
+ \let\LWRmattensovercmd\overline%
+ \let\LWRmattensundercmd\underline%
+ \LWRmattens%
+}}
+\end{warpMathJax}
+% \end{macrocode}
+%
+% \iffalse
+%</mattens>
+% \fi
+%
+%
+%
+% \iffalse
+%<*maybemath>
+% \fi
+%
+% \part{lwarp-maybemath.sty}
+%
+% \section{maybemath}
+%
+% \credits{Andy Buckley}
+%
+% \DescribePackage{maybemath}
+% \pkg{maybemath} is used as-is for \SVG\ math,
+% and is emulated for \brand{MathJax}.
+%
+% \brand{MathJax} is not able to detect the surrounding text font,
+% \trouble[no effect]{maybemath=\pkg{maybemath}}
+% so all \pkg{maybemath} macros are ignored.
+%
+% \changes{v0.0.895}{2021/01/08}{\pkg{maybemath}: Added.}
+%
+% \codehtml
+%
+% \begin{macrocode}
+\LWR at ProvidesPackagePass{maybemath}[2005/2/22]
+% \end{macrocode}
+%
+% \begin{macrocode}
+\begin{warpMathJax}
+\CustomizeMathJax{\newcommand{\mayberm}[1]{{#1}}}
+\CustomizeMathJax{\let\maybebm\mayberm}
+\CustomizeMathJax{\let\maybeit\mayberm}
+\CustomizeMathJax{\let\maybeitrm\mayberm}
+\CustomizeMathJax{\let\maybeitsubscript\mayberm}
+\CustomizeMathJax{\let\maybesf\mayberm}
+\CustomizeMathJax{\let\maybebmsf\mayberm}
+\end{warpMathJax}
+% \end{macrocode}
+%
+% \iffalse
+%</maybemath>
+% \fi
+%
+%
+%
+%
+%
+% \iffalse
%<*mcaption>
% \fi
@@ -58138,6 +65134,11 @@
\newcommand*{\LWR at mdframedstart}{%
\LWR at traceinfo{LWR at mdframedstart start}%
% \end{macrocode}
+% Warn if starting a frame inside a \element{span}:
+% \changes{v0.84}{2020/04/22}{\pkg{mdframed}: Warn inside a \element{span}.}
+% \begin{macrocode}
+ \LWR at spanwarninvalid{mdframe}%
+% \end{macrocode}
% Turn off paragraph handling during the generation of
% the encapsulating tags:
% \begin{macrocode}
@@ -58147,12 +65148,13 @@
% A \env{BlockClass} environment is not used because this \element{div} is
% created by the \pkg{mdframed} \optn{startcode} and \optn{endcode} settings,
% which do not properly nest the \element{div} inside the \env{mdframed} environment.
+% \changes{v0.895}{2021/01/14}{Improved \HTML\ quotes.}
% \begin{macrocode}
-\LWR at htmltagc{div class="%
+\LWR at htmltagc{div class=\textquotedbl%
mdframed%
\ifdefstring{\LWR at mdthisenv}{mdframed}{}{ \LWR at mdthisenv}%
-" \LWR at orignewline
-style=" \LWR at orignewline
+\textquotedbl \LWR at orignewline
+style=\textquotedbl\LWR at orignewline
% \end{macrocode}
% Convert and print the background color:
% \begin{macrocode}
@@ -58180,7 +65182,7 @@
\LWR at orignewline
% \end{macrocode}
% \begin{macrocode}
-"}
+\textquotedbl}
% \LWR at htmldivclass{\LWR at mdthisenv}
% \end{macrocode}
% \env{mdframed} environment may not work with the \HTML\ versions of the following,
@@ -58599,8 +65601,46 @@
% \addtocontents{toc}{\protect\setcounter{tocdepth}{0}}
%
%
+% \iffalse
+%<*mdwmath>
+% \fi
%
+% \part{lwarp-mdwmath.sty}
+%
+% \section{mdwmath}
+%
+% \credits{Mark Wooding}
+%
+% \DescribePackage{mdwmath}
+% \pkg{mdwmath} is used as-is for \SVG\ math, and
+% is emulated for \brand{MathJax}.
+%
+% \changes{v0.895}{2021/01/11}{\pkg{mdwmath}: Added.}
+%
+% \codehtml
+%
+% \begin{macrocode}
+\LWR at ProvidesPackagePass{mdwmath}[1996/04/11]
+% \end{macrocode}
+%
+% \begin{macrocode}
+\begin{warpMathJax}
+\CustomizeMathJax{\let\LWRmdwmathsqrt\sqrt}
+\CustomizeMathJax{\renewcommand{\sqrt}{\ifstar\LWRmdwmathsqrt\LWRmdwmathsqrt}}
+\CustomizeMathJax{\newcommand{\bitand}{\mathbin\&}}
+\CustomizeMathJax{\def\bitor{\mathbin\mid}}
+\CustomizeMathJax{\def\dblor{\mathbin{\mid\mid}}}
+\CustomizeMathJax{\def\dbland{\mathbin{\mathrel\bitand\mathrel\bitand}}}
+\end{warpMathJax}
+% \end{macrocode}
+%
% \iffalse
+%</mdwmath>
+% \fi
+%
+%
+%
+% \iffalse
%<*media9>
% \fi
%
@@ -58752,9 +65792,66 @@
%
%
%
+% \iffalse
+%<*menukeys>
+% \fi
%
+% \part{lwarp-menukeys.sty}
%
+% \section{menukeys}
+%
+% \credits{Tobias Weh}
+%
+% \DescribePackage{menukeys}
+% \pkg{menukeys} is patched for use by \pkg{lwarp}.
+%
+% \changes{v0.893}{2020/11/07}{\pkg{menukeys}: Added.}
+%
+% \codehtml
+%
+% \begin{macrocode}
+\LWR at ProvidesPackagePass{menukeys}[2020/12/19]
+% \end{macrocode}
+%
+% Patch to use a \env{lateximage} whose \attribute{alt} text
+% is the contents of this use of the macro.
+% A hash on these contents allows the reuse of the image for
+% each instance of the same contents.
+% \changes{v0.893}{2020/12/24}{\pkg{menukeys}: Updated to v1.6.1.}
+% \begin{macrocode}
+\xpatchcmd{\tw at define@menu at macro@}
+ {\@nameuse{tw at style@#4 at pre}}
+ {%
+ \begin{lateximage}*[\detokenize{##2}]%
+ \@nameuse{tw at style@#4 at pre}%
+ }
+ {}
+ {\LWR at patcherror{menukeys}{tw at define@menu at macro@}}
+
+\xpatchcmd{\tw at define@menu at macro@}
+ {\@nameuse{tw at style@#4 at post}}
+ {%
+ \@nameuse{tw at style@#4 at post}%
+ \end{lateximage}%
+ }
+ {}
+ {\LWR at patcherror{menukeys}{tw at define@menu at macro@ B}}
+% \end{macrocode}
+%
+% Patch the existing macros:
+% \begin{macrocode}
+\renewmenumacro{\menu}[>]{menus}
+\renewmenumacro{\directory}[/]{paths}
+\renewmenumacro{\keys}[+]{roundedkeys}
+% \end{macrocode}
+%
% \iffalse
+%</menukeys>
+% \fi
+%
+%
+%
+% \iffalse
%<*metalogo>
% \fi
%
@@ -58863,15 +65960,9 @@
% \begin{sourceverb}
% $\ce{C6H5-CHO}$
% \end{sourceverb}
-%
-% If \emph{not} used inside a math expression, \pkg{lwarp} converts standalone \pkg{mhchem}
-% \marginpar{not inside math}
-% expressions into \SVG\ math images.
-%
-% If the \brand{MathJax} \pkg{mhchem} extension is not used,
-% \margintag{\brand{MathJax} without \pkg{mhchem} extension}
-% expressions inside math must be placed
-% between \cs{displaymathother} and \cs{displaymathnormal}:
+% To force the use of \SVG\ math for an expression which does not work with
+% \brand{MathJax},
+% place the expression between \cs{displaymathother} and \cs{displaymathnormal}:
% \begin{sourcedisplay}
% \cs{displaymathother} \\
% \cs{[} \cs{ce}\{ \dots\ \} \cs{]} \qquad \dots \qquad \$ \cs{ce} \{ \dots\ \} \$ \\
@@ -58878,6 +65969,10 @@
% \cs{displaymathnormal}
% \end{sourcedisplay}
%
+% If \emph{not} used inside a math expression, \pkg{lwarp} converts standalone \pkg{mhchem}
+% \marginpar{not inside math}
+% expressions into \SVG\ math images.
+%
% When producing \HTML\ output without the \brand{MathJax} \pkg{mhchem} extension,
% \pkg{lwarp} does not support
% \trouble[nested math]{mhchem=\pkg{mhchem}>nested dollar signs}
@@ -58905,6 +66000,7 @@
%
% \changes{v0.51}{2018/03/04}{\pkg{mhchem}: Added.}
% \changes{v0.74}{2019/08/26}{\pkg{mhchem}: Modified for new \env{lateximage}.}
+% \changes{v0.87}{2020/06/02}{\pkg{mhchem}: Now uses \brand{MathJax} v3 extension.}
%
% \codehtml
%
@@ -59016,6 +66112,10 @@
\LetLtxMacro\ce\LWR at mhchem@origce%
\LetLtxMacro\cesplit\LWR at mhchem@origcesplit%
}
+
+\begin{warpMathJax}
+\CustomizeMathJax{\require{mhchem}}
+\end{warpMathJax}
% \end{macrocode}
% \iffalse
@@ -59255,6 +66355,85 @@
%
%
% \iffalse
+%<*minted>
+% \fi
+%
+% \part{lwarp-minted.sty}
+%
+% \section{minted}
+%
+% \credits{Geoffrey M. Poore}
+%
+% \DescribePackage{minted}
+% \pkg{minted} is patched for use by \pkg{lwarp}.
+%
+%
+% \optn{mathescape} and \optn{highlightlines} don't work.
+% \trouble[limitations]{minted=\pkg{minted}}
+% Line numbers on the right will not be aligned.
+% Due to \prog{pdftotext}, extra spaces may appear in broken lines
+% if other formatting is included.
+%
+% \changes{v0.892}{2020/10/07}{\pkg{minted}: Added.}
+%
+% \codehtml
+%
+% \begin{macrocode}
+\LWR at ProvidesPackagePass{minted}[2017/07/19]
+% \end{macrocode}
+%
+% \begin{macrocode}
+\xpatchcmd{\minted}
+ {\setkeys{minted at opt@cmd}{#1}}
+ {%
+ \setkeys{minted at opt@cmd}{%
+ #1,%
+ mathescape=false,breaklines,texcomments=false,highlightlines={}%
+ }%
+ }
+ {}
+ {\LWR at patcherror{minted}{minted}}
+
+\xpatchcmd{\mintinline}
+ {\setkeys{minted at opt@cmd}{#1}}
+ {\setkeys{minted at opt@cmd}{%
+ #1,%
+ mathescape=false,breaklines,texcomments=false,highlightlines={}%
+ }%
+ }
+ {}
+ {\LWR at patcherror{minted}{mintinline}}
+
+\xpatchcmd{\mint}
+ {\setkeys{minted at opt@cmd}{#1}}
+ {%
+ \setkeys{minted at opt@cmd}{%
+ #1,%
+ mathescape=false,breaklines,texcomments=false,highlightlines={}%
+ }%
+ }
+ {}
+ {\LWR at patcherror{minted}{mint}}
+
+\xpatchcmd{\inputminted}
+ {\setkeys{minted at opt@cmd}{#1}}
+ {\setkeys{minted at opt@cmd}{%
+ #1,%
+ mathescape=false,breaklines,texcomments=false,highlightlines={}%
+ }%
+ }
+ {}
+ {\LWR at patcherror{minted}{inputminted}}
+% \end{macrocode}
+%
+% \iffalse
+%</minted>
+% \fi
+%
+%
+%
+%
+% \iffalse
%<*mismath>
% \fi
%
@@ -59292,6 +66471,7 @@
% \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
%
@@ -59351,48 +66531,48 @@
\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{\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{\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{\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{\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{\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{\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{\newcommand{\bigO}{\mathcal{O}}}
-\CustomizeMathJax{\newcommand{\bigo}{\mathrm{O}}}
-\CustomizeMathJax{\newcommand{\lito}{\mathrm{o}}}
+\CustomizeMathJax{\DeclareMathOperator{\bigO}{\mathcal{O}}}
+\CustomizeMathJax{\DeclareMathOperator{\bigo}{O}}
+\CustomizeMathJax{\DeclareMathOperator{\lito}{o}}
\CustomizeMathJax{\newcommand{\R}{\mathset{R}}}
\CustomizeMathJax{\newcommand{\C}{\mathset{C}}}
@@ -59476,8 +66656,43 @@
%
%
%
+% \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 at 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>
% \fi
%
@@ -59520,22 +66735,18 @@
% \changes{v0.34}{2017/08/02}{\pkg{moreverb}: Added.}
% \changes{v0.42}{2017/10/27}{\pkg{moreverb}: Simplified formatting of listings.}
%
-% \codehtml
% \begin{macrocode}
-\begin{warpHTML}
-% \end{macrocode}
-%
-% \begin{macrocode}
\LWR at ProvidesPackagePass{moreverb}[2008/06/03]
% \end{macrocode}
%
+%
% \begin{macrocode}
\BeforeBeginEnvironment{verbatimtab}{%
\LWR at forcenewpage
-\LWR at atbeginverbatim{3}{Verbatim}%
+\LWR at atbeginverbatim{Verbatim}%
}
\AfterEndEnvironment{verbatimtab}{%
-\LWR at afterendverbatim{1}%
+\LWR at afterendverbatim%
}
@@ -59543,27 +66754,27 @@
\renewcommand{\@verbatimtabinput}[2][]{%
\LWR at forcenewpage
-\LWR at atbeginverbatim{3}{Verbatim}%
+\LWR at atbeginverbatim{Verbatim}%
\LWRMV at orig@verbatimtabinput[#1]{#2}%
-\LWR at afterendverbatim{1}%
+\LWR at afterendverbatim%
}
\BeforeBeginEnvironment{listing}{%
\LWR at forcenewpage
-\LWR at atbeginverbatim{3}{programlisting}%
+\LWR at atbeginverbatim{programlisting}%
}
\AfterEndEnvironment{listing}{%
-\LWR at afterendverbatim{1}%
+\LWR at afterendverbatim%
}
\BeforeBeginEnvironment{listingcont}{%
\LWR at forcenewpage
-\LWR at atbeginverbatim{3}{programlisting}%
+\LWR at atbeginverbatim{programlisting}%
}
\AfterEndEnvironment{listingcont}{%
-\LWR at afterendverbatim{1}%
+\LWR at afterendverbatim%
}
% \end{macrocode}
@@ -59592,9 +66803,9 @@
\renewcommand{\@listinginput}[3][]{
\LWR at forcenewpage
-\LWR at atbeginverbatim{3}{programlisting}%
+\LWR at atbeginverbatim{programlisting}%
\LWRMV@@listinginput[#1]{#2}{#3}%
-\LWR at afterendverbatim{1}%
+\LWR at afterendverbatim%
}
@@ -59601,19 +66812,15 @@
\renewenvironment*{boxedverbatim}
{
\LWR at forcenewpage
-\LWR at atbeginverbatim{3}{boxedverbatim}%
+\LWR at atbeginverbatim{boxedverbatim}%
\verbatim%
}
{
\endverbatim%
-\LWR at afterendverbatim{1}%
+\LWR at afterendverbatim%
}
% \end{macrocode}
%
-% \begin{macrocode}
-\end{warpHTML}
-% \end{macrocode}
-%
% \iffalse
%</moreverb>
% \fi
@@ -59705,8 +66912,44 @@
%
%
%
+% \iffalse
+%<*multibib>
+% \fi
%
+% \part{lwarp-multibib.sty}
+%
+% \section{multibib}
+%
+% \credits{Thorsten Hansen}
+%
+% \DescribePackage{multibib}
+% \pkg{multibib} is patched for use by \pkg{lwarp}.
+%
+% \changes{v0.87}{2020/05/17}{\pkg{multibib}: Added.}
+%
+% \codehtml
+%
+% \begin{macrocode}
+\LWR at ProvidesPackagePass{multibib}[2008/12/10]
+% \end{macrocode}
+%
+% \begin{macrocode}
+\xpatchcmd{\newcites}
+ {{\@suffix}}
+ {{\@suffix_html}}
+ {}
+ {\LWR at patcherror{multibib}{newcites}}
+% \end{macrocode}
+%
% \iffalse
+%</multibib>
+% \fi
+%
+%
+%
+%
+%
+% \iffalse
%<*multicap>
% \fi
%
@@ -59767,9 +67010,6 @@
%
% The content is placed inside a \element{div} of class |multicols|.
-% \begin{macrocode}
-\begin{warpHTML}
-% \end{macrocode}
% \begin{noindenvironment}{multicols} * \marg{numcols} \oarg{heading}
% \begin{macrocode}
@@ -59829,9 +67069,6 @@
}
% \end{macrocode}
-% \begin{macrocode}
-\end{warpHTML}
-% \end{macrocode}
% \iffalse
%</multicol>
@@ -59941,8 +67178,11 @@
\CustomizeMathJax{\newcommand{\negdom}{\not\prec}}
\CustomizeMathJax{\newcommand{\weakdom}{\preccurlyeq}}
\CustomizeMathJax{\newcommand{\negweakdom}{\not\preccurlyeq}}
-\CustomizeMathJax{\newcommand{\strictdom}{\prec\!\!\!\prec}}
-\CustomizeMathJax{\newcommand{\negstrictdom}{\not\prec\!\!\!\prec}}
+% \end{macrocode}
+% \changes{v0.891}{2020/09/08}{\pkg{multiobjective}: Improved.}
+% \begin{macrocode}
+\CustomizeMathJax{\newcommand{\strictdom}{\mathord{\prec}\!\!\!\mathord{\prec}}}
+\CustomizeMathJax{\newcommand{\negstrictdom}{\mathord{\not\prec}\!\!\!\mathord{\prec}}}
\CustomizeMathJax{\newcommand{\multepsilondom}{\preccurlyeq_{\epsilon\cdot}}}
\CustomizeMathJax{\newcommand{\addiepsilondom}{\preccurlyeq_{\epsilon +}}}
\CustomizeMathJax{\newcommand{\better}{\triangleleft}}
@@ -59992,8 +67232,7 @@
%
% \limitsmultirow
%
-% In a \env{lateximage}, \cs{LWR at restoreorigformatting}
-% restores the original print-mode versions.
+% In a \env{lateximage}, the print versions are restored.
%
% See \cref{sec:printmultirow} for the print-mode versions.
%
@@ -60005,7 +67244,7 @@
% \end{macrocode}
%
% \begin{macrocode}
-\LWR at ProvidesPackagePass{multirow}[2018/08/03]
+\LWR at ProvidesPackagePass{multirow}[2021/01/29]
% \end{macrocode}
%
%
@@ -60020,6 +67259,12 @@
%
% \subsection{Multirow}
%
+% \begin{noindmacro}{\LWR at multirow@par} \cs{par} inside a \cs{multirow}.
+% \begin{macrocode}
+\newcommand*{\LWR at multirow@par}{\LWR at htmltag{br /}\LWR at origpar}%
+% \end{macrocode}
+% \end{noindmacro}
+%
% \DescribeMacro{\multirow}
% \oarg{vpos} \marg{numrows} \oarg{bigstruts} \marg{width} \oarg{fixup} \marg{text}
% \changes{v0.19}{2015/05/28}{\pkg{multirow}: Added optional args.}
@@ -60044,26 +67289,13 @@
\LWR at tabularleftedge%
% \end{macrocode}
% Print the start of a new table data cell:
+% \changes{v0.895}{2021/01/14}{Improved \HTML\ quotes.}
% \begin{macrocode}
-\LWR at htmltag{td rowspan="#2" %
+\LWR at htmltag{td rowspan=\textquotedbl#2\textquotedbl\ %
% \end{macrocode}
-% The vertical alignment, if given:
-% \changes{v0.79}{2020/01/17}{\pkg{multirow}: Fix: Centered vertical alignment.}
-% \begin{macrocode}
-\ifstrequal{#1}{c}{style="\LWR at print@mbox{vertical-align:middle}" }{}%
-\ifstrequal{#1}{b}{style="\LWR at print@mbox{vertical-align:bottom}" }{}%
-\ifstrequal{#1}{t}{style="\LWR at print@mbox{vertical-align:top}" }{}%
-% \end{macrocode}
-% The left/right border, if given:
-% \begin{macrocode}
-\ifdefvoid{\LWR at multirowborder}{}{%
-style="\LWR at print@mbox{border-\LWR at multirowborder:} 2px dotted black ; %
-\LWR at print@mbox{padding-\LWR at multirowborder:} 2px" %
-}%
-% \end{macrocode}
% A class adds the column spec and the rule:
% \begin{macrocode}
-class="td%
+class=\textquotedbl{}td%
% \end{macrocode}
% Append this column's spec:
% \changes{v0.60}{2018/09/17}{\env{tabular}: Improved memory management: Not using \pkg{xstring}.}
@@ -60077,11 +67309,32 @@
\LWR at addcmidruletrim%
\LWR at addleftmostbartag%
\LWR at printbartag{\arabic{LWR at tableLaTeXcolindex}}%
-"%
+\textquotedbl%
% \end{macrocode}
% \changes{v0.42}{2017/10/26}{\pkg{multirow}: If \progcode{FormatWP} add cell alignment.}
% \begin{macrocode}
\LWR at tdstartstyles%
+% \end{macrocode}
+% The vertical alignment, if given:
+% \changes{v0.79}{2020/01/17}{\pkg{multirow}: Fix: Centered vertical alignment.}
+% \changes{v0.84}{2020/04/16}{Fix: Multirow style.}
+% \begin{macrocode}
+\ifstrequal{#1}{c}{\LWR at tdaddstyle\LWR at print@mbox{vertical-align:middle}}{}%
+\ifstrequal{#1}{b}{\LWR at tdaddstyle\LWR at print@mbox{vertical-align:bottom}}{}%
+\ifstrequal{#1}{t}{\LWR at tdaddstyle\LWR at print@mbox{vertical-align:top}}{}%
+% \end{macrocode}
+% The left/right border, if given:
+% \changes{v0.84}{2020/04/16}{Fix: Multirow style.}
+% \begin{macrocode}
+\ifdefvoid{\LWR at multirowborder}{}{%
+ \LWR at tdaddstyle%
+ \LWR at print@mbox{border-\LWR at multirowborder:} 2px dotted black ; %
+ \LWR at print@mbox{padding-\LWR at multirowborder:} 2px%
+}%
+% \end{macrocode}
+%
+% Additional style elements:
+% \begin{macrocode}
\LWR at addcmidrulewidth%
\LWR at addcdashline%
\LWR at addtabularrulecolors%
@@ -60093,9 +67346,22 @@
% \begin{macrocode}
\LWR at getexparray{LWR at colbeforespec}{\arabic{LWR at tableLaTeXcolindex}}%
% \end{macrocode}
-% While printing the text, redefine |\\| to generate a new line
+%
+% While printing the text, redefine |\\| to generate a new line.
+% If a nested \env{tabular} occurs, |\\| is redefined to
+% \cs{LWR at tabularendofline} at the start of the \env{tabular}, then
+% \cs{LWR at endofline} before again printing any
+% \cs{multirow} contents inside the nested \env{tabular}.
+%
+% \cs{par} is redefined to insert an \HTML\ break, and if \env{tabular}
+% is nested, it is redefined at the start of \env{tabular}.
+% \changes{v0.895}{2021/01/31}{Allow \cs{par}.}
% \begin{macrocode}
-\begingroup\LetLtxMacro{\\}{\LWR at endofline}#6\endgroup%
+\begingroup%
+ \LetLtxMacro{\\}{\LWR at endofline}%
+ \let\par\LWR at multirow@par%
+ #6%
+\endgroup%
\LWR at stoppars%
\boolfalse{LWR at intabularmetadata}%
\renewcommand{\LWR at multirowborder}{}%
@@ -60752,14 +68018,26 @@
\newcommand*{\LWR at nccmath@eqs}[2][]{\begin{eqnarray}#2\end{eqnarray}}
\begin{warpMathJax}
-\CustomizeMathJax{\renewcommand{\intertext}[2][]{\\ \text{#2}\notag \\}}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\CustomizeMathJax{\renewcommand{\intertext}[2][]{\text{#2}\notag \\}}
\CustomizeMathJax{\newenvironment{fleqn}[1][]{}{}}
\CustomizeMathJax{\newenvironment{ceqn}{}{}}
\CustomizeMathJax{\newenvironment{darray}[2][c]{\begin{array}[#1]{#2}}{\end{array}}}
\CustomizeMathJax{\newcommand{\dmulticolumn}[3]{#3}}
-\CustomizeMathJax{\newcommand{\nr}{\\[.5ex]}}
+% \end{macrocode}
+%
+% As of v0.86, \brand{MathJax} v3 does not offer \cs{\textbackslash*}, so
+% the unstarred version is used here.
+% \changes{v0.86}{2020/05/10}{\pkg{nccmath}: Fixed \cs{nr}, added starred.}
+% \changes{v0.87}{2020/05/20}{\pkg{nccmath}: Updated starred, improved \cs{underref}.}
+% \begin{macrocode}
+\CustomizeMathJax{\newcommand{\LWRnrnostar}[1][0.5ex]{\\[#1]}}
+\CustomizeMathJax{\newcommand{\nr}{\ifstar\LWRnrnostar\LWRnrnostar}}
+
\CustomizeMathJax{\newcommand{\mrel}[1]{\begin{aligned}#1\end{aligned}}}
-\CustomizeMathJax{\newcommand{\underrel}[2]{{#1}_{#2}}}
+\CustomizeMathJax{\newcommand{\underrel}[2]{\underset{#2}{#1}}}
\CustomizeMathJax{\newcommand{\medmath}[1]{#1}}
\CustomizeMathJax{\newcommand{\medop}[1]{#1}}
\CustomizeMathJax{\newcommand{\medint}[1]{#1}}
@@ -60767,6 +68045,16 @@
\CustomizeMathJax{\newcommand{\mfrac}[2]{\frac{#1}{#2}}}
\CustomizeMathJax{\newcommand{\mbinom}[2]{\binom{#1}{#2}}}
\CustomizeMathJax{\newenvironment{mmatrix}{\begin{matrix}}{\end{matrix}}}
+% \end{macrocode}
+%
+% \changes{v0.86}{2020/05/10}{\pkg{nccmath}: Added \cs{displaybreak}.}
+% \begin{macrocode}
+\CustomizeMathJax{\newcommand{\displaybreak}[1][]{}}
+% \end{macrocode}
+%
+% \cs{eq}, \cs{eqs}, \cs{eqalign} are created by \LaTeX, not \brand{MathJax}.
+%
+% \begin{macrocode}
\end{warpMathJax}
% \end{macrocode}
%
@@ -60809,8 +68097,221 @@
%
%
%
+% \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}}
+% except \optn{slantedGreek} is honored.
+% The dedicated 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.}
+% \changes{v0.891}{2020/09/06}{\pkg{newpxmath}: Honors \optn{uprightGreek}, \optn{slantedGreek}.}
+%
+% \codehtml
+%
+% The \brand{MathJax} code from \pkg{newtxmath} is used:
+% \begin{macrocode}
+\LWR at ProvidesPackagePass{newpxmath}[2020/01/09]
+
+\LWR at infoprocessingmathjax{newpxmath}
+
+\LWR at origRequirePackage{lwarp-common-mathjax-newpxtxmath}
+
+\LWR at origRequirePackage{lwarp-common-mathjax-letters}
+
+\begin{warpMathJax}
+
+% * \marg{2: prefix} \marg{3: postfix} \marg{4: i/u: italic/upright}
+\LWR at mathjax@addgreek at u@up*{}{up}
+\LWR at mathjax@addgreek at u@up*{up}{}
+\LWR at mathjax@addgreek at l@up{up}{}
+\LWR at mathjax@addgreek at l@up{}{up}
+\LWR at mathjax@addgreek at u@it*{}{it}
+\LWR at mathjax@addgreek at l@it{}{it}
+% \end{macrocode}
+%
+% Optional slanted Greek:
+% \begin{macrocode}
+\ifpx at slantedG
+ \LWR at mathjax@addgreek at u@it*{}{}
+\fi
+
+\end{warpMathJax}
+% \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 \optn{slantedGreek} is honored, and
+% except that bold italic Latin letters are not defined for \brand{MathJax} if
+% the option is not selected.
+%
+% The dedicated 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.}
+% \changes{v0.891}{2020/09/06}{\pkg{newtxmath}: Honors \optn{uprightGreek}, \optn{slantedGreek}.}
+%
+% \codehtml
+%
+% \begin{macrocode}
+\LWR at ProvidesPackagePass{newtxmath}[2020/08/04]
+
+\LWR at infoprocessingmathjax{newtxmath}
+
+\LWR at origRequirePackage{lwarp-common-mathjax-newpxtxmath}
+
+\LWR at origRequirePackage{lwarp-common-mathjax-letters}
+
+\begin{warpMathJax}
+
+% * \marg{2: prefix} \marg{3: postfix} \marg{4: i/u: italic/upright}
+\LWR at mathjax@addgreek at u@up*{}{up}
+\LWR at mathjax@addgreek at u@up*{up}{}
+\LWR at mathjax@addgreek at l@up{up}{}
+\LWR at mathjax@addgreek at l@up{}{up}
+\LWR at mathjax@addgreek at u@it*{}{it}
+\LWR at mathjax@addgreek at l@it{}{it}
+
+% only newtxmath, not newpxmath:
+\LWR at mathjax@addgreek at u@it*{it}{}
+\LWR at mathjax@addgreek at l@it{it}{}
+
+% only newtxmath, not newpxmath:
+\ifdef{\iftx at BI}{
+ \iftx at BI
+ \LWR at mathjax@addlatin at u@bfit{BI}
+ \LWR at mathjax@addlatin at l@bfit{BI}
+ \fi
+}{}
+% \end{macrocode}
+%
+% Optional slanted Greek:
+% \begin{macrocode}
+\iftx at slantedG
+ \LWR at mathjax@addgreek at u@it*{}{}
+\fi
+
+\end{warpMathJax}
+% \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}}
+% except \optn{slantedGreek} is honored.
+% The dedicated 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.}
+% \changes{v0.891}{2020/09/06}{\pkg{newpxmath}: Honors \optn{uprightGreek}, \optn{slantedGreek}.}
+%
+% \codehtml
+%
+% \begin{macrocode}
+\LWR at ProvidesPackagePass{newtxsf}[2020/05/02]
+
+\LWR at infoprocessingmathjax{newtxsf}
+
+\LWR at origRequirePackage{lwarp-common-mathjax-newpxtxmath}
+
+\LWR at origRequirePackage{lwarp-common-mathjax-letters}
+
+\begin{warpMathJax}
+
+% * \marg{2: prefix} \marg{3: postfix} \marg{4: i/u: italic/upright}
+\LWR at mathjax@addgreek at u@up*{}{up}
+\LWR at mathjax@addgreek at u@up*{up}{}
+\LWR at mathjax@addgreek at l@up{up}{}
+\LWR at mathjax@addgreek at l@up{}{up}
+\LWR at mathjax@addgreek at u@it*{}{it}
+\LWR at mathjax@addgreek at l@it{}{it}
+
+% only newtxmath, not newpxmath:
+\LWR at mathjax@addgreek at u@it*{it}{}
+\LWR at mathjax@addgreek at l@it{it}{}
+%
+% only newtxmath, not newpxmath:
+\ifdef{\iftx at BI}{
+ \iftx at BI
+ \LWR at mathjax@addlatin at u@bfit{BI}
+ \LWR at mathjax@addlatin at l@bfit{BI}
+ \fi
+}{}
+% \end{macrocode}
+%
+% Optional slanted Greek:
+% \begin{macrocode}
+\iftx at slantedG
+ \LWR at mathjax@addgreek at u@it*{}{}
+\fi
+
+\end{warpMathJax}
+% \end{macrocode}
+%
+% \iffalse
+%</newtxsf>
+% \fi
+%
+%
+%
+% \iffalse
%<*nextpage>
% \fi
@@ -60871,9 +68372,10 @@
%
%
% Macros which are present in the \pkg{lwarp} core are commented out here.
+% \changes{v0.84}{2020/04/13}{\pkg{nfssext-cfr}: Improved.}
% \begin{macrocode}
\newrobustcmd{\LWR at HTML@lnstyle}{}
-\newrobustcmd{\LWR at HTML@osstyle}{}
+\newrobustcmd{\LWR at HTML@osstyle}{\LWR at HTML@scshape}
\newrobustcmd{\LWR at HTML@instyle}{}
\newrobustcmd{\LWR at HTML@sustyle}{}
\newrobustcmd{\LWR at HTML@swstyle}{}
@@ -60890,7 +68392,7 @@
\newrobustcmd{\LWR at HTML@qtstyle}{}
\newrobustcmd{\LWR at HTML@shstyle}{}
\newrobustcmd{\LWR at HTML@swashstyle}{}
-\newrobustcmd{\LWR at HTML@tmstyle}{}
+\newrobustcmd{\LWR at HTML@tmstyle}{\renewcommand*{\LWR at f@family}{tt}}
\newrobustcmd{\LWR at HTML@tvstyle}{\renewcommand*{\LWR at f@family}{tt}}
\newrobustcmd{\LWR at HTML@tstyle}{}
\newrobustcmd{\LWR at HTML@lstyle}{}
@@ -60914,13 +68416,13 @@
\newrobustcmd{\LWR at HTML@exwidth}{}
\newrobustcmd{\LWR at HTML@uxwidth}{}
\newrobustcmd{\LWR at HTML@mbweight}{\renewcommand*{\LWR at f@series}{md}}
-\newrobustcmd{\LWR at HTML@dbweight}{\renewcommand*{\LWR at f@series}{bf}}
-\newrobustcmd{\LWR at HTML@sbweight}{\renewcommand*{\LWR at f@series}{bf}}
+\newrobustcmd{\LWR at HTML@dbweight}{\renewcommand*{\LWR at f@series}{db}}
+\newrobustcmd{\LWR at HTML@sbweight}{\renewcommand*{\LWR at f@series}{sb}}
% \newrobustcmd{\LWR at HTML@ebweight}{\renewcommand*{\LWR at f@series}{eb}}
-\newrobustcmd{\LWR at HTML@ubweight}{\renewcommand*{\LWR at f@series}{eb}}
+\newrobustcmd{\LWR at HTML@ubweight}{\renewcommand*{\LWR at f@series}{ub}}
% \newrobustcmd{\LWR at HTML@lgweight}{\renewcommand*{\LWR at f@series}{lg}}
-\newrobustcmd{\LWR at HTML@elweight}{\renewcommand*{\LWR at f@series}{lg}}
-\newrobustcmd{\LWR at HTML@ulweight}{\renewcommand*{\LWR at f@series}{lg}}
+\newrobustcmd{\LWR at HTML@elweight}{\renewcommand*{\LWR at f@series}{el}}
+\newrobustcmd{\LWR at HTML@ulweight}{\renewcommand*{\LWR at f@series}{ul}}
% \newrobustcmd{\LWR at HTML@itshape}{}
% \newrobustcmd{\LWR at HTML@scshape}{}
% \newrobustcmd{\LWR at HTML@upshape}{}
@@ -60981,9 +68483,9 @@
% \LWR at formatted{lgweight}
\LWR at formatted{elweight}
\LWR at formatted{ulweight}
-% \LWR at formatted{itshape}
-% \LWR at formatted{scshape}
-% \LWR at formatted{upshape}
+\LWR at formatted{itshape}% adapt to the new print version
+\LWR at formatted{scshape}% adapt to the new print version
+\LWR at formatted{upshape}% adapt to the new print version
\LWR at formatted{dfshape}
\ifdef{\LWR at HTML@swshape}{}{% duplicated by fontaxes
@@ -60991,135 +68493,81 @@
}
\LWR at formatted{ornament}
-
-
-\newcommand{\LWR at null@lnstyle}{}
-\newcommand{\LWR at null@osstyle}{}
-\newcommand{\LWR at null@instyle}{}
-\newcommand{\LWR at null@sustyle}{}
-\newcommand{\LWR at null@swstyle}{}
-\newcommand{\LWR at null@pstyle}{}
-\newcommand{\LWR at null@tistyle}{}
-\newcommand{\LWR at null@ostyle}{}
-\newcommand{\LWR at null@postyle}{}
-\newcommand{\LWR at null@ltstyle}{}
-\newcommand{\LWR at null@ofstyle}{}
-\newcommand{\LWR at null@altstyle}{}
-\newcommand{\LWR at null@regstyle}{}
-\newcommand{\LWR at null@embossstyle}{}
-\newcommand{\LWR at null@ornamentalstyle}{}
-\newcommand{\LWR at null@qtstyle}{}
-\newcommand{\LWR at null@shstyle}{}
-\newcommand{\LWR at null@swashstyle}{}
-\newcommand{\LWR at null@tmstyle}{}
-\newcommand{\LWR at null@tvstyle}{}
-\newcommand{\LWR at null@tstyle}{}
-\newcommand{\LWR at null@lstyle}{}
-\newcommand{\LWR at null@tlstyle}{}
-\newcommand{\LWR at null@plstyle}{}
-\newcommand{\LWR at null@tostyle}{}
-% \newcommand{\LWR at null@sishape}{}
-\newcommand{\LWR at null@olshape}{}
-\newcommand{\LWR at null@scolshape}{}
-\newcommand{\LWR at null@ushape}{}
-\newcommand{\LWR at null@scushape}{}
-\newcommand{\LWR at null@uishape}{}
-\newcommand{\LWR at null@rishape}{}
-\newcommand{\LWR at null@regwidth}{}
-\newcommand{\LWR at null@nwwidth}{}
-\newcommand{\LWR at null@cdwidth}{}
-\newcommand{\LWR at null@ecwidth}{}
-\newcommand{\LWR at null@ucwidth}{}
-\newcommand{\LWR at null@etwidth}{}
-\newcommand{\LWR at null@epwidth}{}
-\newcommand{\LWR at null@exwidth}{}
-\newcommand{\LWR at null@uxwidth}{}
-\newcommand{\LWR at null@mbweight}{}
-\newcommand{\LWR at null@dbweight}{}
-\newcommand{\LWR at null@sbweight}{}
-% \newcommand{\LWR at null@ebweight}{}
-\newcommand{\LWR at null@ubweight}{}
-% \newcommand{\LWR at null@lgweight}{}
-\newcommand{\LWR at null@elweight}{}
-\newcommand{\LWR at null@ulweight}{}
-% \newcommand{\LWR at null@itshape}{}
-% \newcommand{\LWR at null@scshape}{}
-% \newcommand{\LWR at null@upshape}{}
-\newcommand{\LWR at null@dfshape}{}
-
-\ifdef{\LWR at HTML@swshape}{}{% duplicated by fontaxes
- \newcommand{\LWR at null@swshape}{}
+% \end{macrocode}
+%
+% \changes{v0.84}{2020/04/11}{\pkg{nfssext-cfr}: \cs{FilenameNullify}.}
+% \begin{macrocode}
+\FilenameNullify{%
+ \LetLtxMacro\lnstyle\@empty%
+ \LetLtxMacro\osstyle\@empty%
+ \LetLtxMacro\instyle\@empty%
+ \LetLtxMacro\sustyle\@empty%
+ \LetLtxMacro\swstyle\@empty%
+ \LetLtxMacro\pstyle\@empty%
+ \LetLtxMacro\tistyle\@empty%
+ \LetLtxMacro\ostyle\@empty%
+ \LetLtxMacro\postyle\@empty%
+ \LetLtxMacro\ltstyle\@empty%
+ \LetLtxMacro\ofstyle\@empty%
+ \LetLtxMacro\altstyle\@empty%
+ \LetLtxMacro\regstyle\@empty%
+ \LetLtxMacro\embossstyle\@empty%
+ \LetLtxMacro\ornamentalstyle\@empty%
+ \LetLtxMacro\qtstyle\@empty%
+ \LetLtxMacro\shstyle\@empty%
+ \LetLtxMacro\swashstyle\@empty%
+ \LetLtxMacro\tmstyle\@empty%
+ \LetLtxMacro\tvstyle\@empty%
+ \LetLtxMacro\tstyle\@empty%
+ \LetLtxMacro\lstyle\@empty%
+ \LetLtxMacro\tlstyle\@empty%
+ \LetLtxMacro\plstyle\@empty%
+ \LetLtxMacro\tostyle\@empty%
+% \LetLtxMacro\sishape\@empty%
+ \LetLtxMacro\olshape\@empty%
+ \LetLtxMacro\scolshape\@empty%
+ \LetLtxMacro\ushape\@empty%
+ \LetLtxMacro\scushape\@empty%
+ \LetLtxMacro\uishape\@empty%
+ \LetLtxMacro\rishape\@empty%
+ \LetLtxMacro\regwidth\@empty%
+ \LetLtxMacro\nwwidth\@empty%
+ \LetLtxMacro\cdwidth\@empty%
+ \LetLtxMacro\ecwidth\@empty%
+ \LetLtxMacro\ucwidth\@empty%
+ \LetLtxMacro\etwidth\@empty%
+ \LetLtxMacro\epwidth\@empty%
+ \LetLtxMacro\exwidth\@empty%
+ \LetLtxMacro\uxwidth\@empty%
+ \LetLtxMacro\mbweight\@empty%
+ \LetLtxMacro\dbweight\@empty%
+ \LetLtxMacro\sbweight\@empty%
+% \LetLtxMacro\ebweight\@empty%
+ \LetLtxMacro\ubweight\@empty%
+% \LetLtxMacro\lgweight\@empty%
+ \LetLtxMacro\elweight\@empty%
+ \LetLtxMacro\ulweight\@empty%
+% \LetLtxMacro\itshape\@empty%
+% \LetLtxMacro\scshape\@empty%
+% \LetLtxMacro\upshape\@empty%
+ \LetLtxMacro\dfshape\@empty%
+ \LetLtxMacro\swshape\@empty%
+ \LetLtxMacro\ornament\@gobble%
}
-\newcommand{\LWR at null@ornament}[1]{}
-
-\appto{\LWR at nullfonts}{%
-\LetLtxMacro\lnstyle\LWR at null@lnstyle%
-\LetLtxMacro\osstyle\LWR at null@osstyle%
-\LetLtxMacro\instyle\LWR at null@instyle%
-\LetLtxMacro\sustyle\LWR at null@sustyle%
-\LetLtxMacro\swstyle\LWR at null@swstyle%
-\LetLtxMacro\pstyle\LWR at null@pstyle%
-\LetLtxMacro\tistyle\LWR at null@tistyle%
-\LetLtxMacro\ostyle\LWR at null@ostyle%
-\LetLtxMacro\postyle\LWR at null@postyle%
-\LetLtxMacro\ltstyle\LWR at null@ltstyle%
-\LetLtxMacro\ofstyle\LWR at null@ofstyle%
-\LetLtxMacro\altstyle\LWR at null@altstyle%
-\LetLtxMacro\regstyle\LWR at null@regstyle%
-\LetLtxMacro\embossstyle\LWR at null@embossstyle%
-\LetLtxMacro\ornamentalstyle\LWR at null@ornamentalstyle%
-\LetLtxMacro\qtstyle\LWR at null@qtstyle%
-\LetLtxMacro\shstyle\LWR at null@shstyle%
-\LetLtxMacro\swashstyle\LWR at null@swashstyle%
-\LetLtxMacro\tmstyle\LWR at null@tmstyle%
-\LetLtxMacro\tvstyle\LWR at null@tvstyle%
-\LetLtxMacro\tstyle\LWR at null@tstyle%
-\LetLtxMacro\lstyle\LWR at null@lstyle%
-\LetLtxMacro\tlstyle\LWR at null@tlstyle%
-\LetLtxMacro\plstyle\LWR at null@plstyle%
-\LetLtxMacro\tostyle\LWR at null@tostyle%
-% \LetLtxMacro\sishape\LWR at null@sishape
-\LetLtxMacro\olshape\LWR at null@olshape%
-\LetLtxMacro\scolshape\LWR at null@scolshape%
-\LetLtxMacro\ushape\LWR at null@ushape%
-\LetLtxMacro\scushape\LWR at null@scushape%
-\LetLtxMacro\uishape\LWR at null@uishape%
-\LetLtxMacro\rishape\LWR at null@rishape%
-\LetLtxMacro\regwidth\LWR at null@regwidth%
-\LetLtxMacro\nwwidth\LWR at null@nwwidth%
-\LetLtxMacro\cdwidth\LWR at null@cdwidth%
-\LetLtxMacro\ecwidth\LWR at null@ecwidth%
-\LetLtxMacro\ucwidth\LWR at null@ucwidth%
-\LetLtxMacro\etwidth\LWR at null@etwidth%
-\LetLtxMacro\epwidth\LWR at null@epwidth%
-\LetLtxMacro\exwidth\LWR at null@exwidth%
-\LetLtxMacro\uxwidth\LWR at null@uxwidth%
-\LetLtxMacro\mbweight\LWR at null@mbweight%
-\LetLtxMacro\dbweight\LWR at null@dbweight%
-\LetLtxMacro\sbweight\LWR at null@sbweight%
-% \LetLtxMacro\ebweight\LWR at null@ebweight%
-\LetLtxMacro\ubweight\LWR at null@ubweight%
-% \LetLtxMacro\lgweight\LWR at null@lgweight%
-\LetLtxMacro\elweight\LWR at null@elweight%
-\LetLtxMacro\ulweight\LWR at null@ulweight%
-% \LetLtxMacro\itshape\LWR at null@itshape%
-% \LetLtxMacro\scshape\LWR at null@scshape%
-% \LetLtxMacro\upshape\LWR at null@upshape%
-\LetLtxMacro\dfshape\LWR at null@dfshape%
-\LetLtxMacro\swshape\LWR at null@swshape%
-\LetLtxMacro\ornament\LWR at null@ornament%
-}
-
-\newrobustcmd{\LWR at HTML@textln}[1]{#1}
+\newrobustcmd{\LWR at HTML@textln}[1]{\InlineClass{textln}{#1}}
\newrobustcmd{\LWR at HTML@textos}[1]{\textsc{#1}}
\newrobustcmd{\LWR at HTML@textin}[1]{#1}
\newrobustcmd{\LWR at HTML@textsu}[1]{#1}
% \newrobustcmd{\LWR at HTML@textsi}[1]{#1}
\newrobustcmd{\LWR at HTML@textdf}[1]{#1}
-
-\ifdef{\LWR at HTML@swshape}{}{% duplicated by fontaxes
+% \end{macrocode}
+%
+% \changes{v0.883}{2020/11/16}{\pkg{nfssext-cfr}: Fixed \cs{textsw}.}
+% \begin{macrocode}
+\ifdef{\LWR at HTML@textsw}{}{% duplicated by fontaxes
\newrobustcmd{\LWR at HTML@textsw}[1]{#1}
+ \LWR at formatted{textsw}
}
\newrobustcmd{\LWR at HTML@textti}[1]{#1}
@@ -61131,15 +68579,15 @@
\newrobustcmd{\LWR at HTML@textorn}[1]{#1}
\newrobustcmd{\LWR at HTML@textqt}[1]{#1}
\newrobustcmd{\LWR at HTML@textsh}[1]{#1}
-\newrobustcmd{\LWR at HTML@texttm}[1]{#1}
+\newrobustcmd{\LWR at HTML@texttm}[1]{\texttt{#1}}
\newrobustcmd{\LWR at HTML@texttv}[1]{\texttt{#1}}
-\newrobustcmd{\LWR at HTML@textl}[1]{#1}
-\newrobustcmd{\LWR at HTML@texto}[1]{#1}
-\newrobustcmd{\LWR at HTML@textp}[1]{#1}
-\newrobustcmd{\LWR at HTML@textt}[1]{#1}
+\newrobustcmd{\LWR at HTML@textl}[1]{\InlineClass{textln}{#1}}
+\newrobustcmd{\LWR at HTML@texto}[1]{\textsc{#1}}
+\newrobustcmd{\LWR at HTML@textp}[1]{\InlineClass{textp}{#1}}
+\newrobustcmd{\LWR at HTML@textt}[1]{\InlineClass{textt}{#1}}
\newrobustcmd{\LWR at HTML@textpl}[1]{#1}
\newrobustcmd{\LWR at HTML@textpo}[1]{\textsc{#1}}
-\newrobustcmd{\LWR at HTML@texttl}[1]{#1}
+\newrobustcmd{\LWR at HTML@texttl}[1]{\InlineClass{textln}{#1}}
\newrobustcmd{\LWR at HTML@textto}[1]{\textsc{#1}}
\newrobustcmd{\LWR at HTML@textol}[1]{#1}
\newrobustcmd{\LWR at HTML@textswash}[1]{#1}
@@ -61156,14 +68604,14 @@
\newrobustcmd{\LWR at HTML@textex}[1]{#1}
\newrobustcmd{\LWR at HTML@textux}[1]{#1}
\newrobustcmd{\LWR at HTML@textrw}[1]{#1}
-\newrobustcmd{\LWR at HTML@textmb}[1]{\textmd{#1}}
-\newrobustcmd{\LWR at HTML@textdb}[1]{\textbf{#1}}
-\newrobustcmd{\LWR at HTML@textsb}[1]{\textbf{#1}}
-% \newrobustcmd{\LWR at HTML@texteb}[1]{#1}
-\newrobustcmd{\LWR at HTML@textub}[1]{\texteb{#1}}
-% \newrobustcmd{\LWR at HTML@textlg}[1]{#1}
-\newrobustcmd{\LWR at HTML@textel}[1]{\textlg{#1}}
-\newrobustcmd{\LWR at HTML@textul}[1]{\textlg{#1}}
+\newrobustcmd{\LWR at HTML@textmb}[1]{{\LWR at HTML@mbweight\InlineClass{textmb}{#1}}}
+\newrobustcmd{\LWR at HTML@textdb}[1]{{\LWR at HTML@dbweight\InlineClass{textdb}{#1}}}
+\newrobustcmd{\LWR at HTML@textsb}[1]{{\LWR at HTML@sbweight\InlineClass{textsb}{#1}}}
+% \newrobustcmd{\LWR at HTML@texteb}[1]}{#1}
+\newrobustcmd{\LWR at HTML@textub}[1]{{\LWR at HTML@ubweight\InlineClass{textub}{#1}}}
+% \newrobustcmd{\LWR at HTML@textlg}[1]}{#1}
+\newrobustcmd{\LWR at HTML@textel}[1]{{\LWR at HTML@elweight\InlineClass{textel}{#1}}}
+\newrobustcmd{\LWR at HTML@textul}[1]{{\LWR at HTML@ulweight\InlineClass{textul}{#1}}}
\LWR at formatted{textln}
\LWR at formatted{textos}
@@ -61171,7 +68619,6 @@
\LWR at formatted{textsu}
% \LWR at formatted{textsi}
\LWR at formatted{textdf}
-\LWR at formatted{textsw}
\LWR at formatted{textti}
\LWR at formatted{textlt}
\LWR at formatted{textof}
@@ -61215,112 +68662,62 @@
\LWR at formatted{textel}
\LWR at formatted{textul}
-\newrobustcmd{\LWR at null@textln}[1]{#1}
-\newrobustcmd{\LWR at null@textos}[1]{#1}
-\newrobustcmd{\LWR at null@textin}[1]{#1}
-\newrobustcmd{\LWR at null@textsu}[1]{#1}
-% \newrobustcmd{\LWR at null@textsi}[1]{#1}
-\newrobustcmd{\LWR at null@textdf}[1]{#1}
-
-\ifdef{\LWR at HTML@swshape}{}{% duplicated by fontaxes
- \newrobustcmd{\LWR at null@textsw}[1]{#1}
+% \end{macrocode}
+%
+% \changes{v0.84}{2020/04/11}{\pkg{nfssext-cfr}: \cs{FilenameNullify}.}
+% \begin{macrocode}
+\FilenameNullify{%
+ \LetLtxMacro\textln\@firstofone%
+ \LetLtxMacro\textos\@firstofone%
+ \LetLtxMacro\textin\@firstofone%
+ \LetLtxMacro\textsu\@firstofone%
+% \LetLtxMacro\textsi\@firstofone%
+ \LetLtxMacro\textdf\@firstofone%
+ \LetLtxMacro\textsw\@firstofone%
+ \LetLtxMacro\textti\@firstofone%
+ \LetLtxMacro\textlt\@firstofone%
+ \LetLtxMacro\textof\@firstofone%
+ \LetLtxMacro\textalt\@firstofone%
+ \LetLtxMacro\textreg\@firstofone%
+ \LetLtxMacro\emboss\@firstofone%
+ \LetLtxMacro\textorn\@firstofone%
+ \LetLtxMacro\textqt\@firstofone%
+ \LetLtxMacro\textsh\@firstofone%
+ \LetLtxMacro\texttm\@firstofone%
+ \LetLtxMacro\texttv\@firstofone%
+ \LetLtxMacro\textl\@firstofone%
+ \LetLtxMacro\texto\@firstofone%
+ \LetLtxMacro\textp\@firstofone%
+ \LetLtxMacro\textt\@firstofone%
+ \LetLtxMacro\textpl\@firstofone%
+ \LetLtxMacro\textpo\@firstofone%
+ \LetLtxMacro\texttl\@firstofone%
+ \LetLtxMacro\textto\@firstofone%
+ \LetLtxMacro\textol\@firstofone%
+ \LetLtxMacro\textswash\@firstofone%
+ \LetLtxMacro\textu\@firstofone%
+ \LetLtxMacro\textscu\@firstofone%
+ \LetLtxMacro\textui\@firstofone%
+ \LetLtxMacro\textri\@firstofone%
+ \LetLtxMacro\textnw\@firstofone%
+ \LetLtxMacro\textcd\@firstofone%
+ \LetLtxMacro\textec\@firstofone%
+ \LetLtxMacro\textuc\@firstofone%
+ \LetLtxMacro\textet\@firstofone%
+ \LetLtxMacro\textep\@firstofone%
+ \LetLtxMacro\textex\@firstofone%
+ \LetLtxMacro\textux\@firstofone%
+ \LetLtxMacro\textrw\@firstofone%
+ \LetLtxMacro\textmb\@firstofone%
+ \LetLtxMacro\textdb\@firstofone%
+ \LetLtxMacro\textsb\@firstofone%
+% \LetLtxMacro\texteb\@firstofone%
+ \LetLtxMacro\textub\@firstofone%
+% \LetLtxMacro\textlg\@firstofone%
+ \LetLtxMacro\textel\@firstofone%
+ \LetLtxMacro\textul\@firstofone%
}
-\newrobustcmd{\LWR at null@textti}[1]{#1}
-\newrobustcmd{\LWR at null@textlt}[1]{#1}
-\newrobustcmd{\LWR at null@textof}[1]{#1}
-\newrobustcmd{\LWR at null@textalt}[1]{#1}
-\newrobustcmd{\LWR at null@textreg}[1]{#1}
-\newrobustcmd{\LWR at null@emboss}[1]{#1}
-\newrobustcmd{\LWR at null@textorn}[1]{#1}
-\newrobustcmd{\LWR at null@textqt}[1]{#1}
-\newrobustcmd{\LWR at null@textsh}[1]{#1}
-\newrobustcmd{\LWR at null@texttm}[1]{#1}
-\newrobustcmd{\LWR at null@texttv}[1]{#1}
-\newrobustcmd{\LWR at null@textl}[1]{#1}
-\newrobustcmd{\LWR at null@texto}[1]{#1}
-\newrobustcmd{\LWR at null@textp}[1]{#1}
-\newrobustcmd{\LWR at null@textt}[1]{#1}
-\newrobustcmd{\LWR at null@textpl}[1]{#1}
-\newrobustcmd{\LWR at null@textpo}[1]{#1}
-\newrobustcmd{\LWR at null@texttl}[1]{#1}
-\newrobustcmd{\LWR at null@textto}[1]{#1}
-\newrobustcmd{\LWR at null@textol}[1]{#1}
-\newrobustcmd{\LWR at null@textswash}[1]{#1}
-\newrobustcmd{\LWR at null@textu}[1]{#1}
-\newrobustcmd{\LWR at null@textscu}[1]{#1}
-\newrobustcmd{\LWR at null@textui}[1]{#1}
-\newrobustcmd{\LWR at null@textri}[1]{#1}
-\newrobustcmd{\LWR at null@textnw}[1]{#1}
-\newrobustcmd{\LWR at null@textcd}[1]{#1}
-\newrobustcmd{\LWR at null@textec}[1]{#1}
-\newrobustcmd{\LWR at null@textuc}[1]{#1}
-\newrobustcmd{\LWR at null@textet}[1]{#1}
-\newrobustcmd{\LWR at null@textep}[1]{#1}
-\newrobustcmd{\LWR at null@textex}[1]{#1}
-\newrobustcmd{\LWR at null@textux}[1]{#1}
-\newrobustcmd{\LWR at null@textrw}[1]{#1}
-\newrobustcmd{\LWR at null@textmb}[1]{#1}
-\newrobustcmd{\LWR at null@textdb}[1]{#1}
-\newrobustcmd{\LWR at null@textsb}[1]{#1}
-% \newrobustcmd{\LWR at null@texteb}[1]{#1}
-\newrobustcmd{\LWR at null@textub}[1]{#1}
-% \newrobustcmd{\LWR at null@textlg}[1]{#1}
-\newrobustcmd{\LWR at null@textel}[1]{#1}
-\newrobustcmd{\LWR at null@textul}[1]{#1}
-
-\appto{\LWR at nullfonts}{%
-\LetLtxMacro\textln\LWR at null@textln%
-\LetLtxMacro\textos\LWR at null@textos%
-\LetLtxMacro\textin\LWR at null@textin%
-\LetLtxMacro\textsu\LWR at null@textsu%
-% \LetLtxMacro\textsi\LWR at null@textsi%
-\LetLtxMacro\textdf\LWR at null@textdf%
-\LetLtxMacro\textsw\LWR at null@textsw%
-\LetLtxMacro\textti\LWR at null@textti%
-\LetLtxMacro\textlt\LWR at null@textlt%
-\LetLtxMacro\textof\LWR at null@textof%
-\LetLtxMacro\textalt\LWR at null@textalt%
-\LetLtxMacro\textreg\LWR at null@textreg%
-\LetLtxMacro\emboss\LWR at null@emboss%
-\LetLtxMacro\textorn\LWR at null@textorn%
-\LetLtxMacro\textqt\LWR at null@textqt%
-\LetLtxMacro\textsh\LWR at null@textsh%
-\LetLtxMacro\texttm\LWR at null@texttm%
-\LetLtxMacro\texttv\LWR at null@texttv%
-\LetLtxMacro\textl\LWR at null@textl%
-\LetLtxMacro\texto\LWR at null@texto%
-\LetLtxMacro\textp\LWR at null@textp%
-\LetLtxMacro\textt\LWR at null@textt%
-\LetLtxMacro\textpl\LWR at null@textpl%
-\LetLtxMacro\textpo\LWR at null@textpo%
-\LetLtxMacro\texttl\LWR at null@texttl%
-\LetLtxMacro\textto\LWR at null@textto%
-\LetLtxMacro\textol\LWR at null@textol%
-\LetLtxMacro\textswash\LWR at null@textswash%
-\LetLtxMacro\textu\LWR at null@textu%
-\LetLtxMacro\textscu\LWR at null@textscu%
-\LetLtxMacro\textui\LWR at null@textui%
-\LetLtxMacro\textri\LWR at null@textri%
-\LetLtxMacro\textnw\LWR at null@textnw%
-\LetLtxMacro\textcd\LWR at null@textcd%
-\LetLtxMacro\textec\LWR at null@textec%
-\LetLtxMacro\textuc\LWR at null@textuc%
-\LetLtxMacro\textet\LWR at null@textet%
-\LetLtxMacro\textep\LWR at null@textep%
-\LetLtxMacro\textex\LWR at null@textex%
-\LetLtxMacro\textux\LWR at null@textux%
-\LetLtxMacro\textrw\LWR at null@textrw%
-\LetLtxMacro\textmb\LWR at null@textmb%
-\LetLtxMacro\textdb\LWR at null@textdb%
-\LetLtxMacro\textsb\LWR at null@textsb%
-% \LetLtxMacro\texteb\LWR at null@texteb%
-\LetLtxMacro\textub\LWR at null@textub%
-% \LetLtxMacro\textlg\LWR at null@textlg%
-\LetLtxMacro\textel\LWR at null@textel%
-\LetLtxMacro\textul\LWR at null@textul%
-}
-
\providecommand*{\zeroslash}{0}
\newrobustcmd*{\LWR at HTML@zeroslash}{0}
\LWR at formatted{zeroslash}
@@ -61380,10 +68777,11 @@
\LWR at formatted{@UnitsUglyFrac}
% \end{macrocode}
%
-% For Mathjax:
+% For \brand{Mathjax}:
+% \changes{v0.891}{2020/09/08}{\pkg{nicefrac}: Added \cs{mathinner}, improved fraction.}
% \begin{macrocode}
\begin{warpMathJax}
-\CustomizeMathJax{\newcommand{\nicefrac}[3][]{#2/#3}}
+\CustomizeMathJax{\newcommand{\nicefrac}[3][]{\mathinner{{}^{#2}\!/\!_{#3}}}}
\end{warpMathJax}
% \end{macrocode}
%
@@ -61443,8 +68841,179 @@
%
%
%
+% \iffalse
+%<*nicematrix>
+% \fi
%
+% \part{lwarp-nicematrix.sty}
+%
+% \section{nicematrix}
+%
+% \credits{F. Pantigny}
+%
+% \DescribePackage{nicematrix}
+% \pkg{nicematrix} is used as-is for \SVG\ math, and
+% is emulated for \brand{MathJax}.
+%
+% Keys/values are ignored in \brand{MathJax}.
+% \trouble[\brand{MathJax}]{nicematrix=\pkg{nicematrix}}
+% \cs{Cdots}, etc. do not span multiple cells.
+% \env{AutoNiceMatrix}, etc. are not supported for \brand{MathJax}.
+% \SVG\ math output preserves all nicematrix features.
+% To force \SVG\ output for one or more consecutive
+% math expressions, for inline math use
+% \cs{inlinemathother} and \cs{inlinemathnormal}, or
+% for display math use \cs{displaymathother} and \cs{displaymathnormal}.
+%
+% \changes{v0.894}{2020/12/21}{\pkg{nicematrix}: Added.}
+%
+% \codehtml
+%
+% \begin{macrocode}
+\LWR at ProvidesPackagePass{nicematrix}[2020/11/23]
+% \end{macrocode}
+%
+% \env{NiceTabular} must be converted to \SVG\ to support the
+% various \pkg{nicematrix} options:
+% \begin{macrocode}
+\begin{warpHTML}
+\BeforeBeginEnvironment{NiceTabular}{%
+ \begin{lateximage}[-nicematrix-~\PackageDiagramAltText]%
+}
+\AfterEndEnvironment{NiceTabular}{\end{lateximage}}
+\BeforeBeginEnvironment{NiceTabular*}{%
+ \begin{lateximage}[-nicematrix-~\PackageDiagramAltText]%
+}
+\AfterEndEnvironment{NiceTabular*}{\end{lateximage}}
+\end{warpHTML}
+% \end{macrocode}
+%
+% Special handling for the optional arguments, and the lack of a delimiter:
+% \begin{macrocode}
+\begin{warpMathJax}
+\CustomizeMathJax{\newcommand{\LWRnicearrayarray}[1]{\begin{array}{#1}}}
+\CustomizeMathJax{\def\LWRnicearrayarrayopt#1[#2] {\begin{array}{#1}}}
+
+\CustomizeMathJax{%
+ \newenvironment{NiceArray}[2][]%
+ {\ifnextchar[{\LWRnicearrayarrayopt{#2}}{\LWRnicearrayarray{#2}}}%
+ {\end{array}}%
+}
+
+\CustomizeMathJax{%
+ \newcommand{\LWRnicearraywithdelimtwo}[2][]{%
+ \ifnextchar[{\LWRnicearrayarrayopt{#2}}{\LWRnicearrayarray{#2}}%
+ }%
+}
+% \end{macrocode}
+%
+% General case with left \Slash right delimiters:
+% \begin{macrocode}
+\CustomizeMathJax{%
+ \newenvironment{NiceArrayWithDelims}[2]%
+ {%
+ \def\LWRnicearrayrightdelim{\right#2}%
+ \left#1%
+ \LWRnicearraywithdelimtwo%
+ }%
+ {\end{array}\LWRnicearrayrightdelim}%
+}
+% \end{macrocode}
+%
+% Instances of specific delimiters:
+% \begin{macrocode}
+\CustomizeMathJax{%
+ \newenvironment{pNiceArray}
+ {\begin{NiceArrayWithDelims}{(}{)}}
+ {\end{NiceArrayWithDelims}}
+}
+
+\CustomizeMathJax{%
+ \newenvironment{bNiceArray}
+ {\begin{NiceArrayWithDelims}{[}{]}}
+ {\end{NiceArrayWithDelims}}
+}
+
+\CustomizeMathJax{%
+ \newenvironment{BNiceArray}
+ {\begin{NiceArrayWithDelims}{\{}{\}}}
+ {\end{NiceArrayWithDelims}}
+}
+
+\CustomizeMathJax{%
+ \newenvironment{vNiceArray}
+ {\begin{NiceArrayWithDelims}{\vert}{\vert}}
+ {\end{NiceArrayWithDelims}}
+}
+
+\CustomizeMathJax{%
+ \newenvironment{VNiceArray}
+ {\begin{NiceArrayWithDelims}{\Vert}{\Vert}}
+ {\end{NiceArrayWithDelims}}
+}
+% \end{macrocode}
+%
+% Ignore optional arg and use standard environments:
+% \begin{macrocode}
+\CustomizeMathJax{\newenvironment{NiceMatrix}[1][]{\begin{matrix}}{\end{matrix}}}
+\CustomizeMathJax{\newenvironment{pNiceMatrix}[1][]{\begin{pmatrix}}{\end{pmatrix}}}
+\CustomizeMathJax{\newenvironment{bNiceMatrix}[1][]{\begin{bmatrix}}{\end{bmatrix}}}
+\CustomizeMathJax{\newenvironment{BNiceMatrix}[1][]{\begin{Bmatrix}}{\end{Bmatrix}}}
+\CustomizeMathJax{\newenvironment{vNiceMatrix}[1][]{\begin{vmatrix}}{\end{vmatrix}}}
+\CustomizeMathJax{\newenvironment{VNiceMatrix}[1][]{\begin{Vmatrix}}{\end{Vmatrix}}}
+% \end{macrocode}
+%
+% Ignore optional argument and size. Print contents.
+% \begin{macrocode}
+\CustomizeMathJax{\newcommand{\LWRnicematrixBlock}[1]{#1}}
+\CustomizeMathJax{\def\LWRnicematrixBlockopt<#1>#2{#2}}
+
+\CustomizeMathJax{%
+ \newcommand{\Block}[2][]{\ifnextchar<\LWRnicematrixBlockopt\LWRnicematrixBlock}%
+}
+% \end{macrocode}
+%
+% Form an approximation:
+% \begin{macrocode}
+\CustomizeMathJax{%
+ \newcommand{\diagbox}[2]{%
+ \begin{array}{l}\hfill\quad#2\\\hline#1\quad\hfill\end{array}%
+ }%
+}
+% \end{macrocode}
+%
+% More approximations:
+% \begin{macrocode}
+\CustomizeMathJax{\let\hdottedline\hdashline}
+
+\CustomizeMathJax{\newcommand{\ldots}[1][]{\dots}}
+\CustomizeMathJax{\newcommand{\Cdots}[1][]{\cdots}}
+\CustomizeMathJax{\newcommand{\Vdots}[1][]{\vdots}}
+\CustomizeMathJax{\newcommand{\Ddots}[1][]{\ddots}}
+\CustomizeMathJax{\newcommand{\Iddots}[1][]{\mathinner{\unicode{x22F0}}}}
+
+\CustomizeMathJax{\newcommand{\Hdotsfor}[1]{\ldots}}
+\CustomizeMathJax{\newcommand{\Vdotsfor}[1]{\vdots}}
+% \end{macrocode}
+%
+% There is no way to emulate \env{AutoNiceMatrix} in \brand{MathJax}.
+% \begin{macrocode}
+\CustomizeMathJax{\newcommand{\AutoNiceMatrix}[2]{\text{(AutoNiceMatrix #1)}}}
+\CustomizeMathJax{\let\pAutoNiceMatrix\AutoNiceMatrix}
+\CustomizeMathJax{\let\bAutoNiceMatrix\AutoNiceMatrix}
+\CustomizeMathJax{\let\BAutoNiceMatrix\AutoNiceMatrix}
+\CustomizeMathJax{\let\vAutoNiceMatrix\AutoNiceMatrix}
+\CustomizeMathJax{\let\VAutoNiceMatrix\AutoNiceMatrix}
+\end{warpMathJax}
+% \end{macrocode}
+%
% \iffalse
+%</nicematrix>
+% \fi
+%
+%
+%
+% \iffalse
%<*noitcrul>
% \fi
%
@@ -61756,7 +69325,6 @@
%
%
% Discard all options for \pkg{lwarp-nowidow}:
-
% \codehtml
% \begin{macrocode}
\LWR at ProvidesPackageDrop{nowidow}[2011/09/20]
@@ -61844,8 +69412,22 @@
% \codehtml
%
% Some disabled options:
+% \changes{v0.84}{2020/04/06}{\pkg{ntheorem}: Warning if \optn{thref}.}
% \begin{macrocode}
-\DeclareOption{thref}{}
+\DeclareOption{thref}{
+ \AtEndDocument{
+ \PackageWarningNoLine{lwarp}{%
+ Lwarp uses cleveref, which takes over ntheorem's\MessageBreak
+ referencing, including
+ \protect\label \space and \protect\thref.\MessageBreak
+ Cleveref does not accept ntheorem's optional\MessageBreak
+ argument for \protect\label, so it will appear\MessageBreak
+ in the text. It is recommended to remove the\MessageBreak
+ thref option, \protect\usepackage{cleveref} instead,\MessageBreak
+ and remove any trailing optional arguments for \protect\label%
+ }%
+ }
+}
\newbool{LWR at ntheoremmarks}
@@ -62040,11 +69622,15 @@
% Mimics a float by incrementing the float counter and generating
% an \HTML\ anchor. These are used for list-of-theorem cross-references.
% \changes{v0.47}{2018/01/26}{\pkg{ntheorem}: Fix: Line wrap at \HTML\ hyphen.}
+% \changes{v0.895}{2021/01/14}{Improved \HTML\ quotes.}
% \begin{macrocode}
\newcommand{\LWR at inctheorem}{%
\addtocounter{LWR at thisautoid}{1}%
\LWR at stoppars%
-\LWR at htmltag{a id="\LWR at print@mbox{autoid-\arabic{LWR at thisautoid}}"}\LWR at htmltag{/a}%
+\LWR at htmltag{%
+ a id=\textquotedbl\LWR at print@mbox{autoid-\arabic{LWR at thisautoid}}\textquotedbl%
+}%
+\LWR at htmltag{/a}%
\LWR at startpars%
}
% \end{macrocode}
@@ -62946,7 +70532,14 @@
}%
\setkeys{LWRparcols}{#1}%
}
- {\end{LWR at setvirtualpage}}
+ {%
+% \end{macrocode}
+%
+% \changes{v0.84}{2020/04/21}{\pkg{parcolumns}: Fixed: Missing \cs{colplacechunks}.}
+% \begin{macrocode}
+ \colplacechunks%
+ \end{LWR at setvirtualpage}%
+ }
\newcommand{\LWR at parcolumns@onecol}[1]{%
\ifbool{LWR at parcolumns@started}%
@@ -63069,8 +70662,8 @@
}
\AtBeginDocument{
-\crefname{parnotemark}{paragraph note}{paragraph notes}%
-\Crefname{parnotemark}{Paragraph note}{Paragraph notes}
+ \crefname{parnotemark}{paragraph note}{paragraph notes}
+ \Crefname{parnotemark}{Paragraph note}{Paragraph notes}
}
% \end{macrocode}
%
@@ -63092,8 +70685,6 @@
\end{warpMathJax}
% \end{macrocode}
%
-%
-%
% \iffalse
%</parnotes>
% \fi
@@ -63713,20 +71304,27 @@
% \section{pdfrender}
%
% \DescribePackage{pdfrender}
-% \pkg{pdfrender} is ignored.
+% \pkg{pdfrender} is allowed during \HTML, but it has no effect on
+% \HTML\ text output.
+% \pkg{pdfrender} is enabled for use with \pkg{xfakebold}, and
+% it is enabled during \HTML\ so that it may be in use when
+% an \SVG\ math image is started.
+% I.e. \pkg{xfakebold}'s \cs{setBold} may be used outside of a
+% math expression and still be detected when the math begins.
%
+% The \pkg{lwarp-pdfrender} package is present because it used to
+% disable \pkg{pdfrender}, so this newer version is to overwrite
+% older versions.
+%
% \changes{v0.49}{2018/02/15}{\pkg{pdfrender}: Added.}
+% \changes{v0.88}{2020/06/29}{\pkg{pdfrender}: Restored for \pkg{xfakebold}.}
%
% \codehtml
%
% \begin{macrocode}
-\LWR at ProvidesPackageDrop{pdfrender}[2016/05/17]
+\LWR at ProvidesPackagePass{pdfrender}[2019/12/29]
% \end{macrocode}
%
-% \begin{macrocode}
-\newcommand*{\pdfrender}[1]{}
-\newcommand{\textpdfrender}[2]{#2}
-% \end{macrocode}
%
% \iffalse
%</pdfrender>
@@ -64016,6 +71614,7 @@
% \limitsphysics
%
% \changes{v0.79}{2020/01/29}{\pkg{physics}: Added.}
+% \changes{v0.87}{2020/06/02}{\pkg{physics}: Now uses \brand{MathJax} v3 extension.}
%
% \codehtml
%
@@ -64024,288 +71623,9 @@
% \end{macrocode}
%
% \begin{macrocode}
-% doesn't work with \big, etc:
\begin{warpMathJax}
-\LWR at infoprocessingmathjax{physics}
-
-\CustomizeMathJax{\newcommand{\quantity}{}}
-\CustomizeMathJax{\let\qty\quantity}
-\CustomizeMathJax{\newcommand{\pqty}[1]{\left(#1\right)}}
-\CustomizeMathJax{\newcommand{\bqty}[1]{\left\lbrack#1\right\rbrack}}
-\CustomizeMathJax{\newcommand{\vqty}[1]{\left\vert#1\right\rvert}}
-\CustomizeMathJax{\newcommand{\Bqty}[1]{\left\lbrace#1\right\rbrace}}
-
-% doesn't work with \big, etc., no star
-\CustomizeMathJax{\newcommand{\absolutevalue}[1]{\left\lvert#1\right\rvert}}
-\CustomizeMathJax{\let\abs\absolutevalue}
-
-% doesn't work with \big, etc., no star
-\CustomizeMathJax{\newcommand{\norm}[1]{%
- \left\lvert\left\lvert#1\right\rvert\right\rvert}%
-}
-
-% doesn't work with \big, etc., no star, no paren or bracket
-\CustomizeMathJax{\newcommand{\evaluated}[1]{#1\vert}}
-\CustomizeMathJax{\let\eval\evaluated}
-
-% no \Big, star
-\CustomizeMathJax{\newcommand{\order}[1]{\mathcal{O}\left(#1\right)}}
-
-% no \Big, star
-\CustomizeMathJax{\newcommand{\commutator}[2]{\left\lbrack#1,#2\right\rbrack}}
-\CustomizeMathJax{\let\comm\commutator}
-
-% no \Big, star
-\CustomizeMathJax{\newcommand{\anticommutator}[2]{%
- \left\lbrace#1,#2\right\rbrace}%
-}
-\CustomizeMathJax{\let\acomm\anticommutator}
-
-% no \Big, star
-\CustomizeMathJax{\let\poissonbracket\anticommutator}
-\CustomizeMathJax{\let\pb\anticommutator}
-
-% no star
-\CustomizeMathJax{\newcommand{\vectorbold}[1]{\mathbf{#1}}}
-\CustomizeMathJax{\let\vb\vectorbold}
-
-% no star
-\CustomizeMathJax{\newcommand{\vectorarrow}[1]{\vec{\mathbf{#1}}}}
-\CustomizeMathJax{\let\va\vectorarrow}
-
-% no star
-\CustomizeMathJax{\newcommand{\vectorunit}[1]{\mathbf{\hat{#1}}}}
-\CustomizeMathJax{\let\va\vectorunit}
-
-\CustomizeMathJax{\newcommand{\dotproduct}{\boldsymbol\cdot}}
-\CustomizeMathJax{\let\vdot\dotproduct}
-
-\CustomizeMathJax{\newcommand{\crossproduct}{\boldsymbol\times}}
-\CustomizeMathJax{\let\cross\crossproduct}
-\CustomizeMathJax{\let\cp\crossproduct}
-
-\CustomizeMathJax{\newcommand{\gradient}{\mathbf{\nabla}}}
-\CustomizeMathJax{\let\grad\gradient}
-
-\CustomizeMathJax{\let\divisionsymbol\div}
-
-\CustomizeMathJax{\newcommand{\divergence}{\nabla\vdot}}
-\CustomizeMathJax{\let\div\divergence}
-
-\CustomizeMathJax{\newcommand{\curl}{\nabla\cross}}
-
-\CustomizeMathJax{\newcommand{\laplacian}{\nabla^2}}
-
-% responds to notrig option
-\ifx\trigopt 1
- \CustomizeMathJax{\DeclareMathOperator{\sine}{sin}}
- \CustomizeMathJax{\DeclareMathOperator{\cosine}{cos}}
- \CustomizeMathJax{\DeclareMathOperator{\tangent}{tan}}
- \CustomizeMathJax{\DeclareMathOperator{\cosecant}{csc}}
- \CustomizeMathJax{\DeclareMathOperator{\secant}{sec}}
- \CustomizeMathJax{\DeclareMathOperator{\cotangent}{cot}}
- \CustomizeMathJax{\DeclareMathOperator{\arcsine}{arcsin}}
- \CustomizeMathJax{\DeclareMathOperator{\arccosine}{arccos}}
- \CustomizeMathJax{\DeclareMathOperator{\arctangent}{arctan}}
- \CustomizeMathJax{\DeclareMathOperator{\hypsine}{sinh}}
- \CustomizeMathJax{\DeclareMathOperator{\hypcosine}{cosh}}
- \CustomizeMathJax{\DeclareMathOperator{\hyptangent}{tanh}}
- \CustomizeMathJax{\DeclareMathOperator{\hypcotangent}{coth}}
- \CustomizeMathJax{\DeclareMathOperator{\exponential}{exp}}
- \CustomizeMathJax{\DeclareMathOperator{\logarithm}{log}}
- \CustomizeMathJax{\DeclareMathOperator{\naturallogarithm}{\ln}}
- \CustomizeMathJax{\DeclareMathOperator{\determinant}{det}}
- \CustomizeMathJax{\DeclareMathOperator{\Probability}{Pr}}
- \CustomizeMathJax{\newcommand{\sin}[1][{}]{\mathrm{sin}^#1}}
- \CustomizeMathJax{\newcommand{\sinh}[1][{}]{\mathrm{sinh}^#1}}
- \CustomizeMathJax{\newcommand{\arcsin}[1][{}]{\mathrm{arcsin}^#1}}
- \CustomizeMathJax{\newcommand{\asin}[1][{}]{\mathrm{asin}^#1}}
- \CustomizeMathJax{\newcommand{\cos}[1][{}]{\mathrm{cos}^#1}}
- \CustomizeMathJax{\newcommand{\cosh}[1][{}]{\mathrm{cosh}^#1}}
- \CustomizeMathJax{\newcommand{\arccos}[1][{}]{\mathrm{arccos}^#1}}
- \CustomizeMathJax{\newcommand{\acos}[1][{}]{\mathrm{acos}^#1}}
- \CustomizeMathJax{\newcommand{\tan}[1][{}]{\mathrm{tan}^#1}}
- \CustomizeMathJax{\newcommand{\tanh}[1][{}]{\mathrm{tanh}^#1}}
- \CustomizeMathJax{\newcommand{\arctan}[1][{}]{\mathrm{arctan}^#1}}
- \CustomizeMathJax{\newcommand{\atan}[1][{}]{\mathrm{atan}^#1}}
- \CustomizeMathJax{\newcommand{\csc}[1][{}]{\mathrm{csc}^#1}}
- \CustomizeMathJax{\newcommand{\csch}[1][{}]{\mathrm{csch}^#1}}
- \CustomizeMathJax{\newcommand{\arccsc}[1][{}]{\mathrm{arccsc}^#1}}
- \CustomizeMathJax{\newcommand{\acsc}[1][{}]{\mathrm{acsc}^#1}}
- \CustomizeMathJax{\newcommand{\sec}[1][{}]{\mathrm{sec}^#1}}
- \CustomizeMathJax{\newcommand{\sech}[1][{}]{\mathrm{sech}^#1}}
- \CustomizeMathJax{\newcommand{\arcsec}[1][{}]{\mathrm{arcsec}^#1}}
- \CustomizeMathJax{\newcommand{\asec}[1][{}]{\mathrm{asec}^#1}}
- \CustomizeMathJax{\newcommand{\cot}[1][{}]{\mathrm{cot}^#1}}
- \CustomizeMathJax{\newcommand{\coth}[1][{}]{\mathrm{coth}^#1}}
- \CustomizeMathJax{\newcommand{\arccot}[1][{}]{\mathrm{arccot}^#1}}
- \CustomizeMathJax{\newcommand{\acot}[1][{}]{\mathrm{acot}^#1}}
-\else
- \CustomizeMathJax{\DeclareMathOperator{\arccsc}{arccsc}}
- \CustomizeMathJax{\DeclareMathOperator{\arcsec}{arcsec}}
- \CustomizeMathJax{\DeclareMathOperator{\arccot}{arccot}}
- \CustomizeMathJax{\DeclareMathOperator{\asin}{asin}}
- \CustomizeMathJax{\DeclareMathOperator{\acos}{acos}}
- \CustomizeMathJax{\DeclareMathOperator{\atan}{atan}}
- \CustomizeMathJax{\DeclareMathOperator{\acsc}{acsc}}
- \CustomizeMathJax{\DeclareMathOperator{\asec}{asec}}
- \CustomizeMathJax{\DeclareMathOperator{\acot}{acot}}
- \CustomizeMathJax{\DeclareMathOperator{\csch}{csch}}
- \CustomizeMathJax{\DeclareMathOperator{\sech}{sech}}
- \CustomizeMathJax{\newcommand{\tr}{\trace}}
- \CustomizeMathJax{\newcommand{\Tr}{\Trace}}
- \CustomizeMathJax{\newcommand{\Res}{\Residue}}
-\fi
-
-\CustomizeMathJax{\DeclareMathOperator{\trace}{tr}}
-\CustomizeMathJax{\let\tr\trace}
-\CustomizeMathJax{\DeclareMathOperator{\Trace}{Tr}}
-\CustomizeMathJax{\let\Tr\Trace}
-\CustomizeMathJax{\DeclareMathOperator{\rank}{rank}}
-\CustomizeMathJax{\DeclareMathOperator{\erf}{erf}}
-\CustomizeMathJax{\DeclareMathOperator{\Residue}{Res}}
-\CustomizeMathJax{\newcommand{\principalvalue}{\mathcal{P}}}
-\CustomizeMathJax{\let\pv\principalvalue}
-\CustomizeMathJax{\newcommand{\PV}{\text{P.V.}}}
-\CustomizeMathJax{\newcommand{\real}{\mathcal{R}}}
-\CustomizeMathJax{\newcommand{\imaginary}{\mathcal{I}}}
-
-% must be brace arguments
-\CustomizeMathJax{\newcommand{\Re}[1]{\mathrm{Re}\left\lbrace#1\right\rbrace}}
-\CustomizeMathJax{\newcommand{\Im}[1]{\mathrm{Im}\left\lbrace#1\right\rbrace}}
-
-\CustomizeMathJax{\newcommand{\qqtext}[1]{\quad\mathrm{#1}\quad}}
-\CustomizeMathJax{\let\qq\qqtext}
-\CustomizeMathJax{\newcommand{\qqcomma}{\text{,}\quad}}
-\CustomizeMathJax{\let\qc\qqcomma}
-\CustomizeMathJax{\newcommand{\qcc}{\quad\text{c.c.}\quad}}
-\CustomizeMathJax{\let\qcc}
-\CustomizeMathJax{\newcommand{\qif}{\quad\text{if}\quad}}
-\CustomizeMathJax{\newcommand{\qthen}{\quad\text{then}\quad}}
-\CustomizeMathJax{\newcommand{\qelse}{\quad\text{else}\quad}}
-\CustomizeMathJax{\newcommand{\qotherwise}{\quad\text{otherwise}\quad}}
-\CustomizeMathJax{\newcommand{\qunless}{\quad\text{unless}\quad}}
-\CustomizeMathJax{\newcommand{\qgiven}{\quad\text{given}\quad}}
-\CustomizeMathJax{\newcommand{\qusing}{\quad\text{using}\quad}}
-\CustomizeMathJax{\newcommand{\qassume}{\quad\text{assume}\quad}}
-\CustomizeMathJax{\newcommand{\qsince}{\quad\text{since}\quad}}
-\CustomizeMathJax{\newcommand{\qlet}{\quad\text{let}\quad}}
-\CustomizeMathJax{\newcommand{\qfor}{\quad\text{for}\quad}}
-\CustomizeMathJax{\newcommand{\qall}{\quad\text{all}\quad}}
-\CustomizeMathJax{\newcommand{\qeven}{\quad\text{even}\quad}}
-\CustomizeMathJax{\newcommand{\qodd}{\quad\text{odd}\quad}}
-\CustomizeMathJax{\newcommand{\qinteger}{\quad\text{integer}\quad}}
-\CustomizeMathJax{\newcommand{\qand}{\quad\text{and}\quad}}
-\CustomizeMathJax{\newcommand{\qor}{\quad\text{or}\quad}}
-\CustomizeMathJax{\newcommand{\qas}{\quad\text{as}\quad}}
-\CustomizeMathJax{\newcommand{\qin}{\quad\text{in}\quad}}
-
-\CustomizeMathJax{\newcommand{\differential}[1][]{\text{d}^{#1}}}
-\CustomizeMathJax{\let\dd\differential}
-
-\CustomizeMathJax{\newcommand{\derivative}[3][]{%
- \frac{\text{d}^{#1}#2}{\text{d}#3^{#1}}}%
-}
-\CustomizeMathJax{\let\dv\derivative}
-
-\CustomizeMathJax{\newcommand{\partialderivative}[3][]{%
- \frac{\partial^{#1}#2}{\partial#3^{#1}}}%
-}
-\CustomizeMathJax{\let\pderivative\partialderivative}
-\CustomizeMathJax{\let\pdv\partialderivative}
-
-\CustomizeMathJax{\newcommand{\variation}{\delta}}
-\CustomizeMathJax{\let\var\variation}
-
-% Must provide two mandatory args.
-% For the example in the manual with (E-TS), enclose the parens in braces
-\CustomizeMathJax{\newcommand{\functionalderivative}[3][]{%
- \frac{\delta^{#1}#2}{\delta#3^{#1}}}%
-}
-\CustomizeMathJax{\let\fdv\functionalderivative}
-
-
-% use \braket to contract
-\CustomizeMathJax{\newcommand{\bra}[1]{\langle{#1}\rvert}}
-\CustomizeMathJax{\newcommand{\ket}[1]{\lvert{#1}\rangle}}
-
-% must have two args
-\CustomizeMathJax{\newcommand{\innerproduct}[2]{%
- \left\langle{#1}\middle\vert{#2}\right\rangle}%
-}
-\CustomizeMathJax{\let\braket\innerproduct}
-\CustomizeMathJax{\let\ip\innerproduct}
-
-% must have two args
-\CustomizeMathJax{\newcommand{\outerproduct}[2]{%
- \left\lvert{#1}\middle\rangle\!\middle\langle#2\right\rvert}%
-}
-\CustomizeMathJax{\let\dyad\outerproduct}
-\CustomizeMathJax{\let\op\outerproduct}
-
-% must have two args, unlike the MathJax version
-\CustomizeMathJax{\newcommand{\expectationvalue}[2]{%
- \left\langle{#2}\middle\vert{#1}\middle\vert{#2}\right\rangle}%
-}
-\CustomizeMathJax{\let\expval\expectationvalue}
-\CustomizeMathJax{\let\ev\expectationvalue}
-
-\CustomizeMathJax{\newcommand{\matrixelement}[3]{%
- \left\langle{#1}\middle\vert{#2}\middle\vert{#3}\right\rangle}%
-}
-\CustomizeMathJax{\let\mel\matrixelement}
-
-\CustomizeMathJax{\newcommand{\matrixquantity}[1]{\begin{matrix}#1\end{matrix}}}
-\CustomizeMathJax{\let\mqty\matrixquantity}
-\CustomizeMathJax{\newcommand{\pmqty}[1]{\begin{pmatrix}#1\end{pmatrix}}}
-\CustomizeMathJax{\newcommand{\Pmqty}[1]{%
- \left\lgroup\begin{matrix}#1\end{matrix}\right\rgroup}%
-}
-\CustomizeMathJax{\newcommand{\bmqty}[1]{\begin{bmatrix}#1\end{bmatrix}}}
-\CustomizeMathJax{\newcommand{\vmqty}[1]{\begin{vmatrix}#1\end{vmatrix}}}
-
-\CustomizeMathJax{\newcommand{\smallmatrixquantity}[1]{%
- \begin{smallmatrix}#1\end{smallmatrix}}%
-}
-\CustomizeMathJax{\let\smqty\smallmatrixquantity}
-\CustomizeMathJax{\newcommand{\spmqty}[1]{%
- \pqty{\begin{smallmatrix}#1\end{smallmatrix}}}%
-}
-\CustomizeMathJax{\newcommand{\sPmqty}[1]{%
- \left\lgroup\begin{smallmatrix}#1\end{smallmatrix}\right\rgroup}%
-}
-\CustomizeMathJax{\newcommand{\sbmqty}[1]{%
- \bqty{\begin{smallmatrix}#1\end{smallmatrix}}}%
-}
-\CustomizeMathJax{\newcommand{\svmqty}[1]{%
- \vqty{\begin{smallmatrix}#1\end{smallmatrix}}}%
-}
-
-\CustomizeMathJax{\let\matrixdeterminant\vmqty}
-\CustomizeMathJax{\let\mdet\vmqty}
-\CustomizeMathJax{\let\smdet\svmqty}
-
-\CustomizeMathJax{\newcommand{\identitymatrix}[1]{(\text{imat}\{#1\})}}
-\CustomizeMathJax{\let\imat\identitymatrix}
-
-\CustomizeMathJax{\newcommand{\xmatrix}[3]{(\text{xmat}\{\}\{#2\}\{#3\})}}
-\CustomizeMathJax{\let\xmat\xmatrix}
-
-\CustomizeMathJax{\newcommand{\zeromatrix}[2]{(\text{zmat}\{#1\}\{#2\})}}
-\CustomizeMathJax{\let\zmat\zeromatrix}
-
-\CustomizeMathJax{\newcommand{\paulimatrix}[1]{(\text{pmat}\{#1\})}}
-\CustomizeMathJax{\let\pmat\paulimatrix}
-
-\CustomizeMathJax{\newcommand{\diagonalmatrix}[2][]{%
- \left(\text{dmat}\right)}%
-}
-\CustomizeMathJax{\let\dmat\diagonalmatrix}
-
-\CustomizeMathJax{\newcommand{\antidiagonalmatrix}[2][]{%
- \left(\text{admat}\right)}%
-}
-\CustomizeMathJax{\let\admat\antidiagonalmatrix}
+\PackageWarningNoLine{lwarp, physics}{The MathJax v3 extension will be used}
+\CustomizeMathJax{\require{physics}}
\end{warpMathJax}
% \end{macrocode}
%
@@ -64434,6 +71754,118 @@
%
%
% \iffalse
+%<*picinpar>
+% \fi
+%
+% \part{lwarp-picinpar.sty}
+%
+% \section{picinpar}
+%
+% \credits{Friedhelm Sowa}
+%
+% \DescribePackage{picinpar}
+% \pkg{picinpar} is patched for use by \pkg{lwarp}.
+%
+% \changes{v0.893}{2020/11/15}{\pkg{picinpar}: Added.}
+%
+% \codehtml
+%
+% \begin{macrocode}
+\LWR at ProvidesPackagePass{picinpar}% No date is assigned.
+% \end{macrocode}
+%
+% The \env{window} is floated by a \env{BlockClass} style.
+% \begin{macrocode}
+\long\def\LWR at HTML@window[#1,#2,#3,#4] {%
+ \if #2r%
+ \begin{BlockClass}[float:right]{marginblock}%
+ \else%
+ \begin{BlockClass}[float:left]{marginblock}%
+ \fi%
+ #3\par%
+ #4%
+ \end{BlockClass}%
+}
+
+\def\endLWR at HTML@window{}
+
+\LWR at formattedenv{window}
+% \end{macrocode}
+%
+% The \env{framepic} and \env{wframepic} are placed inside a \env{BlockClass}
+% of class \attribute{framebox}.
+% \begin{macrocode}
+\def\LWR at HTML@framepic#1{%
+ \begin{BlockClass}{framebox}
+ \expandafter\box\csname #1box\endcsname%
+ \end{BlockClass}
+}
+\LWR at formatted{framepic}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\def\LWR at HTML@wframepic#1{%
+ \begin{BlockClass}{framebox}
+ \expandafter\box\csname #1box\endcsname%
+ \end{BlockClass}
+}
+\LWR at formatted{wframepic}
+% \end{macrocode}
+%
+% The caption is placed inside a \env{BlockClass} of class \attribute{figurecaption}.
+% \begin{macrocode}
+\long\def\LWR at HTML@@makewincaption#1#2{%
+\begin{BlockClass}{figurecaption}
+#1: #2
+\end{BlockClass}
+}
+\LWR at formatted{@makewincaption}
+% \end{macrocode}
+%
+% With \HTML\ output, \env{figwindow} and \env{tabwindow} must not pre-decrement
+% their counters.
+% \begin{macrocode}
+\long\def\LWR at HTML@figwindow[#1,#2,#3,#4] {%
+% \advance\c at figure -1
+ \window[#1,#2,{#3},{\def\@captype{figure}%
+ \wincaption#4\par}] }
+
+\def\endLWR at HTML@figwindow{\endwindow}
+
+\LWR at formattedenv{figwindow}
+% \end{macrocode}
+%
+% For \env{tabwindow}, to change the catcode of |&|,
+% \cs{StartDefiningTabulars} is used before
+% absorbing the arguments, and \cs{EndDefiningTabulars} is used
+% at the end of the environment.
+% \begin{macrocode}
+\long\def\LWR at HTML@subtabwindow[#1,#2,#3,#4] {%
+% \advance\c at table -1
+ \window[#1,#2,{#3},{\def\@captype{table}%
+ \wincaption#4\par}] }
+
+\newcommand*{\LWR at HTML@tabwindow}{%
+ \StartDefiningTabulars%
+ \LWR at HTML@subtabwindow%
+}
+
+\def\endLWR at HTML@tabwindow{%
+ \endwindow%
+ \StopDefiningTabulars%
+}
+
+\LWR at formattedenv{tabwindow}
+% \end{macrocode}
+%
+% \iffalse
+%</picinpar>
+% \fi
+%
+%
+%
+%
+% \iffalse
%<*pifont>
% \fi
%
@@ -64481,7 +71913,48 @@
%
%
%
+%
+%
% \iffalse
+%<*pinlabel>
+% \fi
+%
+% \part{lwarp-pinlabel.sty}
+%
+% \section{pinlabel}
+%
+% \credits{Colin Rourke}
+%
+% \DescribePackage{pinlabel}
+% \pkg{pinlabel} is patched for use by \pkg{lwarp}.
+%
+% \changes{v0.895}{2021/01/19}{\pkg{pinlabel}: Added.}
+%
+% \codehtml
+%
+% \begin{macrocode}
+\LWR at ProvidesPackagePass{pinlabel}% no date given
+% \end{macrocode}
+%
+% \begin{macrocode}
+\xpretocmd{\psfig}
+ {\begin{lateximage}[-pinlabel-~\PackageDiagramAltText]}
+ {}
+ {\LWR at patcherror{pinlabel}{psfigA}}
+
+\xapptocmd{\psfig}
+ {\end{lateximage}}
+ {}
+ {\LWR at patcherror{pinlabel}{psfigB}}
+% \end{macrocode}
+%
+% \iffalse
+%</pinlabel>
+% \fi
+%
+%
+%
+% \iffalse
%<*placeins>
% \fi
%
@@ -64676,9 +72149,53 @@
%
%
%
+% \iffalse
+%<*plimsoll>
+% \fi
%
+% \part{lwarp-plimsoll.sty}
%
+% \section{plimsoll}
+%
+% \credits{Palle Jørgensen}
+%
+% \DescribePackage{plimsoll}
+% \pkg{plimsoll} is used as-is for \SVG\ math, and
+% emulated for \brand{MathJax}.
+%
+% The \optn{circ} option is honored.
+% For \brand{MathJax}, \cs{plimsollsans} is the same as \cs{plimsollroman}.
+%
+% \changes{v0.893}{2020/10/12}{\pkg{plimsoll}: Added.}
+%
+% \codehtml
+%
+% \begin{macrocode}
+\LWR at ProvidesPackagePass{plimsoll}[2020/10/09]
+% \end{macrocode}
+%
+% \begin{macrocode}
+\begin{warpMathJax}
+\CustomizeMathJax{\newcommand{\plimsollroman}{\unicode{x029B5}}}
+
+\CustomizeMathJax{\let\plimsoll\plimsollroman}
+\CustomizeMathJax{\let\plimsollsans\plimsoll}
+
+\ifdefstring{\stst}{^{\circ}}
+ {\CustomizeMathJax{\newcommand{\stst}{^{\circ}}}}
+ {\CustomizeMathJax{\newcommand{\stst}{^{\plimsoll}}}}
+\end{warpMathJax}
+% \end{macrocode}
+%
% \iffalse
+%</plimsoll>
+% \fi
+%
+%
+%
+%
+%
+% \iffalse
%<*prelim2e>
% \fi
%
@@ -64965,6 +72482,7 @@
% \limitspstricks
%
% \changes{v0.59}{2018/09/05}{\pkg{pstricks}: Added.}
+% \changes{v0.893}{2020/10/28}{\pkg{pstricks}: Fixed \env{pspicture*}.}
%
% \codehtml
%
@@ -64977,6 +72495,11 @@
\begin{lateximage}[pspicture]%
}
\AfterEndEnvironment{pspicture}{\end{lateximage}}
+
+\BeforeBeginEnvironment{pspicture*}{%
+ \begin{lateximage}[pspicture]%
+}
+\AfterEndEnvironment{pspicture*}{\end{lateximage}}
% \end{macrocode}
%
% \iffalse
@@ -65047,6 +72570,45 @@
%
%
% \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 at ProvidesPackagePass{pxfonts}[2008/01/22]
+% \end{macrocode}
+%
+% For \brand{MathJax}:
+% \begin{macrocode}
+\LWR at origRequirePackage{lwarp-common-mathjax-letters}
+
+\begin{warpMathJax}
+\LWR at infoprocessingmathjax{pxfonts}
+
+\LWR at mathjax@addgreek at l@up{}{up}
+\end{warpMathJax}
+% \end{macrocode}
+%
+% \iffalse
+%</pxfonts>
+% \fi
+%
+%
+%
+% \iffalse
%<*pxftnright>
% \fi
%
@@ -65221,7 +72783,7 @@
\xpatchcmd{\endquoting}{\quo at endtext}
{\quo at endtext\end{LWR at blocktextcurrentfont}\LWR at stoppars}
{}
- {\LWR at patcherror{imakeidx}{endquoting}}
+ {\LWR at patcherror{quoting}{endquoting}}
% \end{macrocode}
% \iffalse
@@ -65307,22 +72869,143 @@
% \changes{v0.38}{2017/08/26}{\pkg{realscripts}: Added.}
% \changes{v0.42}{2017/10/16}{\pkg{realscripts}: Fix for subscripts in a \env{lateximage}.}
% \changes{v0.47}{2018/01/26}{\pkg{realscripts}: Fix: Line wrap at \HTML\ hyphen.}
+% \changes{v0.84}{2020/04/10}{\pkg{realscripts}: Fixed starred \cs{textsuperscript},
+% \cs{textsubscript}.}
+% \changes{v0.84}{2020/04/13}{\pkg{realscripts}: Improved supersub scripts.}
+% \changes{v0.84}{2020/04/13}{\pkg{realscripts}: Added print mode.}
%
% \codehtml
%
% \begin{macrocode}
-\LWR at ProvidesPackageDrop{realscripts}[2016/02/13]
+\LWR at ProvidesPackagePass{realscripts}[2016/02/13]
% \end{macrocode}
%
+%
+% The following are copied verbatim from the original,
+% but given new names, since \pkg{xparse} definitions should not be \cs{let}.
% \begin{macrocode}
-\let\realsuperscript\textsuperscript
-\let\realsubscript\textsubscript
+\ExplSyntaxOn
-\let\fakesuperscript\textsuperscript
-\let\fakesubscript\textsubscript
+\DeclareDocumentCommand \LWR at print@realsubscript {m} {
+ \fontspec_if_fontspec_font:TF {
+ \fontspec_if_opentype:TF
+ { \fontspec_if_feature:nTF {+subs}
+ { {\addfontfeature{VerticalPosition=Inferior}#1} }
+ { \fontspec_if_feature:nTF {+sinf}
+ { {\addfontfeature{VerticalPosition=ScientificInferior}#1} }
+ { \fakesubscript{#1} }
+ }
+ }
+ { \fontspec_if_aat_feature:nnTF {10} {2}
+ { {\addfontfeature{VerticalPosition=Inferior}#1} }
+ { \fakesubscript{#1} }
+ }
+ }
+ { \fakesubscript{#1} }
+}
-\newlength{\subsupersep}
+\DeclareDocumentCommand \LWR at HTML@realsubscript {m} {
+ \LWR at HTML@textsubscript{#1}
+}
+\LWR at formatted{realsubscript}
+
+
+\DeclareDocumentCommand \LWR at print@realsuperscript {m} {
+ \fontspec_if_fontspec_font:TF
+ {
+ \fontspec_if_opentype:TF
+ { \fontspec_if_feature:nTF {+sups}
+ { {\addfontfeature{VerticalPosition=Superior}#1} }
+ { \fakesuperscript{#1} }
+ }
+ { \fontspec_if_aat_feature:nnTF {10} {1}
+ { {\addfontfeature{VerticalPosition=Superior}#1} }
+ { \fakesuperscript{#1} }
+ }
+ }
+ { \fakesuperscript{#1} }
+}
+
+\DeclareDocumentCommand \LWR at HTML@realsuperscript {m} {
+ \LWR at HTML@textsuperscript{#1}
+}
+
+\LWR at formatted{realsuperscript}
+
+
+\DeclareDocumentCommand \LWR at print@textsubsuperscript {s O{l} mm} {
+ \leavevmode
+ \group_begin:
+ \IfBooleanTF #1
+ {
+ \hbox_set:Nn \l_tmpa_box {\textsubscript*{#3}}
+ \hbox_set:Nn \l_tmpb_box {\textsuperscript*{#4}}
+ }
+ {
+ \hbox_set:Nn \l_tmpa_box {\textsubscript{#3}}
+ \hbox_set:Nn \l_tmpb_box {\textsuperscript{#4}}
+ }
+ \hbox_set:Nn \l_tmpa_box
+ { \box_move_down:nn \subsupersep {\box_use:N \l_tmpa_box} }
+ \hbox_set:Nn \l_tmpb_box
+ { \box_move_up:nn \subsupersep {\box_use:N \l_tmpb_box} }
+ \str_case:nnF {#2}
+ {
+ {l}{\use_i:nnn}
+ {c}{\use_ii:nnn}
+ {r}{\use_iii:nnn}
+ }
+ {
+ \PackageWarning{realscripts}{
+ Unknown~alignment~option~`#2'. \MessageBreak
+ One~ of~ `l',~ `c',~ `r',~ only
+ }
+ \use_i:nnn
+ }
+ {
+ \hbox_overlap_right:n { \box_use:N \l_tmpa_box }
+ \hbox_overlap_right:n { \box_use:N \l_tmpb_box }
+ \skip_horizontal:n {
+ \dim_max:nn {\box_wd:N \l_tmpa_box} {\box_wd:N \l_tmpb_box}
+ }
+ }
+ {
+ \dim_compare:nTF { \box_wd:N \l_tmpa_box > \box_wd:N \l_tmpb_box }
+ {
+ \skip_horizontal:n {
+ 0.5\box_wd:N \l_tmpa_box-0.5\box_wd:N \l_tmpb_box
+ }
+ \box_use:N \l_tmpb_box
+ \skip_horizontal:n {
+ -0.5\box_wd:N \l_tmpa_box-0.5\box_wd:N \l_tmpb_box
+ }
+ \box_use:N \l_tmpa_box
+ }
+ {
+ \skip_horizontal:n {
+ 0.5\box_wd:N \l_tmpb_box-0.5\box_wd:N \l_tmpa_box
+ }
+ \box_use:N \l_tmpa_box
+ \skip_horizontal:n {
+ -0.5\box_wd:N \l_tmpb_box-0.5\box_wd:N \l_tmpa_box
+ }
+ \box_use:N \l_tmpb_box
+ }
+ }
+ {
+ \skip_horizontal:n {
+ \dim_max:nn {\box_wd:N \l_tmpa_box} {\box_wd:N \l_tmpb_box}
+ }
+ \hbox_overlap_left:n { \box_use:N \l_tmpa_box }
+ \hbox_overlap_left:n { \box_use:N \l_tmpb_box }
+ }
+ \group_end:
+}
+
+\ExplSyntaxOff
+
+
\newcommand*{\LWR at realscriptsalign}{}
\newcommand*{\LWR at setrealscriptsalign}[1]{%
@@ -65339,18 +73022,23 @@
}{}%
}
-\DeclareDocumentCommand \textsubsuperscript {s O{l} mm} {%
+\DeclareDocumentCommand \LWR at HTML@textsubsuperscript {s O{l} mm} {%
\LWR at setrealscriptsalign{#2}%
\InlineClass[\LWR at realscriptsalign]{supsubscript}{%
\textsuperscript{#4}\textsubscript{#3}%
}%
}
+\LWR at formatted{textsubsuperscript}
-\DeclareDocumentCommand \textsupersubscript {s O{l} mm} {%
- \LWR at setrealscriptsalign{#2}%
- \InlineClass[\LWR at realscriptsalign]{supsubscript}{%
- \textsubscript{#4}\textsuperscript{#3}%
- }%
+\FilenameNullify{%
+ \RenewDocumentCommand{\textsuperscript}{s m}{}%
+ \RenewDocumentCommand{\textsubscript}{s m}{}%
+ \renewcommand{\fakesubscript}[1]{}%
+ \renewcommand{\fakesuperscript}[1]{}%
+ \renewcommand{\realsubscript}[1]{}%
+ \renewcommand{\realsuperscript}[1]{}%
+ \renewcommand{\textsubsuperscript}[2]{}%
+ \renewcommand{\textsupersubscript}[2]{}%
}
% \end{macrocode}
%
@@ -65615,8 +73303,44 @@
%
%
%
+% \iffalse
+%<*repltext>
+% \fi
%
+% \part{lwarp-repltext.sty}
+%
+% \section{repltext}
+%
+% \DescribePackage{repltext}
+% \pkg{repltext} is ignored.
+%
+% \changes{v0.893}{2020/10/16}{\pkg{repltext}: Added.}
+%
+% \codehtml
+%
+% \begin{macrocode}
+\LWR at ProvidesPackageDrop{repltext}[2020/09/25]
+% \end{macrocode}
+%
+% \begin{macrocode}
+\newcommand{\repltext}[2]{#2}
+\newcommand*{\prevrepl}{}
+% \end{macrocode}
+%
+% For \brand{MathJax}:
+% \begin{macrocode}
+\begin{warpMathJax}
+\CustomizeMathJax{\newcommand{\repltext}[2]{#2}}
+\end{warpMathJax}
+% \end{macrocode}
+%
% \iffalse
+%</repltext>
+% \fi
+%
+%
+%
+% \iffalse
%<*resizegather>
% \fi
%
@@ -65680,8 +73404,51 @@
%
%
%
+% \iffalse
+%<*rlepsf>
+% \fi
%
+% \part{lwarp-rlepsf.sty}
+%
+% \section{rlepsf}
+%
+% \credits{Michael Greene, Colin Rourke}
+%
+% \DescribePackage{rlepsf}
+% \pkg{rlepsf} is patched for use by \pkg{lwarp}.
+%
+% The file \filenm{rlepsf.tex} must be copied to \filenm{rlepsf.sty} for
+% \trouble[Rename the style file!]{rlepsf=\pkg{rlepsf}}
+% \pkg{lwarp} to detect and patch it.
+%
+% \changes{v0.895}{2019/01/19}{\pkg{rlepsf}: Added.}
+%
+% \codehtml
+%
+% \begin{macrocode}
+\LWR at ProvidesPackagePass{rlepsf}% No date given.
+% \end{macrocode}
+%
+% \begin{macrocode}
+\xpretocmd{\relabelbox}
+ {\begin{lateximage}}
+ {}
+ {\LWR at patcherror{rlepsf}{relabelbox}}
+
+\xapptocmd{\endrelabelbox}
+ {\end{lateximage}}
+ {}
+ {\LWR at patcherror{rlepsf}{endrelabelbox}}
+% \end{macrocode}
+%
% \iffalse
+%</rlepsf>
+% \fi
+%
+%
+%
+%
+% \iffalse
%<*rmathbr>
% \fi
%
@@ -65696,11 +73463,12 @@
% emulated for \brand{MathJax}.
%
% \changes{v0.80}{2020/02/17}{\pkg{rmathbr}: Added.}
+% \changes{v0.894}{2020/12/16}{\pkg{rmathbr}: Updated to v1.1.}
%
% \codehtml
%
% \begin{macrocode}
-\LWR at ProvidesPackagePass{rmathbr}[2016/04/10]
+\LWR at ProvidesPackagePass{rmathbr}[2020/12/11]
% \end{macrocode}
%
% \begin{macrocode}
@@ -65826,27 +73594,41 @@
%
% All rotations are ignored in \HTML\ output.
%
-% \changes{v0.69}{2019/03/09}{\pkg{rotfloat}: Requires \pkg{graphicx}.}
+% \changes{v0.69}{2019/03/09}{\pkg{rotating}: Requires \pkg{graphicx}.}
+% \changes{v0.895}{2021/01/19}{\pkg{rotating}: Supports \env{lateximage}.}
%
% \codehtml
% \begin{macrocode}
-\LWR at ProvidesPackageDrop{rotating}[2016/08/11]
+\LWR at ProvidesPackagePass{rotating}[2016/08/11]
\RequirePackage{graphicx}
% \end{macrocode}
% \begin{macrocode}
-\LetLtxMacro\sidewaystable\table
-\let\endsidewaystable\endtable
+\LetLtxMacro\LWR at HTML@sidewaystable\table
+\let\endLWR at HTML@sidewaystable\endtable
+\LWR at formattedenv{sidewaystable}
-\LetLtxMacro\sidewaysfigure\figure
-\let\endsidewaysfigure\endfigure
+\LetLtxMacro\LWR at HTML@sidewaysfigure\figure
+\let\endLWR at HTML@sidewaysfigure\endfigure
+\LWR at formattedenv{sidewaysfigure}
-\newenvironment*{sideways}{}{}
-\newenvironment*{turn}[1]{}{}
-\newenvironment*{rotate}[1]{}{}
-\NewDocumentCommand{\turnbox}{m +m}{#2}
-\let\rotcaption\caption
-\let\@makerotcaption\@makecaption
+\newenvironment*{LWR at HTML@sideways}{}{}
+\LWR at formattedenv{sideways}
+
+\newenvironment*{LWR at HTML@turn}[1]{}{}
+\LWR at formattedenv{turn}
+
+\newenvironment*{LWR at HTML@rotate}[1]{}{}
+\LWR at formattedenv{rotate}
+
+\NewDocumentCommand{\LWR at HTML@turnbox}{m +m}{#2}
+\LWR at formatted{turnbox}
+
+\let\LWR at HTML@rotcaption\caption
+\LWR at formatted{rotcaption}
+
+\let\LWR at HTML@@makerotcaption\@makecaption
+\LWR at formatted{@makerotcaption}
% \end{macrocode}
@@ -65874,6 +73656,7 @@
% \pkg{rotfloat} is emulated.
%
% \changes{v0.34}{2017/07/25}{\pkg{rotfloat}: Added.}
+% \changes{v0.84}{2020/04/08}{\pkg{rotfloat}: Fix: Requires \pkg{rotating}.}
%
% \codehtml
% \begin{macrocode}
@@ -65880,6 +73663,7 @@
\LWR at ProvidesPackageDrop{rotfloat}[2004/01/04]
\RequirePackage{float}
+\RequirePackage{rotating}
% \end{macrocode}
%
%
@@ -66026,6 +73810,63 @@
%
%
% \iffalse
+%<*scalerel>
+% \fi
+%
+% \part{lwarp-scalerel.sty}
+%
+% \section{scalerel}
+%
+% \credits{Steven B. Segletes}
+%
+% \DescribePackage{scalerel}
+% \pkg{scalerel} is used as-is for \SVG\ math, and is
+% emulated and ignored for \brand{MathJax}.
+%
+% \changes{v0.891}{2020/09/10}{\pkg{scalerel}: Added.}
+%
+% \codehtml
+%
+% \begin{macrocode}
+\LWR at ProvidesPackagePass{scalerel}[2016/12/29]
+% \end{macrocode}
+%
+% For \brand{MathJax}:
+% \begin{macrocode}
+\begin{warpMathJax}
+\LWR at infoprocessingmathjax{scalerel}
+
+\CustomizeMathJax{\newcommand{\scalerel}{\ifstar{\scalerelplain}{\scalerelplus}}}
+\CustomizeMathJax{\newcommand{\scalerelplain}[3][]{#2}}
+\CustomizeMathJax{\newcommand{\scalerelplus}[3][]{#2#3}}
+\CustomizeMathJax{\newcommand{\stretchrel}{\ifstar{\stretchrelplain}{\stretchrelplus}}}
+\CustomizeMathJax{\newcommand{\stretchrelplain}[3][]{#2}}
+\CustomizeMathJax{\newcommand{\stretchrelplus}[3][]{#2#3}}
+\CustomizeMathJax{\newcommand{\scaleto}[3][]{#2}}
+\CustomizeMathJax{\newcommand{\stretchto}[3][]{#2}}
+\CustomizeMathJax{\newcommand{\scaleleftright}[4][]{#2#3#4}}
+\CustomizeMathJax{\newcommand{\stretchleftright}[4][]{#2#3#4}}
+\CustomizeMathJax{\newcommand{\hstretch}[2]{#2}}
+\CustomizeMathJax{\newcommand{\vstretch}[2]{#2}}
+\CustomizeMathJax{\newcommand{\scaleobj}[2]{#2}}
+\CustomizeMathJax{\newcommand{\ThisStyle}[1]{#1}}
+\CustomizeMathJax{\newcommand{\SavedStyle}{}}
+\CustomizeMathJax{\def\scriptstyleScaleFactor{.7}}
+\CustomizeMathJax{\def\scriptscriptstyleScaleFactor{.5}}
+\CustomizeMathJax{\newcommand{\discernmathstyle}{}}
+\CustomizeMathJax{\newcommand{\ignoremathstyle}[1][T]{}}
+\CustomizeMathJax{\newcommand{\Isnextbyte}[3][v]{}}
+\end{warpMathJax}
+% \end{macrocode}
+%
+% \iffalse
+%</scalerel>
+% \fi
+%
+%
+%
+%
+% \iffalse
%<*schemata>
% \fi
%
@@ -66039,11 +73880,12 @@
% \pkg{schemata} is patched for use by \pkg{lwarp}.
%
% \changes{v0.50}{2018/02/23}{\pkg{schemata}: Added.}
+% \changes{v0.893}{2020/11/26}{\pkg{schemata}: Added \element{alt} text.}
%
% \codehtml
%
% \begin{macrocode}
-\LWR at ProvidesPackagePass{schemata}[2016/01/25]
+\LWR at ProvidesPackagePass{schemata}[2020/11/23]
% \end{macrocode}
% \begin{macrocode}
@@ -66051,17 +73893,17 @@
\LetLtxMacro\LWR at schemata@origSchema\Schema
\renewcommand{\schema}[3][open]{%
-\begin{lateximage}%
-\LWR at print@normalsize
-\LWR at schemata@origschema[#1]{#2}{#3}%
-\end{lateximage}%
+ \begin{lateximage}[-schemata-~\PackageDiagramAltText]%
+ \LWR at print@normalsize%
+ \LWR at schemata@origschema[#1]{#2}{#3}%
+ \end{lateximage}%
}
\renewcommand{\Schema}[5][open]{%
-\begin{lateximage}%
-\LWR at print@normalsize
-\LWR at schemata@origSchema[#1]{#2}{#3}{#4}{#5}%
-\end{lateximage}%
+ \begin{lateximage}[-schemata-~\PackageDiagramAltText]%
+ \LWR at print@normalsize%
+ \LWR at schemata@origSchema[#1]{#2}{#3}{#4}{#5}%
+ \end{lateximage}%
}
% \end{macrocode}
@@ -66086,11 +73928,12 @@
%
% \changes{v0.44}{2017/11/20}{\pkg{scrextend}: Added.}
% \changes{v0.47}{2018/01/26}{\pkg{scrextend}: Fix: Line wrap at \HTML\ hyphen.}
+% \changes{v0.84}{2020/03/28}{\pkg{scrextend}: Updated to v3.29.}
%
% \codehtml
%
% \begin{macrocode}
-\LWR at ProvidesPackageDrop{scrextend}[2018/03/30]
+\LWR at ProvidesPackageDrop{scrextend}[2020/01/24]
% \end{macrocode}
%
% \begin{macrocode}
@@ -66105,15 +73948,84 @@
\DeclareDocumentCommand{\useseriesofkomafont}{m}{}
\DeclareDocumentCommand{\useshapeofkomafont}{m}{}
+\providecommand*{\coverpagetopmargin}{}
+\providecommand*{\coverpagebottommargin}{}
+\providecommand*{\coverpageleftmargin}{}
+\providecommand*{\coverpagerightmargin}{}
+
+% \end{macrocode}
+%
+% Title page:
+% \changes{v0.84}{2020/03/28}{\pkg{scrextend}: Added \cs{titlehead}, \cs{subject},
+% \cs{subtitle}, \cs{published}.}
+% \begin{macrocode}
\AtBeginDocument{
\let\LWR at koma@orig at maketitle\maketitle
\DeclareDocumentCommand{\maketitle}{o}{\LWR at koma@orig at maketitle}
}
+\DeclareDocumentCommand{\@maketitle}{}{%
+ \ifdefvoid{\@titlehead}{}{%
+ \begin{BlockClass}{titlehead}%
+ \@titlehead%
+ \end{BlockClass}%
+ }%
+ \ifdefvoid{\@subject}{}{%
+ \begin{BlockClass}{subject}%
+ \@subject%
+ \end{BlockClass}%
+ }%
+ \LWR at stoppars%
+ \LWR at htmltag{\LWR at tagtitle}%
+ \@title%
+ \LWR at htmltag{\LWR at tagtitleend}%
+ \ifdefvoid{\@subtitle}{}{%
+ \begin{BlockClass}{subtitle}%
+ \@subtitle%
+ \end{BlockClass}%
+ }%
+ \LWR at startpars%
+ \begin{BlockClass}{author}%
+% \end{macrocode}
+% \begin{macrocode}
+ \renewcommand*{\cr}{}%
+ \renewcommand*{\crcr}{}%
+ \renewcommand*{\noalign}{}%
+% \end{macrocode}
+% \begin{macrocode}
+ \renewcommand{\and}{%
+ \end{BlockClass}%
+ \begin{BlockClass}{oneauthor}%
+ }%
+ \begin{BlockClass}{oneauthor}%
+ \@author%
+ \end{BlockClass}%
+ \end{BlockClass}%
+ \begin{BlockClass}{titledate}%
+ \@date%
+ \end{BlockClass}%
+ \ifdefvoid{\@published}{}{%
+ \begin{BlockClass}{published}%
+ \@published%
+ \end{BlockClass}%
+ }%
+}
+
+\AddSubtitlePublished
+
\DeclareDocumentCommand{\extratitle}{m}{}
-\DeclareDocumentCommand{\titlehead}{m}{}
-\DeclareDocumentCommand{\subject}{m}{}
+\DeclareDocumentCommand{\frontispiece}{m}{}
+
+\def\@titlehead{}%
+\DeclareDocumentCommand{\titlehead}{m}{\gdef\@titlehead{#1}}%
+
+\def\@subject{}%
+\DeclareDocumentCommand{\subject}{m}{\gdef\@subject{#1}}%
+
+% \subtitle and \published are defined by \AddSubtitlePublished
+
\DeclareDocumentCommand{\publishers}{m}{\published{#1}}
+
\DeclareDocumentCommand{\uppertitleback}{m}{}
\DeclareDocumentCommand{\lowertitleback}{m}{}
\DeclareDocumentCommand{\dedication}{m}{}
@@ -66120,8 +74032,6 @@
\DeclareDocumentCommand{\ifthispageodd}{m m}{#1}
-\DeclareDocumentCommand{\titlepagestyle}{}{}
-
\DeclareDocumentCommand{\cleardoublepageusingstyle}{m}{}
\DeclareDocumentCommand{\cleardoubleemptypage}{}{}
\DeclareDocumentCommand{\cleardoubleplainpage}{}{}
@@ -66726,8 +74636,37 @@
%
%
%
+% \iffalse
+%<*selectp>
+% \fi
%
+% \part{lwarp-selectp.sty}
+%
+% \section{selectp}
+%
+% \DescribePackage{selectp}
+% \pkg{selectp} is ignored.
+%
+% \changes{v0.893}{2020/10/16}{\pkg{selectp}: Added.}
+%
+% \codehtml
+%
+% \begin{macrocode}
+\LWR at ProvidesPackageDrop{selectp}% no date given
+% \end{macrocode}
+%
+% \begin{macrocode}
+\newcommand*{\outputonly}[1]{}
+% \end{macrocode}
+%
% \iffalse
+%</selectp>
+% \fi
+%
+%
+%
+%
+% \iffalse
%<*semantic-markup>
% \fi
%
@@ -66805,6 +74744,79 @@
%
%
% \iffalse
+%<*seqsplit>
+% \fi
+%
+% \part{lwarp-seqsplit.sty}
+%
+% \section{seqsplit}
+%
+% \credits{Boris Veytsman}
+%
+% \DescribePackage{seqsplit}
+% \pkg{seqsplit} is patched for use by \pkg{lwarp}.
+%
+% For \HTML\ output, the results are similar to print mode, and
+% respond to window size.
+%
+% For \SVG\ math, the
+% \trouble[\SVG\ math results]{seqsplit=\pkg{seqsplit}}
+% output differs from print mode in that the contents
+% are formatted in a minipage, which is then inline with the surrounding math.
+%
+% For \brand{MathJax}, the contents are used as-is.
+%
+% \changes{v0.893}{2020/10/16}{\pkg{seqsplit}: Added.}
+%
+% \codehtml
+%
+% \begin{macrocode}
+\LWR at ProvidesPackagePass{seqsplit}[2006/08/07]
+% \end{macrocode}
+%
+% Special handling because \pkg{lwarp} uses a box for \SVG\ math,
+% which does not normally allow line breaks, so
+% a print-mode \env{minipage} must be used to allow line breaks.
+% The \env{minipage} will not be wrapped inline with any surrounding math.
+% \begin{macrocode}
+\begin{warpHTML}
+\LetLtxMacro\LWR at orig@seqsplit\seqsplit
+
+\renewcommand*{\seqsplit}[1]{%
+ \ifmmode%
+ \begin{LWR at print@minipage}{6in}%
+ \LWR at orig@seqsplit{#1}%
+ \end{LWR at print@minipage}%
+ \else%
+ \InlineClass[word-wrap:break-word]{seqsplit}{\LWR at orig@seqsplit{#1}}%
+ \fi
+}
+% \end{macrocode}
+%
+% Between characters, an empty \HTML\ comment is placed to allow a
+% line wrap in the \HTML\ source, without adding spaces in the output.
+% \begin{macrocode}
+\AtBeginDocument{
+ \newcommand*{\LWR at HTML@seqinsert}{%
+ \LWR at htmlcomment{ }%
+ }
+ \LWR at formatted{seqinsert}
+}
+\end{warpHTML}
+
+\begin{warpMathJax}
+\CustomizeMathJax{\newcommand{\seqsplit}[1]{#1}}
+\end{warpMathJax}
+% \end{macrocode}
+%
+% \iffalse
+%</seqsplit>
+% \fi
+%
+%
+%
+%
+% \iffalse
%<*setspace>
% \fi
@@ -66873,7 +74885,51 @@
%
%
%
+%
+%
% \iffalse
+%<*shadethm>
+% \fi
+%
+% \part{lwarp-shadethm.sty}
+%
+% \section{shadethm}
+%
+% \credits{Jim Hefferon}
+%
+% \DescribePackage{shadethm}
+% \pkg{shadethm} is patched for use by \pkg{lwarp}.
+%
+% \changes{v0.88}{2020/07/07}{\pkg{shadethm}: Added.}
+%
+% \codehtml
+%
+% \begin{macrocode}
+\LWR at ProvidesPackagePass{shadethm}[1999/11/23]
+% \end{macrocode}
+%
+% \begin{macrocode}
+\newenvironment{LWR at HTML@shadebox}
+{%
+ \convertcolorspec{named}{shadethmcolor}{HTML}\LWR at tempcolor%
+ \convertcolorspec{named}{shaderulecolor}{HTML}\LWR at tempcolortwo%
+ \begin{BlockClass}[%
+ background: \LWR at origpound\LWR at tempcolor ;
+ border: 1px solid \LWR at origpound\LWR at tempcolortwo ;
+ ]{shadebox}
+}%
+{\end{BlockClass}}
+\LWR at formattedenv{shadebox}
+% \end{macrocode}
+%
+% \iffalse
+%</shadethm>
+% \fi
+%
+%
+%
+%
+% \iffalse
%<*shadow>
% \fi
@@ -67051,6 +75107,82 @@
%
%
% \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 at ProvidesPackageDrop{shuffle}[2008/10/27]
+\LWR at origRequirePackage{lwarp-common-mathjax-overlaysymbols}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\newcommand*{\LWR at 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 at shuffle@finish}{%
+ \end{picture}
+ \hspace*{.75em}
+ \hspace*{.2em}
+}
+
+\newcommand*{\shuffle}{%
+ \LWR at shuffle@start%
+ \LWR at shuffle@finish%
+}
+
+\newcommand*{\cshuffle}{%
+ \LWR at shuffle@start%
+ \put(.05,.65){\line(1,0){.65}}%
+ \LWR at shuffle@finish%
+}
+% \end{macrocode}
+%
+% \changes{v0.891}{2020/09/08}{\pkg{shuffle}: Added \cs{mathbin}, improved bar.}
+% \begin{macrocode}
+\begin{warpMathJax}
+\CustomizeMathJax{\newcommand{\shuffle}{\mathbin{\unicode{0x29E2}}}}
+\CustomizeMathJax{\newcommand{\cshuffle}{%
+ \mathbin{\LWRoverlaysymbols{\raise{.6ex}{-}}{\unicode{0x29E2}}}%
+}}
+\end{warpMathJax}
+% \end{macrocode}
+%
+% \iffalse
+%</shuffle>
+% \fi
+%
+%
+%
+%
+% \iffalse
%<*sidecap>
% \fi
@@ -67139,16 +75271,17 @@
%
% \begin{noindmacro}{\sidecaption} * \oarg{entry} \oarg{offset} \marg{text}
% \changes{v0.47}{2018/01/30}{\pkg{sidenotes}: Fix for \SVG\ math in captions.}
+% \changes{v0.84}{2020/04/16}{\pkg{sidenotes}: \cs{sidecaption} not long arg.}
% \begin{macrocode}
-\RenewDocumentCommand \sidecaption {s o o +m}
+\RenewDocumentCommand \sidecaption {s o o m}
{
\LWR at stoppars
\begingroup
- \captionsetup{style=sidecaption}
+ \captionsetup{style=sidecaption}%
\IfBooleanTF{#1}
{ % starred
\begin{BlockClass}[border:none ; box-shadow:none]{marginblock}
- \caption*{#4}
+ \caption*{#4}%
\end{BlockClass}
}
{ % unstarred
@@ -67172,11 +75305,11 @@
% \begin{macrocode}
\NewDocumentEnvironment{KFLTsidenotes at marginfloat}{O{-1.2ex} m}
{% start
-\LWR at BlockClassWP{float:right; width:2in; margin:10pt}{}{marginblock}%
-\captionsetup{type=#2}%
+ \LWR at BlockClassWP{float:right; width:2in; margin:10pt}{}{marginblock}%
+ \renewcommand*{\@captype}{#2}%
}
{%
-\endLWR at BlockClassWP%
+ \endLWR at BlockClassWP%
}
\RenewDocumentEnvironment{marginfigure}{o}
@@ -67232,9 +75365,89 @@
%
%
%
+% \iffalse
+%<*simplebnf>
+% \fi
%
+% \part{lwarp-simplebnf.sty}
%
+% \section{simplebnf}
+%
+% \credits{Jay Lee}
+%
+% \DescribePackage{simplebnf}
+% \pkg{simplebnf} is patched for use by \pkg{lwarp}.
+%
+% \changes{v0.893}{2020/10/29}{\pkg{simplebnf}: Added.}
+%
+% \codehtml
+%
+% \begin{macrocode}
+\LWR at ProvidesPackagePass{simplebnf}[2020/09/01]
+% \end{macrocode}
+%
+% The entire object is placed inside a \env{lateximage} whose
+% \attribute{alt} text is the \LaTeX\ source \acro{BNF} expression.
+% \begin{macrocode}
+\ExplSyntaxOn
+
+\RenewDocumentEnvironment { bnfgrammar } { +b }
+ {
+ %% \l__input_seq is a list of term definitions.
+ \regex_split:nnN { ;; } { #1 } \l__input_seq
+ \begin{center}
+ \begin{lateximage}[#1]% lwarp
+ \tl_set:Nn \l__table_tl
+ {
+ \begin{tabular}{lcll}
+ }
+ \bool_set_true:N \l_tmp_first_term % Is this the first term in this grammar?
+ \seq_map_inline:Nn \l__input_seq
+ {
+ %% \l__term_seq - (term, rhses)...
+ %% \l__term_tl - term
+ %% \l__keypairs_tl - rhses
+ \regex_split:nnN { ::= } { ##1 } \l__term_seq
+ \seq_pop_left:NN \l__term_seq \l__term_tl
+ \seq_pop_left:NN \l__term_seq \l__keypairs_tl
+
+ \regex_replace_once:nnN { ^\s+ } {} \l__term_tl
+
+ \bool_if:NTF \l_tmp_first_term
+ {
+ \bool_set_false:N \l_tmp_first_term
+ }
+ {
+ \tl_put_right:Nn \l__table_tl { \\ }
+ }
+ \tl_put_right:Nx \l__table_tl
+ {
+ \bnfexpr { \l__term_tl } & \g__simplebnf_defeq_tl &
+ }
+ %% \l__keypairs_seq - (rhs:annot | rhs)...
+ \seq_set_split:NnV \l__keypairs_seq { | } \l__keypairs_tl
+
+ \bool_set_true:N \l__first_rhs
+ \seq_map_function:NN \l__keypairs_seq \simplebnf_typeset_rhs:n
+ }
+
+ \tl_put_right:Nn \l__table_tl { \end{tabular} }
+ \tl_use:N \l__table_tl
+ \end{lateximage}% lwarp
+ \end{center}
+ }
+ { }
+
+\ExplSyntaxOff
+% \end{macrocode}
+%
% \iffalse
+%</simplebnf>
+% \fi
+%
+%
+%
+% \iffalse
%<*SIunits>
% \fi
%
@@ -67539,7 +75752,7 @@
\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}}}
@@ -67554,12 +75767,18 @@
\CustomizeMathJax{\newcommand{\molepercubicmetrenp}{\mole\usk\rpcubic\metre}}
\CustomizeMathJax{\newcommand{\radianpersquaresecond}{\radian\per\second\squared}}
\CustomizeMathJax{\newcommand{\radianpersquaresecondnp}{\radian\usk\second\rpsquared}}
-\CustomizeMathJax{\newcommand{\kilogramsquaremetrepersecond}{\kilogram\usk\squaremetre\per\second}}
-\CustomizeMathJax{\newcommand{\kilogramsquaremetrepersecondnp}{\kilogram\usk\squaremetre\usk\reciprocal\second}}
+\CustomizeMathJax{\newcommand{\kilogramsquaremetrepersecond}{%
+ \kilogram\usk\squaremetre\per\second%
+}}
+\CustomizeMathJax{\newcommand{\kilogramsquaremetrepersecondnp}{%
+ \kilogram\usk\squaremetre\usk\reciprocal\second%
+}}
\CustomizeMathJax{\newcommand{\radianpersecond}{\radian\per\second}}
\CustomizeMathJax{\newcommand{\radianpersecondnp}{\radian\usk\reciprocal\second}}
\CustomizeMathJax{\newcommand{\squaremetrepercubicmetre}{\squaremetre\per\cubic\metre}}
-\CustomizeMathJax{\newcommand{\squaremetrepercubicmetrenp}{\squaremetre\usk\rpcubic\metre}}
+\CustomizeMathJax{\newcommand{\squaremetrepercubicmetrenp}{%
+ \squaremetre\usk\rpcubic\metre%
+}}
\CustomizeMathJax{\newcommand{\katalpercubicmetre}{\katal\per\cubic\metre}}
\CustomizeMathJax{\newcommand{\katalpercubicmetrenp}{\katal\usk\rpcubic\metre}}
\CustomizeMathJax{\newcommand{\coulombpermol}{\coulomb\per\mole}}
@@ -67568,8 +75787,12 @@
\CustomizeMathJax{\newcommand{\amperepersquaremetrenp}{\ampere\usk\rpsquare\metre}}
\CustomizeMathJax{\newcommand{\kilogrampercubicmetre}{\kilogram\per\cubic\metre}}
\CustomizeMathJax{\newcommand{\kilogrampercubicmetrenp}{\kilogram\usk\rpcubic\metre}}
-\CustomizeMathJax{\newcommand{\squaremetrepernewtonsecond}{\squaremetre\per\newton\usk\second}}
-\CustomizeMathJax{\newcommand{\squaremetrepernewtonsecondnp}{\squaremetre\usk\reciprocal\newton\usk\reciprocal\second}}
+\CustomizeMathJax{\newcommand{\squaremetrepernewtonsecond}{%
+ \squaremetre\per\newton\usk\second%
+}}
+\CustomizeMathJax{\newcommand{\squaremetrepernewtonsecondnp}{%
+ \squaremetre\usk\reciprocal\newton\usk\reciprocal\second%
+}}
\CustomizeMathJax{\newcommand{\pascalsecond}{\pascal\usk\second}}
\CustomizeMathJax{\newcommand{\coulombpercubicmetre}{\coulomb\per\cubic\metre}}
\CustomizeMathJax{\newcommand{\coulombpercubicmetrenp}{\coulomb\usk\rpcubic\metre}}
@@ -67597,11 +75820,21 @@
\CustomizeMathJax{\newcommand{\coulombperkilogram}{\coulomb\per\kilogram}}
\CustomizeMathJax{\newcommand{\coulombperkilogramnp}{\coulomb\usk\reciprocal\kilogram}}
\CustomizeMathJax{\newcommand{\squaremetrepersecond}{\squaremetre\per\second}}
-\CustomizeMathJax{\newcommand{\squaremetrepersecondnp}{\squaremetre\usk\reciprocal\second}}
-\CustomizeMathJax{\newcommand{\squaremetrepersquaresecond}{\squaremetre\per\second\squared}}
-\CustomizeMathJax{\newcommand{\squaremetrepersquaresecondnp}{\squaremetre\usk\second\rpsquared}}
-\CustomizeMathJax{\newcommand{\kilogrammetrepersecond}{\kilogram\usk\metre\per\second}}
-\CustomizeMathJax{\newcommand{\kilogrammetrepersecondnp}{\kilogram\usk\metre\usk\reciprocal\second}}
+\CustomizeMathJax{\newcommand{\squaremetrepersecondnp}{%
+ \squaremetre\usk\reciprocal\second%
+}}
+\CustomizeMathJax{\newcommand{\squaremetrepersquaresecond}{%
+ \squaremetre\per\second\squared%
+}}
+\CustomizeMathJax{\newcommand{\squaremetrepersquaresecondnp}{%
+ \squaremetre\usk\second\rpsquared%
+}}
+\CustomizeMathJax{\newcommand{\kilogrammetrepersecond}{%
+ \kilogram\usk\metre\per\second%
+}}
+\CustomizeMathJax{\newcommand{\kilogrammetrepersecondnp}{%
+ \kilogram\usk\metre\usk\reciprocal\second%
+}}
\CustomizeMathJax{\newcommand{\candelapersquaremetre}{\candela\per\squaremetre}}
\CustomizeMathJax{\newcommand{\candelapersquaremetrenp}{\candela\usk\rpsquare\metre}}
\CustomizeMathJax{\newcommand{\amperepermetre}{\ampere\per\metre}}
@@ -67612,54 +75845,93 @@
\CustomizeMathJax{\newcommand{\henrypermetrenp}{\henry\usk\reciprocal\metre}}
\CustomizeMathJax{\newcommand{\kilogrampersecond}{\kilogram\per\second}}
\CustomizeMathJax{\newcommand{\kilogrampersecondnp}{\kilogram\usk\reciprocal\second}}
-\CustomizeMathJax{\newcommand{\kilogrampersquaremetresecond}{\kilogram\per\squaremetre\usk\second}}
-\CustomizeMathJax{\newcommand{\kilogrampersquaremetresecondnp}{\kilogram\usk\rpsquare\metre\usk\reciprocal\second}}
+\CustomizeMathJax{\newcommand{\kilogrampersquaremetresecond}{%
+ \kilogram\per\squaremetre\usk\second%
+}}
+\CustomizeMathJax{\newcommand{\kilogrampersquaremetresecondnp}{%
+ \kilogram\usk\rpsquare\metre\usk\reciprocal\second%
+}}
\CustomizeMathJax{\newcommand{\kilogrampersquaremetre}{\kilogram\per\squaremetre}}
\CustomizeMathJax{\newcommand{\kilogrampersquaremetrenp}{\kilogram\usk\rpsquare\metre}}
\CustomizeMathJax{\newcommand{\kilogrampermetre}{\kilogram\per\metre}}
\CustomizeMathJax{\newcommand{\kilogrampermetrenp}{\kilogram\usk\reciprocal\metre}}
\CustomizeMathJax{\newcommand{\joulepermolekelvin}{\joule\per\mole\usk\kelvin}}
-\CustomizeMathJax{\newcommand{\joulepermolekelvinnp}{\joule\usk\reciprocal\mole\usk\reciprocal\kelvin}}
+\CustomizeMathJax{\newcommand{\joulepermolekelvinnp}{%
+ \joule\usk\reciprocal\mole\usk\reciprocal\kelvin%
+}}
\CustomizeMathJax{\newcommand{\kilogramperkilomole}{\kilogram\per\kilo\mole}}
-\CustomizeMathJax{\newcommand{\kilogramperkilomolenp}{\kilogram\usk\kilo\reciprocal\mole}}
+\CustomizeMathJax{\newcommand{\kilogramperkilomolenp}{%
+ \kilogram\usk\kilo\reciprocal\mole%
+}}
\CustomizeMathJax{\newcommand{\kilogramsquaremetre}{\kilogram\usk\squaremetre}}
\CustomizeMathJax{\newcommand{\kilogramsquaremetrenp}{\kilogramsquaremetre}}
-\CustomizeMathJax{\newcommand{\kilogrammetrepersquaresecond}{\kilogram\usk\metre\per\second\squared}}
-\CustomizeMathJax{\newcommand{\kilogrammetrepersquaresecondnp}{\kilogram\usk\metre\usk\second\rpsquared}}
+\CustomizeMathJax{\newcommand{\kilogrammetrepersquaresecond}{%
+ \kilogram\usk\metre\per\second\squared%
+}}
+\CustomizeMathJax{\newcommand{\kilogrammetrepersquaresecondnp}{%
+ \kilogram\usk\metre\usk\second\rpsquared%
+}}
\CustomizeMathJax{\newcommand{\newtonpersquaremetre}{\newton\per\squaremetre}}
\CustomizeMathJax{\newcommand{\newtonpersquaremetrenp}{\newton\usk\rpsquare\metre}}
\CustomizeMathJax{\newcommand{\persquaremetresecond}{1\per\squaremetre\usk\second}}
-\CustomizeMathJax{\newcommand{\persquaremetresecondnp}{\rpsquare\metre\usk\reciprocal\second}}
+\CustomizeMathJax{\newcommand{\persquaremetresecondnp}{%
+ \rpsquare\metre\usk\reciprocal\second%
+}}
\CustomizeMathJax{\newcommand{\wattperkilogram}{\watt\per\kilogram}}
\CustomizeMathJax{\newcommand{\wattperkilogramnp}{\watt\usk\reciprocal\kilogram}}
\CustomizeMathJax{\newcommand{\wattpercubicmetre}{\watt\per\cubic\metre}}
\CustomizeMathJax{\newcommand{\wattpercubicmetrenp}{\watt\usk\rpcubic\metre}}
-\CustomizeMathJax{\newcommand{\wattpersquaremetresteradian}{\watt\per\squaremetre\usk\steradian}}
-\CustomizeMathJax{\newcommand{\wattpersquaremetresteradiannp}{\watt\usk\rpsquare\metre\usk\rp\steradian}}
+\CustomizeMathJax{\newcommand{\wattpersquaremetresteradian}{%
+ \watt\per\squaremetre\usk\steradian%
+}}
+\CustomizeMathJax{\newcommand{\wattpersquaremetresteradiannp}{%
+ \watt\usk\rpsquare\metre\usk\rp\steradian%
+}}
\CustomizeMathJax{\newcommand{\jouleperkilogramkelvin}{\joule\per\kilogram\usk\kelvin}}
-\CustomizeMathJax{\newcommand{\jouleperkilogramkelvinnp}{\joule\usk\reciprocal\kilogram\usk\reciprocal\kelvin}}
+\CustomizeMathJax{\newcommand{\jouleperkilogramkelvinnp}{%
+ \joule\usk\reciprocal\kilogram\usk\reciprocal\kelvin%
+}}
\CustomizeMathJax{\newcommand{\squaremetreperkilogram}{\squaremetre\per\kilogram}}
-\CustomizeMathJax{\newcommand{\rpsquaremetreperkilogram}{\squaremetre\usk\reciprocal\kilogram}}
+\CustomizeMathJax{\newcommand{\rpsquaremetreperkilogram}{%
+ \squaremetre\usk\reciprocal\kilogram%
+}}
\CustomizeMathJax{\newcommand{\cubicmetreperkilogram}{\cubic\metre\per\kilogram}}
-\CustomizeMathJax{\newcommand{\rpcubicmetreperkilogram}{\cubic\metre\usk\reciprocal\kilogram}}
+\CustomizeMathJax{\newcommand{\rpcubicmetreperkilogram}{%
+ \cubic\metre\usk\reciprocal\kilogram%
+}}
\CustomizeMathJax{\newcommand{\newtonpermetre}{\newton\per\metre}}
\CustomizeMathJax{\newcommand{\newtonpermetrenp}{\newton\usk\reciprocal\metre}}
\CustomizeMathJax{\newcommand{\Celsius}{\unicode{x2103}}}
\CustomizeMathJax{\newcommand{\wattpermetrekelvin}{\watt\per\metre\usk\kelvin}}
-\CustomizeMathJax{\newcommand{\wattpermetrekelvinnp}{\watt\usk\reciprocal\metre\usk\reciprocal\kelvin}}
-\CustomizeMathJax{\newcommand{\newtonmetre}{\newton\usk\metre} \CustomizeMathJax{\newcommand{\newtonmetrenp}{\newtonmetre}}}
-\CustomizeMathJax{\newcommand{\squaremetrepercubicsecond}{\squaremetre\per\cubic\second}}
-\CustomizeMathJax{\newcommand{\squaremetrepercubicsecondnp}{\squaremetre\usk\rpcubic\second}}
+\CustomizeMathJax{\newcommand{\wattpermetrekelvinnp}{%
+ \watt\usk\reciprocal\metre\usk\reciprocal\kelvin%
+}}
+\CustomizeMathJax{\newcommand{\newtonmetre}{\newton\usk\metre}
+\CustomizeMathJax{\newcommand{\newtonmetrenp}{\newtonmetre}}}
+\CustomizeMathJax{\newcommand{\squaremetrepercubicsecond}{%
+ \squaremetre\per\cubic\second%
+}}
+\CustomizeMathJax{\newcommand{\squaremetrepercubicsecondnp}{%
+ \squaremetre\usk\rpcubic\second%
+}}
\CustomizeMathJax{\newcommand{\metrepersecond}{\metre\per\second}}
\CustomizeMathJax{\newcommand{\metrepersecondnp}{\metre\usk\reciprocal\second}}
\CustomizeMathJax{\newcommand{\joulepercubicmetre}{\joule\per\cubicmetre}}
\CustomizeMathJax{\newcommand{\joulepercubicmetrenp}{\joule\usk\rpcubic\metre}}
-\CustomizeMathJax{\newcommand{\kilogrampercubicmetrecoulomb}{\kilogram\per\cubic\metre\usk\coulomb}}
-\CustomizeMathJax{\newcommand{\kilogrampercubicmetrecoulombnp}{\kilogram\usk\rpcubic\metre\usk\reciprocal\coulomb}}
+\CustomizeMathJax{\newcommand{\kilogrampercubicmetrecoulomb}{%
+ \kilogram\per\cubic\metre\usk\coulomb%
+}}
+\CustomizeMathJax{\newcommand{\kilogrampercubicmetrecoulombnp}{%
+ \kilogram\usk\rpcubic\metre\usk\reciprocal\coulomb%
+}}
\CustomizeMathJax{\newcommand{\cubicmetrepersecond}{\cubicmetre\per\second}}
\CustomizeMathJax{\newcommand{\rpcubicmetrepersecond}{\cubicmetre\usk\reciprocal\second}}
-\CustomizeMathJax{\newcommand{\kilogrampersecondcubicmetre}{\kilogram\per\second\usk\cubicmetre}}
-\CustomizeMathJax{\newcommand{\kilogrampersecondcubicmetrenp}{\kilogram\usk\reciprocal\second\usk\rpcubic\metre}}
+\CustomizeMathJax{\newcommand{\kilogrampersecondcubicmetre}{%
+ \kilogram\per\second\usk\cubicmetre%
+}}
+\CustomizeMathJax{\newcommand{\kilogrampersecondcubicmetrenp}{%
+ \kilogram\usk\reciprocal\second\usk\rpcubic\metre%
+}}
\end{warpMathJax}
% \end{macrocode}
%
@@ -67681,7 +75953,8 @@
% \credits{Joseph Wright}
%
% \DescribePackage{siunitx}
-% \pkg{siunitx} is patched for use by \pkg{lwarp}.
+% \pkg{siunitx} is patched for use by \pkg{lwarp},
+% and is emulated for \brand{MathJax}.
%
% \limitssiunitx
%
@@ -67713,7 +75986,7 @@
% \cs{@ensuredmath} is not supported inside an \cs{hbox}, so it must
% temporarily be restored to its original.
% Similar for \cs{mbox}.
-% SVG math is created explicitly when necessary, using \cs{LWR at subsingledollar}.
+% \SVG\ math is created explicitly when necessary, using \cs{LWR at subsingledollar}.
%
% \changes{v0.42}{2017/10/16}{\pkg{siunitx}: Improved \cs{ensuremath}.}
% \changes{v0.48}{2018/02/13}{\pkg{siunitx}: Improved \SVG\ math.}
@@ -67949,6 +76222,7 @@
\cs_new_protected:Npn \__siunitx_textsuperscript:n #1 {\textsuperscript{#1}}
% \end{macrocode}
%
+% \begin{noindmacro}{\num} \oarg{options} \marg{value}
% \begin{macrocode}
\RenewDocumentCommand \num { o m } {
\leavevmode
@@ -67961,7 +76235,11 @@
\__siunitx_number_output:n {#2}
\group_end:% lwarp
}
-
+% \end{macrocode}
+% \end{noindmacro}
+%
+% \begin{noindmacro}{\numrange} \oarg{options} \marg{value1} \marg{value2}
+% \begin{macrocode}
\RenewDocumentCommand \numrange { o m m } {
\leavevmode
\group_begin:% lwarp
@@ -67973,7 +76251,11 @@
\__siunitx_range_numbers:nn {#2} {#3}
\group_end:% lwarp
}
-
+% \end{macrocode}
+% \end{noindmacro}
+%
+% \begin{noindmacro}{\ang} \marg{options} \marg{angle}
+% \begin{macrocode}
\RenewDocumentCommand \ang { o > { \SplitArgument { 2 } { ; } } m } {
\group_begin:% lwarp
\LetLtxMacro\@ensuredmath\LWR at origensuredmath% lwarp
@@ -67983,7 +76265,11 @@
\__siunitx_angle_output:nnn #2
\group_end:% lwarp
}
-
+% \end{macrocode}
+% \end{noindmacro}
+%
+% \begin{noindmacro}{\si} \marg{options} \marg{unit}
+% \begin{macrocode}
\RenewDocumentCommand \si { o m } {
\leavevmode
\group_begin:% lwarp
@@ -67998,8 +76284,11 @@
}
\group_end:% lwarp
}
-
-
+% \end{macrocode}
+% \end{noindmacro}
+%
+% \begin{noindmacro}{\SIrange} \oarg{options} \marg{value1} \marg{value2} \marg{unit}
+% \begin{macrocode}
\RenewDocumentCommand{\SIrange}{o m m m}
{%
\leavevmode
@@ -68015,10 +76304,14 @@
}
\group_end:% lwarp
}
-
+% \end{macrocode}
+% \end{noindmacro}
+%
+% \begin{macrocode}
\ExplSyntaxOff
% \end{macrocode}
+
% For \brand{MathJax}.
% (The following runs much faster as separate \cs{CusomizeMathJax} calls instead
% of one single call.)
@@ -68025,21 +76318,249 @@
% \begin{macrocode}
\begin{warpMathJax}
\LWR at 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}}}
+% \end{macrocode}
+%
+% Used as an end marker when parsing values:
+% \changes{v0.895}{2021/01/13}{\pkg{siunitx}: Fix: \brand{MathJax} for \cs{ang}.}
+% \begin{macrocode}
+\CustomizeMathJax{\newcommand{\LWRsiunitxEND}{}}
+% \end{macrocode}
+%
+% \begin{noindmacro}{\ang} \oarg{options} \marg{value}
+% \begin{macrocode}
+\CustomizeMathJax{\def\LWRsiunitxang#1;#2;#3;#4\LWRsiunitxEND{%
+ \ifblank{#1}{}{\num{#1}\degree}%
+ \ifblank{#2}{}{\num{#2}^{\unicode{x2032}}}% \prime
+ \ifblank{#3}{}{\num{#3}^{\unicode{x2033}}}% \dblprime
+}}
+\CustomizeMathJax{\newcommand{\ang}[2][]{\LWRsiunitxang#2;;;\LWRsiunitxEND}}
+% \end{macrocode}
+% \end{noindmacro}
+%
+% Processes scientific notation.
+% Special handling for a mantissa which is either empty or only a minus sign.
+% \changes{v0.895}{2021/01/14}{\pkg{siunitx}, \brand{MathJax}: Scientific notation.}
+% \begin{macrocode}
+\CustomizeMathJax{\newcommand{\LWRsiunitxnumscientific}[2]{%
+ \ifblank{#1}%
+ {}%
+ {%
+ \ifstrequal{#1}{-}%
+ {-}%
+ {\LWRsiunitxprintdecimal{#1}\times}%
+ }%
+ 10^{\LWRsiunitxprintdecimal{#2}}
+}}
+% \end{macrocode}
+%
+% \cs{num} handles optional powers (|e|, |E|, |d|, |D|),
+% multiples (|x|), plus and minus, and period or comma decimal output.
+%
+% To split the string, \cs{def} is used with parameter delimiters.
+% When each of the following macro is used, extra delimiters are padded to the end
+% of the arguments of each macro when used, and
+% the final argument of each collects any extra unused delimiters.
+%
+% \changes{v0.895}{2021/01/14}{\pkg{siunitx}, \brand{MathJax}:
+% \cs{num} sci notation, multiples, +-, decimals, comma.}
+% \begin{macrocode}
+\ExplSyntaxOn
+\AtBeginDocument{
+\ifdefstring{\l__siunitx_output_decimal_tl}{{,}}
+ {% Use decimal comma
+ \CustomizeMathJax{\def\LWRsiunitxprintdecimalsub#1.#2.#3\LWRsiunitxEND{%
+ \mathrm{#1}%
+ \ifblank{#2}
+ {}%
+ {,\mathrm{#2}}
+ }}
-\CustomizeMathJax{\newcommand{\ang}[2][]{(\mathrm{#2})\degree}}
-\CustomizeMathJax{\newcommand{\num}[2][]{\mathrm{#2}}}
+ \CustomizeMathJax{\newcommand{\LWRsiunitxprintdecimal}[1]{%
+ \LWRsiunitxprintdecimalsub#1...\LWRsiunitxEND%
+ }}
+ }
+ {% Use decimal point
+ \CustomizeMathJax{\def\LWRsiunitxprintdecimalsub#1,#2,#3\LWRsiunitxEND{%
+ \mathrm{#1}%
+ \ifblank{#2}
+ {}%
+ {.\mathrm{#2}}
+ }}
+
+ \CustomizeMathJax{\newcommand{\LWRsiunitxprintdecimal}[1]{%
+ \LWRsiunitxprintdecimalsub#1,,,\LWRsiunitxEND%
+ }}
+ }
+}
+\ExplSyntaxOff
+% \end{macrocode}
+%
+% \begin{noindmacro}{\num} \oarg{options} \marg{value}
+% \begin{macrocode}
+\CustomizeMathJax{\def\LWRsiunitxnumplus#1+#2+#3\LWRsiunitxEND{%
+ \ifblank{#2}
+ {\LWRsiunitxprintdecimal{#1}}% no plus
+ {%
+ \ifblank{#1}%
+ {\LWRsiunitxprintdecimal{#2}}% leading plus, ignore
+ {% a+b
+ \LWRsiunitxprintdecimal{#1}%
+ \unicode{x02B}% plus sign
+ \LWRsiunitxprintdecimal{#2}%
+ }%
+ }%
+}}
+
+\CustomizeMathJax{\def\LWRsiunitxnumminus#1-#2-#3\LWRsiunitxEND{%
+ \ifblank{#2}
+ {\LWRsiunitxnumplus#1+++\LWRsiunitxEND}%
+ {%
+ \LWRsiunitxprintdecimal{#1}%
+ \unicode{x02212}% mathematical minus sign
+ \LWRsiunitxprintdecimal{#2}%
+ }%
+}}
+
+\CustomizeMathJax{\def\LWRsiunitxnumpm#1+-#2+-#3\LWRsiunitxEND{%
+ \ifblank{#2}%
+ {\LWRsiunitxnumminus#1---\LWRsiunitxEND}%
+ {%
+ \LWRsiunitxprintdecimal{#1}%
+ \unicode{x0B1}% \pm
+ \LWRsiunitxprintdecimal{#2}%
+ }%
+}}
+
+\CustomizeMathJax{\def\LWRsiunitxnumx#1x#2x#3x#4\LWRsiunitxEND{%
+ \ifblank{#2}%
+ {\LWRsiunitxnumpm#1+-+-\LWRsiunitxEND}%
+ {%
+ \ifblank{#3}%
+ {%
+ \LWRsiunitxprintdecimal{#1}%
+ \times%
+ \LWRsiunitxprintdecimal{#2}%
+ }%
+ {%
+ \LWRsiunitxprintdecimal{#1}%
+ \times%
+ \LWRsiunitxprintdecimal{#2}%
+ \times%
+ \LWRsiunitxprintdecimal{#3}%
+ }%
+ }%
+}}
+
+\CustomizeMathJax{\def\LWRsiunitxnumD#1D#2D#3\LWRsiunitxEND{%
+ \ifblank{#2}%
+ {\LWRsiunitxnumx#1xxxxx\LWRsiunitxEND}%
+ {\mathrm{\LWRsiunitxnumscientific{#1}{#2}}}%
+}}
+
+\CustomizeMathJax{\def\LWRsiunitxnumd#1d#2d#3\LWRsiunitxEND{%
+ \ifblank{#2}%
+ {\LWRsiunitxnumD#1DDD\LWRsiunitxEND}%
+ {\mathrm{\LWRsiunitxnumscientific{#1}{#2}}}%
+}}
+
+\CustomizeMathJax{\def\LWRsiunitxnumE#1E#2E#3\LWRsiunitxEND{%
+ \ifblank{#2}%
+ {\LWRsiunitxnumd#1ddd\LWRsiunitxEND}%
+ {\mathrm{\LWRsiunitxnumscientific{#1}{#2}}}%
+}}
+
+\CustomizeMathJax{\def\LWRsiunitxnume#1e#2e#3\LWRsiunitxEND{%
+ \ifblank{#2}%
+ {\LWRsiunitxnumE#1EEE\LWRsiunitxEND}%
+ {\mathrm{\LWRsiunitxnumscientific{#1}{#2}}}%
+}}
+
+\CustomizeMathJax{\def\LWRsiunitxnumcomma#1,#2,#3\LWRsiunitxEND{%
+ \ifblank{#2}
+ {\LWRsiunitxnume#1eee\LWRsiunitxEND}
+ {\LWRsiunitxnume#1.#2eee\LWRsiunitxEND}
+}}
+
+\CustomizeMathJax{\newcommand{\num}[2][]{\LWRsiunitxnumcomma#2,,,\LWRsiunitxEND}}
+% \end{macrocode}
+% \end{noindmacro}
+%
+% \begin{noindmacro}{\si} \oarg{options} \marg{unit}
+% \begin{macrocode}
\CustomizeMathJax{\newcommand{\si}[2][]{\mathrm{#2}}}
+% \end{macrocode}
+% \end{noindmacro}
%
-% \SI[opt]{num}[preunit]{unit}
-\CustomizeMathJax{\newcommand{\LWRSI}[2][]{\mathrm{#1\LWRSInumber\,#2}}}
-\CustomizeMathJax{\newcommand{\SI}[2][]{\def\LWRSInumber{#2}\LWRSI}}
+% \begin{noindmacro}{\SI} \oarg{options} \marg{value} \oarg{prefix} \marg{unit}
%
+% \cs{SI} has a second optional arg, which is parsed using \cs{ifnextchar}.
+% \changes{v0.895}{2021/01/14}{\pkg{siunitx}: \brand{MathJax}: \cs{SI} prefix parsing.}
+% \begin{macrocode}
+\CustomizeMathJax{\def\LWRsiunitxSIopt#1[#2]#3{%
+ {#2}\num{#1}{#3}%
+}}
+
+\CustomizeMathJax{\newcommand{\LWRsiunitxSI}[2]{%
+ \num{#1}\,{#2}%
+}}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\CustomizeMathJax{\newcommand{\SI}[2][]{%
+ \ifnextchar[%
+ {\LWRsiunitxSIopt{#2}}%
+ {\LWRsiunitxSI{#2}}%
+}}
+% \end{macrocode}
+% \end{noindmacro}
+%
+% \begin{noindmacro}{\numlist} \oarg{options} \marg{list}
+%
+% \cs{numlist} should only be used in text mode.
+% If used in \brand{MathJax}, it is merely printed as input.
+% \begin{macrocode}
\CustomizeMathJax{\newcommand{\numlist}[2][]{\mathrm{#2}}}
-\CustomizeMathJax{\newcommand{\numrange}[3][]{\mathrm{#2~-- #3}}}
+% \end{macrocode}
+% \end{noindmacro}
+%
+% \begin{noindmacro}{\numrange} \oarg{options} \marg{value1} \marg{value2}
+%
+% \cs{numrange} should only be used in text mode.
+% If used in \brand{MathJax} math, an en-dash is used instead of the \optn{range-phase}.
+% \changes{v0.89}{2020/08/02}{\pkg{siunitx}: Unicode for endash.}
+% \begin{macrocode}
+\CustomizeMathJax{\newcommand{\numrange}[3][]{\num{#2}\,\unicode{x2013}\,\num{#3}}}
+% \end{macrocode}
+% \end{noindmacro}
+%
+% \begin{noindmacro}{\SIlist} \oarg{options} \marg{list}
+%
+% \cs{SIlist} and \cs{SIrange} should only be used in text mode.
+% If used in \brand{MathJax}, a simple emulation is provided.
+% \begin{macrocode}
\CustomizeMathJax{\newcommand{\SIlist}[3][]{\mathrm{#2\,#3}}}
-\CustomizeMathJax{\newcommand{\SIrange}[4][]{\mathrm{#2\,#4~-- #3\,#4}}}
+% \end{macrocode}
+% \end{noindmacro}
+%
+% \begin{noindmacro}{\SIrange} \oarg{options} \marg{value1} \marg{value2} \marg{unit}
+% \begin{macrocode}
+\CustomizeMathJax{\newcommand{\SIrange}[4][]{\num{#2}\,#4\,\unicode{x2013}\,\num{#3}\,#4}}
+% \end{macrocode}
+% \end{noindmacro}
+%
+% \begin{noindmacro}{\tablenum} \oarg{options} \marg{value}
+% \begin{macrocode}
\CustomizeMathJax{\newcommand{\tablenum}[2][]{\mathrm{#2}}}
+% \end{macrocode}
+% \end{noindmacro}
%
+% \begin{macrocode}
\CustomizeMathJax{\newcommand{\ampere}{\mathrm{A}}}
\CustomizeMathJax{\newcommand{\candela}{\mathrm{cd}}}
\CustomizeMathJax{\newcommand{\kelvin}{\mathrm{K}}}
@@ -68089,8 +76610,8 @@
\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}}}
@@ -68265,6 +76786,382 @@
%
%
% \iffalse
+%<*skmath>
+% \fi
+%
+% \part{lwarp-skmath.sty}
+%
+% \section{skmath}
+%
+% \credits{Simon Sigurdhsson}
+%
+% \DescribePackage{skmath}
+% \pkg{skmath} is used as-is for \SVG\ math,
+% and is emulated for \brand{MathJax}.
+%
+% \changes{v0.895}{2021/01/13}{\pkg{skmath}: Added.}
+%
+% \codehtml
+%
+% \begin{macrocode}
+\LWR at ProvidesPackagePass{skmath}[2019/10/15]
+% \end{macrocode}
+%
+% Only defined if package option requested:
+% \begin{macrocode}
+\begin{warpMathJax}
+\ExplSyntaxOn
+\bool_if:NT\g__skmath_define_common_sets_bool{
+\CustomizeMathJax{\newcommand{\N}{\mathbb{N}}}
+\CustomizeMathJax{\newcommand{\Z}{\mathbb{Z}}}
+\CustomizeMathJax{\newcommand{\Q}{\mathbb{Q}}}
+\CustomizeMathJax{\newcommand{\R}{\mathbb{R}}}
+\CustomizeMathJax{\newcommand{\C}{\mathbb{C}}}
+}
+% \end{macrocode}
+%
+% \pkg{skmath} is using \pkg{l3keys}, which does not seem to have
+% an equivalent to \cs{@ifpackagewith}.
+% To detect package options, comparisons with the following are made to see if
+% various macros have been defined as follows:
+% \begin{macrocode}
+\cs_gset_nopar:Npn\LWR__skmath_imaginary_unit:n#1{{#1}}
+\cs_gset_nopar:Npn\LWR__skmath_natural_log_e:{{e}}
+\cs_gset_nopar:Npn\LWR__skmath_integral_d:{{d}}
+\cs_gset_nopar:Npn\LWR__skmath_total_derivative_d:{{d}}
+% \end{macrocode}
+%
+% If \optn{notation=iso}, use upright, else italic:
+% \begin{macrocode}
+\cs_if_eq:NNTF \__skmath_imaginary_unit:n \LWR__skmath_imaginary_unit:n
+ {
+ \CustomizeMathJax{\newcommand{ii}{\mathit{i}}}
+ \CustomizeMathJax{\newcommand{jj}{\mathit{j}}}
+ }
+ {
+ \CustomizeMathJax{\newcommand{ii}{\mathrm{i}}}
+ \CustomizeMathJax{\newcommand{jj}{\mathrm{j}}}
+ }
+% \end{macrocode}
+%
+% If \optn{notation=iso}, use upright, else italic:
+% \begin{macrocode}
+\cs_if_eq:NNTF \__skmath_natural_log_e: \LWR__skmath_natural_log_e:
+ { \CustomizeMathJax{\newcommand{\ee}{\mathit{e}}} }
+ { \CustomizeMathJax{\newcommand{\ee}{\mathrm{e}}} }
+% \end{macrocode}
+%
+% \pkg{skmath} uses \cs{DeclarePairedDelimiter} from \pkg{mathtools}
+% for \cs{abs} and \cs{norm},
+% and \pkg{lwarp} uses this to automatically define \brand{MathJax} definitions for
+% each.
+%
+% If \optn{notation=english}, use slanted, else upright:
+% \begin{macrocode}
+\cs_if_eq:NNTF \__skmath_integral_d: \LWR__skmath_integral_d:
+ { \CustomizeMathJax{\newcommand{\d}{\mathit{d}}} }
+ { \CustomizeMathJax{\newcommand{\d}{\mathrm{d}}} }
+% \end{macrocode}
+%
+% Used to parse comma and caret arguments for \cs{pd} and \cs{td}:
+% \begin{macrocode}
+\CustomizeMathJax{\def\LWRskmathEND{}}
+% \end{macrocode}
+%
+% Parse the arguments with up to four commas.
+% Argument 6 contains any leftover commas.
+% \begin{macrocode}
+\CustomizeMathJax{\def\LWRskmathpdstarsub#1#2,#3,#4,#5,#6\LWRskmathEND{
+ #1_{#2#3#4#5}%
+}}
+
+\CustomizeMathJax{\newcommand{\LWRskmathpdstar}[2]{%
+ \LWRskmathpdstarsub{#1}#2,,,,\LWRskmathEND%
+}}
+% \end{macrocode}
+%
+% Parse the arguments with up to two carets.
+% Argument 3 contains any leftover carets.
+% \cs{LWRskmathpdplus} is used to only place a plus sign
+% starting after the first term.
+% \cs{LWRskmathpdone} is used to only place a |1| digit if
+% a second or later term does not have a power.
+% \begin{macrocode}
+\CustomizeMathJax{\def\LWRskmathpdnumerator#1^#2^#3\LWRskmathEND{%
+ \ifblank{#1}{}{
+ \ifblank{#2}{\LWRskmathpdplus\LWRskmathpdone}{\LWRskmathpdplus#2}
+ }
+}}
+% \end{macrocode}
+%
+% Parse the arguments with up to two carets.
+% Argument 3 contains any leftover carets.
+% \begin{macrocode}
+\CustomizeMathJax{\def\LWRskmathpddenominator#1^#2^#3\LWRskmathEND{%
+ \ifblank{#1}{}{%
+ \ifblank{#2}%
+ {\partial{#1}}%
+ {\partial{#1}^{#2}}%
+ }%
+}}
+% \end{macrocode}
+%
+% Factored from \cs{LWRskmathpdnostarsub}, following:
+%
+% The phrase |^{}| appears to be required while
+% parsing the carets.
+% \cs{LWRskmathpdplus} is used to only place a plus sign
+% starting after the first term.
+% \cs{LWRskmathpdone} is used to only place a |1| digit if
+% a second or later term does not have a power.
+%
+% This may not be recursion-safe.
+% (Is there really such as a thing as nested differentials?)
+% \begin{macrocode}
+\CustomizeMathJax{\newcommand{\LWRskmathdonumerator}[5]{%
+ \partial^{%
+ \def\LWRskmathpdplus{}%
+ \LWRskmathpdnumerator#2^{}^{}\LWRskmathEND%
+ \def\LWRskmathpdplus{+}%
+ \def\LWRskmathpdone{1}%
+ \LWRskmathpdnumerator#3^{}^{}\LWRskmathEND%
+ \LWRskmathpdnumerator#4^{}^{}\LWRskmathEND%
+ \LWRskmathpdnumerator#5^{}^{}\LWRskmathEND%
+ }%
+ {#1}%
+}}
+
+\CustomizeMathJax{\newcommand{\LWRskmathdodenominator}[4]{%
+ \LWRskmathpddenominator#1^{}^{}^{}\LWRskmathEND%
+ \ifblank{#2}{}{\,}%
+ \LWRskmathpddenominator#2^{}^{}^{}\LWRskmathEND%
+ \ifblank{#3}{}{\,}%
+ \LWRskmathpddenominator#3^{}^{}^{}\LWRskmathEND%
+ \ifblank{#4}{}{\,}%
+ \LWRskmathpddenominator#4^{}^{}^{}\LWRskmathEND%
+}}
+% \end{macrocode}
+%
+% Parse the arguments with up to four commas.
+% Argument 6 contains any leftover commas.
+% \begin{macrocode}
+\CustomizeMathJax{\def\LWRskmathpdnostarsub#1#2,#3,#4,#5,#6\LWRskmathEND{
+ \ifblank{#3}{\def\LWRskmathpdone{}}{\def\LWRskmathpdone{1}}
+ \frac%
+ {\LWRskmathdonumerator{#1}{#2}{#3}{#4}{#5}}%
+ {\LWRskmathdodenominator{#2}{#3}{#4}{#5}}%
+}}
+
+\CustomizeMathJax{\newcommand{\LWRskmathpdnostar}[2]{%
+ \LWRskmathpdnostarsub{#1}#2,,,,,,\LWRskmathEND%
+}}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\CustomizeMathJax{\newcommand{\pd}{\ifstar\LWRskmathpdstar\LWRskmathpdnostar}}
+% \end{macrocode}
+%
+% If \optn{notation=english} or \optn{legacy}, use slanted, else upright:
+% \begin{macrocode}
+\cs_if_eq:NNTF \__skmath_total_derivative_d: \LWR__skmath_total_derivative_d:
+ { \CustomizeMathJax{\newcommand{\LWRskmathtd}{\mathit{d}}} }
+ { \CustomizeMathJax{\newcommand{\LWRskmathtd}{\mathrm{d}}} }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\CustomizeMathJax{\def\LWRskmathtdsub#1#2^#3\LWRskmathEND{%
+ \frac
+ {\LWRskmathtd^{#3}{#1}}
+ {\LWRskmathtd{#2}^{#3}}
+}}
+
+\CustomizeMathJax{\newcommand{\td}[2]{%
+ \LWRskmathtdsub{#1}#2^{}\LWRskmathEND%
+}}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\CustomizeMathJax{\newcommand{\E}[1]{%
+ \operatorname{E}\left[#1\right]%
+}}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\CustomizeMathJax{\let\given\mid}
+
+\CustomizeMathJax{\newcommand{\P}[1]{%
+ \operatorname{P}%
+ \left(#1\right)%
+}}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\CustomizeMathJax{\newcommand{\var}[1]{%
+ \operatorname{Var}\left(#1\right)%
+}}
+
+\CustomizeMathJax{\newcommand{\cov}[2]{%
+ \operatorname{Cov}\left(#1,#2\right)%
+}}
+% \end{macrocode}
+%
+% Common code for \cs{sin} etc:
+% \begin{macrocode}
+\CustomizeMathJax{\newcommand{\LWRskmathtrigtwo}[2][]{%
+ \ifblank{#1}{}{^{#1}}%
+ \ifblank{#2}{}{\left(#2\right)}%
+}}
+
+\CustomizeMathJax{\newcommand{\LWRskmathtrig}[1]{%
+ \operatorname{#1}%
+ \LWRskmathtrigtwo%
+}}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\CustomizeMathJax{\renewcommand{\sin}{\LWRskmathtrig{sin}}}
+\CustomizeMathJax{\renewcommand{\arcsin}{\LWRskmathtrig{arcsin}}}
+
+\CustomizeMathJax{\renewcommand{\cos}{\LWRskmathtrig{cos}}}
+\CustomizeMathJax{\renewcommand{\arccos}{\LWRskmathtrig{arccos}}}
+
+\CustomizeMathJax{\renewcommand{\tan}{\LWRskmathtrig{tan}}}
+\CustomizeMathJax{\renewcommand{\arctan}{\LWRskmathtrig{arctan}}}
+
+\CustomizeMathJax{\renewcommand{\cot}{\LWRskmathtrig{cot}}}
+
+\CustomizeMathJax{\renewcommand{\sinh}{\LWRskmathtrig{sinh}}}
+\CustomizeMathJax{\renewcommand{\cosh}{\LWRskmathtrig{cosh}}}
+\CustomizeMathJax{\renewcommand{\tanh}{\LWRskmathtrig{tanh}}}
+% \end{macrocode}
+%
+% Common code for \cs{ln} and \cs{log}:
+% \begin{macrocode}
+\CustomizeMathJax{\newcommand{\LWRskmathlogtwo}[2][]{%
+ \ifblank{#1}{}{_{#1}}%
+ \ifblank{#2}{}{\left(#2\right)}%
+}}
+
+\CustomizeMathJax{\newcommand{\LWRskmathlog}[1]{%
+ \operatorname{#1}%
+ \LWRskmathlogtwo%
+}}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\CustomizeMathJax{\renewcommand{\ln}{\LWRskmathlog{ln}}}
+\CustomizeMathJax{\renewcommand{\log}{\LWRskmathlog{log}}}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\CustomizeMathJax{\newcommand{\LWRskmathexpparens}[1]{%
+ \operatorname{exp}%
+ \ifblank{#1}{}{\left(#1\right)}%
+}}
+% \end{macrocode}
+%
+% See the \pkg{skmath} source for the original of the following:
+% \begin{macrocode}
+\CustomizeMathJax{\newcommand{\LWRskmathexpnostar}[1]{%
+ \mathchoice
+ {\ee^{#1}}
+ {\LWRskmathexpparens{#1}}
+ {\LWRskmathexpparens{#1}}
+ {\LWRskmathexpparens{#1}}
+}}
+
+\CustomizeMathJax{\renewcommand{\exp}{\ifstar\LWRskmathexpparens\LWRskmathexpnostar}}
+% \end{macrocode}
+%
+% Common code for \cs{min} etc:
+% \begin{macrocode}
+\CustomizeMathJax{\newcommand{\LWRskmathminstar}[2][]{%
+ \operatorname{\LWRskmathminname}%
+ \ifblank{#1}{}{%
+ _{\mathchoice{\mathclap{#1}}{#1}{#1}{#1}}
+ }%
+ \ifblank{#2}{}{#2}%
+}}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\CustomizeMathJax{\newcommand{\LWRskmathminnostar}[2][]{%
+ \ifblank{#1}%
+ {\operatorname{\LWRskmathminname}}%
+ {%
+ \underset%
+ {\mathchoice{\mathclap{#1}}{#1}{#1}{#1}}%
+ {\operatorname{\LWRskmathminname}}%
+ }%
+ \ifblank{#2}{}{\left\{#2\right\}}%
+}}
+% \end{macrocode}
+%
+% \cs{LWRskmathminname} seems to be recursion-safe since it is used immediately.
+% \begin{macrocode}
+\CustomizeMathJax{\newcommand{\LWRskmathmin}[1]{%
+ \def\LWRskmathminname{#1}%
+ \ifstar\LWRskmathminstar\LWRskmathminnostar%
+}}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\CustomizeMathJax{\renewcommand{\min}{\LWRskmathmin{min}}}
+\CustomizeMathJax{\renewcommand{\argmin}{\arg\LWRskmathmin{min}}}
+
+\CustomizeMathJax{\renewcommand{\max}{\LWRskmathmin{max}}}
+\CustomizeMathJax{\renewcommand{\argmax}{\arg\LWRskmathmin{max}}}
+\CustomizeMathJax{\renewcommand{\sup}{\LWRskmathmin{sup}}}
+\CustomizeMathJax{\renewcommand{\inf}{\LWRskmathmin{inf}}}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\CustomizeMathJax{\let\bar\overline}
+
+\CustomizeMathJax{\let\vec\boldsymbol}
+% \end{macrocode}
+%
+% Remember the original definitions:
+% \begin{macrocode}
+\CustomizeMathJax{\let\LWRskmathRe\Re}
+\CustomizeMathJax{\let\LWRskmathIm\Im}
+% \end{macrocode}
+%
+% Redefine depending on \optn{notation=iso}:
+% \begin{macrocode}
+\bool_if:NTF\g__skmath_iso_complex_parts_bool{
+ \CustomizeMathJax{\renewcommand{\Re}[1]{%
+ \LWRskmathRe%
+ \ifblank{#1}{}{\left(#1\right)}%
+ }}
+ \CustomizeMathJax{\renewcommand{\Im}[1]{%
+ \LWRskmathIm%
+ \ifblank{#1}{}{\left(#1\right)}%
+ }}
+}{
+ \CustomizeMathJax{\renewcommand{\Re}[1]{%
+ \operatorname{Re}%
+ \ifblank{#1}{}{#1}%
+ }}
+ \CustomizeMathJax{\renewcommand{\Im}[1]{%
+ \operatorname{Im}%
+ \ifblank{#1}{}{#1}%
+ }}
+}
+
+\ExplSyntaxOff
+\end{warpMathJax}
+% \end{macrocode}
+%
+% \iffalse
+%</skmath>
+% \fi
+%
+%
+%
+%
+%
+% \iffalse
%<*slantsc>
% \fi
%
@@ -68278,6 +77175,7 @@
% \pkg{slantsc} is emulated for \HTML, and used as-is for print output.
%
% \changes{v0.72}{2019/05/27}{\pkg{slantsc}: Added.}
+% \changes{v0.84}{2020/04/11}{\pkg{slantsc}: \cs{FilenameNullfiy}.}
%
% \codehtml
%
@@ -68289,10 +77187,8 @@
\newcommand*{\LWR at HTML@noscshape}{}
\LWR at formatted{noscshape}
-\newcommand*{\LWR at null@noscshape}{}
-
-\appto{\LWR at nullfonts}{%
-\LetLtxMacro\noscshape\LWR at null@noscshape%
+\FilenameNullify{%
+ \LetLtxMacro\noscshape\@empty%
}
% \end{macrocode}
%
@@ -68547,8 +77443,70 @@
%
%
%
+% \iffalse
+%<*splitbib>
+% \fi
%
+% \part{lwarp-splitbib.sty}
+%
+% \section{splitbib}
+%
+% \credits{Nicolas Markey}
+%
+% \DescribePackage{splitbib}
+% \pkg{splitbib} is patched for use by \pkg{lwarp}.
+%
+% \changes{v0.87}{2020/05/17}{\pkg{splitbib}: Added.}
+%
+% \codehtml
+%
+% \begin{macrocode}
+\LWR at ProvidesPackagePass{splitbib}[2005/12/22]
+% \end{macrocode}
+%
+% \begin{macrocode}
+\def\NMSB at stylebox#1#2{%
+\begin{BlockClass}[text-align:center ; border: 1px solid black]{splitbibbox}
+ \csname SB\NMSB at level font\endcsname{\LWR at textcurrentfont{#1#2}}
+\end{BlockClass}
+}
+
+\def\NMSB at stylebar#1#2{%
+\begin{BlockClass}[%
+ text-align:center ;
+ border-top: 1px solid black ;
+ border-bottom: 1px solid black ;
+]{splitbibbar}
+ \csname SB\NMSB at level font\endcsname{\LWR at textcurrentfont{#1#2}}
+\end{BlockClass}
+}
+
+\def\NMSB at styledash#1#2{%
+\begin{BlockClass}[%
+ text-align:center ;
+]{splitbibdash}
+ \csname SB\NMSB at level font\endcsname{\LWR at textcurrentfont{---~#1#2~---}}
+\end{BlockClass}
+}
+
+\def\NMSB at stylenone#1#2{%
+ \par
+}
+
+\def\NMSB at stylesimple#1#2{%
+\par
+ \csname SB\NMSB at level font\endcsname{\LWR at textcurrentfont{#1#2}}
+\par
+}
+% \end{macrocode}
+%
% \iffalse
+%</splitbib>
+% \fi
+%
+%
+%
+% \iffalse
%<*splitidx>
% \fi
%
@@ -68598,7 +77556,7 @@
\csname index@#1 at hook\endcsname
% \expandafter\ifx\csname @@wrsindex\endcsname\relax
\addtocounter{LWR at autoindex}{1}% lwarp
- \LWR at new@label{LWRindex-\arabic{LWR at autoindex}}% lwarp
+ \label{LWRindex-\arabic{LWR at autoindex}}% lwarp
% \@@@wrsindex{#1}{{\@tempa}{\thepage}}%
\@@@wrsindex{#1}{{\@tempa}{\arabic{LWR at autoindex}}}%
% \else
@@ -68964,6 +77922,7 @@
% \end{sourceverb}
%
% \changes{v0.81}{2020/02/28}{\pkg{statex2}: Added.}
+% \changes{v0.87}{2020/05/31}{\pkg{statex2}: \cs{pBin} exponent.}
%
% \codehtml
%
@@ -69080,7 +78039,7 @@
\I[#1]{\{0, 1,\., #2\}}, \where #3>0,\; #4>0 \and n=1, 2,\.}%
}}
\CustomizeMathJax{\newcommand{\pBin}[3][x]{%
- \mb{\binom{#2}{#1}#3^#1} \LWRwrapparen{\mb{{1-#3}^{#2-#1}}}%
+ \mb{\binom{#2}{#1}#3^{#1}} \LWRwrapparen{\mb{{1-#3}^{#2-#1}}}%
\mb{\I[#1]{\{0,1,\.,#2\}}, \where p \in (0, 1) \and n=1, 2,\.}%
}}
\CustomizeMathJax{\newcommand{\pPoi}[2][x]{%
@@ -69175,6 +78134,386 @@
%
%
% \iffalse
+%<*statistics>
+% \fi
+%
+% \part{lwarp-statistics.sty}
+%
+% \section{statistics}
+%
+% \credits{Julien Rivaud}
+%
+% \DescribePackage{statistics}
+% \pkg{statistics} is patched for use by \pkg{lwarp}.
+%
+% The \pkg{statistics} documentation examples include the use of the \cs{color} macro.
+% \trouble[\cs{color}]{statistics=\pkg{statistics}}
+% Use \cs{textcolor} instead.
+%
+% The \pkg{statistics} package uses math \env{array}s, but the
+% \watchout[math]
+% \HTML\ version uses text \env{tabular}s to allow text copy/paste.
+% If math is required, use \cs{ensuremath} or \cs{(} and \cs{)} as needed.
+%
+% Pre/postline is ignored, and \cs{hline} is used instead.
+% Each table will have an \cs{hline} above and below as a frame.
+%
+% \changes{v0.893}{2020/11/11}{\pkg{statistics}: Added.}
+%
+% \codehtml
+%
+% \begin{macrocode}
+\LWR at ProvidesPackagePass{statistics}[2019/09/29]
+% \end{macrocode}
+%
+% \begin{macrocode}
+\ExplSyntaxOn
+% \end{macrocode}
+%
+% ^^A % For lateximage output using math array instead of text tabular:
+% ^^A % \RenewDocumentCommand \StatsTable { +O{} +m +O{} } {
+% ^^A % \begin{lateximage}[StatsTable]
+% ^^A % \group_begin:
+% ^^A % \cs_if_exist:NF \firsthline {
+% ^^A % \cs_set_eq:NN \firsthline \hline
+% ^^A % }
+% ^^A % \cs_if_exist:NF \lasthline {
+% ^^A % \cs_set_eq:NN \lasthline \hline
+% ^^A % }
+% ^^A % \cs_if_exist:NF \IN {
+% ^^A % \cs_set_eq:NN \IN \__statistics_IN:w
+% ^^A % }
+% ^^A % \__statistics_setup:nn { table } { #1, #3 }
+% ^^A % \tl_if_single:nTF { #2 } {
+% ^^A % \cs_if_exist:NF #2 { #2 }
+% ^^A % \tl_set_eq:NN \l__statistics_data_tl #2
+% ^^A % }{
+% ^^A % \tl_set:Nn \l__statistics_data_tl { #2 }
+% ^^A % }
+% ^^A % \cs_set_nopar:Npn \getvalue {
+% ^^A % \seq_item:Nn \l__statistics_store_values_seq
+% ^^A % }
+% ^^A % \cs_set_nopar:Npn \getcount {
+% ^^A % \seq_item:Nn \l__statistics_store_count_seq
+% ^^A % }
+% ^^A % \fp_zero:N \l__statistics_total_fp
+% ^^A % \keyval_parse:NNV
+% ^^A % \__statistics_table_count:n
+% ^^A % \__statistics_table_count:nn
+% ^^A % \l__statistics_data_tl
+% ^^A % \__statistics_table_start:
+% ^^A % \fp_zero:N \l__statistics_table_prevICF_fp
+% ^^A % \keyval_parse:NNV
+% ^^A % \__statistics_table_make:n
+% ^^A % \__statistics_table_make:nn
+% ^^A % \l__statistics_data_tl
+% ^^A % \__statistics_table_end:
+% ^^A % \group_end:
+% ^^A % \end{lateximage}
+% ^^A % }
+%
+%
+% To use text \env{tabular} instead of math \env{array}.
+% This allows text copy/paste of the results.
+%
+%
+% In the following, all changes for the Lwarp package are labelled "lwarp".
+%
+% Redefined using the lwarp version of |&|:
+% \begin{macrocode}
+\StartDefiningTabulars% lwarp
+\cs_set_protected_nopar:Nn \__statistics_table_make:nn {
+ \int_compare:nT
+ { 0 < \l__statistics_table_maxcols_int
+ = \l__statistics_nbvals_int } {
+ \__statistics_table_end:
+ \tl_use:N \l__statistics_table_sep_tl
+ \__statistics_table_start:
+ }
+ \int_incr:N \l__statistics_nbvals_int
+ \int_incr:N \l__statistics_currange_int
+ \fp_add:Nn \l__statistics_curtotal_fp { #2 }
+ \__statistics_set_if_shown:N \l_tmpa_bool
+ \tl_set:Nx \l_tmpa_tl {
+ \exp_not:n { & \tl_set:Nn \currentcolumn } {
+ \int_use:N \l__statistics_currange_int
+ }
+ }
+ \bool_if:NTF \l_tmpa_bool {
+ \tl_put_right:Nn \l_tmpa_tl
+ {\__statistics_table_shown_format:n}
+ }{
+ \tl_put_right:Nn \l_tmpa_tl
+ {\__statistics_table_hidden_format:n}
+ }
+ \seq_put_right:Nn \l__statistics_store_values_seq { #1 }
+ \bool_if:NT \l__statistics_table_values_bool {
+ \tl_put_right:Nx \l__statistics_table_values_tl {
+ \exp_not:V \l_tmpa_tl {
+ \exp_not:n {
+ \__statistics_table_values_format:n { #1 }
+ }
+ }
+ }
+ }
+ \seq_put_right:Nx \l__statistics_store_counts_seq { \fp_eval:n {#2} }
+ \bool_if:NT \l__statistics_table_counts_bool {
+ \tl_put_right:Nx \l__statistics_table_counts_tl {
+ \exp_not:V \l_tmpa_tl {
+ \exp_not:n {
+ \__statistics_table_counts_format:n {
+ { \__statistics_table_allcounts_format:n { #2 } }
+ }
+ }
+ }
+ }
+ }
+ \bool_if:NT \l__statistics_table_icc_bool {
+ \tl_put_right:Nx \l__statistics_table_icc_tl {
+ \exp_not:V \l_tmpa_tl {
+ \exp_not:n { \__statistics_table_icc_format:n }
+ {
+ \exp_not:n{ \__statistics_table_allcounts_format:n }
+ { \fp_use:N \l__statistics_curtotal_fp }
+ }
+ }
+ }
+ }
+ \bool_if:NT \l__statistics_table_dcc_bool {
+ \tl_put_right:Nx \l__statistics_table_dcc_tl {
+ \exp_not:V \l_tmpa_tl {
+ \exp_not:n { \__statistics_table_dcc_format:n }
+ {
+ \exp_not:n{ \__statistics_table_allcounts_format:n }
+ {
+ \fp_eval:n {
+ \l__statistics_total_fp
+ - \l__statistics_curtotal_fp
+ + #2
+ }
+ }
+ }
+ }
+ }
+ }
+ \fp_set:Nn \l__statistics_table_curICF_fp {
+ round(\l__statistics_curtotal_fp
+ / \l__statistics_total_fp,
+ \l__statistics_table_round_int)
+ }
+ \bool_if:NT \l__statistics_table_frequencies_bool {
+ \tl_put_right:Nx \l__statistics_table_frequencies_tl {
+ \exp_not:V \l_tmpa_tl {
+ \exp_not:n { \__statistics_table_frequencies_format:n }
+ {
+ \exp_not:n{ \__statistics_table_allfreqs_format:n }
+ {
+ \fp_eval:n {
+ \l__statistics_table_curICF_fp
+ - \l__statistics_table_prevICF_fp
+ }
+ }
+ }
+ }
+ }
+ }
+ \bool_if:NT \l__statistics_table_icf_bool {
+ \tl_put_right:Nx \l__statistics_table_icf_tl {
+ \exp_not:V \l_tmpa_tl {
+ \exp_not:n { \__statistics_table_icf_format:n }
+ {
+ \exp_not:n{ \__statistics_table_allfreqs_format:n }
+ { \fp_to_decimal:N \l__statistics_table_curICF_fp }
+ }
+ }
+ }
+ }
+ \bool_if:NT \l__statistics_table_dcf_bool {
+ \tl_put_right:Nx \l__statistics_table_dcf_tl {
+ \exp_not:V \l_tmpa_tl {
+ \exp_not:n { \__statistics_table_dcf_format:n }
+ {
+ \exp_not:n{ \__statistics_table_allfreqs_format:n }
+ {
+ \fp_eval:n {
+ 1 - \l__statistics_table_prevICF_fp
+ }
+ }
+ }
+ }
+ }
+ }
+ \fp_set_eq:NN
+ \l__statistics_table_prevICF_fp
+ \l__statistics_table_curICF_fp
+}
+\StopDefiningTabulars% lwarp
+% \end{macrocode}
+
+
+% Redefined using \env{tabular}.
+% Also, preline and postline do not work correctly with \pkg{lwarp},
+% which looks for certain tokens to detect \cs{hline}s, so \cs{hline}
+% is used instead.
+% \begin{macrocode}
+\cs_set_protected_nopar:Nn \__statistics_table_end: {
+ \tl_set:Nx \l__statistics_table_preamble_tl {
+% \exp_not:n { \begin{array}[ }
+ \exp_not:n {\begin{tabular}[ }% lwarp
+ \exp_not:V \l__statistics_table_valign_tl
+ \exp_not:n { ] }
+ { \exp_not:V \l__statistics_table_headcoltype_tl
+ \prg_replicate:nn { \l__statistics_nbvals_int }
+ { \exp_not:V \l__statistics_table_coltype_tl } }
+ }
+ \seq_clear:N \l__statistics_table_contents_seq
+ \clist_map_inline:nn { values, counts, icc, dcc, frequencies, icf, dcf } {
+ \bool_if:cT { l__statistics_table_##1_bool } {
+ \seq_put_right:Nv
+ \l__statistics_table_contents_seq
+ { l__statistics_table_##1_tl }
+ }
+ }
+% $
+ \tl_use:N \l__statistics_table_preamble_tl
+ \hline% lwarp
+% \l__statistics_table_preline_tl
+ \seq_use:Nn
+ \l__statistics_table_contents_seq
+ { \l__statistics_table_newline_tl }
+ \\
+% \l__statistics_table_postline_tl
+ \hline% lwarp
+% \end{array}$
+ \end{tabular}% lwarp
+}
+% \end{macrocode}
+
+
+% With \pkg{lwarp}, \cs{ensuremath} creates an \SVG\ image, but its
+% \attribute{alt} tag does not contain the text of the contents
+% for copy/paste, since these expressions are usually not simple
+% text.
+% For the \pkg{statistics} package, copy/paste is restored by
+% using text instead of math output.
+%
+% For the leftmost column.
+% Redefined to use text output:
+% \begin{macrocode}
+\cs_set_protected_nopar:Nn \__statistics_table_start: {
+ \int_zero:N \l__statistics_nbvals_int
+ \clist_pop:NNT \l__statistics_table_maxcols_clist \l_tmpa_tl {
+ \int_set:Nn \l__statistics_table_maxcols_int { \l_tmpa_tl }
+ }
+ \clist_map_inline:nn { values, counts, frequencies, icc, icf, dcc, dcf } {
+ \tl_set:cx { l__statistics_table_##1_tl } {
+% \exp_not:N \ensuremath {
+ \exp_not:N \hbox {
+ \exp_not:c { l__statistics_table_##1_name_tl }
+ }
+% }
+ }
+ }
+}
+% \end{macrocode}
+
+% For the first row.
+% Redefined to use text output:
+% \begin{macrocode}
+\RenewDocumentCommand \__statistics_IN:w { m u{;} u{;} m } {
+% \ensuremath{ \left#1 \num{#2} \mathbin{;} \num{#3} \right#4 }
+ #1 #2 ; #3 #4% lwarp
+}
+
+\__statistics_setup:nn { table } {
+% values/format = \ensuremath{#1},
+ values/format = {#1},% lwarp
+}
+% \end{macrocode}
+%
+% Added \cs{ExplSyntaxOn/Off} to avoid errors.
+% (In once instance, a double subscript error appeared.)
+% \begin{macrocode}
+\RenewDocumentCommand \StatsGraph { +O{} +m +O{} } {
+ \group_begin:
+ \int_gincr:N \g__statistics_graph_last_int
+ \tl_set:Nx \l_tmpa_tl {
+ \exp_not:n { g__statistics_graph_xstep_ }
+ \int_use:N \g__statistics_graph_last_int
+ \exp_not:n { _tl }
+ }
+ \tl_if_exist:cTF { \l_tmpa_tl } {
+ \fp_gset:Nn \g__statistics_graph_xstep_fp
+ { \tl_use:c {\l_tmpa_tl} }
+ }{
+ \fp_gset:Nn \g__statistics_graph_xstep_fp { \c_one_int }
+ }
+ \__statistics_setup:nn { graph } { #1, #3 }
+ \tl_if_single:nTF { #2 } {
+ \cs_if_exist:NF #2 { #2 }
+ \tl_set_eq:NN \l__statistics_data_tl #2
+ }{
+ \tl_set:Nn \l__statistics_data_tl { #2 }
+ }
+ \fp_zero:N \l__statistics_graph_maxheight_fp
+ \fp_set:Nn \l__statistics_graph_minvalue_fp {inf}
+ \fp_set:Nn \l__statistics_graph_maxvalue_fp {-inf}
+ \fp_zero:N \l__statistics_total_fp
+ \int_zero:N \l__statistics_nbvals_int
+ \bool_set_true:N \l__statistics_graph_allranges_bool
+ \keyval_parse:NNV
+ \__statistics_graph_prepare:n
+ \__statistics_graph_prepare:nn
+ \l__statistics_data_tl
+ \tl_clear:N \l__statistics_graph_tikzdata_tl
+ \tl_clear:N \l__statistics_graph_tikzinfo_tl
+ \int_zero:N \l__statistics_currange_int
+ \bool_if:NTF \l__statistics_graph_allranges_bool {
+ \bool_if:NTF \l__statistics_graph_cumulative_bool {
+ \ExplSyntaxOn% lwarp
+ \__statistics_graph_dopicture_cumulative:
+ \ExplSyntaxOff% lwarp
+ }{
+ \ExplSyntaxOn% lwarp
+ \__statistics_graph_dopicture_hist:
+ \ExplSyntaxOff% lwarp
+ }
+ }{
+ \ExplSyntaxOn% lwarp
+ \__statistics_graph_dopicture_comb:
+ \ExplSyntaxOff% lwarp
+ }
+ \iow_now:Nx \@auxout {
+ \exp_not:n {
+ \ExplSyntaxOn
+ \tl_gset:cn
+ }
+ {
+ \exp_not:n {g__statistics_graph_xstep_}
+ \int_use:N \g__statistics_graph_last_int
+ \exp_not:n {_tl}
+ }
+ {
+ \fp_to_decimal:N \g__statistics_graph_xstep_fp
+ }
+ \exp_not:n {
+ \ExplSyntaxOff
+ }
+ }
+ \group_end:
+}
+
+\ExplSyntaxOff
+% \end{macrocode}
+%
+% \iffalse
+%</statistics>
+% \fi
+%
+%
+%
+%
+% \iffalse
%<*statmath>
% \fi
%
@@ -69189,6 +78528,8 @@
% 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
%
@@ -69197,11 +78538,17 @@
% \end{macrocode}
%
% \begin{macrocode}
+\LWR at origRequirePackage{lwarp-common-mathjax-letters}
+
\begin{warpMathJax}
\LWR at 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}}
@@ -69254,47 +78601,12 @@
\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 at mathjax@addgreek at l@bfit{bf}{}% Greek lowercase bold face italic
+\LWR at mathjax@addgreek at 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}}
@@ -69343,13 +78655,11 @@
% \end{macrocode}
%
% \begin{macrocode}
-\begin{warpHTML}
\renewcommand{\phase}[2][]{%
\begin{lateximage}*[steinmetz\{\detokenize{#2}\}]
\ensuremath{\underline{/#2}}
\end{lateximage}
}
-\end{warpHTML}
\begin{warpMathJax}
\CustomizeMathJax{\newcommand{\phase}[2][]{\underline{/#2}}}
@@ -69423,11 +78733,12 @@
%
% \changes{v0.67}{2019/02/17}{\pkg{struktex}: Added.}
% \changes{v0.74}{2019/09/01}{\pkg{struktex}: \attribute{alt} text.}
+% \changes{v0.893}{2020/11/26}{\pkg{struktex}: Removed package date.}
%
% \codehtml
%
% \begin{macrocode}
-\LWR at ProvidesPackagePass{struktex}[2018/06/04]
+\LWR at ProvidesPackagePass{struktex}
% \end{macrocode}
%
% \begin{macrocode}
@@ -69482,23 +78793,18 @@
% In print mode the minipages are used to place the items next to each other.
% In \HTML\ they are placed side-by-side automatically.
% \begin{macrocode}
-\ifdef{\subcaption at minipage}{
- \xpatchcmd{\subcaption at minipage}
- {\minipage}
- {\minipagefullwidth\minipage}
- {}
- {\LWR at patcherror{subcaption}{subcaption at minipage}}
-}{}
+\xpretocmd{\subcaption at iiminipage}
+ {\minipagefullwidth}
+ {}
+ {\LWR at patcherror{subcaption}{subcaption at iiminipage}}
% \end{macrocode}
%
% Likewise for a \cs{subcaptionbox}:
% \begin{macrocode}
-\ifdef{\subcaptionbox}{
- \xpretocmd{\subcaptionbox}
- {\minipagefullwidth}
- {}
- {\LWR at patcherror{subcaption}{subcaptionbox}}
-}{}
+\xpretocmd{\subcaptionbox}
+ {\minipagefullwidth}
+ {}
+ {\LWR at patcherror{subcaption}{subcaptionbox}}
% \end{macrocode}
%
% \iffalse
@@ -69683,8 +78989,8 @@
% {\box0}%
{
% \parbox[t]{\the\@tempdima}{%
-\LWR at traceinfo{sfsubcap B1}% lwarp
- \LWR at figcaption% lwarp
+\LWR at traceinfo{sfsubcap B1}% lwarp
+ \LWR at figcaption% lwarp
\caption at make
{\@nameuse{sub\@captype name}}%
{\@nameuse{thesub\@captype}}%
@@ -69692,8 +78998,8 @@
% \end{macrocode}
% \changes{v0.45}{2017/12/18}{\pkg{subfig}: Fix for subcaption end tag.}
% \begin{macrocode}
- \endLWR at figcaption% lwarp
-\LWR at traceinfo{sfsubcap B2}% lwarp
+ \endLWR at figcaption% lwarp
+\LWR at traceinfo{sfsubcap B2}% lwarp
% }%
}%
{\dimen@\ht0%
@@ -69758,7 +79064,7 @@
% comes from the |sub@<label>|:
% \begin{macrocode}
\renewcommand{\sf at subref}[1]{%
-\LWR at subnewref{#1}{sub@#1}%
+ \LWR at subnewref{#1}{sub@#1}%
}
% \end{macrocode}
% \end{noindmacro}
@@ -70055,11 +79361,12 @@
% \pkg{svg} is patched for use by \pkg{lwarp}.
%
% \changes{v0.79}{2020/01/05}{\pkg{svg}: Added.}
+% \changes{v0.893}{2020/11/26}{\pkg{svg}: Updated date to v2.02j.}
%
% \codehtml
%
% \begin{macrocode}
-\LWR at ProvidesPackagePass{svg}[2019/10/22]
+\LWR at ProvidesPackagePass{svg}[2020/10/23]
% \end{macrocode}
%
% \begin{macrocode}
@@ -70091,9 +79398,51 @@
%
%
%
+% \iffalse
+%<*swfigure>
+% \fi
%
+% \part{lwarp-swfigure.sty}
%
+% \section{swfigure}
+%
+% \credits{Claudio Beccari}
+%
+% \DescribePackage{swfigure}
+% \pkg{swfigure} is emulated.
+%
+% \changes{v0.893}{2020/11/24}{\pkg{swfigure}: Added.}
+%
+% \codehtml
+%
+% \begin{macrocode}
+\LWR at ProvidesPackageDrop{swfigure}[2020-11-10]
+% \end{macrocode}
+%
+% \begin{macrocode}
+\NewDocumentEnvironment{DFimage}%
+ {O{SW} m O{#4} m o D(){0.8} D<>{0} D||{0.25} D!!{}}%
+{%
+ \begin{figure}
+ \centering
+ \includegraphics{#2}
+ \caption[#3]{#4}
+ \IfValueT{#5}{\label{#5}}
+ \end{figure}
+}%
+{}%
+% \end{macrocode}
+%
% \iffalse
+%</swfigure>
+% \fi
+%
+%
+%
+%
+%
+%
+% \iffalse
%<*syntonly>
% \fi
%
@@ -70572,6 +79921,518 @@
%
%
% \iffalse
+%<*tcolorbox>
+% \fi
+%
+% \part{lwarp-tcolorbox.sty}
+%
+% \section{tcolorbox}
+%
+% \credits{Thomas F. Sturm}
+%
+% \DescribePackage{tcolorbox}
+% \pkg{tcolorbox} is patched for use by \pkg{lwarp}.
+%
+% See \cref{sec:limitstcolorbox} for limitations.
+%
+% \changes{v0.88}{2020/06/25}{\pkg{tcolorbox}: Added.}
+%
+% \codehtml
+%
+% \begin{macrocode}
+\LWR at ProvidesPackagePass{tcolorbox}[2020/04/28]
+% \end{macrocode}
+%
+% \begin{macrocode}
+\newbool{LWR at havetcblower}
+\boolfalse{LWR at havetcblower}
+% \end{macrocode}
+%
+% Colors are supported via \HTML\ styles:
+% \begin{macrocode}
+\newcommand{\LWR at tcolorbox@findcolors}{%
+ \convertcolorspec{named}{tcbcolback}{HTML}\LWR at tcbcolback
+ \convertcolorspec{named}{tcbcolframe}{HTML}\LWR at tcbcolframe
+ \iftcb at titlefilled%
+ \convertcolorspec{named}{tcbcolbacktitle}{HTML}\LWR at tcbcolbacktitle
+ \else
+ \convertcolorspec{named}{tcbcolframe}{HTML}\LWR at tcbcolbacktitle
+ \fi
+ \convertcolorspec{named}{tcbcoltitle}{HTML}\LWR at tcbcoltitle
+ \convertcolorspec{named}{tcbcolupper}{HTML}\LWR at tcbcolupper
+ \convertcolorspec{named}{tcbcollower}{HTML}\LWR at tcbcollower
+}
+
+\newcommand*{\LWR at tcolorbox@titlecolorstyles}{%
+ border-top: 1px solid \LWR at origpound\LWR at tcbcolframe ;
+ border-bottom: 1px solid \LWR at origpound\LWR at tcbcolframe ;
+ background: \LWR at origpound\LWR at tcbcolbacktitle ;
+ color: \LWR at origpound\LWR at tcbcoltitle ;
+}
+% \end{macrocode}
+%
+% The title is placed inside its own \element{div} of class \optn{tcolorboxtitle}.
+% \begin{macrocode}
+\newcommand*{\LWR at showtitle@}[1]{%
+ \begin{BlockClass}[
+ \LWR at tcolorbox@titlecolorstyles
+ ]{tcolorboxtitle}
+% \cmdKV at LWRtcolorbox@title\par
+ \kvtcb at before@title#1\kvtcb at after@title
+ \end{BlockClass}
+}
+% \end{macrocode}
+%
+% If no title, a non-breakable space is used to take some vertical space.
+% \begin{macrocode}
+\newcommand*{\LWR at showtitle}[1]{%
+ \iftcb at titlevisible
+ \LWR at showtitle@{#1}
+ \else
+ \LWR at showtitle@{~}
+ \fi
+}
+
+\newcommand*{\LWR at tcolorbox@dophantom}{%
+% \sbox\tcb at phantombox{\kvtcb at phantom}%
+% \iftcb at hasPhantom%
+% \box\tcb at phantombox%
+% \tcb at hasPhantomfalse%
+% \fi%
+ \kvtcb at phantom
+ \let\kvtcb at phantom\@empty%
+}
+% \end{macrocode}
+%
+% The \env{tcolorbox} is placed inside
+% an external \element{div} of class \optn{\#1}, which
+% is \optn{tcolorbox} or \optn{tcolorbox inlineminipage}.
+% The upper and lower parts are placed into their own internal
+% \element{div}s of class \optn{tcolorboxupper} and \optn{tcolorboxlower}.
+% \begin{macrocode}
+\newcommand*{\LWR at tcolorboxstart}[1]{
+ \LWR at tcolorbox@findcolors
+ \begin{BlockClass}[
+ border: 1px solid \LWR at origpound\LWR at tcbcolframe ;
+ background: \LWR at origpound\LWR at tcbcolback ;
+ ]{#1}
+ \LWR at tcolorbox@dophantom%
+ \ifdefvoid{\kvtcb at title}
+ {}
+ {
+ \LWR at showtitle{\kvtcb at title}
+ }
+ \begin{BlockClass}[
+ color: \LWR at origpound\LWR at tcbcolupper ;
+ ]{tcolorboxupper}
+}
+% \end{macrocode}
+%
+% Floats enclose the \env{tcolorbox}.
+% \begin{macrocode}
+\newcommand*{\LWR at tcolorbox@dostartfloat}{%
+ \ifx\kvtcb at float\@empty%
+% \tcb at set@normal at unbroken@beforeafter%
+ \else%
+% \edef\tcb at before@unbroken{%
+% \noexpand\tcb at float@env at begin{tcbfloat}[\kvtcb at float]%
+% \noexpand\kvtcb at everyfloat%
+% }%
+% \let\tcb at after@unbroken=\tcb at float@env at end%
+ \tcb at float@env at begin{tcbfloat}[\kvtcb at float]
+ \noexpand\kvtcb at everyfloat
+ \fi%
+}
+
+\newcommand*{\LWR at tcolorbox@doendfloat}{%
+ \ifx\kvtcb at float\@empty%
+ \else%
+ \tcb at float@env at end%
+ \fi%
+}
+% \end{macrocode}
+%
+% Footnotes are handled via the main footnote mechanism, and
+% pending notes are printed before and after each \env{tcolorbox}.
+% Footnote numbering will not match the print output.
+% \begin{macrocode}
+\renewenvironment{tcolorbox}[1][]
+ {
+ \ifnumcomp{\value{LWR at lateximagedepth}}{>}{0}%
+ {
+ \PackageError{lwarp}
+ {%
+ Lwarp cannot process a tcolorbox inside a lateximage\MessageBreak
+ or SVG math.\MessageBreak
+ Enter 'H' for possible solutions%
+ }
+ {%
+ Use \protect\tcbox, \protect\tcboxmath, or
+ \protect\tcbhighmath\space instead.\MessageBreak%
+ (Inside math, you probably want to use these anyhow.)%
+ }
+ }{\relax}
+ \LWR at printpendingfootnotes
+ \tcb at layer@inc
+ \tcb at apply@box at options{#1}
+ \LWR at tcolorbox@dostartfloat%
+% \tcbset{title=,#1}
+ \boolfalse{LWR at havetcblower}
+ \LWR at tcolorboxstart{tcolorbox}
+ \tcb at insert@before at upper%
+ }
+ {
+ \ifbool{LWR at havetcblower}{%
+ \tcb at insert@after at lower%
+ }{%
+ \tcb at insert@after at upper%
+ }%
+ \end{BlockClass}
+ \LWR at printpendingfootnotes
+ \tcb at layer@dec
+ \end{BlockClass}
+ \LWR at tcolorbox@doendfloat%
+ }
+% \end{macrocode}
+%
+% For the lower part, the upper part is finished then the lower is started.
+% \cs{tcblower} is only temporarily defined where appropriate, so the \HTML\ version is
+% defined globally via \cs{newcommand} instead of \cs{renewcommand}.
+% \begin{macrocode}
+\newcommand{\tcblower}{
+ \tcb at insert@after at upper%
+ \end{BlockClass}
+ \begin{BlockClass}[%
+ border-top: 1px dashed \LWR at origpound\LWR at tcbcolframe ;
+ color: \LWR at origpound\LWR at tcbcollower ;
+ ]{tcolorboxlower}
+ \tcb at insert@before at lower%
+}
+% \end{macrocode}
+%
+% Starred and unstarred \cs{tcbline} are simple \cs{hrule}s.
+% \begin{macrocode}
+\AtBeginDocument{
+\ifdef{\tcbline}{
+ \newcommand*{\LWR at sub@tcbline}{%
+ \begin{BlockClass}{hrule}
+ \end{BlockClass}
+ }
+ \newcommand{\LWR at HTML@tcbline}{\@ifstar\LWR at sub@tcbline\LWR at sub@tcbline}
+ \LWR at formatted{tcbline}
+}{}
+}
+
+\newcommand{\LWR at HTML@tcbox}[2][]{
+ \LWR at printpendingfootnotes
+ \LWR at tcolorbox@dostartfloat%
+ \begingroup
+ \tcb at layer@inc
+ \tcb at apply@box at options{#1}
+% \tcbset{title=,#1}
+ \boolfalse{LWR at havetcblower}
+ \LWR at tcolorboxstart{tcolorbox inlineminipage}
+ \tcb at insert@before at upper%
+ #2
+ \ifbool{LWR at havetcblower}{%
+ \tcb at insert@after at lower%
+ }{%
+ \tcb at insert@after at upper%
+ }%
+ \end{BlockClass}
+ \LWR at printpendingfootnotes
+ \end{BlockClass}
+ \tcb at layer@dec%
+ \endgroup%
+ \LWR at tcolorbox@dostartfloat%
+ \global\booltrue{LWR at minipagethispar}%
+}
+\LWR at formatted{tcbox}
+
+\appto\LWR at restoreMathJaxformatting{%
+ \renewcommand{\tcbox}[2][]{#2}%
+}
+% \end{macrocode}
+%
+% Patches for the subtitle, which is placed inside a \element{div}
+% of class \optn{tcolorboxsubtitle}.
+% \begin{macrocode}
+\xpatchcmd{\tcbsubtitle}
+ {\begingroup}
+ {\begingroup\let\kvtcb at title\relax\begin{BlockClass}{tcolorboxsubtitle}}
+ {}
+ {\LWR at patcherror{tcolorbox}{tcbsubtitle}}
+
+\xpatchcmd{\tcbsubtitle}
+ {\endgroup}
+ {\end{BlockClass}\endgroup}
+ {}
+ {\LWR at patcherror{tcolorbox}{tcbsubtitleB}}
+% \end{macrocode}
+%
+% \cs{tcboxfit} is the same as \cs{tcbox}.
+% \begin{macrocode}
+\AtBeginDocument{
+ \ifdef{\tcboxfit}{%
+ \let\LWR at HTML@tcboxfit\tcbox%
+ \LWR at formatted{tcboxfit}
+ }{}
+}
+% \end{macrocode}
+%
+% \cs{tcbtitle} is patched to support the text font.
+% \begin{macrocode}
+\LetLtxMacro\LWR at HTML@tcbtitle\tcbtitle
+\xpatchcmd{\LWR at HTML@tcbtitle}
+ {\kvtcb at before@title\tcbtitletext}
+ {\kvtcb at before@title\LWR at textcurrentfont{\LWR at textcurrentcolor{\tcbtitletext}}}
+ {}
+ {\LWR at patcherror{tcolorbox}{LWR at HTML@tcbtitle}}
+\LWR at formatted{tcbtitle}
+% \end{macrocode}
+%
+% List-of:
+% \begin{macrocode}
+\renewcommand*\l at tcolorbox[2]{\hypertocfloat{1}{tcolorbox}{lof}{#1}{#2}}
+% \end{macrocode}
+%
+% Theorem limitations.
+% An error is printed if the document uses \optn{math}, \optn{ams equation}, etc.
+% \cs{tcboxmath} and \cs{tcbhighmath} are ignored for \HTML.
+% \begin{macrocode}
+\AtBeginDocument{
+\pgfkeysifdefined{/tcb/libload/theorems}{
+
+ \def\LWR at HTML@tcb at hack@amsmath{%
+ \PackageError{lwarp}
+ {%
+ tcolorbox ``math'', ``ams equation'', and related\MessageBreak
+ are not supported.\MessageBreak
+ \protect\tcboxmath\space and
+ \protect\tcbhighmath\space are emulated.\MessageBreak
+ Enter 'H' for possible solutions%
+ }
+ {%
+ Remove tcolorbox math-related options, and instead\MessageBreak
+ use the usual math environments inside each tcolorbox.%
+ }
+ }
+ \LWR at formatted{tcb at hack@amsmath}
+
+ % Cause an error if using math:
+ \tcbset{%
+ math upper/.style={before upper*=\tcb at hack@amsmath,after upper*=$},%
+ math lower/.style={before lower*=\tcb at hack@amsmath,after lower*=$},%
+ }
+
+ \appto\LWR at restoreorigformatting{%
+ \tcbset{%
+ math upper/.style={before upper*=$\displaystyle,after upper*=$},%
+ math lower/.style={before lower*=$\displaystyle,after lower*=$},%
+ }%
+ }
+
+ \newcommand{\LWR at HTML@tcboxmath}[2][]{#2}
+ \LWR at formatted{tcboxmath}
+ \newcommand{\LWR at HTML@tcbhighmath}[2][]{#2}
+ \LWR at formatted{tcbhighmath}
+ \appto\LWR at restoreMathJaxformatting{%
+ \renewcommand{\tcboxmath}[2][]{#2}%
+ \renewcommand{\tcbhighmath}[2][]{#2}%
+ }
+}{}% theorems loaded
+}% AtBeginDocument
+% \end{macrocode}
+%
+% For \brand{MathJax}:
+% \begin{macrocode}
+\CustomizeMathJax{\newcommand{\tcbset}[1]{}}
+\CustomizeMathJax{\newcommand{\tcbsetforeverylayer}[1]{}}
+\CustomizeMathJax{\newcommand{\tcbox}[2][]{\boxed{\text{#2}}}}
+\CustomizeMathJax{\newcommand{\tcboxfit}[2][]{\boxed{#2}}}
+\CustomizeMathJax{\newcommand{\tcblower}{}}
+\CustomizeMathJax{\newcommand{\tcbline}{}}
+\CustomizeMathJax{\newcommand{\tcbtitle}{}}
+\CustomizeMathJax{\newcommand{\tcbsubtitle[2][]{\mathrm{#2}}}}
+\CustomizeMathJax{\newcommand{\tcboxmath}[2][]{\boxed{#2}}}
+\CustomizeMathJax{\newcommand{\tcbhighmath}[2][]{\boxed{#2}}}
+% \end{macrocode}
+%
+% \iffalse
+%</tcolorbox>
+% \fi
+%
+%
+%
+%
+% \iffalse
+%<*tensor>
+% \fi
+%
+% \part{lwarp-tensor.sty}
+%
+% \section{tensor}
+%
+% \credits{Philip G. Ratcliffe}
+%
+% \DescribePackage{tensor}
+% \pkg{tensor} is used as-is for \SVG\ math, and
+% is emulated for \brand{MathJax}.
+%
+% Compressed spacing and left justification are not possible with \brand{MathJax}.
+% \trouble[spacing]{tensor=\pkg{tensor}}
+%
+% \changes{v0.895}{2021/01/23}{\pkg{tensor}: Added \brand{MathJax}.}
+%
+% \codehtml
+%
+% \begin{macrocode}
+\LWR at ProvidesPackagePass{tensor}[2004/12/20]
+% \end{macrocode}
+%
+% For \brand{MathJax}.
+% Special handling is required to parse the superscript and subscript arguments.
+%
+% When a superscript or subscript is seen, it is processed and then the
+% remainder is processesed recursively.
+% \begin{macrocode}
+\begin{warpMathJax}
+\CustomizeMathJax{\def\LWRtensorindicesthreesub#1#2{{_{#2}}\LWRtensorindicesthree}}
+\CustomizeMathJax{\def\LWRtensorindicesthreesup#1#2{{^{#2}}\LWRtensorindicesthree}}
+% \end{macrocode}
+%
+% If not a superscript nor a subscript, processing stops.
+% \begin{macrocode}
+\CustomizeMathJax{\newcommand{\LWRtensorindicesthreenotsup}{}}
+% \end{macrocode}
+%
+% Check ahead for a superscript or a subscript.
+% \begin{macrocode}
+\CustomizeMathJax{\newcommand{\LWRtensorindicesthreenotsub}{
+ \ifnextchar ^ \LWRtensorindicesthreesup \LWRtensorindicesthreenotsup
+}}
+
+\CustomizeMathJax{\newcommand{\LWRtensorindicesthree}{
+ \ifnextchar _ \LWRtensorindicesthreesub \LWRtensorindicesthreenotsub
+}}
+% \end{macrocode}
+%
+% Ignore star.
+% \begin{macrocode}
+\CustomizeMathJax{\newcommand{\LWRtensorindicestwo}{
+ \ifstar\LWRtensorindicesthree\LWRtensorindicesthree
+}}
+% \end{macrocode}
+%
+% Remove the outer brace of the argument.
+% \begin{macrocode}
+\CustomizeMathJax{\newcommand{\indices}[1]{\LWRtensorindicestwo#1}}
+% \end{macrocode}
+%
+% Attempting to use \cs{vphantom} here does not work:
+% \begin{macrocode}
+\CustomizeMathJax{\newcommand{\LWRtensortwo}[3][]{{}\indices{#1}{#2}\indices{#3}}}
+% \end{macrocode}
+%
+% Ignore star.
+% \begin{macrocode}
+\CustomizeMathJax{\newcommand{\tensor}{\ifstar\LWRtensortwo\LWRtensortwo}}
+% \end{macrocode}
+%
+% In text mode, \cs{nuclide} is converted to an \SVG\ image.
+% \begin{macrocode}
+\CustomizeMathJax{%
+ \newcommand{\LWRnuclidetwo}[2][]{%
+ {%
+ \vphantom{\mathrm{#2}}%
+ {}^{\LWRtensornucleonnumber}_{#1}%
+ \mathrm{#2}%
+ }%
+ }%
+}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\CustomizeMathJax{%
+ \newcommand{\nuclide}[1][]{%
+ \def\LWRtensornucleonnumber{#1}%
+ \LWRnuclidetwo%
+ }%
+}
+\end{warpMathJax}
+% \end{macrocode}
+%
+% \iffalse
+%</tensor>
+% \fi
+%
+%
+%
+%
+% \iffalse
+%<*termcal>
+% \fi
+%
+% \part{lwarp-termcal.sty}
+%
+% \section{termcal}
+%
+% \credits{Bill Mitchell}
+%
+% \DescribePackage{termcal}
+% \pkg{termcal} is patched for use by \pkg{lwarp}.
+%
+% \changes{v0.88}{2020/06/19}{\pkg{termcal}: Added.}
+%
+% \codehtml
+%
+% \begin{macrocode}
+\LWR at ProvidesPackagePass{termcal}% questionable date in the .sty file
+% \end{macrocode}
+%
+% Nullify the @{} because everything is being done in a token list.
+% \begin{macrocode}
+\xpatchcmd{\endcalendar}
+ {@{}}
+ {}
+ {}
+ {\LWR at patcherror{termcal}{endcalendar}}
+% \end{macrocode}
+%
+% Remove the hbox:
+% \begin{macrocode}
+\xpatchcmd{\ca at doaday}
+ {\hbox to \hsize{\calprintdate\hfill\ifclassday\calprintclass\fi}}
+ {%
+ \calprintdate\hfill\ifclassday\calprintclass\fi%
+ }
+ {}
+ {\LWR at patcherror{termcal}{ca at doaday}}
+% \end{macrocode}
+%
+% Change each of two ampersands to call the lwarp tabular version:
+% \begin{macrocode}
+\xpatchcmd{\calday}
+ {&}
+ {\LWR at tabularampersand}
+ {}
+ {\LWR at patcherror{termcal}{calday}}
+
+\xpatchcmd{\calday}
+ {&}
+ {\LWR at tabularampersand}
+ {}
+ {\LWR at patcherror{termcal}{calday B}}
+% \end{macrocode}
+%
+% \iffalse
+%</termcal>
+% \fi
+%
+%
+%
+%
+% \iffalse
%<*textarea>
% \fi
%
@@ -70754,7 +80615,7 @@
% \changes{v0.62}{2018/11/17}{\pkg{textcomp}: Fix conflict with \pkg{xunicode}.}
% \begin{macrocode}
\providecommand*{\LWR at HTML@textcircled}[1]{%
-\InlineClass[border: 1px solid \LWR at currenttextcolor]{textcircled}{#1}%
+ \InlineClass[border: 1px solid \LWR at currenttextcolor]{textcircled}{#1}%
}
\LWR at formatted{capitalcedilla}
@@ -70770,6 +80631,7 @@
\LWR at formatted{capitalbreve}
\LWR at formatted{capitalmacron}
\LWR at formatted{capitaldotaccent}
+
\LWR at formatted{textcircled}
% \end{macrocode}
% Nullify \pkg{textcomp} macros when generating filenames:
@@ -70901,7 +80763,7 @@
% \codehtml
% \begin{macrocode}
-\LWR at ProvidesPackageDrop{textpos}[2019/04/15]
+\LWR at ProvidesPackageDrop{textpos}[2020/09/26]
% \end{macrocode}
% \begin{macrocode}
@@ -70908,6 +80770,8 @@
\NewDocumentEnvironment{textblock}{m o r()}{}{}
\NewDocumentEnvironment{textblock*}{m o r()}{}{}
\newcommand*{\TPGrid}[3][]{}
+\def\TPShowGrid{\@ifstar{\@TPShowGrid}{\@TPShowGrid}}
+\def\@TPShowGrid#1#2{}
\NewDocumentCommand{\TPMargin}{s o}{}
\newcommand*{\textblockcolour}[1]{}
\newcommand*{\textblockrulecolour}[1]{}
@@ -71202,7 +81066,214 @@
%
%
%
+%
+%
+% ^^A *thmtools: See thm-listof and thm-restate, following:
+%
% \iffalse
+%<*thm-listof>
+% \fi
+%
+% \part{lwarp-thm-listof.sty}
+%
+% \section{thm-listof}
+%
+% \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
+%
+% \begin{macrocode}
+\LWR at ProvidesPackagePass{thm-listof}[2019/12/22]
+% \end{macrocode}
+%
+% For font control, see the generated \HTML\ and
+% use \CSS\ per \pkg{amsthm} or \pkg{ntheorem}.
+%
+% Other \pkg{thm-*} package may be loaded by \pkg{thm-listof}.
+% \begin{macrocode}
+\@ifpackagelater{thm-listof}{2020/08/01}{% v0.72
+ \def\thmtlo at newentry{%
+ \csdef{l@\thmt at envname}##1##2{\hypertocfloat{1}{figure}{lof}{##1}{##2}}%
+ }
+}{% earlier than v0.72
+ \xpatchcmd{\listoftheorems}
+ {%
+ \@xa\protected at edef\csname l@\thmt at envname\endcsname{%
+ \@nx\@dottedtocline{1}{1.5em}{\@nx\thmt at listnumwidth}%
+ }%
+ }
+ {%
+ \csdef{l@\thmt at envname}##1##2{\hypertocfloat{1}{figure}{lof}{##1}{##2}}%
+ }
+ {}
+ {\LWR at patcherror{thm-listof}{listoftheorems}}
+
+ \xpatchcmd{\thmt at mklistcmd}
+ {%
+ \@xa\protected at edef\csname l@\thmt at envname\endcsname{%
+ \@nx\@dottedtocline{1}{1.5em}{\@nx\thmt at listnumwidth}%
+ }%
+ }
+ {%
+ \csdef{l@\thmt at envname}##1##2{\hypertocfloat{1}{figure}{lof}{##1}{##2}}%
+ }
+ {}
+ {\LWR at patcherror{thm-listof}{thmt at mklistcmd}}
+}
+% \end{macrocode}
+%
+% \iffalse
+%</thm-listof>
+% \fi
+%
+%
+%
+% \iffalse
+%<*thm-restate>
+% \fi
+%
+% \part{lwarp-thm-restate.sty}
+%
+% \section{thm-restate}
+%
+% \credits{Ulrich M. Schwarz}
+%
+% \DescribePackage{thm-restate}
+% \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 at ProvidesPackagePass{thm-restate}[2020/08/01]
+% \end{macrocode}
+%
+% \begin{macrocode}
+\xpatchcmd{\thmt at restatable}
+ {\@ifstar}
+ {\edef\LWR at thisthmstyle{#2}\@ifstar}
+ {}
+ {\LWR at patcherror{thm-restate}{thmt at restatable}}
+% \end{macrocode}
+%
+% \iffalse
+%</thm-restate>
+% \fi
+%
+%
+%
+%
+% \iffalse
+%<*thmbox>
+% \fi
+%
+% \part{lwarp-thmbox.sty}
+%
+% \section{thmbox}
+%
+% \credits{Emmanuel Beffara}
+%
+% \DescribePackage{thmbox}
+% \pkg{thmbox} is emulated for use by \pkg{lwarp}.
+%
+% \changes{v0.88}{2020/07/04}{\pkg{thmbox}: Added.}
+%
+% \codehtml
+%
+% \begin{macrocode}
+\LWR at ProvidesPackagePass{thmbox}[2005/04/24]
+% \end{macrocode}
+%
+% \begin{macrocode}
+\renewenvironment{thmbox}[2][]%
+ {%
+ \begin{BlockClass}{thmbox}
+ \begin{BlockClass}{thmboxtitle}
+ #2
+ \end{BlockClass}
+ }
+ {\end{BlockClass}}
+
+\renewenvironment{proof}[1][]
+ {%
+ \begin{BlockClass}{thmboxproof}%
+ \InlineClass{thmboxproofname}{\proofname\ #1\unskip\,:}
+ }
+ {%
+ \qquad\HTMLunicode{220E}% end of proof symbol
+ \end{BlockClass}
+ }
+
+\renewenvironment{example}[1][\examplename]%
+ {%
+ \begin{BlockClass}{thmboxexample}%
+ \InlineClass{thmboxexamplename}{#1\,:}
+ }
+ {\end{BlockClass}}
+
+\renewenvironment{leftbar}[1][]%
+ {\begin{BlockClass}{thmboxleftbar}}
+ {\end{BlockClass}}
+% \end{macrocode}
+%
+% \iffalse
+%</thmbox>
+% \fi
+%
+%
+%
+%
+%
+% \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 at ProvidesPackagePass{thmtools}[2020/08/01]
+% \end{macrocode}
+%
+% The following patches either \pkg{thm-amsthm} or \pkg{thm-ntheorem}.
+% \begin{macrocode}
+\def\thmt at headstyle@margin{%
+ \InlineClass{amsthmnnumbertheorem}{\NUMBER}
+ \
+ \InlineClass{amsthmnametheorem}{\NAME}
+ \InlineClass{amsthmnotetheorem}{\NOTE}
+}
+
+\let\thmt at headstyle@swapnumber\thmt at headstyle@margin
+% \end{macrocode}
+%
+% \iffalse
+%</thmtools>
+% \fi
+%
+%
+%
+% \iffalse
%<*threadcol>
% \fi
%
@@ -71531,21 +81602,24 @@
\let\pgfutil at raggedleft\LWR at print@raggedleft
\let\pgfutil at raggedright\LWR at print@raggedright
-
-\def\pgfutil at font@tiny{\LWR at printtiny}
-\def\pgfutil at font@scriptsize{\LWR at printscriptsize}
-\def\pgfutil at font@footnotesize{\LWR at printfootnotesize}
+% \end{macrocode}
+%
+% \changes{v0.893}{2020/11/09}{\pkg{tikz}: Fixed font macros.}
+% \begin{macrocode}
+\def\pgfutil at font@tiny{\LWR at print@tiny}
+\def\pgfutil at font@scriptsize{\LWR at print@scriptsize}
+\def\pgfutil at font@footnotesize{\LWR at print@footnotesize}
\def\pgfutil at font@small{\LWR at print@small}
\def\pgfutil at font@normalsize{\LWR at print@normalsize}
-\def\pgfutil at font@large{\LWR at printlarge}
-\def\pgfutil at font@Large{\LWR at printLarge}
-\def\pgfutil at font@huge{\LWR at printhuge}
-\def\pgfutil at font@Huge{\LWR at printHuge}
+\def\pgfutil at font@large{\LWR at print@large}
+\def\pgfutil at font@Large{\LWR at print@Large}
+\def\pgfutil at font@huge{\LWR at print@huge}
+\def\pgfutil at font@Huge{\LWR at print@Huge}
-\def\pgfutil at font@itshape{\LWR at origitshape}
-\def\pgfutil at font@bfseries{\LWR at origbfseries}
+\def\pgfutil at font@itshape{\LWR at print@itshape}
+\def\pgfutil at font@bfseries{\LWR at print@bfseries}
-\def\pgfutil at font@normalfont{\LWR at orignormalfont}
+\def\pgfutil at font@normalfont{\LWR at print@normalfont}
% \end{macrocode}
% \iffalse
@@ -71556,9 +81630,45 @@
%
%
%
+% \iffalse
+%<*tikz-imagelabels>
+% \fi
%
+% \part{lwarp-tikz-imagelabels.sty}
%
+% \section{tikz-imagelabels}
+%
+% \credits{Tobias Plüss}
+%
+% \DescribePackage{tikz-imagelabels}
+% \pkg{tikz-imagelabels} is patched for use by \pkg{lwarp}.
+%
+% \changes{v0.895}{2021/01/19}{\pkg{tikz-imagelabels}: Added.}
+%
+% \codehtml
+%
+% \begin{macrocode}
+\LWR at ProvidesPackagePass{tikz-imagelabels}[2019/06/27]
+% \end{macrocode}
+%
+% \begin{macrocode}
+\BeforeBeginEnvironment{annotationimage}{%
+ \begin{lateximage}[-tikz-imagelabels-~\PackageDiagramAltText]%
+}
+
+\AfterEndEnvironment{annotationimage}{\end{lateximage}}
+% \end{macrocode}
+%
% \iffalse
+%</tikz-imagelabels>
+% \fi
+%
+%
+%
+%
+%
+%
+% \iffalse
%<*titleps>
% \fi
@@ -71861,10 +81971,28 @@
%
%
% Discard all options for \pkg{lwarp-titlesec}:
-
+%
% \codehtml
+%
+% \changes{v0.85}{2020/04/30}{\pkg{titlesec}: \optn{pagestyles} option.}
% \begin{macrocode}
-\LWR at ProvidesPackageDrop{titlesec}[2016/03/21]
+\PackageInfo{lwarp}{Using the lwarp version of package `titlesec'.}%
+\ProvidesPackage{lwarp-titlesec}[2016/03/21]
+
+\newbool{LWR at loadtitleps}
+\boolfalse{LWR at loadtitleps}
+
+\DeclareOption{pagestyles}{
+ \booltrue{LWR at loadtitleps}
+}
+
+\DeclareOption*{}
+
+\ProcessOptions\relax
+
+\ifbool{LWR at loadtitleps}{
+ \RequirePackage{lwarp-titleps}
+}{}
% \end{macrocode}
% \begin{noindmacro}{\titlelabel} \marg{label-format}
@@ -72221,16 +82349,18 @@
% then initilize:
%
% \changes{v0.39}{2017/09/03}{\pkg{titling}: Removed extraneous \protect\env{center} environments.}
+% \changes{v0.84}{2020/04/22}{\pkg{titling}: \cs{AtBeginDocument}.}
% \begin{macrocode}
+\AtBeginDocument{
+ \pretitle{}
+ \posttitle{}
-\pretitle{}
-\posttitle{}
+ \preauthor{}
+ \postauthor{}
-\preauthor{}
-\postauthor{}
-
-\predate{}
-\postdate{}
+ \predate{}
+ \postdate{}
+}
% \end{macrocode}
%
%
@@ -72244,7 +82374,7 @@
% Redefine the footnote mark:
%
% \begin{macrocode}
-\def\@makefnmark{\textsuperscript{\@thefnmark}}
+ \def\@makefnmark{\textsuperscript{\@thefnmark}}%
% \end{macrocode}
%
% \begin{center}
@@ -72258,11 +82388,11 @@
% Redefine the footnote text:
%
% \begin{macrocode}
-\long\def\@makefntext##1{%
+ \long\def\@makefntext##1{%
% \end{macrocode}
% Make the footnote mark and some extra horizontal space for the tags:
% \begin{macrocode}
-\makethanksmark~%
+ \makethanksmark~%
% \end{macrocode}
% \begin{center}
% \begin{minipage}{.7\linewidth}
@@ -72274,8 +82404,8 @@
%
% Print the text:
% \begin{macrocode}
-##1%
-}% \@makefntext
+ ##1%
+ }% \@makefntext
}
% \end{macrocode}
% \end{macro}
@@ -72306,32 +82436,32 @@
% \end{macrocode}
% An \HTML\ titlepage \element{div} is used for all classes.
% \begin{macrocode}
-\begin{titlepage}
+ \begin{titlepage}
% \end{macrocode}
% Select which kind of footnote marks to use:
% \begin{macrocode}
-\@bsmarkseries
+ \@bsmarkseries
% \end{macrocode}
% Set up special patches:
% \begin{macrocode}
-\LWR at maketitlesetup
+ \LWR at maketitlesetup
% \end{macrocode}
% Typeset the title, etc:
% \begin{macrocode}
-\@maketitle
+ \@maketitle
% \end{macrocode}
% Immediately generate any \cs{thanks} footnotes:
% \changes{v0.73}{2019/06/25}{\pkg{titling}: Fix: Paragraph tags.}
% \begin{macrocode}
-\LWR at stoppars\@thanks\LWR at startpars
+ \LWR at stoppars\@thanks\LWR at startpars
% \end{macrocode}
% Close the \HTML\ titlepage div:
% \begin{macrocode}
-\end{titlepage}
+ \end{titlepage}
% \end{macrocode}
% Reset the footnote counter:
% \begin{macrocode}
-\@bscontmark
+ \@bscontmark
}
% \end{macrocode}
% \end{macro}
@@ -73073,21 +83203,21 @@
% \begin{macrocode}
\DeclareDocumentCommand{\newlistof}{o m m m}
{%
-\IfValueTF{#1}
-{\newlistentry[#1]{#2}{#3}{0}}
-{\newlistentry{#2}{#3}{0}}
-\@namedef{ext@#2}{#3}
-\@ifundefined{c@#3depth}{\newcounter{#3depth}}{}
-\setcounter{#3depth}{1}
-\@namedef{cftmark#3}{}
-\@namedef{listof#2}{\listof{#2}{#4}}
-\@namedef{@cftmake#3title}{}
-\expandafter\newlength\csname cftbefore#3titleskip\endcsname
-\expandafter\newlength\csname cftafter#3titleskip\endcsname
-\@namedef{cft#3titlefont}{}
-\@namedef{cftafter#3title}{}
-\@namedef{cft#3prehook}{}
-\@namedef{cft#3posthook}{}
+ \IfValueTF{#1}%
+ {\newlistentry[#1]{#2}{#3}{0}}%
+ {\newlistentry{#2}{#3}{0}}%
+ \@namedef{ext@#2}{#3}%
+ \@ifundefined{c@#3depth}{\newcounter{#3depth}}{}%
+ \setcounter{#3depth}{1}%
+ \@namedef{cftmark#3}{}%
+ \@namedef{listof#2}{\listof{#2}{#4}}%
+ \@namedef{@cftmake#3title}{}%
+ \expandafter\newlength\csname cftbefore#3titleskip\endcsname%
+ \expandafter\newlength\csname cftafter#3titleskip\endcsname%
+ \@namedef{cft#3titlefont}{}%
+ \@namedef{cftafter#3title}{}%
+ \@namedef{cft#3prehook}{}%
+ \@namedef{cft#3posthook}{}%
}
% \end{macrocode}
% \end{noindmacro}
@@ -73262,7 +83392,7 @@
\let\LWRTODONOTES at orig@todototoc\todototoc
\renewcommand*{\todototoc}{%
-\phantomsection%
+\LWR at phantomsection%
\LWRTODONOTES at orig@todototoc%
}
@@ -73438,7 +83568,6 @@
%
% \codehtml
%
-% Discard all options for \pkg{lwarp-transparent}:
% \begin{macrocode}
\LWR at ProvidesPackagePass{transparent}[2019/11/29]
% \end{macrocode}
@@ -73551,20 +83680,11 @@
% Is used by \pkg{trivfloat} to correct float chapter numbers,
% but is not needed for \pkg{lwarp}.
-% \codehtml
% \begin{macrocode}
-\begin{warpHTML}
-% \end{macrocode}
-
-% \begin{macrocode}
\AtBeginDocument{\DeclareDocumentCommand{\tfl at chapter@fix}{m m}{}}
% \end{macrocode}
-% \begin{macrocode}
-\end{warpHTML}
-% \end{macrocode}
-
% \subsection{Combining \cs{newfloat}, \cs{trivfloat}, and \pkg{algorithmicx}}
% \label{sec:combiningfloats}
% \gindex{newfloat=\pkg{newfloat}>with \pkg{trivfloat}, \pkg{algorithmicx}}
@@ -73571,10 +83691,6 @@
% \gindex{trivfloat=\pkg{trivfloat}>with \pkg{newfloat}, \pkg{algorithmicx}}
% \gindex{algorithmicx=\pkg{algorithmicx}>with \pkg{newfloat}, \pkg{trivfloat}}
%
-% \codeall
-% \begin{macrocode}
-\begin{warpall}
-% \end{macrocode}
% \textred{For both print and \HTML\ output:}
%
@@ -73601,9 +83717,6 @@
% \makeatletter
% \end{Verbatim}
-% \begin{macrocode}
-\end{warpall}
-% \end{macrocode}
% \iffalse
%</trivfloat>
@@ -73706,7 +83819,103 @@
%
%
%
+%
% \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 at ProvidesPackagePass{txfonts}[2008/01/22]
+% \end{macrocode}
+%
+% For \brand{MathJax}:
+% \begin{macrocode}
+\LWR at origRequirePackage{lwarp-common-mathjax-letters}
+
+\begin{warpMathJax}
+\LWR at infoprocessingmathjax{txfonts}
+
+\LWR at mathjax@addgreek at l@up{}{up}
+\end{warpMathJax}
+% \end{macrocode}
+%
+% \iffalse
+%</txfonts>
+% \fi
+%
+%
+%
+% \iffalse
+%<*txgreeks>
+% \fi
+%
+% \part{lwarp-txgreeks.sty}
+%
+% \section{txgreeks}
+%
+% \credits{Jean-Fran\c{c}ois Burnol}
+%
+% \DescribePackage{txgreeks}
+% \pkg{txgreeks} is used as-is for \SVG\ math, and is
+% emulated for \brand{MathJax}.
+%
+% The \brand{MathJax} emulation honors all package options.
+%
+% \changes{v0.891}{2020/09/14}{\pkg{txgreeks}: Added.}
+%
+% \codehtml
+%
+% \begin{macrocode}
+\LWR at ProvidesPackagePass{txgreeks}[2011/03/16]
+
+\LWR at infoprocessingmathjax{txgreeks}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\LWR at origRequirePackage{lwarp-common-mathjax-letters}
+
+\begin{warpMathJax}
+\iftgs at uplower% upright lowercase Greek
+ \LWR at mathjax@addgreek at l@up{}{}
+ \LWR at mathjax@addgreek at l@it{other}{}
+\else% italic lowercase Greek
+ \LWR at mathjax@addgreek at l@it{}{}
+ \LWR at mathjax@addgreek at l@up{other}{}
+\fi
+
+\iftgs at itupper % italic uppercase Greek
+ \LWR at mathjax@addgreek at u@it*{}{}
+ \LWR at mathjax@addgreek at u@up*{other}{}
+ \LWR at mathjax@addgreek at u@up*{var}{}
+\else% upright uppercase Greek
+ \LWR at mathjax@addgreek at u@up*{}{}
+ \LWR at mathjax@addgreek at u@it*{other}{}
+ \LWR at mathjax@addgreek at u@it*{var}{}
+\fi
+\end{warpMathJax}
+% \end{macrocode}
+%
+% \iffalse
+%</txgreeks>
+% \fi
+%
+%
+%
+% \iffalse
%<*typearea>
% \fi
%
@@ -74016,12 +84225,54 @@
% \DescribePackage{unicode-math}
% \pkg{unicode-math} is supported as-is for \HTML\ with \SVG math.
%
-% For \brand{MathJax}, many characters may not be read correctly,
-% such as bold letters,
-% and so are not read correctly by \prog{pdftotext} for \HTML.
+% If the document source includes embedded Unicode characters,
+% \trouble[\brand{MathJax}]{unicode-math=\pkg{unicode-math}}
+% \trouble{mathjax=\brand{MathJax}>unicode-math=\pkg{unicode-math}}
+% these may not be reproduced correctly for \prog{pdftotext},
+% and thus not display correctly in \brand{MathJax}.
+%
% Symbol font commands are emulated, but not all combinations are
-% supported by MathJax.
+% supported by \brand{MathJax}, especially with the dedicated Greek macros.
+% Symbol macros such as \cs{symbfsf} may not be sans or bold.
+% For Greek, use the Unicode equivalent, if necessary.
%
+% The \brand{MathJax} emulation does not change with the use of \cs{mathversion}.
+% \watchout[\cs{mathversion}]
+% Whatever emulation is established at the begin of the document will remain.
+%
+% The option \optn{sans-style} honors \optn{upright} and \optn{italic},
+% but \optn{italic} will not be sans, in order to support Greek macros.
+%
+% Greek macros such as \cs{alpha} respond to the \optn{math-style} option.
+% Latin symbols does not, per \brand{MathJax} limitations, unless placed inside
+% \cs{symbit} or similar.
+%
+% Macros from the categories \cs{mathopen}, \cs{mathclose}, and \cs{mathfence}
+% are emulated. Due to current \brand{MathJax} limitations, not all
+% stretch to the correct height.
+%
+% Also emulated are macros from the categories
+% \cs{mathpunct}, \cs{mathover}, \cs{mathunder}, \cs{mathaccent},
+% \cs{mathbotaccent}, and \cs{mathop}.
+%
+% The individual \pkg{unicode-math} macros
+% of categories \cs{mathbin}, \cs{mathord}, and \cs{mathrel}
+% are not emulated for \brand{MathJax},
+% as there are more than two thousand of them, but they may be added as needed.
+% Place the following in the document preamble after loading \pkg{unicode-math},
+% including a definition for each macro which is used in the document
+% but undefined in \brand{MathJax}:
+%
+% \begin{sourceverb}
+% \begin{warpMathJax}
+% \CustomizeMathJax{\newcommand{\uplus}{\mathbin{\unicode{x0228E}}}}
+% ...
+% \end{warpMathJax}
+% \end{sourceverb}
+%
+% Use \cs{mathrel}, \cs{mathbin}, etc. depending on the category of each macro.
+% For a list of macro names and symbols, see \cmds{texdoc unimath-symbols}.
+%
% \changes{v0.79}{2020/01/30}{\pkg{unicode-math}: Added.}
% \changes{v0.80}{2020/02/15}{\pkg{unicode-math}: Improved \brand{MathJax}.}
%
@@ -74039,6 +84290,8 @@
% ^^A math-sans-serif-bold-italic | math-monospace | math-initial | math-tailed |
% ^^A math-looped | math-stretched
% \begin{macrocode}
+\LWR at origRequirePackage{lwarp-common-mathjax-letters}
+
\begin{warpMathJax}
\LWR at infoprocessingmathjax{unicode-math}
@@ -74050,17 +84303,18 @@
\CustomizeMathJax{\let\symcal\mathcal}
\CustomizeMathJax{\let\symscr\mathscr}
\CustomizeMathJax{\let\symfrak\mathfrak}
+
\CustomizeMathJax{\let\symsfup\mathsf}
-% \CustomizeMathJax{\let\symsfit\mathit}% not sans
-\CustomizeMathJax{\newcommand{\symsfit}[1]{%
- \mmlToken{mi}[mathvariant="sans-serif-italic"]{#1}}%
-}
+\CustomizeMathJax{\let\symsfit\mathit}% not sans
+% \CustomizeMathJax{\newcommand{\symsfit}[1]{%
+% \mmlToken{mi}[mathvariant="sans-serif-italic"]{#1}}% not greek
+% }
-% \CustomizeMathJax{\let\symbfsf\mathbf}% not sans
-\CustomizeMathJax{\newcommand{\symbfsf}[1]{%
- \mmlToken{mi}[mathvariant="bold-sans-serif"]{#1}}%
-}
+\CustomizeMathJax{\let\symbfsf\mathbf}% not sans
+% \CustomizeMathJax{\newcommand{\symbfsf}[1]{%
+% \mmlToken{mi}[mathvariant="bold-sans-serif"]{#1}}% not greek
+% }
\CustomizeMathJax{\let\symbfup\mathbf}
\CustomizeMathJax{\newcommand{\symbfit}[1]{\boldsymbol{#1}}}
@@ -74068,23 +84322,23 @@
\CustomizeMathJax{\let\symbfscr\mathscr}% not bold
% \CustomizeMathJax{\newcommand{\symbfscr}[1]{
-% \mmlToken{mi}[mathvariant="math-bold-script"]{#1}}
+% \mmlToken{mi}[mathvariant="math-bold-script"]{#1}}% not greek
% }
\CustomizeMathJax{\let\symbffrak\mathfrak}% not bold
% \CustomizeMathJax{\newcommand{\symbffrak}[1]{%
-% \mmlToken{mi}[mathvariant="math-bold-fraktur"]{#1}}%
+% \mmlToken{mi}[mathvariant="math-bold-fraktur"]{#1}}% not greek
% }
-% \CustomizeMathJax{\let\symbfsfup\mathbf}% not sans
-\CustomizeMathJax{\newcommand{\symbfsfup}[1]{%
- \mmlToken{mi}[mathvariant="bold-sans-serif"]{#1}}%
-}
+\CustomizeMathJax{\let\symbfsfup\mathbf}% not sans
+% \CustomizeMathJax{\newcommand{\symbfsfup}[1]{%
+% \mmlToken{mi}[mathvariant="bold-sans-serif"]{#1}}% not greek
+% }
-% \CustomizeMathJax{\let\symbfsfit\mathit}% not bold nor sans
-\CustomizeMathJax{\newcommand{\symbfsfit}[1]{%
- \mmlToken{mi}[mathvariant="sans-serif-bold-italic"]{#1}}%
-}
+\CustomizeMathJax{\newcommand{\symbfsfit}[1]{\boldsymbol{#1}}}% not sans
+% \CustomizeMathJax{\newcommand{\symbfsfit}[1]{%
+% \mmlToken{mi}[mathvariant="sans-serif-bold-italic"]{#1}}% not greek
+% }
% Duplicates below are commented out.
\CustomizeMathJax{\let\symup\mathrm}
@@ -74091,7 +84345,24 @@
\CustomizeMathJax{\let\symbf\mathbf}% \symbfup defined above
\CustomizeMathJax{\let\symit\mathit}
% \CustomizeMathJax{\let\symbfit\mathit}% not bold
-\CustomizeMathJax{\let\symsf\mathsf}
+% \end{macrocode}
+%
+% \changes{v0.891}{2020/09/21}{\pkg{unicode-math}: Added \optn{sans-style}.}
+% \begin{macrocode}
+\ExplSyntaxOn
+\AtBeginDocument{
+\bool_if:NTF \g__um_sfliteral_bool
+ {\CustomizeMathJax{\let\symsf\symsfup}}
+ {
+ \bool_if:NTF \g__um_upsans_bool
+ {\CustomizeMathJax{\let\symsf\symsfup}}
+ {\CustomizeMathJax{\let\symsf\symsfit}}
+ }
+}
+\ExplSyntaxOff
+% \end{macrocode}
+%
+% \begin{macrocode}
% \CustomizeMathJax{\let\symbfsfup\mathbf}% not sans
% \CustomizeMathJax{\let\symsfit\mathit}% not sans
% \CustomizeMathJax{\let\symbfsfit\mathit}% not bold nor sans
@@ -74102,6 +84373,126 @@
% \CustomizeMathJax{\let\symbfscr\mathscr}% not bold
% \CustomizeMathJax{\let\symfrak\mathfrak}
\CustomizeMathJax{\let\symbffrac\mathbffrac}
+% \end{macrocode}
+%
+% Some symbol categories defined by \pkg{unicode-math},
+% in case they are used inside custom macros:
+% \begin{macrocode}
+\CustomizeMathJax{\newcommand{\mathfence}[1]{\mathord{#1}}}
+\CustomizeMathJax{\newcommand{\mathover}[1]{#1}}
+\CustomizeMathJax{\newcommand{\mathunder}[1]{#1}}
+\CustomizeMathJax{\newcommand{\mathaccent}[1]{#1}}
+\CustomizeMathJax{\newcommand{\mathbotaccent}[1]{#1}}
+\CustomizeMathJax{\newcommand{\mathalpha}[1]{\mathord{#1}}}
+% \end{macrocode}
+%
+% \optn{math-style} is one of: \optn{ISO}, \optn{TeX}, \optn{french}, \optn{upright},
+% or \optn{literal},
+% which set |\g__um_upGreek_bool| and |\g__um_upgreek_bool|.
+%
+% \changes{v0.80}{2020/02/15}{\pkg{unicode-math}: Improved \brand{MathJax}.}
+% \begin{macrocode}
+\ExplSyntaxOn
+
+\AtBeginDocument{
+\bool_if:NTF \g__um_upGreek_bool
+ {\LWR at mathjax@addgreek at u@up*{}{}}
+ {\LWR at mathjax@addgreek at u@it*{}{}}
+
+\bool_if:NTF \g__um_upgreek_bool
+ {\LWR at mathjax@addgreek at l@up{}{}}
+ {\LWR at mathjax@addgreek at l@it{}{}}
+}
+
+\LWR at mathjax@addgreek at u@up*{up}{}
+\LWR at mathjax@addgreek at u@it*{it}{}
+\LWR at mathjax@addgreek at l@up{up}{}
+\LWR at mathjax@addgreek at l@it{it}{}
+
+\ExplSyntaxOff
+
+\CustomizeMathJax{\let\lparen(}
+\CustomizeMathJax{\let\rparen)}
+\CustomizeMathJax{\newcommand{\cuberoot}[1]{\,{}^3\!\!\sqrt{#1}}\,}
+\CustomizeMathJax{\newcommand{\fourthroot}[1]{\,{}^4\!\!\sqrt{#1}}\,}
+% \end{macrocode}
+%
+% Many \cs{mathopen} \Slash \cs{mathclose} delimiters are
+% defined in \filenm{lwarp_mathjax.txt}, where
+% \cs{left} \Slash \cs{right} support is added.
+% \changes{v0.892}{2020/09/26}{\pkg{unicode-math}: Adeed \brand{MathJax} support for \cs{left} \Slash \cs{right}.}
+% \begin{macrocode}
+\CustomizeMathJax{\newcommand{\longdivision}[1]{\mathord{\unicode{x027CC}#1}}}
+
+\CustomizeMathJax{\newcommand{\mathcomma}{,}}
+\CustomizeMathJax{\newcommand{\mathcolon}{:}}
+\CustomizeMathJax{\newcommand{\mathsemicolon}{;}}
+
+\CustomizeMathJax{\newcommand{\overbracket}[1]{\mathinner{\overline{\ulcorner{#1}\urcorner}}}}
+\CustomizeMathJax{\newcommand{\underbracket}[1]{\mathinner{\underline{\llcorner{#1}\lrcorner}}}}
+
+\CustomizeMathJax{\newcommand{\overbar}[1]{\mathord{#1\unicode{x00305}}}}
+\CustomizeMathJax{\newcommand{\ovhook}[1]{\mathord{#1\unicode{x00309}}}}
+\CustomizeMathJax{\newcommand{\ocirc}[1]{\mathord{#1\unicode{x0030A}}}}
+\CustomizeMathJax{\newcommand{\candra}[1]{\mathord{#1\unicode{x00310}}}}
+\CustomizeMathJax{\newcommand{\oturnedcomma}[1]{\mathord{#1\unicode{x00312}}}}
+\CustomizeMathJax{\newcommand{\ocommatopright}[1]{\mathord{#1\unicode{x00315}}}}
+\CustomizeMathJax{\newcommand{\droang}[1]{\mathord{#1\unicode{x0031A}}}}
+\CustomizeMathJax{\newcommand{\leftharpoonaccent}[1]{\mathord{#1\unicode{x020D0}}}}
+\CustomizeMathJax{\newcommand{\rightharpoonaccent}[1]{\mathord{#1\unicode{x020D1}}}}
+\CustomizeMathJax{\newcommand{\vertoverlay}[1]{\mathord{#1\unicode{x020D2}}}}
+\CustomizeMathJax{\newcommand{\leftarrowaccent}[1]{\mathord{#1\unicode{x020D0}}}}
+\CustomizeMathJax{\newcommand{\annuity}[1]{\mathord{#1\unicode{x020E7}}}}
+\CustomizeMathJax{\newcommand{\widebridgeabove}[1]{\mathord{#1\unicode{x020E9}}}}
+\CustomizeMathJax{\newcommand{\asteraccent}[1]{\mathord{#1\unicode{x020F0}}}}
+\CustomizeMathJax{\newcommand{\threeunderdot}[1]{\mathord{#1\unicode{x020E8}}}}
+
+\CustomizeMathJax{\newcommand{\Bbbsum}{\mathop{\unicode{x2140}}\limits}}
+\CustomizeMathJax{\newcommand{\oiint}{\mathop{\unicode{x222F}}\limits}}
+\CustomizeMathJax{\newcommand{\oiiint}{\mathop{\unicode{x2230}}\limits}}
+\CustomizeMathJax{\newcommand{\intclockwise}{\mathop{\unicode{x2231}}\limits}}
+\CustomizeMathJax{\newcommand{\ointclockwise}{\mathop{\unicode{x2232}}\limits}}
+\CustomizeMathJax{\newcommand{\ointctrclockwise}{\mathop{\unicode{x2233}}\limits}}
+\CustomizeMathJax{\newcommand{\varointclockwise}{\mathop{\unicode{x2232}}\limits}}
+\CustomizeMathJax{\newcommand{\leftouterjoin}{\mathop{\unicode{x27D5}}\limits}}
+\CustomizeMathJax{\newcommand{\rightouterjoin}{\mathop{\unicode{x27D6}}\limits}}
+\CustomizeMathJax{\newcommand{\fullouterjoin}{\mathop{\unicode{x27D7}}\limits}}
+\CustomizeMathJax{\newcommand{\bigbot}{\mathop{\unicode{x27D8}}\limits}}
+\CustomizeMathJax{\newcommand{\bigtop}{\mathop{\unicode{x27D9}}\limits}}
+\CustomizeMathJax{\newcommand{\xsol}{\mathop{\unicode{x29F8}}\limits}}
+\CustomizeMathJax{\newcommand{\xbsol}{\mathop{\unicode{x29F9}}\limits}}
+\CustomizeMathJax{\newcommand{\bigcupdot}{\mathop{\unicode{x2A03}}\limits}}
+\CustomizeMathJax{\newcommand{\bigsqcap}{\mathop{\unicode{x2A05}}\limits}}
+\CustomizeMathJax{\newcommand{\conjquant}{\mathop{\unicode{x2A07}}\limits}}
+\CustomizeMathJax{\newcommand{\disjquant}{\mathop{\unicode{x2A08}}\limits}}
+\CustomizeMathJax{\newcommand{\bigtimes}{\mathop{\unicode{x2A09}}\limits}}
+\CustomizeMathJax{\newcommand{\modtwosum}{\mathop{\unicode{x2A0A}}\limits}}
+\CustomizeMathJax{\newcommand{\sumint}{\mathop{\unicode{x2A0B}}\limits}}
+\CustomizeMathJax{\newcommand{\intbar}{\mathop{\unicode{x2A0D}}\limits}}
+\CustomizeMathJax{\newcommand{\intBar}{\mathop{\unicode{x2A0E}}\limits}}
+\CustomizeMathJax{\newcommand{\fint}{\mathop{\unicode{x2A0F}}\limits}}
+\CustomizeMathJax{\newcommand{\cirfnint}{\mathop{\unicode{x2A10}}\limits}}
+\CustomizeMathJax{\newcommand{\awint}{\mathop{\unicode{x2A11}}\limits}}
+\CustomizeMathJax{\newcommand{\rppolint}{\mathop{\unicode{x2A12}}\limits}}
+\CustomizeMathJax{\newcommand{\scpolint}{\mathop{\unicode{x2A13}}\limits}}
+\CustomizeMathJax{\newcommand{\npolint}{\mathop{\unicode{x2A14}}\limits}}
+\CustomizeMathJax{\newcommand{\pointint}{\mathop{\unicode{x2A15}}\limits}}
+\CustomizeMathJax{\newcommand{\sqint}{\mathop{\unicode{x2A16}}\limits}}
+\CustomizeMathJax{\newcommand{\intlarhk}{\mathop{\unicode{x2A17}}\limits}}
+\CustomizeMathJax{\newcommand{\intx}{\mathop{\unicode{x2A18}}\limits}}
+\CustomizeMathJax{\newcommand{\intcap}{\mathop{\unicode{x2A19}}\limits}}
+\CustomizeMathJax{\newcommand{\intcup}{\mathop{\unicode{x2A1A}}\limits}}
+\CustomizeMathJax{\newcommand{\upint}{\mathop{\unicode{x2A1B}}\limits}}
+\CustomizeMathJax{\newcommand{\lowint}{\mathop{\unicode{x2A1C}}\limits}}
+\CustomizeMathJax{\newcommand{\bigtriangleleft}{\mathop{\unicode{x2A1E}}\limits}}
+\CustomizeMathJax{\newcommand{\zcmp}{\mathop{\unicode{x2A1F}}\limits}}
+\CustomizeMathJax{\newcommand{\zpipe}{\mathop{\unicode{x2A20}}\limits}}
+\CustomizeMathJax{\newcommand{\zproject}{\mathop{\unicode{x2A21}}\limits}}
+\CustomizeMathJax{\newcommand{\biginterleave}{\mathop{\unicode{x2AFC}}\limits}}
+\CustomizeMathJax{\newcommand{\bigtalloblong}{\mathop{\unicode{x2AFF}}\limits}}
+\CustomizeMathJax{\newcommand{\arabicmaj}{\mathop{\unicode{x1EEF0}}\limits}}
+\CustomizeMathJax{\newcommand{\arabichad}{\mathop{\unicode{x1EEF1}}\limits}}
+
\end{warpMathJax}
% \end{macrocode}
%
@@ -74169,11 +84560,12 @@
\LWR at formatted{unitfrac}
% \end{macrocode}
%
-% For Mathjax:
+% For \brand{Mathjax}:
+% \changes{v0.891}{2020/09/08}{\pkg{units}: Added \cs{mathinner}, improved fraction.}
% \begin{macrocode}
\begin{warpMathJax}
-\CustomizeMathJax{\newcommand{\unit}[2][]{#1 #2}}
-\CustomizeMathJax{\newcommand{\unitfrac}[3][]{#1 #2/#3}}
+\CustomizeMathJax{\newcommand{\unit}[2][]{#1 \mathinner{#2}}}
+\CustomizeMathJax{\newcommand{\unitfrac}[3][]{#1 \mathinner{{}^{#2}\!/\!_{#3}}}}
\end{warpMathJax}
% \end{macrocode}
@@ -74249,7 +84641,50 @@
%
%
%
+%
% \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 at ProvidesPackagePass{upgreek}[2003/02/12]
+% \end{macrocode}
+%
+% For \brand{MathJax}:
+% \begin{macrocode}
+\LWR at origRequirePackage{lwarp-common-mathjax-letters}
+
+\begin{warpMathJax}
+\LWR at infoprocessingmathjax{upgreek}
+
+\LWR at mathjax@addgreek at l@up{up}{}
+\LWR at mathjax@addgreek at u@up{Up}{}
+
+\end{warpMathJax}
+% \end{macrocode}
+%
+% \iffalse
+%</upgreek>
+% \fi
+%
+%
+%
+%
+% \iffalse
%<*upref>
% \fi
%
@@ -74292,11 +84727,12 @@
%
% \changes{v0.52}{2018/03/29}{\pkg{url}: Added.}
% \changes{v0.80}{2020/02/06}{\pkg{url}: Creates hyperlinks.}
+% \changes{v0.85}{2020/05/01}{\pkg{url}: Fixed print mode.}
%
% \codehtml
%
% \begin{macrocode}
-\LetLtxMacro\LWR at url@orig at url\url
+\LetLtxMacro\LWR at url@orig at url\LWR at url
\LWR at ProvidesPackagePass{url}[2013/09/16]
% \end{macrocode}
@@ -74310,9 +84746,10 @@
% ^^A \LWR at url@origUrl at FormatString%
%
% \begin{macrocode}
-\renewcommand*{\Url at FormatString}{%
+\newcommand*{\LWR at HTML@Url at FormatString}{%
\expandafter\LWR at url@orig at url\expandafter{\Url at String}%
}
+\LWR at formatted{Url at FormatString}
% \end{macrocode}
%
% \iffalse
@@ -74321,7 +84758,48 @@
%
%
%
+%
+%
% \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 at 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
%
@@ -74348,6 +84826,44 @@
%
%
% \iffalse
+%<*varioref>
+% \fi
+%
+% \part{lwarp-varioref.sty}
+%
+% \section{varioref}
+%
+% \credits{Frank Mittelbach}
+%
+% \DescribePackage{varioref}
+% \pkg{varioref} is patched for use by \pkg{lwarp}.
+%
+% \changes{v0.88}{2020/07/05}{\pkg{varioref}: Removed page-related text.}
+%
+% \codehtml
+%
+% \begin{macrocode}
+\LWR at ProvidesPackagePass{varioref}[2020/01/23]
+% \end{macrocode}
+%
+% Page-related output is not used for \HTML\ output.
+% \begin{macrocode}
+\def\reftextfaceafter {\unskip}%
+\def\reftextfacebefore{\unskip}%
+\def\reftextafter {\unskip}%
+\def\reftextbefore {\unskip}%
+\def\reftextcurrent {\unskip}%
+\def\reftextfaraway#1{\unskip}%
+\def\reftextpagerange#1#2{\unskip}%
+% \end{macrocode}
+%
+% \iffalse
+%</varioref>
+% \fi
+%
+%
+%
+% \iffalse
%<*verse>
% \fi
%
@@ -74391,11 +84907,12 @@
% \begin{macrocode}
\LWR at restoreoriglists%
% \end{macrocode}
-% \DescribePackage{verse}\DescribeClass{memoir}\gindex{memoir=\pkg{memoir}>verse}
+% \DescribePackage{verse}
+% \DescribeClass{memoir}%
% The \pkg{verse} or \pkg{memoir} packages can place stanza numbers to the left
% with their \cs{flagverse} command. \DescribeMacro{\flagverse}
-% Do not allow them to go into the left margin, which would cause \prog{pdfcrop}
-% to crop the entire page further to the left:
+% The following does not allow them to go into the left margin,
+% which would cause \prog{pdfcrop} to crop the entire page further to the left.
% \DescribeLength{\vleftskip}
% \begin{macrocode}
\ifdef{\vleftskip}{%
@@ -74403,7 +84920,7 @@
\setlength{\leftmargini}{\HTMLleftmargini}
}{}
\LWR at forcenewpage
-\LWR at atbeginverbatim{3}{verse}%
+\LWR at atbeginverbatim{verse}%
}
% \end{macrocode}
% After the end of the \env{verse} environment, which places the \element{pre} tag at the
@@ -74411,7 +84928,7 @@
% \begin{macrocode}
\AtEndEnvironment{verse}{%
\leavevmode%
-\LWR at afterendverbatim{1}%
+\LWR at afterendverbatim%
}
% \end{macrocode}
% Patch to place poemtitle inside an \HTML\ \element{span} of class |poemtitle|:
@@ -74971,8 +85488,6 @@
% \end{macrocode}
%
% \begin{macrocode}
-\begin{warpHTML}
-\makeatletter
\ifbool{mathjax}{
% For the hidden print version in the HTML:
\newcommand{\Arrow}[2][]{}
@@ -75029,8 +85544,6 @@
}
\AfterEndEnvironment{DispWithArrows*}{\end{lateximage}\end{BlockClass}}
}
-\makeatother
-\end{warpHTML}
\begin{warpMathJax}
\CustomizeMathJax{\newenvironment{WithArrows}[1][]{\begin{aligned}}{\end{aligned}}}
@@ -75100,37 +85613,37 @@
\NewDocumentEnvironment{wrapfigure}{o m o m}
{%
-\begin{LWR at setvirtualpage}*%
-\LWR at subwrapfigure{#2}{#4}%
-\captionsetup{type=figure}%
+ \begin{LWR at setvirtualpage}*%
+ \LWR at subwrapfigure{#2}{#4}%
+ \renewcommand*{\@captype}{figure}%
}
{%
-\endLWR at BlockClassWP%
-\end{LWR at setvirtualpage}%
+ \endLWR at BlockClassWP%
+ \end{LWR at setvirtualpage}%
}
\NewDocumentEnvironment{wraptable}{o m o m}
{%
-\begin{LWR at setvirtualpage}*%
-\LWR at subwrapfigure{#2}{#4}%
-\captionsetup{type=table}%
+ \begin{LWR at setvirtualpage}*%
+ \LWR at subwrapfigure{#2}{#4}%
+ \renewcommand*{\@captype}{table}%
}
{%
-\endLWR at BlockClassWP%
-\end{LWR at setvirtualpage}%
+ \endLWR at BlockClassWP%
+ \end{LWR at setvirtualpage}%
}
\NewDocumentEnvironment{wrapfloat}{m o m o m}
{%
-\begin{LWR at setvirtualpage}*%
-\LWR at subwrapfigure{#3}{#5}%
-\captionsetup{type=#1}%
+ \begin{LWR at setvirtualpage}*%
+ \LWR at subwrapfigure{#3}{#5}%
+ \renewcommand*{\@captype}{#1}%
}
{%
-\endLWR at BlockClassWP%
-\end{LWR at setvirtualpage}%
+ \endLWR at BlockClassWP%
+ \end{LWR at setvirtualpage}%
}
\newlength{\wrapoverhang}
@@ -75328,9 +85841,6 @@
\LWR at ProvidesPackagePass{xcolor}[2016/05/11]
% \end{macrocode}
-% \begin{macrocode}
-\begin{warpHTML}
-% \end{macrocode}
%
%
% \subsection{Remembering and restoring original definitions}
@@ -75355,7 +85865,7 @@
% \subsection{\cs{normalcolor}}
%
% \begin{macro}{\normalcolor}
-% \changes{v0.75}{2019/09/12}{Added for \HTML.}
+% \changes{v0.75}{2019/09/12}{\pkg{xcolor}: Added for \HTML.}
% \begin{macrocode}
\DeclareRobustCommand{\LWR at HTML@normalcolor}{\color{black}}%
@@ -75397,7 +85907,7 @@
% \begin{macrocode}
\DeclareDocumentCommand{\LWR at textcurrentcolor}{m}{%
\begingroup%
-\LWR at FBcancel%
+\LWR at hook@processingtags%
\LWR at findcurrenttextcolor%
\InlineClass[color:\LWR at origpound\LWR at tempcolor]{textcolor}{%
\renewcommand*{\LWR at currenttextcolor}{\LWR at origpound\LWR at tempcolor}%
@@ -75409,9 +85919,9 @@
% \end{macro}
%
%
-% \begin{noindmacro}{\LWR at colorstyle} \marg{2: model} \marg{3: color}
+% \begin{noindmacro}{\LWR at colorstyle} \marg{1: model} \marg{2: color}
%
-% \changes{v0.19}{2016/06/01}{Supports colored \cs{rule}.}
+% \changes{v0.19}{2016/06/01}{\pkg{xcolor}: Supports colored \cs{rule}.}
% \changes{v0.36}{2017/08/11}{\pkg{xcolor}: Refactored \cs{LWR at colorstyle}.}
%
% For a color style, prints the color converted to \HTML\ colors.
@@ -75419,7 +85929,7 @@
% \begin{macrocode}
\NewDocumentCommand{\LWR at colorstyle}{m m}{%
\begingroup%
-\LWR at FBcancel%
+\LWR at hook@processingtags%
% \end{macrocode}
% Use the \pkg{xcolor} package to convert to an \HTML\ color space:
% \begin{macrocode}
@@ -75440,11 +85950,11 @@
% Similar to \cs{textcolor}, but prints black text against a color background.
%
% Converted into an \HTML\ hex color span.
-% \changes{v0.44}{2017/11/10}{Added.}
+% \changes{v0.44}{2017/11/10}{\pkg{xcolor}: Added \cs{LWR at backgroundcolor}.}
% \begin{macrocode}
\NewDocumentCommand{\LWR at backgroundcolor}{O{named} m m}{%
\begingroup%
-\LWR at FBcancel%
+\LWR at hook@processingtags%
\InlineClass[background:\LWR at colorstyle{#1}{#2}]{backgroundcolor}{%
#3%
}%
@@ -75481,7 +85991,7 @@
% the lack of \HTML\ states and scoping limitations.
% Use \cs{textcolor} if possible.
%
-% \changes{v0.73}{2019/06/14}{Added \HTML\ support.}
+% \changes{v0.73}{2019/06/14}{\pkg{xcolor}: Added \HTML\ support.}
% \begin{macrocode}
\NewDocumentCommand{\LWR at HTML@color}{o m}{%
\IfValueTF{#1}{%
@@ -75507,9 +86017,11 @@
%
% \changes{v0.57}{2018/06/02}{\pkg{xcolor}: New system for switching print and \HTML\ outputs.}
% \changes{v0.81}{2020/02/28}{\pkg{xcolor}: \cs{textcolor}: Spurrious space.}
+% \changes{v0.86}{2020/05/12}{\pkg{xcolor}: \cs{textcolor}: Fixed for \pkg{babel-french}.}
% \begin{macrocode}
\NewDocumentCommand{\LWR at HTML@textcolor}{o m m}{%
\begingroup%
+\LWR at hook@processingtags%
\IfValueTF{#1}{%
\color[#1]{#2}%
}{%
@@ -75553,7 +86065,7 @@
% \begin{macrocode}
\NewDocumentCommand{\LWR at HTML@colorbox}{O{named} m +m}{%
\begingroup%
-\LWR at FBcancel%
+\LWR at hook@processingtags%
\InlineClass[%
background:\LWR at colorstyle{#1}{#2} ; %
padding:\LWR at printlength{\fboxsep}%
@@ -75562,7 +86074,7 @@
}
\AtBeginDocument{
-\LWR at formatted{colorbox}
+ \LWR at formatted{colorbox}
}
% \end{macrocode}
% \end{macro}
@@ -75576,9 +86088,9 @@
% \begin{macrocode}
\NewDocumentCommand{\LWR at HTML@colorboxBlock}{O{named} m +m}{%
\begingroup%
-\LWR at FBcancel%
+\LWR at hook@processingtags%
% \end{macrocode}
-% \changes{v0.62}{2018/11/11}{Fix: Horiz white space.}
+% \changes{v0.62}{2018/11/11}{\pkg{xcolor}: Fix: Horiz white space.}
% \begin{macrocode}
\LWR at stoppars%
% \end{macrocode}
@@ -75593,13 +86105,13 @@
% \end{macrocode}
% Prevent paragraph tags around horizontal white space
% until the start of the next paragraph:
-% \changes{v0.62}{2018/11/11}{Fix: Horiz white space.}
+% \changes{v0.62}{2018/11/11}{\pkg{xcolor}: Fix: Horiz white space.}
% \begin{macrocode}
\global\booltrue{LWR at minipagethispar}%
}
\AtBeginDocument{
-\LWR at formatted{colorboxBlock}
+ \LWR at formatted{colorboxBlock}
}
% \end{macrocode}
% \end{macro}
@@ -75613,11 +86125,12 @@
% A background color of |none| creates a colored frame without a background color.
%
% \changes{v0.57}{2018/06/02}{\pkg{xcolor}: New system for switching print and \HTML\ outputs.}
+% \changes{v0.892}{2020/10/05}{\pkg{xcolor}: Fixed second optional arg.}
% \begin{macrocode}
-\NewDocumentCommand{\LWR at HTML@fcolorbox}{O{named} m O{named} m +m}{%
+\NewDocumentCommand{\LWR at HTML@fcolorbox}{O{named} m O{#1} m +m}{%
\LWR at traceinfo{HTML fcolorbox #2 #4}%
\begingroup%
-\LWR at FBcancel%
+\LWR at hook@processingtags%
\LWR at forceminwidth{\fboxrule}%
\ifthenelse{\equal{#4}{none}}%
{% no background color
@@ -75635,7 +86148,7 @@
}
\AtBeginDocument{
-\LWR at formatted{fcolorbox}
+ \LWR at formatted{fcolorbox}
}
% \end{macrocode}
% \end{macro}
@@ -75648,14 +86161,15 @@
%
% A background color of |none| creates a colored frame without a background color.
%
+% \changes{v0.892}{2020/10/05}{\pkg{xcolor}: Fixed second optional arg.}
% \begin{macrocode}
-\NewDocumentCommand{\LWR at HTML@fcolorboxBlock}{O{named} m O{named} m +m}{%
+\NewDocumentCommand{\LWR at HTML@fcolorboxBlock}{O{named} m O{#1} m +m}{%
\LWR at traceinfo{HTML fcolorboxBlock #2 #4}%
\begingroup%
-\LWR at FBcancel%
+\LWR at hook@processingtags%
\LWR at forceminwidth{\fboxrule}%
% \end{macrocode}
-% \changes{v0.62}{2018/11/11}{Fix: Horiz white space.}
+% \changes{v0.62}{2018/11/11}{\pkg{xcolor}: Fix: Horiz white space.}
% \begin{macrocode}
\LWR at stoppars%
% \end{macrocode}
@@ -75681,7 +86195,7 @@
% \end{macrocode}
% Prevent paragraph tags around horizontal white space
% until the start of the next paragraph:
-% \changes{v0.62}{2018/11/11}{Fix: Horiz white space.}
+% \changes{v0.62}{2018/11/11}{\pkg{xcolor}: Fix: Horiz white space.}
% \begin{macrocode}
\global\booltrue{LWR at minipagethispar}%
\LWR at traceinfo{HTML fcolorboxBlock done}%
@@ -75688,7 +86202,7 @@
}
\AtBeginDocument{
-\LWR at formatted{fcolorboxBlock}
+ \LWR at formatted{fcolorboxBlock}
}
% \end{macrocode}
% \end{macro}
@@ -75699,7 +86213,7 @@
%
% A print-output version is defined in the \pkg{lwarp} core: \cref{sec:xcolorpatches}
%
-% \changes{v0.34}{2017/07/31}{Added.}
+% \changes{v0.34}{2017/07/31}{\pkg{xcolor}: Added \cs{LWR at subfcolorminipage}.}
%
% \begin{noindmacro}{\LWR at subfcolorminipage}
% \marg{framemodel} \marg{framecolor} \marg{background tag} \marg{height}
@@ -75706,7 +86220,7 @@
% \begin{macrocode}
\NewDocumentCommand{\LWR at subfcolorminipage}{m m m m}{%
% \end{macrocode}
-% \changes{v0.62}{2018/11/11}{Fix: Horiz white space.}
+% \changes{v0.62}{2018/11/11}{\pkg{xcolor}: Fix: Horiz white space.}
% \begin{macrocode}
\LWR at stoppars%
% \end{macrocode}
@@ -75726,10 +86240,11 @@
% \oarg{1:framemodel} \marg{2:framecolor} \oarg{3:boxmodel} \marg{4:boxcolor}
% \oarg{5:align} \oarg{6:height} \oarg{7:inner-align} \marg{8:width}
%
+% \changes{v0.892}{2020/10/05}{\pkg{xcolor}: Fixed second optional arg.}
% \begin{macrocode}
-\NewDocumentEnvironment{LWR at HTML@fcolorminipage}{O{named} m O{named} m O{c} o o m}
+\NewDocumentEnvironment{LWR at HTML@fcolorminipage}{O{named} m O{#1} m O{c} o o m}
{%
-\LWR at FBcancel%
+\LWR at hook@processingtags%
\setlength{\LWR at tempwidth}{#8}%
\IfValueT{#6}{\setlength{\LWR at tempheight}{#6}}%
\LWR at forceminwidth{\fboxrule}%
@@ -75748,7 +86263,7 @@
% \end{macrocode}
% Prevent paragraph tags around horizontal white space
% until the start of the next paragraph:
-% \changes{v0.62}{2018/11/11}{Fix: Horiz white space.}
+% \changes{v0.62}{2018/11/11}{\pkg{xcolor}: Fix: Horiz white space.}
% \begin{macrocode}
\global\booltrue{LWR at minipagethispar}%
}
@@ -75871,11 +86386,7 @@
}
% \end{macrocode}
% \end{noindmacro}
-
%
-% \begin{macrocode}
-\end{warpHTML}
-% \end{macrocode}
%
% \iffalse
%</xcolor>
@@ -76013,6 +86524,42 @@
%
%
% \iffalse
+%<*xevlna>
+% \fi
+%
+% \part{lwarp-xevlna.sty}
+%
+% \section{xevlna}
+%
+% \credits{Zdeněk Wagner}
+%
+% \DescribePackage{xevlna}
+% \pkg{xevlna} is patched for use by \pkg{lwarp}.
+%
+% Non-breakable spaces are inserted into \HTML.
+%
+% \changes{v0.895}{2021/01/13}{\pkg{xevlna}: Added.}
+%
+% \codehtml
+%
+% \begin{macrocode}
+\LWR at ProvidesPackagePass{xevlna}[2016/09/05]
+% \end{macrocode}
+%
+% \begin{macrocode}
+\def\ProcessCSpreposition{\ifx\next\xevlnaXeTeXspace\HTMLentity{nbsp}\fi}
+
+\appto{\LWR at hook@processingtags}{\xevlnaDisable}%
+% \end{macrocode}
+%
+% \iffalse
+%</xevlna>
+% \fi
+%
+%
+%
+%
+% \iffalse
%<*xfakebold>
% \fi
%
@@ -76026,26 +86573,29 @@
% \pkg{xfakebold} is patched for use by \pkg{lwarp},
% and additional underlying support is found in the \pkg{lwarp} core.
%
-% Note that the print version resets to unbold at each page break,
-% \trouble[page breaks]{xfakebold=\pkg{xfakebold}}
-% whereas the \HTML\ version maintains the bold state until it is undone.
+% \pkg{xfakebold} is only used in \SVG\ math and \env{lateximage}s.
+% \trouble[text mode]{xfakebold=\pkg{xfakebold}}
+% Text mode is not set bold, but \cs{setBold} in text will be applied
+% to any following \SVG\ math.
%
% \changes{v0.67}{2019/02/17}{\pkg{xfakebold}: Added.}
+% \changes{v0.88}{2020/06/29}{\pkg{xfakebold}: Now works with \pkg{pdfrender}.}
%
% \codehtml
%
% \begin{macrocode}
-\LWR at ProvidesPackagePass{xfakebold}[2018/07/25]
+\LWR at ProvidesPackagePass{xfakebold}[2020/06/24]
% \end{macrocode}
%
% \begin{macrocode}
-\let\LWR at orig@setBold\setBold
-\let\LWR at orig@unsetBold\unsetBold
-\renewcommand*{\setBold}{\booltrue{LWR at xfakebold}}
-\renewcommand*{\unsetBold}{\boolfalse{LWR at xfakebold}}
+\newcommand*{\LWR at HTML@setBold}{\booltrue{LWR at xfakebold}}
+\LWR at formatted{setBold}
+\newcommand*{\LWR at HTML@unsetBold}{\boolfalse{LWR at xfakebold}}
+\LWR at formatted{unsetBold}
+
\renewcommand*{\LWR at applyxfakebold}{%
- \ifbool{LWR at xfakebold}{\LWR at orig@setBold}{\LWR at orig@unsetBold}%
+ \ifbool{LWR at xfakebold}{\LWR at print@setBold}{\LWR at print@unsetBold}%
}
% \end{macrocode}
%
@@ -76109,12 +86659,7 @@
% In math mode, which will appear inside a \env{lateximage}, no adjustments
% are necessary.
-% \codeall
-% \begin{macrocode}
-\begin{warpall}
-% \end{macrocode}
-
% \begin{macro}{\xfracHTMLfontsize}
% \changes{v0.19}{2016/06/06}{Added.}
% \gindex{font>size>xfrac=\pkg{xfrac}}
@@ -76124,17 +86669,7 @@
% \end{macrocode}
% \end{macro}
-% \begin{macrocode}
-\end{warpall}
-% \end{macrocode}
-
-% \codehtml
-% \begin{macrocode}
-\begin{warpHTML}
-% \end{macrocode}
-
-
% Instances of \pkg{xfrac} for various font choices:
% \margintag{instances}
%
@@ -76236,9 +86771,6 @@
\end{warpMathJax}
% \end{macrocode}
-% \begin{macrocode}
-\end{warpHTML}
-% \end{macrocode}
%
% \iffalse
%</xfrac>
@@ -76520,8 +87052,12 @@
%
% The \pkg{lwarp} core uses the following to disable CJK \pkg{xpinyin} for
% filenames, side\TOC, and footnotes.
+%
+% \changes{v0.84}{2020/04/21}{\pkg{xpinyin}: Disables pinyin when null fonts.}
% \begin{macrocode}
\renewcommand*{\LWR at disablepinyin}{\disablepinyin}
+
+\FilenameNullify{\LWR at disablepinyin}
% \end{macrocode}
%
% \iffalse
@@ -77132,10 +87668,16 @@
}
% \end{macrocode}
%
+% Do not use \cs{chaptername}:
+% \begin{macrocode}
+\renewcommand*{\LWR at printchaptername}{}
+% \end{macrocode}
+%
% Simple captions are used in all cases.
% \changes{v0.73}{2019/07/10}{\pkg{lwarp-patch-komascript}: Fix for captions.}
% \begin{macrocode}
\AtBeginDocument{
+\AtBeginDocument{
\LetLtxMacro\captionbelow\caption
\LetLtxMacro\captionabove\caption
@@ -77142,6 +87684,7 @@
\LetLtxMacro\captionofbelow\captionof
\LetLtxMacro\captionofabove\captionof
}
+}
\RenewDocumentEnvironment{captionbeside}{o m o o o s}
{}
@@ -77247,12 +87790,12 @@
\RequirePackage{lwarp-parskip}
\RequirePackage{lwarp-setspace}% req'd
\RequirePackage{lwarp-showidx}
-\RequirePackage{lwarp-subcaption}% req'd for \subfloat
% \end{macrocode}
-% \changes{v0.83}{2020/03/27}{\pkg{lwarp-patch-memoir}: No longer require \pkg{subfigure}.}
+% \changes{v0.83}{2020/03/27}{\pkg{lwarp-patch-memoir}: No longer requires \pkg{subfigure}.}
+% \changes{v0.84}{2020/04/05}{\pkg{lwarp-patch-memoir}: No longer requires \pkg{subcaption}.}
-% ^^A Not sure why this is here:
+% ^^A Forgot why this is here:
% \begin{macrocode}
\makeindex
% \end{macrocode}
@@ -77267,14 +87810,52 @@
% \end{macrocode}
%
%
-% \subsection{Preliminary setup}
+% \subsection{Label handling}
%
-% Bypass the \pkg{memoir} package mechanism:
+% Insert the \pkg{lwarp} label mechanism into the \pkg{memoir} package mechanism:
+%
+% \begin{itemize}
+% \item \cs{@mem at old@label} is the \LaTeX\ definition of \cs{label}.
+% \item \cs{LWR at orig@label} adds the \pkg{memoir} definition.
+% \item \pkg{lwarp}'s \cs{LWR at new@label} uses \cs{LWR at orig@label}.
+% \item Want \pkg{memoir}'s \cs{label} to use \pkg{lwarp}'s \cs{label},
+% which then would use \LaTeX's \cs{label}.
+% \item So:
+% \begin{itemize}
+% \item \cs{@mem at old@label} becomes \cs{LWR at new@label}.
+% \item \cs{LWR at orig@label} becomes \cs{@mem at old@label}.
+% \end{itemize}
+% \item \pkg{cleveref} then encapsulates all the above.
+% \item For a subcaption, \pkg{cleveref} modifies \pkg{memoir}'s \cs{sf at memsub@label}.
+% \end{itemize}
+% \changes{v0.84}{2020/04/05}{\pkg{lwarp-patch-memoir}: Fix: \cs{label}.}
% \begin{macrocode}
-\LetLtxMacro\LWR at orig@label\@mem at old@label
+\let\LWR at orig@label\@mem at old@label
+\let\@mem at old@label\LWR at new@label
% \end{macrocode}
+%
+% Patches for subfloats to support additional \pkg{lwarp} labels:
+% \begin{macrocode}
+\AtBeginDocument{
+ \renewcommand*{\sf@@memsub at label}[1]{%
+ \@bsphack
+ \sf@@memsub at label@hook{#1}%
+ \@memoldlabel{#1}%
+ \LWR at label@createtag{sub@#1}%
+ \protected at write\@auxout{}{%
+ \string\newlabel{sub@#1}%
+ {{\@nameuse{@@thesub\@captype}}%
+ {\thepage}}}%
+ \LWR at write@lwarplabel{sub@#1}%
+ \@esphack
+ }
+}
+% \end{macrocode}
%
+%
+% \subsection{Page layout}
+%
% \pkg{memoir} already set the page size to a default,
% so it must be forced large for \pkg{lwarp}'s use,
% to avoid tag overflows off the page.
@@ -77284,9 +87865,6 @@
\setulmarginsandblock{1in}{1in}{*}
% \end{macrocode}
%
-%
-% \subsection{Page layout}
-%
% \changes{v0.83}{2020/03/27}{\pkg{lwarp-patch-memoir}: Updated for new sizes.}
% \begin{macrocode}
\renewcommand*{\stockavi}{}
@@ -77495,8 +88073,11 @@
\renewcommand\titlingpageend[2]{}
% \end{macrocode}
%
+%
% \subsection{Abstracts}
% \begin{macrocode}
+% \newlength{\absindent}
+% \newlength{\absparsep}
\renewcommand*{\abstractcol}{}
\renewcommand*{\abstractintoc}{}
\renewcommand*{\abstractnum}{}
@@ -77722,10 +88303,15 @@
\renewcommand*{\makeheadposition}[5]{}
\renewcommand{\makepsmarks}[2]{}
\renewcommand*{\makeheadfootstrut}[3]{}
-
-\renewcommand{\createplainmark}[3]{}
+% \end{macrocode}
+%
+% \changes{v0.84}{2020/04/06}{\pkg{lwarp-patch-memoir}: Creates mark macros.}
+% \begin{macrocode}
+\renewcommand{\createmark}[5]{\csdef{#1mark}[1]{}}
+\renewcommand{\createplainmark}[3]{\csdef{#1mark}{}}
+% \end{macrocode}
+% \begin{macrocode}
\renewcommand{\memUChead}[1]{}
-\renewcommand{\createmark}[5]{}
\renewcommand*{\clearplainmark}[1]{}
\renewcommand*{\clearmark}[1]{}
\renewcommand{\addtopsmarks}[3]{}
@@ -78031,15 +88617,51 @@
\DeclareRobustCommand{\cftpagenumberson}[1]{}
% \end{macrocode}
%
+%
% \subsection{Floats and captions}
%
+%
+% \begin{noindmacro}{\@xfloat}
+% \begin{noindmacro}{\@xdblfloat}
+% Reestablish \pkg{lwarp}'s takeover the float handing,
+% which \pkg{memoir} tried to grab:
+%
+% \changes{v0.84}{2020/04/20}{\pkg{lwarp-patch-memoir}: Use \LaTeX\ captions.}
+% \begin{macrocode}
+\AtBeginDocument{
+\def\@xfloat #1[#2]{%
+ \LWR at floatbegin{#1}[#2]
+ \normalsize
+ \@nameuse{#1adjustment}%
+ \LWR at futurenonspacelet\LWR at mynexttoken\LWR at floatalignment%
+}
+\def\@xdblfloat #1[#2]{%
+ \LWR at floatbegin{#1}[#2]
+ \normalsize
+ \@nameuse{#1adjustment}%
+ \LWR at futurenonspacelet\LWR at mynexttoken\LWR at floatalignment%
+}
+}
+% \end{macrocode}
+% \end{noindmacro}
+% \end{noindmacro}
+%
+%
% \begin{noindmacro}{\newfloat} \oarg{1: within} \marg{2: type}
% \marg{3: ext} \marg{4: capname}
% \begin{macrocode}
\RenewDocumentCommand{\newfloat}{o m m m}{%
- \IfValueTF{#1}%
- {\DeclareFloatingEnvironment[fileext=#3,within=#1,name={#4}]{#2}}%
- {\DeclareFloatingEnvironment[fileext=#3,name={#4}]{#2}}%
+ \def\LWR at tempone{#4}%
+ \def\LWR at temptwo{\@nameuse{#2name}}%
+ \ifdefequal{\LWR at tempone}{\LWR at temptwo}{% recursive name, already defined
+ \IfValueTF{#1}%
+ {\DeclareFloatingEnvironment[fileext=#3,within=#1]{#2}}%
+ {\DeclareFloatingEnvironment[fileext=#3]{#2}}%
+ }{% not recursive name
+ \IfValueTF{#1}%
+ {\DeclareFloatingEnvironment[fileext=#3,within=#1,name={#4}]{#2}}%
+ {\DeclareFloatingEnvironment[fileext=#3,name={#4}]{#2}}%
+ }%
% \end{macrocode}
% \pkg{newfloat} package automatically creates the \cs{listof} command
% for new floats, but \pkg{float} does not,
@@ -78091,7 +88713,7 @@
\NewDocumentEnvironment{KFLTmemoir at marginfloat}{O{-1.2ex} m}
{% start
\LWR at BlockClassWP{float:right; width:2in; margin:10pt}{}{marginblock}%
- \captionsetup{type=#2}%
+ \renewcommand*{\@captype}{#2}%
}
{%
\endLWR at BlockClassWP%
@@ -78118,7 +88740,13 @@
\renewcommand*{\setFloatBlockFor}{}
\renewcommand{\captiontitlefinal}[1]{}
-
+% \end{macrocode}
+%
+% \cs{flegtable}, \cs{flegfigure}, \cs{flegtoctable}, \cs{flegtocfigure}
+% are defined by \pkg{memoir} using \cs{newfloat}.
+% These are defined with an |@| in \pkg{ccaption}.
+%
+% \begin{macrocode}
\renewcommand{\flegtable}{\tablename}
\renewcommand{\flegfigure}{\figurename}
\renewcommand{\flegtoctable}{}
@@ -78125,17 +88753,15 @@
\renewcommand{\flegtocfigure}{}
% \end{macrocode}
%
-% \cs{subfloat} is from the \pkg{subcaption} package.
-% \changes{v0.83}{2020/03/27}{\pkg{lwarp-patch-memoir}: Use \pkg{subcaption} instead of \pkg{subfig}.}
+% \changes{v0.84}{2020/04/05}{\pkg{lwarp-patch-memoir}: No longer uses \pkg{subcaption}.}
% \begin{macrocode}
-\renewcommand{\subcaption}[2][]{%
- \ifblank{#1}{\subfloat[#2]{}}{\subfloat[#1][#2]{}}%
+\renewcommand{\@makesubfloatcaption}[2]{%
+ \minipagefullwidth
+ \begin{minipage}{\linewidth}%
+ #1 \ignorespaces #2 \unskip%
+ \end{minipage}
}
-\renewcommand{\contsubcaption}{\ContinuedFloat\subcaption}
-
-\LetLtxMacro\subcaptionref\subref
-
\renewcommand*{\tightsubcaptions}{}
\renewcommand*{\loosesubcaptions}{}
@@ -78162,11 +88788,18 @@
% \newif\ifscapmargleft
\scapmargleftfalse
\renewcommand*{\setsidecappos}[1]{}
-
+% \end{macrocode}
+%
+%
+% \begin{noindenvironment}{sidecontcaption}
+% \changes{v0.84}{2020/04/20}{\pkg{lwarp-patch-memoir}: \pkg{caption} now optional, removed dup caption.}
+% \begin{macrocode}
\RenewDocumentEnvironment{sidecontcaption}{m o}
{}
{%
- \ContinuedFloat%
+ \ifdef{\ContinuedFloat}%
+ {\ContinuedFloat}%
+ {\addtocounter{\@captype}{-1}}%
\caption{#1}%
% \end{macrocode}
% Without \cs{@captype}, the section is referred to instead.
@@ -78174,6 +88807,9 @@
\IfValueT{#2}{\label[\@captype]{#2}}%
}
% \end{macrocode}
+% \end{noindenvironment}
+%
+%
% \cs{sidenamedlegend} does not appear to use the \TOC\ argument.
% \begin{macrocode}
\renewenvironment{sidenamedlegend}[2][]{
@@ -78207,7 +88843,7 @@
}
% \end{macrocode}
%
-% \subsection{Page notes}
+% \subsection{Footnotes and page notes}
%
% \begin{macrocode}
\renewcommand*{\feetabovefloat}{}
@@ -78216,7 +88852,7 @@
\renewcommand*{\verbfootnote}[2][]{%
\PackageError{lwarp,memoir}%
- {Verbatim footnotes are not yet supported by lwarp.}%
+ {Verbatim footnotes are not yet supported by lwarp}%
{This may be improved some day.}%
}
@@ -78228,7 +88864,7 @@
\renewcommand*{\newfootnoteseries}[1]{%
\PackageError{lwarp,memoir}%
- {Memoir footnote series are not yet supported by lwarp.}%
+ {Memoir footnote series are not yet supported by lwarp}%
{This may be improved some day.}%
}
@@ -78285,18 +88921,61 @@
\renewcommand*{\sidefootmarkstyle}[1]{}
\renewcommand*{\sidefoottextfont}{}
\renewcommand*{\sidefootform}{}
-
+% \end{macrocode}
+%
+% \changes{v0.84}{2020/03/31}{\pkg{lwarp-patch-memoir}: Fixed pagenotes.}
+% \begin{macrocode}
\renewcommand*{\continuousnotenums}{\pncontopttrue}% from pagenote
\renewcommand*{\notepageref}{}
\renewcommand*{\prenotetext}{}
\renewcommand*{\postnotetext}{}
-\renewcommand*{\idtextinnotes}[1]{}
-\renewcommand*{\printpageinnotes}[1]{}
-\renewcommand*{\printpageinnoteshyperref}[1]{}
+\LetLtxMacro\printpageinnoteshyperref\printpageinnotes
\renewcommand*{\foottopagenote}{}
\renewcommand*{\pagetofootnote}{}
% \end{macrocode}
%
+% \begin{noindmacro}{\m at m@wrpnote}
+% \begin{noindmacro}{\startnoteentrystart}
+% To have \pkg{cleveref} work with page note labels,
+% the following patch writes \cs{thepagenote} and also adds |\arabic{pagenote}|
+% to the first argument written to the \filenm{.ent} file:
+% \begin{sourcedisplay}
+% \cs{startnoteentry}\textred{\{}\{\cs{thepagenote}\}\{\cs{arabic}\{pagenote\}\}\textred{\}} \dots
+% \end{sourcedisplay}
+% The arabic value is required for \pkg{cleveref}.
+% \cs{thepagenote} becomes |\@firstoftwo#1| and
+% the arabic value becomes |\@secondoftwo#1|.
+%
+% Note that for print mode,\watchout[\cs{nameref}]
+% \cs{nameref} print the section name where the page notes are
+% declared in the text, but for \HTML\ it prints the name where the page notes are printed.
+% \changes{v0.84}{2020/04/02}{\pkg{lwarp-patch-memoir}: Improved \pkg{cleveref} support.}
+% \begin{macrocode}
+\xpatchcmd{\m at m@wrpnote}
+ {\string\startnoteentry{\thepagenote}}
+ {\string\startnoteentry{{\thepagenote}{\arabic{pagenote}}}}
+ {}
+ {\LWR at patcherror{memoir}{m at m@wrpnote}}
+
+\renewcommand\startnoteentrystart[4]{%
+ \prenoteinnotes%
+ \noteidinnotes{\@firstoftwo#1}{#2}%
+ \@ifmtarg{#2}{%
+% \phantomsection\def\@currentlabel{#1}% original
+ \def\@currentlabel{\@firstoftwo#1}% lwarp
+ \def\cref at currentlabel{% lwarp
+ [pagenote][\@secondoftwo#1][]\@firstoftwo#1% lwarp
+ }% lwarp
+ }{}%
+ \pagenoteanchor{#4}%
+ \pageinnotes{#3}%
+ \prenotetext%
+}
+% \end{macrocode}
+% \end{noindmacro}
+% \end{noindmacro}
+%
+%
% \subsection{Decorative text}
%
% \begin{macrocode}
@@ -78345,12 +89024,10 @@
\renewenvironment{qshade}{\shaded}{\endshaded}
% \end{macrocode}
%
-% Use the \pkg{comment} package:
+% \changes{v0.84}{2020/03/30}{\pkg{lwarp-patch-memoir}: Uses \pkg{memoir}'s
+% \cs{newcomment}, \cs{commentsoff}, \cs{commentson}.}
+%
% \begin{macrocode}
-\renewcommand*{\commentsoff}[1]{\includecomment{#1}}
-\renewcommand*{\commentson}[1]{\excludecomment{#1}}
-\LetLtxMacro\renewcomment\commentson
-
\renewcommand*{\setverbatimfont}[1]{}
\renewcommand*{\tabson}[1]{}
\renewcommand*{\tabsoff}{}
@@ -78429,6 +89106,7 @@
% \subsection{Back matter}
% \label{sec:memoirbackmatter}
%
+% \begin{noindmacro}{\@@wrindexhyp}
% Redefined to write the |LWR at autoindex| counter instead of |page|.
% Note that \pkg{memoir} has two versions, depending on the use of \pkg{hyperref}.
% \begin{macrocode}
@@ -78436,7 +89114,7 @@
\def\@@wrindexhyp#1||\\{%
\addtocounter{LWR at autoindex}{1}%
- \LWR at new@label{LWRindex-\arabic{LWR at autoindex}}%
+ \label{LWRindex-\arabic{LWR at autoindex}}%
% \ifshowindexmark\@showidx{#1}\fi
\protected at write\@auxout{}%
% {\string\@@wrindexm at m{\@idxfile}{#1}{\thepage}}%
@@ -78444,7 +89122,9 @@
\endgroup
\@esphack}%
% \end{macrocode}
+% \end{noindmacro}
%
+% \begin{noindmacro}{\@@wrspindexhyp}
% \label{sec:specialindex}
% \cs{specialindex} behaves like a regular \cs{index}, pointing to where
% \cs{specialindex} is used.
@@ -78454,7 +89134,7 @@
% \begin{macrocode}
\def\@@wrspindexhyp#1||\\{%
\addtocounter{LWR at autoindex}{1}%
- \LWR at new@label{LWRindex-\arabic{LWR at autoindex}}%
+ \label{LWRindex-\arabic{LWR at autoindex}}%
% \ifshowindexmark\@showidx{#1}\fi
\protected at write\@auxout{}%
% {\string\@@wrindexm at m{\@idxfile}{#1}{\@nameuse{the\@sptheidx}}}%
@@ -78464,8 +89144,10 @@
}% \AtBeginDocument
% \end{macrocode}
+% \end{noindmacro}
+% \begin{noindmacro}{\@spindex}
% Patched to append |_html| to the file:
% \changes{v0.83}{2020/03/26}{\pkg{lwarp-patch-memoir}: Fixed: \cs{specialindex}.}
% \begin{macrocode}
@@ -78483,8 +89165,10 @@
\@sanitize
\@wrspindex}}
% \end{macrocode}
+% \end{noindmacro}
+% \begin{noindmacro}{\makeindex}
% Patched to use |_html| filename and \cs{BaseJobname}:
% \changes{v0.58}{2018/06/22}{\pkg{lwarp-patch-memoir}: Fix for multiple indexes.}
% \begin{macrocode}
@@ -78501,7 +89185,9 @@
\fi}
\catcode`\_=8%
% \end{macrocode}
+% \end{noindmacro}
+% \begin{noindmacro}{\printindex}
% Patched to use |_html| filename and \cs{BaseJobname}.
% This will later be patched by the \pkg{lwarp} core.
% \changes{v0.58}{2018/06/22}{\pkg{lwarp-patch-memoir}: Fix for multiple indexes.}
@@ -78510,6 +89196,7 @@
\renewcommand{\printindex}[1][\BaseJobname]{\@input@{#1_html.ind}}
\catcode`\_=8%
% \end{macrocode}
+% \end{noindmacro}
%
% \begin{macrocode}
\DeclareDocumentCommand{\newblock}{}{}
@@ -78606,7 +89293,13 @@
\end{center}
\@nameuse{flegtoc\@captype}{#1}
}
-
+% \end{macrocode}
+%
+% \cs{flegtable}, \cs{flegfigure}, \cs{flegtoctable}, \cs{flegtocfigure}
+% are defined by \pkg{memoir} using \cs{newfloat}.
+% These are defined with an |@| in \pkg{ccaption}.
+%
+% \begin{macrocode}
\renewcommand{\newfixedcaption}[3][\caption]{%
\renewcommand{#2}{\def\@captype{#3}#1}}
\renewcommand{\renewfixedcaption}[3][\caption]{%
@@ -78643,52 +89336,105 @@
\endgroup%
}
% \end{macrocode}
-% ^^A *8* todo:
+%
+% ^^A *88*
+% Only in \pkg{ccaption}, not in \pkg{memoir}:
% \begin{macrocode}
-% only in ccaption, not in memoir:
% \LetLtxMacro\longbitwonumcaption\bitwonumcaption%
% \LetLtxMacro\longbionenumcaption\bitwonumcaption%
% \LetLtxMacro\longbicaption\bicaption%
-
-\RenewDocumentCommand{\subtop}{O{} O{} m}{%
- \subfloat[#1][#2]{#3}%
-}
-
-\RenewDocumentCommand{\subbottom}{O{} O{} m}{%
- \subfloat[#1][#2]{#3}%
-}
% \end{macrocode}
%
-% \changes{v0.83}{2020/03/27}{\pkg{lwarp-patch-memoir}: Fixed: \cs{contsubtop}, \cs{contsubbottom}.}
+% Patches for subfloats to support additional \pkg{lwarp} labels:
% \begin{macrocode}
-\renewcommand{\contsubtop}{%
- \ContinuedFloat
- \subtop%
-}
+\renewcommand{\@memsubbody}{%
+ \bgroup
+ \let\label=\memsub at label
+ \ifdonemaincaption\else
+ \advance\csname c@\@captype\endcsname\@ne
+ \fi
+ % \refstepcounter{sub\@captype}\@contkeep%
+% \leavevmode% lwarp
+ \@ifnextchar [%
+ {\@memsubfig}%
+ {\@memsubfig[\@empty]}}
-\renewcommand{\contsubbottom}{%
- \ContinuedFloat
- \subbottom%
+\renewcommand{\@memcontsubbody}{%
+ \bgroup
+ \let\label=\memsub at label
+ \@contset
+ % \refstepcounter{sub\@captype}\@contkeep%
+% \leavevmode% lwarp
+ \@ifnextchar [%
+ {\@memsubfig}%
+ {\@memsubfig[\@empty]}}
+
+
+\long\def\@memsubfloat#1[#2][#3]#4{%
+% \@tempcnta=\@ne
+% \if at tightsubcap
+% \if at minipage
+% \@tempcnta=\z@
+% \else
+% \ifdim\lastskip=\z@
+% \@tempcnta=\@ne
+% \else
+% \@tempcnta=\tw@
+% \fi
+% \fi
+% \fi
+% \if at contbotsub
+% \def\subfig at top{\subfloattopskip}%
+% \def\subfig at bottom{\subfloatbottomskip}%
+% \else
+% \def\subfig at top{\subfloatbottomskip}%
+% \def\subfig at bottom{\subfloattopskip}%
+% \fi
+% \setbox\@tempboxa \hbox{#4}%
+% \@tempdima=\wd\@tempboxa
+% \vbox
+ \bgroup%
+ \mem at step@subcounter%
+% \vbox
+ \LWR at stoppars%
+ \minipagefullwidth% lwarp
+ \begin{minipage}{\linewidth}% lwarp
+ \bgroup
+% \ifcase\@tempcnta
+% \@minipagefalse
+% \or
+% \vspace{\subfig at top}
+% \or
+% \ifdim \lastskip=\z@ \else
+% \@tempskipb\subfig at top\@xaddvskip
+% \fi
+% \fi
+ \if at contbotsub
+ #4% \box\@tempboxa
+ \egroup
+ \ifx \@empty#3\relax \else
+% \vskip\subfloatcapskip
+ \@memsubcaption{#1}{#2}{#3}%
+ \fi
+ \else
+ \ifx \@empty#3\relax \else
+ \@memsubcaption{#1}{#2}{#3}%
+% \vskip\subfloatcapskip
+% \vskip\subfloatcaptopadj
+ \fi\egroup
+ #4% \box\@tempboxa
+ \fi
+% \vspace{\subfig at bottom}
+ \end{minipage}% lwarp
+ \LWR at startpars% lwarp
+ \egroup
+\egroup
}
% \end{macrocode}
-% \begin{macrocode}
-\renewcommand{\subconcluded}{}
-
-\let\contsubtable\contsubtop
-\let\contsubfigure\contsubbottom
-% \end{macrocode}
-% ^^A *8* todo:
-% ^^A tocloft stuff
-% \begin{macrocode}
-\newcommand{\newfloatentry}[4][\@empty]{TODO: newfloatentry}
-\newcommand{\newfloatlist}[5][\@empty]{TODO: newfloatlist}
-\newcommand{\newfloatenv}[4][\@empty]{TODO: newfloatenv}
-\DeclareRobustCommand{\newfloatpagesoff}[1]{}
-\DeclareRobustCommand{\newfloatpageson}[1]{}
-\newcommand{\setnewfloatindents}[3]{}
-% \end{macrocode}
%
+% \changes{v0.84}{2020/04/05}{\pkg{lwarp-patch-memoir}: \cs{contsubtop}, etc. now as-is.}
%
+%
% \subsection{Final patchwork}
%
% \begin{macrocode}
@@ -78702,6 +89448,8 @@
% \fi
%
%
+%
+%
% \addtocontents{toc}{\protect\setcounter{tocdepth}{0}}
%
%
@@ -78822,7 +89570,7 @@
% \changes{v0.78}{2019/11/07}{\pkg{lwarp-common-multimedia}: Fix links with new LaTeX kernel.}
% \begin{macrocode}
\LWR at startpars
- \href{\LWR at parsedfilename}{#1}
+ \LWR at href{\LWR at parsedfilename}{#1}
\LWR at stoppars
% \end{macrocode}
% Finish.
@@ -78831,8 +89579,8 @@
\end{BlockClass}
}{%
\PackageError{lwarp-common-multimedia}
- {File '#2' not found}
- {Perhaps an incorrect path?}
+ {File '#2' not found}
+ {Perhaps an incorrect path?}
}%
}
% \end{macrocode}
@@ -78880,7 +89628,7 @@
% The poster text inside paragraph tags, along with a reference to the \URL.
% \begin{macrocode}
\LWR at startpars
- \href{#2}{#1}
+ \LWR at href{#2}{#1}
\LWR at stoppars
% \end{macrocode}
% Finish.
@@ -78938,11 +89686,13 @@
\newcommand*{\LWR at multimedia@percenterror}{%
\PackageError{lwarp-media9}
{%
- Do not use a percent comment
- between\MessageBreak
+ Do not use a percent comment between\MessageBreak
\protect\includemedia\space arguments%
}
- {Percent is changed to a regular character to allow its use inside a URL.}
+ {%
+ Percent is changed to a regular character\MessageBreak
+ to allow its use inside a URL.%
+ }
}
% \end{macrocode}
% \end{noindmacro}
@@ -78993,7 +89743,7 @@
% \end{macrocode}
% If unknown, create a link to it.
% \begin{macrocode}
- \href{#3}{#2}% unknown format
+ \LWR at href{#3}{#2}% unknown format
}}}}}}}}%
% \end{macrocode}
% Paragraph handling:
@@ -79018,6 +89768,1046 @@
% \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.}
+% \changes{v0.893}{2020/08/10}{\pkg{lwarp-common-mathjax-letters}: Added \cs{varbeta}.}
+%
+% \codehtml
+%
+% \begin{macrocode}
+\ProvidesPackage{lwarp-common-mathjax-letters}[2020/08/10]
+% \end{macrocode}
+%
+%
+% \begin{noindmacro}{\LWR at 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 at mathjax@addletter}{s m m m m m}{
+ \IfBooleanTF{#2}%
+ {\edef\LWR at tempone{\LWRtexttitlecase{#5}}}%
+ {\edef\LWR at tempone{#5}}%
+ \xdef\LWR at customizedMathJax{%
+ \LWR at customizedMathJax%
+ \LWRbackslash(%
+ \LWRbackslash def\LWRbackslash%
+ #3% prefix
+ \LWR at tempone%name
+ #4% postfix
+ \LWRleftbrace%
+ }%
+ \IfBooleanTF{#1}{%
+ \xdef\LWR at customizedMathJax{%
+ \LWR at customizedMathJax%
+ \LWRbackslash mathit\LWRleftbrace%
+ \LWRbackslash unicode\LWRleftbrace x#6\LWRrightbrace%
+ \LWRrightbrace%
+ }%
+ }{%
+ \xdef\LWR at customizedMathJax{%
+ \LWR at customizedMathJax%
+ \LWRbackslash unicode\LWRleftbrace x#6\LWRrightbrace%
+ }%
+ }%
+ \xdef\LWR at customizedMathJax{%
+ \LWR at customizedMathJax%
+ \LWRrightbrace\LWRbackslash)\par%
+ }%
+}
+% \end{macrocode}
+% \end{noindmacro}
+%
+%
+% \begin{noindmacro}{\LWR at mathjax@addgreek at 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 at mathjax@addgreek at l@up}{s m m}{
+ \LWR at mathjax@addletter{#1}{#2}{#3}{alpha}{03B1}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{beta}{03B2}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{varbeta}{03D0}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{gamma}{03B3}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{digamma}{03DD}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{delta}{03B4}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{epsilon}{03F5}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{varepsilon}{03B5}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{zeta}{03B6}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{eta}{03B7}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{theta}{03B8}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{vartheta}{03D1}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{iota}{03B9}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{kappa}{03BA}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{varkappa}{03F0}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{lambda}{03BB}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{mu}{03BC}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{nu}{03BD}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{xi}{03BE}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{omicron}{03BF}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{pi}{03C0}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{varpi}{03D6}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{rho}{03C1}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{varrho}{03F1}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{sigma}{03C3}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{varsigma}{03C2}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{tau}{03C4}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{upsilon}{03C5}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{phi}{03D5}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{varphi}{03C6}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{chi}{03C7}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{psi}{03C8}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{omega}{03C9}
+}
+% \end{macrocode}
+% \end{noindmacro}
+%
+%
+% \begin{noindmacro}{\LWR at mathjax@addgreek at 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 at mathjax@addgreek at u@up}{s m m}{
+ \LWR at mathjax@addletter{#1}{#2}{#3}{alpha}{0391}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{beta}{0392}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{gamma}{0393}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{digamma}{03DC}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{delta}{0394}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{epsilon}{0395}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{zeta}{0396}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{eta}{0397}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{theta}{0398}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{vartheta}{03F4}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{iota}{0399}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{kappa}{039A}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{lambda}{039B}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{mu}{039C}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{nu}{039D}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{xi}{039E}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{omicron}{039F}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{pi}{03A0}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{varpi}{03D6}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{rho}{03A1}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{sigma}{03A3}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{tau}{03A4}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{upsilon}{03A5}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{phi}{03A6}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{chi}{03A7}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{psi}{03A8}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{omega}{03A9}
+}
+% \end{macrocode}
+% \end{noindmacro}
+%
+%
+% \begin{noindmacro}{\LWR at mathjax@addgreek at 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 at mathjax@addgreek at l@it}{s m m}{
+ \LWR at mathjax@addletter{#1}{#2}{#3}{alpha}{1D6FC}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{beta}{1D6FD}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{varbeta}{03D0}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{gamma}{1D6FE}
+ \LWR at mathjax@addletter*{#1}{#2}{#3}{digamma}{03DD}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{delta}{1D6FF}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{epsilon}{1D716}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{varepsilon}{1D700}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{zeta}{1D701}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{eta}{1D702}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{theta}{1D703}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{vartheta}{1D717}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{iota}{1D704}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{kappa}{1D705}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{varkappa}{1D718}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{lambda}{1D706}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{mu}{1D707}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{nu}{1D708}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{xi}{1D709}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{omicron}{1D70A}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{pi}{1D70B}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{varpi}{1D71B}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{rho}{1D70C}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{varrho}{1D71A}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{sigma}{1D70E}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{varsigma}{1D70D}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{tau}{1D70F}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{upsilon}{1D710}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{phi}{1D719}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{varphi}{1D711}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{chi}{1D712}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{psi}{1D713}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{omega}{1D714}
+}
+% \end{macrocode}
+% \end{noindmacro}
+%
+%
+% \begin{noindmacro}{\LWR at mathjax@addgreek at 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 at mathjax@addgreek at u@it}{s m m}{
+ \LWR at mathjax@addletter{#1}{#2}{#3}{alpha}{1D6E2}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{beta}{1D6E3}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{gamma}{1D6E4}
+ \LWR at mathjax@addletter*{#1}{#2}{#3}{digamma}{03DC}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{delta}{1D6E5}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{epsilon}{1D6E6}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{zeta}{1D6E7}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{eta}{1D6E8}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{theta}{1D6E9}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{vartheta}{1D6F3}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{iota}{1D6EA}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{kappa}{1D6EB}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{lambda}{1D6EC}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{mu}{1D6ED}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{nu}{1D6EE}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{xi}{1D6EF}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{omicron}{1D6F0}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{pi}{1D6F1}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{rho}{1D6F2}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{sigma}{1D6F4}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{tau}{1D6F5}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{upsilon}{1D6F6}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{phi}{1D6F7}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{chi}{1D6F8}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{psi}{1D6F9}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{omega}{1D6FA}
+}
+% \end{macrocode}
+% \end{noindmacro}
+%
+%
+% \begin{noindmacro}{\LWR at mathjax@addgreek at 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 at mathjax@addgreek at l@bfit}{s m m}{
+ \LWR at mathjax@addletter{#1}{#2}{#3}{alpha}{1D736}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{beta}{1D737}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{varbeta}{03D0}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{gamma}{1D738}
+ \LWR at mathjax@addletter*{#1}{#2}{#3}{digamma}{03DD}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{delta}{1D739}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{epsilon}{1D750}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{varepsilon}{1D73A}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{zeta}{1D73B}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{eta}{1D73C}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{theta}{1D73D}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{vartheta}{1D751}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{iota}{1D73E}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{kappa}{1D73F}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{varkappa}{1D752}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{lambda}{1D740}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{mu}{1D741}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{nu}{1D742}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{xi}{1D743}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{omicron}{1D744}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{pi}{1D745}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{varpi}{1D755}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{rho}{1D746}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{varrho}{1D754}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{sigma}{1D748}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{varsigma}{1D747}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{tau}{1D749}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{upsilon}{1D74A}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{phi}{1D753}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{varphi}{1D74B}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{chi}{1D74C}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{psi}{1D74D}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{omega}{1D74E}
+}
+% \end{macrocode}
+% \end{noindmacro}
+%
+%
+% \begin{noindmacro}{\LWR at mathjax@addgreek at 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 at mathjax@addgreek at u@bfit}{s m m}{
+ \LWR at mathjax@addletter{#1}{#2}{#3}{alpha}{1D71C}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{beta}{1D71D}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{gamma}{1D71E}
+ \LWR at mathjax@addletter*{#1}{#2}{#3}{digamma}{03DC}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{delta}{1D71F}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{epsilon}{1D720}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{zeta}{1D721}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{eta}{1D722}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{theta}{1D723}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{vartheta}{1D72D}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{iota}{1D724}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{kappa}{1D725}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{lambda}{1D726}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{mu}{1D727}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{nu}{1D728}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{xi}{1D729}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{omicron}{1D72A}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{pi}{1D72B}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{rho}{1D72C}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{sigma}{1D72E}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{tau}{1D72F}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{upsilon}{1D730}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{phi}{1D731}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{chi}{1D732}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{psi}{1D733}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{omega}{1D734}
+}
+% \end{macrocode}
+% \end{noindmacro}
+%
+% \cs{LWR at mathjax@addgreek at u@bfup} is not needed.
+%
+% \begin{noindmacro}{\LWR at mathjax@addgreek at 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 at mathjax@addgreek at u@bfup}{s m m}{
+ \LWR at mathjax@addletter{#1}{#2}{#3}{alpha}{1D6A8}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{beta}{1D6A9}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{gamma}{1D6AA}
+ \LWR at mathjax@addletter*{#1}{#2}{#3}{digamma}{03DC}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{delta}{1D6AB}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{epsilon}{1D6AC}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{zeta}{1D6AD}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{eta}{1D6AE}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{theta}{1D6AF}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{vartheta}{1D6B9}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{iota}{1D6B0}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{kappa}{1D6B1}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{lambda}{1D6B2}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{mu}{1D6B3}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{nu}{1D6B4}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{xi}{1D6B5}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{omicron}{1D6B6}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{pi}{1D6B7}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{rho}{1D6B8}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{sigma}{1D6BA}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{tau}{1D6BB}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{upsilon}{1D6BC}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{phi}{1D6BD}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{chi}{1D6BE}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{psi}{1D6BF}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{omega}{1D6C0}
+}
+% \end{macrocode}
+% \end{noindmacro}
+%
+%
+% \begin{noindmacro}{\LWR at mathjax@addlatin at 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 at mathjax@addlatin at u@bfit}{m}{
+ \LWR at mathjax@addletter{\BooleanFalse}{#1}{}{A}{1D468}
+ \LWR at mathjax@addletter{\BooleanFalse}{#1}{}{B}{1D469}
+ \LWR at mathjax@addletter{\BooleanFalse}{#1}{}{C}{1D46A}
+ \LWR at mathjax@addletter{\BooleanFalse}{#1}{}{D}{1D46B}
+ \LWR at mathjax@addletter{\BooleanFalse}{#1}{}{E}{1D46C}
+ \LWR at mathjax@addletter{\BooleanFalse}{#1}{}{F}{1D46D}
+ \LWR at mathjax@addletter{\BooleanFalse}{#1}{}{G}{1D46E}
+ \LWR at mathjax@addletter{\BooleanFalse}{#1}{}{H}{1D46F}
+ \LWR at mathjax@addletter{\BooleanFalse}{#1}{}{I}{1D470}
+ \LWR at mathjax@addletter{\BooleanFalse}{#1}{}{J}{1D471}
+ \LWR at mathjax@addletter{\BooleanFalse}{#1}{}{K}{1D472}
+ \LWR at mathjax@addletter{\BooleanFalse}{#1}{}{L}{1D473}
+ \LWR at mathjax@addletter{\BooleanFalse}{#1}{}{M}{1D474}
+ \LWR at mathjax@addletter{\BooleanFalse}{#1}{}{N}{1D475}
+ \LWR at mathjax@addletter{\BooleanFalse}{#1}{}{O}{1D476}
+ \LWR at mathjax@addletter{\BooleanFalse}{#1}{}{P}{1D477}
+ \LWR at mathjax@addletter{\BooleanFalse}{#1}{}{Q}{1D478}
+ \LWR at mathjax@addletter{\BooleanFalse}{#1}{}{R}{1D479}
+ \LWR at mathjax@addletter{\BooleanFalse}{#1}{}{S}{1D47A}
+ \LWR at mathjax@addletter{\BooleanFalse}{#1}{}{T}{1D47B}
+ \LWR at mathjax@addletter{\BooleanFalse}{#1}{}{U}{1D47C}
+ \LWR at mathjax@addletter{\BooleanFalse}{#1}{}{V}{1D47D}
+ \LWR at mathjax@addletter{\BooleanFalse}{#1}{}{W}{1D47E}
+ \LWR at mathjax@addletter{\BooleanFalse}{#1}{}{X}{1D47F}
+ \LWR at mathjax@addletter{\BooleanFalse}{#1}{}{Y}{1D480}
+ \LWR at mathjax@addletter{\BooleanFalse}{#1}{}{Z}{1D481}
+}
+% \end{macrocode}
+% \end{noindmacro}
+%
+% \begin{noindmacro}{\LWR at mathjax@addlatin at 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 at mathjax@addlatin at l@bfit}{m}{
+ \LWR at mathjax@addletter{\BooleanFalse}{#1}{}{a}{1D482}
+ \LWR at mathjax@addletter{\BooleanFalse}{#1}{}{b}{1D483}
+ \LWR at mathjax@addletter{\BooleanFalse}{#1}{}{c}{1D484}
+ \LWR at mathjax@addletter{\BooleanFalse}{#1}{}{d}{1D485}
+ \LWR at mathjax@addletter{\BooleanFalse}{#1}{}{e}{1D486}
+ \LWR at mathjax@addletter{\BooleanFalse}{#1}{}{f}{1D487}
+ \LWR at mathjax@addletter{\BooleanFalse}{#1}{}{g}{1D488}
+ \LWR at mathjax@addletter{\BooleanFalse}{#1}{}{h}{1D489}
+ \LWR at mathjax@addletter{\BooleanFalse}{#1}{}{i}{1D48A}
+ \LWR at mathjax@addletter{\BooleanFalse}{#1}{}{j}{1D48B}
+ \LWR at mathjax@addletter{\BooleanFalse}{#1}{}{k}{1D48C}
+ \LWR at mathjax@addletter{\BooleanFalse}{#1}{}{l}{1D48D}
+ \LWR at mathjax@addletter{\BooleanFalse}{#1}{}{m}{1D48E}
+ \LWR at mathjax@addletter{\BooleanFalse}{#1}{}{n}{1D48F}
+ \LWR at mathjax@addletter{\BooleanFalse}{#1}{}{o}{1D490}
+ \LWR at mathjax@addletter{\BooleanFalse}{#1}{}{p}{1D491}
+ \LWR at mathjax@addletter{\BooleanFalse}{#1}{}{q}{1D492}
+ \LWR at mathjax@addletter{\BooleanFalse}{#1}{}{r}{1D493}
+ \LWR at mathjax@addletter{\BooleanFalse}{#1}{}{s}{1D494}
+ \LWR at mathjax@addletter{\BooleanFalse}{#1}{}{t}{1D495}
+ \LWR at mathjax@addletter{\BooleanFalse}{#1}{}{u}{1D496}
+ \LWR at mathjax@addletter{\BooleanFalse}{#1}{}{v}{1D497}
+ \LWR at mathjax@addletter{\BooleanFalse}{#1}{}{w}{1D498}
+ \LWR at mathjax@addletter{\BooleanFalse}{#1}{}{x}{1D499}
+ \LWR at mathjax@addletter{\BooleanFalse}{#1}{}{y}{1D49A}
+ \LWR at 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
+% ^^A *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.}
+% \changes{v0.891}{2020/09/20}{\pkg{lwarp-common-mathjax-newpxtxmath}: Reverse factored out Greek, non-\brand{Unicode}.}
+%
+% \codehtml
+%
+% \begin{macrocode}
+\ProvidesPackage{lwarp-common-mathjax-newpxtxmath}[2020/09/20]
+% \end{macrocode}
+%
+% For \brand{MathJax}:
+% \begin{macrocode}
+\LWR at origRequirePackage{lwarp-common-mathjax-nonunicode}
+\LWR at 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}}}}
+% \end{macrocode}
+%
+% \filenm{lwarp_mathjax.txt} adds \cs{left} \Slash \cs{right} support for
+% delimiters.
+% \changes{v0.892}{2020/09/26}{\pkg{lwarp-common-mathjax-newpxtxmath}: Added \cs{left} \Slash \cs{right} support in \filenm{lwarp_mathjax.txt}.}
+% \begin{macrocode}
+\CustomizeMathJax{\let\llbracket\lBrack}
+\CustomizeMathJax{\let\rrbracket\rBrack}
+
+\CustomizeMathJax{\let\smlbrace\{}
+\CustomizeMathJax{\let\smrbrace\}}
+\CustomizeMathJax{\newcommand{\Perp}{\mathrel{\unicode{x02AEB}}}}
+\CustomizeMathJax{\newcommand{\nPerp}{\mathrel{\not{\!\unicode{x02AEB}}}}}
+\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}}}}
+% \end{macrocode}
+% \changes{v0.891}{2020/09/19}{\pkg{lwarp-common-mathjax-newpxtxmath}: Expanded for \pkg{kpfonts}.}
+% \begin{macrocode}
+\CustomizeMathJax{\newcommand{\circledslash}{\mathbin{\unicode{x2298}}}}
+%
+\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}}\limits}}
+\CustomizeMathJax{\newcommand{\smalliiintsl}{\mathop{\unicode{x222D}}\limits}}
+\CustomizeMathJax{\newcommand{\smalliiiintsl}{\mathop{\unicode{x2A0C}}\limits}}
+\CustomizeMathJax{\newcommand{\smallointsl}{\mathop{\unicode{x222E}}\limits}}
+\CustomizeMathJax{\newcommand{\smalloiintsl}{\mathop{\unicode{x222F}}\limits}}
+\CustomizeMathJax{\newcommand{\smalloiiintsl}{\mathop{\unicode{x2230}}\limits}}
+\CustomizeMathJax{\newcommand{\smallvarointclockwisesl}{\mathop{\unicode{x2232}}\limits}}
+\CustomizeMathJax{\newcommand{\smallointctrclockwisesl}{\mathop{\unicode{x2233}}\limits}}
+\CustomizeMathJax{\newcommand{\smallsumintsl}{\mathop{\unicode{x2A0B}}\limits}}
+\CustomizeMathJax{\newcommand{\smallfintsl}{\mathop{\unicode{x2A0F}}\limits}}
+\CustomizeMathJax{\newcommand{\smallsqintsl}{\mathop{\unicode{x2A16}}\limits}}
+%
+\CustomizeMathJax{\let\smallintup\smallint}
+\CustomizeMathJax{\newcommand{\smalliintup}{\mathop{\unicode{x222C}}\limits}}
+\CustomizeMathJax{\newcommand{\smalliiintup}{\mathop{\unicode{x222D}}\limits}}
+\CustomizeMathJax{\newcommand{\smalliiiintup}{\mathop{\unicode{x2A0C}}\limits}}
+\CustomizeMathJax{\newcommand{\smallointup}{\mathop{\unicode{x222E}}\limits}}
+\CustomizeMathJax{\newcommand{\smalloiintup}{\mathop{\unicode{x222F}}\limits}}
+\CustomizeMathJax{\newcommand{\smalloiiintup}{\mathop{\unicode{x2230}}\limits}}
+\CustomizeMathJax{\newcommand{\smallvarointclockwiseup}{\mathop{\unicode{x2232}}\limits}}
+\CustomizeMathJax{\newcommand{\smallointctrclockwiseup}{\mathop{\unicode{x2233}}\limits}}
+\CustomizeMathJax{\newcommand{\smallsumintup}{\mathop{\unicode{x2A0B}}\limits}}
+\CustomizeMathJax{\newcommand{\smallfintup}{\mathop{\unicode{x2A0F}}\limits}}
+\CustomizeMathJax{\newcommand{\smallsqintup}{\mathop{\unicode{x2A16}}\limits}}
+%
+\CustomizeMathJax{\newcommand{\iint}{\mathop{\unicode{x222C}}\limits}}
+\CustomizeMathJax{\newcommand{\iiint}{\mathop{\unicode{x222D}}\limits}}
+\CustomizeMathJax{\newcommand{\iiiint}{\mathop{\unicode{x2A0C}}\limits}}
+\CustomizeMathJax{\newcommand{\oiint}{\mathop{\unicode{x222F}}\limits}}
+\CustomizeMathJax{\newcommand{\oiiint}{\mathop{\unicode{x2230}}\limits}}
+\CustomizeMathJax{\newcommand{\varointclockwise}{\mathop{\unicode{x2232}}\limits}}
+\CustomizeMathJax{\newcommand{\ointctrclockwise}{\mathop{\unicode{x2233}}\limits}}
+\CustomizeMathJax{\newcommand{\sumint}{\mathop{\unicode{x2A0B}}\limits}}
+\CustomizeMathJax{\newcommand{\fint}{\mathop{\unicode{x2A0F}}\limits}}
+\CustomizeMathJax{\newcommand{\sqint}{\mathop{\unicode{x2A16}}\limits}}
+%
+\CustomizeMathJax{\let\intsl\int}
+\CustomizeMathJax{\newcommand{\iintsl}{\mathop{\unicode{x222C}}\limits}}
+\CustomizeMathJax{\newcommand{\iiintsl}{\mathop{\unicode{x222D}}\limits}}
+\CustomizeMathJax{\newcommand{\iiiintsl}{\mathop{\unicode{x2A0C}}\limits}}
+\CustomizeMathJax{\let\ointsl\oint}
+\CustomizeMathJax{\newcommand{\oiintsl}{\mathop{\unicode{x222F}}\limits}}
+\CustomizeMathJax{\newcommand{\oiiintsl}{\mathop{\unicode{x2230}}\limits}}
+\CustomizeMathJax{\newcommand{\varointclockwisesl}{\mathop{\unicode{x2232}}\limits}}
+\CustomizeMathJax{\newcommand{\ointctrclockwisesl}{\mathop{\unicode{x2233}}\limits}}
+\CustomizeMathJax{\newcommand{\sumintsl}{\mathop{\unicode{x2A0B}}\limits}}
+\CustomizeMathJax{\newcommand{\fintsl}{\mathop{\unicode{x2A0F}}\limits}}
+\CustomizeMathJax{\newcommand{\sqintsl}{\mathop{\unicode{x2A16}}\limits}}
+%
+\CustomizeMathJax{\let\intup\int}
+\CustomizeMathJax{\newcommand{\iintup}{\mathop{\unicode{x222C}}\limits}}
+\CustomizeMathJax{\newcommand{\iiintup}{\mathop{\unicode{x222D}}\limits}}
+\CustomizeMathJax{\newcommand{\iiiintup}{\mathop{\unicode{x2A0C}}\limits}}
+\CustomizeMathJax{\let\ointup\oint}
+\CustomizeMathJax{\newcommand{\oiintup}{\mathop{\unicode{x222F}}\limits}}
+\CustomizeMathJax{\newcommand{\oiiintup}{\mathop{\unicode{x2230}}\limits}}
+\CustomizeMathJax{\newcommand{\varointclockwiseup}{\mathop{\unicode{x2232}}\limits}}
+\CustomizeMathJax{\newcommand{\ointctrclockwiseup}{\mathop{\unicode{x2233}}\limits}}
+\CustomizeMathJax{\newcommand{\sumintup}{\mathop{\unicode{x2A0B}}\limits}}
+\CustomizeMathJax{\newcommand{\fintup}{\mathop{\unicode{x2A0F}}\limits}}
+\CustomizeMathJax{\newcommand{\sqintup}{\mathop{\unicode{x2A16}}\limits}}
+%
+\CustomizeMathJax{\newcommand{\bigcupdot}{\mathop{\unicode{x2A03}}}}
+\CustomizeMathJax{\newcommand{\bigcupplus}{\mathop{\unicode{x2A04}}}}
+\CustomizeMathJax{\newcommand{\bigsqcap}{\mathop{\unicode{x2A05}}}}
+%
+% \end{macrocode}
+% \changes{v0.891}{2020/09/20}{\pkg{lwarp-common-mathjax-newpxtxmath}: Factored non-\brand{Unicode}.}
+% \begin{macrocode}
+%
+\CustomizeMathJax{\newcommand{\bigtimes}{\mathop{\unicode{x2A09}}}}
+\CustomizeMathJax{\let\varprod\bigtimes}
+%
+% \end{macrocode}
+% \changes{v0.891}{2020/09/19}{\pkg{lwarp-common-mathjax-newpxtxmath}: Expanded for \pkg{kpfonts}.}
+% \begin{macrocode}
+\CustomizeMathJax{\newcommand{\mappedfrom}{\mathrel{\unicode{x021A4}}}}
+\CustomizeMathJax{\let\mappedfromchar\mappedfrom}
+\CustomizeMathJax{\newcommand{\mapsfrom}{\mathrel{\unicode{x021A4}}}}
+\CustomizeMathJax{\newcommand{\longmappedfrom}{\mathrel{\unicode{x027FB}}}}
+%
+\CustomizeMathJax{\newcommand{\Mapsto}{\mathrel{\unicode{x02907}}}}
+\CustomizeMathJax{\let\Mapstochar\Mapsto}
+\CustomizeMathJax{\newcommand{\Longmapsto}{\mathrel{\unicode{x027FE}}}}
+\CustomizeMathJax{\newcommand{\Mappedfrom}{\mathrel{\unicode{x02906}}}}
+\CustomizeMathJax{\let\Mappedfromchar\Mappedfrom}
+\CustomizeMathJax{\newcommand{\Mapsfrom}{\mathrel{\unicode{x02906}}}}
+\CustomizeMathJax{\newcommand{\Longmappedfrom}{\mathrel{\unicode{x27FD}}}}
+%
+% \end{macrocode}
+% \changes{v0.891}{2020/09/20}{\pkg{lwarp-common-mathjax-newpxtxmath}: Factored non-\brand{Unicode}.}
+% \begin{macrocode}
+\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}}}}}
+%
+% \end{macrocode}
+% \changes{v0.891}{2020/09/19}{\pkg{lwarp-common-mathjax-newpxtxmath}: Expanded for \pkg{kpfonts}.}
+% \begin{macrocode}
+\CustomizeMathJax{\newcommand{\coloneq}{\mathrel{\unicode{x02254}}}}
+\CustomizeMathJax{\newcommand{\eqcolon}{\mathrel{\unicode{x02255}}}}
+%
+\CustomizeMathJax{\newcommand{\VDash}{\mathrel{\unicode{x22AB}}}}
+% \end{macrocode}
+% \changes{v0.891}{2020/09/20}{\pkg{lwarp-common-mathjax-newpxtxmath}: Factored non-\brand{Unicode}.}
+% \begin{macrocode}
+%
+\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}}}}
+%
+% \end{macrocode}
+% \changes{v0.891}{2020/09/19}{\pkg{lwarp-common-mathjax-newpxtxmath}: Expanded for \pkg{kpfonts}.}
+% \begin{macrocode}
+\CustomizeMathJax{\newcommand{\nsubset}{\mathrel{\unicode{x02284}}}}
+\CustomizeMathJax{\newcommand{\nsupset}{\mathrel{\unicode{x02285}}}}
+\CustomizeMathJax{\newcommand{\notni}{\mathrel{\unicode{x220C}}}}
+\CustomizeMathJax{\let\notowns\notni}
+%
+\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{\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{\invamp}{\mathbin{\unicode{x0214B}}}}
+% \end{macrocode}
+%
+% \filenm{lwarp_mathjax.txt} adds \cs{left} \Slash \cs{right} support for
+% delimiters.
+% \changes{v0.892}{2020/09/26}{\pkg{lwarp-common-mathjax-newpxtxmath}: Added \cs{left} \Slash \cs{right} support in \filenm{lwarp_mathjax.txt}.}
+% \begin{macrocode}
+\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{\circledbslash}{\mathbin{\unicode{x029B8}}}}
+% \end{macrocode}
+% \changes{v0.891}{2020/09/20}{\pkg{lwarp-common-mathjax-newpxtxmath}: Factored non-\brand{Unicode}.}
+% \begin{macrocode}
+\CustomizeMathJax{\newcommand{\lJoin}{\mathrel{\unicode{x22C9}}}}
+\CustomizeMathJax{\newcommand{\rJoin}{\mathrel{\unicode{x22CA}}}}
+\CustomizeMathJax{\newcommand{\lrJoin}{\mathrel{\unicode{x2A1D}}}}
+
+\CustomizeMathJax{\newcommand{\lrtimes}{\mathrel{\unicode{x2A1D}}}}
+\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{\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{\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{\dlb}{\mathopen{\unicode{x027E6}}}}
+\CustomizeMathJax{\newcommand{\drb}{\mathopen{\unicode{x027E7}}}}
+
+\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}}}}% not upright
+
+\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}
+% \end{macrocode}
+% \changes{v0.891}{2020/09/19}{\pkg{lwarp-common-mathjax-newpxtxmath}: Expanded for \pkg{kpfonts}.}
+% \begin{macrocode}
+\CustomizeMathJax{\let\varemptyset\emptyset}
+%
+% 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-nonunicode
+% ^^A *nonunicode
+%
+% \iffalse
+%<*common-mathjax-nonunicode>
+% \fi
+%
+% \part{lwarp-common-mathjax-nonunicode.sty}
+%
+% \section{common-mathjax-nonunicode}
+%
+% \credits{Daniel Flipo, Michael Sharpe}
+%
+% \DescribePackage{lwarp-common-mathjax-nonunicode}
+% Common code used by \pkg{newpxmath}, \pkg{newtxmath}, \pkg{newtxsf},
+% \pkg{kpfonts-otf}
+% for \brand{MathJax}.
+% These are symbols not found in \brand{Unicode}.
+%
+% Factored from \pkg{lwarp-common-mathjax-newpxtxmath}.
+%
+% \changes{v0.891}{2020/09/20}{\pkg{lwarp-common-mathjax-nonunicode}: Added.}
+%
+% \codehtml
+%
+% \begin{macrocode}
+\ProvidesPackage{lwarp-common-mathjax-nonunicode}[2020/09/20]
+% \end{macrocode}
+%
+% For \brand{MathJax}:
+% \begin{macrocode}
+\LWR at origRequirePackage{lwarp-common-mathjax-overlaysymbols}
+
+\begin{warpMathJax}
+\CustomizeMathJax{\newcommand{\mmapsto}{\mathrel{\unicode{x021A6}}}}
+\CustomizeMathJax{\let\mmapstochar\mmapsto}
+\CustomizeMathJax{\newcommand{\longmmapsto}{\mathrel{\unicode{x021A6}}}}
+\CustomizeMathJax{\newcommand{\mmappedfrom}{\mathrel{\unicode{x021A4}}}}
+\CustomizeMathJax{\let\mmappedfromchar\mmappedfrom}
+\CustomizeMathJax{\newcommand{\longmmappedfrom}{\mathrel{\unicode{x021A4}}}}
+\CustomizeMathJax{\let\mmapsfrom\mmappedfrom}% from kpfonts-otf
+\CustomizeMathJax{\let\longmmapsfrom\longmmappedfrom}% from kpfonts-otf
+
+\CustomizeMathJax{\newcommand{\Mmapsto}{\mathrel{\unicode{x02907}}}}
+\CustomizeMathJax{\let\Mmapstochar\Mmapsto}
+\CustomizeMathJax{\newcommand{\Longmmapsto}{\mathrel{\unicode{x027FE}}}}
+\CustomizeMathJax{\newcommand{\Mmappedfrom}{\mathrel{\unicode{x02906}}}}
+\CustomizeMathJax{\let\Mmappedfromchar\Mmappedfrom}
+\CustomizeMathJax{\newcommand{\Longmmappedfrom}{\mathrel{\unicode{x027FD}}}}
+\CustomizeMathJax{\let\Mmapsfrom\Mmappedfrom}% from kpfonts-otf
+\CustomizeMathJax{\let\Longmmapsfrom\Longmmappedfrom}% from kpfonts-otf
+%
+\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{\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{\multimapbothvert}{%
+ \mathrel{\overset{\unicode{x025CB}}{\underset{\unicode{x025CB}}{|}}}%
+}}
+\CustomizeMathJax{\newcommand{\multimapdotbothvert}{%
+ \mathrel{\overset{\unicode{x025CF}}{\underset{\unicode{x025CF}}{|}}}%
+}}
+\CustomizeMathJax{\newcommand{\multimapdotbothBvert}{% bug in kpfonts-otf
+ \mathrel{\overset{\unicode{x025CF}}{\underset{\unicode{x025CB}}{|}}}%
+}}
+\CustomizeMathJax{\newcommand{\multimapdotbothAvert}{% bug in kpfonts-otf
+ \mathrel{\overset{\unicode{x025CB}}{\underset{\unicode{x025CF}}{|}}}%
+}}
+
+\CustomizeMathJax{\newcommand{\bignplus}{%
+ \mathop{\LWRoverlaysymbols{\unicode{xFF0B}}{\unicode{x22C2}}}%
+}}
+\CustomizeMathJax{\let\bigcapplus\bignplus}
+\CustomizeMathJax{\let\capplus\bignplus}% from kpfonts-otf
+
+\CustomizeMathJax{\newcommand{\bigsqcapplus}{%
+ \mathop{\LWRoverlaysymbols{\unicode{xFF0B}}{\unicode{x2A05}}}
+}}
+\CustomizeMathJax{\let\sqcapplus\bigsqcapplus}% from kpfonts-otf
+
+\CustomizeMathJax{\newcommand{\bigsqcupplus}{%
+ \mathop{\LWRoverlaysymbols{\unicode{xFF0B}}{\unicode{x2A06}}}
+}}
+\CustomizeMathJax{\let\sqcupplus\bigsqcupplus}% from kpfonts-otf
+
+\CustomizeMathJax{\newcommand{\parallelslant}{\mathrel{\unicode{x02AFD}}}}
+\CustomizeMathJax{\newcommand{\parallelbackslant}{%
+ \mathrel{\unicode{x0005C}\!\!\unicode{x0005C}}%
+}}
+
+\CustomizeMathJax{\newcommand{\Eqqcolon}{\mathrel{=\!\unicode{x2237}}}}
+\CustomizeMathJax{\let\eqqColon\Eqqcolon}% for kpfonts-otf
+\CustomizeMathJax{\newcommand{\dashColon}{\mathrel{-\unicode{x2237}}}}
+\CustomizeMathJax{\newcommand{\Colondash}{\mathrel{\unicode{x2237}-}}}
+
+\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{\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{\circledwedge}{%
+ \mathbin{\LWRoverlaysymbols{\unicode{x025EF}}{\unicode{x02227}}}%
+}}
+\CustomizeMathJax{\newcommand{\circledvee}{%
+ \mathbin{\LWRoverlaysymbols{\unicode{x025EF}}{\unicode{0x02228}}}%
+}}
+\CustomizeMathJax{\newcommand{\circledbar}{\mathbin{\unicode{x029B6}}}}
+
+\CustomizeMathJax{\newcommand{\openJoin}{\mathrel{\unicode{x2AA4}}}}% overlapping ><
+\CustomizeMathJax{\newcommand{\opentimes}{\mathrel{\unicode{x2AA4}}}}% overlapping ><
+
+\CustomizeMathJax{\newcommand{\VvDash}{\mathrel{\unicode{x22AA}}}}
+
+\CustomizeMathJax{\newcommand{\lambdabar}{%
+ \mathord{\LWRoverlaysymbols{\raise{.5ex}{-}}{\lambda}}%
+}}
+
+\CustomizeMathJax{\newcommand{\lambdaslash}{\mathord{\unicode{x019B}}}}
+
+\CustomizeMathJax{\newcommand{\Wr}{\mathbin{\unicode{x02240}\!\unicode{x02240}}}}
+
+\CustomizeMathJax{\newcommand{\dashleftrightarrow}{%
+ \mathrel{\unicode{x021E0}\!\unicode{x021E2}}%
+}}
+\CustomizeMathJax{\let\leftrightdasharrow\dashleftrightarrow}% for kpfonts-otf
+
+\end{warpMathJax}
+% \end{macrocode}
+%
+% \iffalse
+%</common-mathjax-nonunicode>
+% \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}}
%
%
Modified: branches/branch2020/Master/texmf-dist/source/latex/lwarp/lwarp.ins
===================================================================
--- branches/branch2020/Master/texmf-dist/source/latex/lwarp/lwarp.ins 2021-02-18 22:18:09 UTC (rev 57790)
+++ branches/branch2020/Master/texmf-dist/source/latex/lwarp/lwarp.ins 2021-02-18 22:20:50 UTC (rev 57791)
@@ -40,6 +40,7 @@
\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}}
@@ -50,6 +51,7 @@
\file{lwarp-algorithm2e.sty}{\from{lwarp.dtx}{algorithm2e}}
\file{lwarp-algorithmicx.sty}{\from{lwarp.dtx}{algorithmicx}}
\file{lwarp-alltt.sty}{\from{lwarp.dtx}{alltt}}
+\file{lwarp-amscdx.sty}{\from{lwarp.dtx}{amscdx}}
\file{lwarp-amsmath.sty}{\from{lwarp.dtx}{amsmath}}
\file{lwarp-amsthm.sty}{\from{lwarp.dtx}{amsthm}}
\file{lwarp-anonchap.sty}{\from{lwarp.dtx}{anonchap}}
@@ -86,16 +88,19 @@
\file{lwarp-booktabs.sty}{\from{lwarp.dtx}{booktabs}}
\file{lwarp-bophook.sty}{\from{lwarp.dtx}{bophook}}
\file{lwarp-bounddvi.sty}{\from{lwarp.dtx}{bounddvi}}
+\file{lwarp-boxedminipage.sty}{\from{lwarp.dtx}{boxedminipage}}
\file{lwarp-boxedminipage2e.sty}{\from{lwarp.dtx}{boxedminipage2e}}
\file{lwarp-braket.sty}{\from{lwarp.dtx}{braket}}
\file{lwarp-breakurl.sty}{\from{lwarp.dtx}{breakurl}}
\file{lwarp-breqn.sty}{\from{lwarp.dtx}{breqn}}
\file{lwarp-bsheaders.sty}{\from{lwarp.dtx}{bsheaders}}
+\file{lwarp-bussproofs.sty}{\from{lwarp.dtx}{bussproofs}}
\file{lwarp-bxpapersize.sty}{\from{lwarp.dtx}{bxpapersize}}
\file{lwarp-bytefield.sty}{\from{lwarp.dtx}{bytefield}}
\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}}
@@ -112,9 +117,12 @@
\file{lwarp-chkfloat.sty}{\from{lwarp.dtx}{chkfloat}}
\file{lwarp-chngpage.sty}{\from{lwarp.dtx}{chngpage}}
\file{lwarp-cite.sty}{\from{lwarp.dtx}{cite}}
+\file{lwarp-citeref.sty}{\from{lwarp.dtx}{citeref}}
\file{lwarp-CJK.sty}{\from{lwarp.dtx}{CJK}}
\file{lwarp-CJKutf8.sty}{\from{lwarp.dtx}{CJKutf8}}
+\file{lwarp-cleveref.sty}{\from{lwarp.dtx}{cleveref}}
\file{lwarp-clrdblpg.sty}{\from{lwarp.dtx}{clrdblpg}}
+\file{lwarp-cmbright.sty}{\from{lwarp.dtx}{cmbright}}
\file{lwarp-cmdtrack.sty}{\from{lwarp.dtx}{cmdtrack}}
\file{lwarp-colonequals.sty}{\from{lwarp.dtx}{colonequals}}
\file{lwarp-color.sty}{\from{lwarp.dtx}{color}}
@@ -137,6 +145,7 @@
\file{lwarp-draftcopy.sty}{\from{lwarp.dtx}{draftcopy}}
\file{lwarp-draftfigure.sty}{\from{lwarp.dtx}{draftfigure}}
\file{lwarp-draftwatermark.sty}{\from{lwarp.dtx}{draftwatermark}}
+\file{lwarp-drftcite.sty}{\from{lwarp.dtx}{drftcite}}
\file{lwarp-easy-todo.sty}{\from{lwarp.dtx}{easy-todo}}
\file{lwarp-ebook.sty}{\from{lwarp.dtx}{ebook}}
\file{lwarp-econometrics.sty}{\from{lwarp.dtx}{econometrics}}
@@ -151,6 +160,7 @@
\file{lwarp-enumerate.sty}{\from{lwarp.dtx}{enumerate}}
\file{lwarp-enumitem.sty}{\from{lwarp.dtx}{enumitem}}
\file{lwarp-epigraph.sty}{\from{lwarp.dtx}{epigraph}}
+\file{lwarp-epsf.sty}{\from{lwarp.dtx}{epsf}}
\file{lwarp-epsfig.sty}{\from{lwarp.dtx}{epsfig}}
\file{lwarp-epstopdf.sty}{\from{lwarp.dtx}{epstopdf}}
\file{lwarp-epstopdf-base.sty}{\from{lwarp.dtx}{epstopdf-base}}
@@ -158,6 +168,7 @@
\file{lwarp-eqparbox.sty}{\from{lwarp.dtx}{eqparbox}}
\file{lwarp-errata.sty}{\from{lwarp.dtx}{errata}}
\file{lwarp-eso-pic.sty}{\from{lwarp.dtx}{eso-pic}}
+\file{lwarp-esvect.sty}{\from{lwarp.dtx}{esvect}}
\file{lwarp-etoc.sty}{\from{lwarp.dtx}{etoc}}
\file{lwarp-eurosym.sty}{\from{lwarp.dtx}{eurosym}}
\file{lwarp-everypage.sty}{\from{lwarp.dtx}{everypage}}
@@ -169,11 +180,13 @@
\file{lwarp-fancyref.sty}{\from{lwarp.dtx}{fancyref}}
\file{lwarp-fancytabs.sty}{\from{lwarp.dtx}{fancytabs}}
\file{lwarp-fancyvrb.sty}{\from{lwarp.dtx}{fancyvrb}}
+\file{lwarp-fbox.sty}{\from{lwarp.dtx}{fbox}}
\file{lwarp-fewerfloatpages.sty}{\from{lwarp.dtx}{fewerfloatpages}}
\file{lwarp-figcaps.sty}{\from{lwarp.dtx}{figcaps}}
\file{lwarp-figsize.sty}{\from{lwarp.dtx}{figsize}}
\file{lwarp-fitbox.sty}{\from{lwarp.dtx}{fitbox}}
\file{lwarp-fix2col.sty}{\from{lwarp.dtx}{fix2col}}
+\file{lwarp-fixmath.sty}{\from{lwarp.dtx}{fixmath}}
\file{lwarp-fixme.sty}{\from{lwarp.dtx}{fixme}}
\file{lwarp-fixmetodonotes.sty}{\from{lwarp.dtx}{fixmetodonotes}}
\file{lwarp-flafter.sty}{\from{lwarp.dtx}{flafter}}
@@ -187,6 +200,7 @@
\file{lwarp-fnbreak.sty}{\from{lwarp.dtx}{fnbreak}}
\file{lwarp-fncychap.sty}{\from{lwarp.dtx}{fncychap}}
\file{lwarp-fnlineno.sty}{\from{lwarp.dtx}{fnlineno}}
+\file{lwarp-fnpara.sty}{\from{lwarp.dtx}{fnpara}}
\file{lwarp-fnpos.sty}{\from{lwarp.dtx}{fnpos}}
\file{lwarp-fontawesome.sty}{\from{lwarp.dtx}{fontawesome}}
\file{lwarp-fontawesome5.sty}{\from{lwarp.dtx}{fontawesome5}}
@@ -201,6 +215,7 @@
\file{lwarp-foreign.sty}{\from{lwarp.dtx}{foreign}}
\file{lwarp-forest.sty}{\from{lwarp.dtx}{forest}}
\file{lwarp-fouridx.sty}{\from{lwarp.dtx}{fouridx}}
+\file{lwarp-fourier.sty}{\from{lwarp.dtx}{fourier}}
\file{lwarp-framed.sty}{\from{lwarp.dtx}{framed}}
\file{lwarp-ftcap.sty}{\from{lwarp.dtx}{ftcap}}
\file{lwarp-ftnright.sty}{\from{lwarp.dtx}{ftnright}}
@@ -207,11 +222,13 @@
\file{lwarp-fullminipage.sty}{\from{lwarp.dtx}{fullminipage}}
\file{lwarp-fullpage.sty}{\from{lwarp.dtx}{fullpage}}
\file{lwarp-fullwidth.sty}{\from{lwarp.dtx}{fullwidth}}
+\file{lwarp-fvextra.sty}{\from{lwarp.dtx}{fvextra}}
\file{lwarp-fwlw.sty}{\from{lwarp.dtx}{fwlw}}
\file{lwarp-gensymb.sty}{\from{lwarp.dtx}{gensymb}}
\file{lwarp-gentombow.sty}{\from{lwarp.dtx}{gentombow}}
\file{lwarp-geometry.sty}{\from{lwarp.dtx}{geometry}}
\file{lwarp-ghsystem.sty}{\from{lwarp.dtx}{ghsystem}}
+\file{lwarp-gindex.sty}{\from{lwarp.dtx}{gindex}}
\file{lwarp-gloss.sty}{\from{lwarp.dtx}{gloss}}
\file{lwarp-glossaries.sty}{\from{lwarp.dtx}{glossaries}}
\file{lwarp-gmeometric.sty}{\from{lwarp.dtx}{gmeometric}}
@@ -223,7 +240,9 @@
\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}}
@@ -237,8 +256,14 @@
\file{lwarp-index.sty}{\from{lwarp.dtx}{index}}
\file{lwarp-inputtrc.sty}{\from{lwarp.dtx}{inputtrc}}
\file{lwarp-intopdf.sty}{\from{lwarp.dtx}{intopdf}}
+\file{lwarp-isomath.sty}{\from{lwarp.dtx}{isomath}}
+\file{lwarp-isotope.sty}{\from{lwarp.dtx}{isotope}}
+\file{lwarp-jurabib.sty}{\from{lwarp.dtx}{jurabib}}
\file{lwarp-karnaugh-map.sty}{\from{lwarp.dtx}{karnaugh-map}}
\file{lwarp-keyfloat.sty}{\from{lwarp.dtx}{keyfloat}}
+\file{lwarp-keystroke.sty}{\from{lwarp.dtx}{keystroke}}
+\file{lwarp-kpfonts.sty}{\from{lwarp.dtx}{kpfonts}}
+\file{lwarp-kpfonts-otf.sty}{\from{lwarp.dtx}{kpfonts-otf}}
\file{lwarp-layaureo.sty}{\from{lwarp.dtx}{layaureo}}
\file{lwarp-layout.sty}{\from{lwarp.dtx}{layout}}
\file{lwarp-layouts.sty}{\from{lwarp.dtx}{layouts}}
@@ -246,6 +271,7 @@
\file{lwarp-leftidx.sty}{\from{lwarp.dtx}{leftidx}}
\file{lwarp-letterspace.sty}{\from{lwarp.dtx}{letterspace}}
\file{lwarp-lettrine.sty}{\from{lwarp.dtx}{lettrine}}
+\file{lwarp-libertinust1math.sty}{\from{lwarp.dtx}{libertinust1math}}
\file{lwarp-lineno.sty}{\from{lwarp.dtx}{lineno}}
\file{lwarp-lips.sty}{\from{lwarp.dtx}{lips}}
\file{lwarp-listings.sty}{\from{lwarp.dtx}{listings}}
@@ -252,6 +278,7 @@
\file{lwarp-listliketab.sty}{\from{lwarp.dtx}{listliketab}}
\file{lwarp-lltjext.sty}{\from{lwarp.dtx}{lltjext}}
\file{lwarp-longtable.sty}{\from{lwarp.dtx}{longtable}}
+\file{lwarp-lpic.sty}{\from{lwarp.dtx}{lpic}}
\file{lwarp-lscape.sty}{\from{lwarp.dtx}{lscape}}
\file{lwarp-ltablex.sty}{\from{lwarp.dtx}{ltablex}}
\file{lwarp-ltcaption.sty}{\from{lwarp.dtx}{ltcaption}}
@@ -263,6 +290,7 @@
\file{lwarp-luamplib.sty}{\from{lwarp.dtx}{luamplib}}
\file{lwarp-luatexko.sty}{\from{lwarp.dtx}{luatexko}}
\file{lwarp-luatodonotes.sty}{\from{lwarp.dtx}{luatodonotes}}
+\file{lwarp-luavlna.sty}{\from{lwarp.dtx}{luavlna}}
\file{lwarp-lyluatex.sty}{\from{lwarp.dtx}{lyluatex}}
\file{lwarp-magaz.sty}{\from{lwarp.dtx}{magaz}}
\file{lwarp-makeidx.sty}{\from{lwarp.dtx}{makeidx}}
@@ -272,14 +300,24 @@
\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-mathastext.sty}{\from{lwarp.dtx}{mathastext}}
\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-mathspec.sty}{\from{lwarp.dtx}{mathspec}}
\file{lwarp-mathtools.sty}{\from{lwarp.dtx}{mathtools}}
+\file{lwarp-mattens.sty}{\from{lwarp.dtx}{mattens}}
+\file{lwarp-maybemath.sty}{\from{lwarp.dtx}{maybemath}}
\file{lwarp-mcaption.sty}{\from{lwarp.dtx}{mcaption}}
\file{lwarp-mdframed.sty}{\from{lwarp.dtx}{mdframed}}
+\file{lwarp-mdwmath.sty}{\from{lwarp.dtx}{mdwmath}}
\file{lwarp-media9.sty}{\from{lwarp.dtx}{media9}}
\file{lwarp-memhfixc.sty}{\from{lwarp.dtx}{memhfixc}}
+\file{lwarp-menukeys.sty}{\from{lwarp.dtx}{menukeys}}
\file{lwarp-metalogo.sty}{\from{lwarp.dtx}{metalogo}}
\file{lwarp-metalogox.sty}{\from{lwarp.dtx}{metalogox}}
\file{lwarp-mhchem.sty}{\from{lwarp.dtx}{mhchem}}
@@ -288,11 +326,14 @@
\file{lwarp-midpage.sty}{\from{lwarp.dtx}{midpage}}
\file{lwarp-minibox.sty}{\from{lwarp.dtx}{minibox}}
\file{lwarp-minitoc.sty}{\from{lwarp.dtx}{minitoc}}
+\file{lwarp-minted.sty}{\from{lwarp.dtx}{minted}}
\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}}
\file{lwarp-mparhack.sty}{\from{lwarp.dtx}{mparhack}}
+\file{lwarp-multibib.sty}{\from{lwarp.dtx}{multibib}}
\file{lwarp-multicap.sty}{\from{lwarp.dtx}{multicap}}
\file{lwarp-multicol.sty}{\from{lwarp.dtx}{multicol}}
\file{lwarp-multicolrule.sty}{\from{lwarp.dtx}{multicolrule}}
@@ -308,10 +349,14 @@
\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}}
\file{lwarp-niceframe.sty}{\from{lwarp.dtx}{niceframe}}
+\file{lwarp-nicematrix.sty}{\from{lwarp.dtx}{nicematrix}}
\file{lwarp-noitcrul.sty}{\from{lwarp.dtx}{noitcrul}}
\file{lwarp-nolbreaks.sty}{\from{lwarp.dtx}{nolbreaks}}
\file{lwarp-nomencl.sty}{\from{lwarp.dtx}{nomencl}}
@@ -353,12 +398,15 @@
\file{lwarp-phfqit.sty}{\from{lwarp.dtx}{phfqit}}
\file{lwarp-physics.sty}{\from{lwarp.dtx}{physics}}
\file{lwarp-physunits.sty}{\from{lwarp.dtx}{physunits}}
+\file{lwarp-picinpar.sty}{\from{lwarp.dtx}{picinpar}}
\file{lwarp-pifont.sty}{\from{lwarp.dtx}{pifont}}
+\file{lwarp-pinlabel.sty}{\from{lwarp.dtx}{pinlabel}}
\file{lwarp-placeins.sty}{\from{lwarp.dtx}{placeins}}
\file{lwarp-plarydshln.sty}{\from{lwarp.dtx}{plarydshln}}
\file{lwarp-plext.sty}{\from{lwarp.dtx}{plext}}
\file{lwarp-plextarydshln.sty}{\from{lwarp.dtx}{plextarydshln}}
\file{lwarp-plextcolorbl.sty}{\from{lwarp.dtx}{plextcolortbl}}
+\file{lwarp-plimsoll.sty}{\from{lwarp.dtx}{plimsoll}}
\file{lwarp-prelim2e.sty}{\from{lwarp.dtx}{prelim2e}}
\file{lwarp-prettyref.sty}{\from{lwarp.dtx}{prettyref}}
\file{lwarp-preview.sty}{\from{lwarp.dtx}{preview}}
@@ -369,6 +417,7 @@
\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}}
@@ -379,8 +428,10 @@
\file{lwarp-register.sty}{\from{lwarp.dtx}{register}}
\file{lwarp-relsize.sty}{\from{lwarp.dtx}{relsize}}
\file{lwarp-repeatindex.sty}{\from{lwarp.dtx}{repeatindex}}
+\file{lwarp-repltext.sty}{\from{lwarp.dtx}{repltext}}
\file{lwarp-resizegather.sty}{\from{lwarp.dtx}{resizegather}}
\file{lwarp-returntogrid.sty}{\from{lwarp.dtx}{returntogrid}}
+\file{lwarp-rlepsf.sty}{\from{lwarp.dtx}{rlepsf}}
\file{lwarp-rmathbr.sty}{\from{lwarp.dtx}{rmathbr}}
\file{lwarp-rmpage.sty}{\from{lwarp.dtx}{rmpage}}
\file{lwarp-romanbar.sty}{\from{lwarp.dtx}{romanbar}}
@@ -390,6 +441,7 @@
\file{lwarp-rviewport.sty}{\from{lwarp.dtx}{rviewport}}
\file{lwarp-savetrees.sty}{\from{lwarp.dtx}{savetrees}}
\file{lwarp-scalefnt.sty}{\from{lwarp.dtx}{scalefnt}}
+\file{lwarp-scalerel.sty}{\from{lwarp.dtx}{scalerel}}
\file{lwarp-schemata.sty}{\from{lwarp.dtx}{schemata}}
\file{lwarp-scrextend.sty}{\from{lwarp.dtx}{scrextend}}
\file{lwarp-scrhack.sty}{\from{lwarp.dtx}{scrhack}}
@@ -400,22 +452,29 @@
\file{lwarp-section.sty}{\from{lwarp.dtx}{section}}
\file{lwarp-sectionbreak.sty}{\from{lwarp.dtx}{sectionbreak}}
\file{lwarp-sectsty.sty}{\from{lwarp.dtx}{sectsty}}
+\file{lwarp-selectp.sty}{\from{lwarp.dtx}{selectp}}
\file{lwarp-semantic-markup.sty}{\from{lwarp.dtx}{semantic-markup}}
+\file{lwarp-seqsplit.sty}{\from{lwarp.dtx}{seqsplit}}
\file{lwarp-setspace.sty}{\from{lwarp.dtx}{setspace}}
+\file{lwarp-shadethm.sty}{\from{lwarp.dtx}{shadethm}}
\file{lwarp-shadow.sty}{\from{lwarp.dtx}{shadow}}
\file{lwarp-shapepar.sty}{\from{lwarp.dtx}{shapepar}}
\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-simplebnf.sty}{\from{lwarp.dtx}{simplebnf}}
\file{lwarp-SIunits.sty}{\from{lwarp.dtx}{SIunits}}
\file{lwarp-siunitx.sty}{\from{lwarp.dtx}{siunitx}}
+\file{lwarp-skmath.sty}{\from{lwarp.dtx}{skmath}}
\file{lwarp-slantsc.sty}{\from{lwarp.dtx}{slantsc}}
\file{lwarp-slashed.sty}{\from{lwarp.dtx}{slashed}}
\file{lwarp-soul.sty}{\from{lwarp.dtx}{soul}}
\file{lwarp-soulpos.sty}{\from{lwarp.dtx}{soulpos}}
\file{lwarp-soulutf8.sty}{\from{lwarp.dtx}{soulutf8}}
+\file{lwarp-splitbib.sty}{\from{lwarp.dtx}{splitbib}}
\file{lwarp-splitidx.sty}{\from{lwarp.dtx}{splitidx}}
\file{lwarp-srcltx.sty}{\from{lwarp.dtx}{srcltx}}
\file{lwarp-srctex.sty}{\from{lwarp.dtx}{srctex}}
@@ -423,6 +482,7 @@
\file{lwarp-stackengine.sty}{\from{lwarp.dtx}{stackengine}}
\file{lwarp-stackrel.sty}{\from{lwarp.dtx}{stackrel}}
\file{lwarp-statex2.sty}{\from{lwarp.dtx}{statex2}}
+\file{lwarp-statistics.sty}{\from{lwarp.dtx}{statistics}}
\file{lwarp-statmath.sty}{\from{lwarp.dtx}{statmath}}
\file{lwarp-steinmetz.sty}{\from{lwarp.dtx}{steinmetz}}
\file{lwarp-stfloats.sty}{\from{lwarp.dtx}{stfloats}}
@@ -433,6 +493,7 @@
\file{lwarp-subsupscripts.sty}{\from{lwarp.dtx}{subsupscripts}}
\file{lwarp-supertabular.sty}{\from{lwarp.dtx}{supertabular}}
\file{lwarp-svg.sty}{\from{lwarp.dtx}{svg}}
+\file{lwarp-swfigure.sty}{\from{lwarp.dtx}{swfigure}}
\file{lwarp-syntonly.sty}{\from{lwarp.dtx}{syntonly}}
\file{lwarp-tabfigures.sty}{\from{lwarp.dtx}{tabfigures}}
\file{lwarp-tablefootnote.sty}{\from{lwarp.dtx}{tablefootnote}}
@@ -441,6 +502,9 @@
\file{lwarp-tabulary.sty}{\from{lwarp.dtx}{tabulary}}
\file{lwarp-tagpdf.sty}{\from{lwarp.dtx}{tagpdf}}
\file{lwarp-tascmac.sty}{\from{lwarp.dtx}{tascmac}}
+\file{lwarp-tcolorbox.sty}{\from{lwarp.dtx}{tcolorbox}}
+\file{lwarp-tensor.sty}{\from{lwarp.dtx}{tensor}}
+\file{lwarp-termcal.sty}{\from{lwarp.dtx}{termcal}}
\file{lwarp-textarea.sty}{\from{lwarp.dtx}{textarea}}
\file{lwarp-textcomp.sty}{\from{lwarp.dtx}{textcomp}}
\file{lwarp-textfit.sty}{\from{lwarp.dtx}{textfit}}
@@ -447,6 +511,10 @@
\file{lwarp-textpos.sty}{\from{lwarp.dtx}{textpos}}
\file{lwarp-theorem.sty}{\from{lwarp.dtx}{theorem}}
\file{lwarp-thinsp.sty}{\from{lwarp.dtx}{thinsp}}
+\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}}
@@ -453,6 +521,7 @@
\file{lwarp-thumb.sty}{\from{lwarp.dtx}{thumb}}
\file{lwarp-thumbs.sty}{\from{lwarp.dtx}{thumbs}}
\file{lwarp-tikz.sty}{\from{lwarp.dtx}{tikz}}
+\file{lwarp-tikz-imagelabels.sty}{\from{lwarp.dtx}{tikz-imagelabels}}
\file{lwarp-titleps.sty}{\from{lwarp.dtx}{titleps}}
\file{lwarp-titleref.sty}{\from{lwarp.dtx}{titleref}}
\file{lwarp-titlesec.sty}{\from{lwarp.dtx}{titlesec}}
@@ -474,6 +543,8 @@
\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-txgreeks.sty}{\from{lwarp.dtx}{txgreeks}}
\file{lwarp-typearea.sty}{\from{lwarp.dtx}{typearea}}
\file{lwarp-typicons.sty}{\from{lwarp.dtx}{typicons}}
\file{lwarp-ulem.sty}{\from{lwarp.dtx}{ulem}}
@@ -482,9 +553,12 @@
\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}}
\file{lwarp-versonotes.sty}{\from{lwarp.dtx}{versonotes}}
\file{lwarp-vertbars.sty}{\from{lwarp.dtx}{vertbars}}
@@ -503,6 +577,7 @@
\file{lwarp-xechangebar.sty}{\from{lwarp.dtx}{xechangebar}}
\file{lwarp-xellipsis.sty}{\from{lwarp.dtx}{xellipsis}}
\file{lwarp-xetexko-vertical.sty}{\from{lwarp.dtx}{xetexko-vertical}}
+\file{lwarp-xevlna.sty}{\from{lwarp.dtx}{xevlna}}
\file{lwarp-xfakebold.sty}{\from{lwarp.dtx}{xfakebold}}
\file{lwarp-xfrac.sty}{\from{lwarp.dtx}{xfrac}}
\file{lwarp-xltabular.sty}{\from{lwarp.dtx}{xltabular}}
@@ -521,6 +596,10 @@
\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-nonunicode.sty}{\from{lwarp.dtx}{common-mathjax-nonunicode}}
+\file{lwarp-common-mathjax-overlaysymbols.sty}{\from{lwarp.dtx}{common-mathjax-overlaysymbols}}
}
\Msg{*********************************************************}
\Msg{*}
Modified: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-SIunits.sty
===================================================================
--- branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-SIunits.sty 2021-02-18 22:18:09 UTC (rev 57790)
+++ branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-SIunits.sty 2021-02-18 22:20:50 UTC (rev 57791)
@@ -276,7 +276,7 @@
\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}}}
@@ -291,12 +291,18 @@
\CustomizeMathJax{\newcommand{\molepercubicmetrenp}{\mole\usk\rpcubic\metre}}
\CustomizeMathJax{\newcommand{\radianpersquaresecond}{\radian\per\second\squared}}
\CustomizeMathJax{\newcommand{\radianpersquaresecondnp}{\radian\usk\second\rpsquared}}
-\CustomizeMathJax{\newcommand{\kilogramsquaremetrepersecond}{\kilogram\usk\squaremetre\per\second}}
-\CustomizeMathJax{\newcommand{\kilogramsquaremetrepersecondnp}{\kilogram\usk\squaremetre\usk\reciprocal\second}}
+\CustomizeMathJax{\newcommand{\kilogramsquaremetrepersecond}{%
+ \kilogram\usk\squaremetre\per\second%
+}}
+\CustomizeMathJax{\newcommand{\kilogramsquaremetrepersecondnp}{%
+ \kilogram\usk\squaremetre\usk\reciprocal\second%
+}}
\CustomizeMathJax{\newcommand{\radianpersecond}{\radian\per\second}}
\CustomizeMathJax{\newcommand{\radianpersecondnp}{\radian\usk\reciprocal\second}}
\CustomizeMathJax{\newcommand{\squaremetrepercubicmetre}{\squaremetre\per\cubic\metre}}
-\CustomizeMathJax{\newcommand{\squaremetrepercubicmetrenp}{\squaremetre\usk\rpcubic\metre}}
+\CustomizeMathJax{\newcommand{\squaremetrepercubicmetrenp}{%
+ \squaremetre\usk\rpcubic\metre%
+}}
\CustomizeMathJax{\newcommand{\katalpercubicmetre}{\katal\per\cubic\metre}}
\CustomizeMathJax{\newcommand{\katalpercubicmetrenp}{\katal\usk\rpcubic\metre}}
\CustomizeMathJax{\newcommand{\coulombpermol}{\coulomb\per\mole}}
@@ -305,8 +311,12 @@
\CustomizeMathJax{\newcommand{\amperepersquaremetrenp}{\ampere\usk\rpsquare\metre}}
\CustomizeMathJax{\newcommand{\kilogrampercubicmetre}{\kilogram\per\cubic\metre}}
\CustomizeMathJax{\newcommand{\kilogrampercubicmetrenp}{\kilogram\usk\rpcubic\metre}}
-\CustomizeMathJax{\newcommand{\squaremetrepernewtonsecond}{\squaremetre\per\newton\usk\second}}
-\CustomizeMathJax{\newcommand{\squaremetrepernewtonsecondnp}{\squaremetre\usk\reciprocal\newton\usk\reciprocal\second}}
+\CustomizeMathJax{\newcommand{\squaremetrepernewtonsecond}{%
+ \squaremetre\per\newton\usk\second%
+}}
+\CustomizeMathJax{\newcommand{\squaremetrepernewtonsecondnp}{%
+ \squaremetre\usk\reciprocal\newton\usk\reciprocal\second%
+}}
\CustomizeMathJax{\newcommand{\pascalsecond}{\pascal\usk\second}}
\CustomizeMathJax{\newcommand{\coulombpercubicmetre}{\coulomb\per\cubic\metre}}
\CustomizeMathJax{\newcommand{\coulombpercubicmetrenp}{\coulomb\usk\rpcubic\metre}}
@@ -334,11 +344,21 @@
\CustomizeMathJax{\newcommand{\coulombperkilogram}{\coulomb\per\kilogram}}
\CustomizeMathJax{\newcommand{\coulombperkilogramnp}{\coulomb\usk\reciprocal\kilogram}}
\CustomizeMathJax{\newcommand{\squaremetrepersecond}{\squaremetre\per\second}}
-\CustomizeMathJax{\newcommand{\squaremetrepersecondnp}{\squaremetre\usk\reciprocal\second}}
-\CustomizeMathJax{\newcommand{\squaremetrepersquaresecond}{\squaremetre\per\second\squared}}
-\CustomizeMathJax{\newcommand{\squaremetrepersquaresecondnp}{\squaremetre\usk\second\rpsquared}}
-\CustomizeMathJax{\newcommand{\kilogrammetrepersecond}{\kilogram\usk\metre\per\second}}
-\CustomizeMathJax{\newcommand{\kilogrammetrepersecondnp}{\kilogram\usk\metre\usk\reciprocal\second}}
+\CustomizeMathJax{\newcommand{\squaremetrepersecondnp}{%
+ \squaremetre\usk\reciprocal\second%
+}}
+\CustomizeMathJax{\newcommand{\squaremetrepersquaresecond}{%
+ \squaremetre\per\second\squared%
+}}
+\CustomizeMathJax{\newcommand{\squaremetrepersquaresecondnp}{%
+ \squaremetre\usk\second\rpsquared%
+}}
+\CustomizeMathJax{\newcommand{\kilogrammetrepersecond}{%
+ \kilogram\usk\metre\per\second%
+}}
+\CustomizeMathJax{\newcommand{\kilogrammetrepersecondnp}{%
+ \kilogram\usk\metre\usk\reciprocal\second%
+}}
\CustomizeMathJax{\newcommand{\candelapersquaremetre}{\candela\per\squaremetre}}
\CustomizeMathJax{\newcommand{\candelapersquaremetrenp}{\candela\usk\rpsquare\metre}}
\CustomizeMathJax{\newcommand{\amperepermetre}{\ampere\per\metre}}
@@ -349,54 +369,93 @@
\CustomizeMathJax{\newcommand{\henrypermetrenp}{\henry\usk\reciprocal\metre}}
\CustomizeMathJax{\newcommand{\kilogrampersecond}{\kilogram\per\second}}
\CustomizeMathJax{\newcommand{\kilogrampersecondnp}{\kilogram\usk\reciprocal\second}}
-\CustomizeMathJax{\newcommand{\kilogrampersquaremetresecond}{\kilogram\per\squaremetre\usk\second}}
-\CustomizeMathJax{\newcommand{\kilogrampersquaremetresecondnp}{\kilogram\usk\rpsquare\metre\usk\reciprocal\second}}
+\CustomizeMathJax{\newcommand{\kilogrampersquaremetresecond}{%
+ \kilogram\per\squaremetre\usk\second%
+}}
+\CustomizeMathJax{\newcommand{\kilogrampersquaremetresecondnp}{%
+ \kilogram\usk\rpsquare\metre\usk\reciprocal\second%
+}}
\CustomizeMathJax{\newcommand{\kilogrampersquaremetre}{\kilogram\per\squaremetre}}
\CustomizeMathJax{\newcommand{\kilogrampersquaremetrenp}{\kilogram\usk\rpsquare\metre}}
\CustomizeMathJax{\newcommand{\kilogrampermetre}{\kilogram\per\metre}}
\CustomizeMathJax{\newcommand{\kilogrampermetrenp}{\kilogram\usk\reciprocal\metre}}
\CustomizeMathJax{\newcommand{\joulepermolekelvin}{\joule\per\mole\usk\kelvin}}
-\CustomizeMathJax{\newcommand{\joulepermolekelvinnp}{\joule\usk\reciprocal\mole\usk\reciprocal\kelvin}}
+\CustomizeMathJax{\newcommand{\joulepermolekelvinnp}{%
+ \joule\usk\reciprocal\mole\usk\reciprocal\kelvin%
+}}
\CustomizeMathJax{\newcommand{\kilogramperkilomole}{\kilogram\per\kilo\mole}}
-\CustomizeMathJax{\newcommand{\kilogramperkilomolenp}{\kilogram\usk\kilo\reciprocal\mole}}
+\CustomizeMathJax{\newcommand{\kilogramperkilomolenp}{%
+ \kilogram\usk\kilo\reciprocal\mole%
+}}
\CustomizeMathJax{\newcommand{\kilogramsquaremetre}{\kilogram\usk\squaremetre}}
\CustomizeMathJax{\newcommand{\kilogramsquaremetrenp}{\kilogramsquaremetre}}
-\CustomizeMathJax{\newcommand{\kilogrammetrepersquaresecond}{\kilogram\usk\metre\per\second\squared}}
-\CustomizeMathJax{\newcommand{\kilogrammetrepersquaresecondnp}{\kilogram\usk\metre\usk\second\rpsquared}}
+\CustomizeMathJax{\newcommand{\kilogrammetrepersquaresecond}{%
+ \kilogram\usk\metre\per\second\squared%
+}}
+\CustomizeMathJax{\newcommand{\kilogrammetrepersquaresecondnp}{%
+ \kilogram\usk\metre\usk\second\rpsquared%
+}}
\CustomizeMathJax{\newcommand{\newtonpersquaremetre}{\newton\per\squaremetre}}
\CustomizeMathJax{\newcommand{\newtonpersquaremetrenp}{\newton\usk\rpsquare\metre}}
\CustomizeMathJax{\newcommand{\persquaremetresecond}{1\per\squaremetre\usk\second}}
-\CustomizeMathJax{\newcommand{\persquaremetresecondnp}{\rpsquare\metre\usk\reciprocal\second}}
+\CustomizeMathJax{\newcommand{\persquaremetresecondnp}{%
+ \rpsquare\metre\usk\reciprocal\second%
+}}
\CustomizeMathJax{\newcommand{\wattperkilogram}{\watt\per\kilogram}}
\CustomizeMathJax{\newcommand{\wattperkilogramnp}{\watt\usk\reciprocal\kilogram}}
\CustomizeMathJax{\newcommand{\wattpercubicmetre}{\watt\per\cubic\metre}}
\CustomizeMathJax{\newcommand{\wattpercubicmetrenp}{\watt\usk\rpcubic\metre}}
-\CustomizeMathJax{\newcommand{\wattpersquaremetresteradian}{\watt\per\squaremetre\usk\steradian}}
-\CustomizeMathJax{\newcommand{\wattpersquaremetresteradiannp}{\watt\usk\rpsquare\metre\usk\rp\steradian}}
+\CustomizeMathJax{\newcommand{\wattpersquaremetresteradian}{%
+ \watt\per\squaremetre\usk\steradian%
+}}
+\CustomizeMathJax{\newcommand{\wattpersquaremetresteradiannp}{%
+ \watt\usk\rpsquare\metre\usk\rp\steradian%
+}}
\CustomizeMathJax{\newcommand{\jouleperkilogramkelvin}{\joule\per\kilogram\usk\kelvin}}
-\CustomizeMathJax{\newcommand{\jouleperkilogramkelvinnp}{\joule\usk\reciprocal\kilogram\usk\reciprocal\kelvin}}
+\CustomizeMathJax{\newcommand{\jouleperkilogramkelvinnp}{%
+ \joule\usk\reciprocal\kilogram\usk\reciprocal\kelvin%
+}}
\CustomizeMathJax{\newcommand{\squaremetreperkilogram}{\squaremetre\per\kilogram}}
-\CustomizeMathJax{\newcommand{\rpsquaremetreperkilogram}{\squaremetre\usk\reciprocal\kilogram}}
+\CustomizeMathJax{\newcommand{\rpsquaremetreperkilogram}{%
+ \squaremetre\usk\reciprocal\kilogram%
+}}
\CustomizeMathJax{\newcommand{\cubicmetreperkilogram}{\cubic\metre\per\kilogram}}
-\CustomizeMathJax{\newcommand{\rpcubicmetreperkilogram}{\cubic\metre\usk\reciprocal\kilogram}}
+\CustomizeMathJax{\newcommand{\rpcubicmetreperkilogram}{%
+ \cubic\metre\usk\reciprocal\kilogram%
+}}
\CustomizeMathJax{\newcommand{\newtonpermetre}{\newton\per\metre}}
\CustomizeMathJax{\newcommand{\newtonpermetrenp}{\newton\usk\reciprocal\metre}}
\CustomizeMathJax{\newcommand{\Celsius}{\unicode{x2103}}}
\CustomizeMathJax{\newcommand{\wattpermetrekelvin}{\watt\per\metre\usk\kelvin}}
-\CustomizeMathJax{\newcommand{\wattpermetrekelvinnp}{\watt\usk\reciprocal\metre\usk\reciprocal\kelvin}}
-\CustomizeMathJax{\newcommand{\newtonmetre}{\newton\usk\metre} \CustomizeMathJax{\newcommand{\newtonmetrenp}{\newtonmetre}}}
-\CustomizeMathJax{\newcommand{\squaremetrepercubicsecond}{\squaremetre\per\cubic\second}}
-\CustomizeMathJax{\newcommand{\squaremetrepercubicsecondnp}{\squaremetre\usk\rpcubic\second}}
+\CustomizeMathJax{\newcommand{\wattpermetrekelvinnp}{%
+ \watt\usk\reciprocal\metre\usk\reciprocal\kelvin%
+}}
+\CustomizeMathJax{\newcommand{\newtonmetre}{\newton\usk\metre}
+\CustomizeMathJax{\newcommand{\newtonmetrenp}{\newtonmetre}}}
+\CustomizeMathJax{\newcommand{\squaremetrepercubicsecond}{%
+ \squaremetre\per\cubic\second%
+}}
+\CustomizeMathJax{\newcommand{\squaremetrepercubicsecondnp}{%
+ \squaremetre\usk\rpcubic\second%
+}}
\CustomizeMathJax{\newcommand{\metrepersecond}{\metre\per\second}}
\CustomizeMathJax{\newcommand{\metrepersecondnp}{\metre\usk\reciprocal\second}}
\CustomizeMathJax{\newcommand{\joulepercubicmetre}{\joule\per\cubicmetre}}
\CustomizeMathJax{\newcommand{\joulepercubicmetrenp}{\joule\usk\rpcubic\metre}}
-\CustomizeMathJax{\newcommand{\kilogrampercubicmetrecoulomb}{\kilogram\per\cubic\metre\usk\coulomb}}
-\CustomizeMathJax{\newcommand{\kilogrampercubicmetrecoulombnp}{\kilogram\usk\rpcubic\metre\usk\reciprocal\coulomb}}
+\CustomizeMathJax{\newcommand{\kilogrampercubicmetrecoulomb}{%
+ \kilogram\per\cubic\metre\usk\coulomb%
+}}
+\CustomizeMathJax{\newcommand{\kilogrampercubicmetrecoulombnp}{%
+ \kilogram\usk\rpcubic\metre\usk\reciprocal\coulomb%
+}}
\CustomizeMathJax{\newcommand{\cubicmetrepersecond}{\cubicmetre\per\second}}
\CustomizeMathJax{\newcommand{\rpcubicmetrepersecond}{\cubicmetre\usk\reciprocal\second}}
-\CustomizeMathJax{\newcommand{\kilogrampersecondcubicmetre}{\kilogram\per\second\usk\cubicmetre}}
-\CustomizeMathJax{\newcommand{\kilogrampersecondcubicmetrenp}{\kilogram\usk\reciprocal\second\usk\rpcubic\metre}}
+\CustomizeMathJax{\newcommand{\kilogrampersecondcubicmetre}{%
+ \kilogram\per\second\usk\cubicmetre%
+}}
+\CustomizeMathJax{\newcommand{\kilogrampersecondcubicmetrenp}{%
+ \kilogram\usk\reciprocal\second\usk\rpcubic\metre%
+}}
\end{warpMathJax}
\endinput
%%
Modified: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-abstract.sty
===================================================================
--- branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-abstract.sty 2021-02-18 22:18:09 UTC (rev 57790)
+++ branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-abstract.sty 2021-02-18 22:20:50 UTC (rev 57791)
@@ -32,32 +32,24 @@
\InlineClass{abstractrunintitle}{\abstractname}%
\@bslabeldelim}%
}
-
\@ifclassloaded{memoir}
{
\renewenvironment{abstract}{%
- \null\vfil
- \@beginparpenalty\@lowpenalty
+ \setup at bstract
\if at bsrunin
\else
- \if at bsstyle
- \abstitlestyle{\BlockClassSingle{abstracttitle}{\abstractname}}
- \else
\ifnumber at bs
\num at bs
\else
\begin{\absnamepos}%
\abstractnamefont \BlockClassSingle{abstracttitle}{\abstractname}
- \@endparpenalty\@M
\end\absnamepos%
-%% \vspace{\abstitleskip}%
+ \vspace{\abstitleskip}%
\fi
- \fi
- \vspace{\abstitleskip}%
\fi
\put at bsintoc%
\begin{@bstr at ctlist}\if at bsrunin\@bsrunintitle\fi\abstracttextfont}%
- {\par\end{@bstr at ctlist}\vfil\null%\endtitlepage
+ {\par\end{@bstr at ctlist}%\vfil\null%\endtitlepage
}
}{% not memoir
\if at titlepage
Added: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-accents.sty
===================================================================
--- branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-accents.sty (rev 0)
+++ branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-accents.sty 2021-02-18 22:20:50 UTC (rev 57791)
@@ -0,0 +1,70 @@
+%%
+%% This is file `lwarp-accents.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx (with options: `accents')
+%% This is a generated file.
+%% Copyright 2016-2020 Brian Dunn
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+\LWR at ProvidesPackagePass{accents}[2006/05/12]
+\begin{warpMathJax}
+\LWR at infoprocessingmathjax{accents}
+
+\CustomizeMathJax{\newcommand{\ring}[1]{\mathring{#1}}}
+\CustomizeMathJax{\newcommand{\accentset}[2]{\overset{#1{}}{#2}}}
+\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}
+\endinput
+%%
+%% End of file `lwarp-accents.sty'.
Property changes on: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-accents.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-accessibility.sty
===================================================================
--- branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-accessibility.sty 2021-02-18 22:18:09 UTC (rev 57790)
+++ branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-accessibility.sty 2021-02-18 22:20:50 UTC (rev 57791)
@@ -17,7 +17,7 @@
%% version 2005/12/01 or later.
\LWR at ProvidesPackageDrop{accessibility}[2019/10/14]
\newcommand{\alt}[1]{\ThisAltText{#1}}
-\newcommand{\newhref}[3]{\ThisAltText{#2}\href{#1}{#3}}%
+\newcommand{\newhref}[3]{\ThisAltText{#2}\LWR at href{#1}{#3}}%
\providecommand{\thead}[1]{\textbf{#1}}
\begin{warpMathJax}
\CustomizeMathJax{\newcommand{\alt}[1]{}}
Modified: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-acro.sty
===================================================================
--- branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-acro.sty 2021-02-18 22:18:09 UTC (rev 57790)
+++ branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-acro.sty 2021-02-18 22:20:50 UTC (rev 57791)
@@ -30,8 +30,14 @@
\catcode`\$=\active% lwarp
\LWR at DeclareAcronym
}
-
\ExplSyntaxOn
+\cs_new_protected:Npn \LWR at HTML@acro_dot_fill: {\dots\space}
+\LWR at formatted{acro_dot_fill:}
+\ExplSyntaxOff
+\ExplSyntaxOn
+\@ifpackagelater{acro}{2020/04/29}%
+{}% v3 or later
+{% before v3
\@ifpackagelater{acro}{2019/09/23}%
{% v2.10 or later
\cs_gset_protected:Npn \__acro_typeset:nn #1#2
@@ -128,6 +134,7 @@
\group_end:
}
}% before v2.10
+}% before v3
\ExplSyntaxOff
\endinput
Modified: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-adjmulticol.sty
===================================================================
--- branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-adjmulticol.sty 2021-02-18 22:18:09 UTC (rev 57790)
+++ branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-adjmulticol.sty 2021-02-18 22:20:50 UTC (rev 57791)
@@ -28,8 +28,8 @@
\ifnumcomp{#2}{=}{1}{\renewcommand*{\LWR at mcolstype}{singlecolumn}}{}%
\LWR at forcenewpage%
\BlockClass[%
-\LWR at print@mbox{margin-left:\LWR at printlength{\LWR at templengthone}} ; %
-\LWR at print@mbox{margin-right:\LWR at printlength{\LWR at templengthtwo}}%
+ \LWR at print@mbox{margin-left:\LWR at printlength{\LWR at templengthone}} ; %
+ \LWR at print@mbox{margin-right:\LWR at printlength{\LWR at templengthtwo}}%
]{\LWR at mcolstype}%
}
{\endBlockClass}
Modified: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-afterpage.sty
===================================================================
--- branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-afterpage.sty 2021-02-18 22:18:09 UTC (rev 57790)
+++ branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-afterpage.sty 2021-02-18 22:20:50 UTC (rev 57791)
@@ -17,8 +17,6 @@
%% version 2005/12/01 or later.
\LWR at ProvidesPackageDrop{afterpage}[2014/10/28]
\newcommand{\afterpage}[1]{#1}
-\LWR at ProvidesPackageDrop{afterpage}[2014/10/28]
-\newcommand{\afterpage}[1]{#1}
\endinput
%%
%% End of file `lwarp-afterpage.sty'.
Modified: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-algorithm2e.sty
===================================================================
--- branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-algorithm2e.sty 2021-02-18 22:18:09 UTC (rev 57790)
+++ branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-algorithm2e.sty 2021-02-18 22:20:50 UTC (rev 57791)
@@ -127,31 +127,31 @@
\renewcommand{\ResetInOut}[1]{}%
\renewcommand{\algocf at Vline}[1]{%
-\boolfalse{LWR at algocf@dopars}%
-\begin{BlockClass}{alg2evline}
-\booltrue{LWR at algocf@dopars}%
-#1
-\boolfalse{LWR at algocf@dopars}%
-\end{BlockClass}
-\booltrue{LWR at algocf@dopars}%
+ \boolfalse{LWR at algocf@dopars}%
+ \begin{BlockClass}{alg2evline}
+ \booltrue{LWR at algocf@dopars}%
+ #1
+ \boolfalse{LWR at algocf@dopars}%
+ \end{BlockClass}
+ \booltrue{LWR at algocf@dopars}%
}
\renewcommand{\algocf at Vsline}[1]{%
-\boolfalse{LWR at algocf@dopars}%
-\begin{BlockClass}{alg2evsline}
-\booltrue{LWR at algocf@dopars}%
-#1
-\boolfalse{LWR at algocf@dopars}%
-\end{BlockClass}
-\booltrue{LWR at algocf@dopars}%
+ \boolfalse{LWR at algocf@dopars}%
+ \begin{BlockClass}{alg2evsline}
+ \booltrue{LWR at algocf@dopars}%
+ #1
+ \boolfalse{LWR at algocf@dopars}%
+ \end{BlockClass}
+ \booltrue{LWR at algocf@dopars}%
}
\renewcommand{\algocf at Noline}[1]{%
-\boolfalse{LWR at algocf@dopars}%
-\begin{BlockClass}{alg2enoline}
-\booltrue{LWR at algocf@dopars}%
-#1
-\boolfalse{LWR at algocf@dopars}%
-\end{BlockClass}
-\booltrue{LWR at algocf@dopars}%
+ \boolfalse{LWR at algocf@dopars}%
+ \begin{BlockClass}{alg2enoline}
+ \booltrue{LWR at algocf@dopars}%
+ #1
+ \boolfalse{LWR at algocf@dopars}%
+ \end{BlockClass}
+ \booltrue{LWR at algocf@dopars}%
}
\LetLtxMacro\algocf at Here\algocf
\LetLtxMacro\endalgocf at Here\endalgocf
Modified: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-algorithmicx.sty
===================================================================
--- branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-algorithmicx.sty 2021-02-18 22:18:09 UTC (rev 57790)
+++ branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-algorithmicx.sty 2021-02-18 22:20:50 UTC (rev 57791)
@@ -16,14 +16,14 @@
%% and version 1.3 or later is part of all distributions of LaTeX
%% version 2005/12/01 or later.
\LWR at ProvidesPackagePass{algorithmicx}[2005/04/27]
-\begin{warpHTML}
-
\AtBeginEnvironment{algorithmic}{%
\let\origALG at doentity\ALG at doentity%
\renewcommand*{\ALG at doentity}{%
\origALG at doentity%
\LWR at htmltagc{%
-span style="width:\LWR at printlength{\ALG at thistlm}; display:inline-block;"%
+ span style=\textquotedbl{}%
+ width:\LWR at printlength{\ALG at thistlm}; display:inline-block;%
+ \textquotedbl%
}%
\ifbool{FormatWP}{%
\setlength{\LWR at templengthone}{\the\ALG at thistlm}%
@@ -46,8 +46,6 @@
\hfill\HTMLunicode{25B7} #1% white right triangle
}%
-\end{warpHTML}
-
\endinput
%%
%% End of file `lwarp-algorithmicx.sty'.
Modified: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-alltt.sty
===================================================================
--- branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-alltt.sty 2021-02-18 22:18:09 UTC (rev 57790)
+++ branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-alltt.sty 2021-02-18 22:20:50 UTC (rev 57791)
@@ -18,13 +18,24 @@
\LWR at ProvidesPackagePass{alltt}[1997/06/16]
\AfterEndPreamble{
\LWR at traceinfo{Patching alltt.}
+
\AtBeginEnvironment{alltt}{%
-\LWR at forcenewpage
-\LWR at atbeginverbatim{3}{alltt}%
+ \ifnumcomp{\value{LWR at lateximagedepth}}{>}{0}%
+ {}%
+ {%
+ \LWR at forcenewpage
+ \LWR at atbeginverbatim{alltt}%
+ }%
}
+
\AfterEndEnvironment{alltt}{%
- \LWR at afterendverbatim{2}%
+ \ifnumcomp{\value{LWR at lateximagedepth}}{>}{0}%
+ {}%
+ {%
+ \LWR at afterendverbatim%
+ }%
}
+
}
\endinput
%%
Added: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-amscdx.sty
===================================================================
--- branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-amscdx.sty (rev 0)
+++ branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-amscdx.sty 2021-02-18 22:20:50 UTC (rev 57791)
@@ -0,0 +1,34 @@
+%%
+%% This is file `lwarp-amscdx.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx (with options: `amscdx')
+%% This is a generated file.
+%% Copyright 2016-2020 Brian Dunn
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+\LWR at ProvidesPackagePass{amscdx}[2019/07/02]
+\begin{warpMathJax}
+\CustomizeMathJax{%
+ \renewenvironment{CD}
+ {\text{(Use \unicode{x005C}displaymathother before the CD enviroment.) \quad}}
+ {\quad \text{(Use \unicode{x005C}displaymathnormal after the CD enviroment.)}}
+}
+
+\CustomizeMathJax{\newcommand{\CDfattrue}{}}
+\CustomizeMathJax{\newcommand{\CDfatfalse}{}}
+\CustomizeMathJax{\newcommand{\CDashtrue}{}}
+\CustomizeMathJax{\newcommand{\CDashfalse}{}}
+\CustomizeMathJax{\newcommand{\CDlor}[1]{}}
+\end{warpMathJax}
+\endinput
+%%
+%% End of file `lwarp-amscdx.sty'.
Property changes on: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-amscdx.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-amsmath.sty
===================================================================
--- branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-amsmath.sty 2021-02-18 22:18:09 UTC (rev 57790)
+++ branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-amsmath.sty 2021-02-18 22:20:50 UTC (rev 57791)
@@ -16,6 +16,8 @@
%% and version 1.3 or later is part of all distributions of LaTeX
%% version 2005/12/01 or later.
\LWR at ProvidesPackagePass{amsmath}[2017/09/02]
+\newcommand*{\LWR at HTML@dotso}{\textellipsis\ }
+\LWR at formatted{dotso}
\def\maketag@@@#1{\text{#1}}
\def\tagform@#1{\maketag@@@{(\ignorespaces#1\unskip)}}
@@ -45,7 +47,7 @@
}
\LWR at newautoidanchor%
\booltrue{LWR at indisplaymathimage}%
- \begin{lateximage}[\LWR at amsmathbodynumbered{#1}]*
+ \begin{lateximage}[\LWR at amsmathbodynumbered{#2}]*%
\LWR at applyxfakebold%
}
\NewDocumentCommand{\LWR at amsmathenv@before}{s m}{%
@@ -125,8 +127,23 @@
\BeforeBeginEnvironment{alignat*}{\LWR at amsmathenv@before*{alignat*}}
\AfterEndEnvironment{alignat*}{\LWR at amsmathenv@after*{alignat*}}
+\AtBeginEnvironment{subequations}{
+ \renewcommand*{\theMathJaxsubequations}{1}
+ \renewcommand*{\theMathJaxsection}{\theparentequation}
+ \renewcommand*{\theMathJaxequation}{\arabic{equation}}
+}
\begin{warpMathJax}
\CustomizeMathJax{\newcommand{\intertext}[1]{\text{#1}\notag \\}}
+\CustomizeMathJax{\let\Hat\hat}
+\CustomizeMathJax{\let\Check\check}
+\CustomizeMathJax{\let\Tilde\tilde}
+\CustomizeMathJax{\let\Acute\acute}
+\CustomizeMathJax{\let\Grave\grave}
+\CustomizeMathJax{\let\Dot\dot}
+\CustomizeMathJax{\let\Ddot\ddot}
+\CustomizeMathJax{\let\Breve\breve}
+\CustomizeMathJax{\let\Bar\bar}
+\CustomizeMathJax{\let\Vec\vec}
\end{warpMathJax}
\endinput
%%
Modified: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-amsthm.sty
===================================================================
--- branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-amsthm.sty 2021-02-18 22:18:09 UTC (rev 57790)
+++ branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-amsthm.sty 2021-02-18 22:20:50 UTC (rev 57791)
@@ -19,17 +19,20 @@
\@ifpackageloaded{mdframed}{
\PackageError{lwarp}
- {Package mdframed must be loaded after package amsthm}
{%
- Move \detokenize{\usepackage}{amsthm} before
- \detokenize{\usepackage}{mdframed}.\MessageBreak
+ Package mdframed must be loaded after package amsthm.\MessageBreak
+ Enter 'H' for solutions%
+ }
+ {%
+ Move ``\protect\usepackage{amsthm}'' before
+ ``\protect\usepackage{mdframed}''.\MessageBreak
Package amsthm may be loaded by something else,\MessageBreak
which must also be moved before mdframed.%
}
}
-{}
+{\relax}
+\RequirePackage{amsmath}
\LWR at ProvidesPackagePass{amsthm}[2017/10/31]
-
\newcommand{\LWR at newtheoremstyle}{plain}
\renewcommand{\theoremstyle}[1]{%
@@ -56,21 +59,29 @@
\else % numbered theorem, need to check for optional arg
\def\@tempa{\@oparg{\@ynthm{#2}}[]}%
\fi
- \AtBeginEnvironment{#2}{\edef\LWR at thisthmstyle{\@nameuse{LWR at thmstyle#2}}}% lwarp
+ \AtBeginEnvironment{#2}{%
+ \edef\LWR at thisthmstyle{\@nameuse{LWR at thmstyle#2}}%
+ }% lwarp
}%
\@tempa
}
\newcommand{\LWR at haveamsthmname}{
-\renewcommand{\thmname}[1]{\InlineClass{amsthmname\LWR at thisthmstyle}{##1}}
+ \renewcommand{\thmname}[1]{%
+ \InlineClass{amsthmname\LWR at thisthmstyle}{##1}%
+ }
}
\newcommand{\LWR at haveamsthmnumber}{
-\renewcommand{\thmnumber}[1]{\InlineClass{amsthmnumber\LWR at thisthmstyle}{##1}}
+ \renewcommand{\thmnumber}[1]{%
+ \InlineClass{amsthmnumber\LWR at thisthmstyle}{##1}%
+ }
}
\newcommand{\LWR at haveamsthmnote}{
-\renewcommand{\thmnote}[1]{\InlineClass{amsthmnote\LWR at thisthmstyle}{##1}}
+ \renewcommand{\thmnote}[1]{%
+ \InlineClass{amsthmnote\LWR at thisthmstyle}{##1}%
+ }
}
\LWR at haveamsthmname
@@ -77,10 +88,12 @@
\LWR at haveamsthmnumber
\LWR at haveamsthmnote
\def\@begintheorem#1#2[#3]{%
+ \GetTitleString{#3}% lwarp
+ \let\@currentlabelname\GetTitleStringResult% lwarp
\item[
- \@ifempty{#1}{\let\thmname\@gobble}{\LWR at haveamsthmname}% lwarp
- \@ifempty{#2}{\let\thmnumber\@gobble}{\LWR at haveamsthmnumber}% lwarp
- \@ifempty{#3}{\let\thmnote\@gobble}{\LWR at haveamsthmnote}% lwarp
+ \@ifempty{#1}{\let\thmname\@gobble}{\LWR at haveamsthmname}% lwarp
+ \@ifempty{#2}{\let\thmnumber\@gobble}{\LWR at haveamsthmnumber}% lwarp
+ \@ifempty{#3}{\let\thmnote\@gobble}{\LWR at haveamsthmnote}% lwarp
\thm at swap\swappedhead\thmhead{#1}{#2}{#3}%
\the\thm at headpunct~
\thmheadnl % possibly a newline.
@@ -90,8 +103,8 @@
\def\@thm#1#2#3{%
\ifhmode\unskip\unskip\par\fi
\normalfont
- \LWR at forcenewpage% lwarp
- \BlockClass{amsthmbody\LWR at thisthmstyle}% lwarp
+ \LWR at forcenewpage% lwarp
+ \BlockClass{amsthmbody\LWR at thisthmstyle}% lwarp
\trivlist
\let\thmheadnl\relax
\let\thm at swap\@gobble
@@ -114,8 +127,8 @@
\def\cref at thmoptarg[#1]#2#3#4{%
\ifhmode\unskip\unskip\par\fi%
\normalfont%
- \LWR at forcenewpage% lwarp
- \BlockClass{amsthmbody\LWR at thisthmstyle}% lwarp
+ \LWR at forcenewpage% lwarp
+ \BlockClass{amsthmbody\LWR at thisthmstyle}% lwarp
\trivlist%
\let\thmheadnl\relax%
\let\thm at swap\@gobble%
@@ -148,9 +161,9 @@
\def\Box{\text{\HTMLunicode{25A1}}}% UTF-8 white box
\appto\LWR at restoreorigformatting{%
-\LetLtxMacro\openbox\LWR at orig@openbox%
-\LetLtxMacro\blacksquare\LWR at orig@blacksquare%
-\LetLtxMacro\Box\LWR at orig@Box%
+ \LetLtxMacro\openbox\LWR at orig@openbox%
+ \LetLtxMacro\blacksquare\LWR at orig@blacksquare%
+ \LetLtxMacro\Box\LWR at orig@Box%
}% appto
}{}% @ifundefined
}% AtBeginDocument
Modified: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-atbegshi.sty
===================================================================
--- branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-atbegshi.sty 2021-02-18 22:18:09 UTC (rev 57790)
+++ branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-atbegshi.sty 2021-02-18 22:20:50 UTC (rev 57791)
@@ -16,6 +16,17 @@
%% and version 1.3 or later is part of all distributions of LaTeX
%% version 2005/12/01 or later.
\LWR at ProvidesPackageDrop{atbegshi}[2011/10/05]
+\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]{}
@@ -30,7 +41,6 @@
\def\AtBeginShipoutBoxWidth{0pt}
\def\AtBeginShipoutBoxHeight{0pt}
\def\AtBeginShipoutBoxDepth{0pt}
-
\endinput
%%
%% End of file `lwarp-atbegshi.sty'.
Modified: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-attachfile.sty
===================================================================
--- branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-attachfile.sty 2021-02-18 22:18:09 UTC (rev 57790)
+++ branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-attachfile.sty 2021-02-18 22:20:50 UTC (rev 57791)
@@ -47,7 +47,7 @@
\def\LWR at attachfile@appearance{#1}%
}
\DeclareRobustCommand{\atfi at insert@file at annot}[1]{%
- \href{#1}{\LWR at attachfile@appearance}%
+ \LWR at href{#1}{\LWR at attachfile@appearance}%
}
\endinput
Modified: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-attachfile2.sty
===================================================================
--- branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-attachfile2.sty 2021-02-18 22:18:09 UTC (rev 57790)
+++ branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-attachfile2.sty 2021-02-18 22:20:50 UTC (rev 57791)
@@ -59,7 +59,7 @@
\def\LWR at attachfile@appearance{#1}%
}
\DeclareRobustCommand{\atfi at insert@file at annot}[1]{%
- \href{#1}{\LWR at attachfile@appearance}%
+ \LWR at href{#1}{\LWR at attachfile@appearance}%
}
\DeclareRobustCommand{\notextattachfile}[2][]{%
\begingroup
Modified: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-authblk.sty
===================================================================
--- branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-authblk.sty 2021-02-18 22:18:09 UTC (rev 57790)
+++ branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-authblk.sty 2021-02-18 22:20:50 UTC (rev 57791)
@@ -16,11 +16,14 @@
%% and version 1.3 or later is part of all distributions of LaTeX
%% version 2005/12/01 or later.
\@ifpackageloaded{titling}{
-\PackageError{lwarp-authblk}
-{Package authblk must be loaded before titling}
-{Titling appends authblk's author macro, so authblk must be loaded first.}
+ \PackageError{lwarp-authblk}
+ {Package authblk must be loaded before titling}
+ {%
+ Titling appends authblk's author macro,
+ so authblk must be loaded first.%
+ }
}
-{}
+{\relax}
\LWR at ProvidesPackagePass{authblk}[2001/02/27]
\LetLtxMacro\LWRAB at affil\affil
Modified: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-backnaur.sty
===================================================================
--- branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-backnaur.sty 2021-02-18 22:18:09 UTC (rev 57790)
+++ branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-backnaur.sty 2021-02-18 22:20:50 UTC (rev 57791)
@@ -18,6 +18,38 @@
\LWR at ProvidesPackagePass{backnaur}[2019/06/18]
\renewenvironment{bnf}{\eqnarray}{\endeqnarray}
\renewenvironment{bnf*}{\csuse{eqnarray*}}{\csuse{endeqnarray*}}
+\begin{warpMathJax}
+\CustomizeMathJax{\newcommand{\bnfpn}[1]{\langle \text{\textrm{#1}} \rangle}}
+\CustomizeMathJax{\newcommand{\bnfor}{\; \mid \;}}
+\CustomizeMathJax{\newcommand{\bnfsp}{\;}}
+\@ifpackagewith{backnaur}{perp}{
+ \CustomizeMathJax{\newcommand{\bnfes}{\perp}}
+}{
+ \@ifpackagewith{backnaur}{epsilon}{
+ \CustomizeMathJax{\newcommand{\bnfes}{\epsilon}}
+ }{
+ \CustomizeMathJax{\newcommand{\bnfes}{\lambda}}
+ }
+}
+\@ifpackagewith{backnaur}{tsrm}{
+ \CustomizeMathJax{\newcommand{\bnfts}[1]{\text{#1}}}
+}{
+ \CustomizeMathJax{\newcommand{\bnfts}[1]{\text{\texttt{#1}}}}
+}
+\CustomizeMathJax{\newcommand{\bnftd}[1]{\text{\textit{#1}}}}
+\CustomizeMathJax{\newcommand{\bnfsk}{\dots}}
+\@ifpackagewith{backnaur}{altpo}{
+ \CustomizeMathJax{\newcommand{\bnfpo}{::=}}
+}{
+ \CustomizeMathJax{\newcommand{\bnfpo}{\models}}
+}
+\CustomizeMathJax{\newcommand{\bnfprod}{\ifstar{\LWRbnfprodnn}{\LWRbnfprodyn}}}
+\CustomizeMathJax{\newcommand{\LWRbnfprodyn}[2]{\bnfpn{#1} & \bnfpo & #2}}
+\CustomizeMathJax{\newcommand{\LWRbnfprodnn}[2]{\nonumber \bnfpn{#1} & \bnfpo & #2}}
+\CustomizeMathJax{\newcommand{\bnfmore}{\ifstar{\LWRbnfmorenn}{\LWRbnfmoreyn}}}
+\CustomizeMathJax{\newcommand{\LWRbnfmoreyn}[1]{ & & #1}}
+\CustomizeMathJax{\newcommand{\LWRbnfmorenn}[1]{\nonumber & & #1}}
+\end{warpMathJax}
\endinput
%%
%% End of file `lwarp-backnaur.sty'.
Modified: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-backref.sty
===================================================================
--- branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-backref.sty 2021-02-18 22:18:09 UTC (rev 57790)
+++ branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-backref.sty 2021-02-18 22:20:50 UTC (rev 57791)
@@ -18,8 +18,14 @@
\LWR at ProvidesPackagePass{backref}[2016/05/21]
-\def\backref{}\let\backrefxxx\hyper at section@backref
+\def\backref{}
+\long\def\hyper at section@backref#1#2#3{%
+ \ref{#3}%
+}
+
+\let\backrefxxx\hyper at section@backref
+
\endinput
%%
%% End of file `lwarp-backref.sty'.
Modified: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-biblatex.sty
===================================================================
--- branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-biblatex.sty 2021-02-18 22:18:09 UTC (rev 57790)
+++ branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-biblatex.sty 2021-02-18 22:20:50 UTC (rev 57791)
@@ -18,6 +18,8 @@
\ifdef{\newfloat at addtocontents@ORI}{
\let\addtocontents\newfloat at addtocontents@ORI
}{}
+\AtBeginDocument{\RequirePackage{hyperref}}
+
\LWR at ProvidesPackagePass{biblatex}[2018/03/04]
\AfterPreamble{
@@ -27,6 +29,7 @@
{}
{\listxadd\blx at anchors{\the\c at refsection @\abx at field@entrykey}%
\hypertarget{cite.\the\c at refsection @\abx at field@entrykey}{}}}
+
\protected\def\blx at imc@bibhyperref{%
\@ifnextchar[%]
{\blx at bibhyperref}
@@ -51,7 +54,115 @@
}
\let\blx at imc@ifhyperref\@firstoftwo
-}
+\DeclareListFormat{pageref}{%
+ \ifnumless{\abx at pagerefstyle}{0}
+ {\usebibmacro{list:plain}%
+ \ifhyperref
+ {%
+ \ref{\BaseJobname-autopage-#1}% lwarp
+ }
+ {#1}}
+ {\ifnumequal{\value{listcount}}{1}
+ {\usebibmacro{pageref:init}}
+ {}%
+ \usebibmacro{pageref:comp}{#1}%
+ \ifnumequal{\value{listcount}}{\value{liststop}}
+ {\usebibmacro{pageref:dump}}
+ {}}}
+
+\renewbibmacro*{pageref:comp}[1]{%
+ \numdef\abx at range@prev{\abx at range@prev+1}%
+ \ifinteger{#1}
+ {\def\abx at range@num{#1}%
+ \def\abx at range@this{1}%
+ \ifnumequal{\abx at range@this}{\abx at range@last}
+ {}
+ {\def\abx at range@prev{-1}}}
+ {\ifrmnum{#1}
+ {\numdef\abx at range@num{\rmntonum{#1}}%
+ \def\abx at range@this{2}%
+ \ifnumequal{\abx at range@this}{\abx at range@last}
+ {}
+ {\def\abx at range@prev{-1}}}
+ {\undef\abx at range@num
+ \def\abx at range@this{0}%
+ \def\abx at range@prev{-1}}}%
+ \ifdef\abx at range@num
+ {\ifnumequal{\abx at range@num}{\abx at range@prev}
+ {\def\abx at range@hold{#1}%
+ \numdef\abx at range@diff{\abx at range@diff+1}}
+ {\usebibmacro{pageref:dump}%
+ \ifnumgreater{\abx at range@last}{-1}
+ {\printdelim{multilistdelim}}
+ {}%
+ \ifhyperref
+ {\ref{\BaseJobname-autopage-#1}}% lwarp
+ {#1}}%
+ \edef\abx at range@prev{\abx at range@num}}
+ {\usebibmacro{pageref:dump}%
+ \ifnumgreater{\abx at range@last}{-1}
+ {\printdelim{multilistdelim}}
+ {}%
+ \ifhyperref
+ {\ref{\BaseJobname-autopage-#1}}% lwarp
+ {#1}%
+ \def\abx at range@prev{-1}}%
+ \edef\abx at range@last{\abx at range@this}}
+
+\renewbibmacro*{pageref:dump}{%
+ \ifnumgreater{\abx at range@diff}{0}
+ {\ifcase\abx at pagerefstyle\relax % two
+ \bibrangedash
+ \ifhyperref
+ {\ref{\BaseJobname-autopage-\abx at range@hold}}% lwarp
+ {\abx at range@hold}%
+ \or % three
+ \ifnumless{\abx at range@diff}{2}
+ {\printdelim{multilistdelim}}
+ {\bibrangedash}%
+ \ifhyperref
+ {\ref{\BaseJobname-autopage-\abx at range@hold}}% lwarp
+ {\abx at range@hold}%
+ \or % two+
+ \ifnumless{\abx at range@diff}{2}
+ {\sqspace
+ \ifhyperref
+ {\ref{\BaseJobname-autopage-\abx at range@hold}}% lwarp
+ {\bibstring{sequens}}}
+ {\bibrangedash
+ \ifhyperref
+ {\ref{\BaseJobname-autopage-\abx at range@hold}}% lwarp
+ {\abx at range@hold}}%
+ \or % three+
+ \ifnumless{\abx at range@diff}{2}
+ {\sqspace
+ \ifhyperref
+ {\ref{\BaseJobname-autopage-\abx at range@hold}}% lwarp
+ {\bibstring{sequens}}}
+ {\ifnumless{\abx at range@diff}{3}
+ {\sqspace
+ \ifhyperref
+ {\ref{\BaseJobname-autopage-\abx at range@hold}}% lwarp
+ {\bibstring{sequentes}}}
+ {\bibrangedash
+ \ifhyperref
+ {\ref{\BaseJobname-autopage-\abx at range@hold}}% lwarp
+ {\abx at range@hold}}}%
+ \else % all+
+ \ifnumless{\abx at range@diff}{2}
+ {\sqspace
+ \ifhyperref
+ {\ref{\BaseJobname-autopage-\abx at range@hold}}% lwarp
+ {\bibstring{sequens}}}
+ {\sqspace
+ \ifhyperref
+ {\ref{\BaseJobname-autopage-\abx at range@hold}}% lwarp
+ {\bibstring{sequentes}}}%
+ \fi
+ \def\abx at range@diff{0}}
+ {}}
+
+}% \AfterPreamble
\endinput
%%
%% End of file `lwarp-biblatex.sty'.
Modified: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-booktabs.sty
===================================================================
--- branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-booktabs.sty 2021-02-18 22:18:09 UTC (rev 57790)
+++ branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-booktabs.sty 2021-02-18 22:20:50 UTC (rev 57791)
@@ -88,7 +88,11 @@
\CustomizeMathJax{\newcommand{\toprule}[1][]{\hline}}
\CustomizeMathJax{\let\midrule\toprule}
\CustomizeMathJax{\let\bottomrule\toprule}
-\CustomizeMathJax{\newcommand{\cmidrule}[2][]{}}% avoid (trim)
+\CustomizeMathJax{\def\LWRbooktabscmidruleparen(#1)#2{}}
+\CustomizeMathJax{\newcommand{\LWRbooktabscmidrulenoparen}[1]{}}
+\CustomizeMathJax{\newcommand{\cmidrule}[1][]{%
+ \ifnextchar(\LWRbooktabscmidruleparen\LWRbooktabscmidrulenoparen%
+}}
\CustomizeMathJax{\newcommand{\morecmidrules}{}}
\CustomizeMathJax{\newcommand{\specialrule}[3]{\hline}}
\CustomizeMathJax{\newcommand{\addlinespace}[1][]{}}
Added: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-boxedminipage.sty
===================================================================
--- branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-boxedminipage.sty (rev 0)
+++ branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-boxedminipage.sty 2021-02-18 22:20:50 UTC (rev 57791)
@@ -0,0 +1,36 @@
+%%
+%% This is file `lwarp-boxedminipage.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx (with options: `boxedminipage')
+%% This is a generated file.
+%% Copyright 2016-2020 Brian Dunn
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+
+
+\LWR at ProvidesPackagePass{boxedminipage}[2020/04/19]
+
+\newenvironment{LWR at HTML@boxedminipage}{%
+ \LWR at stoppars%
+ \begin{BlockClass}{framebox}%
+ \minipage%
+}
+{%
+ \endminipage%
+ \end{BlockClass}%
+ \LWR at startpars%
+}
+\LWR at formattedenv{boxedminipage}
+
+\endinput
+%%
+%% End of file `lwarp-boxedminipage.sty'.
Property changes on: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-boxedminipage.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-boxedminipage2e.sty
===================================================================
--- branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-boxedminipage2e.sty 2021-02-18 22:18:09 UTC (rev 57790)
+++ branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-boxedminipage2e.sty 2021-02-18 22:20:50 UTC (rev 57791)
@@ -17,20 +17,8 @@
%% version 2005/12/01 or later.
-\LWR at ProvidesPackagePass{boxedminipage2e}[2015/03/09]
+\LWR at ProvidesPackagePass{boxedminipage2e}
-\newenvironment{LWR at HTML@boxedminipage}{%
- \LWR at stoppars%
- \begin{BlockClass}{framebox}%
- \minipage%
-}
-{%
- \endminipage%
- \end{BlockClass}%
- \LWR at startpars%
-}
-\LWR at formattedenv{boxedminipage}
-
\endinput
%%
%% End of file `lwarp-boxedminipage2e.sty'.
Modified: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-braket.sty
===================================================================
--- branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-braket.sty 2021-02-18 22:18:09 UTC (rev 57790)
+++ branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-braket.sty 2021-02-18 22:20:50 UTC (rev 57791)
@@ -17,14 +17,7 @@
%% version 2005/12/01 or later.
\LWR at ProvidesPackagePass{braket}% No date is provided by the file.
\begin{warpMathJax}
-\CustomizeMathJax{\newcommand{\bra}[1]{\langle#1\vert}}
-\CustomizeMathJax{\newcommand{\Bra}[1]{\left\langle#1\right\vert}}
-\CustomizeMathJax{\newcommand{\ket}[1]{\vert#1\rangle}}
-\CustomizeMathJax{\newcommand{\Ket}[1]{\left\vert#1\right\rangle}}
-\CustomizeMathJax{\newcommand{\braket}[1]{\langle#1\rangle}}
-\CustomizeMathJax{\newcommand{\Braket}[1]{\left\langle#1\right\rangle}}
-\CustomizeMathJax{\newcommand{\set}[1]{\{#1\}}}
-\CustomizeMathJax{\newcommand{\Set}[1]{\left\{#1\right\}}}
+ \CustomizeMathJax{\require{braket}}
\end{warpMathJax}
\endinput
%%
Modified: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-breakurl.sty
===================================================================
--- branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-breakurl.sty 2021-02-18 22:18:09 UTC (rev 57790)
+++ branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-breakurl.sty 2021-02-18 22:20:50 UTC (rev 57791)
@@ -16,7 +16,7 @@
%% and version 1.3 or later is part of all distributions of LaTeX
%% version 2005/12/01 or later.
\LWR at ProvidesPackageDrop{breakurl}[2013/04/10]
-\LetLtxMacro\burl\url
+\LetLtxMacro\burl\LWR at url
\NewDocumentCommand{\LWR at burlaltb}{O{} +m m}{%
\LWR at ensuredoingapar%
Added: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-bussproofs.sty
===================================================================
--- branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-bussproofs.sty (rev 0)
+++ branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-bussproofs.sty 2021-02-18 22:20:50 UTC (rev 57791)
@@ -0,0 +1,34 @@
+%%
+%% This is file `lwarp-bussproofs.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx (with options: `bussproofs')
+%% This is a generated file.
+%% Copyright 2016-2020 Brian Dunn
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+\LWR at ProvidesPackagePass{bussproofs}% no date in file
+\ifbool{mathjax}{
+ \CustomizeMathJax{\require{bussproofs}}
+
+ \NewEnviron{LWR at HTML@prooftree}%
+ {\LWR at doequation{\BODY}{prooftree}}%
+ [\LWR at doendequation{prooftree}]
+ \LWR at formattedenv{prooftree}
+}{% SVG HTML
+ \BeforeBeginEnvironment{prooftree}{%
+ \begin{lateximage}[-bussproofs-~\PackageDiagramAltText]%
+ }
+ \AfterEndEnvironment{prooftree}{\end{lateximage}}
+}
+\endinput
+%%
+%% End of file `lwarp-bussproofs.sty'.
Property changes on: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-bussproofs.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-cancel.sty
===================================================================
--- branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-cancel.sty 2021-02-18 22:18:09 UTC (rev 57790)
+++ branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-cancel.sty 2021-02-18 22:20:50 UTC (rev 57791)
@@ -45,6 +45,11 @@
\LetLtxMacro\bcancel\cancel
\LetLtxMacro\xcancel\cancel
+\begin{warpMathJax}
+\PackageWarningNoLine{lwarp, cancel}{The MathJax v3 extension will be used}
+\CustomizeMathJax{\require{cancel}}
+\end{warpMathJax}
+
\endinput
%%
%% End of file `lwarp-cancel.sty'.
Modified: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-caption.sty
===================================================================
--- branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-caption.sty 2021-02-18 22:18:09 UTC (rev 57790)
+++ branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-caption.sty 2021-02-18 22:20:50 UTC (rev 57791)
@@ -19,117 +19,70 @@
\typeout{---}
\typeout{Packages lwarp and caption:}
\typeout{If a ``Missing \protect\begin\protect{document\protect}'' error occurs here,}
-\typeout{try using: \space \protect\usepackage\protect{caption\protect}\space\protect\captionsetup{options}}
+\typeout{try using: \space \protect\usepackage\protect{caption\protect}\space%
+ \protect\captionsetup{options}}
\typeout{instead of: \protect\usepackage[options]\protect{caption\protect}.}
\typeout{---}
-\LWR at ProvidesPackagePass{caption}[2019/09/01]
-
-\renewcommand\caption at ibox[3]{%
- \@testopt{\caption at iibox{#1}{#2}{#3}}{%
- \linewidth% lwarp
- }%
+\LWR at ProvidesPackagePass{caption}[2020/10/26]
+\long\def\caption at iibox@#1#2#3#4{%
+ \caption at iiibox{#1}{#2}{#3}%
+ []% lwarp
+ [\captionbox at hj@default]%
+ {{#4}}% lwarp
}
-\long\def\caption at iibox#1#2#3[#4]{%
- \@testopt{\caption at iiibox{#1}{#2}{#3}{#4}}\captionbox at hj@default
-}
-\long\def\caption at iiibox#1#2#3#4[#5]#6{%
+\long\def\caption at iiiibox#1#2#3#4#5[#6][#7]#8{%
\begingroup
#1*% set \caption at position
\caption at iftop{%
- \LWR at traceinfo{caption at iiibox top}%
\endgroup
- \parbox[t]{#4}{%
+ \minipagefullwidth% lwarp
+ \parbox[t]{\linewidth}{%
#1\relax
\caption at setposition t%
- {\caption#2{#3}}% lwarp
- #6% lwarp
+ {\caption#4{#5}}%
+ #8%
}%
}{%
- \LWR at traceinfo{caption at iiibox bottom}%
\endgroup
- \parbox[b]{#4}{%
+ \minipagefullwidth% lwarp
+ \parbox[b]{\linewidth}{% lwarp
#1\relax
\caption at setposition b%
- #6% lwarp
- {\caption#2{#3}}% lwarp
- }%
+ #8%
+ {\caption#4{#5}}%
+ }%
}%
-\LWR at traceinfo{caption at iiibox: done}%
}
-
-\long\def\caption@@caption#1[#2]#3{%
- \ifcaption at star
- \else
- \caption at prepareanchor{#1}{#2}%
- \memcaptioninfo{#1}{\csname the#1\endcsname}{#2}{#3}%
- \@nameuse{nag at hascaptiontrue}%
- \fi
- \par
- \caption at beginex{#1}{#2}{#3}%
- \caption at setfloatcapt{%
- \caption at boxrestore
- \if at minipage
- \@setminipage
- \fi
- \caption at normalsize
- \ifcaption at star
- \let\caption at makeanchor\@firstofone
- #3% lwarp
- \else% lwarp
- \@makecaption{\csname fnum@#1\endcsname}%
- {\ignorespaces\caption at makeanchor{#3}}%
- \fi% lwarp
- \caption at if@minipage\@minipagetrue\@minipagefalse}%
- \caption at end%
+\long\def\caption at makecaption#1#2{%
+ \caption@@make{#1}{#2}%
}
-\renewcommand\caption@@@make[2]{%
-\LWR at traceinfo{caption@@@make}%
- \caption at ifempty{#2}{%
- \let\caption at lsep\@empty
- \let\caption at tfmt\@firstofone
- }%
- \caption at applyfont
- {\ifcaption at star\else
- \begingroup
- \captionlabelfont
- #1%
- \endgroup
- \fi}%
- {\ifcaption at star\else
- \begingroup
- \caption at iflf\captionlabelfont
- \relax
- \caption at lsep
- \endgroup
- \fi}%
- {{%
- \captiontextfont
- \caption at tfmt{#2}%
- }}%
-\LWR at traceinfo{caption@@@make done}%
+\AtBeginDocument{
+ \let\@makecaption\caption at makecaption
}
-\renewcommand{\caption@@make@}[2]{%
- \caption at stepthecounter
- \caption at beginhook
- \caption@@@make{#1}{#2}%
- \caption at endhook
-}
+\AtBeginDocument{
+\xapptocmd{\@xfloat}
+ {\LWR at futurenonspacelet\LWR at mynexttoken\LWR at floatalignment}
+ {}
+ {\LWR at patcherror{caption}{@xfloat}}
-\long\def\caption at makecaption#1#2{%
- \caption@@make{#1}{#2}%
+\xapptocmd{\@xdblfloat}
+ {\LWR at futurenonspacelet\LWR at mynexttoken\LWR at floatalignment}
+ {}
+ {\LWR at patcherror{caption}{@xdblfloat}}
}
-\DeclareCaptionBox{parbox}{%
-#2%
+\caption at AtBeginDocument{
+\@ifpackageloaded{lwarp-scrextend}{
+ \LetLtxMacro\captionbelow\caption
+ \LetLtxMacro\captionabove\caption
+ \LetLtxMacro\captionofbelow\captionof
+ \LetLtxMacro\captionofabove\captionof
+}{}
}
-\DeclareCaptionBox{colorbox}{%
-#2%
-}
-
\endinput
%%
%% End of file `lwarp-caption.sty'.
Added: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-caption3.sty
===================================================================
--- branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-caption3.sty (rev 0)
+++ branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-caption3.sty 2021-02-18 22:20:50 UTC (rev 57791)
@@ -0,0 +1,97 @@
+%%
+%% This is file `lwarp-caption3.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx (with options: `caption3')
+%% This is a generated file.
+%% Copyright 2016-2020 Brian Dunn
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+
+\LWR at ProvidesPackagePass{caption3}[2020/10/21]
+\@ifpackagelater{caption3}{2020/08/23}{
+\renewcommand\caption@@@make[2]{%
+\LWR at traceinfo{caption@@@make}%
+ \LWR at stoppars% lwarp
+ \caption at ifempty{#2}{%
+ \caption at set{labelseparator}{none}%
+ \caption at set{textformat}{simple}%
+ }%
+ \caption at labelseparator % defines \caption at iflabelfont,
+ \caption at applyfont
+ {\ifcaption at star\else
+ \begingroup
+ \captionlabelfont
+ \LWR at isolate{#1}% lwarp
+ \endgroup
+ \fi}%
+ {\ifcaption at star\else
+ \begingroup
+ \caption at iflabelfont\captionlabelfont
+ \relax\caption at labelsep
+ \endgroup
+ \fi}%
+ {{\captiontextfont
+ \let\\\newline% lwarp
+ \caption at textstart
+ \LWR at isolate{\caption at textformat{#2}}% lwarp
+ \caption at textend}}%
+ \LWR at startpars% lwarp
+\LWR at traceinfo{caption@@@make done}%
+}
+}% later than 2020/08/23
+{% earlier than 2020/08/23
+\renewcommand\caption@@@make[2]{%
+\LWR at traceinfo{caption@@@make}%
+ \LWR at stoppars% lwarp
+ \caption at ifempty{#2}{%
+ \let\caption at lsep\@empty
+ \let\caption at tfmt\@firstofone
+ }%
+ \caption at applyfont
+ {\ifcaption at star\else
+ \begingroup
+ \captionlabelfont
+ \LWR at isolate{#1}% lwarp
+ \endgroup
+ \fi}%
+ {\ifcaption at star\else
+ \begingroup
+ \caption at iflf\captionlabelfont
+ \relax
+ \caption at lsep
+ \endgroup
+ \fi}%
+ {{%
+ \captiontextfont
+ \let\\\newline% lwarp
+ \LWR at isolate{\caption at tfmt{#2}}% lwarp
+ }}%
+ \LWR at startpars% lwarp
+\LWR at traceinfo{caption@@@make done}%
+}
+}% earlier than 2020/08/23
+\renewcommand{\caption@@make@}[2]{%
+ \caption at stepthecounter%
+ \caption at beginhook%
+ \caption@@@make{#1}{#2}%
+ \caption at endhook%
+}
+\DeclareCaptionBox{none}{#2}
+\DeclareCaptionBox{parbox}{%
+ #2%
+}
+\DeclareCaptionBox{colorbox}{%
+ #2%
+}
+\endinput
+%%
+%% End of file `lwarp-caption3.sty'.
Property changes on: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-caption3.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-centernot.sty
===================================================================
--- branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-centernot.sty 2021-02-18 22:18:09 UTC (rev 57790)
+++ branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-centernot.sty 2021-02-18 22:20:50 UTC (rev 57791)
@@ -16,8 +16,12 @@
%% and version 1.3 or later is part of all distributions of LaTeX
%% version 2005/12/01 or later.
\LWR at ProvidesPackagePass{centernot}[2016/05/16]
+\LWR at origRequirePackage{lwarp-common-mathjax-overlaysymbols}
+
\begin{warpMathJax}
-\CustomizeMathJax{\newcommand{\centernot}[1]{\not{\!#1\,}}}
+\CustomizeMathJax{\newcommand{\centernot}[1]{%
+ \LWRoverlaysymbols{\unicode{x2215}}{#1}
+}}
\end{warpMathJax}
\endinput
%%
Modified: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-changes.sty
===================================================================
--- branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-changes.sty 2021-02-18 22:18:09 UTC (rev 57790)
+++ branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-changes.sty 2021-02-18 22:20:50 UTC (rev 57791)
@@ -15,9 +15,9 @@
%% http://www.latex-project.org/lppl.txt
%% and version 1.3 or later is part of all distributions of LaTeX
%% version 2005/12/01 or later.
-\LWR at ProvidesPackagePass{changes}[2019/01/26]
+\LWR at ProvidesPackagePass{changes}[2021/02/14]
\renewcommand{\ChangesListline}[4]{%
- \IfSubStr{\Changes at loc@show}{#1}{%
+ \IfIsInList{#1}{\Changes at loc@show}{%
\LWR at startpars%
#2: #3 \qquad
\nameref{\BaseJobname-autopage-#4}%
@@ -25,112 +25,246 @@
}{}%
}
-\renewcommand{\Changes at summaryline}[4]{%
- \IfSubStr{\Changes at loc@show}{#1}{%
- \ifthenelse{\not\equal{\Changes at loc@style}{compactsummary} \or #2 > 0}%
- {%
- #3:~#2#4%
- }{}%
- }{}%
+\renewcommand{\listofchanges}[1][\@empty]{%
+\setkeys{Changes at loc}{#1}%
+\ifbool{Changes at optiondraft}%
+{%
+\IfIsInList{\Changes at loc@style}{list|summary|compactsummary}%
+{}%
+{%
+\PackageWarning{changes}{Wrong style for list of changes: '\Changes at loc@style', using 'list' instead.}%
+\def\Changes at loc@style{}%
+}%
+\IfIsEmpty{\Changes at loc@style}%
+{\def\Changes at loc@style{list}}%
+{}%
+\IfStrEq{\Changes at loc@show}{all}%
+{\def\Changes at loc@show{added|deleted|replaced|highlight|comment}}%
+{}%
+\IfIsInList{\Changes at loc@show}{added|deleted|replaced|highlight|comment}%
+{}%
+{%
+\PackageWarning{changes}{Wrong show-value for list of changes: '\Changes at loc@show', using 'all' instead.}%
+\def\Changes at loc@show{}%
+}%
+\IfIsEmpty{\Changes at loc@show}%
+{\def\Changes at loc@show{added|deleted|replaced|highlight|comment}}%
+{}%
+\IfIsEmpty{\Changes at loc@title}%
+{%
+\IfStrEq{\Changes at loc@style}{list}%
+{\def\Changes at heading{\listofchangesname}}{}%
+\IfStrEq{\Changes at loc@style}{summary}%
+{\def\Changes at heading{\summaryofchangesname}}{}%
+\IfStrEq{\Changes at loc@style}{compactsummary}%
+{\def\Changes at heading{\compactsummaryofchangesname}}{}%
+}%
+{\def\Changes at heading{\Changes at loc@title}}%
+\section*{\Changes at heading}
+\IfIsInList{\Changes at loc@style}{list}%
+{%
+\IfFileExists{\jobname.\Changes at locextension}%
+{%
+\newread\Changes at InFile%
+\openin\Changes at InFile=\jobname.\Changes at locextension%
+\loop\unless\ifeof\Changes at InFile%
+\read\Changes at InFile to \Changes at Line%
+\ifeof\Changes at InFile\else%
+\Changes at Line%
+\fi
+\repeat
+\closein\Changes at InFile%
+}{%
+\emph{\changesnoloc}%
+\PackageWarning{changes}{LaTeX rerun needed for list of changes}%
+}%
+}{}%
+\IfIsInList{\Changes at loc@style}{summary|compactsummary}%
+{%
+\IfFileExists{\jobname.\Changes at socextension}%
+{%
+\newread\Changes at InFile%
+\openin\Changes at InFile = \jobname.\Changes at socextension%
+\loop\unless\ifeof\Changes at InFile%
+\read\Changes at InFile to \Changes at Line%
+\ifeof\Changes at InFile\else%
+\expandafter\changes at chopline\Changes at Line\\%
+\textbf{%
+\IfIsColored%
+{\color{\Changes at Incolor}}%
+{}%
+\IfIsAnonymous{\Changes at Inid}%
+{%
+ \LWR at textcurrentcolor{% lwarp
+ \changesauthorname: \changesanonymousname%
+ }% lwarp
+}%
+{%
+ \LWR at textcurrentcolor{% lwarp
+\changesauthorname: \Changes at Inid%
+ }% lwarp
+\IfIsEmpty{\Changes at Inname}%
+{}%
+{ %
+ \LWR at textcurrentcolor{% lwarp
+(\Changes at Inname)%
+ }% lwarp
+}%
+}%
+}\\%
+\numdef{\Changes at InSum}{0}%
+\renewcommand*{\do}[1]{%
+\numdef{\Changes at InSum}{\Changes at InSum + \csuse{Changes at In########1}}%
+}%
+\expandafter\dopsvlist\expandafter{\Changes at loc@show}%
+\ifnumcomp{\Changes at InSum}{=}{0}%
+{%
+ \changesnochanges%
+ \par% \lwarp
+}%
+{%
+\numdef{\Changes at InCount}{0}%
+\renewcommand*{\do}[1]{%
+\numdef{\Changes at InCount}{\Changes at InCount + \csuse{Changes at In########1}}%
+\ifboolexpr{%
+not test {\IfStrEq{\Changes at loc@style}{compactsummary}} or%
+test {\ifnumgreater{\csuse{Changes at In########1}}{0}}%
+}%
+{%
+\csuse{changes########1name}~%
+\dotfill~% \lwarp
+\csuse{Changes at In########1}%
+{\\}%
+}%
+{}%
+}%
+\expandafter\dopsvlist\expandafter{\Changes at loc@show}%
+ \par% lwarp
+}%
+\fi%
+\repeat
+\closein\Changes at InFile%
+}{%
+\emph{\changesnosoc}%
+\PackageWarning{changes}{LaTeX rerun needed for summary of changes}%
+}%
+}{}%
+}{}%
}
-\xpatchcmd{\listofchanges}
- {{\changesauthorname: \changesanonymousname}}
- {{\LWR at textcurrentcolor{\changesauthorname: \changesanonymousname}}}
- {}
- {\LWR at patcherror{changes}{listofchanges A}}
+\renewcommand{\Changes at Markup@comment}[3]{%
+\IfStrEq{\Changes at optioncommentmarkup}{todo}%
+{%
+\IfIsColored%
+{\colorlet{Changes at todocolor}{authorcolor}}%
+{\colorlet{Changes at todocolor}{black}}%
+\todo[color=Changes at todocolor!10, bordercolor=Changes at todocolor, linecolor=Changes at todocolor!70, nolist]{\textbf{[\IfIsAnonymous{#2}{}{#3~}\arabic{authorcommentcount}]} #1}%
+}{}%
+\IfStrEq{\Changes at optioncommentmarkup}{margin}%
+{%
+\marginpar{%
+\IfIsColored%
+{\leavevmode\color{authorcolor}}%
+{}%
+ \LWR at textcurrentcolor{% lwarp
+\textbf{[\IfIsAnonymous{#2}{}{#3~}\arabic{Changes at commentCount#2}]:} #1%
+ }% lwarp
+}%
+}{}%
+\IfStrEq{\Changes at optioncommentmarkup}{footnote}%
+{%
+\footnote{%
+ \LWR at textcurrentcolor{% lwarp
+\textbf{[\IfIsAnonymous{#2}{}{#3~}\arabic{Changes at commentCount#2}]:} #1%
+ }% lwarp
+}%
+}{}%
+\IfStrEq{\Changes at optioncommentmarkup}{uwave}%
+{%
+{%
+\IfIsColored%
+{\color{authorcolor}}%
+{}%
+\allowbreak%
+\uwave{%
+\textbf{[\IfIsAnonymous{#2}{}{#3~}\arabic{Changes at commentCount#2}]:} #1%
+}%
+}%
+}{}%
+}
-\xpatchcmd{\listofchanges}
- {\changesauthorname: \Changes at InID}
- {\LWR at textcurrentcolor{\changesauthorname: \Changes at InID}}
- {}
- {\LWR at patcherror{changes}{listofchanges B}}
-
-\xpatchcmd{\listofchanges}
- {(\Changes at InName)}
- {\LWR at textcurrentcolor{(\Changes at InName)}}
- {}
- {\LWR at patcherror{changes}{listofchanges C}}
-
-\xpatchcmd{\listofchanges}
- {\parbox{\Changes at summary@width}}
- {}
- {}
- {\LWR at patcherror{changes}{listofchanges D}}
-
-\xpatchcmd{\Changes at Markup@comment}
- {%
- \ifthenelse{\isAnonymous{#2}}%
- {\textbf{[\arabic{Changes at commentCount#2}]:} }%
- {\textbf{[#3~\arabic{Changes at commentCount#2}]:} }%
- #1%
- }
- {%
- \LWR at textcurrentcolor{% lwarp
- \ifthenelse{\isAnonymous{#2}}%
- {\textbf{[\arabic{Changes at commentCount#2}]:} }%
- {\textbf{[#3~\arabic{Changes at commentCount#2}]:} }%
- #1%
- }% lwarp
- }
- {}
- {\LWR at patcherror{changes}{\Changes at Markup@comment A}}
-
-\xpatchcmd{\Changes at Markup@comment}
- {%
- \uwave{%
- \ifthenelse{\isAnonymous{#2}}%
- {\textbf{[\arabic{Changes at commentCount#2}]:} }%
- {\textbf{[#3~\arabic{Changes at commentCount#2}]:} }%
- #1%
- }%
- }
- {%
- \LWR at textcurrentcolor{% lwarp
- \uwave{%
- \ifthenelse{\isAnonymous{#2}}%
- {\textbf{[\arabic{Changes at commentCount#2}]:} }%
- {\textbf{[#3~\arabic{Changes at commentCount#2}]:} }%
- #1%
- }%
- }% lwarp
- }
- {}
- {\LWR at patcherror{changes}{\Changes at Markup@comment B}}
-
-\xpatchcmd{\Changes at output}
- {\Changes at Markup@author{\Changes at output@author{#2}{left}}}
- {\LWR at textcurrentcolor{\Changes at Markup@author{\Changes at output@author{#2}{left}}}}
- {}
- {\LWR at patcherror{changes}{Changes at output A}}
-
-\xpatchcmd{\Changes at output}
- {%
- \ifthenelse{\equal{#1}{added}}{\Changes at Markup@added{#3}}{}%
- \ifthenelse{\equal{#1}{deleted}}{\Changes at Markup@deleted{#4}}{}%
- \ifthenelse{\equal{#1}{replaced}}{%
- {\Changes at Markup@added{#3}}\allowbreak\Changes at Markup@deleted{#4}%
- }{}%
- \ifthenelse{\equal{#1}{highlight}}{\Changes at Markup@highlight{#3}}{}%
- }
- {%
- \LWR at textcurrentcolor{%
- \ifthenelse{\equal{#1}{added}}{\Changes at Markup@added{#3}}{}%
- \ifthenelse{\equal{#1}{deleted}}{\Changes at Markup@deleted{#4}}{}%
- \ifthenelse{\equal{#1}{replaced}}{%
- {\Changes at Markup@added{#3}}\allowbreak\Changes at Markup@deleted{#4}%
- }{}%
- \ifthenelse{\equal{#1}{highlight}}{\Changes at Markup@highlight{#3}}{}%
- }%
- }
- {}
- {\LWR at patcherror{changes}{Changes at output B}}
-
-\xpatchcmd{\Changes at output}
- {\Changes at Markup@author{\Changes at output@author{#2}{right}}}
- {\LWR at textcurrentcolor{\Changes at Markup@author{\Changes at output@author{#2}{right}}}}
- {}
- {\LWR at patcherror{changes}{Changes at output C}}
+\renewrobustcmd{\Changes at output}[7]{%
+\ifbool{Changes at optiondraft}%
+{%
+\Changes at check@author{#2}%
+\Changes at set@color{#2}%
+{%
+\IfIsInList{#1}{added|deleted|replaced|highlight}%
+{%
+\IfIsEmpty{#5}%
+{%
+\IfIsAuthorEmptyAtPosition{#2}{left}%
+{}%
+{{%
+\IfIsColored%
+{\color{authorcolor}}%
+{}%
+ \LWR at textcurrentcolor{% lwarp
+\Changes at Markup@author{\Changes at output@author{#2}{left}}%
+ }% lwarp
+}}%
+}{}%
+{%
+\IfStrEq{#1}{highlight}%
+{}{%
+\IfIsColored%
+{\color{authorcolor}}%
+{}%
+}%
+ \LWR at textcurrentcolor{% lwarp
+\IfStrEq{#1}{added}{\Changes at Markup@added{#3}}{}%
+\IfStrEq{#1}{deleted}{\Changes at Markup@deleted{#4}}{}%
+\IfStrEq{#1}{replaced}{{\Changes at Markup@added{#3}}\allowbreak\Changes at Markup@deleted{#4}}{}%
+\IfStrEq{#1}{highlight}{\Changes at Markup@highlight{#3}}{}%
+ }% lwarp
+}%
+\IfIsEmpty{#5}%
+{%
+\IfIsAuthorEmptyAtPosition{#2}{right}%
+{}%
+{{%
+\IfIsColored%
+{\color{authorcolor}}%
+{}%
+ \LWR at textcurrentcolor{% lwarp
+\Changes at Markup@author{\Changes at output@author{#2}{right}}%
+ }% lwarp
+}}%
+}{}%
+\stepcounter{Changes@#1Count#2}%
+}{}%
+\IfIsEmpty{#5}%
+{}%
+{%
+\stepcounter{Changes at commentCount#2}%
+\Changes at set@commentcount{#2}%
+\Changes at Markup@comment%
+{#5}%
+{#2}%
+{\Changes at output@author{#2}{left}\Changes at output@author{#2}{right}}%
+}%
+}%
+\IfIsEmpty{#2}%
+{\def\Changes at locid{}}%
+{\def\Changes at locid{~(#2)}}%
+\addtocontents{\Changes at locextension}{\protect\ChangesListline{#1}{#6\Changes at locid}{#7}{\thepage}}%
+}%
+{%
+\IfIsEmpty{#3}%
+{\@bsphack\@esphack}%
+{#3}%
+}%
+}
\endinput
%%
%% End of file `lwarp-changes.sty'.
Modified: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-chemgreek.sty
===================================================================
--- branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-chemgreek.sty 2021-02-18 22:18:09 UTC (rev 57790)
+++ branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-chemgreek.sty 2021-02-18 22:20:50 UTC (rev 57791)
@@ -16,7 +16,7 @@
%% and version 1.3 or later is part of all distributions of LaTeX
%% version 2005/12/01 or later.
-\LWR at ProvidesPackagePass{chemgreek}[2016/02/10]
+\LWR at ProvidesPackagePass{chemgreek}[2020/01/16]
\ExplSyntaxOn
Added: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-citeref.sty
===================================================================
--- branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-citeref.sty (rev 0)
+++ branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-citeref.sty 2021-02-18 22:20:50 UTC (rev 57791)
@@ -0,0 +1,35 @@
+%%
+%% This is file `lwarp-citeref.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx (with options: `citeref')
+%% This is a generated file.
+%% Copyright 2016-2020 Brian Dunn
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+\LWR at ProvidesPackagePass{citeref}[1999/27/05]
+\def\@cprwrite#1={\write\@auxout{\string\citepageref{#1}{\theLWR at currentautosec}}}
+
+\def\citepageref#1#2{%
+ \xdef\cpr at testa{\@nameuse{cpr at last@#1}}%letzte Zitatstelle
+ \xdef\cpr at testb{#2}% Seite dieser Zitatstelle
+ \ifx\cpr at testa\cpr at testb%
+ \relax% Konsekutive identische Seitenangaben weglassen
+ \else%
+ \@namexdef{cpr at last@#1}{#2}%
+ \@ifundefined{cpr@#1}%
+ {\@namexdef{cpr@#1}{\ref{\BaseJobname-autopage-#2}}}% lwarp
+ {\@namexdef{cpr@#1}{\@nameuse{cpr@#1}, \ref{\BaseJobname-autopage-#2}}}% lwarp
+ \fi
+ }
+\endinput
+%%
+%% End of file `lwarp-citeref.sty'.
Property changes on: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-citeref.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-cleveref.sty
===================================================================
--- branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-cleveref.sty (rev 0)
+++ branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-cleveref.sty 2021-02-18 22:20:50 UTC (rev 57791)
@@ -0,0 +1,132 @@
+%%
+%% This is file `lwarp-cleveref.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx (with options: `cleveref')
+%% This is a generated file.
+%% Copyright 2016-2020 Brian Dunn
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+\LWR at ProvidesPackagePass{cleveref}[2018/03/27]
+\def\LWR at orig@@@setcref#1#2{\cref at getlabel{#2}{\@templabel}#1{\@templabel}{}{}}%
+
+\ifdefequal{\@@setcref}{\LWR at orig@@@setcref}{% before v0.21
+ \renewcommand*{\@@setcref}[2]{#1{\ref{#2}}{}{}}
+}{
+ \ifdefequal{\@@@setcref}{\LWR at orig@@@setcref}{% as of v0.21
+ \renewcommand*{\@@@setcref}[2]{%
+ #1{\ref{#2}}{}{}}
+ }{
+ \PackageWarningNoLine{lwarp-cleveref}{
+ Unknown version of cleveref.
+ \protect\cref\space will fail.
+ }%
+ }
+}
+
+\def\LWR at orig@@@setcrefrange#1#2#3{%
+ \cref at getlabel{#2}{\@labela}%
+ \cref at getlabel{#3}{\@labelb}%
+ #1{\@labela}{\@labelb}{}{}{}{}}%
+
+\ifdefequal{\@@setcrefrange}{\LWR at orig@@@setcrefrange}{
+ \renewcommand{\@@setcrefrange}[3]{%
+ #1{\ref{#2}}{\ref{#3}}{}{}{}{}%
+ }
+}{
+ \ifdefequal{\@@@setcrefrange}{\LWR at orig@@@setcrefrange}{
+ \renewcommand{\@@@setcrefrange}[3]{%
+ #1{\ref{#2}}{\ref{#3}}{}{}{}{}%
+ }
+ }{
+ \PackageWarningNoLine{lwarp-cleveref}{
+ Unknown version of cleveref.
+ \protect\crefrange\space will fail.
+ }
+ }
+}
+
+
+\newcommand*{\cpagerefFor}{for}
+
+\def\LWR at orig@@setcpageref#1#2{% before v0.21
+ \cref at getpageref{#2}{\@temppage}#1{\@temppage}{}{}}%
+
+\def\LWR at orig@@@setcpageref#1#2{% as of v0.21
+ \cpageref at getlabel{#2}{\@temppage}#1{\@temppage}{}{}}%
+
+\ifdefequal{\@@setcpageref}{\LWR at orig@@setcpageref}{
+ \renewcommand*{\@@setcpageref}[2]{%
+ #1{\cpagerefFor\ \cref{#2}}{}{}%
+ }
+}{
+ \ifdefequal{\@@@setcpageref}{\LWR at orig@@@setcpageref}{
+ \renewcommand*{\@@@setcpageref}[2]{%
+ #1{\cpagerefFor\ \cref{#2}}{}{}%
+ }
+ }
+ {
+ \PackageWarningNoLine{lwarp-cleveref}{
+ Unknown version of cleveref.
+ \protect\cpageref\space will fail.
+ }
+ }
+}
+
+
+\def\LWR at orig@@setcpagerefrange#1#2#3{% before v0.21
+ \cref at getpageref{#2}{\@pagea}%
+ \cref at getpageref{#3}{\@pageb}%
+ #1{\@pagea}{\@pageb}{}{}{}{}}%
+
+\def\LWR at orig@@@setcpagerefrange#1#2#3{% as of v0.21
+ \cpageref at getlabel{#2}{\@pagea}%
+ \cpageref at getlabel{#3}{\@pageb}%
+ #1{\@pagea}{\@pageb}{}{}{}{}}%
+
+\ifdefequal{\@@setcpagerefrange}{\LWR at orig@@setcpagerefrange}{
+ \renewcommand*{\@@setcpagerefrange}[3]{%
+ #1{\cpagerefFor\ \cref{#2}}{\cref{#3}}{}{}{}{}%
+ }
+}{
+ \ifdefequal{\@@@setcpagerefrange}{\LWR at orig@@@setcpagerefrange}{
+ \renewcommand*{\@@@setcpagerefrange}[3]{%
+ #1{\cpagerefFor\ \cref{#2}}{\cref{#3}}{}{}{}{}%
+ }
+ }
+ {
+ \PackageWarningNoLine{lwarp-cleveref}{
+ Unknown version of cleveref.
+ \protect\cpagerefrange\space will fail.
+ }
+ }
+}
+\LWR at absorbstar{cref}
+\LWR at absorbstar{Cref}
+\LWR at absorbstar{crefrange}
+\LWR at absorbstar{Crefrange}
+\LWR at absorbstar{cpageref}
+\LWR at absorbstar{Cpageref}
+\LWR at absorbstar{cpagerefrange}
+\LWR at absorbstar{Cpagerefrange}
+\LWR at absorbstar{labelcref}
+\LWR at absorbstar{labelcpageref}
+\@ifpackageloaded{varioref}{
+ \LWR at absorbstar{vref}
+ \LWR at absorbstar{Vref}
+ \LWR at absorbstar{vrefrange}
+ \LWR at absorbstar{Vrefrange}
+ \LWR at absorbstar{fullref}
+ \LWR at absorbstar{Fullref}
+}{}% varioref
+\endinput
+%%
+%% End of file `lwarp-cleveref.sty'.
Property changes on: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-cleveref.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-cmbright.sty
===================================================================
--- branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-cmbright.sty (rev 0)
+++ branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-cmbright.sty 2021-02-18 22:20:50 UTC (rev 57791)
@@ -0,0 +1,38 @@
+%%
+%% This is file `lwarp-cmbright.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx (with options: `cmbright')
+%% This is a generated file.
+%% Copyright 2016-2020 Brian Dunn
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+\LWR at ProvidesPackagePass{cmbright}[2005/04/13]
+
+\LWR at infoprocessingmathjax{cmbright}
+\LWR at origRequirePackage{lwarp-common-mathjax-letters}
+
+\begin{warpMathJax}
+
+\@ifpackagewith{cmbright}{slantedGreek}
+{
+ \LWR at mathjax@addgreek at u@it*{}{}
+}
+{}
+
+\LWR at mathjax@addgreek at u@up*{up}{}
+
+\CustomizeMathJax{\newcommand{\mathbold}[1]{\boldsymbol{#1}}}
+
+\end{warpMathJax}
+\endinput
+%%
+%% End of file `lwarp-cmbright.sty'.
Property changes on: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-cmbright.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-colonequals.sty
===================================================================
--- branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-colonequals.sty 2021-02-18 22:18:09 UTC (rev 57790)
+++ branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-colonequals.sty 2021-02-18 22:20:50 UTC (rev 57791)
@@ -19,24 +19,24 @@
\begin{warpMathJax}
\LWR at infoprocessingmathjax{colonequals}
-\CustomizeMathJax{\newcommand{\ratio}{\unicode{x2236}}}
-\CustomizeMathJax{\newcommand{\coloncolon}{\unicode{x2237}}}
-\CustomizeMathJax{\newcommand{\colonequals}{\coloncolon=}}
-\CustomizeMathJax{\newcommand{\coloncolonequals}{\coloncolon=}}
-\CustomizeMathJax{\newcommand{\equalscolon}{=\!\ratio}}
-\CustomizeMathJax{\newcommand{\equalscoloncolon}{=\!\coloncolon}}
-\CustomizeMathJax{\newcommand{\colonminus}{\ratio-}}
-\CustomizeMathJax{\newcommand{\coloncolonminus}{\coloncolon-}}
-\CustomizeMathJax{\newcommand{\minuscolon}{-\ratio}}
-\CustomizeMathJax{\newcommand{\minuscoloncolon}{-\coloncolon}}
-\CustomizeMathJax{\newcommand{\colonapprox}{\ratio\approx}}
-\CustomizeMathJax{\newcommand{\coloncolonapprox}{\coloncolon\approx}}
-\CustomizeMathJax{\newcommand{\approxcolon}{\approx\!\ratio}}
-\CustomizeMathJax{\newcommand{\approxcoloncolon}{\approx\!\coloncolon}}
-\CustomizeMathJax{\newcommand{\colonsim}{\ratio\sim}}
-\CustomizeMathJax{\newcommand{\coloncolonsim}{\coloncolon\sim}}
-\CustomizeMathJax{\newcommand{\simcolon}{\sim\!\ratio}}
-\CustomizeMathJax{\newcommand{\simcoloncolon}{\sim\!\coloncolon}}
+\CustomizeMathJax{\newcommand{\ratio}{\mathrel{\unicode{x2236}}}}
+\CustomizeMathJax{\newcommand{\coloncolon}{\mathrel{\unicode{x2237}}}}
+\CustomizeMathJax{\newcommand{\colonequals}{\mathrel{\unicode{x2236}\!=}}}
+\CustomizeMathJax{\newcommand{\coloncolonequals}{\mathrel{\unicode{x2237}\!=}}}
+\CustomizeMathJax{\newcommand{\equalscolon}{\mathrel{=\!\unicode{x2236}}}}
+\CustomizeMathJax{\newcommand{\equalscoloncolon}{\mathrel{=\!\unicode{x2237}}}}
+\CustomizeMathJax{\newcommand{\colonminus}{\mathrel{\unicode{x2236}-}}}
+\CustomizeMathJax{\newcommand{\coloncolonminus}{\mathrel{\unicode{x2237}-}}}
+\CustomizeMathJax{\newcommand{\minuscolon}{\mathrel{-\unicode{x2236}}}}
+\CustomizeMathJax{\newcommand{\minuscoloncolon}{\mathrel{-\unicode{x2237}}}}
+\CustomizeMathJax{\newcommand{\colonapprox}{\mathrel{\unicode{x2236}\!\approx}}}
+\CustomizeMathJax{\newcommand{\coloncolonapprox}{\mathrel{\unicode{x2237}\!\approx}}}
+\CustomizeMathJax{\newcommand{\approxcolon}{\mathrel{\approx\!\unicode{x2236}}}}
+\CustomizeMathJax{\newcommand{\approxcoloncolon}{\mathrel{\approx\!\unicode{x2237}}}}
+\CustomizeMathJax{\newcommand{\colonsim}{\mathrel{\unicode{x2236}\!\sim}}}
+\CustomizeMathJax{\newcommand{\coloncolonsim}{\mathrel{\unicode{x2237}\!\sim}}}
+\CustomizeMathJax{\newcommand{\simcolon}{\mathrel{\sim\!\unicode{x2236}}}}
+\CustomizeMathJax{\newcommand{\simcoloncolon}{\mathrel{\sim\!\unicode{x2237}}}}
\end{warpMathJax}
\endinput
%%
Modified: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-colortbl.sty
===================================================================
--- branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-colortbl.sty 2021-02-18 22:18:09 UTC (rev 57790)
+++ branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-colortbl.sty 2021-02-18 22:20:50 UTC (rev 57791)
@@ -58,6 +58,12 @@
\AtBeginDocument{\LWR at expandableformatted{doublerulesepcolornexttoken}}
+\begin{warpMathJax}
+\CustomizeMathJax{\newcommand{\columncolor}[2][]{\LWRabsorbtwooptions}}
+\CustomizeMathJax{\let\rowcolor\columncolor}
+\CustomizeMathJax{\let\cellcolor\columncolor}
+\end{warpMathJax}
+
\endinput
%%
%% End of file `lwarp-colortbl.sty'.
Added: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-common-mathjax-letters.sty
===================================================================
--- branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-common-mathjax-letters.sty (rev 0)
+++ branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-common-mathjax-letters.sty 2021-02-18 22:20:50 UTC (rev 57791)
@@ -0,0 +1,330 @@
+%%
+%% This is file `lwarp-common-mathjax-letters.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx (with options: `common-mathjax-letters')
+%% This is a generated file.
+%% Copyright 2016-2020 Brian Dunn
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+\ProvidesPackage{lwarp-common-mathjax-letters}[2020/08/10]
+\begin{warpMathJax}
+
+\NewDocumentCommand{\LWR at mathjax@addletter}{s m m m m m}{
+ \IfBooleanTF{#2}%
+ {\edef\LWR at tempone{\LWRtexttitlecase{#5}}}%
+ {\edef\LWR at tempone{#5}}%
+ \xdef\LWR at customizedMathJax{%
+ \LWR at customizedMathJax%
+ \LWRbackslash(%
+ \LWRbackslash def\LWRbackslash%
+ #3% prefix
+ \LWR at tempone%name
+ #4% postfix
+ \LWRleftbrace%
+ }%
+ \IfBooleanTF{#1}{%
+ \xdef\LWR at customizedMathJax{%
+ \LWR at customizedMathJax%
+ \LWRbackslash mathit\LWRleftbrace%
+ \LWRbackslash unicode\LWRleftbrace x#6\LWRrightbrace%
+ \LWRrightbrace%
+ }%
+ }{%
+ \xdef\LWR at customizedMathJax{%
+ \LWR at customizedMathJax%
+ \LWRbackslash unicode\LWRleftbrace x#6\LWRrightbrace%
+ }%
+ }%
+ \xdef\LWR at customizedMathJax{%
+ \LWR at customizedMathJax%
+ \LWRrightbrace\LWRbackslash)\par%
+ }%
+}
+\NewDocumentCommand{\LWR at mathjax@addgreek at l@up}{s m m}{
+ \LWR at mathjax@addletter{#1}{#2}{#3}{alpha}{03B1}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{beta}{03B2}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{varbeta}{03D0}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{gamma}{03B3}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{digamma}{03DD}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{delta}{03B4}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{epsilon}{03F5}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{varepsilon}{03B5}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{zeta}{03B6}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{eta}{03B7}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{theta}{03B8}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{vartheta}{03D1}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{iota}{03B9}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{kappa}{03BA}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{varkappa}{03F0}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{lambda}{03BB}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{mu}{03BC}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{nu}{03BD}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{xi}{03BE}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{omicron}{03BF}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{pi}{03C0}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{varpi}{03D6}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{rho}{03C1}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{varrho}{03F1}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{sigma}{03C3}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{varsigma}{03C2}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{tau}{03C4}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{upsilon}{03C5}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{phi}{03D5}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{varphi}{03C6}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{chi}{03C7}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{psi}{03C8}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{omega}{03C9}
+}
+\NewDocumentCommand{\LWR at mathjax@addgreek at u@up}{s m m}{
+ \LWR at mathjax@addletter{#1}{#2}{#3}{alpha}{0391}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{beta}{0392}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{gamma}{0393}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{digamma}{03DC}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{delta}{0394}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{epsilon}{0395}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{zeta}{0396}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{eta}{0397}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{theta}{0398}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{vartheta}{03F4}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{iota}{0399}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{kappa}{039A}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{lambda}{039B}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{mu}{039C}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{nu}{039D}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{xi}{039E}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{omicron}{039F}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{pi}{03A0}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{varpi}{03D6}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{rho}{03A1}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{sigma}{03A3}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{tau}{03A4}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{upsilon}{03A5}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{phi}{03A6}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{chi}{03A7}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{psi}{03A8}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{omega}{03A9}
+}
+\NewDocumentCommand{\LWR at mathjax@addgreek at l@it}{s m m}{
+ \LWR at mathjax@addletter{#1}{#2}{#3}{alpha}{1D6FC}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{beta}{1D6FD}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{varbeta}{03D0}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{gamma}{1D6FE}
+ \LWR at mathjax@addletter*{#1}{#2}{#3}{digamma}{03DD}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{delta}{1D6FF}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{epsilon}{1D716}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{varepsilon}{1D700}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{zeta}{1D701}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{eta}{1D702}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{theta}{1D703}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{vartheta}{1D717}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{iota}{1D704}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{kappa}{1D705}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{varkappa}{1D718}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{lambda}{1D706}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{mu}{1D707}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{nu}{1D708}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{xi}{1D709}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{omicron}{1D70A}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{pi}{1D70B}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{varpi}{1D71B}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{rho}{1D70C}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{varrho}{1D71A}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{sigma}{1D70E}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{varsigma}{1D70D}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{tau}{1D70F}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{upsilon}{1D710}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{phi}{1D719}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{varphi}{1D711}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{chi}{1D712}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{psi}{1D713}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{omega}{1D714}
+}
+\NewDocumentCommand{\LWR at mathjax@addgreek at u@it}{s m m}{
+ \LWR at mathjax@addletter{#1}{#2}{#3}{alpha}{1D6E2}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{beta}{1D6E3}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{gamma}{1D6E4}
+ \LWR at mathjax@addletter*{#1}{#2}{#3}{digamma}{03DC}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{delta}{1D6E5}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{epsilon}{1D6E6}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{zeta}{1D6E7}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{eta}{1D6E8}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{theta}{1D6E9}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{vartheta}{1D6F3}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{iota}{1D6EA}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{kappa}{1D6EB}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{lambda}{1D6EC}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{mu}{1D6ED}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{nu}{1D6EE}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{xi}{1D6EF}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{omicron}{1D6F0}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{pi}{1D6F1}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{rho}{1D6F2}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{sigma}{1D6F4}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{tau}{1D6F5}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{upsilon}{1D6F6}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{phi}{1D6F7}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{chi}{1D6F8}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{psi}{1D6F9}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{omega}{1D6FA}
+}
+\NewDocumentCommand{\LWR at mathjax@addgreek at l@bfit}{s m m}{
+ \LWR at mathjax@addletter{#1}{#2}{#3}{alpha}{1D736}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{beta}{1D737}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{varbeta}{03D0}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{gamma}{1D738}
+ \LWR at mathjax@addletter*{#1}{#2}{#3}{digamma}{03DD}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{delta}{1D739}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{epsilon}{1D750}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{varepsilon}{1D73A}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{zeta}{1D73B}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{eta}{1D73C}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{theta}{1D73D}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{vartheta}{1D751}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{iota}{1D73E}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{kappa}{1D73F}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{varkappa}{1D752}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{lambda}{1D740}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{mu}{1D741}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{nu}{1D742}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{xi}{1D743}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{omicron}{1D744}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{pi}{1D745}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{varpi}{1D755}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{rho}{1D746}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{varrho}{1D754}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{sigma}{1D748}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{varsigma}{1D747}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{tau}{1D749}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{upsilon}{1D74A}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{phi}{1D753}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{varphi}{1D74B}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{chi}{1D74C}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{psi}{1D74D}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{omega}{1D74E}
+}
+\NewDocumentCommand{\LWR at mathjax@addgreek at u@bfit}{s m m}{
+ \LWR at mathjax@addletter{#1}{#2}{#3}{alpha}{1D71C}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{beta}{1D71D}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{gamma}{1D71E}
+ \LWR at mathjax@addletter*{#1}{#2}{#3}{digamma}{03DC}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{delta}{1D71F}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{epsilon}{1D720}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{zeta}{1D721}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{eta}{1D722}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{theta}{1D723}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{vartheta}{1D72D}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{iota}{1D724}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{kappa}{1D725}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{lambda}{1D726}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{mu}{1D727}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{nu}{1D728}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{xi}{1D729}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{omicron}{1D72A}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{pi}{1D72B}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{rho}{1D72C}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{sigma}{1D72E}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{tau}{1D72F}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{upsilon}{1D730}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{phi}{1D731}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{chi}{1D732}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{psi}{1D733}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{omega}{1D734}
+}
+\NewDocumentCommand{\LWR at mathjax@addgreek at u@bfup}{s m m}{
+ \LWR at mathjax@addletter{#1}{#2}{#3}{alpha}{1D6A8}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{beta}{1D6A9}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{gamma}{1D6AA}
+ \LWR at mathjax@addletter*{#1}{#2}{#3}{digamma}{03DC}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{delta}{1D6AB}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{epsilon}{1D6AC}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{zeta}{1D6AD}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{eta}{1D6AE}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{theta}{1D6AF}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{vartheta}{1D6B9}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{iota}{1D6B0}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{kappa}{1D6B1}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{lambda}{1D6B2}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{mu}{1D6B3}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{nu}{1D6B4}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{xi}{1D6B5}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{omicron}{1D6B6}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{pi}{1D6B7}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{rho}{1D6B8}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{sigma}{1D6BA}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{tau}{1D6BB}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{upsilon}{1D6BC}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{phi}{1D6BD}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{chi}{1D6BE}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{psi}{1D6BF}
+ \LWR at mathjax@addletter{#1}{#2}{#3}{omega}{1D6C0}
+}
+\NewDocumentCommand{\LWR at mathjax@addlatin at u@bfit}{m}{
+ \LWR at mathjax@addletter{\BooleanFalse}{#1}{}{A}{1D468}
+ \LWR at mathjax@addletter{\BooleanFalse}{#1}{}{B}{1D469}
+ \LWR at mathjax@addletter{\BooleanFalse}{#1}{}{C}{1D46A}
+ \LWR at mathjax@addletter{\BooleanFalse}{#1}{}{D}{1D46B}
+ \LWR at mathjax@addletter{\BooleanFalse}{#1}{}{E}{1D46C}
+ \LWR at mathjax@addletter{\BooleanFalse}{#1}{}{F}{1D46D}
+ \LWR at mathjax@addletter{\BooleanFalse}{#1}{}{G}{1D46E}
+ \LWR at mathjax@addletter{\BooleanFalse}{#1}{}{H}{1D46F}
+ \LWR at mathjax@addletter{\BooleanFalse}{#1}{}{I}{1D470}
+ \LWR at mathjax@addletter{\BooleanFalse}{#1}{}{J}{1D471}
+ \LWR at mathjax@addletter{\BooleanFalse}{#1}{}{K}{1D472}
+ \LWR at mathjax@addletter{\BooleanFalse}{#1}{}{L}{1D473}
+ \LWR at mathjax@addletter{\BooleanFalse}{#1}{}{M}{1D474}
+ \LWR at mathjax@addletter{\BooleanFalse}{#1}{}{N}{1D475}
+ \LWR at mathjax@addletter{\BooleanFalse}{#1}{}{O}{1D476}
+ \LWR at mathjax@addletter{\BooleanFalse}{#1}{}{P}{1D477}
+ \LWR at mathjax@addletter{\BooleanFalse}{#1}{}{Q}{1D478}
+ \LWR at mathjax@addletter{\BooleanFalse}{#1}{}{R}{1D479}
+ \LWR at mathjax@addletter{\BooleanFalse}{#1}{}{S}{1D47A}
+ \LWR at mathjax@addletter{\BooleanFalse}{#1}{}{T}{1D47B}
+ \LWR at mathjax@addletter{\BooleanFalse}{#1}{}{U}{1D47C}
+ \LWR at mathjax@addletter{\BooleanFalse}{#1}{}{V}{1D47D}
+ \LWR at mathjax@addletter{\BooleanFalse}{#1}{}{W}{1D47E}
+ \LWR at mathjax@addletter{\BooleanFalse}{#1}{}{X}{1D47F}
+ \LWR at mathjax@addletter{\BooleanFalse}{#1}{}{Y}{1D480}
+ \LWR at mathjax@addletter{\BooleanFalse}{#1}{}{Z}{1D481}
+}
+\NewDocumentCommand{\LWR at mathjax@addlatin at l@bfit}{m}{
+ \LWR at mathjax@addletter{\BooleanFalse}{#1}{}{a}{1D482}
+ \LWR at mathjax@addletter{\BooleanFalse}{#1}{}{b}{1D483}
+ \LWR at mathjax@addletter{\BooleanFalse}{#1}{}{c}{1D484}
+ \LWR at mathjax@addletter{\BooleanFalse}{#1}{}{d}{1D485}
+ \LWR at mathjax@addletter{\BooleanFalse}{#1}{}{e}{1D486}
+ \LWR at mathjax@addletter{\BooleanFalse}{#1}{}{f}{1D487}
+ \LWR at mathjax@addletter{\BooleanFalse}{#1}{}{g}{1D488}
+ \LWR at mathjax@addletter{\BooleanFalse}{#1}{}{h}{1D489}
+ \LWR at mathjax@addletter{\BooleanFalse}{#1}{}{i}{1D48A}
+ \LWR at mathjax@addletter{\BooleanFalse}{#1}{}{j}{1D48B}
+ \LWR at mathjax@addletter{\BooleanFalse}{#1}{}{k}{1D48C}
+ \LWR at mathjax@addletter{\BooleanFalse}{#1}{}{l}{1D48D}
+ \LWR at mathjax@addletter{\BooleanFalse}{#1}{}{m}{1D48E}
+ \LWR at mathjax@addletter{\BooleanFalse}{#1}{}{n}{1D48F}
+ \LWR at mathjax@addletter{\BooleanFalse}{#1}{}{o}{1D490}
+ \LWR at mathjax@addletter{\BooleanFalse}{#1}{}{p}{1D491}
+ \LWR at mathjax@addletter{\BooleanFalse}{#1}{}{q}{1D492}
+ \LWR at mathjax@addletter{\BooleanFalse}{#1}{}{r}{1D493}
+ \LWR at mathjax@addletter{\BooleanFalse}{#1}{}{s}{1D494}
+ \LWR at mathjax@addletter{\BooleanFalse}{#1}{}{t}{1D495}
+ \LWR at mathjax@addletter{\BooleanFalse}{#1}{}{u}{1D496}
+ \LWR at mathjax@addletter{\BooleanFalse}{#1}{}{v}{1D497}
+ \LWR at mathjax@addletter{\BooleanFalse}{#1}{}{w}{1D498}
+ \LWR at mathjax@addletter{\BooleanFalse}{#1}{}{x}{1D499}
+ \LWR at mathjax@addletter{\BooleanFalse}{#1}{}{y}{1D49A}
+ \LWR at mathjax@addletter{\BooleanFalse}{#1}{}{z}{1D49B}
+}
+\end{warpMathJax}
+
+\endinput
+%%
+%% End of file `lwarp-common-mathjax-letters.sty'.
Property changes on: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-common-mathjax-letters.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-common-mathjax-newpxtxmath.sty
===================================================================
--- branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-common-mathjax-newpxtxmath.sty (rev 0)
+++ branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-common-mathjax-newpxtxmath.sty 2021-02-18 22:20:50 UTC (rev 57791)
@@ -0,0 +1,278 @@
+%%
+%% This is file `lwarp-common-mathjax-newpxtxmath.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx (with options: `common-mathjax-newpxtxmath')
+%% This is a generated file.
+%% Copyright 2016-2020 Brian Dunn
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+\ProvidesPackage{lwarp-common-mathjax-newpxtxmath}[2020/09/20]
+\LWR at origRequirePackage{lwarp-common-mathjax-nonunicode}
+\LWR at 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\lBrack}
+\CustomizeMathJax{\let\rrbracket\rBrack}
+
+\CustomizeMathJax{\let\smlbrace\{}
+\CustomizeMathJax{\let\smrbrace\}}
+\CustomizeMathJax{\newcommand{\Perp}{\mathrel{\unicode{x02AEB}}}}
+\CustomizeMathJax{\newcommand{\nPerp}{\mathrel{\not{\!\unicode{x02AEB}}}}}
+\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{\circledslash}{\mathbin{\unicode{x2298}}}}
+\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}}\limits}}
+\CustomizeMathJax{\newcommand{\smalliiintsl}{\mathop{\unicode{x222D}}\limits}}
+\CustomizeMathJax{\newcommand{\smalliiiintsl}{\mathop{\unicode{x2A0C}}\limits}}
+\CustomizeMathJax{\newcommand{\smallointsl}{\mathop{\unicode{x222E}}\limits}}
+\CustomizeMathJax{\newcommand{\smalloiintsl}{\mathop{\unicode{x222F}}\limits}}
+\CustomizeMathJax{\newcommand{\smalloiiintsl}{\mathop{\unicode{x2230}}\limits}}
+\CustomizeMathJax{\newcommand{\smallvarointclockwisesl}{\mathop{\unicode{x2232}}\limits}}
+\CustomizeMathJax{\newcommand{\smallointctrclockwisesl}{\mathop{\unicode{x2233}}\limits}}
+\CustomizeMathJax{\newcommand{\smallsumintsl}{\mathop{\unicode{x2A0B}}\limits}}
+\CustomizeMathJax{\newcommand{\smallfintsl}{\mathop{\unicode{x2A0F}}\limits}}
+\CustomizeMathJax{\newcommand{\smallsqintsl}{\mathop{\unicode{x2A16}}\limits}}
+\CustomizeMathJax{\let\smallintup\smallint}
+\CustomizeMathJax{\newcommand{\smalliintup}{\mathop{\unicode{x222C}}\limits}}
+\CustomizeMathJax{\newcommand{\smalliiintup}{\mathop{\unicode{x222D}}\limits}}
+\CustomizeMathJax{\newcommand{\smalliiiintup}{\mathop{\unicode{x2A0C}}\limits}}
+\CustomizeMathJax{\newcommand{\smallointup}{\mathop{\unicode{x222E}}\limits}}
+\CustomizeMathJax{\newcommand{\smalloiintup}{\mathop{\unicode{x222F}}\limits}}
+\CustomizeMathJax{\newcommand{\smalloiiintup}{\mathop{\unicode{x2230}}\limits}}
+\CustomizeMathJax{\newcommand{\smallvarointclockwiseup}{\mathop{\unicode{x2232}}\limits}}
+\CustomizeMathJax{\newcommand{\smallointctrclockwiseup}{\mathop{\unicode{x2233}}\limits}}
+\CustomizeMathJax{\newcommand{\smallsumintup}{\mathop{\unicode{x2A0B}}\limits}}
+\CustomizeMathJax{\newcommand{\smallfintup}{\mathop{\unicode{x2A0F}}\limits}}
+\CustomizeMathJax{\newcommand{\smallsqintup}{\mathop{\unicode{x2A16}}\limits}}
+\CustomizeMathJax{\newcommand{\iint}{\mathop{\unicode{x222C}}\limits}}
+\CustomizeMathJax{\newcommand{\iiint}{\mathop{\unicode{x222D}}\limits}}
+\CustomizeMathJax{\newcommand{\iiiint}{\mathop{\unicode{x2A0C}}\limits}}
+\CustomizeMathJax{\newcommand{\oiint}{\mathop{\unicode{x222F}}\limits}}
+\CustomizeMathJax{\newcommand{\oiiint}{\mathop{\unicode{x2230}}\limits}}
+\CustomizeMathJax{\newcommand{\varointclockwise}{\mathop{\unicode{x2232}}\limits}}
+\CustomizeMathJax{\newcommand{\ointctrclockwise}{\mathop{\unicode{x2233}}\limits}}
+\CustomizeMathJax{\newcommand{\sumint}{\mathop{\unicode{x2A0B}}\limits}}
+\CustomizeMathJax{\newcommand{\fint}{\mathop{\unicode{x2A0F}}\limits}}
+\CustomizeMathJax{\newcommand{\sqint}{\mathop{\unicode{x2A16}}\limits}}
+\CustomizeMathJax{\let\intsl\int}
+\CustomizeMathJax{\newcommand{\iintsl}{\mathop{\unicode{x222C}}\limits}}
+\CustomizeMathJax{\newcommand{\iiintsl}{\mathop{\unicode{x222D}}\limits}}
+\CustomizeMathJax{\newcommand{\iiiintsl}{\mathop{\unicode{x2A0C}}\limits}}
+\CustomizeMathJax{\let\ointsl\oint}
+\CustomizeMathJax{\newcommand{\oiintsl}{\mathop{\unicode{x222F}}\limits}}
+\CustomizeMathJax{\newcommand{\oiiintsl}{\mathop{\unicode{x2230}}\limits}}
+\CustomizeMathJax{\newcommand{\varointclockwisesl}{\mathop{\unicode{x2232}}\limits}}
+\CustomizeMathJax{\newcommand{\ointctrclockwisesl}{\mathop{\unicode{x2233}}\limits}}
+\CustomizeMathJax{\newcommand{\sumintsl}{\mathop{\unicode{x2A0B}}\limits}}
+\CustomizeMathJax{\newcommand{\fintsl}{\mathop{\unicode{x2A0F}}\limits}}
+\CustomizeMathJax{\newcommand{\sqintsl}{\mathop{\unicode{x2A16}}\limits}}
+\CustomizeMathJax{\let\intup\int}
+\CustomizeMathJax{\newcommand{\iintup}{\mathop{\unicode{x222C}}\limits}}
+\CustomizeMathJax{\newcommand{\iiintup}{\mathop{\unicode{x222D}}\limits}}
+\CustomizeMathJax{\newcommand{\iiiintup}{\mathop{\unicode{x2A0C}}\limits}}
+\CustomizeMathJax{\let\ointup\oint}
+\CustomizeMathJax{\newcommand{\oiintup}{\mathop{\unicode{x222F}}\limits}}
+\CustomizeMathJax{\newcommand{\oiiintup}{\mathop{\unicode{x2230}}\limits}}
+\CustomizeMathJax{\newcommand{\varointclockwiseup}{\mathop{\unicode{x2232}}\limits}}
+\CustomizeMathJax{\newcommand{\ointctrclockwiseup}{\mathop{\unicode{x2233}}\limits}}
+\CustomizeMathJax{\newcommand{\sumintup}{\mathop{\unicode{x2A0B}}\limits}}
+\CustomizeMathJax{\newcommand{\fintup}{\mathop{\unicode{x2A0F}}\limits}}
+\CustomizeMathJax{\newcommand{\sqintup}{\mathop{\unicode{x2A16}}\limits}}
+\CustomizeMathJax{\newcommand{\bigcupdot}{\mathop{\unicode{x2A03}}}}
+\CustomizeMathJax{\newcommand{\bigcupplus}{\mathop{\unicode{x2A04}}}}
+\CustomizeMathJax{\newcommand{\bigsqcap}{\mathop{\unicode{x2A05}}}}
+\CustomizeMathJax{\newcommand{\bigtimes}{\mathop{\unicode{x2A09}}}}
+\CustomizeMathJax{\let\varprod\bigtimes}
+\CustomizeMathJax{\newcommand{\mappedfrom}{\mathrel{\unicode{x021A4}}}}
+\CustomizeMathJax{\let\mappedfromchar\mappedfrom}
+\CustomizeMathJax{\newcommand{\mapsfrom}{\mathrel{\unicode{x021A4}}}}
+\CustomizeMathJax{\newcommand{\longmappedfrom}{\mathrel{\unicode{x027FB}}}}
+\CustomizeMathJax{\newcommand{\Mapsto}{\mathrel{\unicode{x02907}}}}
+\CustomizeMathJax{\let\Mapstochar\Mapsto}
+\CustomizeMathJax{\newcommand{\Longmapsto}{\mathrel{\unicode{x027FE}}}}
+\CustomizeMathJax{\newcommand{\Mappedfrom}{\mathrel{\unicode{x02906}}}}
+\CustomizeMathJax{\let\Mappedfromchar\Mappedfrom}
+\CustomizeMathJax{\newcommand{\Mapsfrom}{\mathrel{\unicode{x02906}}}}
+\CustomizeMathJax{\newcommand{\Longmappedfrom}{\mathrel{\unicode{x27FD}}}}
+\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{\coloneq}{\mathrel{\unicode{x02254}}}}
+\CustomizeMathJax{\newcommand{\eqcolon}{\mathrel{\unicode{x02255}}}}
+\CustomizeMathJax{\newcommand{\VDash}{\mathrel{\unicode{x22AB}}}}
+\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{\nsubset}{\mathrel{\unicode{x02284}}}}
+\CustomizeMathJax{\newcommand{\nsupset}{\mathrel{\unicode{x02285}}}}
+\CustomizeMathJax{\newcommand{\notni}{\mathrel{\unicode{x220C}}}}
+\CustomizeMathJax{\let\notowns\notni}
+\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{\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{\invamp}{\mathbin{\unicode{x0214B}}}}
+\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{\circledbslash}{\mathbin{\unicode{x029B8}}}}
+\CustomizeMathJax{\newcommand{\lJoin}{\mathrel{\unicode{x22C9}}}}
+\CustomizeMathJax{\newcommand{\rJoin}{\mathrel{\unicode{x22CA}}}}
+\CustomizeMathJax{\newcommand{\lrJoin}{\mathrel{\unicode{x2A1D}}}}
+
+\CustomizeMathJax{\newcommand{\lrtimes}{\mathrel{\unicode{x2A1D}}}}
+\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{\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{\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{\dlb}{\mathopen{\unicode{x027E6}}}}
+\CustomizeMathJax{\newcommand{\drb}{\mathopen{\unicode{x027E7}}}}
+
+\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}}}}% not upright
+
+\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}
+\CustomizeMathJax{\let\varemptyset\emptyset}
+\CustomizeMathJax{\newcommand{\mathsterling}{\mathord{\unicode{x000A3}}}}
+\CustomizeMathJax{\newcommand{\mathcent}{\mathord{\unicode{x000A2}}}}
+
+\end{warpMathJax}
+\endinput
+%%
+%% End of file `lwarp-common-mathjax-newpxtxmath.sty'.
Property changes on: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-common-mathjax-newpxtxmath.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-common-mathjax-nonunicode.sty
===================================================================
--- branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-common-mathjax-nonunicode.sty (rev 0)
+++ branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-common-mathjax-nonunicode.sty 2021-02-18 22:20:50 UTC (rev 57791)
@@ -0,0 +1,154 @@
+%%
+%% This is file `lwarp-common-mathjax-nonunicode.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx (with options: `common-mathjax-nonunicode')
+%% This is a generated file.
+%% Copyright 2016-2020 Brian Dunn
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+\ProvidesPackage{lwarp-common-mathjax-nonunicode}[2020/09/20]
+\LWR at origRequirePackage{lwarp-common-mathjax-overlaysymbols}
+
+\begin{warpMathJax}
+\CustomizeMathJax{\newcommand{\mmapsto}{\mathrel{\unicode{x021A6}}}}
+\CustomizeMathJax{\let\mmapstochar\mmapsto}
+\CustomizeMathJax{\newcommand{\longmmapsto}{\mathrel{\unicode{x021A6}}}}
+\CustomizeMathJax{\newcommand{\mmappedfrom}{\mathrel{\unicode{x021A4}}}}
+\CustomizeMathJax{\let\mmappedfromchar\mmappedfrom}
+\CustomizeMathJax{\newcommand{\longmmappedfrom}{\mathrel{\unicode{x021A4}}}}
+\CustomizeMathJax{\let\mmapsfrom\mmappedfrom}% from kpfonts-otf
+\CustomizeMathJax{\let\longmmapsfrom\longmmappedfrom}% from kpfonts-otf
+
+\CustomizeMathJax{\newcommand{\Mmapsto}{\mathrel{\unicode{x02907}}}}
+\CustomizeMathJax{\let\Mmapstochar\Mmapsto}
+\CustomizeMathJax{\newcommand{\Longmmapsto}{\mathrel{\unicode{x027FE}}}}
+\CustomizeMathJax{\newcommand{\Mmappedfrom}{\mathrel{\unicode{x02906}}}}
+\CustomizeMathJax{\let\Mmappedfromchar\Mmappedfrom}
+\CustomizeMathJax{\newcommand{\Longmmappedfrom}{\mathrel{\unicode{x027FD}}}}
+\CustomizeMathJax{\let\Mmapsfrom\Mmappedfrom}% from kpfonts-otf
+\CustomizeMathJax{\let\Longmmapsfrom\Longmmappedfrom}% from kpfonts-otf
+\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{\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{\multimapbothvert}{%
+ \mathrel{\overset{\unicode{x025CB}}{\underset{\unicode{x025CB}}{|}}}%
+}}
+\CustomizeMathJax{\newcommand{\multimapdotbothvert}{%
+ \mathrel{\overset{\unicode{x025CF}}{\underset{\unicode{x025CF}}{|}}}%
+}}
+\CustomizeMathJax{\newcommand{\multimapdotbothBvert}{% bug in kpfonts-otf
+ \mathrel{\overset{\unicode{x025CF}}{\underset{\unicode{x025CB}}{|}}}%
+}}
+\CustomizeMathJax{\newcommand{\multimapdotbothAvert}{% bug in kpfonts-otf
+ \mathrel{\overset{\unicode{x025CB}}{\underset{\unicode{x025CF}}{|}}}%
+}}
+
+\CustomizeMathJax{\newcommand{\bignplus}{%
+ \mathop{\LWRoverlaysymbols{\unicode{xFF0B}}{\unicode{x22C2}}}%
+}}
+\CustomizeMathJax{\let\bigcapplus\bignplus}
+\CustomizeMathJax{\let\capplus\bignplus}% from kpfonts-otf
+
+\CustomizeMathJax{\newcommand{\bigsqcapplus}{%
+ \mathop{\LWRoverlaysymbols{\unicode{xFF0B}}{\unicode{x2A05}}}
+}}
+\CustomizeMathJax{\let\sqcapplus\bigsqcapplus}% from kpfonts-otf
+
+\CustomizeMathJax{\newcommand{\bigsqcupplus}{%
+ \mathop{\LWRoverlaysymbols{\unicode{xFF0B}}{\unicode{x2A06}}}
+}}
+\CustomizeMathJax{\let\sqcupplus\bigsqcupplus}% from kpfonts-otf
+
+\CustomizeMathJax{\newcommand{\parallelslant}{\mathrel{\unicode{x02AFD}}}}
+\CustomizeMathJax{\newcommand{\parallelbackslant}{%
+ \mathrel{\unicode{x0005C}\!\!\unicode{x0005C}}%
+}}
+
+\CustomizeMathJax{\newcommand{\Eqqcolon}{\mathrel{=\!\unicode{x2237}}}}
+\CustomizeMathJax{\let\eqqColon\Eqqcolon}% for kpfonts-otf
+\CustomizeMathJax{\newcommand{\dashColon}{\mathrel{-\unicode{x2237}}}}
+\CustomizeMathJax{\newcommand{\Colondash}{\mathrel{\unicode{x2237}-}}}
+
+\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{\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{\circledwedge}{%
+ \mathbin{\LWRoverlaysymbols{\unicode{x025EF}}{\unicode{x02227}}}%
+}}
+\CustomizeMathJax{\newcommand{\circledvee}{%
+ \mathbin{\LWRoverlaysymbols{\unicode{x025EF}}{\unicode{0x02228}}}%
+}}
+\CustomizeMathJax{\newcommand{\circledbar}{\mathbin{\unicode{x029B6}}}}
+
+\CustomizeMathJax{\newcommand{\openJoin}{\mathrel{\unicode{x2AA4}}}}% overlapping ><
+\CustomizeMathJax{\newcommand{\opentimes}{\mathrel{\unicode{x2AA4}}}}% overlapping ><
+
+\CustomizeMathJax{\newcommand{\VvDash}{\mathrel{\unicode{x22AA}}}}
+
+\CustomizeMathJax{\newcommand{\lambdabar}{%
+ \mathord{\LWRoverlaysymbols{\raise{.5ex}{-}}{\lambda}}%
+}}
+
+\CustomizeMathJax{\newcommand{\lambdaslash}{\mathord{\unicode{x019B}}}}
+
+\CustomizeMathJax{\newcommand{\Wr}{\mathbin{\unicode{x02240}\!\unicode{x02240}}}}
+
+\CustomizeMathJax{\newcommand{\dashleftrightarrow}{%
+ \mathrel{\unicode{x021E0}\!\unicode{x021E2}}%
+}}
+\CustomizeMathJax{\let\leftrightdasharrow\dashleftrightarrow}% for kpfonts-otf
+
+\end{warpMathJax}
+\endinput
+%%
+%% End of file `lwarp-common-mathjax-nonunicode.sty'.
Property changes on: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-common-mathjax-nonunicode.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-common-mathjax-overlaysymbols.sty
===================================================================
--- branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-common-mathjax-overlaysymbols.sty (rev 0)
+++ branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-common-mathjax-overlaysymbols.sty 2021-02-18 22:20:50 UTC (rev 57791)
@@ -0,0 +1,34 @@
+%%
+%% This is file `lwarp-common-mathjax-overlaysymbols.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx (with options: `common-mathjax-overlaysymbols')
+%% This is a generated file.
+%% Copyright 2016-2020 Brian Dunn
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+\ProvidesPackage{lwarp-common-mathjax-overlaysymbols}[2020/08/17]
+\begin{warpMathJax}
+
+\CustomizeMathJax{\newcommand{\LWRoverlaysymbols}[2]{%
+ \mathord{%
+ \smash{%
+ \mathop{#2\strut}%
+ \limits^{\smash{\lower3ex{#1}}}%
+ }%
+ \strut%
+ }%
+}}
+
+\end{warpMathJax}
+\endinput
+%%
+%% End of file `lwarp-common-mathjax-overlaysymbols.sty'.
Property changes on: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-common-mathjax-overlaysymbols.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-common-multimedia.sty
===================================================================
--- branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-common-multimedia.sty 2021-02-18 22:18:09 UTC (rev 57790)
+++ branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-common-multimedia.sty 2021-02-18 22:20:50 UTC (rev 57791)
@@ -67,14 +67,14 @@
\LWR at parsedfilename\unskip\textquotedbl\ % space
type=\textquotedbl{}#4\textquotedbl}
\LWR at startpars
- \href{\LWR at parsedfilename}{#1}
+ \LWR at href{\LWR at parsedfilename}{#1}
\LWR at stoppars
\LWR at htmltag{/#3}\LWR at orignewline
\end{BlockClass}
}{%
\PackageError{lwarp-common-multimedia}
- {File '#2' not found}
- {Perhaps an incorrect path?}
+ {File '#2' not found}
+ {Perhaps an incorrect path?}
}%
}
\newcommand*{\LWR at multimedia@httpAV}[4]{%
@@ -96,7 +96,7 @@
src=\textquotedbl#2\textquotedbl\ % space
type=\textquotedbl#4\textquotedbl}
\LWR at startpars
- \href{#2}{#1}
+ \LWR at href{#2}{#1}
\LWR at stoppars
\LWR at htmltag{/#3}\LWR at orignewline
\end{BlockClass}
@@ -125,11 +125,13 @@
\newcommand*{\LWR at multimedia@percenterror}{%
\PackageError{lwarp-media9}
{%
- Do not use a percent comment
- between\MessageBreak
+ Do not use a percent comment between\MessageBreak
\protect\includemedia\space arguments%
}
- {Percent is changed to a regular character to allow its use inside a URL.}
+ {%
+ Percent is changed to a regular character\MessageBreak
+ to allow its use inside a URL.%
+ }
}
\newcommand*{\LWR at multimediab}[3][]{%
\if#1\@percentchar\LWR at multimedia@percenterror\fi%
@@ -147,7 +149,7 @@
\IfBeginWith{#3}{HTTP}{\LWR at multimedia@embed{#2}{#3}{}}{%
\IfBeginWith{#3}{ftp}{\LWR at multimedia@embed{#2}{#3}{}}{%
\IfBeginWith{#3}{FTP}{\LWR at multimedia@embed{#2}{#3}{}}{%
- \href{#3}{#2}% unknown format
+ \LWR at href{#3}{#2}% unknown format
}}}}}}}}%
\LWR at startpars%
\endgroup%
Modified: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-ctable.sty
===================================================================
--- branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-ctable.sty 2021-02-18 22:18:09 UTC (rev 57790)
+++ branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-ctable.sty 2021-02-18 22:20:50 UTC (rev 57791)
@@ -57,6 +57,7 @@
\PackageError{lwarp-ctable}{\MessageBreak
You can, currently, use the sidecap option only with\MessageBreak
memoir documents. Use topcap or botcap only}
+ {}
\fi
\fi
\ifdim\@CTwidth=0pt\else
@@ -64,6 +65,7 @@
\PackageError{lwarp-ctable}{\MessageBreak
You may not use the width and maxwidth options together\MessageBreak
Use either width or maxwidth}
+ {}
\fi
\fi
\ifx\@CTpos\empty
@@ -71,6 +73,7 @@
\PackageError{lwarp-ctable}{\MessageBreak
You may not use the pos and sideways options together\MessageBreak
Rotated tables and figures are always typeset on a separate page}
+ {}
\fi
\fi
\ifx\@CTcaption\empty
@@ -78,6 +81,7 @@
\PackageError{lwarp-ctable}{\MessageBreak
You may not label a captionless table\MessageBreak
Such a label can't be referenced}
+ {}
\fi
\fi
\@CTbegin
Added: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-drftcite.sty
===================================================================
--- branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-drftcite.sty (rev 0)
+++ branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-drftcite.sty 2021-02-18 22:20:50 UTC (rev 57791)
@@ -0,0 +1,28 @@
+%%
+%% This is file `lwarp-drftcite.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx (with options: `drftcite')
+%% This is a generated file.
+%% Copyright 2016-2020 Brian Dunn
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+\LWR at ProvidesPackagePass{drftcite}[1995/01/23]
+\def\@lbibitem[#1]#2{\global\@HighCite\z@
+ \item[
+ \textsuperscript{\@nameuse{DCN@#2\@extra at b@citeb}}~% lwarp
+ \@biblabel{\@ifundefined{DCN@#2\@extra at b@citeb}{\@warning
+ {Reference `#2' on page \thepage\space was never cited}}{}%
+ \@citeverb{#2}}\hfil]\if at filesw{\def\protect##1{\string ##1\space}%
+ \immediate\write\@auxout{\string\bibcite{#2}{#1}}}\fi\ignorespaces}
+\endinput
+%%
+%% End of file `lwarp-drftcite.sty'.
Property changes on: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-drftcite.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-easy-todo.sty
===================================================================
--- branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-easy-todo.sty 2021-02-18 22:18:09 UTC (rev 57790)
+++ branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-easy-todo.sty 2021-02-18 22:20:50 UTC (rev 57791)
@@ -18,12 +18,12 @@
\LWR at ProvidesPackagePass{easy-todo}[2014/01/01]
-\let\LWR at origlistoftodos\listoftodos
+\let\LWR at easytodo@origlistoftodos\listoftodos
\renewcommand{\listoftodos}{%
\begingroup
\renewcommand{\flushright}{}
-\LWR at origlistoftodos
+\LWR at easytodo@origlistoftodos
\endgroup
}
Modified: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-econometrics.sty
===================================================================
--- branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-econometrics.sty 2021-02-18 22:18:09 UTC (rev 57790)
+++ branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-econometrics.sty 2021-02-18 22:20:50 UTC (rev 57791)
@@ -16,6 +16,8 @@
%% and version 1.3 or later is part of all distributions of LaTeX
%% version 2005/12/01 or later.
\LWR at ProvidesPackagePass{econometrics}% no date specified in the original
+\LWR at origRequirePackage{lwarp-common-mathjax-letters}
+
\begin{warpMathJax}
\LWR at infoprocessingmathjax{econometrics}
@@ -52,96 +54,12 @@
\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}}
+\LWR at mathjax@addlatin at u@bfit{m}% uppercase Latin, bold italic
+\LWR at mathjax@addlatin at l@bfit{v}% lowercase Latin, bold italic
-\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}}
+\LWR at mathjax@addgreek at l@bfit{v}{}% lowercase Greek bold italic
+\LWR at mathjax@addgreek at u@bfit*{m}{}% uppercase Greek bold italic, capitalized macro names
-\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}}
-
\CustomizeMathJax{\newcommand{\rb}{\mathrm{b}}}
\CustomizeMathJax{\newcommand{\rB}{\mathrm{B}}}
\CustomizeMathJax{\newcommand{\rC}{\mathrm{C}}}
Modified: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-ed.sty
===================================================================
--- branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-ed.sty 2021-02-18 22:18:09 UTC (rev 57790)
+++ branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-ed.sty 2021-02-18 22:20:50 UTC (rev 57791)
@@ -26,7 +26,7 @@
\textcolor{red}{%
#1 is only a provisional stub\\\Large
the Office document
- \ifx\ed at stubURI\@empty{#2}\else\href{\ed at stubURI}{#2}\fi\
+ \ifx\ed at stubURI\@empty{#2}\else\LWR at href{\ed at stubURI}{#2}\fi\
contains more text\\which will be merged for the final document%
}%
\end{center}%
Modified: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-embrac.sty
===================================================================
--- branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-embrac.sty 2021-02-18 22:18:09 UTC (rev 57790)
+++ branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-embrac.sty 2021-02-18 22:20:50 UTC (rev 57791)
@@ -16,6 +16,9 @@
%% and version 1.3 or later is part of all distributions of LaTeX
%% version 2005/12/01 or later.
\LWR at ProvidesPackagePass{embrac}[2017/07/04]
+\ExplSyntaxOn
+\RenewDocumentCommand{\embrac_kern:n}{m}{}
+\ExplSyntaxOff
\LetLtxMacro\LWR at orig@HTML at emph\LWR at HTML@emph
\RenewDocumentCommand{\LWR at HTML@emph}{s m}{\LWR at orig@HTML at emph{#2}}
Modified: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-enumitem.sty
===================================================================
--- branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-enumitem.sty 2021-02-18 22:18:09 UTC (rev 57790)
+++ branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-enumitem.sty 2021-02-18 22:20:50 UTC (rev 57791)
@@ -16,7 +16,6 @@
%% and version 1.3 or later is part of all distributions of LaTeX
%% version 2005/12/01 or later.
\LWR at ProvidesPackagePass{enumitem}[2018/11/30]
-\begin{warpHTML}
\let\LWR at enumitem@orignewlist\newlist
@@ -28,8 +27,6 @@
\def\DrawEnumitemLabel{}
-\end{warpHTML}
-
\endinput
%%
%% End of file `lwarp-enumitem.sty'.
Modified: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-epigraph.sty
===================================================================
--- branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-epigraph.sty 2021-02-18 22:18:09 UTC (rev 57790)
+++ branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-epigraph.sty 2021-02-18 22:20:50 UTC (rev 57791)
@@ -18,57 +18,37 @@
-\LWR at ProvidesPackageDrop{epigraph}[2009/09/02]
+\LWR at ProvidesPackagePass{epigraph}[2020/01/02]
-\DeclareDocumentCommand{\qitem}{m m}
-{
-\begin{BlockClass}{qitem}
-#1
-\LWR at stoppars%
-\ifbool{FormatWP}
-{\begin{BlockClass}[border-top:1px solid gray]{epigraphsource}}
-{\begin{BlockClass}{epigraphsource}}
-#2
-\end{BlockClass}
-\end{BlockClass}
+\DeclareDocumentCommand{\LWR at HTML@qitem}{m m}
+{%
+ \begin{BlockClass}{qitem}%
+ #1%
+ \LWR at stoppars%
+ \ifbool{FormatWP}%
+ {\begin{BlockClass}[border-top:1px solid gray]{epigraphsource}}%
+ {\begin{BlockClass}{epigraphsource}}%
+ #2%
+ \end{BlockClass}%
+ \end{BlockClass}%
}
+\LWR at formatted{qitem}
-\DeclareDocumentCommand{\epigraph}{m m}
-{
-\begin{LWR at BlockClassWP}{\LWR at print@mbox{text-align:right}}{}{epigraph}
-\qitem{#1}{#2}
-\end{LWR at BlockClassWP}
+\DeclareDocumentCommand{\LWR at HTML@epigraph}{m m}
+{%
+ \begin{LWR at BlockClassWP}{\LWR at print@mbox{text-align:right}}{}{epigraph}%
+ \qitem{#1}{#2}%
+ \end{LWR at BlockClassWP}%
}
+\LWR at formatted{epigraph}
-\DeclareDocumentEnvironment{epigraphs}{}
-{\LWR at BlockClassWP{\LWR at print@mbox{text-align:right}}{}{epigraph}}
-{\endLWR at BlockClassWP}
-\newenvironment*{flushepinormal}{}{}
-\@ifclassloaded{memoir}{
-\setlength{\epigraphwidth}{.5\linewidth}
-\renewcommand{\textflush}{flushepinormal}
+\DeclareDocumentEnvironment{LWR at HTML@epigraphs}{}
+ {\LWR at BlockClassWP{\LWR at print@mbox{text-align:right}}{}{epigraph}}
+ {\endLWR at BlockClassWP}
+\LWR at formattedenv{epigraphs}
\renewcommand{\epigraphhead}[2][0]{#2}
\renewcommand{\dropchapter}[1]{}
\renewcommand*{\undodrop}{}
-}{% not memoir
-\newlength{\epigraphwidth}
-\setlength{\epigraphwidth}{.5\linewidth}
-\newcommand{\textflush}{flushepinormal}
-\newcommand{\epigraphflush}{flushright}
-\newcommand{\sourceflush}{flushright}
-\newcommand*{\epigraphsize}{\small}
-\newlength{\epigraphrule}
-\newlength{\beforeepigraphskip}
-\newlength{\afterepigraphskip}
-\newcommand{\epigraphhead}[2][0]{#2}
-\newcommand{\dropchapter}[1]{}
-\newcommand*{\undodrop}{}
-}% not memoir
-
-\let\cleartoevenpage\relax% also in nextpage
-\newcommand{\cleartoevenpage}[1][]{}
-\newif\ifepigraphnoindent
-\newcommand\epigraphnoindent{\epigraphnoindenttrue}
\endinput
%%
%% End of file `lwarp-epigraph.sty'.
Added: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-epsf.sty
===================================================================
--- branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-epsf.sty (rev 0)
+++ branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-epsf.sty 2021-02-18 22:20:50 UTC (rev 57791)
@@ -0,0 +1,30 @@
+%%
+%% This is file `lwarp-epsf.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx (with options: `epsf')
+%% This is a generated file.
+%% Copyright 2016-2020 Brian Dunn
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+\LWR at ProvidesPackagePass{epsf}% not date given
+\xpretocmd{\epsfsetgraph}
+ {\begin{lateximage}}
+ {}
+ {\LWR at patcherror{lwarp-epsf}{epsfsetgraph-begin}}
+
+\xapptocmd{\epsfsetgraph}
+ {\end{lateximage}}
+ {}
+ {\LWR at patcherror{lwarp-epsf}{epsfsetgraph-end}}
+\endinput
+%%
+%% End of file `lwarp-epsf.sty'.
Property changes on: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-epsf.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-epsfig.sty
===================================================================
--- branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-epsfig.sty 2021-02-18 22:18:09 UTC (rev 57790)
+++ branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-epsfig.sty 2021-02-18 22:20:50 UTC (rev 57791)
@@ -15,7 +15,7 @@
%% http://www.latex-project.org/lppl.txt
%% and version 1.3 or later is part of all distributions of LaTeX
%% version 2005/12/01 or later.
-\LWR at ProvidesPackageDrop{epsfig}[2017/06/25]
+\LWR at ProvidesPackagePass{epsfig}[2017/06/25]
\RequirePackage{graphics}
\define at key{igraph}{file}{%
@@ -29,9 +29,11 @@
\define at key{igraph}{prolog}{}
\define at key{igraph}{silent}[]{}
-\newcommand{\epsfig}[1]{\includegraphics[#1]{\LWR at epsfig@filename}}
+\newcommand{\LWR at HTML@epsfig}[1]{\includegraphics[#1]{\LWR at epsfig@filename}}
+\LWR at formatted{epsfig}
-\newcommand{\psfig}[1]{\includegraphics[#1]{\LWR at epsfig@filename}}
+\newcommand{\LWR at HTML@psfig}[1]{\includegraphics[#1]{\LWR at epsfig@filename}}
+\LWR at formatted{psfig}
\endinput
%%
%% End of file `lwarp-epsfig.sty'.
Modified: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-epstopdf-base.sty
===================================================================
--- branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-epstopdf-base.sty 2021-02-18 22:18:09 UTC (rev 57790)
+++ branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-epstopdf-base.sty 2021-02-18 22:20:50 UTC (rev 57791)
@@ -15,7 +15,7 @@
%% http://www.latex-project.org/lppl.txt
%% and version 1.3 or later is part of all distributions of LaTeX
%% version 2005/12/01 or later.
-\LWR at ProvidesPackagePass{epstopdf-base}[2016/05/15]
+\LWR at ProvidesPackagePass{epstopdf-base}[2020-01-24]
\newcommand*{\LWR at HTML@ETE at OrgGin@setfile}[3]{%
\edef\LWR at tempone{#3}%
\StrSubstitute{\LWR at tempone}{.pdf}{.svg}[\LWR at tempone]%
Modified: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-epstopdf.sty
===================================================================
--- branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-epstopdf.sty 2021-02-18 22:18:09 UTC (rev 57790)
+++ branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-epstopdf.sty 2021-02-18 22:20:50 UTC (rev 57791)
@@ -15,7 +15,7 @@
%% http://www.latex-project.org/lppl.txt
%% and version 1.3 or later is part of all distributions of LaTeX
%% version 2005/12/01 or later.
-\LWR at ProvidesPackagePass{epstopdf}[2016/05/15]
+\LWR at ProvidesPackagePass{epstopdf}[2020-01-24]
\endinput
%%
%% End of file `lwarp-epstopdf.sty'.
Modified: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-errata.sty
===================================================================
--- branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-errata.sty 2021-02-18 22:18:09 UTC (rev 57790)
+++ branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-errata.sty 2021-02-18 22:20:50 UTC (rev 57791)
@@ -56,7 +56,7 @@
{}
{\LWR at patcherror{erratum}{eReplace}}
-\preto\PrintErrata{\LWR at orignewpage}
+\preto\PrintErrata{\LWR at maybe@orignewpage}
\StopDefiningMath
Added: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-esvect.sty
===================================================================
--- branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-esvect.sty (rev 0)
+++ branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-esvect.sty 2021-02-18 22:20:50 UTC (rev 57791)
@@ -0,0 +1,26 @@
+%%
+%% This is file `lwarp-esvect.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx (with options: `esvect')
+%% This is a generated file.
+%% Copyright 2016-2020 Brian Dunn
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+\LWR at ProvidesPackagePass{esvect}% no date given
+\begin{warpMathJax}
+\CustomizeMathJax{\newcommand{\LWResvectvv}[1]{\overrightarrow{#1}}}
+\CustomizeMathJax{\newcommand{\LWResvectvvstar}[2]{\overrightarrow{#1}\!_{#2}}}
+\CustomizeMathJax{\newcommand{\vv}{\ifstar\LWResvectvvstar\LWResvectvv}}
+\end{warpMathJax}
+\endinput
+%%
+%% End of file `lwarp-esvect.sty'.
Property changes on: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-esvect.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-everyshi.sty
===================================================================
--- branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-everyshi.sty 2021-02-18 22:18:09 UTC (rev 57790)
+++ branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-everyshi.sty 2021-02-18 22:20:50 UTC (rev 57791)
@@ -16,7 +16,10 @@
%% and version 1.3 or later is part of all distributions of LaTeX
%% version 2005/12/01 or later.
\LWR at ProvidesPackageDrop{everyshi}[2001/05/15]
+\let\EveryShipout\relax
\newcommand*{\EveryShipout}[1]{}
+
+\let\AtNextShipout\relax
\newcommand*{\AtNextShipout}[1]{}
\endinput
%%
Modified: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-fancybox.sty
===================================================================
--- branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-fancybox.sty 2021-02-18 22:18:09 UTC (rev 57790)
+++ branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-fancybox.sty 2021-02-18 22:20:50 UTC (rev 57791)
@@ -133,24 +133,24 @@
\def\endLandscape{}
\let\LWRFB at UseVerbatim\UseVerbatim
\renewcommand*{\UseVerbatim}[1]{%
-\LWR at atbeginverbatim{3}{Verbatim}%
+\LWR at atbeginverbatim{Verbatim}%
\LWRFB at UseVerbatim{#1}%
-\LWR at afterendverbatim{.5}%
+\LWR at afterendverbatim%
}
\let\LWRFB at LUseVerbatim\LUseVerbatim
\renewcommand*{\LUseVerbatim}[1]{%
-\LWR at atbeginverbatim{3}{LVerbatim}%
+\LWR at atbeginverbatim{LVerbatim}%
\noindent%
\LWRFB at LUseVerbatim{#1}%
-\LWR at afterendverbatim{.5}%
+\LWR at afterendverbatim%
}
\def\@BUseVerbatim[#1]#2{%
-\LWR at atbeginverbatim{3}{BVerbatim}%
+\LWR at atbeginverbatim{BVerbatim}%
\LWRFB at UseVerbatim{#2}%
-\LWR at afterendverbatim{.5}%
+\LWR at afterendverbatim%
}
\endinput
%%
Modified: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-fancyhdr.sty
===================================================================
--- branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-fancyhdr.sty 2021-02-18 22:18:09 UTC (rev 57790)
+++ branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-fancyhdr.sty 2021-02-18 22:20:50 UTC (rev 57791)
@@ -17,12 +17,12 @@
%% version 2005/12/01 or later.
-\LWR at ProvidesPackageDrop{fancyhdr}[2019/01/31]
+\LWR at ProvidesPackageDrop{fancyhdr}[2021/01/04]
\newcommand*{\fancyhead}[2][]{}
\newcommand*{\fancyfoot}[2][]{}
\newcommand*{\fancyhf}[2][]{}
-\newcommand*{\fancypagestyle}[2]{}
+
\newcommand*{\lhead}[2][]{}
\newcommand*{\chead}[2][]{}
\newcommand*{\rhead}[2][]{}
@@ -31,17 +31,31 @@
\newcommand*{\rfoot}[2][]{}
\newcommand*{\headrulewidth}{}
\newcommand*{\footrulewidth}{}
+\providecommand{\headruleskip}{0pt}
+\providecommand{\footruleskip}{0pt}
+\newcommand{\plainheadrulewidth}{0pt}
+\newcommand{\plainfootrulewidth}{0pt}
+\def\fancyplain#1#2{#1}
\newcommand*{\headrule}{}
\newcommand*{\footrule}{}
\newlength{\headwidth}
+\newcommand*{\fancycenter}[1][1em]{}
\newcommand*{\fancyheadoffset}[2][]{}
\newcommand*{\fancyfootoffset}[2][]{}
\newcommand*{\fancyhfoffset}[2][]{}
+\newcommand{\fancyheadinit}[1]{}
+\newcommand{\fancyfootinit}[1]{}
+\newcommand{\fancyhfinit}[1]{}
\newcommand*{\iffloatpage}[2]{#2}
\newcommand*{\ifftopfloat}[2]{#2}
\newcommand*{\iffbotfloat}[2]{#2}
\newcommand*{\iffootnote}[2]{#2}
+\newcommand{\fancypagestyle}[1]{%
+ \@ifnextchar[{\f at nch@pagestyle{#1}}{\f at nch@pagestyle{#1}[]}%
+}
+\long\def\f at nch@pagestyle#1[#2]#3{}
+
\endinput
%%
%% End of file `lwarp-fancyhdr.sty'.
Modified: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-fancyref.sty
===================================================================
--- branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-fancyref.sty 2021-02-18 22:18:09 UTC (rev 57790)
+++ branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-fancyref.sty 2021-02-18 22:20:50 UTC (rev 57791)
@@ -22,31 +22,6 @@
{}{
\renewcommand*{\fancyrefhook}[1]{#1}%
}
-
-\renewcommand*{\@f at ref}[4]{%
- \@ifundefined{#1r@#2@#3}{%
- \PackageError{lwarp-fancyref}{%
- \backslashchar#1ref\space format ``#2''
- undefined\MessageBreak
- for label type ``#3''%
- }{%
- The format ``#2'' was not defined for the label type
- ``#3''\MessageBreak
- and the \backslashchar#1ref\space command. Perhaps
- you have only misspelled its name.\MessageBreak
- Otherwise you will have to define it with
- \protect\new#1refformat\MessageBreak
- prior to using it.%
- }%
- }{%
- \fancyrefhook{%
- \@nameuse{#1r@#2@#3}%
- {\ref{#3\fancyrefargdelim#4}}%
- {}% lwarp
- {}% lwarp
- }%
- }%
-}%
\endinput
%%
%% End of file `lwarp-fancyref.sty'.
Modified: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-fancyvrb.sty
===================================================================
--- branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-fancyvrb.sty 2021-02-18 22:18:09 UTC (rev 57790)
+++ branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-fancyvrb.sty 2021-02-18 22:20:50 UTC (rev 57791)
@@ -65,9 +65,7 @@
\renewcommand*{\FV at SingleFrameSep}{}
\def\FV at BUseVerbatim#1{%
- \LWR at atbeginverbatim{0}{verbatim}%
\FV at BVerbatimBegin#1\FV at BVerbatimEnd%
- \LWR at afterendverbatim{0}%
}
\newcommand*{\LWR at FVstyle}{}
@@ -79,26 +77,26 @@
\ifx\FV at LabelBegin\relax\else
\FancyVerbRuleColor{\LWR at FVfindbordercolor}
\LWR at htmltagc{%
- div class="fancyvrblabel" % extra space
- style="color: \LWR at origpound\LWR at tempcolor"%
+ div class=\textquotedbl{}fancyvrblabel\textquotedbl\ % space
+ style=\textquotedbl{}color: \LWR at origpound\LWR at tempcolor\textquotedbl%
}
\LWR at print@textrm{\FV at LabelBegin}% \textrm preserves emdash
\LWR at htmltagc{/div}\LWR at orignewline%
\fi
\fi
-\LWR at atbeginverbatim{0}{verbatim}%
+\LWR at atbeginverbatim{verbatim}%
}
\newcommand*{\LWR at fvendnone}{%
\LWR at traceinfo{fvendnone}%
-\LWR at afterendverbatim{0}%
+\LWR at afterendverbatim%
\LWR at stoppars%
\ifx\FV at LabelPositionBottomLine\relax\else
\ifx\FV at LabelEnd\relax\else
\FancyVerbRuleColor{\LWR at FVfindbordercolor}
\LWR at htmltagc{%
- div class="fancyvrblabel" % extra space
- style="color: \LWR at origpound\LWR at tempcolor"%
+ div class=\textquotedbl{}fancyvrblabel\textquotedbl\ % space
+ style=\textquotedbl{}color: \LWR at origpound\LWR at tempcolor\textquotedbl%
}
\LWR at print@textrm{\FV at LabelEnd}
\LWR at htmltagc{/div}\LWR at orignewline%
@@ -193,7 +191,7 @@
\let\FV at LeftListFrame\relax%
\let\FV at RightListFrame\relax%
\let\FV at EndListFrame\LWR at fvendline}
-
+\def\FV at FrameFillLine{}%
\def\FV at Frame@leftline{%
\renewcommand*{\LWR at FVstyle}{%
\LWR at currenttextcolorstyle\LWR at indentHTMLtwo%
@@ -244,17 +242,31 @@
}
}
-\AtBeginEnvironment{BVerbatim}
-{%
-\LWR at forcenewpage% instead of \preto
-\LWR at atbeginverbatim{0}{bverbatim}%
+\def\FV at ListProcessLine@i#1{%
+ \ifvoid\@labels\else
+ \hbox to \z@{\kern\@totalleftmargin\box\@labels\hss}%
+ \fi
+ \FV at ListProcessLine{#1}%
}
-\AfterEndEnvironment{BVerbatim}
-{%
-\LWR at afterendverbatim{0}%
-}
+\def\FV at ListProcessLastLine{}
+
+\xpretocmd{\FV at BeginVBox}
+ {%
+ \LWR at forcenewpage% instead of \preto
+ \LWR at atbeginverbatim{bverbatim}%
+ }
+ {}
+ {\LWR at patcherror{fancyvrb}{FV at BeginVBox}}
+
+\xapptocmd{\FV at EndVBox}
+ {%
+ \LWR at afterendverbatim%
+ }
+ {}
+ {\LWR at patcherror{fancyvrb}{FV at EndVBox}}
+
} % \AfterEndPreamble
\endinput
Added: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-fbox.sty
===================================================================
--- branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-fbox.sty (rev 0)
+++ branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-fbox.sty 2021-02-18 22:20:50 UTC (rev 57791)
@@ -0,0 +1,102 @@
+%%
+%% This is file `lwarp-fbox.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx (with options: `fbox')
+%% This is a generated file.
+%% Copyright 2016-2020 Brian Dunn
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+\LWR at ProvidesPackagePass{fbox}[2020/06/22]
+\LetLtxMacro\LWR at HTML@fbox\fbox
+\renewcommand*{\orig at fbox}{\FBox at i[tblr]}
+\newcommand*{\LWR at fboxpkg@border}[2]{%
+ \appto\LWR at tempone{%
+ border-#1: % space
+ \LWR at printlength{\LWR at atleastonept} % space
+ solid \LWR at origpound\LWR at tempcolor ;\LWR at indentHTML
+ }%
+ \ifblank{#2}{}{%
+ \appto\LWR at tempone{%
+ padding-#1: \LWR at printlength{#2} ;\LWR at indentHTML
+ }%
+ }%
+}
+\newbool{LWR at fboxpkg@ispar}
+\boolfalse{LWR at fboxpkg@ispar}
+\newcommand{\LWR at fboxpkg@lrpadding}[1]{%
+ \csuse{if at fbox@space@#1}%
+ \appto\LWR at tempone{%
+ padding-#1: \LWR at printlength{\fbox@@sep};\LWR at indentHTML
+ }
+ \else%
+ \appto\LWR at tempone{%
+ padding-#1: 0pt;\LWR at indentHTML
+ }
+ \fi%
+}
+\newcommand{\LWR at HTML@FBox at iii}[1]{%
+ \LWR at forceminwidth{\fbox@@rule}%
+ \LWR at findcurrenttextcolor%
+ \def\LWR at tempone{%
+ color: \LWR at origpound\LWR at tempcolor ; \LWR at indentHTML
+ margin: 1ex ; \LWR at indentHTML
+ }%
+ \LWR at fboxpkg@lrpadding{left}%
+ \LWR at fboxpkg@lrpadding{right}%
+ \ifnum\the\@tempcntb>8\relax
+ \advance\@tempcntb by -8
+ \LWR at fboxpkg@border{top}{\fbox@@sep}%
+ \fi
+ \ifnum\@tempcntb>3
+ \advance\@tempcntb by -4
+ \LWR at fboxpkg@border{left}{}%
+ \fi
+ \ifnum\@tempcntb>1
+ \LWR at fboxpkg@border{right}{}%
+ \fi
+ \ifodd\@tempcntb
+ \LWR at fboxpkg@border{bottom}{\fbox@@sep}%
+ \fi
+ \color at begingroup
+ \ifbool{LWR at fboxpkg@ispar}%
+ {%
+ \begin{BlockClass}[\LWR at tempone]{fboxpkg}%
+ #1%
+ \end{BlockClass}%
+ }%
+ {%
+ \InlineClass[\LWR at tempone]{fboxpkg}{%
+ #1%
+ }%
+ }%
+ \color at endgroup
+ \boolfalse{LWR at fboxpkg@ispar}% globally
+}
+\LWR at formatted{FBox at iii}
+\long\def\LWR at HTML@FParBox at i[#1]#2{%
+ \booltrue{LWR at fboxpkg@ispar}%
+ \FBox at i[#1]{#2}
+}
+\LWR at formatted{FParBox at i}
+
+\long\def\LWR at HTML@FParBox at ii#1{%
+ \booltrue{LWR at fboxpkg@ispar}%
+ \FBox at i[tblr]{#1}%
+}
+\LWR at formatted{FParBox at ii}
+\CustomizeMathJax{\let\LWRorigfbox\fbox}
+\CustomizeMathJax{\newcommand{\LWRfboxpkgtwo}[2][]{\LWRorigfbox{#2}}}
+\CustomizeMathJax{\renewcommand{\fbox}{\ifstar\LWRfboxpkgtwo\LWRfboxpkgtwo}}
+\CustomizeMathJax{\newcommand{\fparbox}{\fbox}}
+\endinput
+%%
+%% End of file `lwarp-fbox.sty'.
Property changes on: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-fbox.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-fixmath.sty
===================================================================
--- branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-fixmath.sty (rev 0)
+++ branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-fixmath.sty 2021-02-18 22:20:50 UTC (rev 57791)
@@ -0,0 +1,29 @@
+%%
+%% This is file `lwarp-fixmath.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx (with options: `fixmath')
+%% This is a generated file.
+%% Copyright 2016-2020 Brian Dunn
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+\LWR at ProvidesPackagePass{fixmath}[2000/04/11]
+\LWR at origRequirePackage{lwarp-common-mathjax-letters}
+
+\begin{warpMathJax}
+\LWR at mathjax@addgreek at u@it*{}{}
+\LWR at mathjax@addletter{\BooleanTrue}{up}{}{delta}{0394}
+\LWR at mathjax@addletter{\BooleanTrue}{up}{}{omega}{03A9}
+\CustomizeMathJax{\newcommand{\mathbold}[1]{\boldsymbol{#1}}}
+\end{warpMathJax}
+\endinput
+%%
+%% End of file `lwarp-fixmath.sty'.
Property changes on: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-fixmath.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-fixme.sty
===================================================================
--- branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-fixme.sty 2021-02-18 22:18:09 UTC (rev 57790)
+++ branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-fixme.sty 2021-02-18 22:20:50 UTC (rev 57791)
@@ -20,7 +20,11 @@
\let\@wrindex\LWR at wrindex
\newcommand{\ext at fixme}{lox}
-\renewcommand{\l at fixme}[2]{\hypertocfloat{1}{fixme}{lox}{#1}{#2}}
+\renewcommand{\l at fixme}[2]{%
+ \hypertocfloat{1}{fixme}{lox}%
+ {\LWR at nameref{\BaseJobname-autopage-\arabic{LWR at nextautopage}} --- #1}
+ {#2}
+}
\def\FXFaceInlineHTMLStyle{font-weight:bold}
\renewcommand*\FXLayoutInline[3]{ %
Modified: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-float.sty
===================================================================
--- branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-float.sty 2021-02-18 22:18:09 UTC (rev 57790)
+++ branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-float.sty 2021-02-18 22:20:50 UTC (rev 57791)
@@ -19,21 +19,24 @@
\LWR at ProvidesPackageDrop{float}[2001/11/08]
-
\newcommand*{\LWR at floatstyle}{plain}
\NewDocumentCommand{\newfloat}{m m m o}{%
-\IfValueTF{#4}%
-{\DeclareFloatingEnvironment[fileext=#3,within=#4]{#1}}%
-{\DeclareFloatingEnvironment[fileext=#3]{#1}}%
-\csedef{LWR at floatstyle@#1}{\LWR at floatstyle}%
-\cslet{listof#1s}\relax%
-\cslet{listof#1es}\relax%
-\cslet{l@#1}\relax%
+ \IfValueTF{#4}%
+ {\DeclareFloatingEnvironment[fileext=#3,within=#4]{#1}}%
+ {\DeclareFloatingEnvironment[fileext=#3]{#1}}%
+ \csedef{LWR at floatstyle@#1}{\LWR at floatstyle}%
+ \cslet{listof#1s}\relax%
+ \cslet{listof#1es}\relax%
+ \cslet{l@#1}\relax%
}
\NewDocumentCommand{\floatname}{m +m}{%
- \SetupFloatingEnvironment{#1}{name=#2}%
+ \def\LWR at tempone{#2}%
+ \def\LWR at temptwo{\@nameuse{#1name}}%
+ \ifdefequal{\LWR at tempone}{\LWR at temptwo}{}{%
+ \SetupFloatingEnvironment{#1}{name=#2}%
+ }%
}
\newcommand*{\floatplacement}[2]{%
@@ -48,6 +51,7 @@
\csedef{LWR at floatstyle@#2}{\LWR at floatstyle}%
}
+
\endinput
%%
%% End of file `lwarp-float.sty'.
Modified: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-floatflt.sty
===================================================================
--- branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-floatflt.sty 2021-02-18 22:18:09 UTC (rev 57790)
+++ branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-floatflt.sty 2021-02-18 22:20:50 UTC (rev 57791)
@@ -37,7 +37,7 @@
}%
{marginblock}%
}%
- \captionsetup{type=#2}%
+ \renewcommand*{\@captype}{#2}%
}
{%
\endLWR at BlockClassWP%
Modified: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-floatrow.sty
===================================================================
--- branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-floatrow.sty 2021-02-18 22:18:09 UTC (rev 57790)
+++ branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-floatrow.sty 2021-02-18 22:20:50 UTC (rev 57791)
@@ -26,8 +26,8 @@
\AtBeginDocument{
\@ifpackageloaded{subcaption}
-{\booltrue{LWR at subcaptionloaded}}
-{\boolfalse{LWR at subcaptionloaded}}
+ {\booltrue{LWR at subcaptionloaded}}
+ {\boolfalse{LWR at subcaptionloaded}}
}
\NewDocumentCommand{\floatbox}{o m o o o +m +m}{%
@@ -160,9 +160,9 @@
\newcommand{\RawCaption}[1]{#1}
\NewDocumentCommand{\floatfoot}{s +m}{%
-\begin{BlockClass}{floatfoot}
-#2
-\end{BlockClass}
+ \begin{BlockClass}{floatfoot}
+ #2
+ \end{BlockClass}
}
\newbool{LWR at insubfloatrow}
@@ -170,15 +170,15 @@
\newenvironment*{subfloatrow}[1][2]
{
-\LWR at forcenewpage
-\BlockClass{floatrow}
-\begingroup
-\booltrue{LWR at insubfloatrow}
+ \LWR at forcenewpage
+ \BlockClass{floatrow}
+ \begingroup%
+ \booltrue{LWR at insubfloatrow}%
}
-{
-\endgroup
-\endBlockClass
-\boolfalse{LWR at insubfloatrow}
+{%
+ \endgroup%
+ \endBlockClass%
+ \boolfalse{LWR at insubfloatrow}%
}
\endinput
Added: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-fnpara.sty
===================================================================
--- branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-fnpara.sty (rev 0)
+++ branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-fnpara.sty 2021-02-18 22:20:50 UTC (rev 57791)
@@ -0,0 +1,21 @@
+%%
+%% This is file `lwarp-fnpara.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx (with options: `fnpara')
+%% This is a generated file.
+%% Copyright 2016-2020 Brian Dunn
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+\LWR at ProvidesPackageDrop{fnpara}
+\endinput
+%%
+%% End of file `lwarp-fnpara.sty'.
Property changes on: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-fnpara.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-fontaxes.sty
===================================================================
--- branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-fontaxes.sty 2021-02-18 22:18:09 UTC (rev 57790)
+++ branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-fontaxes.sty 2021-02-18 22:20:50 UTC (rev 57791)
@@ -16,29 +16,17 @@
%% and version 1.3 or later is part of all distributions of LaTeX
%% version 2005/12/01 or later.
\LWR at ProvidesPackagePass{fontaxes}[2014/03/23]
-\newrobustcmd{\LWR at HTML@sscshape}{\LWR at HTML@scshape}
-\LWR at formatted{sscshape}
-\newcommand*{\LWR at null@sscshape}{}
-
-\newrobustcmd{\LWR at HTML@textssc}[1]{\textsc{#1}}
-\LWR at formatted{textssc}
-\newcommand*{\LWR at null@textssc}[1]{#1}
-
\ifdef{\LWR at HTML@swshape}{}{% duplicated by nfssext-cfr
\newcommand{\LWR at HTML@swshape}{}
\LWR at formatted{swshape}
- \newcommand*{\LWR at null@swshape}{}
- \newcommand{\LWR at HTML@textsw}[1]{#1}
+ \newrobustcmd{\LWR at HTML@textsw}[1]{#1}
\LWR at formatted{textsw}
- \newcommand*{\LWR at null@textsw}[1]{#1}
-}
-\appto{\LWR at nullfonts}{%
-\LetLtxMacro\sscshape\LWR at null@sscshape%
-\LetLtxMacro\textssc\LWR at null@textssc%
-\LetLtxMacro\swshape\LWR at null@swshape%
-\LetLtxMacro\textsw\LWR at null@textsw%
+ \FilenameNullify{%
+ \LetLtxMacro\swshape\@empty%
+ \LetLtxMacro\textsw\firstofone%
+ }
}
\endinput
%%
Modified: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-forest.sty
===================================================================
--- branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-forest.sty 2021-02-18 22:18:09 UTC (rev 57790)
+++ branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-forest.sty 2021-02-18 22:20:50 UTC (rev 57791)
@@ -18,7 +18,9 @@
\LWR at ProvidesPackagePass{forest}[2017/07/14]
-\BeforeBeginEnvironment{forest}{\begin{lateximage}[forest]}
+\BeforeBeginEnvironment{forest}{%
+ \begin{lateximage}[-forest-~\PackageDiagramAltText]%
+}
\AfterEndEnvironment{forest}{\end{lateximage}}
@@ -26,8 +28,9 @@
\forest at config{#2}%
\IfBooleanTF{#1}{%
\PackageError{lwarp-forest}%
- {Starred \Forest is not supported}%
- {Lwarp uses an environment for images, but \Forest* cannot work in an environment.}%
+ {\protect\Forest* is not supported}%
+ {Lwarp uses an environment for images,\MessageBreak
+ but \protect\Forest* cannot work in an environment.}%
\let\forest at next\forest at env%
}{\let\forest at next\forest at group@env}%
\begin{lateximage}[-forest-~\PackageDiagramAltText]% lwarp
Added: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-fourier.sty
===================================================================
--- branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-fourier.sty (rev 0)
+++ branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-fourier.sty 2021-02-18 22:20:50 UTC (rev 57791)
@@ -0,0 +1,86 @@
+%%
+%% This is file `lwarp-fourier.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx (with options: `fourier')
+%% This is a generated file.
+%% Copyright 2016-2020 Brian Dunn
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+\LWR at ProvidesPackagePass{fourier}[2020/03/03]
+
+\LWR at infoprocessingmathjax{fourier}
+\LWR at origRequirePackage{lwarp-common-mathjax-letters}
+
+\LWR at origRequirePackage{lwarp-common-mathjax-overlaysymbols}
+
+\begin{warpMathJax}
+
+\@ifpackagewith{fourier}{sloped}
+ {
+ \LWR at mathjax@addgreek at l@up{other}{}
+ \LWR at mathjax@addgreek at u@it*{other}{}
+ }% sloped
+ {% not sloped
+ \@ifpackagewith{fourier}{upright}
+ {% upright option
+ \LWR at mathjax@addgreek at l@up{}{}
+ \LWR at mathjax@addgreek at u@up*{}{}
+ \LWR at mathjax@addgreek at l@it{other}{}
+ \LWR at mathjax@addgreek at u@it*{other}{}
+ }
+ {% neither sloped nor upright
+ \LWR at mathjax@addgreek at l@up{other}{}
+ \LWR at mathjax@addgreek at u@it*{other}{}
+ }
+ }
+
+\CustomizeMathJax{\newcommand{\othergreek}[1]{#1}}
+\CustomizeMathJax{\let\varvarrho\varrho}
+\CustomizeMathJax{\let\varvarpi\varpi}
+\CustomizeMathJax{\let\othervarvarpi\othervarpi}
+\CustomizeMathJax{\let\othervarvarrho\othervarrho}
+\CustomizeMathJax{\let\varpartialdiff\partial}
+\CustomizeMathJax{\let\llbracket\lBrack}
+\CustomizeMathJax{\let\rrbracket\rBrack}
+\CustomizeMathJax{\let\dblbrackleft\lBrack}
+\CustomizeMathJax{\let\dblbrackright\rBrack}
+
+\CustomizeMathJax{\let\VERT|}
+
+\CustomizeMathJax{\newcommand{\parallelslant}{\mathrel{\unicode{x02AFD}}}}
+\CustomizeMathJax{\newcommand{\thething}{\mathord{\unicode{x1F60E}}}}
+\CustomizeMathJax{\newcommand{\nparallelslant}{%
+ \mathrel{\LWRoverlaysymbols{-}{\unicode{x02AFD}}}%
+}}
+\CustomizeMathJax{\newcommand{\xswordsup}{\mathord{\unicode{x2694}}}}
+\CustomizeMathJax{\newcommand{\xswordsdown}{\mathord{\unicode{x2694}}}}% up
+\CustomizeMathJax{\newcommand{\notowns}{\mathrel{\unicode{x220C}}}}
+
+\CustomizeMathJax{\newcommand{\iintop}{\mathop{\unicode{x222C}}\limits}}
+\CustomizeMathJax{\newcommand{\iiintop}{\mathop{\unicode{x222D}}\limits}}
+\CustomizeMathJax{\newcommand{\oiint}{\mathop{\unicode{x222F}}\limits}}
+\CustomizeMathJax{\let\oiintop\oiint}
+\CustomizeMathJax{\newcommand{\oiiint}{\mathop{\unicode{x2230}}\limits}}
+\CustomizeMathJax{\let\oiiintop\oiiint}
+\CustomizeMathJax{\newcommand{\slashint}{\mathop{\unicode{x2A0D}}\limits}}
+\CustomizeMathJax{\let\slashintop\slashint}
+
+\CustomizeMathJax{\let\overgroup\overparen}
+\CustomizeMathJax{\let\wideparen\overparen}
+\CustomizeMathJax{\let\widearc\overparen}
+\CustomizeMathJax{\let\wideOarc\overrightarrow}
+\CustomizeMathJax{\newcommand{\widering}[1]{\stackrel{\unicode{x2218}}{\overgroup{#1}}}}
+
+\end{warpMathJax}
+\endinput
+%%
+%% End of file `lwarp-fourier.sty'.
Property changes on: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-fourier.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-fvextra.sty
===================================================================
--- branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-fvextra.sty (rev 0)
+++ branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-fvextra.sty 2021-02-18 22:20:50 UTC (rev 57791)
@@ -0,0 +1,166 @@
+%%
+%% This is file `lwarp-fvextra.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx (with options: `fvextra')
+%% This is a generated file.
+%% Copyright 2016-2020 Brian Dunn
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+\LWR at ProvidesPackagePass{fvextra}[2019/02/04]
+
+\define at booleankey{FV}{obeytabs}%
+ {\let\FV at ObeyTabsInit\relax}
+ {\let\FV at ObeyTabsInit\relax}
+
+\define at key{FV}{tabcolor}%
+ {}
+
+\define at key{FV}{tab}{}
+
+\define at booleankey{FV}{showtabs}%
+ {\let\FV at TabChar\relax}
+ {\let\FV at TabChar\relax}
+
+\newbool{LWR at FV@breaklines}
+
+\define at booleankey{FV}{breaklines}%
+ {\FV at BreakLinesfalse
+ \booltrue{LWR at FV@breaklines}
+ \let\FV at ListProcessLine\FV at ListProcessLine@NoBreak}
+ {\FV at BreakLinesfalse
+ \boolfalse{LWR at FV@breaklines}
+ \let\FV at ListProcessLine\FV at ListProcessLine@NoBreak}
+
+\define at key{FV}{breakanywheresymbolpre}{\def\FancyVerbBreakAnywhereSymbolPre{}}
+\fvset{breakanywheresymbolpre={}}
+
+\define at key{FV}{breakanywheresymbolpost}{\def\FancyVerbBreakAnywhereSymbolPost{}}
+\fvset{breakanywheresymbolpost={}}
+
+\define at key{FV}{breakbeforesymbolpre}{\def\FancyVerbBreakBeforeSymbolPre{}}
+\fvset{breakbeforesymbolpre={}}
+
+\define at key{FV}{breakbeforesymbolpost}{\def\FancyVerbBreakBeforeSymbolPost{}}
+\fvset{breakbeforesymbolpost={}}
+
+\define at key{FV}{breakaftersymbolpre}{\def\FancyVerbBreakAfterSymbolPre{}}
+\fvset{breakaftersymbolpre={}}
+
+\define at key{FV}{breakaftersymbolpost}{\def\FancyVerbBreakAfterSymbolPost{}}
+\fvset{breakaftersymbolpost={}}
+
+\define at key{FV}{breaksymbolleft}{\def\FancyVerbBreakSymbolLeft{}}
+
+\define at key{FV}{breaksymbol}{\fvset{breaksymbolleft={}}}
+
+\fvset{breaksymbolleft={}}
+
+\define at key{FV}{breaksymbolright}{\def\FancyVerbBreakSymbolRight{}}
+\fvset{breaksymbolright={}}
+
+\def\FV at ListProcessLine@NoBreak#1{%
+ \FV at LeftListNumber%
+ \FV at LeftListFrame%
+ \FancyVerbFormatLine{%
+ \FancyVerbHighlightLine{%
+ \FV at ObeyTabs{\FancyVerbFormatText{#1}}}}%\hss
+ \FV at RightListFrame%
+ \FV at RightListNumber%
+\null\par% lwarp
+}
+
+\newcommand*{\LWR at FV@linethensep}{%
+ \ifbool{LWR at FV@breaklines}%
+ {\theFancyVerbLine\kern\FV at NumberSep}%
+ {\hbox to\z@{\hss\theFancyVerbLine\kern\FV at NumberSep}}%
+}
+
+\newcommand*{\LWR at FV@septhenline}{%
+ \ifbool{LWR at FV@breaklines}%
+ {\kern\FV at NumberSep\theFancyVerbLine}%
+ {\hbox to\z@{\kern\FV at NumberSep\theFancyVerbLine\hss}}%
+}
+
+\xpatchcmd{\FV at Numbers@left}
+ {\hbox to\z@{\hss\theFancyVerbLine\kern\FV at NumberSep}}
+ {\LWR at FV@linethensep}
+ {}
+ {\LWR at patcherror{fvextra}{FV at Numbers@left A}}
+
+\xpatchcmd{\FV at Numbers@left}
+ {\hbox to\z@{\hss\theFancyVerbLine\kern\FV at NumberSep}}
+ {\LWR at FV@linethensep}
+ {}
+ {\LWR at patcherror{fvextra}{FV at Numbers@left B}}
+
+\xpatchcmd{\FV at Numbers@left}
+ {\hbox to\z@{\hss\theFancyVerbLine\kern\FV at NumberSep}}
+ {\LWR at FV@linethensep}
+ {}
+ {\LWR at patcherror{fvextra}{FV at Numbers@left C}}
+
+\xpatchcmd{\FV at Numbers@right}
+ {\hbox to\z@{\kern\FV at NumberSep\theFancyVerbLine\hss}}
+ {\LWR at FV@septhenline}
+ {}
+ {\LWR at patcherror{fvextra}{FV at Numbers@right A}}
+
+\xpatchcmd{\FV at Numbers@right}
+ {\hbox to\z@{\kern\FV at NumberSep\theFancyVerbLine\hss}}
+ {\LWR at FV@septhenline}
+ {}
+ {\LWR at patcherror{fvextra}{FV at Numbers@right B}}
+
+\xpatchcmd{\FV at Numbers@right}
+ {\hbox to\z@{\hss\theFancyVerbLine\kern\FV at NumberSep}}
+ {\LWR at FV@linethensep}
+ {}
+ {\LWR at patcherror{fvextra}{FV at Numbers@right C}}
+
+\xpatchcmd{\FV at Numbers@both}
+ {\hbox to\z@{\hss\theFancyVerbLine\kern\FV at NumberSep}}
+ {\LWR at FV@linethensep}
+ {}
+ {\LWR at patcherror{fvextra}{FV at Numbers@both A}}
+
+\xpatchcmd{\FV at Numbers@both}
+ {\hbox to\z@{\hss\theFancyVerbLine\kern\FV at NumberSep}}
+ {\LWR at FV@linethensep}
+ {}
+ {\LWR at patcherror{fvextra}{FV at Numbers@both B}}
+
+\xpatchcmd{\FV at Numbers@both}
+ {\hbox to\z@{\hss\theFancyVerbLine\kern\FV at NumberSep}}
+ {\LWR at FV@linethensep}
+ {}
+ {\LWR at patcherror{fvextra}{FV at Numbers@both C}}
+
+\xpatchcmd{\FV at Numbers@both}
+ {\hbox to\z@{\kern\FV at NumberSep\theFancyVerbLine\hss}}
+ {\LWR at FV@septhenline}
+ {}
+ {\LWR at patcherror{fvextra}{FV at Numbers@both D}}
+
+\xpatchcmd{\FV at Numbers@both}
+ {\hbox to\z@{\kern\FV at NumberSep\theFancyVerbLine\hss}}
+ {\LWR at FV@septhenline}
+ {}
+ {\LWR at patcherror{fvextra}{FV at Numbers@both E}}
+
+\xpatchcmd{\FV at Numbers@both}
+ {\hbox to\z@{\hss\theFancyVerbLine\kern\FV at NumberSep}}
+ {\LWR at FV@linethensep}
+ {}
+ {\LWR at patcherror{fvextra}{FV at Numbers@both F}}
+\endinput
+%%
+%% End of file `lwarp-fvextra.sty'.
Property changes on: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-fvextra.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-gindex.sty
===================================================================
--- branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-gindex.sty (rev 0)
+++ branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-gindex.sty 2021-02-18 22:20:50 UTC (rev 57791)
@@ -0,0 +1,42 @@
+%%
+%% This is file `lwarp-gindex.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx (with options: `gindex')
+%% This is a generated file.
+%% Copyright 2016-2020 Brian Dunn
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+\LWR at ProvidesPackagePass{gindex}[2019/10/07]
+\AtBeginDocument{
+ \robustify{\indexpagessep}
+ \robustify{\indexrangesep}
+ \renewcommand*{\IndexPageSeparator}{\indexpagessep}
+ \renewcommand*{\IndexRangeSeparator}{\indexrangesep}
+}
+\def\addindexitem#1#2{%
+ \indexflushitem
+ \gix at getspecial#1\indexspecial\indexspecial\@@\indexitem{\hyperindexref{#2}}}
+
+\def\addindexsubitem#1#2{%
+ \stepcounter{indexsubitems}%
+ \gix at getspecial#1\indexspecial\indexspecial\@@\indexsubitem{\hyperindexref{#2}}}
+
+\def\addindexsubsubitem#1#2{%
+ \gix at getspecial#1\indexspecial\indexspecial\@@\indexsubsubitem{\hyperindexref{#2}}}
+\renewcommand\indexheading[1]{%
+ \begin{BlockClass}{indexheading}
+ \MakeUppercase{#1}%
+ \end{BlockClass}
+}
+\endinput
+%%
+%% End of file `lwarp-gindex.sty'.
Property changes on: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-gindex.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-glossaries.sty
===================================================================
--- branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-glossaries.sty 2021-02-18 22:18:09 UTC (rev 57790)
+++ branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-glossaries.sty 2021-02-18 22:20:50 UTC (rev 57791)
@@ -24,7 +24,7 @@
\setglossarystyle{index}
\renewcommand*{\@p at glossarysection}[2]{%
\glsclearpage
- \phantomsection
+ \LWR at phantomsection
\ifdefempty\@@glossarysecstar
{%
\csname\@@glossarysec\endcsname{#2}%
Modified: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-graphics.sty
===================================================================
--- branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-graphics.sty 2021-02-18 22:18:09 UTC (rev 57790)
+++ branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-graphics.sty 2021-02-18 22:20:50 UTC (rev 57791)
@@ -17,7 +17,7 @@
%% version 2005/12/01 or later.
-\LWR at ProvidesPackagePass{graphics}[2017/06/25]
+\LWR at ProvidesPackagePass{graphics}[2020/08/30]
\AtBeginDocument{
@@ -102,9 +102,8 @@
\define at key{igraph}{scale}{%
\ifthenelse{\equal{#1}{1}}{}{% must expand #1
\PackageWarning{lwarp}{%
- It is recommended to use\MessageBreak
- [width=xx\protect\linewidth]\MessageBreak
- instead of [scale=yy],%
+ It is recommended to use ``[width=xx\protect\linewidth]''\MessageBreak
+ instead of ``[scale=yy]'',%
}%
}%
\renewcommand*{\LWR at igxscale}{#1}%
@@ -252,9 +251,9 @@
\newcommand*{\LWR at ig@htmltag}{%
img\LWR at indentHTML%
- src="%
+ src=\textquotedbl%
\detokenize\expandafter{\LWR at parsedfilename}%
- "\LWR at indentHTML%
+ \textquotedbl\LWR at indentHTML%
\ifthenelse{
\NOT\equal{\LWR at igwidthstyle}{} \OR
\NOT\equal{\LWR at igheightstyle}{} \OR
@@ -264,7 +263,7 @@
\NOT\equal{\LWR at igyscale}{1}
}%
{%
- style="\LWR at indentHTML
+ style=\textquotedbl\LWR at indentHTML
\ifthenelse{\NOT\equal{\LWR at igwidthstyle}{}}%
{\LWR at igwidthstyle;\LWR at indentHTML}{}%
\ifthenelse{\NOT\equal{\LWR at igheightstyle}{}}%
@@ -296,10 +295,10 @@
\ifthenelse{\NOT\equal{\LWR at opacity}{1}}%
{opacity:\LWR at opacity;\LWR at indentHTML}{}%
%
- "\LWR at indentHTML%
+ \textquotedbl\LWR at indentHTML%
}{}%
- class="\LWR at igclass"\LWR at indentHTML%
- alt="\AltTextOpen\LWR at igalt\AltTextClose" \LWR at orignewline%
+ class=\textquotedbl\LWR at igclass\textquotedbl\LWR at indentHTML%
+ alt=\textquotedbl\AltTextOpen\LWR at igalt\AltTextClose\textquotedbl\ \LWR at orignewline%
}% end of image tags
\NewDocumentCommand{\LWR at includegraphicsb}{s o o m}
@@ -336,10 +335,11 @@
\Ginclude at graphics{\detokenize\expandafter{\LWR at tempone}}%
\endgroup%
\filename at parse{\LWR at parsedfilename}%
+ \StrSubstitute{\LWR at parsedfilename}{//}{/}[\LWR at parsedfilename]%
\LWR at traceinfo{LWR at parsedfilename is \LWR at parsedfilename}%
\LWR at ig@wpimagesizes{#1}{#2}{#3}{#4}%
\LWR at traceinfo{LWR at includegraphicsb: about to create href}%
- \href{\LWR at parsedfilename}%
+ \LWR at href{\LWR at parsedfilename}%
{% start of href
\LWR at traceinfo{LWR at includegraphicsb: about to LWR at htmltag}%
\LWR at htmltag{\LWR at ig@htmltag}%
@@ -393,7 +393,7 @@
\setkeys{krotbox}{#1}%
\LWR at htmltagc{%
span\LWR at indentHTML
- style="\LWR at indentHTML
+ style=\textquotedbl\LWR at indentHTML
display: inline-block;\LWR at indentHTML
\ifthenelse{\NOT\equal{\LWR at rotboxorigin}{}}%
{transform-origin: \LWR at originnames{\LWR at rotboxorigin};\LWR at indentHTML}%
@@ -400,7 +400,7 @@
{}%
\LWR at rotstyle{-ms-}{#2}\LWR at indentHTML
\LWR at rotstyle{-webkit-}{#2}\LWR at indentHTML
- \LWR at rotstyle{}{#2}"\LWR at orignewline%
+ \LWR at rotstyle{}{#2}\textquotedbl\LWR at orignewline%
}\LWR at orignewline%
\begin{LWR at nestspan}%
#3%
@@ -415,12 +415,12 @@
\NewDocumentCommand{\LWR at HTML@scalebox}{m o m}{%
\LWR at htmltagc{%
span\LWR at indentHTML
- style="\LWR at indentHTML
+ style=\textquotedbl\LWR at indentHTML
display: inline-block;\LWR at indentHTML
\LWR at scalestyle{-ms-}{#1}{\IfNoValueTF{#2}{#1}{#2}}\LWR at indentHTML
\LWR at scalestyle{-webkit-}{#1}{\IfNoValueTF{#2}{#1}{#2}}\LWR at indentHTML
\LWR at scalestyle{}{#1}{\IfNoValueTF{#2}{#1}{#2}}
- "\LWR at orignewline
+ \textquotedbl\LWR at orignewline
}\LWR at orignewline%
\begin{LWR at nestspan}%
#3%
@@ -434,7 +434,7 @@
\AtBeginDocument{
\newcommand{\LWR at HTML@reflectbox}[1]{%
-\scalebox{-1}[1]{#1}%
+ \scalebox{-1}[1]{#1}%
}% \reflectbox
\LWR at formatted{reflectbox}
@@ -444,7 +444,7 @@
\AtBeginDocument{
\NewDocumentCommand{\LWR at HTML@resizebox}{s m m m}{%
-#4%
+ #4%
}
\LWR at formatted{resizebox}
Modified: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-graphicx.sty
===================================================================
--- branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-graphicx.sty 2021-02-18 22:18:09 UTC (rev 57790)
+++ branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-graphicx.sty 2021-02-18 22:20:50 UTC (rev 57791)
@@ -17,7 +17,7 @@
%% version 2005/12/01 or later.
-\LWR at ProvidesPackagePass{graphicx}[2017/06/01]
+\LWR at ProvidesPackagePass{graphicx}[2020/09/09]
\endinput
%%
Modified: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-hang.sty
===================================================================
--- branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-hang.sty 2021-02-18 22:18:09 UTC (rev 57790)
+++ branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-hang.sty 2021-02-18 22:20:50 UTC (rev 57791)
@@ -42,7 +42,7 @@
\renewcommand*{\LWR at printcloselist}{\LWR at printcloseitemize}%
\renewcommand*{\LWR at printopenlist}{%
\LWR at findhangingleftmargin%
- ul style="%
+ ul style=\textquotedbl%
\LWR at print@mbox{list-style-type:none;} % extra space
\LWR at print@mbox{%
margin-left:\LWR at printlength{\LWR at templengthone}%
@@ -50,7 +50,7 @@
\LWR at print@mbox{%
text-indent:-\LWR at printlength{\hangingindent}%
}%
- "%
+ \textquotedbl%
}%
\let\item\LWR at itemizeitem%
\list{}{}%
Added: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-hepunits.sty
===================================================================
--- branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-hepunits.sty (rev 0)
+++ branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-hepunits.sty 2021-02-18 22:20:50 UTC (rev 57791)
@@ -0,0 +1,84 @@
+%%
+%% This is file `lwarp-hepunits.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx (with options: `hepunits')
+%% This is a generated file.
+%% Copyright 2016-2020 Brian Dunn
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+\LWR at ProvidesPackagePass{hepunits}[2020/04/10]
+\begin{warpMathJax}
+\LWR at infoprocessingmathjax{hepunits}
+
+\ifx\@HEPopt at 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 at 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 at 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}
+\endinput
+%%
+%% End of file `lwarp-hepunits.sty'.
Property changes on: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-hepunits.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-hhtensor.sty
===================================================================
--- branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-hhtensor.sty (rev 0)
+++ branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-hhtensor.sty 2021-02-18 22:20:50 UTC (rev 57791)
@@ -0,0 +1,47 @@
+%%
+%% This is file `lwarp-hhtensor.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx (with options: `hhtensor')
+%% This is a generated file.
+%% Copyright 2016-2020 Brian Dunn
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+\LWR at ProvidesPackagePass{hhtensor}[2011/12/29]
+\begin{warpMathJax}
+\iftensor at bold
+ \CustomizeMathJax{\newcommand{\vec}[1]{\boldsymbol{#1}}}
+ \CustomizeMathJax{\newcommand{\matr}[1]{\boldsymbol{#1}}}
+ \CustomizeMathJax{\newcommand{\tens}[2]{\boldsymbol{#1}}}
+\else
+ \iftensor at 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}
+\endinput
+%%
+%% End of file `lwarp-hhtensor.sty'.
Property changes on: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-hhtensor.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-hyperref.sty
===================================================================
--- branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-hyperref.sty 2021-02-18 22:18:09 UTC (rev 57790)
+++ branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-hyperref.sty 2021-02-18 22:20:50 UTC (rev 57791)
@@ -20,16 +20,260 @@
\PackageInfo{lwarp}{%
Using the lwarp HTML version of package `hyperref',\MessageBreak
-and discarding options.\MessageBreak
+and discarding options except backref, pagebackref.\MessageBreak
(Not using \protect\ProvidesPackage, so that other packages\MessageBreak
do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
+\SetupKeyvalOptions{family=LWR at hyperref,prefix=LWR at hyperref@}
-\DeclareOption*{}
-\let\ds@\@empty% from the original \ProcessOptions
-\edef\@curroptions{}% lwarp modification to \ProcessOptions
-\@process at ptions\relax% from the original \ProcessOptions
+\newcommand{\hypersetup}[1]{\setkeys{LWR at hyperref}{#1}}
-\newcommand*{\hypersetup}[1]{}
+\define at key{LWR at hyperref}{a4paper}[]{}
+\define at key{LWR at hyperref}{a5paper}[]{}
+\define at key{LWR at hyperref}{b5paper}[]{}
+\define at key{LWR at hyperref}{letterpaper}[]{}
+\define at key{LWR at hyperref}{legalpaper}[]{}
+\define at key{LWR at hyperref}{executivepaper}[]{}
+\define at key{LWR at hyperref}{implicit}[]{}
+\define at key{LWR at hyperref}{draft}[]{}
+\define at key{LWR at hyperref}{final}[]{}
+\define at key{LWR at hyperref}{setpagesize}[]{}
+\define at key{LWR at hyperref}{debug}[]{}
+\define at key{LWR at hyperref}{linktocpage}[]{}
+\define at key{LWR at hyperref}{linktoc}[]{}
+\define at key{LWR at hyperref}{extension}[]{}
+\define at key{LWR at hyperref}{verbose}[]{}
+\define at key{LWR at hyperref}{typexml}[]{}
+\define at key{LWR at hyperref}{raiselinks}[]{}
+\define at key{LWR at hyperref}{breaklinks}[]{}
+\define at key{LWR at hyperref}{localanchorname}[]{}
+\define at key{LWR at hyperref}{pageanchor}[]{}
+\define at key{LWR at hyperref}{plainpages}[]{}
+\define at key{LWR at hyperref}{naturalnames}[]{}
+\define at key{LWR at hyperref}{hypertexnames}[]{}
+\define at key{LWR at hyperref}{nesting}[]{}
+\define at key{LWR at hyperref}{destlabel}[]{}
+\define at key{LWR at hyperref}{unicode}[]{}
+\define at key{LWR at hyperref}{pdfencoding}[]{}
+\define at key{LWR at hyperref}{psdextra}[]{}
+\define at key{LWR at hyperref}{pdfversion}[]{}
+\define at key{LWR at hyperref}{dvipdfmx-outline-open}[]{}
+\define at key{LWR at hyperref}{driverfallback}[]{}
+\define at key{LWR at hyperref}{customdriver}[]{}
+\define at key{LWR at hyperref}{hyperfigures}[]{}
+\define at key{LWR at hyperref}{hyperfootnotes}[]{}
+\define at key{LWR at hyperref}{hyperindex}[]{}
+\define at key{LWR at hyperref}{encap}[]{}
+\define at key{LWR at hyperref}{colorlinks}[]{}
+\define at key{LWR at hyperref}{ocgcolorlinks}[]{}
+\define at key{LWR at hyperref}{frenchlinks}[]{}
+\define at key{LWR at hyperref}{bookmarks}[]{}
+\define at key{LWR at hyperref}{bookmarksopen}[]{}
+\define at key{LWR at hyperref}{bookmarksdepth}[]{}
+\define at key{LWR at hyperref}{bookmarksopenlevel}[]{}
+\define at key{LWR at hyperref}{bookmarkstype}[]{}
+\define at key{LWR at hyperref}{bookmarksnumbered}[]{}
+\define at key{LWR at hyperref}{CJKbookmarks}[]{}
+\define at key{LWR at hyperref}{link}[]{}
+\define at key{LWR at hyperref}{anchor}[]{}
+\define at key{LWR at hyperref}{cite}[]{}
+\define at key{LWR at hyperref}{file}[]{}
+\define at key{LWR at hyperref}{url}[]{}
+\define at key{LWR at hyperref}{menu}[]{}
+\define at key{LWR at hyperref}{run}[]{}
+\define at key{LWR at hyperref}{linkbordercolor}[]{}
+\define at key{LWR at hyperref}{anchorbordercolor}[]{}
+\define at key{LWR at hyperref}{citebordercolor}[]{}
+\define at key{LWR at hyperref}{filebordercolor}[]{}
+\define at key{LWR at hyperref}{urlbordercolor}[]{}
+\define at key{LWR at hyperref}{menubordercolor}[]{}
+\define at key{LWR at hyperref}{runbordercolor}[]{}
+\define at key{LWR at hyperref}{pagecolor}[]{}
+\define at key{LWR at hyperref}{baseurl}[]{}
+\define at key{LWR at hyperref}{linkfileprefix}[]{}
+\define at key{LWR at hyperref}{pdfpagetransition}[]{}
+\define at key{LWR at hyperref}{pdfpageduration}[]{}
+\define at key{LWR at hyperref}{pdfpagehidden}[]{}
+\define at key{LWR at hyperref}{pagebordercolor}[]{}
+\define at key{LWR at hyperref}{allbordercolors}[]{}
+\define at key{LWR at hyperref}{pdfhighlight}[]{}
+\define at key{LWR at hyperref}{pdfborder}[]{}
+\define at key{LWR at hyperref}{pdfborderstyle}[]{}
+\define at key{LWR at hyperref}{pdfprintpagerange}[]{}
+\define at key{LWR at hyperref}{pdfusetitle}[]{}
+\define at key{LWR at hyperref}{pdftitle}[]{}
+\define at key{LWR at hyperref}{pdfauthor}[]{}
+\define at key{LWR at hyperref}{pdfproducer}[]{}
+\define at key{LWR at hyperref}{pdfcreator}[]{}
+\define at key{LWR at hyperref}{addtopdfcreator}[]{}
+\define at key{LWR at hyperref}{pdfcreationdate}[]{}
+\define at key{LWR at hyperref}{pdfmoddate}[]{}
+\define at key{LWR at hyperref}{pdfsubject}[]{}
+\define at key{LWR at hyperref}{pdfkeywords}[]{}
+\define at key{LWR at hyperref}{pdftrapped}[]{}
+\define at key{LWR at hyperref}{pdfinfo}[]{}
+\define at key{LWR at hyperref}{pdfview}[]{}
+\define at key{LWR at hyperref}{pdflinkmargin}[]{}
+\define at key{LWR at hyperref}{pdfstartpage}[]{}
+\define at key{LWR at hyperref}{pdfstartview}[]{}
+\define at key{LWR at hyperref}{pdfremotestartview}[]{}
+\define at key{LWR at hyperref}{pdfpagescrop}[]{}
+\define at key{LWR at hyperref}{pdftoolbar}[]{}
+\define at key{LWR at hyperref}{pdfmenubar}[]{}
+\define at key{LWR at hyperref}{pdfwindowui}[]{}
+\define at key{LWR at hyperref}{pdffitwindow}[]{}
+\define at key{LWR at hyperref}{pdfcenterwindow}[]{}
+\define at key{LWR at hyperref}{pdfdisplaydoctitle}[]{}
+\define at key{LWR at hyperref}{pdfa}[]{}
+\define at key{LWR at hyperref}{pdfnewwindow}[]{}
+\define at key{LWR at hyperref}{pdflang}[]{}
+\define at key{LWR at hyperref}{pdfpagelabels}[]{}
+\define at key{LWR at hyperref}{pdfescapeform}[]{}
+\define at key{LWR at hyperref}{english}[]{}
+\define at key{LWR at hyperref}{UKenglish}[]{}
+\define at key{LWR at hyperref}{british}[]{}
+\define at key{LWR at hyperref}{USenglish}[]{}
+\define at key{LWR at hyperref}{american}[]{}
+\define at key{LWR at hyperref}{german}[]{}
+\define at key{LWR at hyperref}{austrian}[]{}
+\define at key{LWR at hyperref}{ngerman}[]{}
+\define at key{LWR at hyperref}{naustrian}[]{}
+\define at key{LWR at hyperref}{russian}[]{}
+\define at key{LWR at hyperref}{brazil}[]{}
+\define at key{LWR at hyperref}{brazilian}[]{}
+\define at key{LWR at hyperref}{portuguese}[]{}
+\define at key{LWR at hyperref}{spanish}[]{}
+\define at key{LWR at hyperref}{catalan}[]{}
+\define at key{LWR at hyperref}{afrikaans}[]{}
+\define at key{LWR at hyperref}{french}[]{}
+\define at key{LWR at hyperref}{frenchb}[]{}
+\define at key{LWR at hyperref}{francais}[]{}
+\define at key{LWR at hyperref}{acadian}[]{}
+\define at key{LWR at hyperref}{canadien}[]{}
+\define at key{LWR at hyperref}{italian}[]{}
+\define at key{LWR at hyperref}{magyar}[]{}
+\define at key{LWR at hyperref}{hungarian}[]{}
+\define at key{LWR at hyperref}{greek}[]{}
+\define at key{LWR at hyperref}{dutch}[]{}
+\define at key{LWR at hyperref}{tex4ht}[]{}
+\define at key{LWR at hyperref}{pdftex}[]{}
+\define at key{LWR at hyperref}{luatex}[]{}
+\define at key{LWR at hyperref}{nativepdf}[]{}
+\define at key{LWR at hyperref}{dvipdfm}[]{}
+\define at key{LWR at hyperref}{dvipdfmx}[]{}
+\define at key{LWR at hyperref}{xetex}[]{}
+\define at key{LWR at hyperref}{pdfmark}[]{}
+\define at key{LWR at hyperref}{dvips}[]{}
+\define at key{LWR at hyperref}{hypertex}[]{}
+\define at key{LWR at hyperref}{vtex}[]{}
+\define at key{LWR at hyperref}{vtexpdfmark}[]{}
+\define at key{LWR at hyperref}{dviwindo}[]{}
+\define at key{LWR at hyperref}{dvipsone}[]{}
+\define at key{LWR at hyperref}{textures}[]{}
+\define at key{LWR at hyperref}{latex2html}[]{}
+\define at key{LWR at hyperref}{ps2pdf}[]{}
+\define at key{LWR at hyperref}{vietnamese}[]{}
+\define at key{LWR at hyperref}{vietnam}[]{}
+\define at key{LWR at hyperref}{arabic}[]{}
+\define at key{LWR at hyperref}{hidelinks}[]{}
+\define at key{LWR at hyperref}{draft}[]{}
+\define at key{LWR at hyperref}{nolinks}[]{}
+\define at key{LWR at hyperref}{final}[]{}
+\define at key{LWR at hyperref}{pdfa}[]{}
+\define at key{LWR at hyperref}{pdfversion}[]{}
+\define at key{LWR at hyperref}{typexml}[]{}
+\define at key{LWR at hyperref}{tex4ht}[]{}
+\define at key{LWR at hyperref}{pdftex}[]{}
+\define at key{LWR at hyperref}{nativepdf}[]{}
+\define at key{LWR at hyperref}{dvipdfm}[]{}
+\define at key{LWR at hyperref}{dvipdfmx}[]{}
+\define at key{LWR at hyperref}{dvipdfmx-outline-open}[]{}
+\define at key{LWR at hyperref}{pdfmark}[]{}
+\define at key{LWR at hyperref}{dvips}[]{}
+\define at key{LWR at hyperref}{hypertex}[]{}
+\define at key{LWR at hyperref}{vtex}[]{}
+\define at key{LWR at hyperref}{vtexpdfmark}[]{}
+\define at key{LWR at hyperref}{dviwindo}[]{}
+\define at key{LWR at hyperref}{dvipsone}[]{}
+\define at key{LWR at hyperref}{textures}[]{}
+\define at key{LWR at hyperref}{latex2html}[]{}
+\define at key{LWR at hyperref}{ps2pdf}[]{}
+\define at key{LWR at hyperref}{xetex}[]{}
+\define at key{LWR at hyperref}{driverfallback}[]{}
+\define at key{LWR at hyperref}{customdriver}[]{}
+\define at key{LWR at hyperref}{pdfversion}[]{}
+\define at key{LWR at hyperref}{bookmarks}[]{}
+\define at key{LWR at hyperref}{ocgcolorlinks}[]{}
+\define at key{LWR at hyperref}{colorlinks}[]{}
+\define at key{LWR at hyperref}{frenchlinks}[]{}
+\define at key{LWR at hyperref}{backref}[]{}
+\define at key{LWR at hyperref}{pagebackref}[]{}
+\define at key{LWR at hyperref}{destlabel}[]{}
+\define at key{LWR at hyperref}{pdfpagescrop}[]{}
+\define at key{LWR at hyperref}{pdfpagemode}[]{}
+\define at key{LWR at hyperref}{pdfnonfullscreenpagemode}[]{}
+\define at key{LWR at hyperref}{pdfdirection}[]{}
+\define at key{LWR at hyperref}{pdfviewarea}[]{}
+\define at key{LWR at hyperref}{pdfviewclip}[]{}
+\define at key{LWR at hyperref}{pdfprintarea}[]{}
+\define at key{LWR at hyperref}{pdfprintclip}[]{}
+\define at key{LWR at hyperref}{pdfprintscaling}[]{}
+\define at key{LWR at hyperref}{pdfduplex}[]{}
+\define at key{LWR at hyperref}{pdfpicktraybypdfsize}[]{}
+\define at key{LWR at hyperref}{pdfprintpagerange}[]{}
+\define at key{LWR at hyperref}{pdfnumcopies}[]{}
+\define at key{LWR at hyperref}{pdfstartview}[]{}
+\define at key{LWR at hyperref}{pdfstartpage}[]{}
+\define at key{LWR at hyperref}{pdftoolbar}[]{}
+\define at key{LWR at hyperref}{pdfmenubar}[]{}
+\define at key{LWR at hyperref}{pdfwindowui}[]{}
+\define at key{LWR at hyperref}{pdffitwindow}[]{}
+\define at key{LWR at hyperref}{pdfcenterwindow}[]{}
+\define at key{LWR at hyperref}{pdfdisplaydoctitle}[]{}
+\define at key{LWR at hyperref}{pdfpagelayout}[]{}
+\define at key{LWR at hyperref}{pdflang}[]{}
+\define at key{LWR at hyperref}{baseurl}[]{}
+\define at key{LWR at hyperref}{pdfusetitle}[]{}
+\define at key{LWR at hyperref}{pdfpagelabels}[]{}
+\define at key{LWR at hyperref}{hyperfootnotes}[]{}
+\define at key{LWR at hyperref}{hyperfigures}[]{}
+\define at key{LWR at hyperref}{hyperindex}[]{}
+\define at key{LWR at hyperref}{encap}[]{}
+\define at key{LWR at hyperref}{linkcolor}[]{}
+\define at key{LWR at hyperref}{anchorcolor}[]{}
+\define at key{LWR at hyperref}{citecolor}[]{}
+\define at key{LWR at hyperref}{filecolor}[]{}
+\define at key{LWR at hyperref}{urlcolor}[]{}
+\define at key{LWR at hyperref}{menucolor}[]{}
+\define at key{LWR at hyperref}{runcolor}[]{}
+\define at key{LWR at hyperref}{allcolors}[]{}
+
+\DeclareStringOption[false]{backref}[section]
+
+\DeclareBoolOption{pagebackref}
+
+\DeclareDefaultOption{}
+
+\ProcessKeyvalOptions*\relax
+\ifdefstring{\LWR at hyperref@backref}{section}
+ {\RequirePackage{backref}}
+ {}
+
+\ifdefstring{\LWR at hyperref@backref}{slide}
+ {\RequirePackage{backref}}
+ {}
+
+\ifdefstring{\LWR at hyperref@backref}{page}
+ {\RequirePackage{backref}}
+ {}
+
+\ifLWR at hyperref@pagebackref
+ \RequirePackage{backref}
+\fi
+\LetLtxMacro\href\LWR at href
+\LetLtxMacro\nolinkurl\LWR at nolinkurl
+\LetLtxMacro\url\LWR at url
+\LetLtxMacro\phantomsection\LWR at phantomsection
+
\newcommand*{\hyperbaseurl}[1]{}
\NewDocumentCommand{\LWR at hyperimageb}{m +m}{%
@@ -36,7 +280,11 @@
\LWR at ensuredoingapar%
\def\LWR at templink{#1}%
\@onelevel at sanitize\LWR at templink%
- \LWR at htmltag{img src="\LWR at templink" alt="#2" class="hyperimage"}%
+ \LWR at htmltag{%
+ img src=\textquotedbl\LWR at templink\textquotedbl\ %
+ alt=\textquotedbl#2\textquotedbl\ %
+ class=\textquotedbl{}hyperimage\textquotedbl%
+ }%
\LWR at ensuredoingapar%
\endgroup%
}
@@ -49,7 +297,7 @@
\NewDocumentCommand{\LWR at hyperdefb}{m m +m}{%
\LWR at ensuredoingapar%
- \LWR at sublabel{#1.#2}%
+ \LWR at label@createtag{#1.#2}%
#3%
\endgroup%
}
@@ -62,8 +310,8 @@
\newcommand{\LWR at hyperreffinish}[1]{%
\begingroup%
- \RenewDocumentCommand{\ref}{}{\LWR at ref@ignorestar}%
- #1%
+ \RenewDocumentCommand{\ref}{s m}{\LWR at print@ref{##2}}%
+ #1%
\endgroup%
\LWR at htmltag{/a}%
}
@@ -70,10 +318,10 @@
\newcommand*{\LWR at hyperrefbb}[3]{%
\LWR at htmltag{%
- a href="%
+ a href=\textquotedbl%
\detokenize\expandafter{#1}\LWR at hashmark%
\detokenize\expandafter{#2}.\detokenize\expandafter{#3}%
- "%
+ \textquotedbl%
\LWR at addlinktitle%
}%
\endgroup%
@@ -144,6 +392,7 @@
\newcommand{\belowpdfbookmark}[2]{}
+\let\texorpdfstring\relax
\newcommand{\texorpdfstring}[2]{#1}
\newcommand{\pdfstringdefDisableCommands}[1]{}
Modified: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-idxlayout.sty
===================================================================
--- branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-idxlayout.sty 2021-02-18 22:18:09 UTC (rev 57790)
+++ branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-idxlayout.sty 2021-02-18 22:20:50 UTC (rev 57791)
@@ -17,16 +17,16 @@
%% version 2005/12/01 or later.
\LWR at ProvidesPackageDrop{idxlayout}[2012/03/30]
\newcommand{\LWR at indexprenote}{}
+\AtBeginDocument{
+ \preto\printindex{
-\preto\printindex{
+ \LWR at maybe@orignewpage
+ \LWR at startpars
-\LWR at orignewpage
-\LWR at startpars
+ \LWR at indexprenote
-\LWR at indexprenote
-
+ }
}
-
\newcommand{\setindexprenote}[1]{\renewcommand{\LWR at indexprenote}{#1}}
\newcommand*{\noindexprenote}{\renewcommand{\LWR at indexprenote}{}}
Modified: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-imakeidx.sty
===================================================================
--- branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-imakeidx.sty 2021-02-18 22:18:09 UTC (rev 57790)
+++ branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-imakeidx.sty 2021-02-18 22:20:50 UTC (rev 57791)
@@ -22,7 +22,7 @@
\catcode`\_=12%
\renewcommand*{\printindex}[1][\imki at jobname]{%
-\LWR at orignewpage%
+\LWR at maybe@orignewpage%
\LWR at startpars%
\ifstrequal{#1}{\imki at jobname}{%
\@ifundefined{#1 at idxfile}{%
@@ -80,7 +80,7 @@
}
\renewcommand\imki at wrindexentrysplit[3]{%
\addtocounter{LWR at autoindex}{1}%
-\LWR at new@label{LWRindex-\arabic{LWR at autoindex}}%
+\label{LWRindex-\arabic{LWR at autoindex}}%
\expandafter\protected at write\csname#1 at idxfile\endcsname{}%
{\string\indexentry{#2}{\arabic{LWR at autoindex}}}%
}
@@ -87,7 +87,7 @@
\renewcommand\imki at wrindexentryunique[3]{%
\addtocounter{LWR at autoindex}{1}%
-\LWR at new@label{LWRindex-\arabic{LWR at autoindex}}%
+\label{LWRindex-\arabic{LWR at autoindex}}%
\protected at write\@indexfile{}%
{\string\indexentry[#1]{#2}{\arabic{LWR at autoindex}}}%
}
Modified: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-index.sty
===================================================================
--- branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-index.sty 2021-02-18 22:18:09 UTC (rev 57790)
+++ branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-index.sty 2021-02-18 22:20:50 UTC (rev 57791)
@@ -37,7 +37,7 @@
{\begingroup}
{%
\addtocounter{LWR at autoindex}{1}% lwarp
- \LWR at new@label{LWRindex-\arabic{LWR at autoindex}}% lwarp
+ \label{LWRindex-\arabic{LWR at autoindex}}% lwarp
\begingroup%
}
{}
Modified: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-intopdf.sty
===================================================================
--- branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-intopdf.sty 2021-02-18 22:18:09 UTC (rev 57790)
+++ branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-intopdf.sty 2021-02-18 22:20:50 UTC (rev 57791)
@@ -17,7 +17,7 @@
%% version 2005/12/01 or later.
\LWR at ProvidesPackageDrop{intopdf}[2019/05/28]
\NewDocumentCommand{\attachandlink}{o m o m m}{%
- \href{#2}{#5}%
+ \LWR at href{#2}{#5}%
}
\endinput
%%
Added: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-isomath.sty
===================================================================
--- branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-isomath.sty (rev 0)
+++ branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-isomath.sty 2021-02-18 22:20:50 UTC (rev 57791)
@@ -0,0 +1,32 @@
+%%
+%% This is file `lwarp-isomath.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx (with options: `isomath')
+%% This is a generated file.
+%% Copyright 2016-2020 Brian Dunn
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+\LWR at ProvidesPackagePass{isomath}[2012/09/04]
+\begin{warpMathJax}
+\CustomizeMathJax{\let\mathbfit\boldsymbol}
+\CustomizeMathJax{\let\mathsfbfit\mathbfit}% not sans
+\CustomizeMathJax{\let\mathsfit\mathit}% not sans
+\CustomizeMathJax{\let\vectorsym\mathbfit}
+\CustomizeMathJax{\let\matrixsym\mathbfit}
+\CustomizeMathJax{\let\tensorsym\mathsfbfit}
+\CustomizeMathJax{\let\mathboldsans\mathsfbfit}
+\CustomizeMathJax{\let\mathbold\mathbfit}
+\CustomizeMathJax{\let\mathsans\mathrm}% not sans
+\end{warpMathJax}
+\endinput
+%%
+%% End of file `lwarp-isomath.sty'.
Property changes on: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-isomath.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-isotope.sty
===================================================================
--- branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-isotope.sty (rev 0)
+++ branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-isotope.sty 2021-02-18 22:20:50 UTC (rev 57791)
@@ -0,0 +1,86 @@
+%%
+%% This is file `lwarp-isotope.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx (with options: `isotope')
+%% This is a generated file.
+%% Copyright 2016-2020 Brian Dunn
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+\LWR at ProvidesPackagePass{isotope}[2011/08/26]
+\newcommand{\LWR at HTML@isotope at two}[2][]{%
+ \renewcommand{\isotope at atomicnumber}{#1}%
+ \edef\LWR at isotope@alttag{%
+ \textbackslash(
+ \textbackslash{}isotope
+ [\isotope at nucleonnumber]%
+ [\isotope at atomicnumber]%
+ \{#2\}
+ \textbackslash)%
+ }%
+ \ifbool{mathjax}%
+ {\LWR at isotope@alttag}%
+ {% SVG
+ \m at th%
+ \LWR at subsingledollar*%
+ {% alt tag
+ \LWR at isotope@alttag%
+ }%
+ {isotope}% add'l hashing
+ {% contents
+ \settowidth\@tempdimb{%
+ \ensuremath{\scriptstyle\isotope at nucleonnumber}%
+ }%
+ \settowidth\@tempdimc{%
+ \ensuremath{\scriptstyle\isotope at atomicnumber}%
+ }%
+ \ifdim\@tempdimb<\@tempdimc\@tempdimb=\@tempdimc\fi%
+ \ensuremath{
+ {}%
+ ^{\makebox[\@tempdimb][r]{%
+ \ensuremath{%
+ \scriptstyle\isotope at nucleonnumber%
+ }% ensuremath
+ }}%
+ _{\makebox[\@tempdimb][r]{%
+ \ensuremath{%
+ \scriptstyle\isotope at atomicnumber%
+ }% ensuremath
+ }}%
+ \isotopestyle{#2}%
+ }% ensuremath
+ }% contents
+ }% SVG
+ \endgroup%
+}%
+\LWR at formatted{isotope at two}
+
+\begin{warpMathJax}
+\CustomizeMathJax{%
+ \newcommand{\LWRisotopetwo}[2][]{%
+ {%
+ \vphantom{\mathrm{#2}}%
+ {}^{\LWRisotopenucleonnumber}_{#1}%
+ \mathrm{#2}%
+ }%
+ }%
+}
+
+\CustomizeMathJax{%
+ \newcommand{\isotope}[1][]{%
+ \def\LWRisotopenucleonnumber{#1}%
+ \LWRisotopetwo%
+ }%
+}
+\end{warpMathJax}
+\endinput
+%%
+%% End of file `lwarp-isotope.sty'.
Property changes on: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-isotope.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-jurabib.sty
===================================================================
--- branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-jurabib.sty (rev 0)
+++ branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-jurabib.sty 2021-02-18 22:20:50 UTC (rev 57791)
@@ -0,0 +1,76 @@
+%%
+%% This is file `lwarp-jurabib.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx (with options: `jurabib')
+%% This is a generated file.
+%% Copyright 2016-2020 Brian Dunn
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+\LWR at ProvidesPackagePass{jurabib}[2004/01/25]
+\renewrobustcmd{\jblangle}{\textless}
+
+\renewrobustcmd{\jbrangle}{\textgreater}
+
+\renewcommand*{\jb at biblaw@item}{%
+ \hspace{0.5em}%
+ \HTMLunicode{25B7}% lwarp
+ \hspace{0.5em}%
+}
+
+\renewrobustcmd{\jbarchsig}[2]{%
+ \ifjbweareinbib
+ \settowidth{\jb at subarchitemwidth}{\jbsamesubarchindent+#1}%
+ \setlength{\jb at subarchentrywidth}{\textwidth-\jb at subarchitemwidth-4em}%
+ #1\ifjb at dot\unskip\unskip\unskip.\fi
+ \quad% lwarp
+ \ifthenelse{\equal{#2}{}}{}{\jbarchnameformat{#2}}%
+ \fi
+}%
+
+\xpatchcmd{\jb at do@post at item}
+ {\begin{tabular}{p{\jb at biblaw@item at width}j{\jb at biblaw@entry at width}}}
+ {}
+ {}
+ {\LWR at patcherror{jurabib}{jb at do@post at item 1}}
+
+\xpatchcmd{\jb at do@post at item}
+ {\multicolumn{2}{p{\columnwidth}}{\jb@@name}}
+ {\jb@@name}
+ {}
+ {\LWR at patcherror{jurabib}{jb at do@post at item 2}}
+
+\xpatchcmd{\jb at do@post at item}
+ {\jb at biblaw@item & \jb@@fulltitle}
+ {\jb at biblaw@item \quad \jb@@fulltitle}
+ {}
+ {\LWR at patcherror{jurabib}{jb at do@post at item 3}}
+
+\xpatchcmd{\jb at do@post at item}
+ {\end{tabular}}
+ {}
+ {}
+ {\LWR at patcherror{jurabib}{jb at do@post at item 4}}
+
+\xpatchcmd{\jb at do@post at item}
+ {\begin{minipage}[t]{\bibnumberwidth}}
+ {}
+ {}
+ {\LWR at patcherror{jurabib}{jb at do@post at item 5}}
+
+\xpatchcmd{\jb at do@post at item}
+ {\end{minipage}}
+ {\quad}
+ {}
+ {\LWR at patcherror{jurabib}{jb at do@post at item 6}}
+\endinput
+%%
+%% End of file `lwarp-jurabib.sty'.
Property changes on: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-jurabib.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-karnaugh-map.sty
===================================================================
--- branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-karnaugh-map.sty 2021-02-18 22:18:09 UTC (rev 57790)
+++ branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-karnaugh-map.sty 2021-02-18 22:20:50 UTC (rev 57791)
@@ -105,11 +105,14 @@
\ifdefstring{\@karnaughmap at local@matrixtemplate@}{0}{% lwarp
% print error if no template could be found
\PackageError{lwarp-karnaugh-map}{%
- Can not find a template fitting your specification (\@karnaughmap at var@mapsizex@\space x \@karnaughmap at var@mapsizey@\space x \@karnaughmap at var@mapsizez@)%
+ Can not find a template fitting your specification
+ (\@karnaughmap at var@mapsizex@\space x \@karnaughmap at var@mapsizey@\space x
+ \@karnaughmap at var@mapsizez@)%
}{%
- Existing templates have the following dimensions: 2x2x1, 2x4x1, 4x2x1, 4x4x1, 4x4x2, and 4x4x4.
+ Existing templates have the following dimensions:
+ 2x2x1, 2x4x1, 4x2x1, 4x4x1, 4x4x2, and 4x4x4.
}%
- }{}% lwarp
+ }{\relax}% lwarp
\begin{tikzpicture}
% grid
% for all dimensions
Modified: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-keyfloat.sty
===================================================================
--- branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-keyfloat.sty 2021-02-18 22:18:09 UTC (rev 57790)
+++ branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-keyfloat.sty 2021-02-18 22:20:50 UTC (rev 57791)
@@ -19,7 +19,7 @@
\LWR at ProvidesPackagePass{keyfloat}[2019/09/23]
-\@ifpackagelater{keyfloat}{2019/09/23}{}{
+\@ifpackagelater{keyfloat}{2019/09/23}{\relax}{
\PackageError{lwarp-keyfloat}
{%
The keyfloat package is out of date.\MessageBreak
@@ -211,7 +211,7 @@
{float:right; width:2in; margin:10pt}%
{}%
{marginblock}%
- \captionsetup{type=#2}%
+ \renewcommand*{\@captype}{#2}%
\minipage{\LWR at usersmarginparwidth}%
\setlength{\marginparwidth}{.95\LWR at usersmarginparwidth}%
}
Added: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-keystroke.sty
===================================================================
--- branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-keystroke.sty (rev 0)
+++ branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-keystroke.sty 2021-02-18 22:20:50 UTC (rev 57791)
@@ -0,0 +1,70 @@
+%%
+%% This is file `lwarp-keystroke.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx (with options: `keystroke')
+%% This is a generated file.
+%% Copyright 2016-2020 Brian Dunn
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+\LWR at ProvidesPackagePass{keystroke}[2010/04/23]
+\newcommand*{\LWR at HTML@keystroke}[1]{
+ \InlineClass{keystroke}{#1}
+}
+\LWR at formatted{keystroke}
+
+\newcommand*{\LWR at HTML@Return}{\keystroke{\HTMLunicode{021A9}}}
+\LWR at formatted{Return}
+
+\newcommand*{\LWR at HTML@BSpace}{\keystroke{\HTMLunicode{027FB}}}
+\LWR at formatted{BSpace}
+
+\newcommand*{\LWR at HTML@Tab}{\keystroke{|\HTMLunicode{021C6}|}}
+\LWR at formatted{Tab}
+
+\newcommand*{\LWR at HTML@UArrow}{\keystroke{\HTMLunicode{02191}}}
+\LWR at formatted{UArrow}
+
+\newcommand*{\LWR at HTML@DArrow}{\keystroke{\HTMLunicode{02193}}}
+\LWR at formatted{DArrow}
+
+\newcommand*{\LWR at HTML@LArrow}{\keystroke{\HTMLunicode{02190}}}
+\LWR at formatted{LArrow}
+
+\newcommand*{\LWR at HTML@RArrow}{\keystroke{\HTMLunicode{02192}}}
+\LWR at formatted{RArrow}
+
+\LetLtxMacro\LWR at HTML@Shift\Shift
+\xpatchcmd{\LWR at HTML@Shift}
+ {$\Uparrow$}
+ {\HTMLunicode{21D1}}
+ {}
+ {}
+\LWR at formatted{Shift}
+
+\LetLtxMacro\LWR at HTML@PgUp\PgUp
+\xpatchcmd{\LWR at HTML@PgUp}
+ {$\uparrow$}
+ {\HTMLunicode{2191}}
+ {}
+ {}
+\LWR at formatted{PgUp}
+
+\LetLtxMacro\LWR at HTML@PgDown\PgDown
+\xpatchcmd{\LWR at HTML@PgDown}
+ {$\downarrow$}
+ {\HTMLunicode{2193}}
+ {}
+ {}
+\LWR at formatted{PgDown}
+\endinput
+%%
+%% End of file `lwarp-keystroke.sty'.
Property changes on: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-keystroke.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-kpfonts-otf.sty
===================================================================
--- branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-kpfonts-otf.sty (rev 0)
+++ branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-kpfonts-otf.sty 2021-02-18 22:20:50 UTC (rev 57791)
@@ -0,0 +1,76 @@
+%%
+%% This is file `lwarp-kpfonts-otf.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx (with options: `kpfonts-otf')
+%% This is a generated file.
+%% Copyright 2016-2020 Brian Dunn
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+\LWR at ProvidesPackagePass{kpfonts-otf}[2020/06/20]
+
+\LWR at infoprocessingmathjax{kpfonts-otf}
+
+\LWR at origRequirePackage{lwarp-common-mathjax-nonunicode}
+
+\LWR at origRequirePackage{lwarp-common-mathjax-letters}
+
+\begin{warpMathJax}
+
+\ifkp at calasscr
+ \CustomizeMathJax{\let\mathscr\mathcal}
+\else
+ \CustomizeMathJax{\let\mathcal\mathscr}
+\fi
+
+\ifkp at frenchstyle
+ \LWR at mathjax@addgreek at l@up{}{}
+ \LWR at mathjax@addgreek at u@up*{}{}
+\fi
+
+\ifkp at oldReIm
+ \CustomizeMathJax{\renewcommand{\Re}{\mathfrak{Re}}}
+ \CustomizeMathJax{\renewcommand{\Im}{\mathfrak{Im}}}
+\else
+\fi
+
+\ifkp at Dcommand
+ \CustomizeMathJax{
+ \def\D#1{\mathclose{\,\mathrm{d}}#1}
+ }
+\fi
+
+\CustomizeMathJax{\let\varint\int}
+\CustomizeMathJax{\let\variint\iint}
+\CustomizeMathJax{\let\variiint\iiint}
+\CustomizeMathJax{\let\variiiint\iiiint}
+\CustomizeMathJax{\let\varidotsint\idotsint}
+
+\CustomizeMathJax{\newcommand{\varointctrclockwise}{\mathop{\unicode{x2939}\!\!\unicode{x0222E}}}}
+\CustomizeMathJax{\newcommand{\oiintclockwise}{\mathop{\unicode{x0222F}\!\!\unicode{x2938}}}}
+\CustomizeMathJax{\newcommand{\oiintctrclockwise}{\mathop{\unicode{x2939}\!\!\unicode{x0222F}}}}
+\CustomizeMathJax{\newcommand{\varoiintclockwise}{\mathop{\unicode{x0222F}\!\!\unicode{x2938}}}}
+\CustomizeMathJax{\newcommand{\varoiintctrclockwise}{\mathop{\unicode{x2939}\!\!\unicode{x0222F}}}}
+\CustomizeMathJax{\newcommand{\oiiintclockwise}{\mathop{\unicode{x02230}\!\!\unicode{x2938}}}}
+\CustomizeMathJax{\newcommand{\oiiintctrclockwise}{\mathop{\unicode{x2939}\!\!\unicode{x02230}}}}
+\CustomizeMathJax{\newcommand{\varoiiintclockwise}{\mathop{\unicode{x02230}\!\!\unicode{x2938}}}}
+\CustomizeMathJax{\newcommand{\varoiiintctrclockwise}{\mathop{\unicode{x2939}\!\!\unicode{x02230}}}}
+\CustomizeMathJax{\newcommand{\sqiint}{\mathop{\unicode{x2A16}\!\!\unicode{x2A16}}}}
+\CustomizeMathJax{\newcommand{\sqiiint}{\mathop{\unicode{x2A16}\!\!\unicode{x2A16}\!\!\unicode{x2A16}}}}
+
+\CustomizeMathJax{\let\widearc\overparen}
+\CustomizeMathJax{\let\widearcarrow\overrightarrow}
+\CustomizeMathJax{\let\overrightarc\overrightarrow}
+
+\end{warpMathJax}
+\endinput
+%%
+%% End of file `lwarp-kpfonts-otf.sty'.
Property changes on: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-kpfonts-otf.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-kpfonts.sty
===================================================================
--- branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-kpfonts.sty (rev 0)
+++ branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-kpfonts.sty 2021-02-18 22:20:50 UTC (rev 57791)
@@ -0,0 +1,87 @@
+%%
+%% This is file `lwarp-kpfonts.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx (with options: `kpfonts')
+%% This is a generated file.
+%% Copyright 2016-2020 Brian Dunn
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+\LWR at ProvidesPackagePass{kpfonts}[2010/08/20]
+
+\LWR at infoprocessingmathjax{kpfonts}
+
+\LWR at origRequirePackage{lwarp-common-mathjax-newpxtxmath}
+
+\LWR at origRequirePackage{lwarp-common-mathjax-letters}
+
+\begin{warpMathJax}
+
+\ifkp at calasscr
+ \CustomizeMathJax{\let\LWRorigmathscr\mathscr}
+ \CustomizeMathJax{\let\LWRorigmathcal\mathcal}
+ \CustomizeMathJax{\let\mathscr\LWRorigmathcal}
+ \CustomizeMathJax{\let\mathcal\LWRorigmathscr}
+\fi
+
+\ifkp at upgrk % lowercase
+ \LWR at mathjax@addgreek at l@up{}{}
+ \LWR at mathjax@addgreek at l@it{other}{}
+\else
+ \LWR at mathjax@addgreek at l@up{other}{}
+\fi
+
+\ifkp at slGrk
+ \LWR at mathjax@addgreek at u@it*{}{}
+ \LWR at mathjax@addgreek at u@up*{other}{}
+ \LWR at mathjax@addgreek at u@up*{var}{}
+\else
+ \LWR at mathjax@addgreek at u@it*{other}{}
+ \LWR at mathjax@addgreek at u@it*{var}{}
+\fi
+
+\LWR at mathjax@addgreek at u@up*{}{up}
+\LWR at mathjax@addgreek at l@up{}{up}
+
+\LWR at mathjax@addgreek at u@it*{}{sl}
+\LWR at mathjax@addgreek at l@it{}{sl}
+
+\CustomizeMathJax{\newcommand{\partialsl}{\mathord{\unicode{x1D715}}}}
+\CustomizeMathJax{\let\partialup\uppartial}% not upright
+
+\ifkp at oldReIm
+\else
+ \CustomizeMathJax{\renewcommand{\Re}{\mathfrak{Re}}}
+ \CustomizeMathJax{\renewcommand{\Im}{\mathfrak{Im}}}
+\fi
+
+\ifkp at Dcommand
+ \ifkp at upRm%
+ \CustomizeMathJax{
+ \def\D#1{\mathclose{\,\mathrm{d}}#1}
+ }
+ \else
+ \CustomizeMathJax{
+ \def\D#1{\mathclose{\,\mathit{d}}#1}
+ }
+ \fi
+\fi
+
+\CustomizeMathJax{\let\pounds\mathsterling}
+\CustomizeMathJax{\let\kppounds\mathsterling}
+
+\CustomizeMathJax{\newcommand{\mathup}[1]{\mathrm{#1}}}% never sans
+\CustomizeMathJax{\let\mathupright\mathup}
+
+\end{warpMathJax}
+\endinput
+%%
+%% End of file `lwarp-kpfonts.sty'.
Property changes on: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-kpfonts.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-lettrine.sty
===================================================================
--- branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-lettrine.sty 2021-02-18 22:18:09 UTC (rev 57790)
+++ branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-lettrine.sty 2021-02-18 22:20:50 UTC (rev 57791)
@@ -17,7 +17,7 @@
%% version 2005/12/01 or later.
\LWR at ProvidesPackageDrop{lettrine}[2018-08-28]
\DeclareDocumentCommand{\lettrine}{o m m}{%
-\InlineClass{lettrine}{#2}\InlineClass{lettrinetext}{#3} % extra space
+ \InlineClass{lettrine}{#2}\InlineClass{lettrinetext}{#3} % extra space
}
\newcounter{DefaultLines}
Added: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-libertinust1math.sty
===================================================================
--- branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-libertinust1math.sty (rev 0)
+++ branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-libertinust1math.sty 2021-02-18 22:20:50 UTC (rev 57791)
@@ -0,0 +1,334 @@
+%%
+%% This is file `lwarp-libertinust1math.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx (with options: `libertinust1math')
+%% This is a generated file.
+%% Copyright 2016-2020 Brian Dunn
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+\LWR at ProvidesPackagePass{libertinust1math}[2020/06/10]
+
+\LWR at infoprocessingmathjax{libertinust1math}
+\LWR at origRequirePackage{lwarp-common-mathjax-letters}
+
+\begin{warpMathJax}
+
+\iflibus at slantedG
+ \LWR at mathjax@addgreek at u@it*{}{}
+\else
+ \LWR at mathjax@addgreek at u@up*{}{}
+\fi
+
+\LWR at mathjax@addgreek at u@it*{}{it}
+\LWR at mathjax@addgreek at u@up*{up}{}
+\LWR at mathjax@addgreek at u@up*{}{up}
+
+\iflibus at frenchm
+ \LWR at mathjax@addgreek at l@up{}{}
+\else
+ \LWR at mathjax@addgreek at l@it{}{}
+\fi
+
+\LWR at mathjax@addgreek at l@it{}{it}
+\LWR at mathjax@addgreek at l@up{}{up}
+\LWR at mathjax@addgreek at l@up{up}{}
+
+\CustomizeMathJax{\let\uppartial\partial}% not upright
+\CustomizeMathJax{\let\mathsfbf\mathbf}% not sans
+
+\CustomizeMathJax{\let\mathbfit\boldsymbol}
+\CustomizeMathJax{\let\mathsfbfit\mathbfit}% not sans
+\CustomizeMathJax{\let\mathsfit\mathit}% not sans
+
+\CustomizeMathJax{\let\vectorsym\mathbfit}
+\CustomizeMathJax{\let\matrixsym\mathbfit}
+\CustomizeMathJax{\let\tensorsym\mathsfbfit}
+\CustomizeMathJax{\let\mathboldsans\mathsfbfit}
+\CustomizeMathJax{\let\mathbold\mathbfit}
+\CustomizeMathJax{\let\dlb\lBrack}
+\CustomizeMathJax{\let\drb\rBrack}
+
+\CustomizeMathJax{\let\sqrtsign\sqrt}
+
+\CustomizeMathJax{\let\smallintsl\smallint}
+\CustomizeMathJax{\newcommand{\smalliintsl}{\mathop{\unicode{x222C}}\limits}}
+\CustomizeMathJax{\newcommand{\smalliiintsl}{\mathop{\unicode{x222D}}\limits}}
+\CustomizeMathJax{\newcommand{\smalliiiintsl}{\mathop{\unicode{x2A0C}}\limits}}
+\CustomizeMathJax{\newcommand{\smallointsl}{\mathop{\unicode{x222E}}\limits}}
+\CustomizeMathJax{\newcommand{\smalloiintsl}{\mathop{\unicode{x222F}}\limits}}
+
+\CustomizeMathJax{\let\smallintup\smallint}
+\CustomizeMathJax{\newcommand{\smalliintup}{\mathop{\unicode{x222C}}\limits}}
+\CustomizeMathJax{\newcommand{\smalliiintup}{\mathop{\unicode{x222D}}\limits}}
+\CustomizeMathJax{\newcommand{\smalliiiintup}{\mathop{\unicode{x2A0C}}\limits}}
+\CustomizeMathJax{\newcommand{\smallointup}{\mathop{\unicode{x222E}}\limits}}
+\CustomizeMathJax{\newcommand{\smalloiintup}{\mathop{\unicode{x222F}}\limits}}
+
+\CustomizeMathJax{\let\intslop\int}
+\CustomizeMathJax{\newcommand{\iintslop}{\mathop{\unicode{x222C}}\limits}}
+\CustomizeMathJax{\newcommand{\iiintslop}{\mathop{\unicode{x222D}}\limits}}
+\CustomizeMathJax{\newcommand{\iiiintslop}{\mathop{\unicode{x2A0C}}\limits}}
+\CustomizeMathJax{\let\ointslop\oint}
+\CustomizeMathJax{\newcommand{\oiintslop}{\mathop{\unicode{x222F}}\limits}}
+\CustomizeMathJax{\newcommand{\oiiintslop}{\mathop{\unicode{x2230}}\limits}}
+
+\CustomizeMathJax{\let\intupop\int}
+\CustomizeMathJax{\newcommand{\iintupop}{\mathop{\unicode{x222C}}\limits}}
+\CustomizeMathJax{\newcommand{\iiintupop}{\mathop{\unicode{x222D}}\limits}}
+\CustomizeMathJax{\newcommand{\iiiintupop}{\mathop{\unicode{x2A0C}}\limits}}
+\CustomizeMathJax{\let\ointupop\oint}
+\CustomizeMathJax{\newcommand{\oiintupop}{\mathop{\unicode{x222F}}\limits}}
+\CustomizeMathJax{\newcommand{\oiiintupop}{\mathop{\unicode{x2230}}\limits}}
+
+\CustomizeMathJax{\newcommand{\smalliint}{\mathop{\unicode{x222C}}\limits}}
+\CustomizeMathJax{\newcommand{\smalliiint}{\mathop{\unicode{x222D}}\limits}}
+\CustomizeMathJax{\newcommand{\smalliiiint}{\mathop{\unicode{x2A0C}}\limits}}
+\CustomizeMathJax{\newcommand{\smalloint}{\mathop{\unicode{x222E}}\limits}}
+\CustomizeMathJax{\newcommand{\smalloiint}{\mathop{\unicode{x222F}}\limits}}
+
+\CustomizeMathJax{\let\intop\int}
+\CustomizeMathJax{\newcommand{\iintop}{\mathop{\unicode{x222C}}\limits}}
+\CustomizeMathJax{\newcommand{\iiintop}{\mathop{\unicode{x222D}}\limits}}
+\CustomizeMathJax{\newcommand{\iiiintop}{\mathop{\unicode{x2A0C}}\limits}}
+\CustomizeMathJax{\let\ointop\oint}
+\CustomizeMathJax{\newcommand{\oiintop}{\mathop{\unicode{x222F}}\limits}}
+\CustomizeMathJax{\newcommand{\oiiintop}{\mathop{\unicode{x2230}}\limits}}
+
+\CustomizeMathJax{\newcommand{\oiint}{\mathop{\unicode{x222F}}\limits}}
+
+\CustomizeMathJax{\newcommand{\bigcupdot}{\mathop{\unicode{x2A03}}}}
+\CustomizeMathJax{\newcommand{\bigsqcap}{\mathop{\unicode{x2A05}}}}
+\CustomizeMathJax{\newcommand{\xsol}{\mathop{\unicode{x29F8}}}}
+\CustomizeMathJax{\newcommand{\xbsol}{\mathop{\unicode{x29F9}}}}
+\CustomizeMathJax{\let\prodop\prod}
+\CustomizeMathJax{\let\coprodop\coprod}
+\CustomizeMathJax{\let\sumop\sum}
+\CustomizeMathJax{\let\bigwedgeop\bigwedge}
+\CustomizeMathJax{\let\bigveeop\bigvee}
+\CustomizeMathJax{\let\bigcapop\bigcap}
+\CustomizeMathJax{\let\bigcupop\bigcup}
+\CustomizeMathJax{\let\xsolop\xsol}
+\CustomizeMathJax{\let\xbsolop\xbsol}
+\CustomizeMathJax{\let\bigodotop\bigodot}
+\CustomizeMathJax{\let\bigoplusop\bigoplus}
+\CustomizeMathJax{\let\bigotimesop\bigotimes}
+\CustomizeMathJax{\let\bigcupdotop\bigcupdot}
+\CustomizeMathJax{\let\biguplusop\biguplus}
+\CustomizeMathJax{\let\bigsqcapop\bigsqcap}
+\CustomizeMathJax{\let\bigsqcupop\bigsqcup}
+
+\CustomizeMathJax{\newcommand{\ovhook}[1]{\mathord{#1\unicode{x00309}}}}
+\CustomizeMathJax{\newcommand{\candra}[1]{\mathord{#1\unicode{x00310}}}}
+\CustomizeMathJax{\newcommand{\oturnedcomma}[1]{\mathord{#1\unicode{x00312}}}}
+\CustomizeMathJax{\newcommand{\ocommatopright}[1]{\mathord{#1\unicode{x00315}}}}
+\CustomizeMathJax{\newcommand{\droang}[1]{\mathord{#1\unicode{x0031A}}}}
+\CustomizeMathJax{\newcommand{\leftharpoonaccent}[1]{\mathord{#1\unicode{x020D0}}}}
+\CustomizeMathJax{\newcommand{\rightharpoonaccent}[1]{\mathord{#1\unicode{x020D1}}}}
+\CustomizeMathJax{\newcommand{\leftarrowaccent}[1]{\mathord{#1\unicode{x020D0}}}}
+\CustomizeMathJax{\let\rightarrowaccent\vec}
+
+\CustomizeMathJax{\newcommand{\leftrightarrowaccent}[1]{\mathord{#1\unicode{x020E1}}}}
+\CustomizeMathJax{\newcommand{\annuity}[1]{\mathord{#1\unicode{x020E7}}}}
+\CustomizeMathJax{\newcommand{\widebridgeabove}[1]{\mathord{#1\unicode{x020E9}}}}
+\CustomizeMathJax{\newcommand{\asteraccent}[1]{\mathord{#1\unicode{x020F0}}}}
+
+\CustomizeMathJax{\newcommand{\braceld}{}}
+\CustomizeMathJax{\newcommand{\bracerd}{}}
+\CustomizeMathJax{\newcommand{\bracelu}{}}
+\CustomizeMathJax{\newcommand{\braceru}{}}
+\CustomizeMathJax{\newcommand{\braceex}{}}
+\CustomizeMathJax{\newcommand{\bracemu}{}}
+\CustomizeMathJax{\newcommand{\bracemd}{}}
+\CustomizeMathJax{\newcommand{\parenld}{}}
+\CustomizeMathJax{\newcommand{\parenrd}{}}
+\CustomizeMathJax{\newcommand{\parenlu}{}}
+\CustomizeMathJax{\newcommand{\parenru}{}}
+\CustomizeMathJax{\newcommand{\bracketld}{}}
+\CustomizeMathJax{\newcommand{\bracketrd}{}}
+\CustomizeMathJax{\newcommand{\bracketlu}{}}
+\CustomizeMathJax{\newcommand{\bracketru}{}}
+\CustomizeMathJax{\newcommand{\bracketex}{}}
+\CustomizeMathJax{\newcommand{\parenex}{}}
+
+\CustomizeMathJax{\newcommand{lhook}{~}}
+\CustomizeMathJax{\newcommand{rhook}{~}}
+\CustomizeMathJax{\newcommand{relbar}{-}}
+\CustomizeMathJax{\newcommand{Relbar}{=}}
+
+\CustomizeMathJax{\newcommand{\mapstochar}{\mathrel{\unicode{x21A6}}}}
+
+\CustomizeMathJax{\newcommand{\Zbar}{\mathord{\unicode{x0001B5}}}}
+\CustomizeMathJax{\newcommand{\notchar}{\mathrel{\unicode{x000AC}}}}
+\CustomizeMathJax{\newcommand{\upbackepsilon}{\mathord{\unicode{x03F6}}}}
+\CustomizeMathJax{\newcommand{\smblkcircle}{\mathbin{\unicode{x02022}}}}
+\CustomizeMathJax{\newcommand{\enleadertwodots}{\mathord{\unicode{x02025}}}}
+\CustomizeMathJax{\newcommand{\unicodeellipsis}{\mathord{\unicode{x02026}}}}
+\CustomizeMathJax{\newcommand{\mathellipsis}{\mathinner{\unicode{x02026}}}}
+\CustomizeMathJax{\newcommand{\dprime}{\mathord{\unicode{x02033}}}}
+\CustomizeMathJax{\newcommand{\trprime}{\mathord{\unicode{x02034}}}}
+\CustomizeMathJax{\newcommand{\backdprime}{\mathord{\unicode{x02036}}}}
+\CustomizeMathJax{\newcommand{\backtrprime}{\mathord{\unicode{x02037}}}}
+\CustomizeMathJax{\newcommand{\caretinsert}{\mathord{\unicode{x02038}}}}
+\CustomizeMathJax{\newcommand{\Exclam}{\mathord{\unicode{x0203C}}}}
+
+\CustomizeMathJax{\newcommand{\hyphenbullet}{\mathord{\unicode{x02043}}}}
+\CustomizeMathJax{\newcommand{\fracslash}{\mathbin{\unicode{x02044}}}}
+\CustomizeMathJax{\newcommand{\Question}{\mathord{\unicode{x02047}}}}
+\CustomizeMathJax{\newcommand{\closure}{\mathrel{\unicode{x02050}}}}
+\CustomizeMathJax{\newcommand{\qprime}{\mathord{\unicode{x02057}}}}
+\CustomizeMathJax{\newcommand{\vertoverlay}{\mathrel{\unicode{x020D2}}}}
+\CustomizeMathJax{\newcommand{\enclosecircle}{\mathord{\unicode{x020DD}}}}
+\CustomizeMathJax{\newcommand{\enclosesquare}{\mathord{\unicode{x020DE}}}}
+\CustomizeMathJax{\newcommand{\enclosetriangle}{\mathord{\unicode{x020E4}}}}
+\CustomizeMathJax{\newcommand{\Eulerconst}{\mathord{\unicode{x02107}}}}
+\CustomizeMathJax{\newcommand{\turnediota}{\mathord{\unicode{x02129}}}}
+\CustomizeMathJax{\newcommand{\Angstrom}{\mathord{\unicode{x0212B}}}}
+
+\CustomizeMathJax{\newcommand{\sansLturned}{\mathord{\unicode{x02142}}}}
+\CustomizeMathJax{\newcommand{\sansLmirrored}{\mathord{\unicode{x02143}}}}
+\CustomizeMathJax{\newcommand{\Yup}{\mathord{\unicode{x02144}}}}
+\CustomizeMathJax{\newcommand{\upand}{\mathbin{\unicode{x0214B}}}}
+\CustomizeMathJax{\newcommand{\increment}{\mathord{\unicode{x02206}}}}
+\CustomizeMathJax{\newcommand{\smallin}{\mathrel{\unicode{x0220A}}}}
+\CustomizeMathJax{\newcommand{\nni}{\mathrel{\unicode{x0220C}}}}
+
+\CustomizeMathJax{\newcommand{\smallni}{\mathrel{\unicode{x0220D}}}}
+\CustomizeMathJax{\newcommand{\QED}{\mathord{\unicode{x0220E}}}}
+\CustomizeMathJax{\newcommand{\vysmwhtcircle}{\mathbin{\unicode{x02218}}}}
+\CustomizeMathJax{\newcommand{\vysmblkcircle}{\mathbin{\unicode{x02219}}}}
+\CustomizeMathJax{\newcommand{\rightangle}{\mathord{\unicode{x0221F}}}}
+
+\CustomizeMathJax{\newcommand{\Colon}{\mathrel{\unicode{x02237}}}}
+\CustomizeMathJax{\newcommand{\dotminus}{\mathbin{\unicode{x02238}}}}
+\CustomizeMathJax{\newcommand{\dashcolon}{\mathrel{\unicode{x02239}}}}
+\CustomizeMathJax{\newcommand{\dotsminusdots}{\mathrel{\unicode{x0223A}}}}
+\CustomizeMathJax{\newcommand{\kernelcontraction}{\mathrel{\unicode{x0223B}}}}
+\CustomizeMathJax{\newcommand{\invlazys}{\mathbin{\unicode{x0223E}}}}
+
+\CustomizeMathJax{\newcommand{\sinewave}{\mathord{\unicode{x0223F}}}}
+\CustomizeMathJax{\newcommand{\nsime}{\mathrel{\unicode{x02244}}}}
+\CustomizeMathJax{\newcommand{\simneqq}{\mathrel{\unicode{x02246}}}}
+\CustomizeMathJax{\newcommand{\napprox}{\mathrel{\unicode{x02249}}}}
+\CustomizeMathJax{\newcommand{\approxident}{\mathrel{\unicode{x0224B}}}}
+\CustomizeMathJax{\newcommand{\backcong}{\mathrel{\unicode{x0224C}}}}
+
+\CustomizeMathJax{\newcommand{\nasymp}{\mathrel{\unicode{x0226D}}}}
+\CustomizeMathJax{\newcommand{\nlesssim}{\mathrel{\unicode{x02274}}}}
+\CustomizeMathJax{\newcommand{\ngtrsim}{\mathrel{\unicode{x02275}}}}
+\CustomizeMathJax{\newcommand{\nlessgtr}{\mathrel{\unicode{x02278}}}}
+\CustomizeMathJax{\newcommand{\ngtrless}{\mathrel{\unicode{x02279}}}}
+
+\CustomizeMathJax{\newcommand{\nsubset}{\mathrel{\unicode{x02284}}}}
+\CustomizeMathJax{\newcommand{\nsupset}{\mathrel{\unicode{x02285}}}}
+
+\CustomizeMathJax{\newcommand{\cupleftarrow}{\mathbin{\unicode{x0228C}}}}
+\CustomizeMathJax{\newcommand{\cupdot}{\mathbin{\unicode{x0228D}}}}
+\CustomizeMathJax{\newcommand{\circledequal}{\mathbin{\unicode{x0229C}}}}
+
+\CustomizeMathJax{\newcommand{\assert}{\mathrel{\unicode{x022A6}}}}
+\CustomizeMathJax{\newcommand{\VDash}{\mathrel{\unicode{x022AB}}}}
+\CustomizeMathJax{\newcommand{\prurel}{\mathrel{\unicode{x022B0}}}}
+
+\CustomizeMathJax{\newcommand{\origof}{\mathrel{\unicode{x022B6}}}}
+\CustomizeMathJax{\newcommand{\smallprod}{\mathop{\unicode{x0220F}}}}% not small
+\CustomizeMathJax{\newcommand{\smallcoprod}{\mathop{\unicode{x02210}}}}% not small
+\CustomizeMathJax{\newcommand{\smallsum}{\mathop{\unicode{x02211}}}}% not small
+\CustomizeMathJax{\newcommand{\Hfraktur}{\mathord{\unicode{x1D525}}}}
+\CustomizeMathJax{\newcommand{\dsol}{\mathbin{\unicode{x029F6}}}}
+\CustomizeMathJax{\newcommand{\rsolbar}{\mathbin{\unicode{x029F7}}}}
+
+\CustomizeMathJax{\newcommand{\eqless}{\mathrel{\unicode{x022DC}}}}
+\CustomizeMathJax{\newcommand{\eqgtr}{\mathrel{\unicode{x022DD}}}}
+\CustomizeMathJax{\newcommand{\npreccurlyeq}{\mathrel{\unicode{x022E0}}}}
+\CustomizeMathJax{\newcommand{\nsucccurlyeq}{\mathrel{\unicode{x022E1}}}}
+\CustomizeMathJax{\newcommand{\nsqsubseteq}{\mathrel{\unicode{x022E2}}}}
+\CustomizeMathJax{\newcommand{\nsqsupseteq}{\mathrel{\unicode{x022E3}}}}
+\CustomizeMathJax{\newcommand{\sqsubsetneq}{\mathrel{\unicode{x022E4}}}}
+\CustomizeMathJax{\newcommand{\sqsupsetneq}{\mathrel{\unicode{x022E5}}}}
+\CustomizeMathJax{\newcommand{\nvartriangleleft}{\mathrel{\unicode{x022EA}}}}
+\CustomizeMathJax{\newcommand{\nvartriangleright}{\mathrel{\unicode{x022EB}}}}
+
+\CustomizeMathJax{\newcommand{\vdotsmath}{\mathrel{\unicode{x022EE}}}}
+\CustomizeMathJax{\newcommand{\unicodecdots}{\mathord{\unicode{x022EF}}}}
+\CustomizeMathJax{\newcommand{\adots}{\mathrel{\unicode{x022F0}}}}
+\CustomizeMathJax{\newcommand{\succneq}{\mathrel{\unicode{x02AB2}}}}
+\CustomizeMathJax{\newcommand{\preceqq}{\mathrel{\unicode{x02AB3}}}}
+\CustomizeMathJax{\newcommand{\succeqq}{\mathrel{\unicode{x02AB4}}}}
+\CustomizeMathJax{\newcommand{\precneq}{\mathrel{\unicode{x02AB1}}}}
+
+\CustomizeMathJax{\newcommand{\mapsfrom}{\mathrel{\unicode{x021A4}}}}
+
+\CustomizeMathJax{\newcommand{\longmapsfrom}{\mathrel{\unicode{x027FB}}}}
+
+\CustomizeMathJax{\newcommand{\diameter}{\mathord{\unicode{x02300}}}}
+\CustomizeMathJax{\newcommand{\coloneq}{\mathrel{\unicode{x02254}}}}
+\CustomizeMathJax{\newcommand{\eqcolon}{\mathrel{\unicode{x02255}}}}
+\CustomizeMathJax{\newcommand{\arceq}{\mathrel{\unicode{x02258}}}}
+\CustomizeMathJax{\newcommand{\wedgeq}{\mathrel{\unicode{x02259}}}}
+\CustomizeMathJax{\newcommand{\veeeq}{\mathrel{\unicode{x0225A}}}}
+
+\CustomizeMathJax{\newcommand{\stareq}{\mathrel{\unicode{x0225B}}}}
+\CustomizeMathJax{\newcommand{\eqdef}{\mathrel{\unicode{x0225D}}}}
+\CustomizeMathJax{\newcommand{\measeq}{\mathrel{\unicode{x0225E}}}}
+\CustomizeMathJax{\newcommand{\questeq}{\mathrel{\unicode{x0225F}}}}
+\CustomizeMathJax{\newcommand{\nequiv}{\mathrel{\unicode{x02262}}}}
+\CustomizeMathJax{\newcommand{\Equiv}{\mathrel{\unicode{x02263}}}}
+
+\CustomizeMathJax{\newcommand{\house}{\mathord{\unicode{x02302}}}}
+
+\CustomizeMathJax{\newcommand{\musicalnote}{\mathord{\unicode{x0266A}}}}
+\CustomizeMathJax{\newcommand{\degree}{\mathord{\unicode{x000B0}}}}
+\CustomizeMathJax{\newcommand{\mathsection}{\mathord{\unicode{x000A7}}}}
+\CustomizeMathJax{\newcommand{\mathparagraph}{\mathord{\unicode{x000B6}}}}
+\CustomizeMathJax{\newcommand{\checkmarkmath}{\mathord{\unicode{x02713}}}}
+\CustomizeMathJax{\newcommand{\invnot}{\mathord{\unicode{x02310}}}}
+
+\CustomizeMathJax{\newcommand{\mathvisiblespace}{\mathord{\unicode{x02423}}}}
+\CustomizeMathJax{\newcommand{\mdlgblksquare}{\mathord{\unicode{x025A0}}}}
+\CustomizeMathJax{\newcommand{\mdlgwhtsquare}{\mathord{\unicode{x025A1}}}}
+
+\CustomizeMathJax{\newcommand{\bigblacktriangleup}{\mathord{\unicode{x025B2}}}}
+\CustomizeMathJax{\newcommand{\varbigtriangleup}{\mathord{\unicode{x025B3}}}}
+
+\CustomizeMathJax{\newcommand{\bigblacktriangledown}{\mathord{\unicode{x025BC}}}}
+\CustomizeMathJax{\newcommand{\varbigtriangledown}{\mathord{\unicode{x025BD}}}}
+\CustomizeMathJax{\newcommand{\Longmapsfrom}{\mathrel{\unicode{x027FD}}}}
+
+\CustomizeMathJax{\newcommand{\mdlgblkdiamond}{\mathord{\unicode{x025C6}}}}
+
+\CustomizeMathJax{\newcommand{\mdlgwhtdiamond}{\mathord{\unicode{x025C7}}}}
+\CustomizeMathJax{\newcommand{\Longmapsto}{\mathrel{\unicode{x027FE}}}}
+\CustomizeMathJax{\newcommand{\fisheye}{\mathord{\unicode{x025C9}}}}
+\CustomizeMathJax{\newcommand{\mdlgwhtlozenge}{\mathord{\unicode{x025CA}}}}
+\CustomizeMathJax{\newcommand{\mdlgwhtcircle}{\mathbin{\unicode{x025CB}}}}
+\CustomizeMathJax{\newcommand{\bullseye}{\mathord{\unicode{x025CE}}}}
+\CustomizeMathJax{\newcommand{\mdlgblkcircle}{\mathord{\unicode{x025CF}}}}
+
+\CustomizeMathJax{\newcommand{\Nwarrow}{\mathrel{\unicode{x021D6}}}}
+\CustomizeMathJax{\newcommand{\Nearrow}{\mathrel{\unicode{x021D7}}}}
+\CustomizeMathJax{\newcommand{\Searrow}{\mathrel{\unicode{x021D8}}}}
+\CustomizeMathJax{\newcommand{\Swarrow}{\mathrel{\unicode{x021D9}}}}
+
+\CustomizeMathJax{\newcommand{\Mapsfrom}{\mathord{\unicode{x02906}}}}
+\CustomizeMathJax{\newcommand{\smwhtcircle}{\mathord{\unicode{x025E6}}}}
+\CustomizeMathJax{\newcommand{\smwhtdiamond}{\mathbin{\unicode{x022C4}}}}
+\CustomizeMathJax{\newcommand{\Mapsto}{\mathord{\unicode{x02907}}}}
+
+\CustomizeMathJax{\let\ngets\nleftarrow}
+\CustomizeMathJax{\let\nsimeq\nsime}
+\CustomizeMathJax{\let\nle\nleq}
+\CustomizeMathJax{\let\nge\ngeq}
+
+\end{warpMathJax}
+\endinput
+%%
+%% End of file `lwarp-libertinust1math.sty'.
Property changes on: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-libertinust1math.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-lineno.sty
===================================================================
--- branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-lineno.sty 2021-02-18 22:18:09 UTC (rev 57790)
+++ branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-lineno.sty 2021-02-18 22:20:50 UTC (rev 57791)
@@ -72,7 +72,7 @@
\newcommand\internallinenumbers{}
\let\endinternallinenumbers\endlinenumbers
-\@namedef{internallinenumbers*}{\internallinenumbers*}
+\@namedef{internallinenumbers*}{\internallinenumbers}
\expandafter\let\csname endinternallinenumbers*\endcsname\endlinenumbers
\newcommand*{\linenoplaceholder}[1]{% redefine per language
Modified: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-listings.sty
===================================================================
--- branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-listings.sty 2021-02-18 22:18:09 UTC (rev 57790)
+++ branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-listings.sty 2021-02-18 22:20:50 UTC (rev 57791)
@@ -17,7 +17,6 @@
%% version 2005/12/01 or later.
-\begin{warpHTML}
\LWR at ProvidesPackagePass{listings}[2018/09/02]
\lst at column@flexible
@@ -33,11 +32,15 @@
,literate=%
{<}{\HTMLentity{lt}}{4}%
{>}{\HTMLentity{gt}}{4}%
- {\&}{\HTMLentity{amp}}{5}%
+ {'}{\HTMLentity{apos}}{6}%
+ {`}{\HTMLentity{grave}}{7}%
}%
}
\renewcommand{\lst at Init}[1]{%
\LWR at traceinfo{lst at Init}%
+\lst at ifdisplaystyle%
+ \LWR at forcenewpage%
+\fi%
\renewcommand*{\@captype}{lstlisting}%
\let\lst at aboveskip\z@\let\lst at belowskip\z@%
\gdef\lst at boxpos{t}%
@@ -52,27 +55,30 @@
\def\lst at framelr{}%
\LWR at traceinfo{finished origlst at Init}%
\lst at ifdisplaystyle%
-\LWR at traceinfo{About to create verbatim.}%
-\let\lsthk at EveryPar\relax%
-\LWR at forcenewpage
-\LWR at atbeginverbatim{2}{programlisting}%
+ \LWR at traceinfo{About to create verbatim.}%
+ \let\lsthk at EveryPar\relax%
+ \LWR at atbeginverbatim{programlisting}%
-\let\lsthk at EveryPar\LWR at origlsthkEveryPar%
+ \let\lsthk at EveryPar\LWR at origlsthkEveryPar%
\else%
-\ifbool{LWR at verbtags}{\LWR at htmltag{span class="inlineprogramlisting"}}{}%
+ \ifbool{LWR at verbtags}{\LWR at htmltag{%
+ span class=\textquotedbl{}inlineprogramlisting\textquotedbl%
+ }}{}%
\fi%
+\LWR at traceinfo{lst at Init done}%
}
\renewcommand*{\lst at DeInit}{%
\lst at ifdisplaystyle%
-\let\lsthk at EveryPar\relax%
-\LWR at afterendverbatim{0}%
-\let\lsthk at EveryPar\LWR at origlsthkEveryPar%
+ \let\lsthk at EveryPar\relax%
+ \LWR at afterendverbatim%
+ \let\lsthk at EveryPar\LWR at origlsthkEveryPar%
\else%
-\ifbool{LWR at verbtags}{\noindent\LWR at htmltag{/span}}{}%
+ \ifbool{LWR at verbtags}{\noindent\LWR at htmltag{/span}}{}%
\fi%
\LWR at origlst@DeInit%
}
+
\def\lst at MakeCaption#1{%
\LWR at traceinfo{MAKING CAPTION at #1}%
\lst at ifdisplaystyle
@@ -88,10 +94,13 @@
\lst at ifnolol\else
\ifx\lst@@caption\@empty
\ifx\lst at caption\@empty
- \ifx\lst at intname\@empty \else \def\lst at temp{ }%
- \ifx\lst at intname\lst at temp \else
+ \ifx\lst at intname\@empty
+ \else
+ \def\lst at temp{ }%
+ \ifx\lst at intname\lst at temp \else
\LWR at traceinfo{addcontents lst at name: -\lst at name-}%
- \fi\fi
+ \fi
+ \fi
\fi
\else
\LWR at traceinfo{addcontents lst@@caption: -\lst@@caption-}%
@@ -111,9 +120,9 @@
\lst at makecaption\fnum at lstlisting{\ignorespaces \lst at caption}
\else
\LWR at traceinfo{Making title: \lst at title}%
-\begin{BlockClass}{lstlistingtitle}% lwarp
-\lst at maketitle\lst at title% lwarp
-\end{BlockClass}% lwarp
+\begin{BlockClass}{lstlistingtitle}% lwarp
+\lst at maketitle\lst at title% lwarp
+\end{BlockClass}% lwarp
\fi
\LWR at traceinfo{About to assign label: !\lst at label!}%
\ifx\lst at label\@empty\else
@@ -131,6 +140,11 @@
\fi
\LWR at traceinfo{DONE WITH CAPTION at #1}%
}
+
+\renewcommand{\lst at maketitle}[1]{%
+ \LWR at isolate{#1}%
+}%
+
\lst at Key{numbers}{none}{%
\let\lst at PlaceNumber\@empty
\lstKV at SwitchCases{#1}%
@@ -143,8 +157,6 @@
\kern 6in \kern\lst at numbersep
\lst at numberstyle{\thelstnumber}}}%
}{\PackageError{lwarp-listings}{Numbers #1 unknown}\@ehc}}
-\end{warpHTML}
-
\endinput
%%
%% End of file `lwarp-listings.sty'.
Modified: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-longtable.sty
===================================================================
--- branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-longtable.sty 2021-02-18 22:18:09 UTC (rev 57790)
+++ branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-longtable.sty 2021-02-18 22:20:50 UTC (rev 57791)
@@ -23,10 +23,14 @@
\boolfalse{LWR at longtable@havehead}
\newenvironment{longtable*}[2][]{%
\LWR at floatbegin{table}%
- \setcaptiontype{\LTcaptype}%
- \caption at setoptions{longtable}%
- \caption at setoptions{@longtable}%
- \caption at LT@setup%
+ \ifdef{\setcaptiontype}{% caption package:
+ \setcaptiontype{\LTcaptype}%
+ \caption at setoptions{longtable}%
+ \caption at setoptions{@longtable}%
+ \caption at LT@setup%
+ }{% w/o caption package:
+ \renewcommand*{\@captype}{\LTcaptype}%
+ }%
\booltrue{LWR at starredlongtable}%
\boolfalse{LWR at longtable@havehead}%
\let\captionlistentry\LWR at LTcaptionlistentry%
@@ -36,10 +40,14 @@
\newenvironment{longtable}[2][]{%
\LWR at floatbegin{table}%
- \setcaptiontype{\LTcaptype}%
- \caption at setoptions{longtable}%
- \caption at setoptions{@longtable}%
- \caption at LT@setup%
+ \ifdef{\setcaptiontype}{% caption package:
+ \setcaptiontype{\LTcaptype}%
+ \caption at setoptions{longtable}%
+ \caption at setoptions{@longtable}%
+ \caption at LT@setup%
+ }{% w/o caption package:
+ \renewcommand*{\@captype}{\LTcaptype}%
+ }%
\refstepcounter{\LTcaptype}%
\boolfalse{LWR at longtable@havehead}%
\let\captionlistentry\LWR at LTcaptionlistentry%
@@ -49,7 +57,7 @@
\newcounter{LTchunksize}
\newcommand*{\LWR at longtable@headerror}{%
- \PackageError{lwarp}
+ \PackageError{lwarp-longtable}
{For longtable:\MessageBreak
1: Keep either one of an \protect\endhead\space or
\protect\endfirsthead\space\MessageBreak
Added: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-lpic.sty
===================================================================
--- branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-lpic.sty (rev 0)
+++ branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-lpic.sty 2021-02-18 22:20:50 UTC (rev 57791)
@@ -0,0 +1,26 @@
+%%
+%% This is file `lwarp-lpic.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx (with options: `lpic')
+%% This is a generated file.
+%% Copyright 2016-2020 Brian Dunn
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+\LWR at ProvidesPackagePass{lpic}[2010/12/23]
+\BeforeBeginEnvironment{lpic}{%
+ \begin{lateximage}[-lpic-~\PackageDiagramAltText]%
+}
+
+\AfterEndEnvironment{lpic}{\end{lateximage}}
+\endinput
+%%
+%% End of file `lwarp-lpic.sty'.
Property changes on: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-lpic.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-luatodonotes.sty
===================================================================
--- branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-luatodonotes.sty 2021-02-18 22:18:09 UTC (rev 57790)
+++ branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-luatodonotes.sty 2021-02-18 22:20:50 UTC (rev 57791)
@@ -26,7 +26,7 @@
\let\LWRTODONOTES at orig@todototoc\todototoc
\renewcommand*{\todototoc}{%
-\phantomsection%
+\LWR at phantomsection%
\LWRTODONOTES at orig@todototoc%
}
Added: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-luavlna.sty
===================================================================
--- branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-luavlna.sty (rev 0)
+++ branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-luavlna.sty 2021-02-18 22:20:50 UTC (rev 57791)
@@ -0,0 +1,23 @@
+%%
+%% This is file `lwarp-luavlna.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx (with options: `luavlna')
+%% This is a generated file.
+%% Copyright 2016-2020 Brian Dunn
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+\LWR at ProvidesPackagePass{luavlna}[2019/10/30]
+\preventsingleoff
+\LetLtxMacro\preventsingleon\preventsingleoff
+\endinput
+%%
+%% End of file `lwarp-luavlna.sty'.
Property changes on: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-luavlna.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-lyluatex.sty
===================================================================
--- branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-lyluatex.sty 2021-02-18 22:18:09 UTC (rev 57790)
+++ branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-lyluatex.sty 2021-02-18 22:20:50 UTC (rev 57791)
@@ -23,7 +23,7 @@
\renewcommand*{\ly at compilescore}[1]{%
\begingroup%
- \LWR at orignewpage%
+ \LWR at maybe@orignewpage%
\LWR at origloadgeometry{LWR at usergeometry}%
\LWR at print@normalsize%
\renewcommand{\includegraphics}[2][]{%
@@ -53,7 +53,7 @@
tex.print{[[\string\end{BlockClass}]]}
end
}%
- \LWR at orignewpage%
+ \LWR at maybe@orignewpage%
\LWR at origrestoregeometry%
\endgroup%
}
Modified: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-makeidx.sty
===================================================================
--- branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-makeidx.sty 2021-02-18 22:18:09 UTC (rev 57790)
+++ branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-makeidx.sty 2021-02-18 22:20:50 UTC (rev 57791)
@@ -17,7 +17,7 @@
%% version 2005/12/01 or later.
\LWR at ProvidesPackagePass{makeidx}[2014/09/29]
\preto\printindex{%
- \LWR at orignewpage%
+ \LWR at maybe@orignewpage%
\LWR at startpars%
}
\endinput
Added: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-mathalpha.sty
===================================================================
--- branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-mathalpha.sty (rev 0)
+++ branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-mathalpha.sty 2021-02-18 22:20:50 UTC (rev 57791)
@@ -0,0 +1,28 @@
+%%
+%% This is file `lwarp-mathalpha.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx (with options: `mathalpha')
+%% This is a generated file.
+%% Copyright 2016-2020 Brian Dunn
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+\LWR at ProvidesPackagePass{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}
+\endinput
+%%
+%% End of file `lwarp-mathalpha.sty'.
Property changes on: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-mathalpha.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-mathastext.sty
===================================================================
--- branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-mathastext.sty (rev 0)
+++ branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-mathastext.sty 2021-02-18 22:20:50 UTC (rev 57791)
@@ -0,0 +1,62 @@
+%%
+%% This is file `lwarp-mathastext.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx (with options: `mathastext')
+%% This is a generated file.
+%% Copyright 2016-2020 Brian Dunn
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+\LWR at ProvidesPackagePass{mathastext}[2019/11/16]
+\LWR at origRequirePackage{lwarp-common-mathjax-letters}
+
+\begin{warpMathJax}
+\ifmst at itgreek
+\else
+ \ifmst at upgreek
+ \LWR at mathjax@addgreek at l@up{}{}
+ \else
+ \ifmst at frenchmath
+ \LWR at mathjax@addgreek at l@up{}{}
+ \else
+ \ifmst at italic
+ \else
+ \LWR at mathjax@addgreek at l@up{}{}
+ \fi
+ \fi
+ \fi
+\fi
+
+\ifcase\mst at greek@select
+ \or{\LWR at mathjax@addgreek at u@it*{}{}}
+\fi
+
+\CustomizeMathJax{\newcommand{\mathnormalbold}[1]{\boldsymbol{#1}}}
+\CustomizeMathJax{\newcommand{\MathEulerBold}[1]{\boldsymbol{#1}}}
+\CustomizeMathJax{\newcommand{\MathEuler}[1]{{#1}}}
+\CustomizeMathJax{\newcommand{\MathPSymbol}[1]{{#1}}}
+\CustomizeMathJax{\let\fouriervec\vec}
+\CustomizeMathJax{\let\pmvec\vec}
+\CustomizeMathJax{\let\inodot\imath}
+\CustomizeMathJax{\let\jnodot\jmath}
+\CustomizeMathJax{\let\shortiff\iff}
+\CustomizeMathJax{\let\longto\longrightarrow}
+\CustomizeMathJax{\newcommand{\inftypsy}{\mathord{\unicode{x221E}}}}
+\CustomizeMathJax{\newcommand{\proptopsy}{\mathrel{\unicode{x221D}}}}
+\CustomizeMathJax{\let\prodpsy\prod}
+\CustomizeMathJax{\let\sumpsy\sum}
+\CustomizeMathJax{\let\MToriginalprod\prod}
+\CustomizeMathJax{\let\MToriginalsum\sum}
+\CustomizeMathJax{\newcommand{\DotTriangle}{\mathord{\unicode{x2234}}}}
+\end{warpMathJax}
+\endinput
+%%
+%% End of file `lwarp-mathastext.sty'.
Property changes on: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-mathastext.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-mathdesign.sty
===================================================================
--- branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-mathdesign.sty (rev 0)
+++ branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-mathdesign.sty 2021-02-18 22:20:50 UTC (rev 57791)
@@ -0,0 +1,65 @@
+%%
+%% This is file `lwarp-mathdesign.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx (with options: `mathdesign')
+%% This is a generated file.
+%% Copyright 2016-2020 Brian Dunn
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+\LWR at ProvidesPackagePass{mathdesign}[2013/08/29]
+\LWR at origRequirePackage{lwarp-common-mathjax-letters}
+
+\LWR at origRequirePackage{lwarp-common-mathjax-overlaysymbols}
+
+\begin{warpMathJax}
+\LWR at infoprocessingmathjax{mathdesign}
+
+\if at MD@grupright
+\LWR at mathjax@addgreek at l@up{}{}
+\fi
+
+\if at MD@GRupright
+\else
+\LWR at mathjax@addgreek at u@it*{}{}
+\fi
+\LWR at mathjax@addgreek at l@up{}{up}
+\LWR at mathjax@addgreek at u@up*{}{up}
+\LWR at mathjax@addgreek at l@it{}{it}
+\LWR at mathjax@addgreek at u@it*{}{it}
+\CustomizeMathJax{\let\digammaup\Digammaup}
+\CustomizeMathJax{\renewcommand{\digammait}{\mathit{\digammaup}}}
+\CustomizeMathJax{\newcommand{\smallin}{\mathrel{\unicode{x220A}}}}
+\CustomizeMathJax{\newcommand{\smallowns}{\mathrel{\unicode{x220D}}}}
+\CustomizeMathJax{\newcommand{\notsmallin}{\mathrel{\LWRoverlaysymbols{/}{\unicode{x220A}}}}}
+\CustomizeMathJax{\newcommand{\notsmallowns}{\mathrel{\LWRoverlaysymbols{/}{\unicode{x220D}}}}}
+\CustomizeMathJax{\newcommand{\rightangle}{\mathord{\unicode{x221F}}}}
+\CustomizeMathJax{\newcommand{\intclockwise}{\mathop{\unicode{x2231}}\limits}}
+\CustomizeMathJax{\newcommand{\ointclockwise}{\mathop{\unicode{x2232}}\limits}}
+\CustomizeMathJax{\newcommand{\ointctrclockwise}{\mathop{\unicode{x2233}}\limits}}
+\CustomizeMathJax{\newcommand{\oiint}{\mathop{\unicode{x222F}}\limits}}
+\CustomizeMathJax{\newcommand{\oiiint}{\mathop{\unicode{x2230}}\limits}}
+\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}}}
+\CustomizeMathJax{\newcommand{\iddots}{\mathinner{\unicode{x22F0}}}}
+\CustomizeMathJax{\newcommand{\utimes}{\mathbin{\overline{\times}}}}
+\CustomizeMathJax{\newcommand{\dtimes}{\mathbin{\underline{\times}}}}
+\CustomizeMathJax{\newcommand{\udtimes}{\mathbin{\overline{\underline{\times}}}}}
+\CustomizeMathJax{\newcommand{\leftwave}{\left\{}}
+\CustomizeMathJax{\newcommand{\rightwave}{\right\}}}
+
+\end{warpMathJax}
+\endinput
+%%
+%% End of file `lwarp-mathdesign.sty'.
Property changes on: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-mathdesign.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-mathdots.sty
===================================================================
--- branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-mathdots.sty 2021-02-18 22:18:09 UTC (rev 57790)
+++ branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-mathdots.sty 2021-02-18 22:20:50 UTC (rev 57791)
@@ -17,7 +17,15 @@
%% version 2005/12/01 or later.
\LWR at ProvidesPackagePass{mathdots}[2014/06/11]
\begin{warpMathJax}
-\CustomizeMathJax{\newcommand{\iddots}{\unicode{x22F0}}}
+\CustomizeMathJax{\newcommand{\iddots}{\mathinner{\unicode{x22F0}}}}
+\CustomizeMathJax{\let\fixedddots\ddots}
+\CustomizeMathJax{\let\fixedvdots\vdots}
+\CustomizeMathJax{\let\fixediddots\iddots}
+\CustomizeMathJax{\let\originalddots\ddots}
+\CustomizeMathJax{\let\originalvdots\vdots}
+\CustomizeMathJax{\let\originaliddots\iddots}
+\CustomizeMathJax{\let\originaldddot\dddot}
+\CustomizeMathJax{\let\originalddddot\ddddot}
\end{warpMathJax}
\endinput
%%
Modified: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-mathfixs.sty
===================================================================
--- branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-mathfixs.sty 2021-02-18 22:18:09 UTC (rev 57790)
+++ branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-mathfixs.sty 2021-02-18 22:20:50 UTC (rev 57791)
@@ -18,7 +18,7 @@
\LWR at ProvidesPackagePass{mathfixs}[2018/12/30]
\begin{warpMathJax}
\CustomizeMathJax{\newcommand{\rfrac}[2]{\tfrac{#1}{#2}}}
-\CustomizeMathJax{\newcommand{\vfrac}[2]{{}^{#1}\!/{}_{#2}}}
+\CustomizeMathJax{\newcommand{\vfrac}[2]{\mathinner{{}^{#1}\!/{}_{#2}}}}
\CustomizeMathJax{\newcommand{\ProvideMathFix}[1]{}}
\CustomizeMathJax{\newcommand{\mathbold}[1]{\boldsymbol{#1}}}
\CustomizeMathJax{\newcommand{\.}{\,}}
Added: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-mathpazo.sty
===================================================================
--- branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-mathpazo.sty (rev 0)
+++ branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-mathpazo.sty 2021-02-18 22:20:50 UTC (rev 57791)
@@ -0,0 +1,34 @@
+%%
+%% This is file `lwarp-mathpazo.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx (with options: `mathpazo')
+%% This is a generated file.
+%% Copyright 2016-2020 Brian Dunn
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+\LWR at ProvidesPackagePass{mathpazo}[2020/03/25]
+\LWR at origRequirePackage{lwarp-common-mathjax-letters}
+
+\begin{warpMathJax}
+\LWR at infoprocessingmathjax{mathpazo}
+
+\ifpazo at slGreek
+\LWR at mathjax@addgreek at u@it*{}{}
+\fi
+
+\LWR at mathjax@addgreek at u@up*{up}{}
+
+\CustomizeMathJax{\newcommand{\mathbold}[1]{\boldsymbol{#1}}}
+\end{warpMathJax}
+\endinput
+%%
+%% End of file `lwarp-mathpazo.sty'.
Property changes on: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-mathpazo.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-mathptmx.sty
===================================================================
--- branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-mathptmx.sty (rev 0)
+++ branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-mathptmx.sty 2021-02-18 22:20:50 UTC (rev 57791)
@@ -0,0 +1,32 @@
+%%
+%% This is file `lwarp-mathptmx.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx (with options: `mathptmx')
+%% This is a generated file.
+%% Copyright 2016-2020 Brian Dunn
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+\LWR at ProvidesPackagePass{mathptmx}[2020/03/25]
+\LWR at origRequirePackage{lwarp-common-mathjax-letters}
+
+\begin{warpMathJax}
+\LWR at infoprocessingmathjax{mathptmx}
+
+\@ifpackagewith{mathptmx}{slantedGreek}
+ {\LWR at mathjax@addgreek at u@it*{}{}}
+ {}
+
+\LWR at mathjax@addgreek at u@up*{up}{}
+\end{warpMathJax}
+\endinput
+%%
+%% End of file `lwarp-mathptmx.sty'.
Property changes on: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-mathptmx.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-mathspec.sty
===================================================================
--- branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-mathspec.sty (rev 0)
+++ branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-mathspec.sty 2021-02-18 22:20:50 UTC (rev 57791)
@@ -0,0 +1,93 @@
+%%
+%% This is file `lwarp-mathspec.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx (with options: `mathspec')
+%% This is a generated file.
+%% Copyright 2016-2020 Brian Dunn
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+\LWR at ProvidesPackagePass{mathspec}[2016/12/22]
+\LWR at origRequirePackage{lwarp-common-mathjax-letters}
+
+\begin{warpMathJax}
+\booltrue{LWR at MathJax@silentquotes}
+\AtBeginDocument{
+\ifcase\eu at GreekUppercase@@value %% If Greek Uppercase Regular
+ \LWR at mathjax@addgreek at u@up*{}{}
+\or %% If Greek Uppercase Italic
+ \LWR at mathjax@addgreek at u@it*{}{}
+\or %% If Greek Uppercase Plain
+ \LWR at mathjax@addgreek at u@up*{}{}
+\fi
+\ifcase\eu at GreekLowercase@@value %% If Greek Lowercase Regular
+ \LWR at mathjax@addgreek at l@up{}{}
+\or %% If Greek Lowercase Italic
+ \LWR at mathjax@addgreek at l@it{}{}
+\or %% If Greek Lowercase Plain
+ \LWR at mathjax@addgreek at l@it{}{}
+\fi
+}
+\newcommand*{\LWR at mathspec@varforms}{%
+\eu at ifbooltrue{GreekLowercase}{
+ \eu at ifbooltrue{exchangebetaforms}{
+ \CustomizeMathJax{\let\LWRorigbeta\beta}
+ \CustomizeMathJax{\let\beta\varbeta}
+ \CustomizeMathJax{\let\varbeta\LWRorigbeta}
+ }
+ \eu at ifbooltrue{exchangeepsilonforms}{
+ \CustomizeMathJax{\let\LWRorigepsilon\epsilon}
+ \CustomizeMathJax{\let\epsilon\varepsilon}
+ \CustomizeMathJax{\let\varepsilon\LWRorigepsilon}
+ }
+ \eu at ifbooltrue{exchangethetaforms}{
+ \CustomizeMathJax{\let\LWRorigtheta\theta}
+ \CustomizeMathJax{\let\theta\vartheta}
+ \CustomizeMathJax{\let\vartheta\LWRorigtheta}
+ }
+ \eu at ifbooltrue{exchangekappaforms}{
+ \CustomizeMathJax{\let\LWRorigkappa\kappa}
+ \CustomizeMathJax{\let\kappa\varkappa}
+ \CustomizeMathJax{\let\varkappa\LWRorigkappa}
+ }
+ \eu at ifbooltrue{exchangepiforms}{
+ \CustomizeMathJax{\let\LWRorigpi\pi}
+ \CustomizeMathJax{\let\pi\varpi}
+ \CustomizeMathJax{\let\varpi\LWRorigpi}
+ }
+ \eu at ifbooltrue{exchangerhoforms}{
+ \CustomizeMathJax{\let\LWRorigrho\rho}
+ \CustomizeMathJax{\let\rho\varrho}
+ \CustomizeMathJax{\let\varrho\LWRorigrho}
+ }
+ \eu at ifbooltrue{exchangephiforms}{
+ \CustomizeMathJax{\let\LWRorigphi\phi}
+ \CustomizeMathJax{\let\phi\varphi}
+ \CustomizeMathJax{\let\varphi\LWRorigphi}
+ }
+}
+\eu at ifbooltrue{GreekUppercase}{
+ \eu at ifbooltrue{exhangeThetaforms}{
+ \CustomizeMathJax{\let\LWRorigTheta\Theta}
+ \CustomizeMathJax{\let\Theta\varTheta}
+ \CustomizeMathJax{\let\varTheta\LWRorigTheta}
+ }
+}
+}
+\xapptocmd{\exchangeforms}
+ {\AtBeginDocument{\LWR at mathspec@varforms}}
+ {}
+ {\LWR at patcherror{mathspec}{exchangeforms}}
+
+\end{warpMathJax}
+\endinput
+%%
+%% End of file `lwarp-mathspec.sty'.
Property changes on: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-mathspec.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-mathtools.sty
===================================================================
--- branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-mathtools.sty 2021-02-18 22:18:09 UTC (rev 57790)
+++ branches/branch2020/Master/texmf-dist/tex/latex/lwarp/lwarp-mathtools.sty 2021-02-18 22:20:50 UTC (rev 57791)
@@ -50,7 +50,8 @@
\CustomizeMathJax{\newcommand{\crampedclap}[2][]{{#1#2}}}
\CustomizeMathJax{\newenvironment{crampedsubarray}[1]{}{}}
\CustomizeMathJax{\newcommand{\crampedsubstack}{}}
-\CustomizeMathJax{\newcommand{\smashoperator}[2][]{#2}}
+\CustomizeMathJax{\newcommand{\smashoperator}[2][]{#2\limits}}
+\CustomizeMathJax{\newcommand{\adjustlimits}{}}
\CustomizeMathJax{\newcommand{\SwapAboveDisplaySkip}{}}
\CustomizeMathJax{\require{extpfeil}}
@@ -68,10 +69,14 @@
\CustomizeMathJax{\Newextarrow\xleftharpoonup{10,10}{0x21bc}}
\CustomizeMathJax{\Newextarrow\xleftrightharpoons{10,10}{0x21cb}}
-\CustomizeMathJax{\newcommand{\LWRdounderbracket}[1]{\underline{#1}}}
+\CustomizeMathJax{\newcommand{\LWRdounderbracket}[3]{%
+ \mathinner{\underset{#3}{\underline{\llcorner{#1}\lrcorner}}}%
+}}
\CustomizeMathJax{\newcommand{\LWRunderbracket}[2][]{\LWRdounderbracket{#2}}}
\CustomizeMathJax{\newcommand{\underbracket}[1][]{\LWRunderbracket}}
-\CustomizeMathJax{\newcommand{\LWRdooverbracket}[1]{\overline{#1}}}
+\CustomizeMathJax{\newcommand{\LWRdooverbracket}[3]{%
+ \mathinner{\overset{#3}{\overline{\ulcorner{#1}\urcorner}}}%
+}}
\CustomizeMathJax{\newcommand{\LWRoverbracket}[2][]{\LWRdooverbracket{#2}}}
\CustomizeMathJax{\newcommand{\overbracket}[1][]{\LWRoverbracket}}
@@ -118,15 +123,20 @@
\def\LWRAboxed#1!|!{\fbox{\(#1\)}&\fbox{\(#2\)}}
\newcommand{\Aboxed}[1]{\LWRAboxed#1&&!|!}
}
-
\CustomizeMathJax{
- \newcommand{\ArrowBetweenLines}[1][\Updownarrow]{#1}% no starred
+ \newcommand{\LWRABLines}[1][\Updownarrow]{#1 \notag \\}% star/nostar the same
+ \newcommand{\ArrowBetweenLines}{\ifstar\LWRABLines\LWRABLines}
}
+\CustomizeMathJax{\newcommand{\shortintertext}[1]{\text{#1}\notag \\}}
-\CustomizeMathJax{\newcommand{\shortintertext}[1]{\\ \text{#1}\notag \\}}
+\CustomizeMathJax{\newcommand{\vdotswithin}[1]{\hspace{.5em}\vdots}}
+\CustomizeMathJax{\newcommand{\LWRshortvdotswithinstar}[1]{\vdots \hspace{.5em} & \\}}
+\CustomizeMathJax{\newcommand{\LWRshortvdotswithinnostar}[1]{& \hspace{.5em}\vdots \\}}
+\CustomizeMathJax{%
+ \newcommand{\shortvdotswithin}%
+ {\ifstar\LWRshortvdotswithinstar\LWRshortvdotswithinnostar}%
+}
-\CustomizeMathJax{\newcommand{\vdotswithin}[1]{\hspace{.5em}\vdots}}
-\CustomizeMathJax{\newcommand{\shortvdotswithin}[1]{ & \hspace{.5em}\vdots \\}}
\CustomizeMathJax{\newcommand{\MTFlushSpaceAbove}{}}
\CustomizeMathJax{\newcommand{\MTFlushSpaceBelow}{\\}}
@@ -133,7 +143,33 @@
\LetLtxMacro\LWR at mathtools@orig at DeclarePairedDelimiter\DeclarePairedDelimiter
\renewcommand{\DeclarePairedDelimiter}[3]{
\LWR at mathtools@orig at DeclarePairedDelimiter{#1}{#2}{#3}
- \CustomizeMathJax{\newcommand{#1}[2][]{{##1#2##2##1#3}}}
+ \appto\LWR at customizedMathJax{\LWRbackslash(}
+ \appto\LWR at customizedMathJax{%
+ \LWRbackslash{}newcommand\{\LWRbackslash\macrotocsname{#1}LWRsubstar\}%
+ }%
+ \appto\LWR at customizedMathJax{[2][]}%
+ \appto\LWR at customizedMathJax{\{\{}%
+ \LWR at subcustomizedmathjax{##1\left#2##2##1\right#3}%
+ \appto\LWR at customizedMathJax{\}\}}%
+ \appto\LWR at customizedMathJax{\LWRbackslash)\par}%
+ \appto\LWR at customizedMathJax{\LWRbackslash(}
+ \appto\LWR at customizedMathJax{%
+ \LWRbackslash{}newcommand\{\LWRbackslash\macrotocsname{#1}LWRsubnostar\}%
+ }%
+ \appto\LWR at customizedMathJax{[2][]}%
+ \appto\LWR at customizedMathJax{\{\{}%
+ \LWR at subcustomizedmathjax{##1#2##2##1#3}%
+ \appto\LWR at customizedMathJax{\}\}}%
+ \appto\LWR at customizedMathJax{\LWRbackslash)\par}%
+ \appto\LWR at customizedMathJax{\LWRbackslash(}
+ \appto\LWR at customizedMathJax{%
+ \LWRbackslash{}newcommand\{\LWRbackslash{}\macrotocsname{#1}\}%
+ \{\LWRbackslash{}ifstar%
+ \LWRbackslash{}\macrotocsname{#1}LWRsubstar%
+ \LWRbackslash{}\macrotocsname{#1}LWRsubnostar%
+ \}%
+ }%
+ \appto\LWR at customizedMathJax{\LWRbackslash)\par}%
}
\@onlypreamble\DeclareParedDelimiter
@@ -143,9 +179,31 @@
\LWR at mathtools@orig at DeclarePairedDelimiterXPP{#1}[#2]{#3}{#4}{#5}{#6}{#7}
\appto\LWR at customizedMathJax{\LWRbackslash(}%
\appto\LWR at customizedMathJax{%
@@ Diff output truncated at 1234567 characters. @@
More information about the tex-live-commits
mailing list.