summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2021-02-18 22:20:50 +0000
committerKarl Berry <karl@freefriends.org>2021-02-18 22:20:50 +0000
commit4220324e99226b427519e0380034f951f67a011f (patch)
treecb991a317a2a496a06ca35e186b5769a1647fb00
parent8c0263c4dae81b4fb2e0bb547d3954699856108b (diff)
lwarp (18feb21)
git-svn-id: svn://tug.org/texlive/branches/branch2020@57791 c570f23f-e606-0410-a88d-b1316a301751
-rwxr-xr-xBuild/source/texk/texlive/linked_scripts/lwarp/lwarpmk.lua19
-rw-r--r--Master/texmf-dist/doc/latex/lwarp/README.txt4
-rw-r--r--Master/texmf-dist/doc/latex/lwarp/lwarp.pdfbin2653336 -> 3153568 bytes
-rwxr-xr-xMaster/texmf-dist/scripts/lwarp/lwarpmk.lua19
-rw-r--r--Master/texmf-dist/source/latex/lwarp/lwarp.dtx19534
-rw-r--r--Master/texmf-dist/source/latex/lwarp/lwarp.ins79
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-SIunits.sty121
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-abstract.sty14
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-accents.sty70
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-accessibility.sty2
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-acro.sty9
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-adjmulticol.sty4
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-afterpage.sty2
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-algorithm2e.sty42
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-algorithmicx.sty8
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-alltt.sty17
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-amscdx.sty34
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-amsmath.sty19
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-amsthm.sty51
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-atbegshi.sty12
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-attachfile.sty2
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-attachfile2.sty2
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-authblk.sty11
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-backnaur.sty32
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-backref.sty8
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-biblatex.sty113
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-booktabs.sty6
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-boxedminipage.sty36
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-boxedminipage2e.sty14
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-braket.sty9
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-breakurl.sty2
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-bussproofs.sty34
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-cancel.sty5
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-caption.sty123
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-caption3.sty97
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-centernot.sty6
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-changes.sty344
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-chemgreek.sty2
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-citeref.sty35
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-cleveref.sty132
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-cmbright.sty38
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-colonequals.sty36
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-colortbl.sty6
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-common-mathjax-letters.sty330
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-common-mathjax-newpxtxmath.sty278
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-common-mathjax-nonunicode.sty154
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-common-mathjax-overlaysymbols.sty34
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-common-multimedia.sty18
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-ctable.sty4
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-drftcite.sty28
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-easy-todo.sty4
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-econometrics.sty96
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-ed.sty2
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-embrac.sty3
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-enumitem.sty3
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-epigraph.sty66
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-epsf.sty30
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-epsfig.sty8
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-epstopdf-base.sty2
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-epstopdf.sty2
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-errata.sty2
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-esvect.sty26
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-everyshi.sty3
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-fancybox.sty12
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-fancyhdr.sty18
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-fancyref.sty25
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-fancyvrb.sty46
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-fbox.sty102
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-fixmath.sty29
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-fixme.sty6
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-float.sty22
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-floatflt.sty2
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-floatrow.sty26
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-fnpara.sty21
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-fontaxes.sty22
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-forest.sty9
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-fourier.sty86
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-fvextra.sty166
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-gindex.sty42
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-glossaries.sty2
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-graphics.sty34
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-graphicx.sty2
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-hang.sty4
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-hepunits.sty84
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-hhtensor.sty47
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-hyperref.sty275
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-idxlayout.sty12
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-imakeidx.sty6
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-index.sty2
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-intopdf.sty2
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-isomath.sty32
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-isotope.sty86
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-jurabib.sty76
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-karnaugh-map.sty9
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-keyfloat.sty4
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-keystroke.sty70
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-kpfonts-otf.sty76
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-kpfonts.sty87
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-lettrine.sty2
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-libertinust1math.sty334
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-lineno.sty2
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-listings.sty52
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-longtable.sty26
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-lpic.sty26
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-luatodonotes.sty2
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-luavlna.sty23
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-lyluatex.sty4
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-makeidx.sty2
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-mathalpha.sty28
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-mathastext.sty62
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-mathdesign.sty65
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-mathdots.sty10
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-mathfixs.sty2
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-mathpazo.sty34
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-mathptmx.sty32
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-mathspec.sty93
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-mathtools.sty133
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-mattens.sty106
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-maybemath.sty30
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-mdframed.sty9
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-mdwmath.sty29
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-menukeys.sty41
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-mhchem.sty4
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-minted.sty62
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-mismath.sty68
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-mleftright.sty27
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-moreverb.sty26
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-multibib.sty26
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-multicol.sty4
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-multiobjective.sty4
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-multirow.sty30
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-nccmath.sty9
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-newpxmath.sty41
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-newtxmath.sty51
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-newtxsf.sty50
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-nfssext-cfr.sty348
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-nicefrac.sty2
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-nicematrix.sty118
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-nowidow.sty1
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-ntheorem.sty20
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-parcolumns.sty5
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-parnotes.sty4
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-patch-komascript.sty3
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-patch-memoir.sty176
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-pdfrender.sty4
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-physics.sty263
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-picinpar.sty75
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-pinlabel.sty30
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-plimsoll.sty31
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-pstricks.sty5
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-pxfonts.sty28
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-quoting.sty2
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-realscripts.sty140
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-repltext.sty26
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-rlepsf.sty30
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-rmathbr.sty2
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-rotating.sty35
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-rotfloat.sty1
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-scalerel.sty45
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-schemata.sty18
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-scrextend.sty66
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-selectp.sty22
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-seqsplit.sty44
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-shadethm.sty32
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-shuffle.sty54
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-sidenotes.sty12
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-simplebnf.sty71
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-siunitx.sty161
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-skmath.sty232
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-slantsc.sty6
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-splitbib.sty54
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-splitidx.sty2
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-statex2.sty2
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-statistics.sty268
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-statmath.sty53
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-steinmetz.sty2
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-struktex.sty2
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-subcaption.sty21
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-subfig.sty10
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-svg.sty2
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-swfigure.sty32
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-tcolorbox.sty252
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-tensor.sty54
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-termcal.sty44
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-textcomp.sty3
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-textpos.sty4
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-thm-listof.sty50
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-thm-restate.sty26
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-thmbox.sty50
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-thmtools.sty29
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-tikz-imagelabels.sty26
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-tikz.sty21
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-titlesec.sty17
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-titling.sty39
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-tocloft.sty30
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-todonotes.sty2
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-trivfloat.sty7
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-txfonts.sty28
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-txgreeks.sty44
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-unicode-math.sty131
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-units.sty4
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-upgreek.sty30
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-url.sty5
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-ushort.sty30
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-varioref.sty28
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-verse.sty4
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-witharrows.sty4
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-wrapfig.sty30
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-xcolor.sty34
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-xevlna.sty24
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-xfakebold.sty13
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-xfrac.sty7
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-xpinyin.sty2
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp.sty3342
214 files changed, 25733 insertions, 6580 deletions
diff --git a/Build/source/texk/texlive/linked_scripts/lwarp/lwarpmk.lua b/Build/source/texk/texlive/linked_scripts/lwarp/lwarpmk.lua
index dcf139cf615..95c5d37a137 100755
--- a/Build/source/texk/texlive/linked_scripts/lwarp/lwarpmk.lua
+++ b/Build/source/texk/texlive/linked_scripts/lwarp/lwarpmk.lua
@@ -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 pdftohtml [-p project]:
lwarpmk pdftosvg <list of file names>: Converts each PDF file to SVG.
lwarpmk epstopdf <list of file names>: Converts each EPS file to PDF.
lwarpmk clean [-p project]: Remove *.aux, *.toc, *.lof/t,
- *.idx, *.ind, *.log, *_html_inc.*, .gl*,
+ *.idx, *.ind, *.bbl, *.log, *_html_inc.*, .gl*,
*_html.pdf, *_html.html, *_html.sidetoc
lwarpmk cleanall [-p project]: Remove auxiliary files, project.pdf, *.html
lwarpmk cleanlimages: Removes all images from the "lateximages" directory.
+lwarpmk -v: Print the version number.
lwarpmk -h: Print this help message.
lwarpmk --help: Print this help message.
@@ -379,12 +380,13 @@ function removeaux ()
-- 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 @@ os.execute ( rmname .. " *.aux " ..
sourcename .. "_html.pdf " ..
sourcename .. "_html.html " ..
sourcename .. "_html.sidetoc " ..
- " *_html_inc.* "
+ " *_html_inc.* " ..
+ " comment_*.cut"
)
end
@@ -890,6 +893,12 @@ print ("lwarpmk: Done.")
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
diff --git a/Master/texmf-dist/doc/latex/lwarp/README.txt b/Master/texmf-dist/doc/latex/lwarp/README.txt
index 1a9232fc82e..f77e4ae669c 100644
--- a/Master/texmf-dist/doc/latex/lwarp/README.txt
+++ b/Master/texmf-dist/doc/latex/lwarp/README.txt
@@ -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 @@ and version 1.3 or later is part of all distributions of LaTeX
version 2005/12/01 or later.
-Copyright 2016-2020 Brian Dunn
+Copyright 2016-2021 Brian Dunn
Homepage: http://BDTechConcepts.com
Email: bd@BDTechConcepts.com
diff --git a/Master/texmf-dist/doc/latex/lwarp/lwarp.pdf b/Master/texmf-dist/doc/latex/lwarp/lwarp.pdf
index 18cd82265d7..e49cbc84fbb 100644
--- a/Master/texmf-dist/doc/latex/lwarp/lwarp.pdf
+++ b/Master/texmf-dist/doc/latex/lwarp/lwarp.pdf
Binary files differ
diff --git a/Master/texmf-dist/scripts/lwarp/lwarpmk.lua b/Master/texmf-dist/scripts/lwarp/lwarpmk.lua
index dcf139cf615..95c5d37a137 100755
--- a/Master/texmf-dist/scripts/lwarp/lwarpmk.lua
+++ b/Master/texmf-dist/scripts/lwarp/lwarpmk.lua
@@ -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 pdftohtml [-p project]:
lwarpmk pdftosvg <list of file names>: Converts each PDF file to SVG.
lwarpmk epstopdf <list of file names>: Converts each EPS file to PDF.
lwarpmk clean [-p project]: Remove *.aux, *.toc, *.lof/t,
- *.idx, *.ind, *.log, *_html_inc.*, .gl*,
+ *.idx, *.ind, *.bbl, *.log, *_html_inc.*, .gl*,
*_html.pdf, *_html.html, *_html.sidetoc
lwarpmk cleanall [-p project]: Remove auxiliary files, project.pdf, *.html
lwarpmk cleanlimages: Removes all images from the "lateximages" directory.
+lwarpmk -v: Print the version number.
lwarpmk -h: Print this help message.
lwarpmk --help: Print this help message.
@@ -379,12 +380,13 @@ function removeaux ()
-- 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 @@ os.execute ( rmname .. " *.aux " ..
sourcename .. "_html.pdf " ..
sourcename .. "_html.html " ..
sourcename .. "_html.sidetoc " ..
- " *_html_inc.* "
+ " *_html_inc.* " ..
+ " comment_*.cut"
)
end
@@ -890,6 +893,12 @@ print ("lwarpmk: Done.")
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
diff --git a/Master/texmf-dist/source/latex/lwarp/lwarp.dtx b/Master/texmf-dist/source/latex/lwarp/lwarp.dtx
index 26c58843b54..51892df0c1b 100644
--- a/Master/texmf-dist/source/latex/lwarp/lwarp.dtx
+++ b/Master/texmf-dist/source/latex/lwarp/lwarp.dtx
@@ -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 @@ bibtex <projectname>\textred{\_html}.gls
\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 @@ allowing other packages to work with it.
\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 @@ so care must be taken to avoid accidentally including valid \HTML\ code inside
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 @@ In the \CSS\ try referencing fonts which are more complete, but expect to see ga
\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 @@ instead of pdf\LaTeX.
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 @@ Please contact the author with any bug reports.
}
\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 @@ Since \pkg{lwarp} is intended to support the freestanding packages,
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.
+
+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{newfootnoteseries}, etc. are not supported.
+\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 @@ Horizontal spacing relies on \prog{pdftotext}'s ability to discern the layout
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 @@ before and after each image.
\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 @@ equation numbering and cross referencing to be almost entirely under the control
\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 @@ Limitations when using \brand{MathJax} include:
\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 @@ Limitations when using \brand{MathJax} include:
\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 @@ Limitations when using \brand{MathJax} include:
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 @@ package.
\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 @@ change between uses.
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 @@ See \cref{sec:localizingdynamicmath}.
\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 @@ When selecting \cs{displaymathother},
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 @@ so complicated objects such as \tikz\ pictures are more likely to compile succes
\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 @@ macros may be defined as follows:
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 @@ in section names use paren math \texttt{\textbackslash(x+y\textbackslash)}
\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 @@ Or, use a short name for the \TOC\ entry without the math, or use \cs{texorpdfst
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 @@ Or, use a short name for the \TOC\ entry without the math, or use \cs{texorpdfst
\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 @@ This conversion is not total.
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 @@ the extension will be changed to \filenm{.svg} for \HTML:
\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,14 +1730,14 @@ For \EPS\ images converted to \PDF\ using the package \pkg{epstopdf},
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)}}
\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 @@ the same file may be used in both print or \HTML\ versions, and may be used with
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 @@ by an \SVG, \PNG, or \JPG\ version for \HTML.
}
\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 @@ or the packages \pkg{multirow}, \pkg{longtable}, \pkg{supertabular}, or \pkg{xta
\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@HTML@subsomename}}\}[2]\{\% \\
+ \fquad \dots \\
+ \fquad \textgreen{\cs{otherenvironmentname} [<args>] \{<args>\}}\quad \% for example \\
+ \} \\
+ \% Change catcode before absorbing arguments: \\
+ \cs{newcommand}*\{\cs{LWR@HTML@somename}\{\% \\
+ \fquad \textred{\cs{StartDefiningTabulars}} \\
+ \fquad \textblue{\cs{LWR@HTML@subsomename}} \\
+ \} \\
+ \% Change catcode again at the end: \\
+ \cs{newcommand}*\{\cs{LWR@HTML@endsomename}\}\{\% \\
+ \fquad \dots \\
+ \fquad \textgreen{\cs{endotherenvironmentname}} \quad \% for example \\
+ \fquad \textred{\cs{StopDefiningTabulars}} \\
+ \} \\
+ \% Combine with the existing print definition: \\
+ \cs{LWR@formattedenv}\{somename\}
+ \end{sourcedisplay}
\end{itemize}
\item [Cell contents:] \
@@ -2148,16 +2297,16 @@ when the containing enviroment ends, resulting in corrupted \HTML\ rows.
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 @@ Unfortunately, the \HTML\ \attribute{alt} attribute is not used here.
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,13 +2723,23 @@ If using \cs{newfloat}, \pkg{trivfloat}, and/or
% 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
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 @@ For math expressions while using \brand{MathJax},
\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 @@ These packages do work with \pkg{lwarp}'s option \optn{svgmath}.
\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 @@ These are not the same as the third-party \brand{MathJax} extension.
\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 @@ changes do not affect the \HTML\ output.
}
\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,27 +2973,6 @@ The defaults are as follows, and may be changed in the preamble after
\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:
@@ -2925,7 +3053,7 @@ This boolean may be tested by the user for later use.
%<*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 @@ This boolean may be tested by the user for later use.
% \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 @@ This boolean may be tested by the user for later use.
%
% \fileversion{} \Dash \filedate
%
-% {\small\textcopyright{} 2016--2020} Brian Dunn\\ \small \texttt{bd@BDTechConcepts.com}
+% {\small\textcopyright{} 2016--2021} Brian Dunn\\ \small \texttt{bd@BDTechConcepts.com}
%
% \end{center}
%
@@ -3083,9 +3222,10 @@ This boolean may be tested by the user for later use.
% The \pkg{lwarp} package converts \LaTeX\ to \HTML\ by using \LaTeX\ to process the
% user's document and directly generate \HTML\ tags. External utility programs are only
% used for the final conversion of text and images. Math may be represented
-% by \SVG\ images or \brand{MathJax}. Hundreds of \LaTeX\ packages are supported,
-% including dozens with \brand{MathJax} emulation.
-%
+% by \SVG\ images or \brand{MathJax}.
+% More than 500 \LaTeX\ packages and classes are supported,
+% of which more than 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 @@ This boolean may be tested by the user for later use.
%
% \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 @@ This boolean may be tested by the user for later use.
% \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 @@ This boolean may be tested by the user for later use.
% \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 @@ This boolean may be tested by the user for later use.
% \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 @@ This boolean may be tested by the user for later use.
% \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 @@ This boolean may be tested by the user for later use.
% \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 @@ This boolean may be tested by the user for later use.
% \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 @@ This boolean may be tested by the user for later use.
% \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 @@ This boolean may be tested by the user for later use.
% ^^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 @@ This boolean may be tested by the user for later use.
% ^^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 @@ This boolean may be tested by the user for later use.
% ^^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 @@ This boolean may be tested by the user for later use.
% 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,13 +5464,14 @@ This boolean may be tested by the user for later use.
% 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.
% \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 @@ This boolean may be tested by the user for later use.
%
% \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 @@ This boolean may be tested by the user for later use.
% \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,31 +5575,38 @@ This boolean may be tested by the user for later use.
% \ipkg{tocbasic}, \mpkg{tocbibind}, \mpkg{tocdata},
% \ipkg{tocloft}, \ipkg{tocstyle}, \spkg{tocvsec2}. \\
%
-% Title page: & \cs{maketitle}, \env{titlepage}, \mpkg{authblk}, \mpkg{titling}. \\
+% Title page: & \cs{maketitle}, \env{titlepage}, \mpkg{authblk},
+% \spkg{authoraftertitle}, \mpkg{titling}. \\
%
% Front \&\ back matter: & \mpkg{abstract}, \mpkg{appendix}. \\
%
-% 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}.
%
% \\
%
% \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 @@ This boolean may be tested by the user for later use.
% 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 @@ This boolean may be tested by the user for later use.
% \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 @@ This boolean may be tested by the user for later use.
% 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 @@ This boolean may be tested by the user for later use.
% 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 @@ This boolean may be tested by the user for later use.
% \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 @@ This boolean may be tested by the user for later use.
% 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 @@ This boolean may be tested by the user for later use.
% 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}.
+%
+% \smallskip
+%
+% Also see the math section for math and \brand{MathJax} support for math font packages. \\
%
-% Symbols: & Native \LaTeX\ diacriticals, \mpkg{academicons}, \mpkg{bbding},
+% 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 @@ This boolean may be tested by the user for later use.
% \mpkg{chemmacros}, \mpkg{chemnum},
% \spkg{circuitikz}, \spkg{econometrics}\ejax, \spkg{elements},
% \mpkg{engtlc}\ejax, \spkg{fast-diagram}, \mpkg{ghsystem},
-% \spkg{hepnicenames}, \spkg{heppennames}, \spkg{karnaughmap}, \mpkg{karnaugh-map},
-% \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 @@ This boolean may be tested by the user for later use.
%
% \midrule
%
+% Calendars: & \mpkg{termcal} \\
+%
+% \midrule
+%
% Admonitions: & \epkg{awesomebox}, \epkg{notes}. \\
%
% Editorial: & \ipkg{changebar}, \spkg{changelog}, \mpkg{changes},
@@ -5447,7 +5889,7 @@ This boolean may be tested by the user for later use.
%
% 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 @@ This boolean may be tested by the user for later use.
% 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 @@ This boolean may be tested by the user for later use.
%
% \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 @@ This boolean may be tested by the user for later use.
%
% 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,15 +7225,20 @@ This boolean may be tested by the user for later use.
% \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.
% \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 @@ This boolean may be tested by the user for later use.
% \item [\optn{pdftotextEnc}:] To adjust the encoding of \prog{pdftotext}.
% \end{description}
% \end{description}
+% \end{table}
%
%
% \subsection{Accessibility}
@@ -6838,8 +7286,11 @@ This boolean may be tested by the user for later use.
% \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 boolean may be tested by the user for later use.
% This may be changed by redefining \cs{AltTextOpen} and \cs{AltTextClose}.
% Set with \cs{renewcommand}.
% \end{description}
+% \end{table}
%
%
%
@@ -6951,7 +7403,7 @@ This boolean may be tested by the user for later use.
% \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 @@ This boolean may be tested by the user for later use.
% ^^A \gindex{ligatures}\gindex{font>ligatures}
% \end{enumerate}
% \end{itemize}
-% \item |\usepackage{lwarp}| (\cref{sec:loading}) is placed after any of the above, followed by:
% \item |\usepackage{newtxmath}| or other math-related font packages.
-% Many of these load \pkg{amsmath}, which must be loaded after \pkg{lwarp},
-% so they must also be loaded after \pkg{lwarp}.
+% Many of these load \pkg{amsmath}, which may now be loaded before \pkg{lwarp}.
+% \item |\usepackage{lwarp}| (\cref{sec:loading}) is placed after any of the above, followed by:
% \item |\setmonofont{TeX Gyre Cursor}| or similar may be required if using
% \trouble[\pkg{fontspec} with monospaced fonts]{font>monospace}
% \trouble{font>ligatures}
@@ -7077,6 +7528,23 @@ This boolean may be tested by the user for later use.
% 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,17 +7557,12 @@ This boolean may be tested by the user for later use.
% \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}.
+%
+% See \cref{sec:indexingoverview} for indexing, and
+% \cref{sec:glossaries} for the \pkg{glossaries} package.
%
-% 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.
%
%
% \clearpage
@@ -7109,7 +7572,7 @@ This boolean may be tested by the user for later use.
% \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 @@ This boolean may be tested by the user for later use.
% \midrule
% \multicolumn{2}{l}{\small For indexing (\cref{sec:indexsetup}) and glossaries (\cref{sec:glossaries}):} \\
% makeindex & Use \prog{makeindex} to generate indices. \\
-% xindy & Use \prog{xindy} to generate indices. \\
% makeindexStyle & Set a custom style for \prog{makeindex}. \\
+% xindy & Use \prog{xindy} to generate indices. \\
% xindyStyle & Set a custom style for \prog{xindy}. \\
% xindyLanguage & The \prog{xindy} language option used for index
% ^^A and glossary
@@ -7138,9 +7601,12 @@ This boolean may be tested by the user for later use.
% 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 @@ This boolean may be tested by the user for later use.
%
% \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 @@ This boolean may be tested by the user for later use.
% \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,43 +7736,50 @@ This boolean may be tested by the user for later use.
% 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
% \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 @@ This boolean may be tested by the user for later use.
%
% 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 @@ This boolean may be tested by the user for later use.
% 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 @@ This boolean may be tested by the user for later use.
% \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 @@ This boolean may be tested by the user for later use.
% 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,36 +7874,63 @@ This boolean may be tested by the user for later use.
% 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
% 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.
% 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 @@ This boolean may be tested by the user for later use.
% \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 @@ This boolean may be tested by the user for later use.
% 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 @@ This boolean may be tested by the user for later use.
% \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 @@ This boolean may be tested by the user for later use.
%
% \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.
-%
-% \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.
-%
-% \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\}}:] \
+% \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.
%
-% \begin{description}
+% \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.
%
% \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 @@ This boolean may be tested by the user for later use.
% 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 @@ This boolean may be tested by the user for later use.
% 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 @@ This boolean may be tested by the user for later use.
%
% \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 @@ This boolean may be tested by the user for later use.
% 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 @@ This boolean may be tested by the user for later use.
%
% \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 @@ This boolean may be tested by the user for later use.
% \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 @@ This boolean may be tested by the user for later use.
%
% \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 @@ This boolean may be tested by the user for later use.
% 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 @@ This boolean may be tested by the user for later use.
% \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 @@ This boolean may be tested by the user for later use.
% \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 @@ This boolean may be tested by the user for later use.
% 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,9 +8895,73 @@ This boolean may be tested by the user for later use.
%
% \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}
@@ -8474,7 +9105,7 @@ This boolean may be tested by the user for later use.
% 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,6 +9133,44 @@ This boolean may be tested by the user for later use.
% \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@cnt@mytheo}{my theorem}{my theorems}
+% \end{sourceverb}
+%
+%
%
% \subsection{Section names}
% \label{sec:limitssectionnames}
@@ -8601,6 +9270,14 @@ This boolean may be tested by the user for later use.
% \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,7 +9500,12 @@ This boolean may be tested by the user for later use.
%
% 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}
@@ -8835,15 +9517,16 @@ This boolean may be tested by the user for later use.
% 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 @@ This boolean may be tested by the user for later use.
%
% \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 @@ This boolean may be tested by the user for later use.
% 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 @@ This boolean may be tested by the user for later use.
% \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 @@ This boolean may be tested by the user for later use.
%
% \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 @@ This boolean may be tested by the user for later use.
% \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 @@ This boolean may be tested by the user for later use.
% \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 @@ This boolean may be tested by the user for later use.
%
% 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 @@ This boolean may be tested by the user for later use.
% 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 @@ This boolean may be tested by the user for later use.
% 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 @@ This boolean may be tested by the user for later use.
% 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 @@ This boolean may be tested by the user for later use.
% 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 @@ This boolean may be tested by the user for later use.
% \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 @@ This boolean may be tested by the user for later use.
% \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 @@ This boolean may be tested by the user for later use.
% 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 @@ This boolean may be tested by the user for later use.
% \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,26 +10183,78 @@ This boolean may be tested by the user for later use.
% \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
% \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 @@ This boolean may be tested by the user for later use.
%
%
% \subsubsection{Index positions, \TOC, \pkg{tocbibind}}
+% \gindex{index>placement}
+% \gindex{index>tocbibind=\pkg{tocbibind}}
+%
% \limitstocbibind
%
% \limitstocloft
@@ -9527,12 +10378,6 @@ This boolean may be tested by the user for later use.
%
%
%
-% \subsubsection{\pkg{newtxmath} package}
-%
-% \DescribePackage{newtxmath}
-% \limitsnewtxmath
-%
-%
% \subsection{Graphics}
% \label{sec:limitsgraphics}
%
@@ -9751,6 +10596,41 @@ This boolean may be tested by the user for later use.
% \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@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@Lab\ (cont.)]{%
+% \par
+% \textbf{#2}
+% \begin{fminipage}{\linewidth}
+% }
+% {\end{fminipage}}
+% \end{warpHTML}
+% \end{sourceverb}
+%
%
% \subsection{International languages}
% \label{sec:international}
@@ -9818,6 +10698,10 @@ This boolean may be tested by the user for later use.
% \limitsfixme
%
%
+% \subsubsection{\pkg{acro} package}
+% \limitsacro
+% \trouble{acro=\pkg{acro}}
+%
% \subsubsection{\pkg{chemfig} package}
%
% \limitschemfig
@@ -9835,14 +10719,6 @@ This boolean may be tested by the user for later use.
% 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 @@ This boolean may be tested by the user for later use.
% 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 @@ This boolean may be tested by the user for later use.
%
% 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 @@ This boolean may be tested by the user for later use.
% \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 @@ This boolean may be tested by the user for later use.
% 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 @@ This boolean may be tested by the user for later use.
%
% 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 @@ This boolean may be tested by the user for later use.
% 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,17 +11823,20 @@ This boolean may be tested by the user for later use.
% \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
% 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,9 +11891,20 @@ This boolean may be tested by the user for later use.
% 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}.
%
@@ -11029,6 +11946,12 @@ This boolean may be tested by the user for later use.
% \end{sourcedisplay}
% \trouble{Label(s) may have changed}
%
+% \item [``Temporary page! LaTeX was unable to guess the total
+% number of pages \dots'':] \
+% Harmless. Recompile the document one more time.
+% \trouble{Temporary page \dots unable to guess \dots}
+% \trouble{LaTeX was unable to guess the total\dots}
+%
% \item [``Leaders not followed by proper glue'':] ~ \\
% This can be caused by
% a missing |l@<floattype>| or |l@<sectiontype>| definition.
@@ -11050,8 +11973,16 @@ This boolean may be tested by the user for later use.
% \end{sourcedisplay}
% inside a group first.
%
+% As a stop-gap measure, you may wish to try incrementing
+% \label{sec:troubletexboxes}
+% \margintag{\ctr{LWR@texboxdepth}}
+% the counter \ctr{LWR@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 @@ This boolean may be tested by the user for later use.
%
% 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 @@ This boolean may be tested by the user for later use.
% define new macros for print and \HTML\ modes, see \cref{sec:definingprinthtml}
% regarding \cs{LWR@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 @@ This boolean may be tested by the user for later use.
% \item Enter \cmds{lwarpmk limages} to refresh the \env{lateximage} images.
% \end{itemize}
%
-% \item[SVG images:] \
+% \item[\SVG\ images:] \
%
% \limitssvgimages
%
@@ -11523,8 +12475,12 @@ This boolean may be tested by the user for later use.
% \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 @@ This boolean may be tested by the user for later use.
{%
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 ``\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.%
}
- {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.}
}
-{}
+{\relax}
}
% \end{macrocode}
% \end{macro}
@@ -11668,11 +12627,14 @@ This boolean may be tested by the user for later use.
% \begin{macrocode}
\newcommand*{\LWR@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 @@ This boolean may be tested by the user for later use.
{%
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 @@ This boolean may be tested by the user for later use.
or is superceded by another class.\MessageBreak
For a possible alternative, see class(es) #2.
}
-}{}%
+}{\relax}%
}
% \end{macrocode}
% \end{macro}
@@ -11794,7 +12758,13 @@ This boolean may be tested by the user for later use.
% \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@earlyclassloadnever{jarticle}{ujarticle}
\LWR@earlyclassloadnever{jbook}{ujbook}
@@ -11808,23 +12778,21 @@ This boolean may be tested by the user for later use.
\LWR@earlyloadnever{alg}{algorithm2e, algorithmicx}
\LWR@earlyloadnever{algorithmic}{algorithm2e, algorithmicx}
\LWR@earlyloadnever{bitfield}{bytefield}
-\LWR@earlyloadnever{boxedminipage}{boxedminipage2e}
\LWR@earlyloadnever{caption2}{caption}
% \LWR@earlyloadnever{ccaption}{caption}% might be preloaded by memoir
\LWR@earlyloadnever{colortab}{colortbl}
+\LWR@earlyloadnever{csvtools}{datatool}
\LWR@earlyloadnever{doublespace}{setspace}
-\LWR@earlyloadnever{epsf}{graphicx}
\LWR@earlyloadnever{fancyheadings}{fancyhdr}
\LWR@earlyloadnever{fncylab}{cleveref}
\LWR@earlyloadnever{formula}{siunitx}
\LWR@earlyloadnever{glossary}{glossaries}
\LWR@earlyloadnever{hyper}{hyperref}
+\LWR@earlyloadnever{libgreek}{libertinust1math, newtx}
\LWR@earlyloadnever{newthm}{ntheorem}
\LWR@earlyloadnever{pdfcprot}{microtype}
-\LWR@earlyloadnever{picinpar}{floatflt, wrapfig}
\LWR@earlyloadnever{picins}{floatflt, wrapfig}
\LWR@earlyloadnever{rplain}{fancyhdr}
-\LWR@earlyloadnever{shadethm}{mdframed}
\LWR@earlyloadnever{si}{siunitx}
\LWR@earlyloadnever{sistyle}{siunitx}
\LWR@earlyloadnever{slashbox}{diagbox}
@@ -11860,6 +12828,7 @@ This boolean may be tested by the user for later use.
% \changes{v0.45}{2017/12/03}{Allows \pkg{memoir}'s preloaded packages.}
% \changes{v0.58}{2018/06/21}{Fix: \pkg{memoir} and \pkg{ccaption}.}
% \changes{v0.82}{2020/03/17}{\pkg{syntonly}: Added to \cs{LWR@loadafter}.}
+% \changes{v0.89}{2020/08/12}{Allow preload of \pkg{amsmath}, \pkg{amsthm}, \pkg{centernot}.}
%
% The following packages must be loaded after \pkg{lwarp}:
% ^^A *loadafter
@@ -11871,6 +12840,7 @@ This boolean may be tested by the user for later use.
\LWR@loadafter{a5comb}
\LWR@notmemoirloadafter{abstract}
\LWR@loadafter{academicons}
+\LWR@loadafter{accents}
\LWR@loadafter{accessibility}
\LWR@loadafter{accsupp}
\LWR@loadafter{acro}
@@ -11881,8 +12851,9 @@ This boolean may be tested by the user for later use.
\LWR@loadafter{algorithm2e}
\LWR@loadafter{algorithmicx}
\LWR@loadafter{alltt}
-\LWR@loadafter{amsmath}
-\LWR@loadafter{amsthm}
+\LWR@loadafter{amscdx}
+% \LWR@loadafter{amsmath}% may be preloaded
+% \LWR@loadafter{amsthm}% may be preloaded
\LWR@loadafter{anonchap}
\LWR@loadafter{anysize}
\LWR@notmemoirloadafter{appendix}
@@ -11891,10 +12862,11 @@ This boolean may be tested by the user for later use.
\LWR@notmemoirloadafter{array}
\LWR@loadafter{arydshln}
\LWR@loadafter{asymptote}
-% \LWR@loadafter{atbegshi}% used by morewrites
+% \LWR@loadafter{atbegshi}% now in LaTeX core, also used by morewrites
\LWR@loadafter{attachfile}
\LWR@loadafter{attachfile2}
\LWR@loadafter{authblk}
+\LWR@loadafter{authoraftertitle}% Supported as-is, but must be loaded after.
\LWR@loadafter{autobreak}
\LWR@loadafter{autonum}
\LWR@loadafter{awesomebox}
@@ -11915,21 +12887,24 @@ This boolean may be tested by the user for later use.
\LWR@notmemoirloadafter{booktabs}
\LWR@loadafter{bophook}
\LWR@loadafter{bounddvi}
+\LWR@loadafter{boxedminipage}
\LWR@loadafter{boxedminipage2e}
\LWR@loadafter{braket}
\LWR@loadafter{breakurl}
\LWR@loadafter{breqn}
\LWR@loadafter{bsheaders}
+\LWR@loadafter{bussproofs}
\LWR@loadafter{bxpapersize}
\LWR@loadafter{bytefield}
\LWR@loadafter{cancel}
\LWR@loadafter{canoniclayout}
\LWR@loadafter{caption}
\LWR@loadafter{caption2}
+\LWR@loadafter{caption3}
\LWR@loadafter{cases}
% catoptions is supported by the lwarp core
% \LWR@loadafter{ccaption}% may be preloaded by memoir
-\LWR@loadafter{centernot}
+% \LWR@loadafter{centernot}% may be preloaded by newtx
\LWR@loadafter{changebar}
\LWR@loadafter{changelayout}
\LWR@notmemoirloadafter{changepage}
@@ -11944,6 +12919,9 @@ This boolean may be tested by the user for later use.
\LWR@loadafter{chkfloat}
\LWR@notmemoirloadafter{chngpage}
\LWR@loadafter{cite}
+\LWR@loadafter{citeref}
+\LWR@loadafter{cleveref}
+% cmbright may be preloaded
\LWR@loadafter{cmdtrack}
\LWR@loadafter{colonequals}
\LWR@loadafter{color}
@@ -11967,6 +12945,7 @@ This boolean may be tested by the user for later use.
\LWR@loadafter{draftcopy}
\LWR@loadafter{draftfigure}
\LWR@loadafter{draftwatermark}
+\LWR@loadafter{drftcite}
\LWR@loadafter{easy-todo}
\LWR@loadafter{ebook}
\LWR@loadafter{econometrics}
@@ -11981,6 +12960,7 @@ This boolean may be tested by the user for later use.
\LWR@notmemoirloadafter{enumerate}
\LWR@loadafter{enumitem}
\LWR@notmemoirloadafter{epigraph}
+\LWR@loadafter{epsf}
\LWR@loadafter{epsfig}
\LWR@loadafter{epstopdf}
\LWR@loadafter{epstopdf-base}
@@ -11988,10 +12968,11 @@ This boolean may be tested by the user for later use.
\LWR@loadafter{eqparbox}
\LWR@loadafter{errata}
\LWR@loadafter{eso-pic}
+\LWR@loadafter{esvect}
\LWR@loadafter{etoc}
\LWR@loadafter{eurosym}
\LWR@loadafter{everypage}
-\LWR@loadafter{everyshi}
+% \LWR@loadafter{everyshi}% now in LaTeX core
\LWR@loadafter{extarrows}
\LWR@loadafter{extramarks}
\LWR@loadafter{fancybox}
@@ -11999,11 +12980,13 @@ This boolean may be tested by the user for later use.
\LWR@loadafter{fancyref}
\LWR@loadafter{fancytabs}
\LWR@loadafter{fancyvrb}
+\LWR@loadafter{fbox}
\LWR@loadafter{fewerfloatpages}
\LWR@loadafter{figcaps}
\LWR@loadafter{figsize}
\LWR@loadafter{fitbox}
\LWR@loadafter{fix2col}
+\LWR@loadafter{fixmath}
\LWR@loadafter{fixme}
\LWR@loadafter{fixmetodonotes}
\LWR@loadafter{flafter}
@@ -12032,17 +13015,20 @@ This boolean may be tested by the user for later use.
\LWR@loadafter{foreign}
\LWR@loadafter{forest}
\LWR@loadafter{fouridx}
+% fourier may be loaded before lwarp
\LWR@loadafter{framed}
\LWR@loadafter{ftcap}
\LWR@loadafter{ftnright}
\LWR@loadafter{fullminipage}
\LWR@loadafter{fullpage}
\LWR@loadafter{fullwidth}
+\LWR@loadafter{fvextra}
\LWR@loadafter{fwlw}
\LWR@loadafter{gensymb}
\LWR@loadafter{gentombow}
% geometry is always loaded by lwarp, and lwarp-geometry is AtBeginDocument
\LWR@loadafter{ghsystem}
+\LWR@loadafter{gindex}
\LWR@loadafter{glossaries}
\LWR@loadafter{gmeometric}
% \LWR@loadafter{graphics}% pre-loaded by xunicode
@@ -12055,7 +13041,9 @@ This boolean may be tested by the user for later use.
\LWR@loadafter{gridset}
\LWR@loadafter{hang}
\LWR@loadafter{hanging}
+\LWR@loadafter{hepunits}
\LWR@loadafter{hhline}
+\LWR@loadafter{hhtensor}
\LWR@loadafter{hypbmsec}
\LWR@loadafter{hypcap}
\LWR@loadafter{hypdestopt}
@@ -12066,13 +13054,20 @@ This boolean may be tested by the user for later use.
\LWR@loadafter{idxlayout}
\LWR@loadafter{ifoddpage}
\LWR@loadafter{imakeidx}
+\LWR@loadafter{impnattypo}
\LWR@notmemoirloadafter{index}
% inputenc must be loaded before lwarp
% inputenx must be loaded before lwarp
% inputtrc may be loaded before lwarp
\LWR@loadafter{intopdf}
+\LWR@loadafter{isomath}
+\LWR@loadafter{isotope}
+\LWR@loadafter{jurabib}
\LWR@loadafter{karnaugh-map}
\LWR@loadafter{keyfloat}
+\LWR@loadafter{keystroke}
+% kpfonts may be loaded before lwarp
+% kpfonts-otf may be loaded before lwarp
\LWR@loadafter{layaureo}
\LWR@loadafter{layout}
\LWR@loadafter{layouts}
@@ -12080,11 +13075,13 @@ This boolean may be tested by the user for later use.
\LWR@loadafter{leftidx}
\LWR@loadafter{letterspace}
\LWR@loadafter{lettrine}
+% libertinust1math may be loaded before lwarp
\LWR@loadafter{lineno}
\LWR@loadafter{lips}
\LWR@loadafter{listings}
\LWR@loadafter{listliketab}
\LWR@loadafter{longtable}
+\LWR@loadafter{lpic}
\LWR@loadafter{lscape}
\LWR@loadafter{ltablex}
\LWR@loadafter{ltcaption}
@@ -12095,6 +13092,7 @@ This boolean may be tested by the user for later use.
\LWR@loadafter{luacolor}
\LWR@loadafter{luamplib}
\LWR@loadafter{luatodonotes}
+\LWR@loadafter{luavlna}
\LWR@loadafter{lyluatex}
\LWR@loadafter{magaz}
\LWR@notmemoirloadafter{makeidx}
@@ -12103,14 +13101,24 @@ This boolean may be tested by the user for later use.
\LWR@loadafter{marginfix}
\LWR@loadafter{marginnote}
\LWR@loadafter{marvosym}
+% mathalpha may be loaded before lwarp
+\LWR@loadafter{mathastext}
\LWR@loadafter{mathcomp}
+\LWR@loadafter{mathdesign}
\LWR@loadafter{mathdots}
\LWR@loadafter{mathfixs}
+\LWR@loadafter{mathpazo}
+\LWR@loadafter{mathptmx}
+\LWR@loadafter{mathspec}
\LWR@loadafter{mathtools}
+\LWR@loadafter{mattens}
+\LWR@loadafter{maybemath}
\LWR@loadafter{mcaption}
\LWR@loadafter{mdframed}
+\LWR@loadafter{mdwmath}
\LWR@loadafter{media9}
\LWR@loadafter{memhfixc}
+\LWR@loadafter{menukeys}
\LWR@loadafter{metalogo}
\LWR@loadafter{metalogox}
\LWR@loadafter{mhchem}
@@ -12119,12 +13127,15 @@ This boolean may be tested by the user for later use.
\LWR@loadafter{midpage}
\LWR@loadafter{minibox}
\LWR@loadafter{minitoc}
+\LWR@loadafter{minted}
\LWR@loadafter{mismath}
+\LWR@loadafter{mleftright}
% morefloats must be allowed early for print mode
\LWR@notmemoirloadafter{moreverb}
% morewrites must be loaded before lwarp
\LWR@notmemoirloadafter{movie15}
\LWR@notmemoirloadafter{mparhack}
+\LWR@loadafter{multibib}
\LWR@loadafter{multicap}
%\LWR@loadafter{multicol}% loaded by ltxdoc
\LWR@loadafter{multicolrule}
@@ -12141,11 +13152,14 @@ This boolean may be tested by the user for later use.
\LWR@loadafter{nccmath}
\LWR@notmemoirloadafter{needspace}
% newclude must be loaded before lwarp
-\LWR@loadafter{newtxmath}
+% newpxmath may be preloaded
+% newtxmath may be loaded before lwarp
+% newtxsf may be loaded before lwarp
% newunicodechar must be loaded before lwarp
\LWR@notmemoirloadafter{nextpage}
\LWR@loadafter{nicefrac}
\LWR@loadafter{niceframe}
+\LWR@loadafter{nicematrix}
\LWR@loadafter{noitcrul}
\LWR@loadafter{nolbreaks}
\LWR@loadafter{nomencl}
@@ -12187,7 +13201,9 @@ This boolean may be tested by the user for later use.
\LWR@loadafter{phfqit}
\LWR@loadafter{physics}
\LWR@loadafter{physunits}
+\LWR@loadafter{picinpar}
\LWR@loadafter{pifont}
+\LWR@loadafter{pinlabel}
\LWR@loadafter{placeins}
\LWR@loadafter{plarray}
\LWR@loadafter{plarydshln}
@@ -12195,6 +13211,7 @@ This boolean may be tested by the user for later use.
\LWR@loadafter{plextarydshln}
\LWR@loadafter{plcolortbl}
\LWR@loadafter{plextdelarray}
+\LWR@loadafter{plimsoll}
\LWR@loadafter{prelim2e}
\LWR@loadafter{prettyref}
\LWR@loadafter{preview}
@@ -12205,6 +13222,7 @@ This boolean may be tested by the user for later use.
\LWR@loadafter{pstricks}
% \LWR@loadafter{pxatbegshi}% may be used by morewrites
\LWR@loadafter{pxeveryshi}
+% \LWR@loadafter{pxfonts}% may be loaded before lwarp
\LWR@loadafter{pxftnright}
\LWR@loadafter{pxjahyper}
\LWR@loadafter{quotchap}
@@ -12217,6 +13235,7 @@ This boolean may be tested by the user for later use.
\LWR@loadafter{repeatindex}
\LWR@loadafter{resizegather}
\LWR@loadafter{returntogrid}
+\LWR@loadafter{rlepsf}
\LWR@loadafter{rmathbr}
\LWR@loadafter{rmpage}
\LWR@loadafter{romanbar}
@@ -12226,6 +13245,7 @@ This boolean may be tested by the user for later use.
\LWR@loadafter{rviewport}
\LWR@loadafter{savetrees}
% scalefnt is loaded by babel-french
+\LWR@loadafter{scalerel}
\LWR@loadafter{schemata}
\LWR@loadafter{scrextend}
\LWR@loadafter{scrhack}
@@ -12236,6 +13256,7 @@ This boolean may be tested by the user for later use.
\LWR@loadafter{section}
\LWR@loadafter{sectionbreak}
\LWR@loadafter{sectsty}
+\LWR@loadafter{selectp}
\LWR@loadafter{semantic-markup}
\LWR@notmemoirloadafter{setspace}
\LWR@loadafter{shadow}
@@ -12243,15 +13264,19 @@ This boolean may be tested by the user for later use.
\LWR@notmemoirloadafter{showidx}
\LWR@loadafter{showkeys}
\LWR@loadafter{showtags}
+\LWR@loadafter{shuffle}
\LWR@loadafter{sidecap}
\LWR@loadafter{sidenotes}
+\LWR@loadafter{simplebnf}
\LWR@loadafter{SIunits}
\LWR@loadafter{siunitx}
+\LWR@loadafter{skmath}
\LWR@loadafter{slantsc}
\LWR@loadafter{slashed}
\LWR@loadafter{soul}
\LWR@loadafter{soulpos}
\LWR@loadafter{soulutf8}
+\LWR@loadafter{splitbib}
\LWR@loadafter{splitidx}
\LWR@loadafter{srcltx}
\LWR@loadafter{srctex}
@@ -12259,6 +13284,7 @@ This boolean may be tested by the user for later use.
\LWR@loadafter{stackengine}
\LWR@loadafter{stackrel}
\LWR@loadafter{statex2}
+\LWR@loadafter{statistics}
\LWR@loadafter{statmath}
\LWR@loadafter{steinmetz}
\LWR@notltjloadafter{stfloats}
@@ -12269,6 +13295,7 @@ This boolean may be tested by the user for later use.
\LWR@loadafter{subsupscripts}
\LWR@loadafter{supertabular}
\LWR@loadafter{svg}
+\LWR@loadafter{swfigure}
\LWR@loadafter{syntonly}
\LWR@loadafter{t1inc}
\LWR@loadafter{tabfigures}
@@ -12276,20 +13303,28 @@ This boolean may be tested by the user for later use.
\LWR@loadafter{tablefootnote}
\LWR@notmemoirloadafter{tabularx}
\LWR@loadafter{tabulary}
-\LWR@loadafter{tascmac}
\LWR@loadafter{tagpdf}
+\LWR@loadafter{tascmac}
+\LWR@loadafter{tcolorbox}
+\LWR@loadafter{tensor}
+\LWR@loadafter{termcal}
\LWR@loadafter{textarea}
% \LWR@loadafter{textcomp}% maybe before lwarp with font packages
\LWR@loadafter{textfit}
\LWR@loadafter{textpos}
\LWR@loadafter{theorem}
\LWR@loadafter{thinsp}
+\LWR@loadafter{thm-listof}
+\LWR@loadafter{thm-restate}
+\LWR@loadafter{thmbox}
+\LWR@loadafter{thmtools}
\LWR@loadafter{threadcol}
\LWR@loadafter{threeparttable}
\LWR@loadafter{threeparttablex}
\LWR@loadafter{thumb}
\LWR@loadafter{thumbs}
\LWR@loadafter{tikz}
+\LWR@loadafter{tikz-imagelabels}
\LWR@loadafter{titleps}
\LWR@loadafter{titlesec}
\LWR@loadafter{titletoc}
@@ -12310,6 +13345,8 @@ This boolean may be tested by the user for later use.
\LWR@loadafter{truncate}
\LWR@loadafter{turnthepage}
\LWR@loadafter{twoup}
+% \LWR@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 @@ This boolean may be tested by the user for later use.
% \LWR@loadafter{ulem}% preloaded by ctexart and related classes
\LWR@loadafter{umoline}
\LWR@loadafter{underscore}
-\LWR@loadafter{unicode-math}
+% unicode-math may be loaded before lwarp
\LWR@loadafter{units}
\LWR@loadafter{unitsdef}
+\LWR@loadafter{upgreek}
\LWR@loadafter{upref}
\LWR@loadafter{url}
+\LWR@loadafter{ushort}
\LWR@loadafter{uspace}
-\LWR@loadafter{varioref}% no lwarp package provided
+\LWR@loadafter{varioref}
\LWR@notmemoirloadafter{verse}
\LWR@loadafter{versonotes}
\LWR@loadafter{vertbars}
@@ -12343,6 +13382,7 @@ This boolean may be tested by the user for later use.
\LWR@loadafter{xechangebar}
\LWR@loadafter{xellipsis}
% xetexko-vertical must be loaded before lwarp
+\LWR@loadafter{xevlna}
\LWR@loadafter{xfakebold}
\LWR@loadafter{xfrac}
\LWR@loadafter{xltabular}
@@ -12368,9 +13408,12 @@ This boolean may be tested by the user for later use.
%
% \begin{macrocode}
\newcommand{\LWR@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 @@ This boolean may be tested by the user for later use.
%
%
% \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 @@ This boolean may be tested by the user for later use.
{%
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 @@ This boolean may be tested by the user for later use.
%
% \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 @@ This boolean may be tested by the user for later use.
%
%
%
+% \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@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@templengthone}
+\newlength{\LWR@templengthtwo}
+\newlength{\LWR@templengththree}
+\newcounter{LWR@tempcountone}
+% \end{macrocode}
+%
+%
% \subsection{Lengths and units}
%
% \begin{macro}{\LWR@providelength} \marg{\cs{lengthname}}
@@ -12593,11 +13674,16 @@ This boolean may be tested by the user for later use.
% \begin{macro}{\LWR@patcherror} \marg{packagename} \marg{macroname}
%
% Prints an error if could not patch a macro.
+% \changes{v0.89}{2020/09/01}{Improved message.}
% \begin{macrocode}
\newcommand*{\LWR@patcherror}[2]{%
-\PackageError{lwarp}
-{Unable to patch package #1, macro #2}
-{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,6 +13760,31 @@ This boolean may be tested by the user for later use.
% \end{macro}
%
%
+% \subsection{Inside boxes}
+%
+% Greater than zero if currently inside a \TeX\ box,
+% thus should not use \cs{LWR@orignewpage}.
+% See \cref{sec:troubletexboxes}.
+% \changes{v0.88}{2020/06/06}{Added \ctr{LWR@texboxdepth}.}
+% \begin{macrocode}
+\newcounter{LWR@texboxdepth}
+\setcounter{LWR@texboxdepth}{0}
+% \end{macrocode}
+%
+% \begin{macro}{\LWR@maybe@orignewpage}
+% Only do \cs{LWR@orignewpage} if not inside a \TeX\ box.
+% \changes{v0.88}{2020/06/06}{Added.}
+% \begin{macrocode}
+\newcommand*{\LWR@maybe@orignewpage}{%
+ \LWR@traceinfo{LWR@maybe@orignewpage}%
+ \ifnumgreater{\value{LWR@texboxdepth}}{0}
+ {}%
+ {\LWR@orignewpage}%
+ \LWR@traceinfo{LWR@maybe@orignewpage done}%
+}
+% \end{macrocode}
+% \end{macro}
+%
%
% \subsection{Global boxes}
%
@@ -12728,7 +13839,8 @@ This boolean may be tested by the user for later use.
% 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 @@ This boolean may be tested by the user for later use.
% \end{macro}
%
%
+% \subsection{Title case}
+%
+% \begin{macro}{\LWRtexttitlecase}
+% \begin{macrocode}
+\ExplSyntaxOn
+\newcommand*{\LWRtexttitlecase}[1]{%
+ \text_titlecase:n{#1}%
+}
+\ExplSyntaxOff
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \subsection{LetLtxMacrocs}
+%
+% \begin{macro}{\LWR@LetLtxMacrocs} \marg{newcsname} \marg{oldcsname}
+%
+% \cs{LetLtxMacro} with cs names.
+%
+% \changes{v0.88}{2020/07/05}{Added.}
+% \begin{macrocode}
+\newcommand*{\LWR@LetLtxMacrocs}[2]{%
+ \expandafter\LetLtxMacro\csname #1\expandafter\endcsname%
+ \csname#2\endcsname%
+}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \subsection{Absorbing a star}
+%
+% \begin{macro}{\LWR@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@absorbstar}[1]{%
+ \LWR@LetLtxMacrocs{LWR@origns@#1}{#1}%
+ \csdef{#1}{\@ifstar{\csuse{LWR@origns@#1}}{\csuse{LWR@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 @@ This boolean may be tested by the user for later use.
%
% \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 @@ This boolean may be tested by the user for later use.
%
% \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 @@ This boolean may be tested by the user for later use.
% and may be used for \cs{ifbool} tests.
% \begin{macrocode}
\DeclareVoidOption{mathsvg}{%
-\PackageInfo{lwarp}{Using option 'mathsvg'}
-\boolfalse{mathjax}%
-\boolfalse{LWR@origmathjax}%
+ \PackageInfo{lwarp}{Using option 'mathsvg'}
+ \boolfalse{mathjax}%
+ \boolfalse{LWR@origmathjax}%
% \end{macrocode}
% ^^A % \begin{macrocode}
% ^^A \boolfalse{mathKaTeX}%
@@ -13014,9 +14175,9 @@ This boolean may be tested by the user for later use.
% 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@origmathjax}%
+ \PackageInfo{lwarp}{Using option 'mathjax'}
+ \booltrue{mathjax}%
+ \booltrue{LWR@origmathjax}%
% \end{macrocode}
% ^^A % \begin{macrocode}
% ^^A \boolfalse{mathKaTeX}%
@@ -13081,8 +14242,8 @@ This boolean may be tested by the user for later use.
% \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 @@ This boolean may be tested by the user for later use.
% \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 @@ This boolean may be tested by the user for later use.
% \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 @@ This boolean may be tested by the user for later use.
% \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 @@ This boolean may be tested by the user for later use.
+% \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 @@ This boolean may be tested by the user for later use.
\boolfalse{LWR@creatinglwarpmk}
\DeclareVoidOption{lwarpmk}{
-\PackageInfo{lwarp}{Using option 'lwarpmk'}
-\booltrue{LWR@creatinglwarpmk}
+ \PackageInfo{lwarp}{Using option 'lwarpmk'}
+ \booltrue{LWR@creatinglwarpmk}
}
% \end{macrocode}
@@ -13173,8 +14343,8 @@ This boolean may be tested by the user for later use.
%
% \begin{macrocode}
\DeclareVoidOption{OSWindows}{
-\PackageInfo{lwarp}{Using option 'OSWindows'}
-\LWR@setOSWindows
+ \PackageInfo{lwarp}{Using option 'OSWindows'}
+ \LWR@setOSWindows
}
% \end{macrocode}
@@ -13246,7 +14416,7 @@ This boolean may be tested by the user for later use.
% \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 @@ This boolean may be tested by the user for later use.
% \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 @@ This boolean may be tested by the user for later use.
% \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 @@ This boolean may be tested by the user for later use.
% \cs{LWR@PrintIndexCmd} and \cs{LWR@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@PrintIndexCmd}{
@@ -13408,6 +14601,20 @@ This boolean may be tested by the user for later use.
\jobname.idx%
}
}{}
+ \ifbool{LWR@xindex}{
+ \ifdefvoid{\LWR@xindexConfig}{
+ \renewcommand{\LWR@PrintIndexCmd}{%
+ xindex
+ \jobname.idx%
+ }
+ }{
+ \renewcommand{\LWR@PrintIndexCmd}{%
+ xindex
+ -c \LWR@xindexConfig \space
+ \jobname.idx%
+ }
+ }
+ }{}
}{}
\ifdefempty{\LWR@HTMLIndexCmd}{
@@ -13423,6 +14630,20 @@ This boolean may be tested by the user for later use.
\jobname_html.idx%
}
}{}
+ \ifbool{LWR@xindex}{
+ \ifdefvoid{\LWR@xindexConfig}{
+ \renewcommand{\LWR@HTMLIndexCmd}{%
+ xindex
+ \jobname_html.idx%
+ }
+ }{
+ \renewcommand{\LWR@HTMLIndexCmd}{%
+ xindex
+ -c \LWR@xindexConfig \space
+ \jobname_html.idx%
+ }
+ }
+ }{}
}{}
\ifdefempty{\LWR@LatexmkIndexCmd}{
@@ -13437,11 +14658,22 @@ This boolean may be tested by the user for later use.
-C \LWR@xindyCodepage%
}
}{}
+ \ifbool{LWR@xindex}{
+ \ifdefvoid{\LWR@xindexConfig}{
+ \renewcommand{\LWR@LatexmkIndexCmd}{%
+ xindex
+ }
+ }{
+ \renewcommand{\LWR@LatexmkIndexCmd}{%
+ xindex
+ -c \LWR@xindexConfig
+ }
+ }
+ }{}
}{}
% \end{macrocode}
%
%
-%
% \subsection{Conditional compilation}
%
% \begin{macro}{\warpprintonly} \marg{contents}
@@ -13474,28 +14706,63 @@ This boolean may be tested by the user for later use.
% \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.
-%
-% \changes{v0.37}{2017/08/19}{\pkg{comment}: Maintains independent
-% cutfiles for print, \HTML.}
+% \begin{macro}{\LWR@includecomment} \marg{env name} \marg{partial filename}
+% \begin{macro}{\LWR@excludecomment} \marg{env name} \marg{partial filename}
%
+% 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}}
-}{}
-
-\ifbool{warpingprint}{
-\def\DefaultCutFileName{\def\CommentCutFile{comment_print.cut}}
-}{}
+\def\LWR@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}
+}
+
+\def\LWR@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@includecomment{warpall}{all}
% \end{macrocode}
% \end{environment}
@@ -13505,8 +14772,8 @@ This boolean may be tested by the user for later use.
% For \HTML\ output:
% \begin{macrocode}
\ifbool{warpingHTML}
- {\includecomment{warpHTML}}
- {\excludecomment{warpHTML}}%
+ {\LWR@includecomment{warpHTML}{html}}
+ {\LWR@excludecomment{warpHTML}{html}}
% \end{macrocode}
% \end{environment}
@@ -13515,8 +14782,8 @@ This boolean may be tested by the user for later use.
% Anything in the |warpprint| environment will be generated for print output only.
% \begin{macrocode}
\ifbool{warpingprint}
- {\includecomment{warpprint}}
- {\excludecomment{warpprint}}
+ {\LWR@includecomment{warpprint}{print}}
+ {\LWR@excludecomment{warpprint}{print}}
% \end{macrocode}
% \end{environment}
@@ -13526,25 +14793,25 @@ This boolean may be tested by the user for later use.
% \changes{v0.79}{2020/01/26}{Added.}
% \begin{macrocode}
\begin{warpprint}
-\excludecomment{warpMathJax}
+\LWR@excludecomment{warpMathJax}{mathjax}
\end{warpprint}
\begin{warpHTML}
\ifbool{mathjax}
- {\includecomment{warpMathJax}}
- {\excludecomment{warpMathJax}}
+ {\LWR@includecomment{warpMathJax}{mathjax}}
+ {\LWR@excludecomment{warpMathJax}{mathjax}}
\end{warpHTML}
% \end{macrocode}
% \end{environment}
-% \begin{environment}{LWR@creatinglwarpmk}
+% \begin{environment}{LWRcreatelwarpmk}
% Optionally generate a local copy of \prog{lwarpmk}.
% Default to no.
% \begin{macrocode}
\ifbool{LWR@creatinglwarpmk}
- {\includecomment{LWR@createlwarpmk}}
- {\excludecomment{LWR@createlwarpmk}}
+ {\LWR@includecomment{LWRcreatelwarpmk}{lwarpmk}}
+ {\LWR@excludecomment{LWRcreatelwarpmk}{lwarpmk}}
% \end{macrocode}
% \end{environment}
%
@@ -13586,6 +14853,7 @@ This boolean may be tested by the user for later use.
% ^^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 @@ This boolean may be tested by the user for later use.
tracking=false,
kerning=false,
spacing=false}
-
-\DisableLigatures[f,q,t,T,Q]{encoding = *,family = *}
+% \begin{macrocode}
+%
+% Disable ligatures for typewriter fonts.
+% The comma was causing issues with \brand{MathJax} and \cs{,} followed by a comma.
+% Ligatures for f, q, t, etc used to be disabled for non-typewriter fonts, but
+% are now allowed.
+% \changes{v0.89}{2020/08/01}{Disable typewriter ligatures.}
+% ^^A \DisableLigatures[{,},f,q,t,T,Q]{encoding = *,family = *}% previous
+% \begin{macrocode}
+\DisableLigatures{encoding = *,family = tt*}
% \end{macrocode}
% ^^A
% ^^A
@@ -13744,7 +15020,7 @@ This boolean may be tested by the user for later use.
% \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 @@ This boolean may be tested by the user for later use.
% \begin{macrocode}
\begin{warpall}
% \end{macrocode}
-
+%
% Remember the original \cs{RequirePackage}:
% \begin{macrocode}
\LetLtxMacro\LWR@origRequirePackage\RequirePackage
@@ -14230,7 +15506,6 @@ This boolean may be tested by the user for later use.
-% ^^A *checkload
% \begin{macro}{\LWR@checkloadfilename} \marg{filename}
% Checks if this filename should be loaded after \pkg{lwarp},
% or never at all.
@@ -14244,8 +15519,15 @@ This boolean may be tested by the user for later use.
% \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:
+%
+% ^^A *checkload *loadnever
% \begin{macrocode}
\newcommand*{\LWR@checkloadfilename}[1]{%
\LWR@checkloadnever{#1}{ae}{cm-super, lmodern}
@@ -14254,23 +15536,21 @@ This boolean may be tested by the user for later use.
\LWR@checkloadnever{#1}{alg}{algorithm2e, algorithmicx}
\LWR@checkloadnever{#1}{algorithmic}{algorithm2e, algorithmicx}
\LWR@checkloadnever{#1}{bitfield}{bytefield}
-\LWR@checkloadnever{#1}{boxedminipage}{boxedminipage2e}
\LWR@checkloadnever{#1}{caption2}{caption}
\LWR@checkloadnever{#1}{ccaption}{caption}% might be preloaded by memoir
\LWR@checkloadnever{#1}{colortab}{colortbl}
+\LWR@checkloadnever{#1}{csvtools}{datatool}
\LWR@checkloadnever{#1}{doublespace}{setspace}
-\LWR@checkloadnever{#1}{epsf}{graphicx}
\LWR@checkloadnever{#1}{fancyheadings}{fancyhdr}
\LWR@checkloadnever{#1}{fncylab}{cleveref}
\LWR@checkloadnever{#1}{formula}{siunitx}
\LWR@checkloadnever{#1}{glossary}{glossaries}
\LWR@checkloadnever{#1}{hyper}{hyperref}
+\LWR@checkloadnever{#1}{libgreek}{libertinust1math, newtx}
\LWR@checkloadnever{#1}{newthm}{ntheorem}
\LWR@checkloadnever{#1}{pdfcprot}{microtype}
-\LWR@checkloadnever{#1}{picinpar}{floatflt, wrapfig}
\LWR@checkloadnever{#1}{picins}{floatflt, wrapfig}
\LWR@checkloadnever{#1}{rplain}{fancyhdr}
-\LWR@checkloadnever{#1}{shadethm}{mdframed}
\LWR@checkloadnever{#1}{si}{siunitx}
\LWR@checkloadnever{#1}{sistyle}{siunitx}
\LWR@checkloadnever{#1}{slashbox}{diagbox}
@@ -14284,6 +15564,7 @@ This boolean may be tested by the user for later use.
%
% ^^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@checkloadbefore{#1}{ctex}
\LWR@checkloadbefore{#1}{fontspec}
@@ -14292,6 +15573,7 @@ This boolean may be tested by the user for later use.
\LWR@checkloadbefore{#1}{nfssext-cfr}
\LWR@checkloadbefore{#1}{fontaxes}
\LWR@checkloadbefore{#1}{kotex}
+\LWR@checkloadbefore{#1}{kpfonts}% textcomp option clash
\LWR@checkloadbefore{#1}{luatexja}
\LWR@checkloadbefore{#1}{luatexja-fontspec}
\LWR@checkloadbefore{#1}{luatexko}
@@ -14436,6 +15718,8 @@ This boolean may be tested by the user for later use.
}%
}
\LetLtxMacro\usepackage\RequirePackage
+\@onlypreamble\RequirePackage
+\@onlypreamble\usepackage
% \end{macrocode}
% \end{macro}
@@ -14455,8 +15739,9 @@ This boolean may be tested by the user for later use.
% \begin{macrocode}
\NewDocumentCommand{\LWR@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 @@ This boolean may be tested by the user for later use.
-% \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@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 @@ This boolean may be tested by the user for later use.
\immediate\openout\LWR@quickfile #1_html_inc.tex% lwarp
\immediate\write\LWR@quickfile{\string\input{#1.tex}}% lwarp
\immediate\closeout\LWR@quickfile% lwarp
-\LWR@orignewpage% changed from clearpage
+\LWR@maybe@orignewpage% changed from clearpage
\if@filesw
\immediate\write\@mainaux{\string\@input{#1_html_inc.aux}}% changed
\fi
@@ -14675,7 +15938,7 @@ This boolean may be tested by the user for later use.
\immediate\write\@partaux{\relax}%
\fi
\@input@{#1_html_inc.tex}% changed
- \LWR@orignewpage% changed from clearpage
+ \LWR@maybe@orignewpage% changed from clearpage
\@writeckpt{#1}%
\if@filesw
\immediate\closeout\@partaux
@@ -14707,29 +15970,29 @@ This boolean may be tested by the user for later use.
% Used to copy the |.toc| file to |.sidetoc| to re-print the \TOC\ in
% the side\TOC\ navigation pane.
% \begin{macrocode}
-\newwrite\LWR@copyoutfile % open the file to write to
-\newread\LWR@copyinfile % open the file to read from
+\newwrite\LWR@copyoutfile % open the file to write to
+\newread\LWR@copyinfile % open the file to read from
\newcommand*{\LWR@copyfile}[2]{%
-\LWR@traceinfo{LWR@copyfile: copying #1 to #2}
+ \LWR@traceinfo{LWR@copyfile: copying #1 to #2}
-\immediate\openout\LWR@copyoutfile=#2
-\openin\LWR@copyinfile=#1
-\begingroup\endlinechar=-1
-\makeatletter
+ \immediate\openout\LWR@copyoutfile=#2
+ \openin\LWR@copyinfile=#1
+ \begingroup\endlinechar=-1
+ \makeatletter
-\LWR@traceinfo{LWR@copyfile: about to loop}
+ \LWR@traceinfo{LWR@copyfile: about to loop}
-\loop\unless\ifeof\LWR@copyinfile
- \LWR@traceinfo{LWR@copyfile: one line}
- \read\LWR@copyinfile to\LWR@fileline % Read one line and store it into \LWR@fileline
+ \loop\unless\ifeof\LWR@copyinfile
+ \LWR@traceinfo{LWR@copyfile: one line}
+ \read\LWR@copyinfile to\LWR@fileline % Read one line and store it into \LWR@fileline
% \LWR@fileline\par % print the content into the pdf
% print the content:
- \immediate\write\LWR@copyoutfile{\unexpanded\expandafter{\LWR@fileline}}%
-\repeat
-\immediate\closeout\LWR@copyoutfile
-\LWR@traceinfo{LWR@copyfile: done}
-\endgroup
+ \immediate\write\LWR@copyoutfile{\unexpanded\expandafter{\LWR@fileline}}%
+ \repeat
+ \immediate\closeout\LWR@copyoutfile
+ \LWR@traceinfo{LWR@copyfile: done}
+ \endgroup
}
% \end{macrocode}
% \end{macro}
@@ -14847,9 +16110,7 @@ This boolean may be tested by the user for later use.
% 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 @@ This boolean may be tested by the user for later use.
% \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@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@HTML@name}{...}% may also use xparse
%
% \LWR@formatted{name}
% \end{warpHTML}
-% \end{Verbatim}
+% \end{sourceverb}
% |\LWR@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 @@ This boolean may be tested by the user for later use.
% \item[For a preexisiting environment, not defined with \pkg{xparse}:] The process
% is similar. Note the use of \cs{LWR@formattedenv} instead of \cs{LWR@formatted}.
-% \begin{Verbatim}[gobble=2,obeytabs,tabsize=4,frame=lines]
+% \needspace{5\baselineskip}
+% \begin{sourceverb}
% \begin{warpHTML}
% \newenvironment{LWR@HTML@name}{...}% may also use xparse
%
% \LWR@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@print@name}{..}{..}% copy the original
%
@@ -14891,7 +16155,7 @@ This boolean may be tested by the user for later use.
%
% \LWR@formatted{name}
% \end{warpHTML}
-% \end{Verbatim}
+% \end{sourceverb}
% Similar for an environment, using \cs{LWR@formattedenv}.
% (\cs{LWR@formatted} and \cs{LWR@formattedenv} use \cs{LetLtxMacro} to
% copy the original print definiton,
@@ -14899,7 +16163,8 @@ This boolean may be tested by the user for later use.
% 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 @@ This boolean may be tested by the user for later use.
%
% \LWR@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 @@ This boolean may be tested by the user for later use.
% by defining the \cs{LWR@print@<name>} version with \pkg{xparse}, along with
% \cs{name} defined without \pkg{xparse} to refer directly to the \cs{LWR@print}
% version:
-% \begin{Verbatim}[gobble=2,obeytabs,tabsize=4,frame=lines]
+% \needspace{16\baselineskip}
+% \begin{sourceverb}
% \begin{warpall}
% \NewDocumentCommand{\LWR@print@name}{...} {...}% -or-
% \NewDocumentEnvironment{\LWR@print@name}{...} {...} {...}
@@ -14938,7 +16204,7 @@ This boolean may be tested by the user for later use.
% \LWR@formatted{name}% -or-
% \LWR@formattedenv{name}
% \end{warpHTML}
-% \end{Verbatim}
+% \end{sourceverb}
%
% \end{description}
%
@@ -15001,6 +16267,37 @@ This boolean may be tested by the user for later use.
% \end{macro}
%
%
+%
+% \begin{macro}{\LWR@formatted@checkname} \marg{name}
+% \changes{v0.893}{2020/11/15}{Added.}
+% \begin{macrocode}
+\newcommand*{\LWR@formatted@checkname}[1]{%
+ \ifcsundef{LWR@HTML@#1}{%
+ \PackageError{lwarp}
+ {%
+ \protect\LWR@HTML@#1 is not defined%
+ }
+ {Perhaps it is misspelled.}
+ }{\relax}%
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\LWR@formatted@checkendname} \marg{name}
+% \changes{v0.893}{2020/11/15}{Added.}
+% \begin{macrocode}
+\newcommand*{\LWR@formatted@checkendname}[1]{%
+ \ifcsundef{endLWR@HTML@#1}{%
+ \PackageError{lwarp}
+ {%
+ \protect\endLWR@HTML@#1 is not defined%
+ }
+ {Perhaps it is misspelled.}
+ }{\relax}%
+}
+% \end{macrocode}
+% \end{macro}
+%
% \begin{macro}{\LWR@formatted} \marg{macroname} \qquad No backslash in the macro name.
%
% If not yet defined, defines \cs{LWR@print@<name>} as
@@ -15008,8 +16305,10 @@ This boolean may be tested by the user for later use.
% Also redefines \cs{<name>} to use \cs{LWR@<format>@<name>},
% where <format> is set by \cs{LWR@formatting}, and is |print| or |HTML|.
%
+% \changes{v0.893}{2020/11/15}{Improved error handling.}
% \begin{macrocode}
\newcommand*{\LWR@formatted}[1]{%
+ \LWR@formatted@checkname{#1}%
\ifcsundef{LWR@print@#1}{%
\expandafter\LetLtxMacro\csname LWR@print@#1\expandafter\endcsname%
\csname#1\endcsname%
@@ -15033,8 +16332,10 @@ This boolean may be tested by the user for later use.
%
% An expandable version of \cs{LWR@formatted}.
%
+% \changes{v0.893}{2020/11/15}{Improved error handling.}
% \begin{macrocode}
\newcommand*{\LWR@expandableformatted}[1]{%
+ \LWR@formatted@checkname{#1}%
\ifcsundef{LWR@print@#1}{%
\expandafter\LetLtxMacro\csname LWR@print@#1\expandafter\endcsname%
\csname#1\endcsname%
@@ -15060,8 +16361,11 @@ This boolean may be tested by the user for later use.
% Also redefines the environment |<name>| to use environment |LWR@<format>@<name>|,
% where <format> is set by \cs{LWR@formatting}, and is |print| or |HTML|.
%
+% \changes{v0.893}{2020/11/15}{Improved error handling.}
% \begin{macrocode}
\newcommand*{\LWR@formattedenv}[1]{%
+ \LWR@formatted@checkname{#1}%
+ \LWR@formatted@checkendname{#1}%
\ifcsundef{LWR@print@#1}{%
\expandafter\LetLtxMacro\csname LWR@print@#1\expandafter\endcsname%
\csname#1\endcsname%
@@ -15083,8 +16387,11 @@ This boolean may be tested by the user for later use.
%
% An expandable version of \env{LWR@formattedenv}.
%
+% \changes{v0.893}{2020/11/15}{Improved error handling.}
% \begin{macrocode}
\newcommand*{\LWR@expandableformattedenv}[1]{%
+ \LWR@formatted@checkname{#1}%
+ \LWR@formatted@checkendname{#1}%
\ifcsundef{LWR@print@#1}{%
\expandafter\LetLtxMacro\csname LWR@print@#1\expandafter\endcsname%
\csname#1\endcsname%
@@ -15233,6 +16540,7 @@ This boolean may be tested by the user for later use.
\begin{warpHTML}
% \end{macrocode}
%
+% \changes{v0.895}{2021/01/14}{Improved \HTML\ quotes.}
% \begin{macrocode}
\AtBeginDocument{
\ifbool{FormatWP}{
@@ -15250,11 +16558,11 @@ This boolean may be tested by the user for later use.
\renewcommand*{\LWR@tagsubsubsectionend}{/h5}
\renewcommand*{\LWR@tagparagraph}{h6}
\renewcommand*{\LWR@tagparagraphend}{/h6}
-\renewcommand*{\LWR@tagsubparagraph}{span class="subparagraph"}
+\renewcommand*{\LWR@tagsubparagraph}{span class=\textquotedbl{}subparagraph\textquotedbl}
\renewcommand*{\LWR@tagsubparagraphend}{/span}
}% WPTitleHeading
{% not WPTitleHeading, part and section starting at h1
-\renewcommand*{\LWR@tagtitle}{div class="title"}
+\renewcommand*{\LWR@tagtitle}{div class=\textquotedbl{}title\textquotedbl}
\renewcommand*{\LWR@tagtitleend}{/div}
\renewcommand*{\LWR@tagpart}{h1}
\renewcommand*{\LWR@tagpartend}{/h1}
@@ -15273,7 +16581,7 @@ This boolean may be tested by the user for later use.
{% chapter defined
\ifbool{WPTitleHeading}{}
{% not WPTitleHeading, part and chapter starting at h1
-\renewcommand*{\LWR@tagtitle}{div class="title"}
+\renewcommand*{\LWR@tagtitle}{div class=\textquotedbl{}title\textquotedbl}
\renewcommand*{\LWR@tagtitleend}{/div}
\renewcommand*{\LWR@tagpart}{h1}
\renewcommand*{\LWR@tagpartend}{/h1}
@@ -15287,7 +16595,7 @@ This boolean may be tested by the user for later use.
\renewcommand*{\LWR@tagsubsubsectionend}{/h5}
\renewcommand*{\LWR@tagparagraph}{h6}
\renewcommand*{\LWR@tagparagraphend}{/h6}
-\renewcommand*{\LWR@tagsubparagraph}{span class="subparagraph"}
+\renewcommand*{\LWR@tagsubparagraph}{span class=\textquotedbl{}subparagraph\textquotedbl}
\renewcommand*{\LWR@tagsubparagraphend}{/span}
}% not WPTitleHeading
}% chapter defined
@@ -15341,8 +16649,27 @@ This boolean may be tested by the user for later use.
\let\LWR@origbigskip\bigskip
\let\LWR@origtextellipsis\textellipsis
-\let\LWR@orig@textquotedbl\textquotedbl
+% \end{macrocode}
+% \changes{v0.88}{2020/07/03}{Added \cs{vdots}.}
+% \begin{macrocode}
+\let\LWR@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@orig@@textquotedbl\textquotedbl
+\LetLtxMacro\LWR@orig@textquotedbl\LWR@orig@@textquotedbl
+\AtEndPreamble{
+\@ifpackageloaded{libertinus-otf}{
+ \renewcommand{\LWR@orig@textquotedbl}{\LWR@orig@@textquotedbl\kern-.15em}
+ \LetLtxMacro\textquotedbl\LWR@orig@textquotedbl
+}{}
+}
+% \end{macrocode}
+% \begin{macrocode}
\LetLtxMacro\LWR@origttfamily\ttfamily
\LetLtxMacro\LWR@origem\em
@@ -15353,13 +16680,6 @@ This boolean may be tested by the user for later use.
\let\LWR@origsp\sp
\let\LWR@origsb\sb
-\LetLtxMacro\LWR@origtextsuperscript\textsuperscript
-\LetLtxMacro\LWR@orig@textsuperscript\@textsuperscript
-
-\AtBeginDocument{
-\LetLtxMacro\LWR@origtextsubscript\textsubscript
-\LetLtxMacro\LWR@orig@textsubscript\@textsubscript
-}
\LetLtxMacro\LWR@origunderline\underline
% \end{macrocode}
@@ -15373,7 +16693,6 @@ This boolean may be tested by the user for later use.
\let\LWR@orignewline\newline
-
\AtBeginDocument{% in case packages change definition
\let\LWR@orig@trivlist\@trivlist
\let\LWR@origtrivlist\trivlist
@@ -15415,6 +16734,7 @@ This boolean may be tested by the user for later use.
% \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 @@ This boolean may be tested by the user for later use.
%
% For Unicode engines, only \cs{t} needs to be redefined:
% \begin{macrocode}
-\LetLtxMacro\LWR@origt\t
+\LetLtxMacro\LWR@origtie\t
% \end{macrocode}
% For pdf\LaTeX, additional work is required:
% \begin{macrocode}
\ifPDFTeX% pdflatex or dvi latex
-\LetLtxMacro\LWR@origequalaccent\=
+\LetLtxMacro\LWR@origgraveaccent\`
+\LetLtxMacro\LWR@origacuteaccent\'
+\LetLtxMacro\LWR@origcircumflexaccent\^
+\LetLtxMacro\LWR@origtildeaccent\~
+\LetLtxMacro\LWR@origmacronaccent\=
+\LetLtxMacro\LWR@origbreve\u
\LetLtxMacro\LWR@origdotaccent\.
-\LetLtxMacro\LWR@origu\u
-\LetLtxMacro\LWR@origv\v
-\LetLtxMacro\LWR@origc\c
-\LetLtxMacro\LWR@origd\d
-\LetLtxMacro\LWR@origb\b
+\LetLtxMacro\LWR@origdiaeresisaccent\"
+\LetLtxMacro\LWR@origdoubleacuteaccent\H
+\LetLtxMacro\LWR@origcaronaccent\v
+\LetLtxMacro\LWR@origdotbelowaccent\d
+\LetLtxMacro\LWR@origcedillaaccent\c
+\LetLtxMacro\LWR@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{0307}}
+\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*{\"}[1]{#1\HTMLunicode{0308}}
+\renewcommand*{\H}[1]{#1\HTMLunicode{030B}}
\renewcommand*{\v}[1]{#1\HTMLunicode{030C}}
-\renewcommand*{\c}[1]{#1\HTMLunicode{0327}}
\renewcommand*{\d}[1]{#1\HTMLunicode{0323}}
+\renewcommand*{\c}[1]{#1\HTMLunicode{0327}}
\renewcommand*{\b}[1]{#1\HTMLunicode{0331}}
\fi
% \end{macrocode}
@@ -15467,18 +16799,24 @@ This boolean may be tested by the user for later use.
% \begin{macrocode}
\ifPDFTeX% pdflatex or dvi latex
\newcommand*{\LWR@restoreorigaccents}{%
-\LetLtxMacro\=\LWR@origequalaccent%
-\LetLtxMacro\.\LWR@origdotaccent%
-\LetLtxMacro\u\LWR@origu%
-\LetLtxMacro\v\LWR@origu%
-\LetLtxMacro\t\LWR@origt%
-\LetLtxMacro\c\LWR@origc%
-\LetLtxMacro\d\LWR@origd%
-\LetLtxMacro\b\LWR@origb%
+ \LetLtxMacro\`\LWR@origgraveaccent%
+ \LetLtxMacro\'\LWR@origacuteaccent%
+ \LetLtxMacro\^\LWR@origcircumflexaccent%
+ \LetLtxMacro\~\LWR@origtildeaccent%
+ \LetLtxMacro\=\LWR@origmacronaccent%
+ \LetLtxMacro\u\LWR@origbreve%
+ \LetLtxMacro\.\LWR@origdotaccent%
+ \LetLtxMacro\"\LWR@origdiaeresisaccent%
+ \LetLtxMacro\H\LWR@origdoubleacuteaccent%
+ \LetLtxMacro\v\LWR@origcaronaccent%
+ \LetLtxMacro\t\LWR@origtie%
+ \LetLtxMacro\d\LWR@origdotbelowaccent%
+ \LetLtxMacro\c\LWR@origcedillaaccent%
+ \LetLtxMacro\b\LWR@origmacronbelowaccent%
}%
\else% XeLaTeX, LuaLaTeX:
\newcommand*{\LWR@restoreorigaccents}{%
-\LetLtxMacro\t\LWR@origt%
+ \LetLtxMacro\t\LWR@origtie%
}%
\fi%
}% AtBeginDocument
@@ -15513,7 +16851,7 @@ This boolean may be tested by the user for later use.
% 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@excludecomment{LWRwriteconf}{writeconf}
% \end{macrocode}
%
% Generate configuration files if print mode and not \filenm{-pstool}:
@@ -15531,7 +16869,7 @@ This boolean may be tested by the user for later use.
}
{
\PackageInfo{lwarp}{Generating lwarp configuration files,}%
- \includecomment{LWRwriteconf}
+ \LWR@includecomment{LWRwriteconf}{writeconf}
}
\end{warpprint}
% \end{macrocode}
@@ -15626,9 +16964,12 @@ This boolean may be tested by the user for later use.
% Error message if not sure which \LaTeX\ engine is being used.
% \begin{macrocode}
\newcommand*{\LWR@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 @@ This boolean may be tested by the user for later use.
\newcommand*{\LWR@latexmkcmd}[1]{%
latexmk \space \LWR@shellescapecmd \space #1 \space
-recorder \space
- \LWR@latexmkvar{makeindex}{\LWR@LatexmkIndexCmd}
+ \LWR@latexmkvar{makeindex}{\LWR@LatexmkIndexCmd}%
}
% \end{macrocode}
% \end{macro}
@@ -15958,7 +17299,6 @@ This boolean may be tested by the user for later use.
% \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 @@ This boolean may be tested by the user for later use.
% \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 @@ This boolean may be tested by the user for later use.
% \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 @@ This boolean may be tested by the user for later use.
\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.sectionnumber { margin-right: 0em }
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.textit, div.textit { font-style: italic; }
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 @@ span.textsf, div.textsf {
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,6 +17561,8 @@ span.overline {
text-decoration-skip: auto ;
}
+div.hrule { border-top: 1px solid silver }
+
/* for vertical text: */
div.verticalrl { writing-mode: vertical-rl }
@@ -16202,16 +17595,16 @@ div.diagboxW {
.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.epigraphsource p, div.dictumauthor p { padding: .5ex 0ex 0ex 0ex ; margin: 0
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.capsspacing {
span.highlight { background: #F8E800 ; }
+/* keystroke package: */
+span.keystroke {
+ border-style: outset ;
+ padding: 0pt .5em 0pt .5em ;
+}
html body {
@@ -16501,7 +17899,7 @@ div.bodywithoutsidetoc div.bodycontainer {
}
section.textbody div.footnotes{
- margin: 3ex 2em 0ex 2em ;
+ margin: 3ex 2em .5ex 2em ;
border-bottom: 2px solid silver ;
}
@@ -16693,6 +18091,7 @@ div.wpminipage { border: 1px solid green ; margin: .5ex ; padding: .5ex ;}
.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,20 +18154,33 @@ div.wpminipage { border: 1px solid green ; margin: .5ex ; padding: .5ex ;}
}
-.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 p, .tcolorbox p { padding: 0ex .5em 0ex .5em ; }
-.mdframed dl { padding: 1ex .5em 0ex .5em ; }
+.mdframed dl, .tcolorbox dl { padding: 1ex .5em 0ex .5em ; }
-.mdframedtitle {
+.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 {
@@ -16872,7 +18284,10 @@ dl dd:after { content: "" ; display: block ; clear: both }
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 @@ span.verbatim {
+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 @@ footer {
}
+/* for \LinkHome, \LinkPrevious, and \LinkNext: */
a.linkhome { font-weight:bold ; font-size: 1em ;}
@@ -17405,8 +18841,14 @@ nav .authorartist{ display:inline; }
/* 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 */
@@ -17480,6 +18922,35 @@ div.amsthmproof
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 @@ span.nolbreaks { white-space: nowrap ; }
/*
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 @@ Based on spacing demonstrated by the metafont package.
.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 @@ Based on spacing demonstrated by the metafont package.
.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,24 +19039,25 @@ Based on spacing demonstrated by the metafont package.
.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 {
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 @@ span.sidetocthetitle { display: none }
box-shadow: none ;
}
span.sidetocthetitle { display: inline }
+ nav.topnavigation { display:block }
nav.botnavigation { display:block }
div.bodycontainer { width: 100% }
.marginpar {
@@ -18283,6 +19759,9 @@ page_compositor "."
% \end{macrocode}
+
+
+
% \subsection{\filenm{lwarp_one_limage.cmd}}
%
% \DescribeFile{lwarp_one_limage.cmd}
@@ -18337,10 +19816,13 @@ page_compositor "."
% \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 @@ page_compositor "."
% 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,133 +19844,227 @@ page_compositor "."
% \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
% \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"
- }
- });
-
- 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];
+<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;
+
+ // 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"
- }
- }
-});
-</script>
+ // Create the Lwarp-macros package
+ Configuration.create('Lwarp-macros', {
+ handler: {macro: ['Lwarp-macros']}
+ });
-<!-- 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">
-</script>
+ MathJax.startup.defaultReady();
-<!-- No longer supported after April 30, 2017: -->
-<!--
-<script
- src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_HTML-full">
+ // 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;
+ }
+ });
+ 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;
+ }
+ });
+
+ // 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>
--->
+<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}}
@@ -18591,19 +20167,21 @@ src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.6/MathJax.js?config=TeX-
% \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@createlwarpmk}
+\begin{LWRcreatelwarpmk}
% \end{macrocode}
%
% ^^A *lwarpmk.lua
@@ -18611,10 +20189,10 @@ src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.6/MathJax.js?config=TeX-
\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 pdftohtml [-p project]:
lwarpmk pdftosvg <list of file names>: Converts each PDF file to SVG.
lwarpmk epstopdf <list of file names>: Converts each EPS file to PDF.
lwarpmk clean [-p project]: Remove *.aux, *.toc, *.lof/t,
- *.idx, *.ind, *.log, *_html_inc.*, .gl*,
+ *.idx, *.ind, *.bbl, *.log, *_html_inc.*, .gl*,
*_html.pdf, *_html.html, *_html.sidetoc
lwarpmk cleanall [-p project]: Remove auxiliary files, project.pdf, *.html
lwarpmk cleanlimages: Removes all images from the "lateximages" directory.
+lwarpmk -v: Print the version number.
lwarpmk -h: Print this help message.
lwarpmk --help: Print this help message.
@@ -19008,12 +20587,13 @@ function removeaux ()
-- 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 @@ os.execute ( rmname .. " *.aux " ..
sourcename .. "_html.pdf " ..
sourcename .. "_html.html " ..
sourcename .. "_html.sidetoc " ..
- " *_html_inc.* "
+ " *_html_inc.* " ..
+ " comment_*.cut"
)
end
@@ -19549,6 +21130,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
@@ -19568,7 +21155,7 @@ end -- not --version
% \end{macrocode}
%
% \begin{macrocode}
-\end{LWR@createlwarpmk}
+\end{LWRcreatelwarpmk}
% \end{macrocode}
%
@@ -19858,11 +21445,11 @@ end -- not --version
% \DescribeBoolean{LWR@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@mathmacro}
\boolfalse{LWR@mathmacro}
@@ -19908,7 +21495,7 @@ end -- not --version
% 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 @@ end -- not --version
\newcommand*{\HTMLentity}[1]{%
% \LWR@traceinfo{HTMLentity \detokenize{#1}}%
\begingroup%
-\LWR@FBcancel%
+\LWR@hook@processingtags%
\LWR@origampersand#1;%
\endgroup%
% \LWR@traceinfo{HTMLentity done}%
@@ -20082,7 +21669,7 @@ end -- not --version
% such as 100+ for one chapter, 200+ for another chapter, etc.
% \begin{macrocode}
\newcommand*{\SetHTMLFileNumber}[1]{%
-\setcounter{LWR@htmlfilenumber}{#1}%
+ \setcounter{LWR@htmlfilenumber}{#1}%
}
% \end{macrocode}
% \end{macro}
@@ -20108,9 +21695,43 @@ end -- not --version
% \end{macrocode}
+% Updated each time a new \HTML\ file is begun.
+% Used to provide \HTML\ previous/next web page links.
+% \begin{macrocode}
+\newcounter{LWR@HTMLpagenum}
+\setcounter{LWR@HTMLpagenum}{0}
+% \end{macrocode}
+
+
+% \DescribeCounter{LWR@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@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@htmlseqfilenumber}
+\setcounter{LWR@htmlseqfilenumber}{0}
+% \end{macrocode}
+
+% \DescribeBoolean{LWR@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@setseqfilelabel}
+\setbool{LWR@setseqfilelabel}{false}
+% \end{macrocode}
+
+
% \DescribeCounter{LWR@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@htmlfilenumber}
\setcounter{LWR@htmlfilenumber}{0}
@@ -20125,6 +21746,8 @@ end -- not --version
% \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,33 +21767,35 @@ end -- not --version
% \LWR@traceinfo{about to assign temp}%
\LWR@sanitize{#1}%
\LWR@traceinfo{about to compare with ??}%
-\ifthenelse{\equal{\LWR@sanitized}{??}}%
+\ifdefstring{\LWR@sanitized}{??}
{\LWR@traceinfo{found ??}}%
{\LWR@traceinfo{not found ??}}%
\LWR@traceinfo{about to compare with zero or empty}%
-\ifthenelse{%
- \equal{\LWR@sanitized}{0}%
- \OR \equal{\LWR@sanitized}{}%
- \OR \equal{\LWR@sanitized}{??}%
-}%
+\ifboolexpr{
+ test {\ifdefstring{\LWR@sanitized}{0}} or
+ test {\ifdefstring{\LWR@sanitized}{}} or
+ test {\ifdefstring{\LWR@sanitized}{??}}
+}
{%
\LWR@traceinfo{LWR@htmlsectionfilename B \HomeHTMLFilename.html}%
\HomeHTMLFilename.html%
}%
% \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@traceinfo{LWR@htmlsectionfilename C \LWR@sanitized}%
- \ifthenelse{%
- \equal{\HTMLFilename}{} \AND
- \equal{\LWR@sanitized}{Index} \OR
- \equal{\LWR@sanitized}{index}%
+ \ifboolexpr{
+ test{\ifdefvoid{\HTMLFilename}} and
+ (
+ test{\ifdefstring{\LWR@sanitized}{Index}} or
+ test{\ifdefstring{\LWR@sanitized}{index}}
+ )
}%
{%
- \LWR@traceinfo{Prefixing the index name with an underscore.}%
- \_\LWR@sanitized.html%
+ \LWR@traceinfo{Adding a zero to the index filename.}%
+ \LWR@sanitized-0.html%
}%
% \end{macrocode}
% Otherwise, create a filename with the chosen prefix:
@@ -20189,18 +21814,18 @@ end -- not --version
%
% 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@htmlrefsectionfilename}[1]{%
-\LWR@traceinfo{LWR@htmlrefsectionfilename: !\detokenize{#1}!}%
+ \LWR@traceinfo{LWR@htmlrefsectionfilename: !\detokenize{#1}!}%
% \end{macrocode}
% \cs{LWR@nullfonts} to allow math in a section name.
% \begin{macrocode}
-\begingroup%
-\LWR@nullfonts%
-\LWR@htmlsectionfilename{\LWR@htmlfileref{#1}}%
-\endgroup%
-\LWR@traceinfo{LWR@htmlrefsectionfilename: done}%
+ \begingroup%
+ \LWR@nullfonts%
+ \LWR@htmlsectionfilename{\LWR@htmlfileref{#1}}%
+ \endgroup%
+ \LWR@traceinfo{LWR@htmlrefsectionfilename: done}%
}
% \end{macrocode}
% \end{macro}
@@ -20243,7 +21868,7 @@ end -- not --version
% The filename must be detokenized for underscores.
% \begin{macrocode}
\newcommand*{\LinkHome}{%
-\LWR@subhyperrefclass{\HomeHTMLFilename.html}{\linkhomename}{linkhome}%
+ \LWR@subhyperrefclass{\HomeHTMLFilename.html}{\linkhomename}{linkhome}%
}
% \end{macrocode}
% \end{macro}
@@ -20302,8 +21927,8 @@ end -- not --version
% 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@topnavigation}{
-\LWR@htmlelementclassline{nav}{topnavigation}{\LinkHome}
+\newcommand*{\LWR@topnavigation}{%
+ \LWR@htmlelementclassline{nav}{topnavigation}{\LinkHome}
}
% \end{macrocode}
% \end{macro}
@@ -20313,8 +21938,8 @@ end -- not --version
% 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@botnavigation}{
-\LWR@htmlelementclassline{nav}{botnavigation}{\LinkHome}
+\newcommand*{\LWR@botnavigation}{%
+ \LWR@htmlelementclassline{nav}{botnavigation}{\LinkHome}
}
% \end{macrocode}
% \end{macro}
@@ -20324,6 +21949,110 @@ end -- not --version
% \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@htmlseqfilenumber}}{1}{}{%
+ \setcounter{LWR@tempcountone}{\value{LWR@htmlseqfilenumber}-1}%
+ \LWR@subhyperrefclass{%
+ \LWR@htmlrefsectionfilename{%
+ \BaseJobname-autofile-\arabic{LWR@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@lwarp}{%
+ \edef\LWR@tempone{%
+ \LWR@htmlfileref{\BaseJobname-autofile-\arabic{LWR@htmlseqfilenumber}}%
+ }%
+ \edef\LWR@temptwo{%
+ \LWR@htmlfileref{\BaseJobname-autofile-last}%
+ }%
+ \ifdefequal{\LWR@tempone}{\LWR@temptwo}{}{%
+ \setcounter{LWR@tempcountone}{\value{LWR@htmlseqfilenumber}+1}%
+ \LWR@subhyperrefclass{%
+ \LWR@htmlrefsectionfilename{%
+ \BaseJobname-autofile-\arabic{LWR@tempcountone}%
+ }%
+ }{\linknextname}{linkhome}%
+ }%
+ }{}%
+}
+% \end{macrocode}
+% \end{macro}
+
+% \begin{macrocode}
+\end{warpHTML}
+% \end{macrocode}
+
% \section{\cs{LWRPrintStack} diagnostic tool}
@@ -20453,8 +22182,14 @@ end -- not --version
\newcommand{\LWR@forcenewpage}{%
\LWR@traceinfo{LWR@forcenewpage}%
\ifinner\else%
-\LWR@stoppars\LWR@orignewpage\LWR@startpars%
+ \LWR@traceinfo{LWR@forcenewpage A}%
+ \LWR@stoppars%
+ \LWR@traceinfo{LWR@forcenewpage B}%
+ \LWR@maybe@orignewpage%
+ \LWR@traceinfo{LWR@forcenewpage C}%
+ \LWR@startpars%
\fi%
+\LWR@traceinfo{LWR@forcenewpage done}%
}
% \end{macrocode}
%
@@ -20544,10 +22279,11 @@ end -- not --version
% \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@tagtitle}{h1}
\newcommand*{\LWR@tagtitleend}{/h1}
-\newcommand*{\LWR@tagbook}{div class="book"}
+\newcommand*{\LWR@tagbook}{div class=\textquotedbl{}book\textquotedbl}
\newcommand*{\LWR@tagbookend}{/div}
\newcommand*{\LWR@tagpart}{h2}
\newcommand*{\LWR@tagpartend}{/h2}
@@ -20559,15 +22295,30 @@ end -- not --version
\newcommand*{\LWR@tagsubsectionend}{/h5}
\newcommand*{\LWR@tagsubsubsection}{h6}
\newcommand*{\LWR@tagsubsubsectionend}{/h6}
-\newcommand*{\LWR@tagparagraph}{span class="paragraph"}
+\newcommand*{\LWR@tagparagraph}{span class=\textquotedbl{}paragraph\textquotedbl}
\newcommand*{\LWR@tagparagraphend}{/span}
-\newcommand*{\LWR@tagsubparagraph}{span class="subparagraph"}
+\newcommand*{\LWR@tagsubparagraph}{span class=\textquotedbl{}subparagraph\textquotedbl}
\newcommand*{\LWR@tagsubparagraphend}{/span}
\newcommand*{\LWR@tagregularparagraph}{p}
% \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@hook@processingtags} Disable special text processing
+% while generating tags.
+% Replaces \cs{LWR@FBcancel} in most places.
+% \changes{v0.895}{2021/01/12}{Added.}
+% \begin{macrocode}
+\newcommand*{\LWR@hook@processingtags}{}
+% \end{macrocode}
+% \end{macro}
+
% \subsection{Babel-French tag modifications}
@@ -20594,6 +22345,7 @@ end -- not --version
{}%
{%
\LetLtxMacro\LWR@FBcancel\NoAutoSpacing%
+ \appto{\LWR@hook@processingtags}{\LWR@FBcancel}%
}%
\@ifundefined{frenchbsetup}%
@@ -20606,31 +22358,31 @@ end -- not --version
%
\renewrobustcmd*{\FBcolonspace}{%
\begingroup%
- \LWR@FBcancel%
+ \LWR@hook@processingtags%
\LWR@origampersand{}nbsp;%
\endgroup%
}%
\renewrobustcmd*{\FBthinspace}{%
\begingroup%
- \LWR@FBcancel%
+ \LWR@hook@processingtags%
\LWR@origampersand\LWR@origpound{}x202f;% \,
\endgroup%
}%
\renewrobustcmd*{\FBguillspace}{%
\begingroup%
- \LWR@FBcancel%
+ \LWR@hook@processingtags%
\LWR@origampersand{}nbsp;% ~, for \og xyz \fg{}
\endgroup%
}%
\DeclareDocumentCommand{\FBmedkern}{}{%
\begingroup%
- \LWR@FBcancel%
+ \LWR@hook@processingtags%
\LWR@origampersand\LWR@origpound{}x202f;% \,
\endgroup%
}%
\DeclareDocumentCommand{\FBthickkern}{}{%
\begingroup%
- \LWR@FBcancel%
+ \LWR@hook@processingtags%
\LWR@origampersand{}nbsp;% ~
\endgroup%
}%
@@ -20674,12 +22426,13 @@ end -- not --version
% 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@htmltagc}[1]{%
\LWR@traceinfo{LWR@htmltagc !\detokenize{#1}!}%
\begingroup%
-\LWR@FBcancel%
-\ifmmode\else\protect\LWR@origttfamily\fi%
+\LWR@hook@processingtags%
+\ifmmode\else\protect\LWR@print@normalfont\protect\LWR@origttfamily\fi%
\protect\LWR@origtextless%
\LWR@isolate{#1}%
\protect\LWR@origtextgreater%
@@ -20689,6 +22442,35 @@ end -- not --version
% \end{macro}
%
+% \begin{macro}{\LWR@spanwarnformat} \marg{object}
+%
+% Warns if the given object is used inside a span.
+% \begin{macrocode}
+\newcommand*{\LWR@spanwarnformat}[1]{%
+ \ifnumcomp{\value{LWR@spandepth}}{>}{0}{%
+ \PackageWarning{lwarp}{%
+ A #1 is being used inside a span.\MessageBreak
+ Formatting may be lost,%
+ }%
+ }{}%
+}
+% \end{macrocode}
+% \end{macro}
+
+% \begin{macro}{\LWR@spanwarninvalid} \marg{object}
+%
+% Warns if the given object is used inside a span.
+% \begin{macrocode}
+\newcommand*{\LWR@spanwarninvalid}[1]{%
+ \ifnumcomp{\value{LWR@spandepth}}{>}{0}{%
+ \PackageWarning{lwarp}{%
+ A #1 is being used inside a span.\MessageBreak
+ This generates invalid HTML,%
+ }%
+ }{}%
+}
+% \end{macrocode}
+% \end{macro}
% \begin{environment}{LWR@nestspan} Disable \env{minipage}, \cs{parbox},
% and \HTML\ \element{div}s inside a \element{span}.
@@ -20706,6 +22488,8 @@ end -- not --version
% \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@nestspanitem}{%
@@ -20723,11 +22507,21 @@ end -- not --version
{% not in a lateximage
\LWR@traceinfo{LWR@nestspan: NOT inside a lateximage}%
\addtocounter{LWR@spandepth}{1}%
+% \end{macrocode}
+% Nullify several objects inside the span:
+% ^^A {\LWR@subhtmlelementclass{span}{inlineminipage}}%
+% ^^A {\LWR@htmltagc{/span}}%
+% \begin{macrocode}
\RenewDocumentEnvironment{minipage}{O{t} o O{t} m}%
- {\LWR@subhtmlelementclass{span}{inlineminipage}}%
- {\LWR@htmltagc{/span}}%
- \RenewDocumentEnvironment{BlockClass}{o m}{}{}%
- \renewcommand{\BlockClassSingle}[2]{##2}%
+ {\LWR@spanwarnformat{minipage or \protect\parbox}}%
+ {}%
+ \RenewDocumentEnvironment{BlockClass}{o m}%
+ {\LWR@spanwarnformat{multi-paragraph object}}%
+ {}%
+ \renewcommand{\BlockClassSingle}[2]{%
+ {\LWR@spanwarnformat{multi-paragraph object}}%
+ ##2%
+ }%
\renewcommand{\LWR@forcenewpage}{}%
\renewcommand{\LWR@liststart}{%
\let\item\LWR@nestspanitem%
@@ -20811,13 +22605,14 @@ end -- not --version
% \begin{macro}{\LWR@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@htmlopencomment}{%
{%
% \LWR@traceinfo{LWR@htmlopencomment}%
\begingroup%
-\LWR@FBcancel%
-\ifmmode\else\protect\LWR@origttfamily\fi%
+\LWR@hook@processingtags%
+\ifmmode\else\protect\LWR@print@normalfont\protect\LWR@origttfamily\fi%
\LWR@print@mbox{\LWR@origtextless{}!-\/-}%
\endgroup%
}%
@@ -20827,8 +22622,8 @@ end -- not --version
{%
% \LWR@traceinfo{LWR@htmlclosecomment}%
\begingroup%
-\LWR@FBcancel%
-\ifmmode\else\protect\LWR@origttfamily\fi%
+\LWR@hook@processingtags%
+\ifmmode\else\protect\LWR@print@normalfont\protect\LWR@origttfamily\fi%
\LWR@print@mbox{-\/-\LWR@origtextgreater}%
\endgroup%
}%
@@ -20840,15 +22635,21 @@ end -- not --version
% \begin{macro}{\LWR@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@htmlcomment}[1]{%
-\LWR@htmlopencomment{}%
-{%
-\LWR@origttfamily% break ligatures
-#1%
-}%
-\LWR@htmlclosecomment{}}
+\ifmmode%
+\else%
+ \LWR@htmlopencomment{}%
+ {%
+ \LWR@print@normalfont%
+ \LWR@origttfamily% break ligatures
+ #1%
+ }%
+ \LWR@htmlclosecomment{}%
+\fi%
+}
% \end{macrocode}
% \end{macro}
%
@@ -20874,6 +22675,7 @@ end -- not --version
% \subsection{Div class and element class}
+
% \begin{macro}{\LWR@subhtmlelementclass} \marg{element} \oarg{style} \marg{class}
%
% Factored and reused in several places.
@@ -20887,21 +22689,22 @@ end -- not --version
% \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@subhtmlelementclass}{m O{} m}{%
\LWR@traceinfo{LWR@subhtmlelementclass !#1!#2!#3!}%
\ifblank{#2}%
-{% empty option
+{% empty style
\LWR@htmltag{%
- #1 % space
- class=\textquotedbl#3\textquotedbl\ % space
+ #1%
+ \ifblank{#3}{}{ class=\textquotedbl#3\textquotedbl\ }% spaces
}%
}%
-{% non-empty option
+{% non-empty style
\LWR@htmltag{%
#1\LWR@indentHTML%
- class=\textquotedbl#3\textquotedbl\LWR@indentHTML%
+ \ifblank{#3}{}{class=\textquotedbl#3\textquotedbl\LWR@indentHTML}%
style=\textquotedbl#2\textquotedbl\LWR@orignewline%
}%
}%
@@ -21043,12 +22846,12 @@ end -- not --version
% \codehtml
% \begin{macrocode}
\begin{warpHTML}
+
\NewDocumentEnvironment{LWR@print@BlockClass}{o m}{}{}%
+
\NewDocumentEnvironment{LWR@HTML@BlockClass}{o m}%
-{%
- \LWR@htmldivclass[#1]{#2}%
-}
-{\LWR@htmldivclassend{#2}}
+ {\LWR@htmldivclass[#1]{#2}}
+ {\LWR@htmldivclassend{#2}}
\LWR@formattedenv{BlockClass}
\end{warpHTML}
@@ -21073,7 +22876,7 @@ end -- not --version
% \begin{macrocode}
\begin{warpHTML}
\newcommand{\LWR@HTML@BlockClassSingle}[2]{%
-\LWR@htmlelementclassline{div}{#1}{#2}%
+ \LWR@htmlelementclassline{div}{#1}{#2}%
}
\LWR@formatted{BlockClassSingle}
@@ -21497,14 +23300,18 @@ end -- not --version
% \begin{macro}{\LWR@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@startpars}%
{%
% \LWR@traceinfo{LWR@startpars}%
% \end{macrocode}
-% Ignore if inside a span:
+% Ignore if inside a \env{lateximage} or \element{span}:
% \begin{macrocode}
-\ifnumcomp{\value{LWR@spandepth}}{>}{0}%
+\ifboolexpr{
+ test {\ifnumcomp{\value{LWR@lateximagedepth}}{>}{0}} or
+ test {\ifnumcomp{\value{LWR@spandepth}}{>}{0}}
+}%
{}%
{%
% \end{macrocode}
@@ -21550,13 +23357,17 @@ end -- not --version
% 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@stoppars}%
{%
% \end{macrocode}
-% Ignore if inside a span:
+% Ignore if inside a \env{lateximage} or \element{span}:
% \begin{macrocode}
-\ifnumcomp{\value{LWR@spandepth}}{>}{0}%
+\ifboolexpr{
+ test {\ifnumcomp{\value{LWR@lateximagedepth}}{>}{0}} or
+ test {\ifnumcomp{\value{LWR@spandepth}}{>}{0}}
+}%
{}%
{%
% \end{macrocode}
@@ -21635,14 +23446,12 @@ end -- not --version
% \begin{macrocode}
\AtBeginDocument{
-\def\@afterindentfalse{\let\if@afterindent\iffalse}
-\@afterindentfalse
+ \def\@afterindentfalse{\let\if@afterindent\iffalse}
+ \@afterindentfalse
}
\let\LWR@afterindent@syntaxhighlight\fi% syntax highlighting
% \end{macrocode}
-
-
% \begin{macrocode}
\end{warpHTML}
% \end{macrocode}
@@ -21658,8 +23467,10 @@ end -- not --version
% 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@firstpagetop}{} % for the home page alone
+\newcommand{\LWR@firstpagebottom}{} % for the home page alone
\newcommand{\LWR@pagetop}{} % for all other pages
\newcommand{\LWR@pagebottom}{}
% \end{macrocode}
@@ -21678,6 +23489,19 @@ end -- not --version
%
% \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@firstpagebottom}{#1}%
+}
+% \end{macrocode}
+%
+%
+% \end{macro}
+%
%
% \begin{macro}{\HTMLPageTop} \marg{text and logos}
%
@@ -21752,7 +23576,7 @@ end -- not --version
-% \section{MathJax script}
+% \section{\brand{MathJax} script}
% \codehtml
% \begin{macrocode}
@@ -21761,11 +23585,11 @@ end -- not --version
% \begin{macro}{\LWR@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 -- not --version
% \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 @@ end -- not --version
% \changes{v0.48}{2018/02/11}{Removed \cs{itshape}.}
% \begin{macrocode}
\AtBeginDocument{
-\def\thempfootnote{\@alph\c@mpfootnote}
+ \def\thempfootnote{\@alph\c@mpfootnote}
}
% \end{macrocode}
% \end{macro}
@@ -22440,6 +24264,7 @@ end -- not --version
\begin{warpHTML}
% \end{macrocode}
+
% \begin{macro}{\LWR@thisfilename}
% The currently-active filename or number.
% At first, this is the homepage.
@@ -22513,6 +24338,27 @@ end -- not --version
% \end{macro}
+% \begin{macro}{\LWR@avoiddupfilenames} \qquad
+% Instructions for how to avoid duplicate filenames.
+% This is used in a warning in \cs{LWR@filenamenoblanks},
+% and in an error in \cs{LWR@newhtmlfile}.
+% \begin{macrocode}
+\newcommand*{\LWR@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@filenamenoblanks} \marg{filename}
%
@@ -22539,6 +24385,7 @@ end -- not --version
% \begin{macrocode}
\edef\LWR@thisnewfilename{#1}%
% \end{macrocode}
+%
% Replaces common macros with hyphens.
% (\cs{\&} is done by \cs{LWR@nullfonts}.)
% \begin{macrocode}
@@ -22555,6 +24402,31 @@ end -- not --version
% \begin{macrocode}
\edef\LWR@thisnewfilename{\detokenize\expandafter{\LWR@thisnewfilename}}%
% \end{macrocode}
+%
+% Warn if there is dollar math in the section name:
+% \begin{macrocode}
+\ifbool{FileSectionNames}{%
+ \IfSubStr{\LWR@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@avoiddupfilenames%
+ \MessageBreak
+ This section is found before or%
+ }
+ }{}%
+}{}
+% \end{macrocode}
% \begin{macrocode}
\LWR@traceinfo{LWR@filenamenoblanks edef: !\LWR@thisnewfilename!}%
\fullexpandarg%
@@ -22564,12 +24436,16 @@ end -- not --version
\LWR@simplifyname*{ }
% \end{macrocode}
% Convert punctutation into hyphens:
+% \changes{v0.86}{2020/05/04}{Fix: \filenm{*}, \filenm{(}, \filenm{)}, \filenm{.} in filename.}
% \begin{macrocode}
+\LWR@simplifyname*{*}
+\LWR@simplifyname*{(}
+\LWR@simplifyname*{)}
+\LWR@simplifyname*{.}
\LWR@simplifyname*{!}
\LWR@simplifyname*{,}
\LWR@simplifyname*{'}
\LWR@simplifyname*{+}
-\LWR@simplifyname*{,}
\LWR@simplifyname*{/}
\LWR@simplifyname*{:}
\LWR@simplifyname*{;}
@@ -22631,28 +24507,31 @@ end -- not --version
% \begin{macrocode}
\LWR@simplifycustom%
% \end{macrocode}
-% Convert multiple hyphens:
-% \begin{macrocode}
-\LWR@simplifyname*{-----}
-\LWR@simplifyname*{----}
-\LWR@simplifyname*{---}
-\LWR@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@simplifyname*{—}
+ \LWR@simplifyname*{—}
% emdash
-\LWR@simplifyname*{–}
+ \LWR@simplifyname*{–}
% endash
}{}%
\else% not PDFTeX
-\LWR@simplifyname*{—}
-\LWR@simplifyname*{–}
+ \LWR@simplifyname*{—}
+ \LWR@simplifyname*{–}
\fi%
% \end{macrocode}
+%
+% Convert multiple hyphens:
+% \begin{macrocode}
+\LWR@simplifyname*{-----}
+\LWR@simplifyname*{----}
+\LWR@simplifyname*{---}
+\LWR@simplifyname*{--}
+% \end{macrocode}
% If starts with a dash, remove the leading dash:
% \begin{macrocode}
\IfBeginWith{\LWR@thisnewfilename}{\detokenize{-}}{%
@@ -22726,7 +24605,7 @@ end -- not --version
%
% 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,6 +24631,16 @@ end -- not --version
% \end{macrocode}
% \end{macro}
+% \DescribeBoolean{LWR@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@MathJax@silentquotes}
+\boolfalse{LWR@MathJax@silentquotes}
+% \end{macrocode}
+
+
% \begin{macro}{\LWR@subHTMLsanitize}
%
@@ -22775,11 +24664,21 @@ end -- not --version
\LWR@replacestrings{<}{&lt;}%
\LWR@replacestrings{>}{&gt;}%
% \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@replacestrings{"}{&quot;}%
+ \ifbool{LWR@MathJax@silentquotes}
+ {%
+ \expandafter\LWR@replacestrings\expandafter{\LWRbackslash"}{}%
+ \LWR@replacestrings{"}{}%
+ }%
+ {\LWR@replacestrings{"}{&quot;}}%
+ \LWR@replacestrings{'}{&apos;}%
+ \LWR@replacestrings{`}{&grave;}%
% \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 @@ end -- not --version
% and fully expand the strings:
% \begin{macrocode}
\begingroup%
- \LWR@FBcancel%
- \fullexpandarg%
- \protect\StrSubstitute{\detokenize{#1}}%
- {\detokenize{\&}}{\detokenize{&}}[\LWR@strresult]%
+ \LWR@hook@processingtags%
+ \edef\LWR@strresult{\detokenize{#1}}%
\LWR@subHTMLsanitize%
\LWR@strresult%
\endgroup%
@@ -22818,25 +24715,50 @@ end -- not --version
% \begin{macro}{\LWR@HTMLsanitizeexpand} \marg{text}
%
% This version expands the argument before sanitizing it.
+% This is only used for adding math to \brand{MathJax} expressions or
+% \env{lateximage} \attribute{alt} tags.
%
% \changes{v0.36}{2017/08/16}{Fix for \pkg{babel-french}.}
% \changes{v0.51}{2018/03/07}{Fix: Escapes double quotes.}
-% \changes{v0.79}{2020/01/27}{Fix: \cs{\&}.}
+% ^^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@beginspaceleftbrace{begin \LWRleftbrace}
+\edef\LWR@beginspaceleftbrace{\detokenize\expandafter{\LWR@beginspaceleftbrace}}
+\edef\LWR@beginleftbrace{begin\LWRleftbrace}
+\edef\LWR@beginleftbrace{\detokenize\expandafter{\LWR@beginleftbrace}}
+
+\edef\LWR@endspacerightbrace{end \LWRrightbrace}
+\edef\LWR@endspacerightbrace{\detokenize\expandafter{\LWR@endspacerightbrace}}
+\edef\LWR@endrightbrace{end\LWRrightbrace}
+\edef\LWR@endrightbrace{\detokenize\expandafter{\LWR@endrightbrace}}
+
\newrobustcmd{\LWR@HTMLsanitizeexpand}[1]{%
% \end{macrocode}
% Cancel French \pkg{babel} character handling,
% and fully expand the strings:
% \begin{macrocode}
\begingroup%
- \LWR@FBcancel%
- \fullexpandarg%
+ \LWR@hook@processingtags%
% \end{macrocode}
% The difference between this and \cs{LWR@HTMLsanitize} (without ``expand'')
% is the following \cs{expandafter}:
% \begin{macrocode}
- \protect\StrSubstitute{\detokenize\expandafter{#1}}%
- {\detokenize{\&}}{\detokenize{&}}[\LWR@strresult]%
+ \edef\LWR@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@strresult}%
+ {\LWR@beginspaceleftbrace}{\LWR@beginleftbrace}[\LWR@strresult]%
+ \protect\StrSubstitute{\LWR@strresult}%
+ {\LWR@endspacerightbrace}{\LWR@endrightbrace}[\LWR@strresult]%
+% \end{macrocode}
+% \begin{macrocode}
\LWR@subHTMLsanitize%
\LWR@strresult%
\endgroup%
@@ -22869,10 +24791,8 @@ end -- not --version
% \begin{macrocode}
\newcommand*{\LWR@subcustomizedmathjax}[1]{%
\begingroup%
- \LWR@FBcancel%
- \fullexpandarg%
- \protect\StrSubstitute{\detokenize{#1}}%
- {\detokenize{\&}}{\detokenize{&}}[\LWR@strresult]%
+ \LWR@hook@processingtags%
+ \edef\LWR@strresult{\detokenize{#1}}%
\LWR@subHTMLsanitize%
\xdef\LWR@customizedMathJax{%
\LWR@customizedMathJax%
@@ -22898,8 +24818,8 @@ end -- not --version
\newcommand*{\CustomizeMathJax}[1]{%
\ifbool{LWR@warnedcustomizemathjax}{}{%
\StrLen{\detokenize{#1}}[\LWR@tempone]%
- \ifnumgreater{\LWR@tempone}{200}{%
- \AtBeginDocument{%
+ \ifnumgreater{\LWR@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 -- not --version
% \end{macrocode}
% \end{macro}
-%
+
+% ^^A *mathjax customizations
% Default customizations:
% \margintag{defaults}
%
@@ -22945,6 +24866,8 @@ end -- not --version
% \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@doendequation}.
@@ -22975,11 +24898,18 @@ end -- not --version
\CustomizeMathJax{\def\LWRfootnote{1}}
\CustomizeMathJax{\newcommand{\footnote}[2][\LWRfootnote]{{}^{\mathrm{#1}}}}
\CustomizeMathJax{\newcommand{\footnotemark}[1][\LWRfootnote]{{}^{\mathrm{#1}}}}
-\end{warpMathJax}
% \end{macrocode}
-
+%
+% \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 @@ end -- not --version
\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 @@ end -- not --version
% \begin{macro}{\LWR@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 @@ end -- not --version
\LWR@stoppars
\LWR@htmlcomment{MathJax customizations:}
-\typeout{---}
-\typeout{Package lwarp:}
-\typeout{Processing MathJax customizations. If this takes too long,}
-\typeout{see the Lwarp manual regarding customizing MathJax.}
\begin{BlockClass}{hidden}
\LWR@stoppars
-\LWR@customizedMathJax
+% \end{macrocode}
+%
+% Avoid ligatures while printing \brand{MathJax} customizations:
+% \changes{v0.89}{2020/08/02}{Print \brand{MathJax} customizations with typewriter font.}
+% \begin{macrocode}
+{
+ \LWR@print@ttfamily
+ \LWR@customizedMathJax
+}
\LWR@startpars
\end{BlockClass}
-\typeout{---}
\LWR@startpars
}{}
@@ -23122,6 +25074,34 @@ end -- not --version
\begin{warpHTML}
% \end{macrocode}
+
+% \begin{macro}{\LWR@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@createfooter}{%
+ \ifnumless{\value{LWR@htmlseqfilenumber}}{1}{%
+ \ifdefempty{\LWR@firstpagebottom}{}{%
+ \LWR@htmlelement{footer}
+
+ \LWR@firstpagebottom
+
+ \LWR@htmlelementend{footer}
+ }%
+ }{%
+ \ifdefempty{\LWR@pagebottom}{}{%
+ \LWR@htmlelement{footer}
+
+ \LWR@pagebottom
+
+ \LWR@htmlelementend{footer}
+ }%
+ }%
+}
+% \end{macrocode}
+% \end{macro}
+
+
% \begin{macro}{\LWR@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,20 +25131,7 @@ end -- not --version
%
% No footer between files if \EPUB:
% \begin{macrocode}
-\ifbool{FormatEPUB}
-{}
-{
-% \end{macrocode}
-% \changes{v0.73}{2019/06/23}{Fix: Empty header/footer.}
-% \begin{macrocode}
- \ifdefempty{\LWR@pagebottom}{}{%
- \LWR@htmlelement{footer}
-
- \LWR@pagebottom
-
- \LWR@htmlelementend{footer}
- }
-}
+\ifbool{FormatEPUB}{}{\LWR@createfooter}
% \end{macrocode}
%
%
@@ -23182,9 +25149,12 @@ end -- not --version
\LWR@htmltag{/body}\LWR@orignewline
\LWR@htmltag{/html}\LWR@orignewline
\LWR@traceinfo{LWR@newhtmlfile: about to LWR@orignewpage}
-\LWR@orignewpage
-
+\LWR@maybe@orignewpage
+% \end{macrocode}
+% \changes{v0.84}{2020/04/24}{Added prev/next links.}
+% \begin{macrocode}
\addtocounter{LWR@htmlfilenumber}{1}%
+\addtocounter{LWR@htmlseqfilenumber}{1}%
% \end{macrocode}
%
%
@@ -23221,23 +25191,25 @@ end -- not --version
% \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@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@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 @@ end -- not --version
% 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@traceinfo{LWR@newhtmlfile: about to print start file}%
% \end{macrocode}
@@ -23278,7 +25250,7 @@ end -- not --version
% \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@latestautopage}{\value{page}}%
@@ -23332,10 +25304,17 @@ end -- not --version
%
% 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@htmlelementclass{div}{bodycontainer}
\LWR@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@setseqfilelabel}
% \end{macrocode}
%
%
@@ -23396,18 +25375,24 @@ end -- not --version
% \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}
% 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
@@ -23541,6 +25526,10 @@ end -- not --version
% \begin{macro}{\LWR@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 @@ end -- not --version
%
%
%
+% \begin{macro}{\LWR@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@printchaptername}{%
+ \ifdefvoid{\chaptername}{}{\chaptername~}%
+}
+% \end{macrocode}
+% \end{macro}
+%
+%
% \DescribeCounter{LWR@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@currentautosec}: Added.}
% \changes{v0.66}{2019/01/28}{\ctr{LWR@currentautosec}: Fix for \LOF, \LOT float in home page.}
% \begin{macrocode}
@@ -23689,6 +25691,13 @@ end -- not --version
\IfValueTF{#2}%
{\LWR@traceinfo{LWR@section: starting #4 #2}}%
{\LWR@traceinfo{LWR@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@spanwarninvalid{section}%
+% \end{macrocode}
+% \begin{macrocode}
\LWR@maybeprintpendingfootnotes{\csuse{LWR@depth#4}}%
\LWR@stoppars%
\LWR@startnewdepth{#4}%
@@ -23757,10 +25766,11 @@ end -- not --version
% Generate a new \LaTeX\ page so that \TOC\ and index page number points to the section:
% \begin{macrocode}
\LWR@traceinfo{LWR@section: not a new HTML file, about to LWR@orignewpage}%
- \LWR@orignewpage%
+ \LWR@maybe@orignewpage%
}% not new file
% \end{macrocode}
+%
% Remember this section's name for \cs{nameref}:
% \begin{macrocode}
\IfValueT{#3}{%
@@ -23768,6 +25778,7 @@ end -- not --version
\IfValueTF{#2}{\LWR@setlatestname{#2}}{\LWR@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 @@ end -- not --version
\endgroup%
}{}
% \end{macrocode}
+%
% For inline sections paragraph and subparagraph, start a new paragraph now:
% \begin{macrocode}
\ifthenelse{%
@@ -23799,6 +25811,7 @@ end -- not --version
{\LWR@startpars}%
{}%
% \end{macrocode}
+%
% Create the opening tag with an autosec:
% \begin{macrocode}
\LWR@traceinfo{LWR@section: about to LWR@createautosec}%
@@ -23808,12 +25821,14 @@ end -- not --version
% \begin{macrocode}
\setcounter{LWR@currentautosec}{\value{page}}%
% \end{macrocode}
+%
% Check if starred:
% \begin{macrocode}
\IfBooleanTF{#1}%
{%
\LWR@traceinfo{LWR@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 @@ end -- not --version
{}%
}% 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 @@ end -- not --version
}%
{% 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 @@ end -- not --version
\LWR@traceinfo{LWR@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 @@ end -- not --version
\LWR@traceinfo{LWR@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 -- not --version
}% 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 -- not --version
}%
}%
% \end{macrocode}
+%
% For part, print ``Part'':
% \begin{macrocode}
\ifbool{LWR@mainmatter}%
@@ -23895,6 +25917,7 @@ end -- not --version
{\@partnameformat}%
{}%
% \end{macrocode}
+%
% Print the section number:
% \begin{macrocode}
\LWR@traceinfo{LWR@section: about to print section number}%
@@ -23906,14 +25929,20 @@ end -- not --version
{\protect\LWR@sectionnumber{\@partcntformat{#4}}}%
{%
\ifstrequal{#4}{chapter}%
- {\protect\LWR@sectionnumber{\@chapcntformat{#4}}}%
+ {%
+% \end{macrocode}
+% \changes{v0.88}{2020/06/20}{Conditionally print \cs{chaptername}.}
+% \begin{macrocode}
+ \LWR@printchaptername%
+ \protect\LWR@sectionnumber{\@chapcntformat{#4}}%
+ }%
{\protect\LWR@sectionnumber{\@seccntformat{#4}}}%
}%
}%
{}%
\LWR@traceinfo{LWR@section: finished print section number}%
}{}%
-}% end of not starred
+}% not starred
% \end{macrocode}
% Print the section name:
% \begin{macrocode}
@@ -23927,7 +25956,11 @@ end -- not --version
\LWR@htmltag{\@nameuse{LWR@tag#4end}}%
\LWR@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 @@ end -- not --version
\setcounter{LWR@latestautopage}{\value{page}}%
\LWR@newautopagelabel{LWR@currentautosec}\LWR@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@setseqfilelabel}{}{%
+ \label{\BaseJobname-autofile-\arabic{LWR@htmlseqfilenumber}}%
+ \booltrue{LWR@setseqfilelabel}%
+}%
+% \end{macrocode}
+%
+%
% Start paragraph handing unless is an inline paragraph or subparagraph:
% \begin{macrocode}
\ifthenelse{%
@@ -24190,7 +26235,7 @@ end -- not --version
\newcommand*{\LWR@currentHTMLLanguage}{en-US}
\newcommand*{\HTMLLanguage}[1]{%
-\renewcommand*{\LWR@currentHTMLLanguage}{#1}%
+ \renewcommand*{\LWR@currentHTMLLanguage}{#1}%
}
% \end{macrocode}
% \end{macro}
@@ -24203,18 +26248,19 @@ end -- not --version
% \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 -- not --version
% \end{macrocode}
-% \begin{macro}{\LWR@filestart} \oarg{sectionname} \qquad
+% \begin{macro}{\LWR@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 @@ end -- not --version
\newcommand*{\LWR@filestart}[1][]{%
\LWR@traceinfo{LWR@filestart !#1!}%
% \end{macrocode}
+%
% Locally temporarily disable direct-formatting commands:
% \begin{macrocode}
\begingroup%
\LWR@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@htmltag{!DOCTYPE html}\LWR@orignewline
% \end{macrocode}
+%
% The language is user-adjustable:
+%
+% NOTE: \cs{LWR@orig@textquotedbl} is used here because \cs{textquotedbl} is
+% nullified by \cs{LWR@nullfonts} while starting the new file.
+%
% \begin{macrocode}
\LWR@htmltag{%
html lang=\LWR@orig@textquotedbl\LWR@currentHTMLLanguage\LWR@orig@textquotedbl%
}\LWR@orignewline
% \end{macrocode}
+%
% Start of the meta data:
% \begin{macrocode}
\LWR@htmltag{head}\LWR@orignewline
% \end{macrocode}
+%
% Charset is fixed at UTF-8:
% \begin{macrocode}
\LWR@htmltag{%
@@ -24355,6 +26428,7 @@ end -- not --version
}\LWR@orignewline
}%
% \end{macrocode}
+%
% Mobile-friendly viewport:
% \gindex{HTML>meta tag>viewport}
% \gindex{viewport>HTML meta tag}
@@ -24366,6 +26440,7 @@ end -- not --version
content=\LWR@orig@textquotedbl{}width=device-width, initial-scale=1.0\LWR@orig@textquotedbl\ /%
}\LWR@orignewline
% \end{macrocode}
+%
% IE patch:
% \changes{v0.63}{2018/11/30}{Fix: Break ligature for \pkg{luatexko}.}
% \begin{macrocode}
@@ -24379,6 +26454,7 @@ end -- not --version
\LWR@htmltag{/script}\LWR@orignewline
\LWR@htmltag{![endif]-\/-}\LWR@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 @@ end -- not --version
\LWR@htmltag{/title}\LWR@orignewline%
}%
% \end{macrocode}
+%
% The page's stylesheet:
% \begin{macrocode}
\LWR@htmltag{%
@@ -24404,6 +26481,7 @@ end -- not --version
}%
\LWR@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 @@ end -- not --version
% ^^A \ifbool{mathKaTeX}{%
% ^^A \verbatiminput{lwarp_KaTeX.txt}%
% ^^A }{%
+% \changes{v0.86}{2020/05/03}{Error if missing file.}
% \begin{macrocode}
- \verbatiminput{\LWR@mathjaxfilename}%
+ \IfFileExists{\LWR@mathjaxfilename}%
+ {\verbatiminput{\LWR@mathjaxfilename}}%
+ {%
+ \PackageError{lwarp}%
+ {%
+ \protect\MathJaxFilename\space specified the file\MessageBreak
+ \space\space\LWR@mathjaxfilename\MessageBreak
+ which does not exist%
+ }%
+ {Specify an existing file, or remove \protect\MathJaxFilename.}%
+ }%
% \end{macrocode}
% ^^A }%
% \begin{macrocode}
@@ -24429,10 +26518,12 @@ end -- not --version
}% end of mathjax
{}%
% \end{macrocode}
+%
% End of the header:
% \begin{macrocode}
\LWR@htmltag{/head}\LWR@orignewline
% \end{macrocode}
+%
% Start of the body:
% \begin{macrocode}
\LWR@htmltag{body}\LWR@orignewline
@@ -24546,23 +26637,13 @@ end -- not --version
\let\LWR@origcaption\caption
% \end{macrocode}
%
-% Labels:
-% \cs{ltx@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@origltx@label\ltx@label
-\let\ltx@label\LWR@htmlmathlabel
-% \end{macrocode}
% Not yet started any paragraph handling:
% \begin{macrocode}
\global\boolfalse{LWR@doingapar}
\global\boolfalse{LWR@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@origpagenumbering{arabic}
@@ -24591,6 +26672,13 @@ end -- not --version
\LWR@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@setseqfilelabel}%
+\label{\BaseJobname-autofile-\arabic{LWR@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 @@ end -- not --version
% disable \cs{ensuremath} by printing a nullified
% definition at the start of each file, and add further customizations:
% \changes{v0.51}{2018/03/18}{MathJax: Nullifies \cs{ensuremath}.}
+% \changes{v0.89}{2020/08/17}{MathJax: Improved info message.}
% \begin{macrocode}
+\ifbool{mathjax}{
+ \typeout{---}
+ \typeout{Package lwarp:}
+ \typeout{Processing MathJax customizations for the first HTML page.}
+ \typeout{Later HTML pages will take the same amount of time.}
+ \typeout{If this takes too long, see the Lwarp manual regarding customizing MathJax.}
+}{}
+
\LWR@customizeMathJax
+
+\ifbool{mathjax}{
+ \typeout{Done.}
+ \typeout{---}
+}{}
% \end{macrocode}
%
% ^^A % Likewise for Ka\TeX:
@@ -24691,7 +26793,9 @@ end -- not --version
% 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@htmlelementclassend{section}{textbody}
\LWR@htmlelementclassend{div}{bodycontainer}
\LWR@htmlelementclassend{div}{bodyandsidetoc}
@@ -24701,17 +26805,10 @@ end -- not --version
\LWR@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@pagebottom}{}{%
- \LWR@htmlelement{footer}
-
- \LWR@pagebottom
-
- \LWR@htmlelementend{footer}
-}
+\ifbool{FormatEPUB}{}{\LWR@createfooter}
% \end{macrocode}
% No bottom navigation if are finishing the home page,
@@ -24735,7 +26832,7 @@ end -- not --version
% \end{macrocode}
% Seems to be required sometimes:
% \begin{macrocode}
-\LWR@orignewpage
+\LWR@maybe@orignewpage
}
% \end{macrocode}
% \end{macro}
@@ -24744,41 +26841,93 @@ end -- not --version
% \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}
+\ifdef{\AddToHook}{% newer kernel
+ \AddToHook{enddocument/info}{%
+ \if@filesw
+ \ifx \@multiplelabels \relax
+ \if@tempswa
+% \end{macrocode}
+% This is where warnings of duplicate labels would appear.
+% \begin{macrocode}
+ \else
+% \end{macrocode}
+% No duplicate labels, so safe to create images.
% \begin{macrocode}
-\xpatchcmd{\enddocument}
- {%
- \if@tempswa
- \@latex@warning@no@line{Label(s) may have changed.
- Rerun to get cross-references right}%
- \fi
- }
- {%
- \if@tempswa
- \@latex@warning@no@line{Label(s) may have changed.
- Rerun to get cross-references right}%
- \else
\immediate\write\LWR@lateximagesfile{%
|end|end|end|%
}%
- \fi
+ \fi
+ \fi\fi
}
- {}
- {
- \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@tempswa
+ \@latex@warning@no@line{Label(s) may have changed.
+ Rerun to get cross-references right}%
+ \fi
}
- }
+ {%
+ \if@tempswa
+ \@latex@warning@no@line{Label(s) may have changed.
+ Rerun to get cross-references right}%
+ \else
+% \end{macrocode}
+% No duplicate labels, so safe to create images.
+% \begin{macrocode}
+ \immediate\write\LWR@lateximagesfile{%
+ |end|end|end|%
+ }%
+ \fi
+ }
+ {}
+ {
+ \AtEndDocument{
+ \PackageWarningNoLine{lwarp}
+ {%
+ Could not patch \protect\enddocument.\MessageBreak
+ If labels have changed, be sure to recompile before\MessageBreak
+ creating lateximages with\MessageBreak
+ \space\space lwarpmk limages,\MessageBreak
+ or the images may be corrupt%
+ }
+ }
+ }
+}% older kernel
% \end{macrocode}
% \end{macro}
+
+% \section{Nullifying foreground \Slash background hooks}
+%
+% See \cmds{texdoc lthooks-doc} and \cmds{textdoc ltshipout-doc}.
+%
+% \changes{v0.89}{2020/07/28}{Foreground/background hooks: Adapt to \LaTeX\ core changes.}
+% \begin{macrocode}
+\ifdef{\RemoveFromHook}{
+ \AfterEndPreamble{
+ \IfHookEmptyTF{shipout/background}{}{
+ \PackageInfo{lwarp}{Removing background hook}
+ \RemoveFromHook{shipout/background}[*]
+ }
+ \IfHookEmptyTF{shipout/foreground}{}{
+ \PackageInfo{lwarp}{Removing foreground hook}
+ \RemoveFromHook{shipout/foreground}[*]
+ }
+ }
+}{}
+% \end{macrocode}
+
+
+
% \begin{macrocode}
\end{warpHTML}
% \end{macrocode}
@@ -25010,24 +27159,27 @@ end -- not --version
%
% \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@stoppars\@thanks\LWR@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@stoppars\@thanks\LWR@startpars}
+\end{warpHTML}
+% \end{macrocode}
+% \end{macro}
% \subsection{Printing the title, etc.\ in \HTML}
@@ -25250,12 +27402,22 @@ end -- not --version
% 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@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@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@formatted{@fnsymbol}
% \end{macrocode}
% \end{macro}
%
@@ -25450,10 +27612,16 @@ end -- not --version
}%
}% 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 @@ end -- not --version
% \begin{macrocode}
\DeclareDocumentEnvironment{abstract}{O{\abstractname}}
{
-\LWR@forcenewpage
-\BlockClass{abstract}
-\BlockClassSingle{abstracttitle}{#1}
+ \LWR@forcenewpage
+ \BlockClass{abstract}
+ \BlockClassSingle{abstracttitle}{#1}
}
{
-\endBlockClass
+ \endBlockClass
}
% \end{macrocode}
% \end{environment}
@@ -25523,31 +27691,34 @@ end -- not --version
% 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@HTML@attribution}[1]{%
\LWR@stoppars%
\begin{BlockClass}{attribution}
#1
\end{BlockClass}
\LWR@startpars%
}
+\LWR@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 -- not --version
% \end{macrocode}
%
% \begin{environment}{quote}
+% \changes{v0.84}{2020/04/14}{Added print mode.}
% \begin{macrocode}
-\renewenvironment*{quote}
+\newenvironment*{LWR@HTML@quote}
{
\LWR@forcenewpage
\LWR@htmlblocktag{blockquote}
}
{\LWR@htmlblocktag{/blockquote}}
+
+\LWR@formattedenv{quote}
% \end{macrocode}
% \end{environment}
%
-% \changes{v0.71}{2019/04/27}{Fix: \env{blockquotation} tag.}
% \begin{environment}{quotation}
+% \changes{v0.71}{2019/04/27}{Fix: \env{blockquotation} tag.}
+% \changes{v0.84}{2020/04/14}{Added print mode.}
% \begin{macrocode}
-\renewenvironment*{quotation}
+\newenvironment*{LWR@HTML@quotation}
{
\LWR@forcenewpage
\LWR@htmlblocktag{blockquote}
}
{\LWR@htmlblocktag{/blockquote}}
+
+\LWR@formattedenv{quotation}
% \end{macrocode}
% \end{environment}
@@ -25599,8 +27776,9 @@ end -- not --version
%
% \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@HTML@verse}
{\let\\\newline% lwarp
\list{}{\itemsep \z@
\itemindent -1.5em%
@@ -25609,6 +27787,8 @@ end -- not --version
\advance\leftmargin 1.5em}%
\item\relax}
{\endlist}
+
+\LWR@formattedenv{verse}
% \end{macrocode}
% \end{environment}
%
@@ -25666,6 +27846,7 @@ end -- not --version
% \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 -- not --version
% \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@orig@verb@egroup\verb@egroup
+
+\def\LWR@verb@egroup@endspan{%
+ \LWR@orig@verb@egroup%
+ \LWR@htmltag{/span}%
+ \endgroup%
+}
+% \end{macrocode}
+%
+% \changes{v0.895}{2021/01/14}{Improved \HTML\ quotes.}
+% \begin{macrocode}
+\xpretocmd{\verb}
+ {%
+ \begingroup%
+ \LWR@htmltag{span class=\textquotedbl{}texttt\textquotedbl}%
+ \let\verb@egroup\LWR@verb@egroup@endspan%
+ }
+ {}
+ {\LWR@patcherror{LaTeX}{verb}}
+% \end{macrocode}
+% \end{macro}
+
+
% \begin{macro}{\LWR@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 @@ end -- not --version
% \changes{v0.51}{2018/03/17}{Adds vertical offset.}
% \changes{v0.63}{2018/11/24}{Fix for \pkg{xeCJK}.}
% \begin{macrocode}
-\newcommand*{\LWR@atbeginverbatim}[3][]
+\newcommand*{\LWR@atbeginverbatim}[2][]
{%
% \end{macrocode}
-% Avoid excessive space between lines:
-% \begin{macrocode}
-\setlength{\parskip}{0ex}%
-% \end{macrocode}
% Stop generating \HTML\ paragraph tags:
% \begin{macrocode}
\LWR@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}
% 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@verbtags}{%
- \LWR@htmltag{pre class=\textquotedbl#3\textquotedbl%
+ \LWR@htmltag{pre class=\textquotedbl#2\textquotedbl%
\ifthenelse{\equal{#1}{}}{}{ style=\textquotedbl#1\textquotedbl}%
}%
- \LWR@orignewline% pre
- \leavevmode\unskip\LWR@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 -- not --version
% \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@print@normalsize%
+\LWR@print@normalfont%
\LWR@origttfamily%
-\LWR@print@small%
+\LWR@print@scriptsize%
% \end{macrocode}
% Since inside a \element{pre}, restore the original list processing:
% \begin{macrocode}
@@ -25745,7 +27959,7 @@ end -- not --version
% \end{macrocode}
% Turn off \pkg{babel-french} extra space before punctuation:
% \begin{macrocode}
-\LWR@FBcancel%
+\LWR@hook@processingtags%
% \end{macrocode}
% Do not produce \HTML\ tags for \cs{hspace} inside a verse |par|.
% Restore plain \LaTeX{} \cs{hspace} functionality:
@@ -25757,20 +27971,18 @@ end -- not --version
% \begin{macro}{\LWR@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@afterendverbatim}[1]{%
+\newcommand*{\LWR@afterendverbatim}{%
\endgroup%
\par%
% \end{macrocode}
% At the end of the environment, close the |pre|:
% \begin{macrocode}
\ifbool{LWR@verbtags}{%
- \LWR@print@vspace*{-#1\baselineskip}%
- \noindent\LWR@htmltag{/pre}\LWR@orignewline% pre
+ \noindent\LWR@htmltag{/pre}\par% pre
}{}%
% \end{macrocode}
% Resume regular paragraph handling:
@@ -25786,15 +27998,16 @@ end -- not --version
%
% Patch \cs{verbatiminput} to add \HTML\ tags:
%
+% \changes{v0.84}{2020/04/16}{Added print mode.}
% \begin{macrocode}
-\let\LWRV@origverbatim@input\verbatim@input
-
-\renewcommand{\verbatim@input}[2]{%
-\ifbool{LWR@verbtags}{\LWR@forcenewpage}{}%
-\LWR@atbeginverbatim{2.5}{Verbatim}%
-\LWRV@origverbatim@input{#1}{#2}%
-\LWR@afterendverbatim{1.5}%
+\newcommand{\LWR@HTML@verbatim@input}[2]{%
+ \ifbool{LWR@verbtags}{\LWR@forcenewpage}{}%
+ \LWR@atbeginverbatim{Verbatim}%
+ \LWR@print@verbatim@input{#1}{#2}%
+ \LWR@afterendverbatim%
}
+
+\LWR@formatted{verbatim@input}
% \end{macrocode}
% \end{macro}
@@ -25803,16 +28016,25 @@ end -- not --version
% \begin{environment}{verbatim}
%
% \changes{v0.20}{2016/12/24}{Added.}
+% \changes{v0.84}{2020/04/16}{Added print mode.}
%
% \begin{macrocode}
\AfterEndPreamble{
\LWR@traceinfo{Patching verbatim.}
\AtBeginEnvironment{verbatim}{%
-\LWR@forcenewpage%
-\LWR@atbeginverbatim{2.5}{verbatim}%
+ \ifnumcomp{\value{LWR@lateximagedepth}}{>}{0}%
+ {}%
+ {%
+ \LWR@forcenewpage%
+ \LWR@atbeginverbatim{verbatim}%
+ }%
}
\AfterEndEnvironment{verbatim}{%
- \LWR@afterendverbatim{1}%
+ \ifnumcomp{\value{LWR@lateximagedepth}}{>}{0}%
+ {}%
+ {%
+ \LWR@afterendverbatim%
+ }%
}
}
% \end{macrocode}
@@ -25826,16 +28048,24 @@ end -- not --version
% \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@HTML@tabbing}{%
-\LWR@forcenewpage%
-\LWR@atbeginverbatim{3}{tabbing}%
-\LWR@print@tabbing%
+ \LWR@forcenewpage%
+ \LWR@atbeginverbatim{tabbing}%
+ \let\enskip\LWR@origenskip%
+ \let\quad\LWR@origquad%
+ \let\qquad\LWR@origqquad%
+ \let~\LWR@origtilde%
+ \let\,\LWR@origcomma%
+ \let\thinspace\LWR@origthinspace%
+ \let\negthinspace\LWR@orignegthinspace%
+ \LWR@print@tabbing%
}
\newcommand*{\LWR@HTML@endtabbing}{%
\LWR@print@endtabbing%
- \LWR@afterendverbatim{1}%
+ \LWR@afterendverbatim%
}
\LWR@formatted{tabbing}
@@ -25872,7 +28102,7 @@ end -- not --version
% \begin{macrocode}
\begin{warpHTML}
% \end{macrocode}
-
+%
% \begin{macro}{\@begintheorem} \marg{name} \marg{number}
% \begin{macrocode}
\renewcommand{\@begintheorem}[2]{%
@@ -25883,16 +28113,26 @@ end -- not --version
}
% \end{macrocode}
% \end{macro}
+%
+%
% \begin{macro}{\@opargbegintheorem} \marg{name} \marg{number} \marg{oparg}
+%
+% \LaTeX\ defines this, but \pkg{amsthm} \cs{relax}es it,
+% so it will not be defined if \pkg{amsthm} is loaded before \pkg{lwarp}.
+% \changes{v0.89}{2020/08/12}{Allow preload of \pkg{amsmath}, \pkg{amsthm}, \pkg{centernot}.}
% \begin{macrocode}
-\renewcommand{\@opargbegintheorem}[3]{%
-\LWR@forcenewpage
-\BlockClass{theoremcontents}
-\trivlist
-\item[\InlineClass{theoremlabel}{#1\ #2\ (#3)\ }]\itshape
+\ifundef{\@opargbegintheorem}{}{
+ \renewcommand{\@opargbegintheorem}[3]{%
+ \LWR@forcenewpage
+ \BlockClass{theoremcontents}
+ \trivlist
+ \item[\InlineClass{theoremlabel}{#1\ #2\ (#3)\ }]\itshape
+ }
}
% \end{macrocode}
% \end{macro}
+%
+%
% \begin{macro}{\@endtheorem}
% \begin{macrocode}
\renewcommand*{\@endtheorem}{%
@@ -25968,8 +28208,11 @@ end -- not --version
% \begin{macro}{\LWR@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@printopenlist}{ul style="\LWR@print@mbox{list-style-type:none}"}
+\newcommand*{\LWR@printopenlist}{%
+ ul style=\textquotedbl\LWR@print@mbox{list-style-type:none}\textquotedbl{}%
+}
% \end{macrocode}
% \end{macro}
@@ -26172,6 +28415,7 @@ end -- not --version
\LWR@nulllistfills%
}
% \end{macrocode}
+%
% \changes{v0.46}{2018/01/21}{Fix: Stack unnesting.}
% \begin{macrocode}
\newcommand*{\LWR@listend}{%
@@ -26205,10 +28449,13 @@ end -- not --version
% \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@itemizestart}{%
\renewcommand*{\LWR@printcloselist}{\LWR@printcloseitemize}
-\renewcommand*{\LWR@printopenlist}{ul style="\LWR@print@mbox{list-style-type:none}"}
+\renewcommand*{\LWR@printopenlist}{%
+ ul style=\textquotedbl\LWR@print@mbox{list-style-type:none}\textquotedbl{}%
+}
\let\item\LWR@itemizeitem%
\LWR@nulllistfills%
}
@@ -26223,10 +28470,13 @@ end -- not --version
% \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@enumeratestart}{%
\renewcommand*{\LWR@printcloselist}{\LWR@printcloseitemize}
-\renewcommand*{\LWR@printopenlist}{ul style="\LWR@print@mbox{list-style-type:none}"}
+\renewcommand*{\LWR@printopenlist}{%
+ ul style=\textquotedbl\LWR@print@mbox{list-style-type:none}\textquotedbl{}%
+}
\let\item\LWR@itemizeitem%
\LWR@nulllistfills%
}
@@ -26325,22 +28575,22 @@ end -- not --version
% \begin{macro}{\LWR@restoreoriglists} Restores the original \env{trivlist} environment.
% \begin{macrocode}
\newcommand*{\LWR@restoreoriglists}{%
-\LWR@traceinfo{LWR@restoreoriglists}%
-\LetLtxMacro\item\LWR@origitem%
-\LetLtxMacro\@item\LWR@orig@item%
-\let\@trivlist\LWR@orig@trivlist%
-\let\trivlist\LWR@origtrivlist%
-\let\endtrivlist\LWR@origendtrivlist%
-\LetLtxMacro\itemize\LWR@origitemize%
-\LetLtxMacro\enditemize\LWR@endorigitemize%
-\LetLtxMacro\enumerate\LWR@origenumerate%
-\LetLtxMacro\endenumerate\LWR@endorigenumerate%
-\LetLtxMacro\description\LWR@origdescription%
-\LetLtxMacro\enddescription\LWR@endorigdescription%
-\let\@mklab\LWR@orig@mklab%
-\let\makelabel\LWR@origmakelabel%
-\let\@donoparitem\LWR@orig@donoparitem%
-\let\@nbitem\LWR@orig@nbitem%
+ \LWR@traceinfo{LWR@restoreoriglists}%
+ \LetLtxMacro\item\LWR@origitem%
+ \LetLtxMacro\@item\LWR@orig@item%
+ \let\@trivlist\LWR@orig@trivlist%
+ \let\trivlist\LWR@origtrivlist%
+ \let\endtrivlist\LWR@origendtrivlist%
+ \LetLtxMacro\itemize\LWR@origitemize%
+ \LetLtxMacro\enditemize\LWR@endorigitemize%
+ \LetLtxMacro\enumerate\LWR@origenumerate%
+ \LetLtxMacro\endenumerate\LWR@endorigenumerate%
+ \LetLtxMacro\description\LWR@origdescription%
+ \LetLtxMacro\enddescription\LWR@endorigdescription%
+ \let\@mklab\LWR@orig@mklab%
+ \let\makelabel\LWR@origmakelabel%
+ \let\@donoparitem\LWR@orig@donoparitem%
+ \let\@nbitem\LWR@orig@nbitem%
}
% \end{macrocode}
% \end{macro}
@@ -26726,7 +28976,7 @@ end -- not --version
% \subsubsection{Longtable variables}
% \DescribeBoolean{LWR@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@starredlongtable}
@@ -27960,6 +30210,7 @@ end -- not --version
\booltrue{LWR@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@intabularmetadata}%
\ifboolexpr{%
@@ -27967,19 +30218,19 @@ end -- not --version
test{\ifnumcomp{\value{LWR@hdashedlines}}{>}{0}}%
}%
{%
- \LWR@htmltag{tr class="hline" }%
+ \LWR@htmltag{tr class=\textquotedbl{}hline\textquotedbl }%
\LWR@orignewline%
}%
{% not doing hline
\ifbool{LWR@doingtbrule}%
{%
\ifdefvoid{\LWR@ruleHTMLcolor}{%
- \LWR@htmltag{tr class="tbrule"}%
+ \LWR@htmltag{tr class=\textquotedbl{}tbrule\textquotedbl}%
}{%
\LWR@htmltag{%
- tr class="tbrule" % space
- style="border-top: 1px solid % space
- \LWR@origpound\LWR@ruleHTMLcolor "%
+ tr class=\textquotedbl{}tbrule\textquotedbl\ % space
+ style=\textquotedbl{}border-top: 1px solid % space
+ \LWR@origpound\LWR@ruleHTMLcolor \textquotedbl{}%
}%
}%
\LWR@orignewline%
@@ -28030,15 +30281,16 @@ end -- not --version
\LWR@traceinfo{atbang: #2 !\LWR@atbangspec!}%
% \end{macrocode}
% Only generate if is not empty;
+% \changes{v0.895}{2021/01/14}{Improved \HTML\ quotes.}
% \begin{macrocode}
\ifdefempty{\LWR@atbangspec}%
{}%
{% not empty
\LWR@htmltag{%
- td class="td#1%
+ td class=\textquotedbl{}td#1%
\LWR@subaddcmidruletrim{}{}%
\LWR@printbartag{#2}%
- "%
+ \textquotedbl{}%
\LWR@tdstartstyles%
\LWR@addcmidrulewidth%
\LWR@addcdashline%
@@ -28130,13 +30382,14 @@ end -- not --version
\LWR@getexparray{LWR@tablecolspec}{\arabic{LWR@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@traceinfo{LWR@tabledatasinglecolumntag: about to print td tag}%
\LWR@htmltag{%
- td class="td%
+ td class=\textquotedbl{}td%
% \end{macrocode}
-% append this column's spec:
+% Append this column's spec:
% \begin{macrocode}
\LWR@strresult%
% \end{macrocode}
@@ -28146,7 +30399,7 @@ end -- not --version
\LWR@addcmidruletrim%
\LWR@addleftmostbartag%
\LWR@printbartag{\arabic{LWR@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 @@ end -- not --version
-% Used to compute margins, tabular trims, column offsets:
-% \begin{macrocode}
-\newlength{\LWR@templengthone}
-\newlength{\LWR@templengthtwo}
-\newlength{\LWR@templengththree}
-\newcounter{LWR@tempcountone}
-% \end{macrocode}
-
-
% \begin{macro}{\LWR@tdstartstyles}
% Begins possibly adding a table data cell style.
% \begin{macrocode}
@@ -28403,11 +30647,12 @@ end -- not --version
% \begin{macro}{\LWR@tdaddstyle}
% Starts adding a table data cell style.
+% \changes{v0.895}{2021/01/14}{Improved \HTML\ quotes.}
% \begin{macrocode}
\newcommand*{\LWR@tdaddstyle}{%
\ifbool{LWR@tdhavecellstyle}%
{; }%
- { style="}%
+ { style=\textquotedbl}%
\booltrue{LWR@tdhavecellstyle}%
}
% \end{macrocode}
@@ -28416,11 +30661,12 @@ end -- not --version
% \begin{macro}{\LWR@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@tdendstyles}{%
\ifbool{LWR@tdhavecellstyle}%
{%
- "%
+ \textquotedbl%
\boolfalse{LWR@tdhavecellstyle}%
}{}%
}
@@ -28778,11 +31024,14 @@ end -- not --version
% \begin{macro}{\LWR@subaddtabularcellcolor} \marg{\HTML\ color}
+% \changes{v0.895}{2021/01/14}{Improved \HTML\ quotes.}
% \begin{macrocode}
\newcommand*{\LWR@subaddtabularcellcolor}[1]{%
- \LWR@htmltag{div class="cellcolor" style="%
+ \LWR@htmltag{div class=\textquotedbl{}cellcolor\textquotedbl\ % space
+ style=\textquotedbl{}%
background:\LWR@origpound{}{}#1 %
- " }%
+ \textquotedbl\ %
+ }% space
\defaddtocounter{LWR@cellcolordepth}{1}%
}
% \end{macrocode}
@@ -29140,29 +31389,22 @@ end -- not --version
\LWR@maybenewtablerow%
% \end{macrocode}
% Begin the opening table data tag:
+% \changes{v0.895}{2021/01/14}{Improved \HTML\ quotes.}
% \begin{macrocode}
\LWR@htmltag{%
- td colspan="#4" %
+ td colspan=\textquotedbl#4\textquotedbl\ %
% \end{macrocode}
%
% \begin{macrocode}
\IfValueT{#2}{ % rows?
- rowspan="#2" %
-% \end{macrocode}
-%
-% \changes{v0.47}{2018/01/26}{Fix: Line wrap at \HTML\ hyphen.}
-% \begin{macrocode}
- \IfValueT{#1}{% vpos?
- \ifstrequal{#1}{b}%
- {style="\LWR@print@mbox{vertical-align:bottom}" }{}%
- \ifstrequal{#1}{t}%
- {style="\LWR@print@mbox{vertical-align:top}" }{}%
- }% vpos?
- }% rows?
+ rowspan=\textquotedbl#2\textquotedbl\ %
+ }%
% \end{macrocode}
%
+% \changes{v0.84}{2020/04/16}{Fix: Multicolumn style.}
+% \changes{v0.895}{2021/01/14}{Improved \HTML\ quotes.}
% \begin{macrocode}
- class="td%
+ class=\textquotedbl{}td%
% \end{macrocode}
% Print the column type and vertical bars:
% \begin{macrocode}
@@ -29206,17 +31448,38 @@ end -- not --version
{ 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@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@tdaddstyle%
+ \LWR@print@mbox{vertical-align:bottom}%
+ }{}%
+ \ifstrequal{#1}{t}%
+ {%
+ \LWR@tdaddstyle%
+ \LWR@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@addtabularrowcolor%
% \end{macrocode}
+% Other styles:
% \begin{macrocode}
\LWR@addcmidrulewidth%
\LWR@addcdashline%
@@ -30019,7 +32282,7 @@ end -- not --version
% \begin{macro}{\LWR@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 @@ end -- not --version
% a warning is issued here instructing the user to please isolate the \element{span}
% to print-only.
% \begin{macrocode}
- \ifnumcomp{\value{LWR@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@spanwarnformat{tabular}%
\addtocounter{LWR@tabulardepth}{1}%
% \end{macrocode}
% Not yet started a table row:
@@ -30345,7 +32599,7 @@ end -- not --version
% \begin{macrocode}
\ifbool{LWR@usedmultirow}{%
\ifbool{LWR@foundmrowcell}%
- {}%
+ {\relax}%
{%
\PackageError{lwarp}%
{%
@@ -30431,6 +32685,8 @@ end -- not --version
% \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@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 @@ end -- not --version
% 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 -- not --version
% \end{macro}
%
%
-% \begin{macro}{\LWR@lwarplabel} \marg{label}
+% \begin{macro}{\LWR@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@lwarplabel}[1]{%
- \LWR@traceinfo{LWR@lwarplabel !#1!}%
+\newcommand*{\LWR@write@lwarplabel}[1]{%
+ \LWR@traceinfo{LWR@write@lwarplabel !#1!}%
\LWR@setlatestname{\@currentlabelname}%
\@bsphack%
\protected@write\@auxout{}%
@@ -30647,14 +32904,63 @@ end -- not --version
% \label{sec:labels}
-% \begin{macro}{\LWR@sublabel} \marg{label} \quad
+% \begin{macro}{\LWR@label@subcreatetag} Creates the tag from \cs{LWR@sanitized}.
+% \changes{v0.895}{2021/01/14}{Improved \HTML\ quotes.}
+% \begin{macrocode}
+\newcommand*{\LWR@label@subcreatetag}{%
+ \LWR@htmltag{a \LWR@print@mbox{id=\textquotedbl\LWR@sanitized\textquotedbl}}%
+ \LWR@htmltag{/a}%
+}
+% \end{macrocode}
+% \end{macro}
+
+
+% \begin{macro}{\LWR@label@inmathcomment}
+% \changes{v0.86}{2020/05/11}{Fix: Labels in \env{eqnarray}.}
+% \begin{macrocode}
+\newcommand*{\LWR@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@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@htmlclosecomment%
+ \LWR@label@subcreatetag%
+ \LWR@htmlopencomment%
+ }% mbox
+ }% mathjax
+ {%
+ \LWR@label@subcreatetag%
+ }%
+}
+% \end{macrocode}
+% \end{macro}
+
+
+
+% \begin{macro}{\LWR@label@createtag} \marg{label} \quad
% Creates an \HTML\ id tag.
%
+% Used by \cs{LWR@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@sublabel}[1]{%
- \LWR@traceinfo{LWR@sublabel !#1!}%
+\newcommand*{\LWR@label@createtag}[1]{%
+ \LWR@traceinfo{LWR@label@createtag !#1!}%
% \end{macrocode}
% Create an \HTML\ id tag unless are inside a lateximage,
% since it would appear in the image:
@@ -30663,59 +32969,63 @@ end -- not --version
{}%
{% 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@sanitize{#1}%
- \ifbool{LWR@doingstartpars}%
- {% pars allowed
- \ifbool{LWR@doingapar}%
- {% par started
- \LWR@htmltag{a \LWR@print@mbox{id="\LWR@sanitized"}}%
- \LWR@htmltag{/a}%
- }% par started
- {% par not started
- \LWR@stoppars%
- \LWR@htmltag{a \LWR@print@mbox{id="\LWR@sanitized"}}%
- \LWR@htmltag{/a}%
- \LWR@startpars%
- }% par not started
- }% pars allowed
- {% pars not allowed
- \LWR@htmltag{a \LWR@print@mbox{id="\LWR@sanitized"}}%
- \LWR@htmltag{/a}%
- }% pars not allowed
+ \ifbool{LWR@insidemathcomment}%
+ {% inside HTML math comment
+ \LWR@label@inmathcomment%
+ }% inside HTML math comment
+ {% not inside HTML math comment
+ \ifbool{LWR@doingstartpars}%
+ {% pars allowed
+ \ifbool{LWR@doingapar}%
+ {% par started
+ \LWR@label@subcreatetag%
+ }% par started
+ {% par not started
+ \LWR@stoppars%
+ \LWR@label@subcreatetag%
+ \LWR@startpars%
+ }% par not started
+ }% pars allowed
+ {% pars not allowed
+ \LWR@label@subcreatetag%
+ }% pars not allowed
+ }% not inside HTML math comment
}% not lateximage
}
% \end{macrocode}
% \end{macro}
%
%
-% \begin{macro}{\LWR@new@label} \parg{bookmark} \marg{label} \oarg{type}
+% \begin{macro}{\LWR@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@sublabel} does not
+% the special label handling is required, but \cs{LWR@label@createtag} does not
% generate \HTML\ tags inside a \env{lateximage}.
%
-% \pkg{clevereref} later encases this to add its own cross-referencing.
-%
-% The optional \meta{bookmark} is per the \pkg{memoir} class, and is ignored.
+% If \pkg{memoir} is used, it's \cs{@mem@old@label} is pointed here.
%
-% The optional \meta{type} is per the \pkg{ntheorem} package, and is ignored.
+% \pkg{clevereref} later encases this to add its own cross-referencing,
+% and also patches \pkg{memoir}.
%
+% \changes{v0.84}{2020/04/05}{Removed optional args.}
% \begin{macrocode}
-\NewDocumentCommand{\LWR@new@label}{d() m o}{%
+\NewDocumentCommand{\LWR@new@label}{m}{%
\LWR@traceinfo{LWR@new@label: starting}%
- \LWR@traceinfo{LWR@new@label: !#2!}%
+ \LWR@traceinfo{LWR@new@label: !#1!}%
% \@bsphack%
% \end{macrocode}
% Create a traditional \LaTeX\ label, as modified by \pkg{cleveref}:
% \begin{macrocode}
- \LWR@orig@label{#2}%
+ \LWR@orig@label{#1}%
% \end{macrocode}
% Create a special label which holds the section number,
% |LWR@htmlfilenumber|, |LWR@lateximagedepth|, and |LWR@lateximagenumber|:
@@ -30730,8 +33040,8 @@ end -- not --version
\LWR@traceinfo{%
LWR@new@label: LWR@htmlfilenumber is \arabic{LWR@htmlfilenumber}%
}%
- \LWR@lwarplabel{#2}%
- \LWR@sublabel{#2}%
+ \LWR@write@lwarplabel{#1}%
+ \LWR@label@createtag{#1}%
% \@esphack%
\LWR@traceinfo{LWR@new@label: done}%
}
@@ -30746,10 +33056,11 @@ end -- not --version
% \begin{macro}{\LWR@addlinktitle}
% \changes{v0.74}{2019/08/25}{Added.}
+% \changes{v0.895}{2021/01/14}{Improved \HTML\ quotes.}
% \begin{macrocode}
\newcommand*{\LWR@addlinktitle}{%
\ifdefvoid{\LWR@ThisAltText}{}{ % space
- title="\LWR@ThisAltText" % space
+ title=\textquotedbl\LWR@ThisAltText\textquotedbl\ % space
\gdef\LWR@ThisAltText{}%
}%
}
@@ -30773,8 +33084,9 @@ end -- not --version
\LWR@traceinfo{LWR@startref A: !#1!}%
% \end{macrocode}
% Create the filename part of the link:
+% \changes{v0.895}{2021/01/14}{Improved \HTML\ quotes.}
% \begin{macrocode}
- \LWR@htmltag{a href="%
+ \LWR@htmltag{a href=\textquotedbl%
\LWR@traceinfo{LWR@startref B}%
\LWR@print@mbox{\LWR@htmlrefsectionfilename{#1}}%
\LWR@traceinfo{LWR@startref C}%
@@ -30802,7 +33114,10 @@ end -- not --version
{%
\ifthenelse{\cnttest{\LWR@lateximagedepthref{#1}}{>}{0}}%
{%
- \LWR@ImagesName\LWR@lateximagenumberref{#1}%
+% \end{macrocode}
+% \changes{v0.86}{2020/05/11}{Fixed: \cs{label} inside \env{lateximage}.}
+% \begin{macrocode}
+ lateximage-\BaseJobname-\LWR@lateximagenumberref{#1}%
}%
{%
\LWR@traceinfo{LWR@startref D3}%
@@ -30816,8 +33131,9 @@ end -- not --version
\LWR@traceinfo{LWR@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 @@ end -- not --version
% 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@absorbstar{ref}%
+% \end{macrocode}
+%
+% The \HTML\ version:
% \changes{v0.58}{2018/06/07}{Improved print/\HTML\ output selection.}
% \begin{macrocode}
\NewDocumentCommand{\LWR@HTML@ref}{s m}{%
@@ -30863,22 +33189,18 @@ end -- not --version
\LWR@formatted{ref}
% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\LWR@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}.}
+% For \brand{MathJax}:
+% \changes{v0.88}{2020/07/05}{Added \brand{MathJax}.}
% \begin{macrocode}
-\NewDocumentCommand{\LWR@ref@ignorestar}{s m}{%
- \LWR@print@ref{#2}%
-}
+\CustomizeMathJax{\let\LWRref\ref}
+\CustomizeMathJax{\renewcommand{\ref}{\ifstar\LWRref\LWRref}}
% \end{macrocode}
% \end{macro}
-
-
-
+% \end{macro}
+%
+%
+%
% \label{sec:pagerefpagefor}
% \begin{macro}{\pagerefPageFor} Text for page references.
%
@@ -30957,13 +33279,10 @@ end -- not --version
% 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@currentautosec%
-}
-
+ \def\@currentHref{\BaseJobname-autopage-\theLWR@currentautosec}
}
% \end{macrocode}
% \end{macro}
@@ -30983,7 +33302,7 @@ end -- not --version
% For \pkg{babel-french}:
% \changes{v0.78}{2019/10/29}{\pkg{babel-french}: Fix: Hyperlinks.}
% \begin{macrocode}
- \LWR@FBcancel%
+ \LWR@hook@processingtags%
}
% \end{macrocode}
% \end{macro}
@@ -31004,7 +33323,7 @@ end -- not --version
% For \pkg{babel-french}:
% \changes{v0.78}{2019/10/29}{\pkg{babel-french}: Fix: Hyperlinks.}
% \begin{macrocode}
- \LWR@FBcancel%
+ \LWR@hook@processingtags%
}
% \end{macrocode}
% \end{macro}
@@ -31019,14 +33338,15 @@ end -- not --version
% \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@subhyperref}{m}{%
\LWR@traceinfo{LWR@subhyperref !#1!}%
\LWR@sanitize{#1}%
\LWR@htmltag{%
- a href="\LWR@sanitized" % space
+ a href=\textquotedbl\LWR@sanitized\textquotedbl\ % space
\LWR@addlinktitle % space
- target="\_{}blank" % space
+ target=\textquotedbl\_{}blank\textquotedbl\ % space
}%
}
% \end{macrocode}
@@ -31053,12 +33373,13 @@ end -- not --version
% \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@subhyperrefclass}{m +m m}{%
\LWR@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@addlinktitle % space
}\LWR@orignewline%
#2%
@@ -31070,7 +33391,7 @@ end -- not --version
-% \begin{macro}{\href} \oarg{options} \marg{URL}
+% \begin{macro}{\LWR@href} \oarg{options} \marg{URL}
%
% Create a link with accompanying text:
%
@@ -31078,6 +33399,7 @@ end -- not --version
% \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@hrefb}{O{} m}{%
\LWR@ensuredoingapar%
@@ -31086,7 +33408,7 @@ end -- not --version
\LWR@subhyperreftext%
}
-\newrobustcmd*{\href}{%
+\newrobustcmd*{\LWR@href}{%
\begingroup%
\LWR@linkcatcodes%
\LWR@hrefb%
@@ -31094,12 +33416,13 @@ end -- not --version
% \end{macrocode}
% \end{macro}
-% \begin{macro}{\nolinkurl} \marg{URL}
+% \begin{macro}{\LWR@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@nolinkurlb}[1]{%
\LWR@ensuredoingapar%
@@ -31109,7 +33432,7 @@ end -- not --version
\endgroup%
}
-\newrobustcmd*{\nolinkurl}{%
+\newrobustcmd*{\LWR@nolinkurl}{%
\begingroup%
\LWR@linkcatcodes%
\LWR@nolinkurlb%
@@ -31118,7 +33441,7 @@ end -- not --version
% \end{macro}
-% \begin{macro}{\url} \marg{URL}
+% \begin{macro}{\LWR@url} \marg{URL}
%
% Create a link whose text name is the address of the link.
%
@@ -31129,16 +33452,17 @@ end -- not --version
% \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@urlb}{m}{%
\LWR@ensuredoingapar%
\def\LWR@templink{#1}%
\@onelevel@sanitize\LWR@templink%
- \href{\LWR@templink}{\LWR@templink}%
+ \LWR@href{\LWR@templink}{\LWR@templink}%
\endgroup%
}
-\newrobustcmd*{\url}{%
+\newrobustcmd*{\LWR@url}{%
\begingroup%
\LWR@linkcatcodes%
\LWR@urlb%
@@ -31155,23 +33479,24 @@ end -- not --version
% \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@subinlineimage}[5]{%
\ifblank{#1}%
{%
\LWR@htmltag{img \LWR@indentHTML
- src="#3.#4" \LWR@indentHTML
- alt="#3" \LWR@indentHTML
- style="#5" \LWR@indentHTML
- class="#2" \LWR@orignewline
+ src=\textquotedbl#3.#4\textquotedbl \LWR@indentHTML
+ alt=\textquotedbl#3\textquotedbl \LWR@indentHTML
+ style=\textquotedbl#5\textquotedbl \LWR@indentHTML
+ class=\textquotedbl#2\textquotedbl \LWR@orignewline
}%
}%
{%
\LWR@htmltag{img \LWR@indentHTML
- src="#3.#4" \LWR@indentHTML
- alt="#1" \LWR@indentHTML
- style="#5" \LWR@indentHTML
- class="#2" \LWR@orignewline
+ src=\textquotedbl#3.#4\textquotedbl \LWR@indentHTML
+ alt=\textquotedbl#1\textquotedbl \LWR@indentHTML
+ style=\textquotedbl#5\textquotedbl \LWR@indentHTML
+ class=\textquotedbl#2\textquotedbl \LWR@orignewline
}%
}%
}
@@ -31225,11 +33550,10 @@ end -- not --version
% \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}
@@ -31244,6 +33568,13 @@ end -- not --version
%
% \begin{macrocode}
\NewDocumentCommand{\LWR@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@spanwarninvalid{float}%
+% \end{macrocode}
+% \begin{macrocode}
\ifbool{FormatWP}{\newline}{}%
\LWR@stoppars%
% \end{macrocode}
@@ -31268,10 +33599,13 @@ end -- not --version
% \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@htmltag{%
- figure id="\LWR@print@mbox{autoid-\arabic{LWR@thisautoid}}" % space
- class="#1 \@nameuse{LWR@floatstyle@#1}"%
+ figure id=\textquotedbl%
+ \LWR@print@mbox{autoid-\arabic{LWR@thisautoid}}%
+ \textquotedbl\ % space
+ class=\textquotedbl#1 \@nameuse{LWR@floatstyle@#1}\textquotedbl%
}%
\ifbool{FormatWP}{%
\LWR@orignewline%
@@ -31281,7 +33615,6 @@ end -- not --version
% Update the caption type:
% \begin{macrocode}
\renewcommand*{\@captype}{#1}%
- \caption@settype{#1}%
% \end{macrocode}
% Mark the float for a word processor conversion:
% \begin{macrocode}
@@ -31292,11 +33625,9 @@ end -- not --version
}{}%
% \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@floatbegin}, look for \cs{centering}, etc next,
+% using \cs{LWR@floatalignment}.
% \begin{macrocode}
- \LWR@futurenonspacelet\LWR@mynexttoken\LWR@floatalignment%
}
% \end{macrocode}
% \end{macro}
@@ -31319,11 +33650,25 @@ end -- not --version
%
%
%
-% \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@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@floatbegin
-\let\@dblfloat\LWR@floatbegin
+\AtBeginDocument{
+ \def\@xfloat #1[#2]{%
+ \LWR@floatbegin{#1}[#2]
+ \LWR@futurenonspacelet\LWR@mynexttoken\LWR@floatalignment%
+ }
+ \def\@xdblfloat #1[#2]{%
+ \LWR@floatbegin{#1}[#2]
+ \LWR@futurenonspacelet\LWR@mynexttoken\LWR@floatalignment%
+ }
+}
% \end{macrocode}
% \end{macro}
% \end{macro}
@@ -31365,9 +33710,12 @@ end -- not --version
%
% \begin{macro}{\end@float}
% \begin{macro}{\end@dlbfloat} Support packages which create floats directly.
+% \changes{v0.84}{2020/04/19}{\pkg{caption} now optional.}
% \begin{macrocode}
-\let\end@float\LWR@floatend
-\let\end@dblfloat\LWR@floatend
+\AtBeginDocument{
+ \let\end@float\LWR@floatend
+ \let\end@dblfloat\LWR@floatend
+}
% \end{macrocode}
% \end{macro}
% \end{macro}
@@ -31402,11 +33750,27 @@ end -- not --version
% \begin{macro}{\LWR@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@forcenewautoidanchor}{%
\addtocounter{LWR@thisautoid}{1}%
- \LWR@htmltag{a id="\LWR@print@mbox{autoid-\arabic{LWR@thisautoid}}"}%
- \LWR@htmltag{/a}%
+ \ifbool{LWR@doingapar}%
+ {%
+ \LWR@htmltag{a id=\textquotedbl%
+ \LWR@print@mbox{autoid-\arabic{LWR@thisautoid}}%
+ \textquotedbl\ }% space
+ \LWR@htmltag{/a }%
+ }%
+ {%
+ \LWR@stoppars%
+ \LWR@htmltag{a id=\textquotedbl%
+ \LWR@print@mbox{autoid-\arabic{LWR@thisautoid}}%
+ \textquotedbl\ }% space
+ \LWR@htmltag{/a }%
+ \LWR@startpars%
+ }%
}
% \end{macrocode}
% \end{macro}
@@ -31479,34 +33843,66 @@ end -- not --version
% \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}{:~}}
% \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@traceinfo{@makecaption}%
- \LWR@isolate{#1}\CaptionSeparator\LWR@isolate{#2}%
- \LWR@traceinfo{@makecaption: done}%
-}%
+\AtBeginDocument{
+ \@ifpackageloaded{caption}{}{
+ \let\LWR@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@spanwarnformat{caption}%
+% \end{macrocode}
+% \begin{macrocode}
+ \LWR@setlatestname{#2}%
+ \LWR@orig@caption{#1}[{#2}]% also takes third argument
+ }%
+
+ \renewcommand{\@makecaption}[2]{%
+ \LWR@traceinfo{@makecaption}%
+ \caption@begin{\@captype}%
+ \LWR@isolate{#1}%
+ \edef\LWR@tempone{#1}%
+ \ifdefvoid{\LWR@tempone}{}{\CaptionSeparator}%
+ \LWR@isolate{#2}%
+ \caption@end%
+ \LWR@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@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 -- not --version
% \end{macrocode}
% \end{macro}
+
% \DescribeCounter{LWR@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 @@ end -- not --version
%
% 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@origcaption@begin}.}
% \changes{v0.58}{2018/06/07}{Improved print/\HTML\ output selection.}
@@ -31632,10 +34030,17 @@ end -- not --version
% 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@formatted{caption@begin}
-\LWR@formatted{caption@end}
+ \providecommand{\caption@begin}[1]{}
+ \LWR@formatted{caption@begin}
+
+ \providecommand{\caption@end}{}
+ \LWR@formatted{caption@end}
}
% \end{macrocode}
% \end{macro}
@@ -31646,28 +34051,37 @@ end -- not --version
% 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@origcaptionlistentry\captionlistentry
+\AtBeginDocument{%
+\@ifpackageloaded{caption}{
+ \let\LWR@origcaptionlistentry\captionlistentry
-\renewcommand*{\captionlistentry}{%
- \LWR@ensuredoingapar%
- \LWR@origcaptionlistentry%
-}
+ \renewcommand*{\captionlistentry}{%
+ \LWR@ensuredoingapar%
+ \LWR@origcaptionlistentry%
+ }
% \end{macrocode}
%
% \changes{v0.79}{2019/12/09}{Fix: Duplicate \attribute{auto-id}.}
% \begin{macrocode}
-\def\LWR@LTcaptionlistentry{%
- \LWR@ensuredoingapar%
- \LWR@forcenewautoidanchor%
- \bgroup
- \@ifstar{\egroup\LWR@LT@captionlistentry}% gobble *
- {\egroup\LWR@LT@captionlistentry}%
-}%
+ \def\LWR@LTcaptionlistentry{%
+ \LWR@ensuredoingapar%
+ \LWR@forcenewautoidanchor%
+ \bgroup%
+ \@ifstar{\egroup\LWR@LT@captionlistentry}% gobble *
+ {\egroup\LWR@LT@captionlistentry}%
+ }%
-\def\LWR@LT@captionlistentry#1{%
- \caption@listentry\@firstoftwo[\LTcaptype]{#1}%
-}%
+ \def\LWR@LT@captionlistentry#1{%
+ \caption@listentry\@firstoftwo[\LTcaptype]{#1}%
+ }%
+}% caption loaded
+{% caption not loaded
+ \newcommand{\captionlistentry}[2][]{}%
+ \newcommand{\LWR@LT@captionlistentry}[2][]{}%
+}
+}% AtBeginDocument
% \end{macrocode}
% \end{macro}
@@ -31715,16 +34129,17 @@ end -- not --version
%
% \begin{macro}{\captionof}
% Patched to handle paragraph tags.
+% \changes{v0.84}{2020/04/20}{\pkg{caption} now optional.}
% \begin{macrocode}
-\AtBeginDocument{
+\RequirePackage{capt-of}
-\let\LWR@origcaptionof\captionof
-
-\renewcommand*{\captionof}{%
- \LWR@stoppars%
- \LWR@origcaptionof%
-}
+\AtBeginDocument{
+ \let\LWR@origcaptionof\captionof
+ \renewcommand*{\captionof}{%
+ \LWR@stoppars%
+ \LWR@origcaptionof%
+ }
}% AtBeginDocument
% \end{macrocode}
% \end{macro}
@@ -31980,18 +34395,18 @@ end -- not --version
%
% 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.
% \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 @@ end -- not --version
\newcounter{SideTOCDepth}
\setcounter{SideTOCDepth}{1}
-\AtBeginDocument{%
+\AtEndDocument{%
\ifnumcomp{\value{SideTOCDepth}}{<}{\value{FileDepth}}{
\PackageWarningNoLine{lwarp}
{%
@@ -32123,7 +34538,8 @@ end -- not --version
% \end{macrocode}
% Respond to |tocdepth|:
% \begin{macrocode}
- \ifthenelse{\cnttest{#1}{<=}{\value{tocdepth}}}%
+ \ifnumcomp{#1}{>}{\value{tocdepth}}%
+ {}%
{%
\LWR@startpars%
% \end{macrocode}
@@ -32148,7 +34564,6 @@ end -- not --version
% \begin{macrocode}
\LWR@stoppars%
}%
- {}%
\LWR@traceinfo{hypertoc done}%
}
% \end{macrocode}
@@ -32186,7 +34601,6 @@ end -- not --version
%
% \begin{macrocode}
\newcommand{\hypertocfloat}[5]{%
- \LWR@startpars%
% \end{macrocode}
% If some float-creation package has not yet defined
% the float type's |lofdepth| counter, etc, define it here:
@@ -32343,6 +34757,17 @@ end -- not --version
% \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}
@@ -32399,15 +34824,76 @@ end -- not --version
% \end{macro}
-% \begin{macro}{\@wrindex} \marg{term} \qquad
+% \begin{macro}{\LWR@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@xindex@modifyentrysub}.
+%
+% \changes{v0.88}{2020/07/12}{Added support for \prog{xindex}.}
+% \begin{macrocode}
+\NewDocumentCommand{\LWR@xindex@modifyentry}{>{\SplitArgument{1}{|}}m}
+ {\LWR@xindex@modifyentrysub#1}
+% \end{macrocode}
+%
+% Handle left and right parenthesis range argument,
+% or add a |hyperindexformat| clause.
+% \begin{macrocode}
+\newcommand*{\LWR@xindex@modifyentrysub}[2]{%
+ \edef\LWR@tempone{#1}%
+ \edef\LWR@temptwo{#2}%
+ \IfValueTF{#2}{%
+ \ifx#2(%
+ \appto\LWR@tempone{|(}%
+ \else%
+ \ifx#2)%
+ \appto\LWR@tempone{|)}%
+ \else%
+ \appto\LWR@tempone{%
+ |hyperindexformat\LWRleftbrace%
+ \LWRbackslash#2%
+ \LWRrightbrace%
+ }%
+ \fi%
+ \fi%
+ }%
+ {}%
+}
+% \end{macrocode}
+% \end{macro}
+
+
+% \begin{macro}{\@wrindex} \marg{indexing term} \qquad
% Redefined to write the |LWR@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@xindex@tricked}
+\boolfalse{LWR@xindex@tricked}
+
\def\LWR@wrindex#1{%
+ \ifbool{LWR@xindex}{%
+ \ifbool{LWR@xindex@tricked}{}{%
+ \protected@write\@indexfile{}%
+ {%
+ \LWRpercent\space hyperpage\LWRrightbrace%
+ \LWRpercent\space trick xindex to assume hyperref%
+ }%
+ \global\booltrue{LWR@xindex@tricked}%
+ }%
+ \LWR@xindex@modifyentry{#1}%
+ }{%
+ \def\LWR@tempone{#1}%
+ }%
\addtocounter{LWR@autoindex}{1}%
- \LWR@new@label{LWRindex-\arabic{LWR@autoindex}}%
+ \label{LWRindex-\arabic{LWR@autoindex}}%
\protected@write\@indexfile{}%
- {\string\indexentry{#1}{\arabic{LWR@autoindex}}}%
+ {\string\indexentry{\LWR@tempone}{\arabic{LWR@autoindex}}}%
\endgroup%
\@esphack%
}
@@ -32434,27 +34920,198 @@ end -- not --version
% \end{macro}
+% \begin{macro}{\LWR@indexnameref@anonref} \marg{LWR@autoindex}
+%
+% Displays a reference link where there no \cs{ref} available.
+% \begin{macrocode}
+\newcommand*{\LWR@indexnameref@anonref}[1]{%
+ \LWR@startref{LWRindex-#1}%
+ (*)%
+ \LWR@htmltag{/a}%
+}
+% \end{macrocode}
+% \end{macro}
+
+% \begin{macro}{\LWR@indexnameref@ref} \marg{LWR@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@indexnameref@ref}[1]{%
+ \edef\LWR@thisref{\csuse{r@LWRindex-#1}}%
+ \ifdefvoid{\LWR@thisref}{}{%
+ \edef\LWR@thisref{\expandafter\@firstoftwo\LWR@thisref}%
+ \ifdefvoid{\LWR@thisref}%
+ {\LWR@indexnameref@anonref{#1}}%
+ {\ref{LWRindex-#1}}%
+ }%
+}
+% \end{macrocode}
+% \end{macro}
+
+
+% \begin{macro}{\LWR@indexnameref@refnameref} \marg{LWR@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@indexnameref@refnameref}[1]{%
+ \edef\LWR@thisref{\csuse{r@LWRindex-#1}}%
+ \ifdefvoid{\LWR@thisref}{}{%
+ \edef\LWR@thisref{\expandafter\@firstoftwo\LWR@thisref}%
+ \ifdefvoid{\LWR@thisref}{}{%
+ \ifdefstring{\LWR@thisref}{(*)}%
+ {}%
+ {\ref{LWRindex-#1} }% space
+ }%
+ }%
+ \nameref{LWRindex-#1}%
+}
+% \end{macrocode}
+% \end{macro}
+
+
+% \begin{macro}{\LWR@indexnameref@cref} \marg{LWR@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@indexnameref}
+% to become |(*)|, then the link is changed to show |(*)|.
+% \begin{macrocode}
+\newcommand*{\LWR@indexnameref@cref}[1]{%
+ \edef\LWR@thisref{\csuse{r@LWRindex-#1}}%
+ \ifdefvoid{\LWR@thisref}{%
+ \nameref{LWRindex-#1}%
+ }{%
+ \edef\LWR@thisref{\expandafter\@firstoftwo\LWR@thisref}%
+ \ifdefvoid{\LWR@thisref}{%
+ \nameref{LWRindex-#1}%
+ }{%
+ \ifdefstring{\LWR@thisref}{(*)}{%
+ \LWR@indexnameref@anonref{#1}%
+ }{%
+ \cref{LWRindex-#1}%
+ }%
+ }%
+ }%
+}
+% \end{macrocode}
+% \end{macro}
+
+
+% \begin{macro}{\LWR@indexnameref@crefnameref} \marg{LWR@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@indexnameref}
+% to become |(*)|, then the link is changed to show only the name.
+% \begin{macrocode}
+\newcommand*{\LWR@indexnameref@crefnameref}[1]{%
+ \edef\LWR@thisref{\csuse{r@LWRindex-#1}}%
+ \ifdefvoid{\LWR@thisref}%
+ {}%
+ {%
+ \edef\LWR@thisref{\expandafter\@firstoftwo\LWR@thisref}%
+ \ifdefvoid{\LWR@thisref}%
+ {}%
+ {%
+ \ifdefstring{\LWR@thisref}{(*)}%
+ {}%
+ {\cref{LWRindex-#1}} % space
+ }%
+ }%
+ \nameref{LWRindex-#1}%
+}
+% \end{macrocode}
+% \end{macro}
+
+
% \begin{macro}{\LWR@indexnameref} \marg{LWR@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@indexnameref}[1]{%
+ {% group
+% \end{macrocode}
+% Temporarily redefine \pkg{caption}'s \cs{caption@xref} because it was printing |??|
+% in the indexes, and also causing error on expansion:
% \begin{macrocode}
-\newcommand*{\LWR@indexnameref}[1]{\nameref{LWRindex-#1}}
+ \ifdef{\caption@xref}{%
+ \renewcommand*{\caption@xref}[2]{(*)}%
+ }{}%
+% \end{macrocode}
+% \begin{macrocode}
+ \ifdefstring{\LWR@IndexRef}{ref}{%
+ \LWR@indexnameref@ref{#1}%
+ }{%
+ \ifdefstring{\LWR@IndexRef}{nameref}{%
+ \nameref{LWRindex-#1}%
+ }{%
+ \ifdefstring{\LWR@IndexRef}{refnameref}{%
+ \LWR@indexnameref@refnameref{#1}%
+ }{%
+ \ifdefstring{\LWR@IndexRef}{cref}{%
+ \LWR@indexnameref@cref{#1}%
+ }{%
+ \ifdefstring{\LWR@IndexRef}{crefnameref}{%
+ \LWR@indexnameref@crefnameref{#1}%
+ }{%
+ \ifdefstring{\LWR@IndexRef}{autoref}{%
+ \LWR@indexnameref@cref{#1}%
+ }{% text string
+ \LWR@startref{LWRindex-#1}%
+ \LWR@IndexRef%
+ \LWR@htmltag{/a}%
+ }}}}}}%
+ }% group
+}
% \end{macrocode}
% \end{macro}
-% \begin{macro}{\LWR@doindexentry} \marg{LWR@autoindex, or macros.}
+% \begin{macro}{\LWR@doindexentrysubsub} \marg{range start: LWR@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@doindexentry}[1]{%
+\newrobustcmd{\LWR@doindexentrysubsub}[2]{%
\IfInteger{#1}%
{\LWR@indexnameref{#1}}%
{#1}%
+ \IfValueT{#2}{%
+ \IndexRangeSeparator%
+ \IfInteger{#2}%
+ {\LWR@indexnameref{#2}}%
+ {#2}%
+ }%
}
% \end{macrocode}
% \end{macro}
+%
+% \begin{macro}{\LWR@doindexentrysub}
+% \marg{range delimiter} \marg{LWR@autoindex or macros, possible a range}
+% \changes{v0.88}{2020/07/15}{Adapts to \pkg{gindex}.}
+% \begin{macrocode}
+\NewDocumentCommand{\LWR@doindexentrysub}{m >{\SplitArgument{1}{#1}}m}
+ {\LWR@doindexentrysubsub#2}
+% \end{macrocode}
+% \end{macro}
+
+% \begin{macro}{\LWR@doindexentry} \marg{LWR@autoindex or macros, possible a range}
+% \changes{v0.88}{2020/07/15}{Adapts to \pkg{gindex}.}
+% \begin{macrocode}
+\newcommand*{\LWR@doindexentry}[1]{%
+ \relax% required
+ \expandafter\LWR@doindexentrysub\expandafter{\IndexRangeSeparator}{#1}%
+}
+% \end{macrocode}
+% \end{macro}
+
% \begin{macro}{\LWR@hyperindexrefnullified}
@@ -32491,18 +35148,94 @@ end -- not --version
% \end{macro}
-% \begin{macro}{\hyperindexref} \marg{LWR@autoindex}
+% \begin{macro}{\hyperindexref} \marg{list of LWR@autoindex, commas, and ranges}
%
% |\hyperindexref{LWR@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@hyperindexrefsub}.
+%
+% \changes{v0.88}{2020/07/14}{Rewritten to parse commas and ranges.}
+% \begin{macrocode}
+\newcommand*{\hyperindexref}[1]{%
+ \relax% required
+ \expandafter\LWR@hyperindexref@comma\expandafter{\IndexPageSeparator}{#1}%
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\LWR@hyperindexref@comma} \marg{separator} \marg{list of args}
+%
+% The list is split at commas, and passed to \cs{LWR@hyperindexref@@comma}.
+% \begin{macrocode}
+\NewDocumentCommand{\LWR@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@hyperindexref@thiscomma{}%
+ \def\LWR@hyperindexref@nextcomma{#1}%
+% \end{macrocode}
+% Each comma-delimited entry is now passed individually to \cs{LWR@hyperindexref@@comma}.
+% \begin{macrocode}
+ \ProcessList{#2}\LWR@hyperindexref@@comma%
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\LWR@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@hyperindexref@@comma}[1]{%
+ \LWR@hyperindexref@thiscomma%
+ \renewcommand{\LWR@hyperindexref@thiscomma}{\LWR@hyperindexref@nextcomma}%
+ \expandafter\LWR@hyperindexref@range\expandafter{\IndexRangeSeparator}{#1}%
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\LWR@hyperindexref@range} \marg{range delimiter} \marg{arg}
+% \begin{macrocode}
+\NewDocumentCommand{\LWR@hyperindexref@range}
+ {m >{\SplitArgument{1}{#1}} m}
+ {\LWR@hyperindexrefsub#2}
+% \end{macrocode}
+% \end{macro}
+
+
+% \begin{macro}{\LWR@hyperindexrefsub}
+% \marg{range start: LWR@autoindex}
+% \marg{range end, or |-NoValue-|}
+%
+% Handles the start and end of a range, if applicable.
+% \begin{macrocode}
+\newcommand*{\LWR@hyperindexrefsub}[2]{%
+ \LWR@hyperindexrefsubtwo{#1}%
+ \IfValueT{#2}{%
+ \IndexRangeSeparator%
+ \LWR@hyperindexrefsubtwo{#2}%
+ }%
+}
+% \end{macrocode}
+% \end{macro}
+
+% \begin{macro}{\LWR@hyperindexrefsubtwo} \marg{LWR@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@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 @@ end -- not --version
% If the first character is a space, remove it first.
% ^^A Or use the trimspaces package.
% \begin{macrocode}
- \def\LWR@tempone{#1}%
+ \edef\LWR@tempone{#1}%
\IfBeginWith{\LWR@tempone}{ }{%
\StrGobbleLeft{\LWR@tempone}{1}[\LWR@tempone]%
}{}%
@@ -32532,6 +35265,31 @@ end -- not --version
% \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 @@ end -- not --version
%
%
% \section{Bibliography presentation}
+% ^^A *bibliography
%
% \codehtml
% \begin{macrocode}
@@ -32571,21 +35330,12 @@ end -- not --version
% \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@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 @@ end -- not --version
% \section{Restoring original formatting}
%
+% \codehtml
+% \begin{macrocode}
+\begin{warpHTML}
+% \end{macrocode}
+%
+%
+% \begin{macro}{\LWR@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@restoreMathJaxformatting}{}
+% \end{macrocode}
+% \end{macro}
+%
+%
% \begin{macro}{\LWR@restoreorigformatting}
% Used to temporarily restore
% the print-mode meaning of a number of formatting, graphics, and symbols-related
@@ -32669,11 +35437,6 @@ end -- not --version
% \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@restoreorigformatting}{%
\LWR@traceinfo{LWR@restoreorigformatting}%
@@ -32705,6 +35468,12 @@ end -- not --version
\let\thinspace\LWR@origthinspace% disable HTML short unbreakable space
\let\negthinspace\LWR@orignegthinspace% disable HTML negative short unbreakable space
\let\textellipsis\LWR@origtextellipsis%
+% \end{macrocode}
+% \changes{v0.88}{2020/07/03}{Added \cs{vdots}.}
+% \begin{macrocode}
+ \let\vdots\LWR@origvdots%
+% \end{macrocode}
+% \begin{macrocode}
\let\textless\LWR@origtextless%
\let\textgreater\LWR@origtextgreater%
% \end{macrocode}
@@ -32718,10 +35487,6 @@ end -- not --version
\LetLtxMacro\normalfont\LWR@orignormalfont%
\let\sp\LWR@origsp%
\let\sb\LWR@origsb%
- \LetLtxMacro\textsuperscript\LWR@origtextsuperscript%
- \LetLtxMacro\@textsuperscript\LWR@orig@textsuperscript%
- \LetLtxMacro\textsubscript\LWR@origtextsubscript%
- \LetLtxMacro\@textsubscript\LWR@orig@textsubscript%
\LetLtxMacro\underline\LWR@origunderline%
\let~\LWR@origtilde%
\let\enskip\LWR@origenskip%
@@ -32758,7 +35523,15 @@ end -- not --version
\LWR@restoreorigaccents%
\LWR@restoreoriglists%
%
- \LWR@FBcancel%
+ \LWR@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@restoreMathJaxformatting}%
+ {}%
}
% \end{macrocode}
% \end{macro}
@@ -32768,12 +35541,230 @@ end -- not --version
% \end{macrocode}
%
%
+% \section{Nullifying filename formatting}
+%
+% The following are used to nullify certain macros and
+% environments while converting section names to file names.
%
-% \section{Math}
-% \label{sec:math}
%
+% \codehtml
+% \begin{macrocode}
+\begin{warpHTML}
+% \end{macrocode}
+%
+%
+% Also commonly used are \cs{@empty}, \cs{@gobble}, and \cs{@firstofone}.
+%
+% \begin{macrocode}
+\newcommand*{\LWR@dash}{-}
+% \end{macrocode}
%
%
+% \begin{macro}{\LWR@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@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@dash%
+ \let\textasciicircum\LWR@dash%
+ \let\textasciitilde\LWR@dash%
+ \let\textasteriskcentered\LWR@dash%
+ \let\textbackslash\LWR@dash%
+ \let\textbar\LWR@dash%
+ \let\textbardbl\LWR@dash%
+ \let\textbigcircle\LWR@dash%
+ \let\textbraceleft\LWR@dash%
+ \let\textbraceright\LWR@dash%
+ \let\textbullet\LWR@dash%
+ \let\textcopyright\LWR@dash%
+ \let\textdagger\LWR@dash%
+ \let\textdaggerdbl\LWR@dash%
+ \let\textdollar\LWR@dash%
+ \let\textellipsis\LWR@dash%
+ \let\textemdash\LWR@dash%
+ \let\textendash\LWR@dash%
+ \let\textexclamdown\LWR@dash%
+ \let\textgreater\LWR@dash%
+ \let\textless\LWR@dash%
+ \let\textordfeminine\LWR@dash%
+ \let\textordmasculine\LWR@dash%
+ \let\textparagraph\LWR@dash%
+ \let\textperiodcentered\LWR@dash%
+ \let\textpertenthousand\LWR@dash%
+ \let\textperthousand\LWR@dash%
+ \let\textquestiondown\LWR@dash%
+ \let\textquotedblleft\LWR@dash%
+ \let\textquotedblright\LWR@dash%
+ \let\textquoteleft\LWR@dash%
+ \let\textquoteright\LWR@dash%
+ \let\textregistered\LWR@dash%
+ \let\textsection\LWR@dash%
+ \let\textsterling\LWR@dash%
+ \let\texttrademark\LWR@dash%
+ \let\textunderscore\LWR@dash%
+ \let\textvisiblespace\LWR@dash%
+ \let\copyright\LWR@dash%
+ \let\dag\LWR@dash%
+ \let\ddag\LWR@dash%
+ \let\dots\LWR@dash%
+ \let\P\LWR@dash%
+ \let\pounds\LWR@dash%
+ \let\S\LWR@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@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@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@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 -- not --version
% \end{macrocode}
+% \DescribeBoolean{LWR@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@insidemathcomment}: Added.}
+% \begin{macrocode}
+\newbool{LWR@insidemathcomment}
+\boolfalse{LWR@insidemathcomment}
+% \end{macrocode}
+
+
% \DescribeBoolean{LWR@xfakebold}
% True if \pkg{xfakebold} \cs{setBold} is in use.
% \changes{v0.67}{2019/02/17}{\pkg{xfakebold}: Added support.}
@@ -32985,7 +35988,7 @@ end -- not --version
%
% 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 @@ end -- not --version
% preferred.)
%
% \begin{description}
-% \item [SVG math:] \cs{LWR@origensuredmath} is part of argument \#4.
-% \item [SVG math \cs{ensuremath}:] \cs{LWR@origensuredmath} is part of argument \#4.
-% \item [SVG dynamic math:] \cs{LWR@origensuredmath} is part of argument \#4.
-% \item [Mathjax:] Argument \#4 is the contents of the math expression
+% \item [\SVG\ math:] \cs{LWR@origensuredmath} is part of argument \#4.
+% \item [\SVG\ math \cs{ensuremath}:] \cs{LWR@origensuredmath} is part of argument \#4.
+% \item [\SVG\ dynamic math:] \cs{LWR@origensuredmath} is part of argument \#4.
+% \item [\brand{MathJax}:] Argument \#4 is the contents of the math expression
% without \cs{LWR@origensuredmath}. This case is handled above.
-% \item [Mathjax \cs{ensuremath}:] \cs{LWR@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@origensuredmath} is part of argument \#4.
+% \item [\brand{MathJax} dynamic math:] Argument \#4 is the contents of the math expression
% without \cs{LWR@origensuredmath}, so \cs{LWR@origensuredmath} is added below.\
% \item [\cs{ifmmode}:] Included ``just in case''.
% \end{description}
@@ -33220,7 +36223,7 @@ end -- not --version
\newcommand*{\LWR@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@singledollarmeasure{#4}%
% \end{macrocode}
@@ -33372,17 +36375,17 @@ end -- not --version
% \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@origensuredmath} is part of argument \#4.
-% \item [SVG math \cs{ensuremath}:] \cs{LWR@origensuredmath} is part of argument \#4.
-% \item [SVG dynamic math:] \cs{LWR@origensuredmath} is part of argument \#4.
-% \item [Mathjax:] Argument \#4 is the contents of the math expression
+% \item [\SVG\ math:] \cs{LWR@origensuredmath} is part of argument \#4.
+% \item [\SVG\ math \cs{ensuremath}:] \cs{LWR@origensuredmath} is part of argument \#4.
+% \item [\SVG\ dynamic math:] \cs{LWR@origensuredmath} is part of argument \#4.
+% \item [\brand{MathJax}:] Argument \#4 is the contents of the math expression
% without \cs{LWR@origensuredmath}. This case is handled above.
-% \item [Mathjax \cs{ensuremath}:] \cs{LWR@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@origensuredmath} is part of argument \#4.
+% \item [\brand{MathJax} dynamic math:] Argument \#4 is the contents of the math expression
% without \cs{LWR@origensuredmath}, so \cs{LWR@origensuredmath} is added below.\
% \end{description}
%
@@ -33391,7 +36394,7 @@ end -- not --version
% \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@singledollarwidth}
@@ -33417,14 +36420,14 @@ end -- not --version
% \begin{macrocode}
\LWR@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 -- not --version
}%
% \end{macrocode}
% For \brand{MathJax}, print the math between |\(| and |\)|:
+% \changes{v0.89}{2020/08/01}{TT font for \brand{MathJax}.}
% \begin{macrocode}
{%
\LWR@traceinfo{LWR@subsingledollar: Mathjax}%
{%
\textbackslash(%
- \LWR@HTMLsanitize{#4}%
+ {%
+% \end{macrocode}
+% \cs{ifmmode} to avoid error about \cs{ttfamily} inside math mode
+% in the case of nested math, ex. equation with tcolorbox with math.
+% \begin{macrocode}
+ \ifmmode\else\LWR@print@ttfamily\fi%
+ \LWR@HTMLsanitize{#4}%
+ }%
\textbackslash)%
}%
}% mathjax
% \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 -- not --version
% \end{macrocode}
% For \brand{MathJax}, print the math between |\[| and |\]|:
% \changes{v0.42}{2017/10/16}{Improved line spacing with mathjax.}
+% \changes{v0.89}{2020/08/01}{TT font for \brand{MathJax}.}
% \begin{macrocode}
{
\textbackslash[%
- \LWR@HTMLsanitize{#1}%
+ {\LWR@print@ttfamily\LWR@HTMLsanitize{#1}}%
\textbackslash]
}% mathjax
% \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 @@ end -- not --version
%
%
% \begin{macro}{\LWR@singledollar} \marg{alt text} \marg{math expression}
+% \changes{v0.89}{2020/08/01}{TT font for \brand{MathJax}.}
% \begin{macrocode}
\protected\gdef\LWR@singledollar#1${%
\ifbool{mathjax}{%
@@ -33605,11 +36618,11 @@ end -- not --version
% 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 @@ end -- not --version
% \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 @@ end -- not --version
% Set the default displaymath to the normal version:
+%
+% \changes{v0.89}{2020/08/12}{Removed \cs{let} of \cs{[}, \cs{]}.}
+% ^^A \LetLtxMacro\[\LWR@openbracketnormal% (but not yet defined)
+% ^^A \LetLtxMacro\]\LWR@closebracketnormal%
+%
% \begin{macrocode}
-\LetLtxMacro\[\LWR@openbracketnormal%
-\LetLtxMacro\]\LWR@closebracketnormal%
\LetLtxMacro\displaymath\LWR@displaymathnormal%
\LetLtxMacro\enddisplaymath\endLWR@displaymathnormal%
% \end{macrocode}
@@ -33775,6 +36791,51 @@ end -- not --version
% \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@article@theequation{\@arabic\c@equation}
+
+\newcommand\LWR@book@theequation
+ {\ifnum \c@chapter>\z@ \thechapter.\fi \@arabic\c@equation}
+
+
+\newcommand\LWR@chapter@theequation{\thechapter.\arabic{equation}}
+\newcommand\LWR@section@thequation{\thesection.\arabic{equation}}
+\newcommand\LWR@subsection@thequation{\thesubsection.\arabic{equation}}
+
+\AtBeginDocument{
+ % default per article class:
+ \newcommand*{\theMathJaxsubequations}{0}
+ \newcommand*{\theMathJaxsection}{}
+ \newcommand*{\theMathJaxequation}{\arabic{equation}}
+
+ \ifdefstrequal{\theequation}{\LWR@article@theequation}
+ {}{
+ \ifdefstrequal{\theequation}{\LWR@book@theequation}{
+ \renewcommand*{\theMathJaxsection}{\ifnum \c@chapter>\z@ \thechapter.\fi}
+ }{
+ \ifdefstrequal{\theequation}{\LWR@subsection@thequation}{
+ \renewcommand*{\theMathJaxsection}{\thesubsection{}.}
+ }{
+ \ifdefstrequal{\theequation}{\LWR@section@thequation}{
+ \renewcommand*{\theMathJaxsection}{\thesection{}.}
+ }{
+ \ifdefstrequal{\theequation}{\LWR@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@syncmathjax} Sets the \brand{MathJax} equation format
% and number for the following equations.
@@ -33784,44 +36845,35 @@ end -- not --version
% \begin{macrocode}
\newcommand*{\LWR@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@stoppars%
- \InlineClass{hidden}{
- \textbackslash(
- \textbackslash{}seteqsection \{\thechapter\}
- \textbackslash)
- }
- \LWR@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@nextequation}{\value{equation}}
- \addtocounter{LWR@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@stoppars%
\InlineClass{hidden}{
- \textbackslash(
- \textbackslash{}seteqnumber \{\arabic{LWR@nextequation}\}
- \textbackslash)
+ \textbackslash(%
+ \textbackslash{}seteqnumber%
+ \{\theMathJaxsubequations\}%
+ \{\theMathJaxsection\}%
+ \{\theMathJaxequation\}%
+ \textbackslash)%
}
\LWR@startpars%
- }{}% not eq > 0
}
% \end{macrocode}
% \end{macro}
@@ -33849,6 +36901,7 @@ end -- not --version
% restore various commands to their \LaTeX\ meanings.
% \begin{macrocode}
\LWR@restoreorigformatting
+ \booltrue{LWR@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 @@ end -- not --version
% Close the \HTML\ comment and resume \HTML\ paragraph handling:
% \begin{macrocode}
\LWR@htmlclosecomment
+ \boolfalse{LWR@insidemathcomment}
\LWR@startpars
}
% \end{macrocode}
@@ -33885,15 +36939,20 @@ end -- not --version
% Enclose the \brand{MathJax} environment inside printed ``\cs{(}'' and ``\cs{)}'' characters.
% \begin{macrocode}
\LWR@origtilde\LWR@orignewline
- \textbackslash{}begin\{#1\}
% \end{macrocode}
-% Print the contents, sanitizing for \HTML\ special characters.
+% Print the environment name and contents, sanitizing for \HTML\ special characters.
+% \changes{v0.89}{2020/08/01}{TT font for \brand{MathJax}.}
% \begin{macrocode}
- \LWR@HTMLsanitizeexpand{\detokenize\expandafter{#2}}
+ {%
+ \LWR@print@ttfamily%
+ \textbackslash{}begin\{#1\}
+ \LWR@orignewline%
+ \LWR@HTMLsanitizeexpand{\detokenize\expandafter{#2}}%
+ \LWR@orignewline%
+ \textbackslash{}end\{#1\}
+ }%
% \end{macrocode}
-% Close the \brand{MathJax} environment:
% \begin{macrocode}
- \textbackslash{}end\{#1\}
\LWR@orignewline
}
% \end{macrocode}
@@ -33906,10 +36965,10 @@ end -- not --version
% after redefined by \pkg{amsmath}, if loaded.
% \begin{macrocode}
\AtBeginDocument{
-\let\LWR@origequation\equation
-\let\LWR@origendequation\endequation
-\csletcs{LWR@origequation*}{equation*}
-\csletcs{LWR@origendequation*}{endequation*}
+ \let\LWR@origequation\equation
+ \let\LWR@origendequation\endequation
+ \csletcs{LWR@origequation*}{equation*}
+ \csletcs{LWR@origendequation*}{endequation*}
}
% \end{macrocode}
%
@@ -33953,10 +37012,10 @@ end -- not --version
\LWR@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 @@ end -- not --version
% 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 @@ end -- not --version
% macro called \cs{BODY}.
% \begin{macrocode}
\AtBeginDocument{
+ \NewEnviron{equation}%
+ {\LWR@doequation{\BODY}{equation}}%
+ [\LWR@doendequation{equation}]
-\NewEnviron{equation}%
- {\LWR@doequation{\BODY}{equation}}%
- [\LWR@doendequation{equation}]
-
-\LetLtxMacro\LWR@equationnormal\equation
-\LetLtxMacro\endLWR@equationnormal\endequation
-
+ \LetLtxMacro\LWR@equationnormal\equation
+ \LetLtxMacro\endLWR@equationnormal\endequation
}% AtBeginDocument
% \end{macrocode}
% \end{environment}
@@ -34116,14 +37173,12 @@ end -- not --version
% \begin{environment}{equation*}
% \begin{macrocode}
\AtBeginDocument{
+ \NewEnviron{equation*}%
+ {\LWR@doequation{\BODY}{equation*}}%
+ [\LWR@doendequation{equation*}]
-\NewEnviron{equation*}%
- {\LWR@doequation{\BODY}{equation*}}%
- [\LWR@doendequation{equation*}]
-
-\csletcs{LWR@equationnormalstar}{equation*}
-\csletcs{LWR@endequationnormalstar}{endequation*}
-
+ \csletcs{LWR@equationnormalstar}{equation*}
+ \csletcs{LWR@endequationnormalstar}{endequation*}
}% AtBeginDocument
% \end{macrocode}
% \end{environment}
@@ -34134,10 +37189,10 @@ end -- not --version
% some \tikz\ expressions.
% \begin{macrocode}
\AtBeginDocument{
-\LetLtxMacro\LWR@equationless\equation
-\LetLtxMacro\endLWR@equationless\endequation
-\csletcs{LWR@equationlessstar}{equation*}
-\csletcs{LWR@endequationlessstar}{endequation*}
+ \LetLtxMacro\LWR@equationless\equation
+ \LetLtxMacro\endLWR@equationless\endequation
+ \csletcs{LWR@equationlessstar}{equation*}
+ \csletcs{LWR@endequationlessstar}{endequation*}
}
% \end{macrocode}
@@ -34167,7 +37222,7 @@ end -- not --version
% \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 -- not --version
% \end{macrocode}
-% \begin{macro}{\LWR@htmlmathlabel} \marg{label}
-% \gindex{label>math environment}
-%
-% \pkg{lwarp} points \cs{ltx@label} here.
-% This is used by \cs{label} when inside a
-% \LaTeX\ AMS math environment's math display environment.
-%
-% \cs{LWR@origltx@label} points to the \LaTeX\ original,
-% modified by \pkg{lwarp}, then by \pkg{amsmath},
-% then by \pkg{cleveref}.
-% \begin{macrocode}
-\newcommand*{\LWR@htmlmathlabel}[1]{%
- \LWR@traceinfo{LWR@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@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@htmlclosecomment%
- \LWR@origltx@label{#1}%
- \LWR@htmlopencomment%
- }% text
- }% mathjax
- {%
- \LWR@origltx@label{#1}%
- }%
-}
-% \end{macrocode}
-% \end{macro}
-
-
-
% \begin{macro}{\LWR@beginhideamsmath}
% Starts hiding \LaTeX\ math inside an \HTML\ comment.
% \begin{macrocode}
@@ -34290,6 +37296,7 @@ end -- not --version
\begingroup
\LWR@restoreorigformatting
+ \booltrue{LWR@insidemathcomment}
}
% \end{macrocode}
% \end{macro}
@@ -34301,6 +37308,7 @@ end -- not --version
\endgroup
\LWR@htmlclosecomment
+ \boolfalse{LWR@insidemathcomment}
\LWR@orignewline
\LWR@startpars
}
@@ -34317,8 +37325,8 @@ end -- not --version
% \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@amsmathbody}
@@ -34403,11 +37411,12 @@ end -- not --version
% \changes{v0.42}{2017/10/12}{Fix: Numbering and naming AMS math environments.}
% \changes{v0.50}{2018/03/02}{Improved \SVG\ math display.}
% \changes{v0.51}{2018/03/11}{Fix: \cs{addcontentsline} inside \SVG\ math. Provides an autoid anchor.}
+% \changes{v0.89}{2020/08/02}{\cs{textendash} for number range.}
% \begin{macrocode}
\begin{BlockClass}{displaymathnumbered}%
\LWR@newautoidanchor%
\booltrue{LWR@indisplaymathimage}%
- \begin{lateximage}[(\LWR@startingequationtag--\LWR@equationtag)%
+ \begin{lateximage}[(\LWR@startingequationtag\textendash\LWR@equationtag)%
\LWR@addmathjax{eqnarray}{\BODY}]*%
% \end{macrocode}
% Support for \pkg{xfakebold}:
@@ -34728,13 +37737,14 @@ end -- not --version
% prefixed by the equation numbers.
%
% \changes{v0.42}{2017/10/12}{Fix: Numbering and naming AMS math environments.}
+% \changes{v0.89}{2020/08/02}{\cs{textendash} for number range.}
%
% \begin{macrocode}
\newcommand*{\LWR@amsmathbodynumbered}[1]
{%
\ifnumcomp{\value{LWR@startingequation}}{=}{\value{equation}}%
{(\LWR@equationtag)}%
- {(\LWR@startingequationtag--\LWR@equationtag)} % extra space
+ {(\LWR@startingequationtag\textendash\LWR@equationtag)} % extra space
\LWR@amsmathbody{#1} % extra space
}
% \end{macrocode}
@@ -34904,10 +37914,13 @@ end -- not --version
% 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@htmltag{span\LWR@indentHTML%
- id="lateximage-\BaseJobname-\arabic{LWR@lateximagenumber}"\LWR@indentHTML
- class="lateximagesource"\LWR@orignewline
+ id=\textquotedbl{}%
+ lateximage-\BaseJobname-\arabic{LWR@lateximagenumber}%
+ \textquotedbl\LWR@indentHTML
+ class=\textquotedbl{}lateximagesource\textquotedbl\LWR@orignewline
}%
% \end{macrocode}
% Write instructions to the |<ImagesDirectory>.txt| file:
@@ -34970,7 +37983,7 @@ end -- not --version
% Start the new \PDF\ page:
% \begin{macrocode}
\LWR@traceinfo{lateximage: about to create a new page}%
- \LWR@orignewpage%
+ \LWR@maybe@orignewpage%
% \end{macrocode}
% If the current page is larger,
% typeset the image in a ``standard'' width page and font size:
@@ -35013,13 +38026,14 @@ end -- not --version
% \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@origdollar%
\catcode`\$=3% math shift
\LetLtxMacro\(\LWR@origopenparen%
\LetLtxMacro\)\LWR@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 @@ end -- not --version
\csletcs{endequation*}{LWR@origendequation*}%
}% not in display math
% \end{macrocode}
+%
% For \pkg{chemformula}:
% \begin{macrocode}
\LetLtxMacro\LWR@newsingledollar$%
@@ -35043,18 +38058,21 @@ end -- not --version
}% end of \begin{lateximage}
% \end{macrocode}
%
-% When the environment closes:
+%
+% When the \env{lateximage} environment closes:
% \margintag{\cs{endlateximage}}
%
% \begin{macrocode}
{% start of \end{lateximage}
\LWR@traceinfo{lateximage: starting end of lateximage}%
% \end{macrocode}
+%
% Nested more than one deep?
% \begin{macrocode}
\LWR@traceinfo{lateximage: internal depth was \arabic{LWR@lateximagedepth}}%
\ifnumcomp{\value{LWR@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,23 +38081,27 @@ end -- not --version
\global\advance\c@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@traceinfo{lateximage: ending outer-most lateximage}%
\endLWR@print@minipage%
- \LWR@orignewpage%
+ \LWR@maybe@orignewpage%
% \end{macrocode}
+%
% Close the \HTML\ comment which encapsulated any traces of the lateximage picked up by \prog{pdftotext}:
% \begin{macrocode}
\LWR@print@vspace*{.5\baselineskip}%
\LWR@htmlclosecomment%
\LWR@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 @@ end -- not --version
\LWR@lateximage@oneimage{#2}{\LWR@ImagesName\theLWR@externalfilecnt}{#5}{#3}%
}% no hash
% \end{macrocode}
+%
% Be sure that are doing a paragraph:
% \begin{macrocode}
\LWR@ensuredoingapar%
% \end{macrocode}
+%
% Close the \HTML\ span which has the \prog{pdftotext} comment and also the link to the |.svg| image:
% \begin{macrocode}
\LWR@htmltag{/span}%
@@ -35104,11 +38128,13 @@ end -- not --version
\LWR@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@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 -- not --version
% \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 @@ end -- not --version
% 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@HTML@center}
{
\LWR@forcenewpage
\ifbool{FormatWP}
@@ -35168,14 +38195,17 @@ end -- not --version
{\BlockClass{center}}
}
{\endBlockClass}
+
+\LWR@formattedenv{center}
% \end{macrocode}
% \end{environment}
% \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@HTML@flushright}
{
\LWR@forcenewpage
\ifbool{FormatWP}
@@ -35183,13 +38213,16 @@ end -- not --version
{\BlockClass{flushright}}
}
{\endBlockClass}
+
+\LWR@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@HTML@flushleft}
{
\LWR@forcenewpage
\ifbool{FormatWP}
@@ -35197,6 +38230,8 @@ end -- not --version
{\BlockClass{flushleft}}
}
{\endBlockClass}
+
+\LWR@formattedenv{flushleft}
% \end{macrocode}
% \end{environment}
@@ -35328,11 +38363,33 @@ end -- not --version
\LWR@PreloadedPackage{graphicx}
% \end{macrocode}
+% \pkg{scalefnt} may have been preloaded by \pkg{babel}
+% \begin{macrocode}
+\LWR@PreloadedPackage{scalefnt}
+% \end{macrocode}
+
% \pkg{fontaxes} must be preloaded so that \pkg{lwarp} may patch it for \HTML.
% \begin{macrocode}
\LWR@PreloadedPackage{fontaxes}
% \end{macrocode}
+% Various font packages which may be loaded before \pkg{lwarp}:
+% \begin{macrocode}
+\LWR@PreloadedPackage{cmbright}
+\LWR@PreloadedPackage{fourier}
+\LWR@PreloadedPackage{kpfonts}
+\LWR@PreloadedPackage{kpfonts-otf}
+\LWR@PreloadedPackage{libertinust1math}
+\LWR@PreloadedPackage{pxfonts}
+\LWR@PreloadedPackage{txfonts}
+\LWR@PreloadedPackage{txgreeks}
+\LWR@PreloadedPackage{newpxmath}
+\LWR@PreloadedPackage{newtxmath}
+\LWR@PreloadedPackage{newtxsf}
+\LWR@PreloadedPackage{mathalpha}
+\LWR@PreloadedPackage{unicode-math}
+% \end{macrocode}
+
% \pkg{nfssext-cfr} may be preloaded by \pkg{cfm-lm} or related font packages.
% \begin{macrocode}
\LWR@PreloadedPackage{nfssext-cfr}
@@ -35403,7 +38460,7 @@ end -- not --version
\newrobustcmd{\LWR@siunitx@textdegree}{\HTMLentity{deg}}
\newrobustcmd{\LWR@siunitx@textprime}{\HTMLunicode{2032}}
\newrobustcmd{\LWR@siunitx@textdblprime}{\HTMLunicode{2033}}
-\newrobustcmd{\LWR@siunitx@textplanckbar}{\text{\textit{\HTMLunicode{0127}}}}
+\newrobustcmd{\LWR@siunitx@textplanckbar}{\text{\textit{\HTMLunicode{210F}}}}
\appto\LWR@restoreorigformatting{%
\renewrobustcmd{\LWR@siunitx@textcelsius}{\text{\ensuremath{^\circ}C}}%
@@ -35726,16 +38783,9 @@ end -- not --version
-
% \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,181 +38796,25 @@ end -- not --version
% \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:
+% \cs{AtEndPreable} forces \pkg{cleveref} to be loaded last,
+% if it has not yet been loaded by the user.
%
% \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@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@orig@@@setcref#1#2{\cref@getlabel{#2}{\@templabel}#1{\@templabel}{}{}}%
-
-\ifdefequal{\@@setcref}{\LWR@orig@@@setcref}{% before v0.21
- \renewcommand*{\@@setcref}[2]{#1{\ref{#2}}{}{}}
-}{
- \ifdefequal{\@@@setcref}{\LWR@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{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@orig@@@setcrefrange#1#2#3{%
- \cref@getlabel{#2}{\@labela}%
- \cref@getlabel{#3}{\@labelb}%
- #1{\@labela}{\@labelb}{}{}{}{}}%
-
-\ifdefequal{\@@setcrefrange}{\LWR@orig@@@setcrefrange}{
- \renewcommand{\@@setcrefrange}[3]{%
- #1{\ref{#2}}{\ref{#3}}{}{}{}{}%
- }
-}{
- \ifdefequal{\@@@setcrefrange}{\LWR@orig@@@setcrefrange}{
- \renewcommand{\@@@setcrefrange}[3]{%
- #1{\ref{#2}}{\ref{#3}}{}{}{}{}%
- }
- }{
- \PackageWarning{lwarp-cleveref}{
- Unknown version of cleveref.
- \protect\crefrange\space will fail.
- }
- }
-}
+\end{warpHTML}
% \end{macrocode}
-% \end{macro}
-
-% ^^A orig:
-% ^^A \def\@@setcpageref#1#2{%
-% ^^A \cref@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@orig@@setcpageref#1#2{% before v0.21
- \cref@getpageref{#2}{\@temppage}#1{\@temppage}{}{}}%
-
-\def\LWR@orig@@@setcpageref#1#2{% as of v0.21
- \cpageref@getlabel{#2}{\@temppage}#1{\@temppage}{}{}}%
-
-\ifdefequal{\@@setcpageref}{\LWR@orig@@setcpageref}{
- \renewcommand*{\@@setcpageref}[2]{%
- #1{\cpagerefFor\ \cref{#2}}{}{}%
- }
-}{
- \ifdefequal{\@@@setcpageref}{\LWR@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@getpageref{#2}{\@pagea}%
-% ^^A \cref@getpageref{#3}{\@pageb}%
-% ^^A #1{\@pagea}{\@pageb}{}{}{}{}}
-
-% \begin{macrocode}
-\def\LWR@orig@@setcpagerefrange#1#2#3{% before v0.21
- \cref@getpageref{#2}{\@pagea}%
- \cref@getpageref{#3}{\@pageb}%
- #1{\@pagea}{\@pageb}{}{}{}{}}%
-
-\def\LWR@orig@@@setcpagerefrange#1#2#3{% as of v0.21
- \cpageref@getlabel{#2}{\@pagea}%
- \cpageref@getlabel{#3}{\@pageb}%
- #1{\@pagea}{\@pageb}{}{}{}{}}%
-
-\ifdefequal{\@@setcpagerefrange}{\LWR@orig@@setcpagerefrange}{
- \renewcommand*{\@@setcpagerefrange}[3]{%
- #1{\cpagerefFor\ \cref{#2}}{\cref{#3}}{}{}{}{}%
- }
-}{
- \ifdefequal{\@@@setcpagerefrange}{\LWR@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}
-
-
+% \section{Preexisting label and reference definitions}
%
% Remember and patch some label-related defintions.
% These will be further encased and patched by other packages later.
@@ -35928,12 +38822,16 @@ end -- not --version
% \cs{label} and \cs{pageref} do NOT change their behavior according to
% print or \HTML\ output, and thus do not use the \cs{LWR@formatted} system.
%
+% \codehtml
% \begin{macrocode}
-\LetLtxMacro\LWR@orig@label\label
-\RenewDocumentCommand{\label}{}{\LWR@new@label}
+\begin{warpHTML}
+
+\LetLtxMacro\LWR@orig@label\label% includes memoir, before cleveref
+\LetLtxMacro\label\LWR@new@label
\LetLtxMacro\LWR@orig@pageref\pageref
-\RenewDocumentCommand{\pageref}{}{\LWR@new@pageref}
+\LetLtxMacro\pageref\LWR@new@pageref
+
\end{warpHTML}
% \end{macrocode}
@@ -36026,7 +38924,7 @@ end -- not --version
% \begin{macrocode}
\NewDocumentEnvironment{LWR@setvirtualpage}{s O{1}}{%
\ifnumequal{\value{LWR@virtualpagedepth}}{0}{%
- \IfBooleanT{#1}{\LWR@orignewpage}%
+ \IfBooleanT{#1}{\LWR@maybe@orignewpage}%
\setlength{\linewidth}{6in/#2}%
\setlength{\textwidth}{6in}%
\setlength{\textheight}{9in}%
@@ -36180,13 +39078,16 @@ end -- not --version
% 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@thisautoidWP}{1}%
\LWR@htmltag{%
- div id="\LWR@print@mbox{autoidWP-\arabic{LWR@thisautoidWP}}" %
- class="wpminipage"%
+ div id=\textquotedbl%
+ \LWR@print@mbox{autoidWP-\arabic{LWR@thisautoidWP}}%
+ \textquotedbl\ % space
+ class=\textquotedbl{}wpminipage\textquotedbl%
}%
}{}%
@@ -36194,9 +39095,10 @@ end -- not --version
%
% 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@traceinfo{minipage: creating div class}%
-\LWR@htmltag{div class="minipage" style="%
+\LWR@htmltag{div class=\textquotedbl{}minipage\textquotedbl\ style=\textquotedbl%
\ifthenelse{\equal{#1}{t}}{\LWR@print@mbox{vertical-align:bottom} ; }{}%
\ifthenelse{\equal{#1}{c}}{\LWR@print@mbox{vertical-align:middle} ; }{}%
\ifthenelse{\equal{#1}{b}}{\LWR@print@mbox{vertical-align:top} ; }{}%
@@ -36223,7 +39125,8 @@ end -- not --version
}%
\LWR@traceinfo{minipage: about to print the height}%
\ifblank{#2}{}{height:\LWR@printlength{\LWR@minipageheight} ; }%
-"}%
+\textquotedbl%
+}%
% \end{macrocode}
%
% Finish with an empty line to start the contents on a new line.
@@ -36721,6 +39624,7 @@ color:\LWR@origpound\LWR@tempcolor%
+
% \section{Direct formatting}
% \label{sec:directformatting}
%
@@ -36730,6 +39634,27 @@ color:\LWR@origpound\LWR@tempcolor%
% 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@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 @@ color:\LWR@origpound\LWR@tempcolor%
}
\LWR@formatted{emph}
-
-\newcommand{\LWR@null@emph}[1]{#1}
% \end{macrocode}
% \end{macro}
@@ -36769,8 +39692,6 @@ color:\LWR@origpound\LWR@tempcolor%
}
\LWR@formatted{textmd}
-
-\newcommand{\LWR@null@textmd}[1]{#1}
% \end{macrocode}
% \end{macro}
@@ -36785,8 +39706,6 @@ color:\LWR@origpound\LWR@tempcolor%
}
\LWR@formatted{textbf}
-
-\newcommand{\LWR@null@textbf}[1]{#1}
% \end{macrocode}
% \end{macro}
@@ -36802,8 +39721,6 @@ color:\LWR@origpound\LWR@tempcolor%
}
\LWR@formatted{texteb}
-
-\newcommand{\LWR@null@texteb}[1]{#1}
% \end{macrocode}
% \end{macro}
@@ -36819,8 +39736,6 @@ color:\LWR@origpound\LWR@tempcolor%
}
\LWR@formatted{textlg}
-
-\newcommand{\LWR@null@textlg}[1]{#1}
% \end{macrocode}
% \end{macro}
@@ -36835,8 +39750,6 @@ color:\LWR@origpound\LWR@tempcolor%
}
\LWR@formatted{textrm}
-
-\newcommand{\LWR@null@textrm}[1]{#1}
% \end{macrocode}
% \end{macro}
@@ -36851,8 +39764,6 @@ color:\LWR@origpound\LWR@tempcolor%
}
\LWR@formatted{textsf}
-
-\newcommand{\LWR@null@textsf}[1]{#1}
% \end{macrocode}
% \end{macro}
@@ -36866,8 +39777,6 @@ color:\LWR@origpound\LWR@tempcolor%
}
\LWR@formatted{texttt}
-
-\newcommand{\LWR@null@texttt}[1]{#1}
% \end{macrocode}
% \end{macro}
@@ -36883,8 +39792,6 @@ color:\LWR@origpound\LWR@tempcolor%
}
\LWR@formatted{textup}
-
-\newcommand{\LWR@null@textup}[1]{#1}
% \end{macrocode}
% \end{macro}
@@ -36898,8 +39805,6 @@ color:\LWR@origpound\LWR@tempcolor%
}
\LWR@formatted{textit}
-
-\newcommand{\LWR@null@textit}[1]{#1}
% \end{macrocode}
% \end{macro}
@@ -36914,8 +39819,6 @@ color:\LWR@origpound\LWR@tempcolor%
}
\LWR@formatted{textsc}
-
-\newcommand{\LWR@null@textsc}[1]{#1}
% \end{macrocode}
% \end{macro}
@@ -36931,8 +39834,6 @@ color:\LWR@origpound\LWR@tempcolor%
}
\LWR@formatted{textulc}
-
-\newcommand{\LWR@null@textulc}[1]{#1}
% \end{macrocode}
% \end{macro}
@@ -36957,8 +39858,6 @@ color:\LWR@origpound\LWR@tempcolor%
}
\LWR@formatted{textsi}
-
-\newcommand{\LWR@null@textsi}[1]{#1}
% \end{macrocode}
% \end{macro}
@@ -36972,8 +39871,15 @@ color:\LWR@origpound\LWR@tempcolor%
}
\LWR@formatted{textsl}
+% \end{macrocode}
+% \end{macro}
+
-\newcommand{\LWR@null@textsl}[1]{#1}
+% \begin{macro}{\textssc} \marg{text}
+% \changes{v0.84}{2020/04/13}{Moved to core.}
+% \begin{macrocode}
+\newrobustcmd{\LWR@HTML@textssc}[1]{\textsc{#1}}
+\LWR@formatted{textssc}
% \end{macrocode}
% \end{macro}
@@ -36983,242 +39889,33 @@ color:\LWR@origpound\LWR@tempcolor%
\DeclareRobustCommand{\LWR@HTML@textnormal}[1]{\textmd{\textrm{\textup{#1}}}}
\LWR@formatted{textnormal}
-
-\newcommand{\LWR@null@textnormal}[1]{#1}
% \end{macrocode}
% \end{macro}
-
-
-% \begin{macrocode}
-\newcommand{\LWR@null@rmfamily}{}
-\newcommand{\LWR@null@sffamily}{}
-\newcommand{\LWR@null@ttfamily}{}
-\newcommand{\LWR@null@bfseries}{}
-\newcommand{\LWR@null@ebweight}{}
-\newcommand{\LWR@null@lgweight}{}
-\newcommand{\LWR@null@mdseries}{}
-\newcommand{\LWR@null@upshape}{}
-\newcommand{\LWR@null@slshape}{}
-\newcommand{\LWR@null@scshape}{}
-\newcommand{\LWR@null@itshape}{}
-\newcommand{\LWR@null@normalfont}{}
-% \end{macrocode}
-%
-% \changes{v0.62}{2018/11/17}{Fix for \cs{em}.}
-% \begin{macrocode}
-\newcommand{\LWR@null@em}{}
-% \end{macrocode}
-
-
-% \begin{macro}{\LWR@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@nullfonts}{%
-\LetLtxMacro\emph\LWR@null@emph%
-\LetLtxMacro\textmd\LWR@null@textmd%
-\LetLtxMacro\textbf\LWR@null@textbf%
-\LetLtxMacro\textrm\LWR@null@textrm%
-\LetLtxMacro\textsf\LWR@null@textsf%
-\LetLtxMacro\texttt\LWR@null@texttt%
-\LetLtxMacro\textup\LWR@null@textup%
-\LetLtxMacro\textit\LWR@null@textit%
-\LetLtxMacro\textsc\LWR@null@textsc%
-\LetLtxMacro\textulc\LWR@null@textulc%
-\LetLtxMacro\textsi\LWR@null@textsi%
-\LetLtxMacro\textsl\LWR@null@textsl%
-\LetLtxMacro\textnormal\LWR@null@textnormal%
-\LetLtxMacro\rmfamily\LWR@null@rmfamily%
-\LetLtxMacro\sffamily\LWR@null@sffamily%
-\LetLtxMacro\ttfamily\LWR@null@ttfamily%
-\LetLtxMacro\bfseries\LWR@null@bfseries%
-\LetLtxMacro\mdseries\LWR@null@mdseries%
-\LetLtxMacro\upshape\LWR@null@upshape%
-\LetLtxMacro\slshape\LWR@null@slshape%
-\LetLtxMacro\scshape\LWR@null@scshape%
-\LetLtxMacro\ulcshape\LWR@null@ulcshape%
-% \end{macrocode}
-% \changes{v0.65}{2018/12/10}{Added \cs{sishape}.}
-% \begin{macrocode}
-\LetLtxMacro\sishape\LWR@null@sishape%
-% \end{macrocode}
-% \begin{macrocode}
-\LetLtxMacro\itshape\LWR@null@itshape%
-\LetLtxMacro\normalfont\LWR@null@normalfont%
-\LetLtxMacro\em\LWR@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@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@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@nullfonts}{#1}%
-}
-% \end{macrocode}
-% \end{macro}
%
%
% \changes{v0.48}{2018/02/02}{Improved font control.}
@@ -37291,17 +39988,24 @@ color:\LWR@origpound\LWR@tempcolor%
% \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@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@HTML@mdseries}{\renewcommand*{\LWR@f@series}{md}}
+\newrobustcmd*{\LWR@HTML@mdseries}{%
+ \LWR@print@mdseries%
+ \renewcommand*{\LWR@f@series}{md}%
+}
\LWR@formatted{mdseries}
% \end{macrocode}
% \end{macro}
% \begin{macro}{\bfseries}
% \begin{macrocode}
-\newrobustcmd*{\LWR@HTML@bfseries}{\renewcommand*{\LWR@f@series}{bf}}
+\newrobustcmd*{\LWR@HTML@bfseries}{%
+ \LWR@print@bfseries%
+ \renewcommand*{\LWR@f@series}{bf}%
+}
\LWR@formatted{bfseries}
% \end{macrocode}
% \end{macro}
@@ -37309,7 +40013,10 @@ color:\LWR@origpound\LWR@tempcolor%
% \begin{macro}{\ebweight} From \pkg{nfssext-cfr}.
% \changes{v0.72}{2019/05/26}{\pkg{nfssext-cfr}: Added.}
% \begin{macrocode}
-\newrobustcmd*{\LWR@HTML@ebweight}{\renewcommand*{\LWR@f@series}{eb}}
+\newrobustcmd*{\LWR@HTML@ebweight}{%
+ \LWR@print@ebweight%
+ \renewcommand*{\LWR@f@series}{eb}%
+}
\LWR@formatted{ebweight}
% \end{macrocode}
% \end{macro}
@@ -37317,50 +40024,85 @@ color:\LWR@origpound\LWR@tempcolor%
% \begin{macro}{\lgweight} From \pkg{nfssext-cfr}.
% \changes{v0.72}{2019/05/26}{\pkg{nfssext-cfr}: Added.}
% \begin{macrocode}
-\newrobustcmd*{\LWR@HTML@lgweight}{\renewcommand*{\LWR@f@series}{lg}}
+\newrobustcmd*{\LWR@HTML@lgweight}{%
+ \LWR@print@lgweight%
+ \renewcommand*{\LWR@f@series}{lg}%
+}
\LWR@formatted{lgweight}
% \end{macrocode}
% \end{macro}
% \begin{macro}{\rmfamily}
% \begin{macrocode}
-\newrobustcmd*{\LWR@HTML@rmfamily}{\renewcommand*{\LWR@f@family}{rm}}
+\newrobustcmd*{\LWR@HTML@rmfamily}{%
+ \LWR@print@rmfamily%
+ \renewcommand*{\LWR@f@family}{rm}%
+}
\LWR@formatted{rmfamily}
% \end{macrocode}
% \end{macro}
% \begin{macro}{\sffamily}
% \begin{macrocode}
-\newrobustcmd*{\LWR@HTML@sffamily}{\renewcommand*{\LWR@f@family}{sf}}
+\newrobustcmd*{\LWR@HTML@sffamily}{%
+ \LWR@print@sffamily%
+ \renewcommand*{\LWR@f@family}{sf}%
+}
\LWR@formatted{sffamily}
% \end{macrocode}
% \end{macro}
% \begin{macro}{\ttfamily}
% \begin{macrocode}
-\newrobustcmd*{\LWR@HTML@ttfamily}{\renewcommand*{\LWR@f@family}{tt}}
+\newrobustcmd*{\LWR@HTML@ttfamily}{%
+ \LWR@print@ttfamily%
+ \renewcommand*{\LWR@f@family}{tt}%
+}
\LWR@formatted{ttfamily}
% \end{macrocode}
% \end{macro}
-
+%
+%
+% The following use \cs{AtBeginDocument} due to the
+% \LaTeX\ core \cs{reinstall@nfss@defs}, which redefines these
+% \cs{AtBeginDocument}. See \cmds{texdoc source2e}.
+%
% \begin{macro}{\upshape}
% \begin{macrocode}
-\newrobustcmd*{\LWR@HTML@upshape}{\renewcommand*{\LWR@f@shape}{up}}
-\LWR@formatted{upshape}
+\newrobustcmd*{\LWR@HTML@upshape}{%
+ \LWR@print@upshape%
+ \renewcommand*{\LWR@f@shape}{up}%
+}
+\AtBeginDocument{\LWR@formatted{upshape}}
% \end{macrocode}
% \end{macro}
% \begin{macro}{\itshape}
% \begin{macrocode}
-\newrobustcmd*{\LWR@HTML@itshape}{\renewcommand*{\LWR@f@shape}{it}}
-\LWR@formatted{itshape}
+\newrobustcmd*{\LWR@HTML@itshape}{%
+ \LWR@print@itshape%
+ \renewcommand*{\LWR@f@shape}{it}%
+}
+\AtBeginDocument{\LWR@formatted{itshape}}
% \end{macrocode}
% \end{macro}
+
% \begin{macro}{\scshape}
+%
+% Note: \cs{LWR@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@print@scshape}
+% for \pkg{erewhon}, et. al.}
% \begin{macrocode}
-\newrobustcmd*{\LWR@HTML@scshape}{\renewcommand*{\LWR@f@shapecaps}{sc}}
-\LWR@formatted{scshape}
+\newrobustcmd*{\LWR@HTML@scshape}{%
+ \ifbool{FixSmallCaps}{}{%
+ \LWR@print@scshape%
+ }%
+ \renewcommand*{\LWR@f@shapecaps}{sc}%
+}
+\AtBeginDocument{\LWR@formatted{scshape}}
% \end{macrocode}
% \end{macro}
@@ -37370,30 +40112,49 @@ color:\LWR@origpound\LWR@tempcolor%
\@ifundefined{ulcshape}{
\LetLtxMacro\ulcshape\upshape
}{}
-\newrobustcmd*{\LWR@HTML@ulcshape}{\renewcommand*{\LWR@f@shapecaps}{ulc}}
-\LWR@formatted{ulcshape}
+\newrobustcmd*{\LWR@HTML@ulcshape}{%
+ \LWR@print@ulcshape%
+ \renewcommand*{\LWR@f@shapecaps}{ulc}%
+}
+\AtBeginDocument{\LWR@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@print@scshape}
+% for \pkg{erewhon}, et. al.}
% \begin{macrocode}
\@ifundefined{sishape}{
\LetLtxMacro\sishape\scshape
}{}
\newrobustcmd*{\LWR@HTML@sishape}{%
+ \ifbool{FixSmallCaps}{}{%
+ \LWR@print@sishape%
+ }%
\renewcommand*{\LWR@f@shape}{it}
\renewcommand*{\LWR@f@shapecaps}{sc}%
}
-\LWR@formatted{sishape}
+\AtBeginDocument{\LWR@formatted{sishape}}
% \end{macrocode}
% \end{macro}
% \begin{macro}{\slshape}
% \changes{v0.62}{2018/11/11}{Added.}
% \begin{macrocode}
-\newrobustcmd*{\LWR@HTML@slshape}{\renewcommand*{\LWR@f@shape}{sl}}
-\LWR@formatted{slshape}
+\newrobustcmd*{\LWR@HTML@slshape}{%
+ \LWR@print@slshape%
+ \renewcommand*{\LWR@f@shape}{sl}%
+}
+\AtBeginDocument{\LWR@formatted{slshape}}
+% \end{macrocode}
+% \end{macro}
+
+% \begin{macro}{\sscshape}
+% \changes{v0.84}{2020/04/13}{Moved to core.}
+% \begin{macrocode}
+\newrobustcmd{\LWR@HTML@sscshape}{\LWR@HTML@scshape}
+\AtBeginDocument{\LWR@formatted{sscshape}}
% \end{macrocode}
% \end{macro}
@@ -37407,6 +40168,27 @@ color:\LWR@origpound\LWR@tempcolor%
+% \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 @@ color:\LWR@origpound\LWR@tempcolor%
% \begin{macro}{\textsuperscript} \marg{text}
% \changes{v0.50}{2018/02/20}{Robustify macros.}
+% \changes{v0.84}{2020/04/13}{Use \cs{LWR@formatted}.}
% \begin{macrocode}
-\renewrobustcmd{\textsuperscript}[1]{\LWR@htmlspan{sup}{#1}}
+\newrobustcmd{\LWR@HTML@textsuperscript}[1]{\LWR@htmlspan{sup}{#1}}
+\LWR@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@formatted}.}
% \begin{macrocode}
-\renewcommand{\@textsuperscript}[1]{\LWR@htmlspan{sup}{#1}}
+\newcommand{\LWR@HTML@@textsuperscript}[1]{\LWR@htmlspan{sup}{#1}}
+\LWR@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@formatted}. No longer \cs{AtBeginDocument}.}
% \begin{macrocode}
-\AtBeginDocument{
-\renewrobustcmd{\textsubscript}[1]{\LWR@htmlspan{sub}{#1}}
-}
+ \newrobustcmd{\LWR@HTML@textsubscript}[1]{\LWR@htmlspan{sub}{#1}}
+ \LWR@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@formatted}. No longer \cs{AtBeginDocument}.}
% \begin{macrocode}
-\AtBeginDocument{
-\renewcommand{\@textsubscript}[1]{\LWR@htmlspan{sub}{#1}}
-}
+ \newcommand{\LWR@HTML@@textsubscript}[1]{\LWR@htmlspan{sub}{#1}}
+ \LWR@formatted{@textsubscript}
% \end{macrocode}
% \end{macro}
@@ -37609,6 +40395,7 @@ color:\LWR@origpound\LWR@tempcolor%
% \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 @@ color:\LWR@origpound\LWR@tempcolor%
\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 @@ color:\LWR@origpound\LWR@tempcolor%
% \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@HTML@hrulefill}{\rule{1in}{1pt}}
+\newcommand*{\LWR@HTML@hrulefill}{%
+ \ifbool{LWR@doingapar}%
+ {\rule{1in}{1pt}}%
+ {%
+ \LWR@findcurrenttextcolor%
+ \ifdefstring{\LWR@tempcolor}{000000}%
+ {%
+ \begin{BlockClass}{hrule}%
+ \end{BlockClass}%
+ }%
+ {%
+ \begin{BlockClass}[%
+ border-top: 1px solid \LWR@origpound\LWR@tempcolor % space
+ ]{hrule}%
+ \end{BlockClass}%
+ }%
+ }%
+}%
\LWR@formatted{hrulefill}
% \end{macrocode}
% \end{macro}
@@ -37777,7 +40583,7 @@ color:\LWR@origpound\LWR@tempcolor%
% Placed just before \cs{hspace}, \cs{quad}, or \cs{qquad}'s \HTML\ output.
% \begin{macrocode}
\newcommand*{\LWR@minipagestartpars}{%
-\ifbool{LWR@minipagethispar}{\LWR@startpars}{}%
+ \ifbool{LWR@minipagethispar}{\LWR@startpars}{}%
}
% \end{macrocode}
% \end{macro}
@@ -37786,7 +40592,7 @@ color:\LWR@origpound\LWR@tempcolor%
% Placed just after \cs{hspace}, \cs{quad}, or \cs{qquad}'s \HTML\ output.
% \begin{macrocode}
\newcommand*{\LWR@minipagestoppars}{%
-\ifbool{LWR@minipagethispar}{\LWR@stoppars}{}%
+ \ifbool{LWR@minipagethispar}{\LWR@stoppars}{}%
}
% \end{macrocode}
% \end{macro}
@@ -37799,9 +40605,9 @@ color:\LWR@origpound\LWR@tempcolor%
% \changes{v0.65}{2018/12/22}{Changed to Unicode EM SPACE.}
% \begin{macrocode}
\renewrobustcmd*{\quad}{%
-\LWR@minipagestoppars%
-\HTMLunicode{2003}%
-\LWR@minipagestartpars%
+ \LWR@minipagestoppars%
+ \HTMLunicode{2003}%
+ \LWR@minipagestartpars%
}
% \end{macrocode}
% \end{macro}
@@ -37820,9 +40626,9 @@ color:\LWR@origpound\LWR@tempcolor%
% \changes{v0.65}{2018/12/22}{Changed to Unicode EN SPACE.}
% \begin{macrocode}
\renewrobustcmd*{\enskip}{%
-\LWR@minipagestoppars%
-\HTMLunicode{2002}%
-\LWR@minipagestartpars%
+ \LWR@minipagestoppars%
+ \HTMLunicode{2002}%
+ \LWR@minipagestartpars%
}
% \end{macrocode}
% \end{macro}
@@ -37881,11 +40687,12 @@ color:\LWR@origpound\LWR@tempcolor%
}%
% \end{macrocode}
% Print the span with the converted width. Not rounded.
+% \changes{v0.895}{2021/01/14}{Improved \HTML\ quotes.}
% \begin{macrocode}
{%
\LWR@htmltagc{%
- span style="width:\LWR@printlength{\LWR@tempwidth}; % extra space
- display:inline-block"%
+ span style=\textquotedbl{}width:\LWR@printlength{\LWR@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 @@ color:\LWR@origpound\LWR@tempcolor%
% 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@findcurrenttextcolor%
\LWR@htmltagc{%
span\LWR@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 @@ color:\LWR@origpound\LWR@tempcolor%
}%
% \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@orignewline%
+ display:inline-block;\textquotedbl\LWR@orignewline%
}%
% \end{macrocode}
% If formatting for a word processor, approximate with a number of underscores,
@@ -38144,6 +40953,33 @@ color:\LWR@origpound\LWR@tempcolor%
% \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@doingstartpars}%
+% ^^A {%
+% ^^A \begin{BlockClass}[border-top:1px solid silver]{hrule}%
+% ^^A \end{BlockClass}%
+% ^^A }{}%
+% ^^A \LWR@orig@hrule%
+% ^^A }
+% ^^A % \end{macrocode}
+% ^^A %
+% ^^A % Not needed, since print-mode \env{BlockClass} does nothing:
+% ^^A % \begin{sourceverb}
+% ^^A % \appto\LWR@restoreorigformatting{
+% ^^A % \let\hrule\LWR@orig@hrule%
+% ^^A % }
+% ^^A % \end{sourceverb}
+% ^^A % \end{macro}
+%
+%
% \begin{macrocode}
\end{warpHTML}
% \end{macrocode}
@@ -38158,17 +40994,18 @@ color:\LWR@origpound\LWR@tempcolor%
\begin{warpHTML}
% \end{macrocode}
-% \begin{macro}{\phantomsection}
+% \begin{macro}{\LWR@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@forcinghtmltoc}%
-\section*{}%
-\endgroup%
+\newrobustcmd*{\LWR@phantomsection}{%
+ \begingroup%
+ \boolfalse{LWR@forcinghtmltoc}%
+ \section*{}%
+ \endgroup%
}
% \end{macrocode}
% \end{macro}
@@ -38202,23 +41039,34 @@ color:\LWR@origpound\LWR@tempcolor%
%
%
% \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@warnXe}
+\boolfalse{LWR@warnXe}
+
\newrobustcmd*{\Xe}
- {X\hspace{-.1667em}\raisebox{-.5ex}{E}}
+ {%
+ X\hspace{-.1667em}\raisebox{-.5ex}{E}%
+ \global\booltrue{LWR@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@warnXe}{
+ \PackageWarningNoLine{lwarp}{Load graphicx or graphics
+ for improved XeTeX logo}
+ }{}
}
\providerobustcmd*{\XeTeX}{\mbox{\Xe\hspace{-.125em}\TeX}}
@@ -38422,7 +41270,7 @@ color:\LWR@origpound\LWR@tempcolor%
%
-% \section{\cs{AtBeginDocument}, \cs{AtEndDocument}}
+% \section{Starting and stopping \pkg{lwarp}}
% \codehtml
% \begin{macrocode}
@@ -38446,6 +41294,72 @@ color:\LWR@origpound\LWR@tempcolor%
% \end{macrocode}
+% \section{Loading \pkg{everyshi} patches}
+%
+% \pkg{everyshi} is emulated by the \LaTeX\ core, so its patches are loaded
+% here.
+% \cs{AtBeginDocument} is used in case an older verison of \LaTeX\ is
+% used.
+%
+% \changes{v0.89}{2020/07/28}{\pkg{everyshi}: Included in \LaTeX\ core.}
+%
+% \codehtml
+% \begin{macrocode}
+\begin{warpHTML}
+\AtBeginDocument{
+ \@ifpackageloaded{everyshi}{
+ \RequirePackage{lwarp-everyshi}
+ }{}
+}
+\end{warpHTML}
+% \end{macrocode}
+
+
+% \section{Loading \pkg{textcomp} patches}
+%
+% \pkg{textcomp} has now been integrated into the \LaTeX\ core,
+% 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}
@@ -38473,22 +41387,25 @@ color:\LWR@origpound\LWR@tempcolor%
% 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}.}
%
-% \codehtml
+% \codeall
% \begin{macrocode}
-\begin{warpHTML}
+\begin{warpprint}
+\@ifclassloaded{memoir}{\LWR@origRequirePackage{xcolor}}{}
+\end{warpprint}
% \end{macrocode}
-%
+
+% \codehtml
% \begin{macrocode}
+\begin{warpHTML}
\@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 @@ color:\LWR@origpound\LWR@tempcolor%
\quad%
}
}
+ \renewcommand*{\LWR@printchaptername}{}
% \end{macrocode}
% Use decimal points instead of centered dots:
% \begin{macrocode}
@@ -38610,6 +41528,8 @@ color:\LWR@origpound\LWR@tempcolor%
\LWR@isolate{\CTEX@chaptername}~%
\CTEX@chapter@aftername%
}%
+
+ \renewcommand*{\LWR@printchaptername}{}
}{}
}
% \end{macrocode}
@@ -38691,7 +41611,7 @@ color:\LWR@origpound\LWR@tempcolor%
\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 @@ color:\LWR@origpound\LWR@tempcolor%
%
%
% \section{\brand{MathJax} warnings}
-% ^^A *mathjax
%
% \begin{macro}{\LWR@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@mathjaxwarn}[2]{%
\@ifpackageloaded{lwarp-#1}{%
@@ -38741,60 +41660,147 @@ color:\LWR@origpound\LWR@tempcolor%
}{}%
}
+% \begin{macro}{\LWR@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@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@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@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@nomathjaxwarn{aligned-overset}{}
+ \LWR@nomathjaxwarn{amscdx}
+ {\LWR@forceSVGmessage{amscdx}}
\LWR@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@nomathjaxwarn{autoaligne}{}
\LWR@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@mathjaxwarn{backnaur}
- {You may enclose its uses inside\MessageBreak
- lateximage environments to force SVG output,\MessageBreak
- but this also changes the print output}
\LWR@mathjaxwarn{bigdelim}
{Delimiters appear only of the first line}
+ \LWR@nomathjaxwarn{boldtensors}{}
\LWR@mathjaxwarn{booktabs}
- {In a math array, do not use (trim) for \protect\cmidrule}
+ {\protect\cmidrule\space is not displayed}
\LWR@mathjaxwarn{breqn}
{Each environment becomes an SVG image}
+ \LWR@mathjaxwarn{colortbl}
+ {Colors are ignored in MathJax.\MessageBreak
+ (Text mode tabular does support colortbl.)\MessageBreak
+ \LWR@forceSVGmessage{colortbl}}
\LWR@mathjaxwarn{delarray}
- {Enclose its uses inside lateximage\MessageBreak
- environments to force SVG output}
- \LWR@mathjaxwarn{jkmath}{}
- \LWR@mathjaxwarn{mathspec}{}
+ {\LWR@forceSVGmessage{delarray}}
+ \LWR@nomathjaxwarn{gauss}
+ {\LWR@forceSVGmessage{gauss}}
+ \LWR@mathjaxwarn{hhline}
+ {A simple \protect\hline\space is used}
+ \LWR@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@nomathjaxwarn{jkmath}
+ {\LWR@forceSVGmessage{jkmath}}
+ \LWR@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@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@mathjaxwarn{mathspec}
+ {Double quotes are removed, even inside \protect\text}
\LWR@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@mathjaxwarn{pb-diagram}
- {Enclose its uses inside lateximage environments\MessageBreak
- to force SVG output}
- \LWR@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@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@forceSVGmessage{nicematrix}%
+ }
+ \LWR@nomathjaxwarn{pb-diagram}
+ {\LWR@forceSVGmessage{pb-diagram}}
+% \LWR@mathjaxwarn{physics}
+% % {The third-party extension is not used.\MessageBreak
+% {The MathJax v3 extension is used.\MessageBreak
+% See the Lwarp manual for details}
+ \LWR@nomathjaxwarn{tensind}{}
\LWR@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@nomathjaxwarn{unitsdef}{}
\LWR@mathjaxwarn{witharrows}
{Arrows can only point to the next line.\MessageBreak
Text is only placed on a single line}
- \LWR@mathjaxwarn{xy}
- {xy works in text, but in math you must\MessageBreak
- enclose its uses inside lateximage\MessageBreak
- environments to force SVG output}
+ \LWR@nomathjaxwarn{xy}
+ {In text, xy works as-is. SVG images will be generated.\MessageBreak
+ \LWR@forceSVGmessage{xy}}
}{}
}
% \end{macrocode}
@@ -39050,33 +42056,37 @@ color:\LWR@origpound\LWR@tempcolor%
\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@bstract
\if@bsrunin
\else
- \if@bsstyle
- \abstitlestyle{\BlockClassSingle{abstracttitle}{\abstractname}}
- \else
+% \if@bsstyle
+% \abstitlestyle{\BlockClassSingle{abstracttitle}{\abstractname}}
+% \else
\ifnumber@bs
\num@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@bsintoc%
\begin{@bstr@ctlist}\if@bsrunin\@bsrunintitle\fi\abstracttextfont}%
- {\par\end{@bstr@ctlist}\vfil\null%\endtitlepage
+ {\par\end{@bstr@ctlist}%\vfil\null%\endtitlepage
}
}{% not memoir
\if@titlepage
@@ -39196,41 +42206,97 @@ color:\LWR@origpound\LWR@tempcolor%
%
%
%
-%
% \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@ProvidesPackageDrop{afterpage}[2014/10/28]
+\LWR@ProvidesPackagePass{accents}[2006/05/12]
% \end{macrocode}
%
+% For \brand{MathJax}:
% \begin{macrocode}
-\newcommand{\afterpage}[1]{#1}
+\begin{warpMathJax}
+\LWR@infoprocessingmathjax{accents}
+
+\CustomizeMathJax{\newcommand{\ring}[1]{\mathring{#1}}}
+\CustomizeMathJax{\newcommand{\accentset}[2]{\overset{#1{}}{#2}}}
+% \end{macrocode}
+%
+% As of this writing, \brand{MathJax} v3 does not yet support
+% groups for macros, so for \cs{underaccent}, the originals are remembered here,
+% then they are temporarily redefined and used inside \cs{underaccent},
+% then restored to their originals.
+% \cs{LARGE} gives a reasonable size, and \cs{raise} is used to
+% adjust vertically without introducing extra line space.
+% \begin{macrocode}
+\CustomizeMathJax{\let\LWRgrave\grave}
+\CustomizeMathJax{\let\LWRacute\acute}
+\CustomizeMathJax{\let\LWRcheck\check}
+\CustomizeMathJax{\let\LWRbreve\breve}
+\CustomizeMathJax{\let\LWRbar\bar}
+\CustomizeMathJax{\let\LWRhat\hat}
+\CustomizeMathJax{\let\LWRdot\dot}
+\CustomizeMathJax{\let\LWRtilde\tilde}
+\CustomizeMathJax{\let\LWRddot\ddot}
+\CustomizeMathJax{\let\LWRvec\vec}
+\CustomizeMathJax{\let\LWRwidetilde\widetilde}
+
+\CustomizeMathJax{\newcommand{\underaccent}[2]{%
+ {%
+ \renewcommand{\grave}[1]{{\LARGE\LWRgrave{##1}}}%
+ \renewcommand{\acute}[1]{{\LARGE\LWRacute{##1}}}%
+ \renewcommand{\check}[1]{{\LARGE\LWRcheck{##1}}}%
+ \renewcommand{\breve}[1]{{\LARGE\LWRbreve{##1}}}%
+ \renewcommand{\bar}[1]{{\LARGE\LWRbar{##1}}}%
+ \renewcommand{\hat}[1]{{\LARGE\LWRhat{##1}}}%
+ \renewcommand{\dot}[1]{{\LARGE\LWRdot{##1}}}%
+ \renewcommand{\tilde}[1]{{\LARGE\LWRtilde{##1}}}%
+ \renewcommand{\ddot}[1]{{\LARGE\LWRddot{##1}}}%
+ \renewcommand{\vec}[1]{{\LARGE\LWRvec{##1}}}%
+ \renewcommand{\widetilde}[1]{{\LARGE\LWRwidetilde{\hphantom{#2}}}}%
+ \underset{\raise 2pt {#1{}}}{#2}%
+ \let\grave\LWRgrave%
+ \let\acute\LWRacute%
+ \let\check\LWRcheck%
+ \let\breve\LWRbreve%
+ \let\bar\LWRbar%
+ \let\hat\LWRhat%
+ \let\dot\LWRdot%
+ \let\tilde\LWRtilde%
+ \let\ddot\LWRddot%
+ \let\vec\LWRvec%
+ \let\widetilde\LWRwidetilde%
+ }%
+}}
+
+\CustomizeMathJax{\newcommand{\undertilde}[1]{%
+ \underset{\raise 3pt {\widetilde{\hphantom{#1}}}}{#1}%
+}}
+\end{warpMathJax}
% \end{macrocode}
%
% \iffalse
-%</afterpage>
+%</accents>
% \fi
%
%
%
%
-%
-%
% \iffalse
%<*accessibility>
% \fi
@@ -39252,7 +42318,7 @@ color:\LWR@origpound\LWR@tempcolor%
%
% \begin{macrocode}
\newcommand{\alt}[1]{\ThisAltText{#1}}
-\newcommand{\newhref}[3]{\ThisAltText{#2}\href{#1}{#3}}%
+\newcommand{\newhref}[3]{\ThisAltText{#2}\LWR@href{#1}{#3}}%
\providecommand{\thead}[1]{\textbf{#1}}
% \end{macrocode}
%
@@ -39325,6 +42391,8 @@ color:\LWR@origpound\LWR@tempcolor%
% \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 @@ color:\LWR@origpound\LWR@tempcolor%
\LWR@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@HTML@acro_dot_fill: {\dots\space}
+\LWR@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 @@ color:\LWR@origpound\LWR@tempcolor%
\group_end:
}
}% before v2.10
+}% before v3
\ExplSyntaxOff
% \end{macrocode}
@@ -39601,8 +42684,8 @@ color:\LWR@origpound\LWR@tempcolor%
% \changes{v0.47}{2018/01/26}{\pkg{adjmulticol}: Fix: Line wrap at \HTML\ hyphen.}
% \begin{macrocode}
\BlockClass[%
-\LWR@print@mbox{margin-left:\LWR@printlength{\LWR@templengthone}} ; %
-\LWR@print@mbox{margin-right:\LWR@printlength{\LWR@templengthtwo}}%
+ \LWR@print@mbox{margin-left:\LWR@printlength{\LWR@templengthone}} ; %
+ \LWR@print@mbox{margin-right:\LWR@printlength{\LWR@templengthtwo}}%
]{\LWR@mcolstype}%
}
{\endBlockClass}
@@ -39885,37 +42968,37 @@ color:\LWR@origpound\LWR@tempcolor%
% and turns off line numbering while creating the \element{div} tags:
% \begin{macrocode}
\renewcommand{\algocf@Vline}[1]{%
-\boolfalse{LWR@algocf@dopars}%
-\begin{BlockClass}{alg2evline}
-\booltrue{LWR@algocf@dopars}%
-#1
-\boolfalse{LWR@algocf@dopars}%
-\end{BlockClass}
-\booltrue{LWR@algocf@dopars}%
+ \boolfalse{LWR@algocf@dopars}%
+ \begin{BlockClass}{alg2evline}
+ \booltrue{LWR@algocf@dopars}%
+ #1
+ \boolfalse{LWR@algocf@dopars}%
+ \end{BlockClass}
+ \booltrue{LWR@algocf@dopars}%
}
% \end{macrocode}
%
% \begin{macrocode}
\renewcommand{\algocf@Vsline}[1]{%
-\boolfalse{LWR@algocf@dopars}%
-\begin{BlockClass}{alg2evsline}
-\booltrue{LWR@algocf@dopars}%
-#1
-\boolfalse{LWR@algocf@dopars}%
-\end{BlockClass}
-\booltrue{LWR@algocf@dopars}%
+ \boolfalse{LWR@algocf@dopars}%
+ \begin{BlockClass}{alg2evsline}
+ \booltrue{LWR@algocf@dopars}%
+ #1
+ \boolfalse{LWR@algocf@dopars}%
+ \end{BlockClass}
+ \booltrue{LWR@algocf@dopars}%
}
% \end{macrocode}
%
% \begin{macrocode}
\renewcommand{\algocf@Noline}[1]{%
-\boolfalse{LWR@algocf@dopars}%
-\begin{BlockClass}{alg2enoline}
-\booltrue{LWR@algocf@dopars}%
-#1
-\boolfalse{LWR@algocf@dopars}%
-\end{BlockClass}
-\booltrue{LWR@algocf@dopars}%
+ \boolfalse{LWR@algocf@dopars}%
+ \begin{BlockClass}{alg2enoline}
+ \booltrue{LWR@algocf@dopars}%
+ #1
+ \boolfalse{LWR@algocf@dopars}%
+ \end{BlockClass}
+ \booltrue{LWR@algocf@dopars}%
}
% \end{macrocode}
%
@@ -39961,12 +43044,8 @@ color:\LWR@origpound\LWR@tempcolor%
%
% \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}{%
%
@@ -39975,7 +43054,9 @@ color:\LWR@origpound\LWR@tempcolor%
\renewcommand*{\ALG@doentity}{%
\origALG@doentity%
\LWR@htmltagc{%
-span style="width:\LWR@printlength{\ALG@thistlm}; display:inline-block;"%
+ span style=\textquotedbl{}%
+ width:\LWR@printlength{\ALG@thistlm}; display:inline-block;%
+ \textquotedbl%
}%
\ifbool{FormatWP}{%
\setlength{\LWR@templengthone}{\the\ALG@thistlm}%
@@ -39999,10 +43080,6 @@ span style="width:\LWR@printlength{\ALG@thistlm}; display:inline-block;"%
}%
% \end{macrocode}
-% \begin{macrocode}
-\end{warpHTML}
-% \end{macrocode}
-
% \iffalse
%</algorithmicx>
% \fi
@@ -40024,6 +43101,7 @@ span style="width:\LWR@printlength{\ALG@thistlm}; display:inline-block;"%
% \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 @@ span style="width:\LWR@printlength{\ALG@thistlm}; display:inline-block;"%
% \begin{macrocode}
\AfterEndPreamble{
\LWR@traceinfo{Patching alltt.}
+
\AtBeginEnvironment{alltt}{%
-\LWR@forcenewpage
-\LWR@atbeginverbatim{3}{alltt}%
+ \ifnumcomp{\value{LWR@lateximagedepth}}{>}{0}%
+ {}%
+ {%
+ \LWR@forcenewpage
+% \end{macrocode}
+% Vertical spacing changes if inside a list.
+% \begin{macrocode}
+ \LWR@atbeginverbatim{alltt}%
+ }%
}
+
\AfterEndEnvironment{alltt}{%
- \LWR@afterendverbatim{2}%
+ \ifnumcomp{\value{LWR@lateximagedepth}}{>}{0}%
+ {}%
+ {%
+% \end{macrocode}
+% Vertical spacing changes if inside a list.
+% \begin{macrocode}
+ \LWR@afterendverbatim%
+ }%
}
+
}
% \end{macrocode}
%
@@ -40051,6 +43146,53 @@ span style="width:\LWR@printlength{\ALG@thistlm}; display:inline-block;"%
%
%
%
+% \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@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>
@@ -40074,6 +43216,15 @@ span style="width:\LWR@printlength{\ALG@thistlm}; display:inline-block;"%
\LWR@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@HTML@dotso}{\textellipsis\ }
+\LWR@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 @@ span style="width:\LWR@printlength{\ALG@thistlm}; display:inline-block;"%
% Embeds the environment inside a \env{lateximage}.
%
% \changes{v0.80}{2020/02/13}{AMS environments: Fix: Centering starred envs.}
+% \changes{v0.89}{2020/08/02}{AMS environments: Fix: \element{ALT} text env name.}
% \begin{macrocode}
\NewDocumentCommand{\LWR@amsmathenv@@before}{s m}{%
\IfBooleanTF{#1}{
@@ -40137,7 +43289,7 @@ span style="width:\LWR@printlength{\ALG@thistlm}; display:inline-block;"%
}
\LWR@newautoidanchor%
\booltrue{LWR@indisplaymathimage}%
- \begin{lateximage}[\LWR@amsmathbodynumbered{#1}]*
+ \begin{lateximage}[\LWR@amsmathbodynumbered{#2}]*%
\LWR@applyxfakebold%
}
% \end{macrocode}
@@ -40214,7 +43366,7 @@ span style="width:\LWR@printlength{\ALG@thistlm}; display:inline-block;"%
{\LWR@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@ThisAltText{}%
}{}
@@ -40297,7 +43449,7 @@ span style="width:\LWR@printlength{\ALG@thistlm}; display:inline-block;"%
% \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@amsmathenv@before{alignat}}
@@ -40315,12 +43467,33 @@ span style="width:\LWR@printlength{\ALG@thistlm}; display:inline-block;"%
% \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 @@ span style="width:\LWR@printlength{\ALG@thistlm}; display:inline-block;"%
% \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@ProvidesPackagePass{amsthm}[2017/10/31]
% \end{macrocode}
-
+%
+%
% Storage for the style being used for new theorems:
% \begin{macrocode}
\newcommand{\LWR@newtheoremstyle}{plain}
@@ -40423,7 +43608,9 @@ span style="width:\LWR@printlength{\ALG@thistlm}; display:inline-block;"%
\else % numbered theorem, need to check for optional arg
\def\@tempa{\@oparg{\@ynthm{#2}}[]}%
\fi
- \AtBeginEnvironment{#2}{\edef\LWR@thisthmstyle{\@nameuse{LWR@thmstyle#2}}}% lwarp
+ \AtBeginEnvironment{#2}{%
+ \edef\LWR@thisthmstyle{\@nameuse{LWR@thmstyle#2}}%
+ }% lwarp
}%
\@tempa
}
@@ -40432,15 +43619,21 @@ span style="width:\LWR@printlength{\ALG@thistlm}; display:inline-block;"%
% Patched to enclose with \CSS:
% \begin{macrocode}
\newcommand{\LWR@haveamsthmname}{
-\renewcommand{\thmname}[1]{\InlineClass{amsthmname\LWR@thisthmstyle}{##1}}
+ \renewcommand{\thmname}[1]{%
+ \InlineClass{amsthmname\LWR@thisthmstyle}{##1}%
+ }
}
\newcommand{\LWR@haveamsthmnumber}{
-\renewcommand{\thmnumber}[1]{\InlineClass{amsthmnumber\LWR@thisthmstyle}{##1}}
+ \renewcommand{\thmnumber}[1]{%
+ \InlineClass{amsthmnumber\LWR@thisthmstyle}{##1}%
+ }
}
\newcommand{\LWR@haveamsthmnote}{
-\renewcommand{\thmnote}[1]{\InlineClass{amsthmnote\LWR@thisthmstyle}{##1}}
+ \renewcommand{\thmnote}[1]{%
+ \InlineClass{amsthmnote\LWR@thisthmstyle}{##1}%
+ }
}
\LWR@haveamsthmname
@@ -40448,15 +43641,22 @@ span style="width:\LWR@printlength{\ALG@thistlm}; display:inline-block;"%
\LWR@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@thm@head{
% \the\thm@headfont \thm@indent
- \@ifempty{#1}{\let\thmname\@gobble}{\LWR@haveamsthmname}% lwarp
- \@ifempty{#2}{\let\thmnumber\@gobble}{\LWR@haveamsthmnumber}% lwarp
- \@ifempty{#3}{\let\thmnote\@gobble}{\LWR@haveamsthmnote}% lwarp
+ \@ifempty{#1}{\let\thmname\@gobble}{\LWR@haveamsthmname}% lwarp
+ \@ifempty{#2}{\let\thmnumber\@gobble}{\LWR@haveamsthmnumber}% lwarp
+ \@ifempty{#3}{\let\thmnote\@gobble}{\LWR@haveamsthmnote}% lwarp
\thm@swap\swappedhead\thmhead{#1}{#2}{#3}%
\the\thm@headpunct~
\thmheadnl % possibly a newline.
@@ -40472,8 +43672,8 @@ span style="width:\LWR@printlength{\ALG@thistlm}; display:inline-block;"%
\def\@thm#1#2#3{%
\ifhmode\unskip\unskip\par\fi
\normalfont
- \LWR@forcenewpage% lwarp
- \BlockClass{amsthmbody\LWR@thisthmstyle}% lwarp
+ \LWR@forcenewpage% lwarp
+ \BlockClass{amsthmbody\LWR@thisthmstyle}% lwarp
\trivlist
\let\thmheadnl\relax
\let\thm@swap\@gobble
@@ -40501,8 +43701,8 @@ span style="width:\LWR@printlength{\ALG@thistlm}; display:inline-block;"%
\def\cref@thmoptarg[#1]#2#3#4{%
\ifhmode\unskip\unskip\par\fi%
\normalfont%
- \LWR@forcenewpage% lwarp
- \BlockClass{amsthmbody\LWR@thisthmstyle}% lwarp
+ \LWR@forcenewpage% lwarp
+ \BlockClass{amsthmbody\LWR@thisthmstyle}% lwarp
\trivlist%
\let\thmheadnl\relax%
\let\thm@swap\@gobble%
@@ -40543,9 +43743,9 @@ span style="width:\LWR@printlength{\ALG@thistlm}; display:inline-block;"%
\def\Box{\text{\HTMLunicode{25A1}}}% UTF-8 white box
\appto\LWR@restoreorigformatting{%
-\LetLtxMacro\openbox\LWR@orig@openbox%
-\LetLtxMacro\blacksquare\LWR@orig@blacksquare%
-\LetLtxMacro\Box\LWR@orig@Box%
+ \LetLtxMacro\openbox\LWR@orig@openbox%
+ \LetLtxMacro\blacksquare\LWR@orig@blacksquare%
+ \LetLtxMacro\Box\LWR@orig@Box%
}% appto
}{}% @ifundefined
}% AtBeginDocument
@@ -41116,7 +44316,19 @@ span style="width:\LWR@printlength{\ALG@thistlm}; display:inline-block;"%
\LWR@ProvidesPackageDrop{atbegshi}[2011/10/05]
% \end{macrocode}
%
+% \changes{v0.89}{2020/07/28}{\pkg{atbegshi}: Adapt to \LaTeX kernel changes.}
% \begin{macrocode}
+\let\AtBeginShipout\relax
+\let\AtBeginShipoutNext\relax
+\let\AtBeginShipoutFirst\relax
+\let\AtBeginShipoutDiscard\relax
+\let\AtBeginShipoutInit\relax
+\let\AtBeginShipoutAddToBox\relax
+\let\AtBeginShipoutAddToBoxForeground\relax
+\let\AtBeginShipoutUpperLeft\relax
+\let\AtBeginShipoutUpperLeftForeground\relax
+\let\AtBeginShipoutOriginalShipout\relax
+
\newcommand*{\AtBeginShipout}[1]{}
\newbox\AtBeginShipoutBox
\newcommand*{\AtBeginShipoutNext}[1]{}
@@ -41131,7 +44343,6 @@ span style="width:\LWR@printlength{\ALG@thistlm}; display:inline-block;"%
\def\AtBeginShipoutBoxWidth{0pt}
\def\AtBeginShipoutBoxHeight{0pt}
\def\AtBeginShipoutBoxDepth{0pt}
-
% \end{macrocode}
%
% \iffalse
@@ -41212,7 +44423,7 @@ span style="width:\LWR@printlength{\ALG@thistlm}; display:inline-block;"%
% A file annotation becomes a reference:
% \begin{macrocode}
\DeclareRobustCommand{\atfi@insert@file@annot}[1]{%
- \href{#1}{\LWR@attachfile@appearance}%
+ \LWR@href{#1}{\LWR@attachfile@appearance}%
}
% \end{macrocode}
@@ -41310,7 +44521,7 @@ span style="width:\LWR@printlength{\ALG@thistlm}; display:inline-block;"%
% A file annotation becomes a reference:
% \begin{macrocode}
\DeclareRobustCommand{\atfi@insert@file@annot}[1]{%
- \href{#1}{\LWR@attachfile@appearance}%
+ \LWR@href{#1}{\LWR@attachfile@appearance}%
}
% \end{macrocode}
%
@@ -41382,11 +44593,14 @@ span style="width:\LWR@printlength{\ALG@thistlm}; display:inline-block;"%
% 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 @@ span style="width:\LWR@printlength{\ALG@thistlm}; display:inline-block;"%
% \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 @@ span style="width:\LWR@printlength{\ALG@thistlm}; display:inline-block;"%
\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 @@ span style="width:\LWR@printlength{\ALG@thistlm}; display:inline-block;"%
% ^^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 @@ span style="width:\LWR@printlength{\ALG@thistlm}; display:inline-block;"%
% 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 @@ span style="width:\LWR@printlength{\ALG@thistlm}; display:inline-block;"%
% Force the \optn{hyperref} option:
% \begin{macrocode}
-\def\backref{}\let\backrefxxx\hyper@section@backref
+\def\backref{}
+
+\long\def\hyper@section@backref#1#2#3{%
+ \ref{#3}%
+}
+
+\let\backrefxxx\hyper@section@backref
% \end{macrocode}
% \iffalse
@@ -42191,7 +45450,12 @@ span style="width:\LWR@printlength{\ALG@thistlm}; display:inline-block;"%
}{}
% \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@ProvidesPackagePass{biblatex}[2018/03/04]
% \end{macrocode}
%
@@ -42209,6 +45473,7 @@ span style="width:\LWR@printlength{\ALG@thistlm}; display:inline-block;"%
{}
{\listxadd\blx@anchors{\the\c@refsection @\abx@field@entrykey}%
\hypertarget{cite.\the\c@refsection @\abx@field@entrykey}{}}}
+
\protected\def\blx@imc@bibhyperref{%
\@ifnextchar[%]
{\blx@bibhyperref}
@@ -42245,7 +45510,134 @@ span style="width:\LWR@printlength{\ALG@thistlm}; display:inline-block;"%
}
\let\blx@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@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@range@prev{\abx@range@prev+1}%
+ \ifinteger{#1}
+ {\def\abx@range@num{#1}%
+ \def\abx@range@this{1}%
+ \ifnumequal{\abx@range@this}{\abx@range@last}
+ {}
+ {\def\abx@range@prev{-1}}}
+ {\ifrmnum{#1}
+ {\numdef\abx@range@num{\rmntonum{#1}}%
+ \def\abx@range@this{2}%
+ \ifnumequal{\abx@range@this}{\abx@range@last}
+ {}
+ {\def\abx@range@prev{-1}}}
+ {\undef\abx@range@num
+ \def\abx@range@this{0}%
+ \def\abx@range@prev{-1}}}%
+ \ifdef\abx@range@num
+ {\ifnumequal{\abx@range@num}{\abx@range@prev}
+ {\def\abx@range@hold{#1}%
+ \numdef\abx@range@diff{\abx@range@diff+1}}
+ {\usebibmacro{pageref:dump}%
+ \ifnumgreater{\abx@range@last}{-1}
+ {\printdelim{multilistdelim}}
+ {}%
+ \ifhyperref
+% {\hyperlink{page.#1}{#1}}
+ {\ref{\BaseJobname-autopage-#1}}% lwarp
+ {#1}}%
+ \edef\abx@range@prev{\abx@range@num}}
+ {\usebibmacro{pageref:dump}%
+ \ifnumgreater{\abx@range@last}{-1}
+ {\printdelim{multilistdelim}}
+ {}%
+ \ifhyperref
+% {\hyperlink{page.#1}{#1}}
+ {\ref{\BaseJobname-autopage-#1}}% lwarp
+ {#1}%
+ \def\abx@range@prev{-1}}%
+ \edef\abx@range@last{\abx@range@this}}
+
+\renewbibmacro*{pageref:dump}{%
+ \ifnumgreater{\abx@range@diff}{0}
+ {\ifcase\abx@pagerefstyle\relax % two
+ \bibrangedash
+ \ifhyperref
+% {\hyperlink{page.\abx@range@hold}{\abx@range@hold}}
+ {\ref{\BaseJobname-autopage-\abx@range@hold}}% lwarp
+ {\abx@range@hold}%
+ \or % three
+ \ifnumless{\abx@range@diff}{2}
+ {\printdelim{multilistdelim}}
+ {\bibrangedash}%
+ \ifhyperref
+% {\hyperlink{page.\abx@range@hold}{\abx@range@hold}}
+ {\ref{\BaseJobname-autopage-\abx@range@hold}}% lwarp
+ {\abx@range@hold}%
+ \or % two+
+ \ifnumless{\abx@range@diff}{2}
+ {\sqspace
+ \ifhyperref
+% {\hyperlink{page.\abx@range@hold}{\bibstring{sequens}}}
+ {\ref{\BaseJobname-autopage-\abx@range@hold}}% lwarp
+ {\bibstring{sequens}}}
+ {\bibrangedash
+ \ifhyperref
+% {\hyperlink{page.\abx@range@hold}{\abx@range@hold}}
+ {\ref{\BaseJobname-autopage-\abx@range@hold}}% lwarp
+ {\abx@range@hold}}%
+ \or % three+
+ \ifnumless{\abx@range@diff}{2}
+ {\sqspace
+ \ifhyperref
+% {\hyperlink{page.\abx@range@hold}{\bibstring{sequens}}}
+ {\ref{\BaseJobname-autopage-\abx@range@hold}}% lwarp
+ {\bibstring{sequens}}}
+ {\ifnumless{\abx@range@diff}{3}
+ {\sqspace
+ \ifhyperref
+% {\hyperlink{page.\abx@range@hold}{\bibstring{sequentes}}}
+ {\ref{\BaseJobname-autopage-\abx@range@hold}}% lwarp
+ {\bibstring{sequentes}}}
+ {\bibrangedash
+ \ifhyperref
+% {\hyperlink{page.\abx@range@hold}{\abx@range@hold}}
+ {\ref{\BaseJobname-autopage-\abx@range@hold}}% lwarp
+ {\abx@range@hold}}}%
+ \else % all+
+ \ifnumless{\abx@range@diff}{2}
+ {\sqspace
+ \ifhyperref
+% {\hyperlink{page.\abx@range@hold}{\bibstring{sequens}}}
+ {\ref{\BaseJobname-autopage-\abx@range@hold}}% lwarp
+ {\bibstring{sequens}}}
+ {\sqspace
+ \ifhyperref
+% {\hyperlink{page.\abx@range@hold}{\bibstring{sequentes}}}
+ {\ref{\BaseJobname-autopage-\abx@range@hold}}% lwarp
+ {\bibstring{sequentes}}}%
+ \fi
+ \def\abx@range@diff{0}}
+ {}}
+
+}% \AfterPreamble
% \end{macrocode}
%
% \iffalse
@@ -42254,6 +45646,8 @@ span style="width:\LWR@printlength{\ALG@thistlm}; display:inline-block;"%
%
%
%
+%
+%
% \iffalse
%<*bibunits>
% \fi
@@ -42783,12 +46177,17 @@ span style="width:\LWR@printlength{\ALG@thistlm}; display:inline-block;"%
%
% 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 @@ span style="width:\LWR@printlength{\ALG@thistlm}; display:inline-block;"%
%
%
% \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@ProvidesPackagePass{boxedminipage2e}[2015/03/09]
+\LWR@ProvidesPackagePass{boxedminipage}[2020/04/19]
% \end{macrocode}
% \begin{macrocode}
@@ -42899,6 +46298,34 @@ span style="width:\LWR@printlength{\ALG@thistlm}; display:inline-block;"%
% \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@ProvidesPackagePass{boxedminipage2e}
+% \end{macrocode}
+
+% \iffalse
%</boxedminipage2e>
% \fi
%
@@ -42918,9 +46345,10 @@ span style="width:\LWR@printlength{\ALG@thistlm}; display:inline-block;"%
%
% \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 @@ span style="width:\LWR@printlength{\ALG@thistlm}; display:inline-block;"%
%
% \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 @@ span style="width:\LWR@printlength{\ALG@thistlm}; display:inline-block;"%
% \end{macrocode}
%
% \begin{macrocode}
-\LetLtxMacro\burl\url
+\LetLtxMacro\burl\LWR@url
\NewDocumentCommand{\LWR@burlaltb}{O{} +m m}{%
\LWR@ensuredoingapar%
@@ -43130,6 +46551,57 @@ span style="width:\LWR@printlength{\ALG@thistlm}; display:inline-block;"%
%
%
%
+% \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@ProvidesPackagePass{bussproofs}% no date in file
+% \end{macrocode}
+%
+% \begin{macrocode}
+\ifbool{mathjax}{
+ \CustomizeMathJax{\require{bussproofs}}
+
+ \NewEnviron{LWR@HTML@prooftree}%
+ {\LWR@doequation{\BODY}{prooftree}}%
+ [\LWR@doendequation{prooftree}]
+ \LWR@formattedenv{prooftree}
+}{% SVG HTML
+ \BeforeBeginEnvironment{prooftree}{%
+ \begin{lateximage}[-bussproofs-~\PackageDiagramAltText]%
+ }
+ \AfterEndEnvironment{prooftree}{\end{lateximage}}
+}
+% \end{macrocode}
+%
+% \iffalse
+%</bussproofs>
+% \fi
+%
+%
+%
%
% \iffalse
%<*bxpapersize>
@@ -43206,9 +46678,10 @@ span style="width:\LWR@printlength{\ALG@thistlm}; display:inline-block;"%
% \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 @@ span style="width:\LWR@printlength{\ALG@thistlm}; display:inline-block;"%
% \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,126 +46799,266 @@ s%
% \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@ProvidesPackagePass{caption}[2019/09/01]
-% \end{macrocode}
-
-% \begin{macrocode}
-\renewcommand\caption@ibox[3]{%
- \@testopt{\caption@iibox{#1}{#2}{#3}}{%
-% \wd\@tempboxa%
- \linewidth% lwarp
- }%
-% \LWR@traceinfo{caption@ibox: done}%
-}
+\LWR@ProvidesPackagePass{caption}[2020/10/26]
% \end{macrocode}
%
+% ^^A This could be given a permanent standardized name, then redefined by lwarp.
% \begin{macrocode}
-\long\def\caption@iibox#1#2#3[#4]{%
- \@testopt{\caption@iiibox{#1}{#2}{#3}{#4}}\captionbox@hj@default
+\long\def\caption@iibox@#1#2#3#4{%
+% \setbox\@tempboxa\hbox{#4}%
+ \caption@iiibox{#1}{#2}{#3}%
+% [\wd\@tempboxa]%
+ []% lwarp
+ [\captionbox@hj@default]%
+% {\unhbox\@tempboxa}%
+ {{#4}}% lwarp
}
% \end{macrocode}
%
% \begin{macrocode}
-\long\def\caption@iiibox#1#2#3#4[#5]#6{%
-% \setbox\@tempboxa\hbox{#6}%
+\long\def\caption@iiiibox#1#2#3#4#5[#6][#7]#8{%
\begingroup
#1*% set \caption@position
\caption@iftop{%
- \LWR@traceinfo{caption@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@setposition t%
-% \vbox{\caption#2{#3}}%
- {\caption#2{#3}}% lwarp
+% #2%
+ {\caption#4{#5}}%
% \captionbox@hrule
-% \csname caption@hj@#5\endcsname
-% \unhbox\@tempboxa
- #6% lwarp
+% \csname caption@hj@#7\endcsname
+ #8%
}%
}{%
- \LWR@traceinfo{caption@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@setposition b%
-% \csname caption@hj@#5\endcsname
-% \unhbox\@tempboxa
- #6% lwarp
+% \csname caption@hj@#7\endcsname
+ #8%
% \captionbox@hrule
-% \vtop{\caption#2{#3}}}%
- {\caption#2{#3}}% lwarp
- }%
+% #3
+ {\caption#4{#5}}%
+ }%
}%
-\LWR@traceinfo{caption@iiibox: done}%
-}
-
-% \def\caption@caption{%
-% \caption@iftype
-% {%
-% \caption@checkgrouplevel\@empty\caption
-% \caption@star
-% {\caption@refstepcounter\@captype}%
-% {\caption@dblarg{\@caption\@captype}}}%
-% {\caption@Error{\noexpand\caption outside float}%
-% \caption@gobble}%
-% }
-
-\long\def\caption@@caption#1[#2]#3{%
-% \end{macrocode}
-% \begin{macrocode}
- \ifcaption@star
- \else
- \caption@prepareanchor{#1}{#2}%
- \memcaptioninfo{#1}{\csname the#1\endcsname}{#2}{#3}%
- \@nameuse{nag@hascaptiontrue}%
- \fi
+}
% \end{macrocode}
+
+% \begin{noindmacro}{\caption@makecaption}
+% \changes{v0.71}{2019/04/08}{\pkg{caption}: Reduced underfull \cs{hbox} warnings.}
+% ^^A Lwarp could nullify \caption@make@above/bottom.
% \begin{macrocode}
- \par
- \caption@beginex{#1}{#2}{#3}%
- \caption@setfloatcapt{%
- \caption@boxrestore
- \if@minipage
- \@setminipage
- \fi
- \caption@normalsize
+\long\def\caption@makecaption#1#2{%
+% \caption@make@above
+ \caption@@make{#1}{#2}%
+% \caption@make@below
+}
+
+\AtBeginDocument{
+ \let\@makecaption\caption@makecaption
+}
% \end{macrocode}
-% \changes{v0.73}{2019/07/11}{\pkg{caption}: Fix for starred captions.}
+% \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@star
- \let\caption@makeanchor\@firstofone
- #3% lwarp
- \else% lwarp
- \@makecaption{\csname fnum@#1\endcsname}%
- {\ignorespaces\caption@makeanchor{#3}}%
- \fi% lwarp
+\AtBeginDocument{
+\xapptocmd{\@xfloat}
+ {\LWR@futurenonspacelet\LWR@mynexttoken\LWR@floatalignment}
+ {}
+ {\LWR@patcherror{caption}{@xfloat}}
+
+\xapptocmd{\@xdblfloat}
+ {\LWR@futurenonspacelet\LWR@mynexttoken\LWR@floatalignment}
+ {}
+ {\LWR@patcherror{caption}{@xdblfloat}}
+}
% \end{macrocode}
-% \changes{v0.70}{2019/03/24}{\pkg{caption}: Fix: Extra par tags.}
+
+
+% Updates for late patches for \pkg{scrextend}:
+% \changes{v0.88}{2020/07/15}{\pkg{caption}, \pkg{scrextend}: Fixed \cs{caption*}.}
% \begin{macrocode}
-% \par
- \caption@if@minipage\@minipagetrue\@minipagefalse}%
- \caption@end%
+\caption@AtBeginDocument{
+\@ifpackageloaded{lwarp-scrextend}{
+ \LetLtxMacro\captionbelow\caption
+ \LetLtxMacro\captionabove\caption
+ \LetLtxMacro\captionofbelow\captionof
+ \LetLtxMacro\captionofabove\captionof
+}{}
}
% \end{macrocode}
+%
+% \iffalse
+%</caption>
+% \fi
+%
+%
+%
+%
+%
+% \iffalse
+%<*caption3>
+% \fi
+%
+% \part{lwarp-caption3.sty}
+% \section{caption3}
+%
+% \credits{Axel Sommerfeldt}
+%
+% \DescribePackage{caption3}
+% \pkg{caption3} is patched for use by \pkg{lwarp}.
+%
+% \changes{v0.89}{2020/08/25}{\pkg{caption3}: Split from \pkg{lwarp-caption}.}
+% \changes{v0.893}{2020/11/26}{\pkg{caption3}: Updated date to v2.2e.}
+%
+% \codehtml
+%
+% \begin{macrocode}
+\LWR@ProvidesPackagePass{caption3}[2020/10/21]
+% \end{macrocode}
+%
+%
% \begin{noindmacro}{\caption@@@make}
% \marg{caption label} \marg{caption text}
% \begin{macrocode}
+\@ifpackagelater{caption3}{2020/08/23}{
+\renewcommand\caption@@@make[2]{%
+\LWR@traceinfo{caption@@@make}%
+% \end{macrocode}
+%
+% ^^A Lwarp has to stop and start its paragraph handling,
+% ^^A so I guess caption package could provide null macros for
+% ^^A \LWR@stoppars and \LWR@startpars if lwarp has not already defined them.
+% \begin{macrocode}
+ \LWR@stoppars% lwarp
+% \end{macrocode}
+%
+% ^^A This could be factored out into a macro with a standard name
+% ^^A which lwarp could nullify:
+% \begin{macrocode}
+% \sbox\@tempboxa{#1}%
+% \ifdim\wd\@tempboxa=\z@
+% \caption@set{labelseparator}{none}%
+% \fi
+ \caption@ifempty{#2}{%
+ \caption@set{labelseparator}{none}%
+ \caption@set{textformat}{simple}%
+ }%
+ \caption@labelseparator % defines \caption@iflabelfont,
+% \caption@labelsep and \caption@labelsep@name
+% (the latter is needed by \caption@fmt)
+%
+% \end{macrocode}
+%
+% ^^A This could be factored out into a macro with a standard name
+% ^^A which lwarp could nullify:
+% \begin{macrocode}
+% \@setpar{\@@par\caption@@par}\caption@@par
+ \caption@applyfont
+% \end{macrocode}
+%
+% \cs{caption@fmt} with \optn{plain} format is defined as |{#1#2#3\par}|:
+%
+% \begin{macrocode}
+% \caption@fmt
+ {\ifcaption@star\else
+ \begingroup
+ \captionlabelfont
+% \end{macrocode}
+%
+% ^^A \LWR@isolate could also be provided by caption if lwarp has
+% ^^A not already defined it. For caption, it might be \@firstofone, for example.
+% ^^A (For lwarp it improved Chinese text handling.)
+% \begin{macrocode}
+ \LWR@isolate{#1}% lwarp
+ \endgroup
+ \fi}%
+ {\ifcaption@star\else
+ \begingroup
+ \caption@iflabelfont\captionlabelfont
+ \relax\caption@labelsep
+ \endgroup
+ \fi}%
+ {{\captiontextfont
+% \end{macrocode}
+%
+% ^^A Another null macro in caption, which could be provided if
+% ^^A lwarp has not yet defined it:
+% \begin{macrocode}
+ \let\\\newline% lwarp
+%
+ \caption@textstart
+% \end{macrocode}
+%
+% ^^A This could be factored out into a macro with a standard name
+% ^^A which lwarp could nullify:
+% \begin{macrocode}
+% \caption@ifstrut
+% {\vrule\@height\ht\strutbox\@width\z@}%
+% {}%
+% \nobreak\hskip\z@skip % enable hyphenation
+% \end{macrocode}
+%
+% ^^A \LWR@isolate again:
+% \begin{macrocode}
+ \LWR@isolate{\caption@textformat{#2}}% lwarp
+% \end{macrocode}
+%
+% ^^A This could be factored out into a macro with a standard name
+% ^^A which lwarp could nullify:
+% \begin{macrocode}
+% \caption@ifstrut
+% {\ifhmode\@finalstrut\strutbox\fi}%
+% {}%
+ \caption@textend}}%
+% \end{macrocode}
+%
+% ^^A as \LWR@startpars above:
+% \begin{macrocode}
+ \LWR@startpars% lwarp
+\LWR@traceinfo{caption@@@make done}%
+}
+}% later than 2020/08/23
+{% earlier than 2020/08/23
\renewcommand\caption@@@make[2]{%
\LWR@traceinfo{caption@@@make}%
+ \LWR@stoppars% lwarp
% \sbox\@tempboxa{#1}%
% \ifdim\wd\@tempboxa=\z@
% \let\caption@lsep\relax
@@ -43445,6 +47067,7 @@ s%
\let\caption@lsep\@empty
\let\caption@tfmt\@firstofone
}%
+% \@setpar{\@@par\caption@@par}\caption@@par
\caption@applyfont
% \end{macrocode}
% \cs{caption@fmt} with \optn{plain} format is defined as |{#1#2#3\par}|:
@@ -43453,7 +47076,7 @@ s%
{\ifcaption@star\else
\begingroup
\captionlabelfont
- #1%
+ \LWR@isolate{#1}% lwarp
\endgroup
\fi}%
{\ifcaption@star\else
@@ -43465,68 +47088,63 @@ s%
\fi}%
{{%
\captiontextfont
+ \let\\\newline% lwarp
% \caption@ifstrut
% {\vrule\@height\ht\strutbox\@width\z@}%
% {}%
% \nobreak\hskip\z@skip % enable hyphenation
- \caption@tfmt{#2}%
+ \LWR@isolate{\caption@tfmt{#2}}% lwarp
% \caption@ifstrut
% {\ifhmode\@finalstrut\strutbox\fi}%
% {}%
}}%
+ \LWR@startpars% lwarp
\LWR@traceinfo{caption@@@make done}%
}
+}% earlier than 2020/08/23
% \end{macrocode}
% \end{noindmacro}
-
+%
+%
% \begin{noindmacro}{\caption@@make@} \marg{} \marg{}
+% ^^A This could be given a standardized name,
+% ^^A and redefined by lwarp as follows. Most of the original
+% ^^A is thrown away.
% \begin{macrocode}
\renewcommand{\caption@@make@}[2]{%
- \caption@stepthecounter
- \caption@beginhook
+ \caption@stepthecounter%
+ \caption@beginhook%
\caption@@@make{#1}{#2}%
- \caption@endhook
+ \caption@endhook%
}
% \end{macrocode}
% \end{noindmacro}
-
-% \begin{noindmacro}{\caption@makecaption}
-% \changes{v0.71}{2019/04/08}{Reduced underfull \cs{hbox} warnings.}
+%
+%
+%
+% ^^A These are simplifications for HTML:
% \begin{macrocode}
-\long\def\caption@makecaption#1#2{%
-% \caption@iftop
-% {\vskip\belowcaptionskip}%
-% {\caption@rule\vskip\abovecaptionskip}%
- \caption@@make{#1}{#2}%
-% \caption@iftop
-% {\vskip\abovecaptionskip\caption@rule}%
-% {\vskip\belowcaptionskip}%
+\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
%
%
%
%
%
-%
-%
-%
% \iffalse
%<*cases>
% \fi
@@ -43596,6 +47214,7 @@ s%
% and emulated for \brand{MathJax}.
%
% \changes{v0.80}{2020/02/08}{\pkg{centernot}: Added.}
+% \changes{v0.89}{2020/08/17}{\pkg{centernot}: Improved.}
%
% \codehtml
%
@@ -43603,9 +47222,17 @@ s%
\LWR@ProvidesPackagePass{centernot}[2016/05/16]
% \end{macrocode}
%
+% Based on \href{https://github.com/mathjax/MathJax/issues/2107}
+% {\texttt{https://github.com/mathjax/MathJax/issues/2107}}
+% with \cs{textstyle} removed to work with sub \Slash super scripts.
+%
% \begin{macrocode}
+\LWR@origRequirePackage{lwarp-common-mathjax-overlaysymbols}
+
\begin{warpMathJax}
-\CustomizeMathJax{\newcommand{\centernot}[1]{\not{\!#1\,}}}
+\CustomizeMathJax{\newcommand{\centernot}[1]{%
+ \LWRoverlaysymbols{\unicode{x2215}}{#1}
+}}
\end{warpMathJax}
% \end{macrocode}
%
@@ -43774,13 +47401,18 @@ s%
% \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@ProvidesPackagePass{changes}[2019/01/26]
+\LWR@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 @@ s%
% \changes{v0.72}{2019/06/05}{\pkg{changes}: Fix references for \pkg{xr}, \pkg{xr-hyper}.}
% \begin{macrocode}
\renewcommand{\ChangesListline}[4]{%
- \IfSubStr{\Changes@loc@show}{#1}{%
+ \IfIsInList{#1}{\Changes@loc@show}{%
\LWR@startpars%
#2: #3 \qquad
\nameref{\BaseJobname-autopage-#4}%
@@ -43796,112 +47428,255 @@ s%
}{}%
}
-\renewcommand{\Changes@summaryline}[4]{%
- \IfSubStr{\Changes@loc@show}{#1}{%
- \ifthenelse{\not\equal{\Changes@loc@style}{compactsummary} \or #2 > 0}%
- {%
- #3:~#2#4%
- }{}%
- }{}%
+\renewcommand{\listofchanges}[1][\@empty]{%
+\setkeys{Changes@loc}{#1}%
+\ifbool{Changes@optiondraft}%
+{%
+\IfIsInList{\Changes@loc@style}{list|summary|compactsummary}%
+{}%
+{%
+\PackageWarning{changes}{Wrong style for list of changes: '\Changes@loc@style', using 'list' instead.}%
+\def\Changes@loc@style{}%
+}%
+\IfIsEmpty{\Changes@loc@style}%
+{\def\Changes@loc@style{list}}%
+{}%
+\IfStrEq{\Changes@loc@show}{all}%
+{\def\Changes@loc@show{added|deleted|replaced|highlight|comment}}%
+{}%
+\IfIsInList{\Changes@loc@show}{added|deleted|replaced|highlight|comment}%
+{}%
+{%
+\PackageWarning{changes}{Wrong show-value for list of changes: '\Changes@loc@show', using 'all' instead.}%
+\def\Changes@loc@show{}%
+}%
+\IfIsEmpty{\Changes@loc@show}%
+{\def\Changes@loc@show{added|deleted|replaced|highlight|comment}}%
+{}%
+\IfIsEmpty{\Changes@loc@title}%
+{%
+\IfStrEq{\Changes@loc@style}{list}%
+{\def\Changes@heading{\listofchangesname}}{}%
+\IfStrEq{\Changes@loc@style}{summary}%
+{\def\Changes@heading{\summaryofchangesname}}{}%
+\IfStrEq{\Changes@loc@style}{compactsummary}%
+{\def\Changes@heading{\compactsummaryofchangesname}}{}%
+}%
+{\def\Changes@heading{\Changes@loc@title}}%
+\section*{\Changes@heading}
+\IfIsInList{\Changes@loc@style}{list}%
+{%
+\IfFileExists{\jobname.\Changes@locextension}%
+{%
+\newread\Changes@InFile%
+\openin\Changes@InFile=\jobname.\Changes@locextension%
+\loop\unless\ifeof\Changes@InFile%
+\read\Changes@InFile to \Changes@Line%
+\ifeof\Changes@InFile\else%
+\Changes@Line%
+\fi
+\repeat
+\closein\Changes@InFile%
+}{%
+\emph{\changesnoloc}%
+\PackageWarning{changes}{LaTeX rerun needed for list of changes}%
+}%
+}{}%
+\IfIsInList{\Changes@loc@style}{summary|compactsummary}%
+{%
+\IfFileExists{\jobname.\Changes@socextension}%
+{%
+\newread\Changes@InFile%
+\openin\Changes@InFile = \jobname.\Changes@socextension%
+\loop\unless\ifeof\Changes@InFile%
+\read\Changes@InFile to \Changes@Line%
+\ifeof\Changes@InFile\else%
+\expandafter\changes@chopline\Changes@Line\\%
+\textbf{%
+\IfIsColored%
+{\color{\Changes@Incolor}}%
+{}%
+\IfIsAnonymous{\Changes@Inid}%
+{%
+ \LWR@textcurrentcolor{% lwarp
+ \changesauthorname: \changesanonymousname%
+ }% lwarp
+}%
+{%
+ \LWR@textcurrentcolor{% lwarp
+\changesauthorname: \Changes@Inid%
+ }% lwarp
+\IfIsEmpty{\Changes@Inname}%
+{}%
+{ %
+ \LWR@textcurrentcolor{% lwarp
+(\Changes@Inname)%
+ }% lwarp
+}%
+}%
+}\\%
+\numdef{\Changes@InSum}{0}%
+\renewcommand*{\do}[1]{%
+\numdef{\Changes@InSum}{\Changes@InSum + \csuse{Changes@In########1}}%
+}%
+\expandafter\dopsvlist\expandafter{\Changes@loc@show}%
+\ifnumcomp{\Changes@InSum}{=}{0}%
+{%
+% \parbox{\Changes@summary@width}{% lwarp
+ \changesnochanges%
+% }% lwarp
+% \\[1ex]% lwarp
+ \par% \lwarp
+}%
+{%
+\numdef{\Changes@InCount}{0}%
+\renewcommand*{\do}[1]{%
+\numdef{\Changes@InCount}{\Changes@InCount + \csuse{Changes@In########1}}%
+\ifboolexpr{%
+not test {\IfStrEq{\Changes@loc@style}{compactsummary}} or%
+test {\ifnumgreater{\csuse{Changes@In########1}}{0}}%
+}%
+{%
+% \parbox{\Changes@summary@width}{% lwarp
+\csuse{changes########1name}~%
+% \let\cleaders\leaders\dotfill~% lwarp
+\dotfill~% \lwarp
+\csuse{Changes@In########1}%
+% }% lwarp
+% \ifnumless{\Changes@InCount}{\Changes@InSum}% lwarp
+{\\}%
+% {\\[1ex]}% lwarp
+}%
+{}%
+}%
+\expandafter\dopsvlist\expandafter{\Changes@loc@show}%
+ \par% lwarp
+}%
+\fi%
+\repeat
+\closein\Changes@InFile%
+}{%
+\emph{\changesnosoc}%
+\PackageWarning{changes}{LaTeX rerun needed for summary of changes}%
+}%
+}{}%
+}{}%
}
-\xpatchcmd{\listofchanges}
- {{\changesauthorname: \changesanonymousname}}
- {{\LWR@textcurrentcolor{\changesauthorname: \changesanonymousname}}}
- {}
- {\LWR@patcherror{changes}{listofchanges A}}
-
-\xpatchcmd{\listofchanges}
- {\changesauthorname: \Changes@InID}
- {\LWR@textcurrentcolor{\changesauthorname: \Changes@InID}}
- {}
- {\LWR@patcherror{changes}{listofchanges B}}
-
-\xpatchcmd{\listofchanges}
- {(\Changes@InName)}
- {\LWR@textcurrentcolor{(\Changes@InName)}}
- {}
- {\LWR@patcherror{changes}{listofchanges C}}
-\xpatchcmd{\listofchanges}
- {\parbox{\Changes@summary@width}}
- {}
- {}
- {\LWR@patcherror{changes}{listofchanges D}}
-
-\xpatchcmd{\Changes@Markup@comment}
- {%
- \ifthenelse{\isAnonymous{#2}}%
- {\textbf{[\arabic{Changes@commentCount#2}]:} }%
- {\textbf{[#3~\arabic{Changes@commentCount#2}]:} }%
- #1%
- }
- {%
- \LWR@textcurrentcolor{% lwarp
- \ifthenelse{\isAnonymous{#2}}%
- {\textbf{[\arabic{Changes@commentCount#2}]:} }%
- {\textbf{[#3~\arabic{Changes@commentCount#2}]:} }%
- #1%
- }% lwarp
- }
- {}
- {\LWR@patcherror{changes}{\Changes@Markup@comment A}}
-
-\xpatchcmd{\Changes@Markup@comment}
- {%
- \uwave{%
- \ifthenelse{\isAnonymous{#2}}%
- {\textbf{[\arabic{Changes@commentCount#2}]:} }%
- {\textbf{[#3~\arabic{Changes@commentCount#2}]:} }%
- #1%
- }%
- }
- {%
- \LWR@textcurrentcolor{% lwarp
- \uwave{%
- \ifthenelse{\isAnonymous{#2}}%
- {\textbf{[\arabic{Changes@commentCount#2}]:} }%
- {\textbf{[#3~\arabic{Changes@commentCount#2}]:} }%
- #1%
- }%
- }% lwarp
- }
- {}
- {\LWR@patcherror{changes}{\Changes@Markup@comment B}}
-
-\xpatchcmd{\Changes@output}
- {\Changes@Markup@author{\Changes@output@author{#2}{left}}}
- {\LWR@textcurrentcolor{\Changes@Markup@author{\Changes@output@author{#2}{left}}}}
- {}
- {\LWR@patcherror{changes}{Changes@output A}}
-
-\xpatchcmd{\Changes@output}
- {%
- \ifthenelse{\equal{#1}{added}}{\Changes@Markup@added{#3}}{}%
- \ifthenelse{\equal{#1}{deleted}}{\Changes@Markup@deleted{#4}}{}%
- \ifthenelse{\equal{#1}{replaced}}{%
- {\Changes@Markup@added{#3}}\allowbreak\Changes@Markup@deleted{#4}%
- }{}%
- \ifthenelse{\equal{#1}{highlight}}{\Changes@Markup@highlight{#3}}{}%
- }
- {%
- \LWR@textcurrentcolor{%
- \ifthenelse{\equal{#1}{added}}{\Changes@Markup@added{#3}}{}%
- \ifthenelse{\equal{#1}{deleted}}{\Changes@Markup@deleted{#4}}{}%
- \ifthenelse{\equal{#1}{replaced}}{%
- {\Changes@Markup@added{#3}}\allowbreak\Changes@Markup@deleted{#4}%
- }{}%
- \ifthenelse{\equal{#1}{highlight}}{\Changes@Markup@highlight{#3}}{}%
- }%
- }
- {}
- {\LWR@patcherror{changes}{Changes@output B}}
+\renewcommand{\Changes@Markup@comment}[3]{%
+\IfStrEq{\Changes@optioncommentmarkup}{todo}%
+{%
+\IfIsColored%
+{\colorlet{Changes@todocolor}{authorcolor}}%
+{\colorlet{Changes@todocolor}{black}}%
+\todo[color=Changes@todocolor!10, bordercolor=Changes@todocolor, linecolor=Changes@todocolor!70, nolist]{\textbf{[\IfIsAnonymous{#2}{}{#3~}\arabic{authorcommentcount}]} #1}%
+}{}%
+\IfStrEq{\Changes@optioncommentmarkup}{margin}%
+{%
+\marginpar{%
+\IfIsColored%
+{\leavevmode\color{authorcolor}}%
+{}%
+ \LWR@textcurrentcolor{% lwarp
+\textbf{[\IfIsAnonymous{#2}{}{#3~}\arabic{Changes@commentCount#2}]:} #1%
+ }% lwarp
+}%
+}{}%
+\IfStrEq{\Changes@optioncommentmarkup}{footnote}%
+{%
+\footnote{%
+ \LWR@textcurrentcolor{% lwarp
+\textbf{[\IfIsAnonymous{#2}{}{#3~}\arabic{Changes@commentCount#2}]:} #1%
+ }% lwarp
+}%
+}{}%
+\IfStrEq{\Changes@optioncommentmarkup}{uwave}%
+{%
+{%
+\IfIsColored%
+{\color{authorcolor}}%
+{}%
+\allowbreak%
+\uwave{%
+\textbf{[\IfIsAnonymous{#2}{}{#3~}\arabic{Changes@commentCount#2}]:} #1%
+}%
+}%
+}{}%
+}
-\xpatchcmd{\Changes@output}
- {\Changes@Markup@author{\Changes@output@author{#2}{right}}}
- {\LWR@textcurrentcolor{\Changes@Markup@author{\Changes@output@author{#2}{right}}}}
- {}
- {\LWR@patcherror{changes}{Changes@output C}}
+\renewrobustcmd{\Changes@output}[7]{%
+\ifbool{Changes@optiondraft}%
+{%
+\Changes@check@author{#2}%
+\Changes@set@color{#2}%
+{%
+\IfIsInList{#1}{added|deleted|replaced|highlight}%
+{%
+\IfIsEmpty{#5}%
+{%
+\IfIsAuthorEmptyAtPosition{#2}{left}%
+{}%
+{{%
+\IfIsColored%
+{\color{authorcolor}}%
+{}%
+ \LWR@textcurrentcolor{% lwarp
+\Changes@Markup@author{\Changes@output@author{#2}{left}}%
+ }% lwarp
+}}%
+}{}%
+{%
+\IfStrEq{#1}{highlight}%
+{}{%
+\IfIsColored%
+{\color{authorcolor}}%
+{}%
+}%
+ \LWR@textcurrentcolor{% lwarp
+\IfStrEq{#1}{added}{\Changes@Markup@added{#3}}{}%
+\IfStrEq{#1}{deleted}{\Changes@Markup@deleted{#4}}{}%
+\IfStrEq{#1}{replaced}{{\Changes@Markup@added{#3}}\allowbreak\Changes@Markup@deleted{#4}}{}%
+\IfStrEq{#1}{highlight}{\Changes@Markup@highlight{#3}}{}%
+ }% lwarp
+}%
+\IfIsEmpty{#5}%
+{%
+\IfIsAuthorEmptyAtPosition{#2}{right}%
+{}%
+{{%
+\IfIsColored%
+{\color{authorcolor}}%
+{}%
+ \LWR@textcurrentcolor{% lwarp
+\Changes@Markup@author{\Changes@output@author{#2}{right}}%
+ }% lwarp
+}}%
+}{}%
+\stepcounter{Changes@#1Count#2}%
+}{}%
+\IfIsEmpty{#5}%
+{}%
+{%
+\stepcounter{Changes@commentCount#2}%
+\Changes@set@commentcount{#2}%
+\Changes@Markup@comment%
+{#5}%
+{#2}%
+{\Changes@output@author{#2}{left}\Changes@output@author{#2}{right}}%
+}%
+}%
+\IfIsEmpty{#2}%
+{\def\Changes@locid{}}%
+{\def\Changes@locid{~(#2)}}%
+\addtocontents{\Changes@locextension}{\protect\ChangesListline{#1}{#6\Changes@locid}{#7}{\thepage}}%
+}%
+{%
+\IfIsEmpty{#3}%
+{\@bsphack\@esphack}%
+{#3}%
+}%
+}
% \end{macrocode}
%
% \iffalse
@@ -44132,7 +47907,7 @@ s%
% \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 @@ s%
% \codehtml
%
% \begin{macrocode}
-\LWR@ProvidesPackagePass{chemgreek}[2016/02/10]
+\LWR@ProvidesPackagePass{chemgreek}[2020/01/16]
% \end{macrocode}
% \begin{macrocode}
@@ -44515,7 +48290,7 @@ s%
\LWR@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,6 +49506,48 @@ name = \chemmacros_translate:n {scheme-name}
%
%
%
+% \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@ProvidesPackagePass{citeref}[1999/27/05]
+% \end{macrocode}
+%
+% \begin{macrocode}
+\def\@cprwrite#1={\write\@auxout{\string\citepageref{#1}{\theLWR@currentautosec}}}
+
+\def\citepageref#1#2{%
+ \xdef\cpr@testa{\@nameuse{cpr@last@#1}}%letzte Zitatstelle
+ \xdef\cpr@testb{#2}% Seite dieser Zitatstelle
+ \ifx\cpr@testa\cpr@testb%
+ \relax% Konsekutive identische Seitenangaben weglassen
+ \else%
+ \@namexdef{cpr@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
@@ -45792,6 +49609,258 @@ name = \chemmacros_translate:n {scheme-name}
%
%
% \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@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@orig@@@setcref#1#2{\cref@getlabel{#2}{\@templabel}#1{\@templabel}{}{}}%
+
+\ifdefequal{\@@setcref}{\LWR@orig@@@setcref}{% before v0.21
+ \renewcommand*{\@@setcref}[2]{#1{\ref{#2}}{}{}}
+}{
+ \ifdefequal{\@@@setcref}{\LWR@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@orig@@@setcrefrange#1#2#3{%
+ \cref@getlabel{#2}{\@labela}%
+ \cref@getlabel{#3}{\@labelb}%
+ #1{\@labela}{\@labelb}{}{}{}{}}%
+
+\ifdefequal{\@@setcrefrange}{\LWR@orig@@@setcrefrange}{
+ \renewcommand{\@@setcrefrange}[3]{%
+ #1{\ref{#2}}{\ref{#3}}{}{}{}{}%
+ }
+}{
+ \ifdefequal{\@@@setcrefrange}{\LWR@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@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@orig@@setcpageref#1#2{% before v0.21
+ \cref@getpageref{#2}{\@temppage}#1{\@temppage}{}{}}%
+
+\def\LWR@orig@@@setcpageref#1#2{% as of v0.21
+ \cpageref@getlabel{#2}{\@temppage}#1{\@temppage}{}{}}%
+
+\ifdefequal{\@@setcpageref}{\LWR@orig@@setcpageref}{
+ \renewcommand*{\@@setcpageref}[2]{%
+ #1{\cpagerefFor\ \cref{#2}}{}{}%
+ }
+}{
+ \ifdefequal{\@@@setcpageref}{\LWR@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@getpageref{#2}{\@pagea}%
+% ^^A \cref@getpageref{#3}{\@pageb}%
+% ^^A #1{\@pagea}{\@pageb}{}{}{}{}}
+
+% \begin{macrocode}
+\def\LWR@orig@@setcpagerefrange#1#2#3{% before v0.21
+ \cref@getpageref{#2}{\@pagea}%
+ \cref@getpageref{#3}{\@pageb}%
+ #1{\@pagea}{\@pageb}{}{}{}{}}%
+
+\def\LWR@orig@@@setcpagerefrange#1#2#3{% as of v0.21
+ \cpageref@getlabel{#2}{\@pagea}%
+ \cpageref@getlabel{#3}{\@pageb}%
+ #1{\@pagea}{\@pageb}{}{}{}{}}%
+
+\ifdefequal{\@@setcpagerefrange}{\LWR@orig@@setcpagerefrange}{
+ \renewcommand*{\@@setcpagerefrange}[3]{%
+ #1{\cpagerefFor\ \cref{#2}}{\cref{#3}}{}{}{}{}%
+ }
+}{
+ \ifdefequal{\@@@setcpagerefrange}{\LWR@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@absorbstar{cref}
+\LWR@absorbstar{Cref}
+\LWR@absorbstar{crefrange}
+\LWR@absorbstar{Crefrange}
+\LWR@absorbstar{cpageref}
+\LWR@absorbstar{Cpageref}
+\LWR@absorbstar{cpagerefrange}
+\LWR@absorbstar{Cpagerefrange}
+\LWR@absorbstar{labelcref}
+\LWR@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@absorbstar{vref}
+ \LWR@absorbstar{Vref}
+ \LWR@absorbstar{vrefrange}
+ \LWR@absorbstar{Vrefrange}
+ \LWR@absorbstar{fullref}
+ \LWR@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 @@ name = \chemmacros_translate:n {scheme-name}
%
%
% \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@ProvidesPackagePass{cmbright}[2005/04/13]
+
+\LWR@infoprocessingmathjax{cmbright}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\LWR@origRequirePackage{lwarp-common-mathjax-letters}
+
+\begin{warpMathJax}
+
+\@ifpackagewith{cmbright}{slantedGreek}
+{
+ \LWR@mathjax@addgreek@u@it*{}{}
+}
+{}
+
+\LWR@mathjax@addgreek@u@up*{up}{}
+
+\CustomizeMathJax{\newcommand{\mathbold}[1]{\boldsymbol{#1}}}
+
+\end{warpMathJax}
+% \end{macrocode}
+%
+% \iffalse
+%</cmbright>
+% \fi
+%
+%
+%
+%
+% \iffalse
%<*cmdtrack>
% \fi
%
@@ -45868,6 +49994,7 @@ name = \chemmacros_translate:n {scheme-name}
% 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 @@ name = \chemmacros_translate:n {scheme-name}
\begin{warpMathJax}
\LWR@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 @@ name = \chemmacros_translate:n {scheme-name}
%
%
%
-%
-%
-%
% \iffalse
%<*color>
% \fi
@@ -45938,7 +50062,6 @@ name = \chemmacros_translate:n {scheme-name}
%
%
%
-%
% \iffalse
%<*colortbl>
% \fi
@@ -46066,6 +50189,17 @@ name = \chemmacros_translate:n {scheme-name}
% \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 @@ name = \chemmacros_translate:n {scheme-name}
\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 @@ name = \chemmacros_translate:n {scheme-name}
\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 @@ name = \chemmacros_translate:n {scheme-name}
\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 @@ name = \chemmacros_translate:n {scheme-name}
\PackageError{lwarp-ctable}{\MessageBreak
You may not label a captionless table\MessageBreak
Such a label can't be referenced}
+ {}
\fi
\fi
% \end{macrocode}
@@ -47000,6 +51138,44 @@ name = \chemmacros_translate:n {scheme-name}
%
%
%
+% \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@ProvidesPackagePass{drftcite}[1995/01/23]
+% \end{macrocode}
+%
+% \begin{macrocode}
+\def\@lbibitem[#1]#2{\global\@HighCite\z@
+ \item[
+ \textsuperscript{\@nameuse{DCN@#2\@extra@b@citeb}}~% lwarp
+ \@biblabel{\@ifundefined{DCN@#2\@extra@b@citeb}{\@warning
+ {Reference `#2' on page \thepage\space was never cited}}{}%
+% \DC@llap{$^{\@nameuse{DCN@#2\@extra@b@citeb}}$\ \ }%%o
+ \@citeverb{#2}}\hfil]\if@filesw{\def\protect##1{\string ##1\space}%
+ \immediate\write\@auxout{\string\bibcite{#2}{#1}}}\fi\ignorespaces}
+% \end{macrocode}
+%
+% \iffalse
+%</drftcite>
+% \fi
+%
+%
+%
%
% \iffalse
%<*easy-todo>
@@ -47014,6 +51190,11 @@ name = \chemmacros_translate:n {scheme-name}
% \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 @@ name = \chemmacros_translate:n {scheme-name}
% \begin{noindmacro}{\listoftodos}
% Modified to correct buggy use of \cs{flushright}.
% \begin{macrocode}
-\let\LWR@origlistoftodos\listoftodos
+\let\LWR@easytodo@origlistoftodos\listoftodos
\renewcommand{\listoftodos}{%
\begingroup
\renewcommand{\flushright}{}
-\LWR@origlistoftodos
+\LWR@easytodo@origlistoftodos
\endgroup
}
% \end{macrocode}
@@ -47125,6 +51306,7 @@ name = \chemmacros_translate:n {scheme-name}
% is emulated for \brand{MathJax}.
%
% \changes{v0.81}{2020/03/01}{\pkg{econometrics}: Added.}
+% \changes{v0.89}{2020/09/02}{\pkg{econometrics}: Uses \pkg{lwarp-common-mathjax-letters}.}
%
% \codehtml
%
@@ -47132,7 +51314,10 @@ name = \chemmacros_translate:n {scheme-name}
\LWR@ProvidesPackagePass{econometrics}% no date specified in the original
% \end{macrocode}
%
+%
% \begin{macrocode}
+\LWR@origRequirePackage{lwarp-common-mathjax-letters}
+
\begin{warpMathJax}
\LWR@infoprocessingmathjax{econometrics}
@@ -47169,95 +51354,11 @@ name = \chemmacros_translate:n {scheme-name}
\CustomizeMathJax{\newcommand{\calY}{\mathcal{Y}}}
\CustomizeMathJax{\newcommand{\calZ}{\mathcal{Z}}}
-\CustomizeMathJax{\newcommand{\mA}{\bm A}}
-\CustomizeMathJax{\newcommand{\va}{\bm a}}
-\CustomizeMathJax{\newcommand{\mB}{\bm B}}
-\CustomizeMathJax{\newcommand{\vb}{\bm b}}
-\CustomizeMathJax{\newcommand{\mC}{\bm C}}
-\CustomizeMathJax{\newcommand{\vc}{\bm c}}
-\CustomizeMathJax{\newcommand{\mD}{\bm D}}
-\CustomizeMathJax{\newcommand{\vd}{\bm d}}
-\CustomizeMathJax{\newcommand{\mE}{\bm E}}
-\CustomizeMathJax{\newcommand{\ve}{\bm e}}
-\CustomizeMathJax{\newcommand{\mF}{\bm F}}
-\CustomizeMathJax{\newcommand{\vf}{\bm f}}
-\CustomizeMathJax{\newcommand{\mG}{\bm G}}
-\CustomizeMathJax{\newcommand{\vg}{\bm g}}
-\CustomizeMathJax{\newcommand{\mH}{\bm H}}
-\CustomizeMathJax{\newcommand{\vh}{\bm h}}
-\CustomizeMathJax{\newcommand{\mI}{\bm I}}
-\CustomizeMathJax{\newcommand{\vi}{\bm i}}
-\CustomizeMathJax{\newcommand{\mJ}{\bm J}}
-\CustomizeMathJax{\newcommand{\vj}{\bm j}}
-\CustomizeMathJax{\newcommand{\mK}{\bm K}}
-\CustomizeMathJax{\newcommand{\vk}{\bm k}}
-\CustomizeMathJax{\newcommand{\mL}{\bm L}}
-\CustomizeMathJax{\newcommand{\vl}{\bm l}}
-\CustomizeMathJax{\newcommand{\mM}{\bm M}}
-\CustomizeMathJax{\newcommand{\vm}{\bm m}}
-\CustomizeMathJax{\newcommand{\mN}{\bm N}}
-\CustomizeMathJax{\newcommand{\vn}{\bm n}}
-\CustomizeMathJax{\newcommand{\mO}{\bm O}}
-\CustomizeMathJax{\newcommand{\vo}{\bm o}}
-\CustomizeMathJax{\newcommand{\mP}{\bm P}}
-\CustomizeMathJax{\newcommand{\vp}{\bm p}}
-\CustomizeMathJax{\newcommand{\mQ}{\bm Q}}
-\CustomizeMathJax{\newcommand{\vq}{\bm q}}
-\CustomizeMathJax{\newcommand{\mR}{\bm R}}
-\CustomizeMathJax{\newcommand{\vr}{\bm r}}
-\CustomizeMathJax{\newcommand{\mS}{\bm S}}
-\CustomizeMathJax{\newcommand{\vs}{\bm s}}
-\CustomizeMathJax{\newcommand{\mT}{\bm T}}
-\CustomizeMathJax{\newcommand{\vt}{\bm t}}
-\CustomizeMathJax{\newcommand{\mU}{\bm U}}
-\CustomizeMathJax{\newcommand{\vu}{\bm u}}
-\CustomizeMathJax{\newcommand{\mV}{\bm V}}
-\CustomizeMathJax{\newcommand{\vv}{\bm v}}
-\CustomizeMathJax{\newcommand{\mW}{\bm W}}
-\CustomizeMathJax{\newcommand{\vw}{\bm w}}
-\CustomizeMathJax{\newcommand{\mX}{\bm X}}
-\CustomizeMathJax{\newcommand{\vx}{\bm x}}
-\CustomizeMathJax{\newcommand{\mY}{\bm Y}}
-\CustomizeMathJax{\newcommand{\vy}{\bm y}}
-\CustomizeMathJax{\newcommand{\mZ}{\bm Z}}
-\CustomizeMathJax{\newcommand{\vz}{\bm z}}
-
-\CustomizeMathJax{\newcommand{\valpha}{\bm \alpha}}
-\CustomizeMathJax{\newcommand{\vbeta}{\bm \beta}}
-\CustomizeMathJax{\newcommand{\vgamma}{\bm \gamma}}
-\CustomizeMathJax{\newcommand{\vdelta}{\bm \delta}}
-\CustomizeMathJax{\newcommand{\vepsi}{\bm \epsi}}
-\CustomizeMathJax{\newcommand{\vvarepsilon}{\bm \varepsilon}}
-\CustomizeMathJax{\newcommand{\vzeta}{\bm \zeta}}
-\CustomizeMathJax{\newcommand{\veta}{\bm \eta}}
-\CustomizeMathJax{\newcommand{\vtheta}{\bm \theta}}
-\CustomizeMathJax{\newcommand{\viota}{\bm \iota}}
-\CustomizeMathJax{\newcommand{\vkappa}{\bm \kappa}}
-\CustomizeMathJax{\newcommand{\vlambda}{\bm \lambda}}
-\CustomizeMathJax{\newcommand{\vmu}{\bm \mu}}
-\CustomizeMathJax{\newcommand{\vnu}{\bm \nu}}
-\CustomizeMathJax{\newcommand{\vxi}{\bm \xi}}
-\CustomizeMathJax{\newcommand{\vpi}{\bm \pi}}
-\CustomizeMathJax{\newcommand{\vrho}{\bm \rho}}
-\CustomizeMathJax{\newcommand{\vsigma}{\bm \sigma}}
-\CustomizeMathJax{\newcommand{\vtau}{\bm \tau}}
-\CustomizeMathJax{\newcommand{\vupsilon}{\bm \upsilon}}
-\CustomizeMathJax{\newcommand{\vphi}{\bm \phi}}
-\CustomizeMathJax{\newcommand{\vchi}{\bm \chi}}
-\CustomizeMathJax{\newcommand{\vpsi}{\bm \psi}}
-\CustomizeMathJax{\newcommand{\vomega}{\bm \omega}}
-
-\CustomizeMathJax{\newcommand{\mGamma}{\bm \varGamma}}
-\CustomizeMathJax{\newcommand{\mDelta}{\bm \varDelta}}
-\CustomizeMathJax{\newcommand{\mTheta}{\bm \varTheta}}
-\CustomizeMathJax{\newcommand{\mLambda}{\bm \varLambda}}
-\CustomizeMathJax{\newcommand{\mXi}{\bm \varXi}}
-\CustomizeMathJax{\newcommand{\mPi}{\bm \varPi}}
-\CustomizeMathJax{\newcommand{\mSigma}{\bm \varSigma}}
-\CustomizeMathJax{\newcommand{\mUpsilon}{\bm \varUpsilon}}
-\CustomizeMathJax{\newcommand{\mPhi}{\bm \varPhi}}
-\CustomizeMathJax{\newcommand{\mPsi}{\bm \varPsi}}
-\CustomizeMathJax{\newcommand{\mOmega}{\bm \varOmega}}
+\LWR@mathjax@addlatin@u@bfit{m}% uppercase Latin, bold italic
+\LWR@mathjax@addlatin@l@bfit{v}% lowercase Latin, bold italic
+
+\LWR@mathjax@addgreek@l@bfit{v}{}% lowercase Greek bold italic
+\LWR@mathjax@addgreek@u@bfit*{m}{}% uppercase Greek bold italic, capitalized macro names
\CustomizeMathJax{\newcommand{\rb}{\mathrm{b}}}
\CustomizeMathJax{\newcommand{\rB}{\mathrm{B}}}
@@ -47389,7 +51490,7 @@ name = \chemmacros_translate:n {scheme-name}
\textcolor{red}{%
#1 is only a provisional stub\\\Large
the Office document
- \ifx\ed@stubURI\@empty{#2}\else\href{\ed@stubURI}{#2}\fi\
+ \ifx\ed@stubURI\@empty{#2}\else\LWR@href{\ed@stubURI}{#2}\fi\
contains more text\\which will be merged for the final document%
}%
\end{center}%
@@ -47449,7 +51550,7 @@ name = \chemmacros_translate:n {scheme-name}
% \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,6 +51560,13 @@ name = \chemmacros_translate:n {scheme-name}
\LWR@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@orig@HTML@emph\LWR@HTML@emph
\RenewDocumentCommand{\LWR@HTML@emph}{s m}{\LWR@orig@HTML@emph{#2}}
@@ -47645,7 +51753,7 @@ name = \chemmacros_translate:n {scheme-name}
%
% \credits{John Lavagnino}
%
-% \DescribePackage{endnotes} Used as-is.
+% \DescribePackage{endnotes} Patched for \HTML.
%
% \limitsendnotes
%
@@ -48022,11 +52130,6 @@ name = \chemmacros_translate:n {scheme-name}
%
%
%
-% \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 @@ name = \chemmacros_translate:n {scheme-name}
% \end{macrocode}
-% \begin{macrocode}
-\end{warpHTML}
-% \end{macrocode}
-
% \iffalse
%</enumitem>
% \fi
@@ -48074,88 +52173,102 @@ name = \chemmacros_translate:n {scheme-name}
% \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@ProvidesPackageDrop{epigraph}[2009/09/02]
+\LWR@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@stoppars%
-\ifbool{FormatWP}
-{\begin{BlockClass}[border-top:1px solid gray]{epigraphsource}}
-{\begin{BlockClass}{epigraphsource}}
-#2
-\end{BlockClass}
-\end{BlockClass}
+\DeclareDocumentCommand{\LWR@HTML@qitem}{m m}
+{%
+ \begin{BlockClass}{qitem}%
+ #1%
+ \LWR@stoppars%
+ \ifbool{FormatWP}%
+ {\begin{BlockClass}[border-top:1px solid gray]{epigraphsource}}%
+ {\begin{BlockClass}{epigraphsource}}%
+ #2%
+ \end{BlockClass}%
+ \end{BlockClass}%
}
+\LWR@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@BlockClassWP}{\LWR@print@mbox{text-align:right}}{}{epigraph}
-\qitem{#1}{#2}
-\end{LWR@BlockClassWP}
+\DeclareDocumentCommand{\LWR@HTML@epigraph}{m m}
+{%
+ \begin{LWR@BlockClassWP}{\LWR@print@mbox{text-align:right}}{}{epigraph}%
+ \qitem{#1}{#2}%
+ \end{LWR@BlockClassWP}%
}
+\LWR@formatted{epigraph}
-\DeclareDocumentEnvironment{epigraphs}{}
-{\LWR@BlockClassWP{\LWR@print@mbox{text-align:right}}{}{epigraph}}
-{\endLWR@BlockClassWP}
+\DeclareDocumentEnvironment{LWR@HTML@epigraphs}{}
+ {\LWR@BlockClassWP{\LWR@print@mbox{text-align:right}}{}{epigraph}}
+ {\endLWR@BlockClassWP}
+\LWR@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@ProvidesPackagePass{epsf}% not date given
+% \end{macrocode}
+%
+% \begin{macrocode}
+\xpretocmd{\epsfsetgraph}
+ {\begin{lateximage}}
+ {}
+ {\LWR@patcherror{lwarp-epsf}{epsfsetgraph-begin}}
+
+\xapptocmd{\epsfsetgraph}
+ {\end{lateximage}}
+ {}
+ {\LWR@patcherror{lwarp-epsf}{epsfsetgraph-end}}
% \end{macrocode}
%
% \iffalse
-%</epigraph>
+%</epsf>
% \fi
%
%
@@ -48176,11 +52289,12 @@ name = \chemmacros_translate:n {scheme-name}
% \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@ProvidesPackageDrop{epsfig}[2017/06/25]
+\LWR@ProvidesPackagePass{epsfig}[2017/06/25]
% \end{macrocode}
%
% A few additional keys to capture the filename:
@@ -48202,9 +52316,11 @@ name = \chemmacros_translate:n {scheme-name}
%
% The captured filename is used as the argument to \cs{includegraphics}:
% \begin{macrocode}
-\newcommand{\epsfig}[1]{\includegraphics[#1]{\LWR@epsfig@filename}}
+\newcommand{\LWR@HTML@epsfig}[1]{\includegraphics[#1]{\LWR@epsfig@filename}}
+\LWR@formatted{epsfig}
-\newcommand{\psfig}[1]{\includegraphics[#1]{\LWR@epsfig@filename}}
+\newcommand{\LWR@HTML@psfig}[1]{\includegraphics[#1]{\LWR@epsfig@filename}}
+\LWR@formatted{psfig}
% \end{macrocode}
%
% \iffalse
@@ -48233,11 +52349,12 @@ name = \chemmacros_translate:n {scheme-name}
%
% \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@ProvidesPackagePass{epstopdf}[2016/05/15]
+\LWR@ProvidesPackagePass{epstopdf}[2020-01-24]
% \end{macrocode}
%
% \iffalse
@@ -48260,11 +52377,12 @@ name = \chemmacros_translate:n {scheme-name}
%
% \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@ProvidesPackagePass{epstopdf-base}[2016/05/15]
+\LWR@ProvidesPackagePass{epstopdf-base}[2020-01-24]
% \end{macrocode}
%
% Redefine to remember the image filename, replacing |.pdf| with |.svg|.
@@ -48502,7 +52620,7 @@ name = \chemmacros_translate:n {scheme-name}
% Finish the current page's errata before closing and reloading the list:
% \begin{macrocode}
-\preto\PrintErrata{\LWR@orignewpage}
+\preto\PrintErrata{\LWR@maybe@orignewpage}
% \end{macrocode}
% No longer defining math macros with the \HTML\ |$|:
@@ -48570,6 +52688,43 @@ name = \chemmacros_translate:n {scheme-name}
%
%
% \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@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 @@ name = \chemmacros_translate:n {scheme-name}
% \codehtml
%
% Discard all options for \pkg{lwarp-everyshi}:
+% \changes{v0.89}{2020/07/28}{\pkg{everyshi}: Adapt to \LaTeX kernel changes.}
% \begin{macrocode}
\LWR@ProvidesPackageDrop{everyshi}[2001/05/15]
% \end{macrocode}
%
% \begin{macrocode}
+\let\EveryShipout\relax
\newcommand*{\EveryShipout}[1]{}
+
+\let\AtNextShipout\relax
\newcommand*{\AtNextShipout}[1]{}
% \end{macrocode}
%
@@ -49173,24 +53332,24 @@ name = \chemmacros_translate:n {scheme-name}
% \begin{macrocode}
\let\LWRFB@UseVerbatim\UseVerbatim
\renewcommand*{\UseVerbatim}[1]{%
-\LWR@atbeginverbatim{3}{Verbatim}%
+\LWR@atbeginverbatim{Verbatim}%
\LWRFB@UseVerbatim{#1}%
-\LWR@afterendverbatim{.5}%
+\LWR@afterendverbatim%
}
\let\LWRFB@LUseVerbatim\LUseVerbatim
\renewcommand*{\LUseVerbatim}[1]{%
-\LWR@atbeginverbatim{3}{LVerbatim}%
+\LWR@atbeginverbatim{LVerbatim}%
\noindent%
\LWRFB@LUseVerbatim{#1}%
-\LWR@afterendverbatim{.5}%
+\LWR@afterendverbatim%
}
\def\@BUseVerbatim[#1]#2{%
-\LWR@atbeginverbatim{3}{BVerbatim}%
+\LWR@atbeginverbatim{BVerbatim}%
\LWRFB@UseVerbatim{#2}%
-\LWR@afterendverbatim{.5}%
+\LWR@afterendverbatim%
}
% \end{macrocode}
%
@@ -49220,19 +53379,20 @@ name = \chemmacros_translate:n {scheme-name}
% \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@ProvidesPackageDrop{fancyhdr}[2019/01/31]
+\LWR@ProvidesPackageDrop{fancyhdr}[2021/01/04]
% \end{macrocode}
% \begin{macrocode}
\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 @@ name = \chemmacros_translate:n {scheme-name}
\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@nch@pagestyle{#1}}{\f@nch@pagestyle{#1}[]}%
+}
+\long\def\f@nch@pagestyle#1[#2]#3{}
% \end{macrocode}
% \iffalse
@@ -49268,11 +53442,14 @@ name = \chemmacros_translate:n {scheme-name}
%
% \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 @@ name = \chemmacros_translate:n {scheme-name}
\renewcommand*{\fancyrefhook}[1]{#1}%
}
% \end{macrocode}
-
-% Modified to ignore the page number and \pkg{varioref}.
-% \begin{macrocode}
-\renewcommand*{\@f@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@page@ref{#3\fancyrefargdelim#4}}% original
- {}% lwarp
- {}% lwarp
- }%
- }%
-}%
-% \end{macrocode}
%
% \iffalse
%</fancyref>
@@ -49507,11 +53654,10 @@ name = \chemmacros_translate:n {scheme-name}
% \end{macrocode}
%
% Adds \HTML\ formatting:
+% \changes{v0.891}{2020/09/12}{\pkg{fancyvrb}: Fix: \env{BVerbatim} with labels.}
% \begin{macrocode}
\def\FV@BUseVerbatim#1{%
- \LWR@atbeginverbatim{0}{verbatim}%
\FV@BVerbatimBegin#1\FV@BVerbatimEnd%
- \LWR@afterendverbatim{0}%
}
% \end{macrocode}
@@ -49526,6 +53672,7 @@ name = \chemmacros_translate:n {scheme-name}
% 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@fvstartnone}{%
\LWR@traceinfo{fvstartnone}%
@@ -49536,28 +53683,28 @@ name = \chemmacros_translate:n {scheme-name}
\ifx\FV@LabelBegin\relax\else
\FancyVerbRuleColor{\LWR@FVfindbordercolor}
\LWR@htmltagc{%
- div class="fancyvrblabel" % extra space
- style="color: \LWR@origpound\LWR@tempcolor"%
+ div class=\textquotedbl{}fancyvrblabel\textquotedbl\ % space
+ style=\textquotedbl{}color: \LWR@origpound\LWR@tempcolor\textquotedbl%
}
\LWR@print@textrm{\FV@LabelBegin}% \textrm preserves emdash
\LWR@htmltagc{/div}\LWR@orignewline%
\fi
\fi
-\LWR@atbeginverbatim{0}{verbatim}%
+\LWR@atbeginverbatim{verbatim}%
% }%
}
\newcommand*{\LWR@fvendnone}{%
\LWR@traceinfo{fvendnone}%
% \hbox to\z@{
-\LWR@afterendverbatim{0}%
+\LWR@afterendverbatim%
\LWR@stoppars%
\ifx\FV@LabelPositionBottomLine\relax\else
\ifx\FV@LabelEnd\relax\else
\FancyVerbRuleColor{\LWR@FVfindbordercolor}
\LWR@htmltagc{%
- div class="fancyvrblabel" % extra space
- style="color: \LWR@origpound\LWR@tempcolor"%
+ div class=\textquotedbl{}fancyvrblabel\textquotedbl\ % space
+ style=\textquotedbl{}color: \LWR@origpound\LWR@tempcolor\textquotedbl%
}
\LWR@print@textrm{\FV@LabelEnd}
\LWR@htmltagc{/div}\LWR@orignewline%
@@ -49662,7 +53809,14 @@ solid {\FancyVerbRuleColor{\LWR@origpound\LWR@tempcolor}} ; % space
\let\FV@LeftListFrame\relax%
\let\FV@RightListFrame\relax%
\let\FV@EndListFrame\LWR@fvendline}
-
+% \end{macrocode}
+%
+% Seems to be required in some situations:
+% \changes{v0.892}{2020/10/06}{\pkg{fancyvrb}: Provided \cs{FV@FrameFillLine}.}
+% \begin{macrocode}
+\def\FV@FrameFillLine{}%
+% \end{macrocode}
+% \begin{macrocode}
\def\FV@Frame@leftline{%
\renewcommand*{\LWR@FVstyle}{%
\LWR@currenttextcolorstyle\LWR@indentHTMLtwo%
@@ -49736,18 +53890,43 @@ solid {\FancyVerbRuleColor{\LWR@origpound\LWR@tempcolor}} ; % space
}
% \end{macrocode}
-% \begin{environment}{BVerbatim}
+% \changes{v0.892}{2020/10/05}{\pkg{fancyvrb}: Adapted to \pkg{fvextra}.}
% \begin{macrocode}
-\AtBeginEnvironment{BVerbatim}
-{%
-\LWR@forcenewpage% instead of \preto
-\LWR@atbeginverbatim{0}{bverbatim}%
+\def\FV@ListProcessLine@i#1{%
+% \hbox{%
+ \ifvoid\@labels\else
+ \hbox to \z@{\kern\@totalleftmargin\box\@labels\hss}%
+ \fi
+ \FV@ListProcessLine{#1}%
+% }%
+% \let\FV@ProcessLine\FV@ListProcessLine@ii%
}
+% \end{macrocode}
-\AfterEndEnvironment{BVerbatim}
-{%
-\LWR@afterendverbatim{0}%
-}
+% \changes{v0.892}{2020/10/05}{\pkg{fancyvrb}: Adapted to \pkg{fvextra}.}
+% \begin{macrocode}
+\def\FV@ListProcessLastLine{}
+% \end{macrocode}
+
+
+% \begin{environment}{BVerbatim}
+% \changes{v0.891}{2020/09/12}{\pkg{fancyvrb}: Fix: \env{BVerbatim} with labels.}
+% \begin{macrocode}
+
+\xpretocmd{\FV@BeginVBox}
+ {%
+ \LWR@forcenewpage% instead of \preto
+ \LWR@atbeginverbatim{bverbatim}%
+ }
+ {}
+ {\LWR@patcherror{fancyvrb}{FV@BeginVBox}}
+
+\xapptocmd{\FV@EndVBox}
+ {%
+ \LWR@afterendverbatim%
+ }
+ {}
+ {\LWR@patcherror{fancyvrb}{FV@EndVBox}}
% \end{macrocode}
% \end{environment}
@@ -49765,6 +53944,169 @@ solid {\FancyVerbRuleColor{\LWR@origpound\LWR@tempcolor}} ; % space
%
%
% \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@ProvidesPackagePass{fbox}[2020/06/22]
+% \end{macrocode}
+%
+% This will be \cs{LWR@formatted} when \cs{AtBeginDocument}:
+% \begin{macrocode}
+\LetLtxMacro\LWR@HTML@fbox\fbox
+% \end{macrocode}
+%
+% Instead of using the original, the new version is used with all borders:
+% \begin{macrocode}
+\renewcommand*{\orig@fbox}{\FBox@i[tblr]}
+% \end{macrocode}
+%
+% \begin{noindmacro}{LWR@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@fboxpkg@border}[2]{%
+ \appto\LWR@tempone{%
+ border-#1: % space
+ \LWR@printlength{\LWR@atleastonept} % space
+ solid \LWR@origpound\LWR@tempcolor ;\LWR@indentHTML
+ }%
+ \ifblank{#2}{}{%
+ \appto\LWR@tempone{%
+ padding-#1: \LWR@printlength{#2} ;\LWR@indentHTML
+ }%
+ }%
+}
+% \end{macrocode}
+% \end{noindmacro}
+%
+% A hack to reuse the same code for inline and blocks:
+% \begin{macrocode}
+\newbool{LWR@fboxpkg@ispar}
+\boolfalse{LWR@fboxpkg@ispar}
+% \end{macrocode}
+%
+% Acculumate \HTML\ styles for left and right padding,
+% depending on \cs{if@fbox@space@left}, \cs{if@fbox@space@right}:
+% \begin{macrocode}
+\newcommand{\LWR@fboxpkg@lrpadding}[1]{%
+ \csuse{if@fbox@space@#1}%
+ \appto\LWR@tempone{%
+ padding-#1: \LWR@printlength{\fbox@@sep};\LWR@indentHTML
+ }
+ \else%
+ \appto\LWR@tempone{%
+ padding-#1: 0pt;\LWR@indentHTML
+ }
+ \fi%
+}
+% \end{macrocode}
+%
+% The \HTML\ version, modified to use \HTML\ styles and either
+% an \cs{InlineClass} or \env{BlockClass}:
+% \begin{macrocode}
+\newcommand{\LWR@HTML@FBox@iii}[1]{%
+% \end{macrocode}
+%
+% Find and set the text color, rule width, margin:
+% \begin{macrocode}
+ \LWR@forceminwidth{\fbox@@rule}%
+ \LWR@findcurrenttextcolor%
+ \def\LWR@tempone{%
+ color: \LWR@origpound\LWR@tempcolor ; \LWR@indentHTML
+ margin: 1ex ; \LWR@indentHTML
+ }%
+% \end{macrocode}
+%
+% Add left/right padding:
+% \begin{macrocode}
+ \LWR@fboxpkg@lrpadding{left}%
+ \LWR@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@fboxpkg@border{top}{\fbox@@sep}%
+ \fi
+ \ifnum\@tempcntb>3
+ \advance\@tempcntb by -4
+ \LWR@fboxpkg@border{left}{}%
+ \fi
+ \ifnum\@tempcntb>1
+ \LWR@fboxpkg@border{right}{}%
+ \fi
+ \ifodd\@tempcntb
+ \LWR@fboxpkg@border{bottom}{\fbox@@sep}%
+ \fi
+% \end{macrocode}
+%
+% Generate a \env{BlockClass} or \cs{InlineClass} with the contents:
+% \begin{macrocode}
+ \color@begingroup
+ \ifbool{LWR@fboxpkg@ispar}%
+ {%
+ \begin{BlockClass}[\LWR@tempone]{fboxpkg}%
+ #1%
+ \end{BlockClass}%
+ }%
+ {%
+ \InlineClass[\LWR@tempone]{fboxpkg}{%
+ #1%
+ }%
+ }%
+ \color@endgroup
+ \boolfalse{LWR@fboxpkg@ispar}% globally
+}
+\LWR@formatted{FBox@iii}
+% \end{macrocode}
+%
+% For \cs{fparbox}, set the use of \env{BlockClass}, then reuse the above:
+% \begin{macrocode}
+\long\def\LWR@HTML@FParBox@i[#1]#2{%
+ \booltrue{LWR@fboxpkg@ispar}%
+ \FBox@i[#1]{#2}
+}
+\LWR@formatted{FParBox@i}
+
+\long\def\LWR@HTML@FParBox@ii#1{%
+ \booltrue{LWR@fboxpkg@ispar}%
+ \FBox@i[tblr]{#1}%
+}
+\LWR@formatted{FParBox@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,6 +54288,47 @@ solid {\FancyVerbRuleColor{\LWR@origpound\LWR@tempcolor}} ; % space
%
%
%
+% \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@ProvidesPackagePass{fixmath}[2000/04/11]
+% \end{macrocode}
+%
+% \begin{macrocode}
+\LWR@origRequirePackage{lwarp-common-mathjax-letters}
+
+\begin{warpMathJax}
+\LWR@mathjax@addgreek@u@it*{}{}
+\LWR@mathjax@addletter{\BooleanTrue}{up}{}{delta}{0394}
+\LWR@mathjax@addletter{\BooleanTrue}{up}{}{omega}{03A9}
+\CustomizeMathJax{\newcommand{\mathbold}[1]{\boldsymbol{#1}}}
+\end{warpMathJax}
+% \end{macrocode}
+%
+% \iffalse
+%</fixmath>
+% \fi
+%
+%
%
% \iffalse
%<*fixme>
@@ -49977,10 +54360,15 @@ solid {\FancyVerbRuleColor{\LWR@origpound\LWR@tempcolor}} ; % space
% \end{macrocode}
%
% Float-related macros required by \pkg{lwarp}:
+% \changes{v0.84}{2020/04/09}{\pkg{fixme}: Added section name.}
% \begin{macrocode}
\newcommand{\ext@fixme}{lox}
-\renewcommand{\l@fixme}[2]{\hypertocfloat{1}{fixme}{lox}{#1}{#2}}
+\renewcommand{\l@fixme}[2]{%
+ \hypertocfloat{1}{fixme}{lox}%
+ {\LWR@nameref{\BaseJobname-autopage-\arabic{LWR@nextautopage}} --- #1}
+ {#2}
+}
% \end{macrocode}
%
% Other modifications:
@@ -50169,10 +54557,6 @@ solid {\FancyVerbRuleColor{\LWR@origpound\LWR@tempcolor}} ; % space
\LWR@ProvidesPackageDrop{float}[2001/11/08]
% \end{macrocode}
-% \begin{noindmacro}{\listof}
-% See \cref{sec:listof} for the \cs{listof} command.
-% \end{noindmacro}
-
% \begin{macro}{\LWR@floatstyle}
% The default float style:
% \begin{macrocode}
@@ -50189,27 +54573,27 @@ solid {\FancyVerbRuleColor{\LWR@origpound\LWR@tempcolor}} ; % space
%
% \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@floatstyle@#1}{\LWR@floatstyle}%
+ \csedef{LWR@floatstyle@#1}{\LWR@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@name}.}
% \begin{macrocode}
-\cslet{l@#1}\relax%
+ \cslet{l@#1}\relax%
}
% \end{macrocode}
% \end{noindmacro}
@@ -50217,9 +54601,15 @@ solid {\FancyVerbRuleColor{\LWR@origpound\LWR@tempcolor}} ; % space
% \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@tempone{#2}%
+ \def\LWR@temptwo{\@nameuse{#1name}}%
+ \ifdefequal{\LWR@tempone}{\LWR@temptwo}{}{%
+ \SetupFloatingEnvironment{#1}{name=#2}%
+ }%
}
% \end{macrocode}
% \end{noindmacro}
@@ -50254,6 +54644,10 @@ solid {\FancyVerbRuleColor{\LWR@origpound\LWR@tempcolor}} ; % space
% \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 @@ solid {\FancyVerbRuleColor{\LWR@origpound\LWR@tempcolor}} ; % space
}%
{marginblock}%
}%
- \captionsetup{type=#2}%
+ \renewcommand*{\@captype}{#2}%
}
{%
\endLWR@BlockClassWP%
@@ -50410,8 +54804,8 @@ solid {\FancyVerbRuleColor{\LWR@origpound\LWR@tempcolor}} ; % space
\AtBeginDocument{
\@ifpackageloaded{subcaption}
-{\booltrue{LWR@subcaptionloaded}}
-{\boolfalse{LWR@subcaptionloaded}}
+ {\booltrue{LWR@subcaptionloaded}}
+ {\boolfalse{LWR@subcaptionloaded}}
}
% \end{macrocode}
@@ -50672,9 +55066,9 @@ solid {\FancyVerbRuleColor{\LWR@origpound\LWR@tempcolor}} ; % space
% 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 @@ solid {\FancyVerbRuleColor{\LWR@origpound\LWR@tempcolor}} ; % space
% \end{macrocode}
% The row of floats is placed into a \element{div} of class |floatrow|:
% \begin{macrocode}
-\LWR@forcenewpage
-\BlockClass{floatrow}
+ \LWR@forcenewpage
+ \BlockClass{floatrow}
% \end{macrocode}
% While inside the floatrow, |LWR@insubfloatrow| is set true,
% which tells \cs{floatbox} to use \cs{subfigure} or \cs{subtable}.
% \begin{macrocode}
-\begingroup
-\booltrue{LWR@insubfloatrow}
+ \begingroup%
+ \booltrue{LWR@insubfloatrow}%
}
-{
-\endgroup
-\endBlockClass
-\boolfalse{LWR@insubfloatrow}
+{%
+ \endgroup%
+ \endBlockClass%
+ \boolfalse{LWR@insubfloatrow}%
}
% \end{macrocode}
% \end{noindenvironment}
@@ -51141,6 +55535,7 @@ solid {\FancyVerbRuleColor{\LWR@origpound\LWR@tempcolor}} ; % space
% 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 @@ solid {\FancyVerbRuleColor{\LWR@origpound\LWR@tempcolor}} ; % space
% \end{macrocode}
%
% \begin{macrocode}
-\newrobustcmd{\LWR@HTML@sscshape}{\LWR@HTML@scshape}
-\LWR@formatted{sscshape}
-\newcommand*{\LWR@null@sscshape}{}
-
-\newrobustcmd{\LWR@HTML@textssc}[1]{\textsc{#1}}
-\LWR@formatted{textssc}
-\newcommand*{\LWR@null@textssc}[1]{#1}
-
\ifdef{\LWR@HTML@swshape}{}{% duplicated by nfssext-cfr
\newcommand{\LWR@HTML@swshape}{}
\LWR@formatted{swshape}
- \newcommand*{\LWR@null@swshape}{}
- \newcommand{\LWR@HTML@textsw}[1]{#1}
+ \newrobustcmd{\LWR@HTML@textsw}[1]{#1}
\LWR@formatted{textsw}
- \newcommand*{\LWR@null@textsw}[1]{#1}
-}
-\appto{\LWR@nullfonts}{%
-\LetLtxMacro\sscshape\LWR@null@sscshape%
-\LetLtxMacro\textssc\LWR@null@textssc%
-\LetLtxMacro\swshape\LWR@null@swshape%
-\LetLtxMacro\textsw\LWR@null@textsw%
+ \FilenameNullify{%
+ \LetLtxMacro\swshape\@empty%
+ \LetLtxMacro\textsw\firstofone%
+ }
}
% \end{macrocode}
%
@@ -51256,7 +55639,8 @@ solid {\FancyVerbRuleColor{\LWR@origpound\LWR@tempcolor}} ; % space
\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 @@ solid {\FancyVerbRuleColor{\LWR@origpound\LWR@tempcolor}} ; % space
% \end{macrocode}
% \begin{macrocode}
-\BeforeBeginEnvironment{forest}{\begin{lateximage}[forest]}
+\BeforeBeginEnvironment{forest}{%
+ \begin{lateximage}[-forest-~\PackageDiagramAltText]%
+}
\AfterEndEnvironment{forest}{\end{lateximage}}
@@ -51546,8 +55932,9 @@ solid {\FancyVerbRuleColor{\LWR@origpound\LWR@tempcolor}} ; % space
\forest@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@next\forest@env%
}{\let\forest@next\forest@group@env}%
\begin{lateximage}[-forest-~\PackageDiagramAltText]% lwarp
@@ -51603,6 +55990,118 @@ solid {\FancyVerbRuleColor{\LWR@origpound\LWR@tempcolor}} ; % space
%
%
% \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@ProvidesPackagePass{fourier}[2020/03/03]
+
+\LWR@infoprocessingmathjax{fourier}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\LWR@origRequirePackage{lwarp-common-mathjax-letters}
+
+\LWR@origRequirePackage{lwarp-common-mathjax-overlaysymbols}
+
+\begin{warpMathJax}
+
+\@ifpackagewith{fourier}{sloped}
+ {
+ \LWR@mathjax@addgreek@l@up{other}{}
+ \LWR@mathjax@addgreek@u@it*{other}{}
+ }% sloped
+ {% not sloped
+ \@ifpackagewith{fourier}{upright}
+ {% upright option
+ \LWR@mathjax@addgreek@l@up{}{}
+ \LWR@mathjax@addgreek@u@up*{}{}
+ \LWR@mathjax@addgreek@l@it{other}{}
+ \LWR@mathjax@addgreek@u@it*{other}{}
+ }
+ {% neither sloped nor upright
+ \LWR@mathjax@addgreek@l@up{other}{}
+ \LWR@mathjax@addgreek@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,6 +56410,199 @@ solid {\FancyVerbRuleColor{\LWR@origpound\LWR@tempcolor}} ; % space
%
%
%
+% \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@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@booleankey{FV}{obeytabs}%
+% {\let\FV@ObeyTabsInit\FV@@ObeyTabsInit}%
+ {\let\FV@ObeyTabsInit\relax}
+ {\let\FV@ObeyTabsInit\relax}
+
+\define@key{FV}{tabcolor}%
+ {}
+
+\define@key{FV}{tab}{}
+
+\define@booleankey{FV}{showtabs}%
+% {\def\FV@TabChar{\FV@TabColor{\FancyVerbTab}}}%
+ {\let\FV@TabChar\relax}
+ {\let\FV@TabChar\relax}
+
+\newbool{LWR@FV@breaklines}
+
+\define@booleankey{FV}{breaklines}%
+ {\FV@BreakLinesfalse
+ \booltrue{LWR@FV@breaklines}
+ \let\FV@ListProcessLine\FV@ListProcessLine@NoBreak}
+ {\FV@BreakLinesfalse
+ \boolfalse{LWR@FV@breaklines}
+ \let\FV@ListProcessLine\FV@ListProcessLine@NoBreak}
+% \fvset{breaklines}
+
+\define@key{FV}{breakanywheresymbolpre}{\def\FancyVerbBreakAnywhereSymbolPre{}}
+\fvset{breakanywheresymbolpre={}}
+
+\define@key{FV}{breakanywheresymbolpost}{\def\FancyVerbBreakAnywhereSymbolPost{}}
+\fvset{breakanywheresymbolpost={}}
+
+\define@key{FV}{breakbeforesymbolpre}{\def\FancyVerbBreakBeforeSymbolPre{}}
+\fvset{breakbeforesymbolpre={}}
+
+\define@key{FV}{breakbeforesymbolpost}{\def\FancyVerbBreakBeforeSymbolPost{}}
+\fvset{breakbeforesymbolpost={}}
+
+\define@key{FV}{breakaftersymbolpre}{\def\FancyVerbBreakAfterSymbolPre{}}
+\fvset{breakaftersymbolpre={}}
+
+\define@key{FV}{breakaftersymbolpost}{\def\FancyVerbBreakAfterSymbolPost{}}
+\fvset{breakaftersymbolpost={}}
+
+\define@key{FV}{breaksymbolleft}{\def\FancyVerbBreakSymbolLeft{}}
+
+\define@key{FV}{breaksymbol}{\fvset{breaksymbolleft={}}}
+
+\fvset{breaksymbolleft={}}
+
+\define@key{FV}{breaksymbolright}{\def\FancyVerbBreakSymbolRight{}}
+\fvset{breaksymbolright={}}
+
+\def\FV@ListProcessLine@NoBreak#1{%
+% \hbox to \hsize{%
+% \kern\leftmargin
+% \hbox to \linewidth{%
+ \FV@LeftListNumber%
+ \FV@LeftListFrame%
+ \FancyVerbFormatLine{%
+ \FancyVerbHighlightLine{%
+ \FV@ObeyTabs{\FancyVerbFormatText{#1}}}}%\hss
+ \FV@RightListFrame%
+ \FV@RightListNumber%
+% }%
+% \hss}%
+\null\par% lwarp
+}
+
+
+\newcommand*{\LWR@FV@linethensep}{%
+ \ifbool{LWR@FV@breaklines}%
+ {\theFancyVerbLine\kern\FV@NumberSep}%
+ {\hbox to\z@{\hss\theFancyVerbLine\kern\FV@NumberSep}}%
+}
+
+\newcommand*{\LWR@FV@septhenline}{%
+ \ifbool{LWR@FV@breaklines}%
+ {\kern\FV@NumberSep\theFancyVerbLine}%
+ {\hbox to\z@{\kern\FV@NumberSep\theFancyVerbLine\hss}}%
+}
+
+\xpatchcmd{\FV@Numbers@left}
+ {\hbox to\z@{\hss\theFancyVerbLine\kern\FV@NumberSep}}
+ {\LWR@FV@linethensep}
+ {}
+ {\LWR@patcherror{fvextra}{FV@Numbers@left A}}
+
+\xpatchcmd{\FV@Numbers@left}
+ {\hbox to\z@{\hss\theFancyVerbLine\kern\FV@NumberSep}}
+ {\LWR@FV@linethensep}
+ {}
+ {\LWR@patcherror{fvextra}{FV@Numbers@left B}}
+
+\xpatchcmd{\FV@Numbers@left}
+ {\hbox to\z@{\hss\theFancyVerbLine\kern\FV@NumberSep}}
+ {\LWR@FV@linethensep}
+ {}
+ {\LWR@patcherror{fvextra}{FV@Numbers@left C}}
+
+\xpatchcmd{\FV@Numbers@right}
+ {\hbox to\z@{\kern\FV@NumberSep\theFancyVerbLine\hss}}
+ {\LWR@FV@septhenline}
+ {}
+ {\LWR@patcherror{fvextra}{FV@Numbers@right A}}
+
+\xpatchcmd{\FV@Numbers@right}
+ {\hbox to\z@{\kern\FV@NumberSep\theFancyVerbLine\hss}}
+ {\LWR@FV@septhenline}
+ {}
+ {\LWR@patcherror{fvextra}{FV@Numbers@right B}}
+
+\xpatchcmd{\FV@Numbers@right}
+ {\hbox to\z@{\hss\theFancyVerbLine\kern\FV@NumberSep}}
+ {\LWR@FV@linethensep}
+ {}
+ {\LWR@patcherror{fvextra}{FV@Numbers@right C}}
+
+\xpatchcmd{\FV@Numbers@both}
+ {\hbox to\z@{\hss\theFancyVerbLine\kern\FV@NumberSep}}
+ {\LWR@FV@linethensep}
+ {}
+ {\LWR@patcherror{fvextra}{FV@Numbers@both A}}
+
+\xpatchcmd{\FV@Numbers@both}
+ {\hbox to\z@{\hss\theFancyVerbLine\kern\FV@NumberSep}}
+ {\LWR@FV@linethensep}
+ {}
+ {\LWR@patcherror{fvextra}{FV@Numbers@both B}}
+
+\xpatchcmd{\FV@Numbers@both}
+ {\hbox to\z@{\hss\theFancyVerbLine\kern\FV@NumberSep}}
+ {\LWR@FV@linethensep}
+ {}
+ {\LWR@patcherror{fvextra}{FV@Numbers@both C}}
+
+\xpatchcmd{\FV@Numbers@both}
+ {\hbox to\z@{\kern\FV@NumberSep\theFancyVerbLine\hss}}
+ {\LWR@FV@septhenline}
+ {}
+ {\LWR@patcherror{fvextra}{FV@Numbers@both D}}
+
+\xpatchcmd{\FV@Numbers@both}
+ {\hbox to\z@{\kern\FV@NumberSep\theFancyVerbLine\hss}}
+ {\LWR@FV@septhenline}
+ {}
+ {\LWR@patcherror{fvextra}{FV@Numbers@both E}}
+
+\xpatchcmd{\FV@Numbers@both}
+ {\hbox to\z@{\hss\theFancyVerbLine\kern\FV@NumberSep}}
+ {\LWR@FV@linethensep}
+ {}
+ {\LWR@patcherror{fvextra}{FV@Numbers@both F}}
+% \end{macrocode}
+%
+% \iffalse
+%</fvextra>
+% \fi
+%
+%
+%
%
% \iffalse
%<*fwlw>
@@ -52132,6 +56824,75 @@ solid {\FancyVerbRuleColor{\LWR@origpound\LWR@tempcolor}} ; % space
%
%
% \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@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@getspecial#1\indexspecial\indexspecial\@@\indexitem{\hyperindexref{#2}}}
+
+\def\addindexsubitem#1#2{%
+ \stepcounter{indexsubitems}%
+ \gix@getspecial#1\indexspecial\indexspecial\@@\indexsubitem{\hyperindexref{#2}}}
+
+\def\addindexsubsubitem#1#2{%
+ \gix@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 @@ solid {\FancyVerbRuleColor{\LWR@origpound\LWR@tempcolor}} ; % space
% \begin{macrocode}
\renewcommand*{\@p@glossarysection}[2]{%
\glsclearpage
- \phantomsection
+ \LWR@phantomsection
\ifdefempty\@@glossarysecstar
{%
\csname\@@glossarysec\endcsname{#2}%
@@ -52320,10 +57081,11 @@ solid {\FancyVerbRuleColor{\LWR@origpound\LWR@tempcolor}} ; % space
% \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@ProvidesPackagePass{graphics}[2017/06/25]
+\LWR@ProvidesPackagePass{graphics}[2020/08/30]
% \end{macrocode}
@@ -52489,9 +57251,8 @@ solid {\FancyVerbRuleColor{\LWR@origpound\LWR@tempcolor}} ; % space
\define@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@igxscale}{#1}%
@@ -52732,19 +57493,21 @@ solid {\FancyVerbRuleColor{\LWR@origpound\LWR@tempcolor}} ; % space
% 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@includegraphicsb}.}
+% \changes{v0.895}{2021/01/14}{Improved \HTML\ quotes.}
% \begin{macrocode}
\newcommand*{\LWR@ig@htmltag}{%
img\LWR@indentHTML%
- src="%
+ src=\textquotedbl%
% \end{macrocode}
% \changes{v0.62}{2018/10/27}{\pkg{graphics}: Fix: Filename expansion.}
% \begin{macrocode}
\detokenize\expandafter{\LWR@parsedfilename}%
% \end{macrocode}
% \begin{macrocode}
- "\LWR@indentHTML%
+ \textquotedbl\LWR@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@igwidthstyle}{} \OR
@@ -52755,7 +57518,7 @@ solid {\FancyVerbRuleColor{\LWR@origpound\LWR@tempcolor}} ; % space
\NOT\equal{\LWR@igyscale}{1}
}%
{%
- style="\LWR@indentHTML
+ style=\textquotedbl\LWR@indentHTML
\ifthenelse{\NOT\equal{\LWR@igwidthstyle}{}}%
{\LWR@igwidthstyle;\LWR@indentHTML}{}%
\ifthenelse{\NOT\equal{\LWR@igheightstyle}{}}%
@@ -52787,14 +57550,15 @@ solid {\FancyVerbRuleColor{\LWR@origpound\LWR@tempcolor}} ; % space
\ifthenelse{\NOT\equal{\LWR@opacity}{1}}%
{opacity:\LWR@opacity;\LWR@indentHTML}{}%
%
- "\LWR@indentHTML%
+ \textquotedbl\LWR@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@igclass"\LWR@indentHTML%
- alt="\AltTextOpen\LWR@igalt\AltTextClose" \LWR@orignewline%
+ class=\textquotedbl\LWR@igclass\textquotedbl\LWR@indentHTML%
+ alt=\textquotedbl\AltTextOpen\LWR@igalt\AltTextClose\textquotedbl\ \LWR@orignewline%
}% end of image tags
% \end{macrocode}
% \end{noindmacro}
@@ -52816,7 +57580,7 @@ solid {\FancyVerbRuleColor{\LWR@origpound\LWR@tempcolor}} ; % space
% \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 @@ solid {\FancyVerbRuleColor{\LWR@origpound\LWR@tempcolor}} ; % space
\Ginclude@graphics{\detokenize\expandafter{\LWR@tempone}}%
\endgroup%
\filename@parse{\LWR@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@parsedfilename}{//}{/}[\LWR@parsedfilename]%
+% \end{macrocode}
+% \begin{macrocode}
\LWR@traceinfo{LWR@parsedfilename is \LWR@parsedfilename}%
-% \LWR@sanitize{\LWR@parsedfilename}%
% \end{macrocode}
+% ^^A \LWR@sanitize{\LWR@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 @@ solid {\FancyVerbRuleColor{\LWR@origpound\LWR@tempcolor}} ; % space
% alt tag, style, and class:
% \begin{macrocode}
\LWR@traceinfo{LWR@includegraphicsb: about to create href}%
- \href{\LWR@parsedfilename}%
+ \LWR@href{\LWR@parsedfilename}%
{% start of href
\LWR@traceinfo{LWR@includegraphicsb: about to LWR@htmltag}%
\LWR@htmltag{\LWR@ig@htmltag}%
@@ -53033,10 +57806,11 @@ solid {\FancyVerbRuleColor{\LWR@origpound\LWR@tempcolor}} ; % space
% \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@htmltagc{%
span\LWR@indentHTML
- style="\LWR@indentHTML
+ style=\textquotedbl\LWR@indentHTML
display: inline-block;\LWR@indentHTML
% \end{macrocode}
% If an origin was given, translate and print the origin information:
@@ -53049,7 +57823,7 @@ solid {\FancyVerbRuleColor{\LWR@origpound\LWR@tempcolor}} ; % space
% \begin{macrocode}
\LWR@rotstyle{-ms-}{#2}\LWR@indentHTML
\LWR@rotstyle{-webkit-}{#2}\LWR@indentHTML
- \LWR@rotstyle{}{#2}"\LWR@orignewline%
+ \LWR@rotstyle{}{#2}\textquotedbl\LWR@orignewline%
}\LWR@orignewline%
% \end{macrocode}
% Print the text to be rotated:
@@ -53085,10 +57859,11 @@ solid {\FancyVerbRuleColor{\LWR@origpound\LWR@tempcolor}} ; % space
% \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@htmltagc{%
span\LWR@indentHTML
- style="\LWR@indentHTML
+ style=\textquotedbl\LWR@indentHTML
display: inline-block;\LWR@indentHTML
% \end{macrocode}
% Print the scaling information:
@@ -53096,7 +57871,7 @@ solid {\FancyVerbRuleColor{\LWR@origpound\LWR@tempcolor}} ; % space
\LWR@scalestyle{-ms-}{#1}{\IfNoValueTF{#2}{#1}{#2}}\LWR@indentHTML
\LWR@scalestyle{-webkit-}{#1}{\IfNoValueTF{#2}{#1}{#2}}\LWR@indentHTML
\LWR@scalestyle{}{#1}{\IfNoValueTF{#2}{#1}{#2}}
- "\LWR@orignewline
+ \textquotedbl\LWR@orignewline
}\LWR@orignewline%
% \end{macrocode}
% Print the text to be scaled:
@@ -53126,7 +57901,7 @@ solid {\FancyVerbRuleColor{\LWR@origpound\LWR@tempcolor}} ; % space
\AtBeginDocument{
\newcommand{\LWR@HTML@reflectbox}[1]{%
-\scalebox{-1}[1]{#1}%
+ \scalebox{-1}[1]{#1}%
}% \reflectbox
\LWR@formatted{reflectbox}
@@ -53146,7 +57921,7 @@ solid {\FancyVerbRuleColor{\LWR@origpound\LWR@tempcolor}} ; % space
\AtBeginDocument{
\NewDocumentCommand{\LWR@HTML@resizebox}{s m m m}{%
-#4%
+ #4%
}
\LWR@formatted{resizebox}
@@ -53182,10 +57957,11 @@ solid {\FancyVerbRuleColor{\LWR@origpound\LWR@tempcolor}} ; % space
% \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@ProvidesPackagePass{graphicx}[2017/06/01]
+\LWR@ProvidesPackagePass{graphicx}[2020/09/09]
% \end{macrocode}
% \iffalse
@@ -53355,6 +58131,7 @@ solid {\FancyVerbRuleColor{\LWR@origpound\LWR@tempcolor}} ; % space
%
% \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 @@ solid {\FancyVerbRuleColor{\LWR@origpound\LWR@tempcolor}} ; % space
\renewcommand*{\LWR@printcloselist}{\LWR@printcloseitemize}%
\renewcommand*{\LWR@printopenlist}{%
\LWR@findhangingleftmargin%
- ul style="%
+ ul style=\textquotedbl%
\LWR@print@mbox{list-style-type:none;} % extra space
\LWR@print@mbox{%
margin-left:\LWR@printlength{\LWR@templengthone}%
@@ -53397,7 +58174,7 @@ solid {\FancyVerbRuleColor{\LWR@origpound\LWR@tempcolor}} ; % space
\LWR@print@mbox{%
text-indent:-\LWR@printlength{\hangingindent}%
}%
- "%
+ \textquotedbl%
}%
\let\item\LWR@itemizeitem%
\list{}{}%
@@ -53512,6 +58289,99 @@ solid {\FancyVerbRuleColor{\LWR@origpound\LWR@tempcolor}} ; % space
%
%
% \iffalse
+%<*hepunits>
+% \fi
+%
+% \part{lwarp-hepunits.sty}
+%
+% \section{hepunits}
+%
+% \credits{Andy Buckley}
+%
+% \DescribePackage{hepunits}
+% \pkg{hepunits} is used as-is, and emulated for \brand{MathJax}.
+%
+% \changes{v0.89}{2020/07/23}{\pkg{hepunits}: Added.}
+%
+% \codehtml
+%
+% \begin{macrocode}
+\LWR@ProvidesPackagePass{hepunits}[2020/04/10]
+% \end{macrocode}
+%
+% \begin{macrocode}
+\begin{warpMathJax}
+\LWR@infoprocessingmathjax{hepunits}
+
+\ifx\@HEPopt@sicmds\@yes
+\CustomizeMathJax{\newcommand{\micron}{\micro\metre}}
+\CustomizeMathJax{\newcommand{\mrad}{\milli\radian}}
+\fi
+
+\CustomizeMathJax{\newcommand{\gauss}{\mathrm{G}}}
+
+\CustomizeMathJax{\newcommand{\invcmsq}{\centi\metre\tothe{-2}}}
+\CustomizeMathJax{\newcommand{\invcmsqpersecond}{\invcmsq\second\tothe{-1}}}
+\CustomizeMathJax{\newcommand{\invcmsqpersec}{\invcmsqpersecond}}
+
+%% (Inverse) cross-sections
+\CustomizeMathJax{\newcommand{\invbarn}{\barn\tothe{-1}}}
+
+\ifx\@HEPopt@noprefixcmds\@empty
+\CustomizeMathJax{\newcommand{\millibarn}{\milli\barn}}
+\CustomizeMathJax{\newcommand{\microbarn}{\micro\barn}}
+\CustomizeMathJax{\newcommand{\nanobarn}{\nano\barn}}
+\CustomizeMathJax{\newcommand{\picobarn}{\pico\barn}}
+\CustomizeMathJax{\newcommand{\femtobarn}{\femto\barn}}
+\CustomizeMathJax{\newcommand{\attobarn}{\atto\barn}}
+\CustomizeMathJax{\newcommand{\zeptobarn}{\zepto\barn}}
+\CustomizeMathJax{\newcommand{\yoctobarn}{\yocto\barn}}
+\CustomizeMathJax{\newcommand{\invnanobarn}{\nano\invbarn}}
+\CustomizeMathJax{\newcommand{\invpicobarn}{\pico\invbarn}}
+\CustomizeMathJax{\newcommand{\invfemtobarn}{\femto\invbarn}}
+\CustomizeMathJax{\newcommand{\invattobarn}{\atto\invbarn}}
+\CustomizeMathJax{\newcommand{\invzeptobarn}{\zepto\invbarn}}
+\CustomizeMathJax{\newcommand{\invyoctobarn}{\yocto\invbarn}}
+\CustomizeMathJax{\newcommand{\invnb}{\invnanobarn}}
+\CustomizeMathJax{\newcommand{\invpb}{\invpicobarn}}
+\CustomizeMathJax{\newcommand{\invfb}{\invfemtobarn}}
+\CustomizeMathJax{\newcommand{\invab}{\invattobarn}}
+\CustomizeMathJax{\newcommand{\invzb}{\invzeptobarn}}
+\CustomizeMathJax{\newcommand{\invyb}{\invyoctobarn}}
+\fi
+
+\CustomizeMathJax{\newcommand{\electronvoltc}{\electronvolt\per\mathit{c}}}
+\CustomizeMathJax{\newcommand{\electronvoltcsq}{\electronvolt\per\mathit{c}\squared}}
+\CustomizeMathJax{\let\eVc\electronvoltc}
+\CustomizeMathJax{\let\eVcsq\electronvoltcsq}
+
+\ifx\@HEPopt@noprefixcmds\@empty
+\CustomizeMathJax{\newcommand{\meV}{\milli\eV}}
+\CustomizeMathJax{\newcommand{\keV}{\kilo\eV}}
+\CustomizeMathJax{\newcommand{\MeV}{\mega\eV}}
+\CustomizeMathJax{\newcommand{\GeV}{\giga\eV}}
+\CustomizeMathJax{\newcommand{\TeV}{\tera\eV}}
+\CustomizeMathJax{\newcommand{\meVc}{\milli\eVc}}
+\CustomizeMathJax{\newcommand{\keVc}{\kilo\eVc}}
+\CustomizeMathJax{\newcommand{\MeVc}{\mega\eVc}}
+\CustomizeMathJax{\newcommand{\GeVc}{\giga\eVc}}
+\CustomizeMathJax{\newcommand{\TeVc}{\tera\eVc}}
+\CustomizeMathJax{\newcommand{\meVcsq}{\milli\eVcsq}}
+\CustomizeMathJax{\newcommand{\keVcsq}{\kilo\eVcsq}}
+\CustomizeMathJax{\newcommand{\MeVcsq}{\mega\eVcsq}}
+\CustomizeMathJax{\newcommand{\GeVcsq}{\giga\eVcsq}}
+\CustomizeMathJax{\newcommand{\TeVcsq}{\tera\eVcsq}}
+\fi
+\end{warpMathJax}
+% \end{macrocode}
+%
+% \iffalse
+%</hepunits>
+% \fi
+%
+%
+%
+% \iffalse
%<*hhline>
% \fi
%
@@ -53564,6 +58434,62 @@ solid {\FancyVerbRuleColor{\LWR@origpound\LWR@tempcolor}} ; % space
%
%
% \iffalse
+%<*hhtensor>
+% \fi
+%
+% \part{lwarp-hhtensor.sty}
+%
+% \section{hhtensor}
+%
+% \credits{Harald Harders}
+%
+% \DescribePackage{hhtensor}
+% \pkg{hhtensor} is used as-is, and emulated for \brand{MathJax}.
+%
+% \changes{v0.88}{2020/07/23}{\pkg{hhtensor}: Added.}
+%
+% \codehtml
+%
+% \begin{macrocode}
+\LWR@ProvidesPackagePass{hhtensor}[2011/12/29]
+% \end{macrocode}
+%
+% \begin{macrocode}
+\begin{warpMathJax}
+\iftensor@bold
+ \CustomizeMathJax{\newcommand{\vec}[1]{\boldsymbol{#1}}}
+ \CustomizeMathJax{\newcommand{\matr}[1]{\boldsymbol{#1}}}
+ \CustomizeMathJax{\newcommand{\tens}[2]{\boldsymbol{#1}}}
+\else
+ \iftensor@uline
+ \CustomizeMathJax{\newcommand{\vec}[1]{\ushort{#1}}}
+ \CustomizeMathJax{\newcommand{\matr}[1]{\ushortd{#1}}}
+ \CustomizeMathJax{\newcommand{\tens}[2]{
+ \underset{
+ \raise{.5ex}{\underset{#2}{\sim}}
+ }{#1}
+ }}
+ \else
+ \CustomizeMathJax{\newcommand{\matr}[1]{\vec{\vec{#1}}}}
+ \CustomizeMathJax{\newcommand{\tens}[2]{
+ \underset{
+ \raise{.5ex}{\underset{#2}{\sim}}
+ }{#1}
+ }}
+ \fi
+\fi
+\CustomizeMathJax{\newcommand{\dcdot}{\mathrel{\cdot\mkern 0.0mu \cdot}}}
+\CustomizeMathJax{\newcommand{\trans}{{}^{\mathrm{T}}}}
+\end{warpMathJax}
+% \end{macrocode}
+%
+% \iffalse
+%</hhtensor>
+% \fi
+%
+%
+%
+% \iffalse
%<*hypbmsec>
% \fi
%
@@ -53684,7 +58610,7 @@ solid {\FancyVerbRuleColor{\LWR@origpound\LWR@tempcolor}} ; % space
% \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 @@ solid {\FancyVerbRuleColor{\LWR@origpound\LWR@tempcolor}} ; % space
% \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@hyperref,prefix=LWR@hyperref@}
+
+\newcommand{\hypersetup}[1]{\setkeys{LWR@hyperref}{#1}}
+
+\define@key{LWR@hyperref}{a4paper}[]{}
+\define@key{LWR@hyperref}{a5paper}[]{}
+\define@key{LWR@hyperref}{b5paper}[]{}
+\define@key{LWR@hyperref}{letterpaper}[]{}
+\define@key{LWR@hyperref}{legalpaper}[]{}
+\define@key{LWR@hyperref}{executivepaper}[]{}
+\define@key{LWR@hyperref}{implicit}[]{}
+\define@key{LWR@hyperref}{draft}[]{}
+\define@key{LWR@hyperref}{final}[]{}
+\define@key{LWR@hyperref}{setpagesize}[]{}
+\define@key{LWR@hyperref}{debug}[]{}
+\define@key{LWR@hyperref}{linktocpage}[]{}
+\define@key{LWR@hyperref}{linktoc}[]{}
+\define@key{LWR@hyperref}{extension}[]{}
+\define@key{LWR@hyperref}{verbose}[]{}
+\define@key{LWR@hyperref}{typexml}[]{}
+\define@key{LWR@hyperref}{raiselinks}[]{}
+\define@key{LWR@hyperref}{breaklinks}[]{}
+\define@key{LWR@hyperref}{localanchorname}[]{}
+\define@key{LWR@hyperref}{pageanchor}[]{}
+\define@key{LWR@hyperref}{plainpages}[]{}
+\define@key{LWR@hyperref}{naturalnames}[]{}
+\define@key{LWR@hyperref}{hypertexnames}[]{}
+\define@key{LWR@hyperref}{nesting}[]{}
+\define@key{LWR@hyperref}{destlabel}[]{}
+\define@key{LWR@hyperref}{unicode}[]{}
+\define@key{LWR@hyperref}{pdfencoding}[]{}
+\define@key{LWR@hyperref}{psdextra}[]{}
+\define@key{LWR@hyperref}{pdfversion}[]{}
+\define@key{LWR@hyperref}{dvipdfmx-outline-open}[]{}
+\define@key{LWR@hyperref}{driverfallback}[]{}
+\define@key{LWR@hyperref}{customdriver}[]{}
+\define@key{LWR@hyperref}{hyperfigures}[]{}
+\define@key{LWR@hyperref}{hyperfootnotes}[]{}
+\define@key{LWR@hyperref}{hyperindex}[]{}
+\define@key{LWR@hyperref}{encap}[]{}
+\define@key{LWR@hyperref}{colorlinks}[]{}
+\define@key{LWR@hyperref}{ocgcolorlinks}[]{}
+\define@key{LWR@hyperref}{frenchlinks}[]{}
+\define@key{LWR@hyperref}{bookmarks}[]{}
+\define@key{LWR@hyperref}{bookmarksopen}[]{}
+\define@key{LWR@hyperref}{bookmarksdepth}[]{}
+\define@key{LWR@hyperref}{bookmarksopenlevel}[]{}
+\define@key{LWR@hyperref}{bookmarkstype}[]{}
+\define@key{LWR@hyperref}{bookmarksnumbered}[]{}
+\define@key{LWR@hyperref}{CJKbookmarks}[]{}
+\define@key{LWR@hyperref}{link}[]{}
+\define@key{LWR@hyperref}{anchor}[]{}
+\define@key{LWR@hyperref}{cite}[]{}
+\define@key{LWR@hyperref}{file}[]{}
+\define@key{LWR@hyperref}{url}[]{}
+\define@key{LWR@hyperref}{menu}[]{}
+\define@key{LWR@hyperref}{run}[]{}
+\define@key{LWR@hyperref}{linkbordercolor}[]{}
+\define@key{LWR@hyperref}{anchorbordercolor}[]{}
+\define@key{LWR@hyperref}{citebordercolor}[]{}
+\define@key{LWR@hyperref}{filebordercolor}[]{}
+\define@key{LWR@hyperref}{urlbordercolor}[]{}
+\define@key{LWR@hyperref}{menubordercolor}[]{}
+\define@key{LWR@hyperref}{runbordercolor}[]{}
+\define@key{LWR@hyperref}{pagecolor}[]{}
+\define@key{LWR@hyperref}{baseurl}[]{}
+\define@key{LWR@hyperref}{linkfileprefix}[]{}
+\define@key{LWR@hyperref}{pdfpagetransition}[]{}
+\define@key{LWR@hyperref}{pdfpageduration}[]{}
+\define@key{LWR@hyperref}{pdfpagehidden}[]{}
+\define@key{LWR@hyperref}{pagebordercolor}[]{}
+\define@key{LWR@hyperref}{allbordercolors}[]{}
+\define@key{LWR@hyperref}{pdfhighlight}[]{}
+\define@key{LWR@hyperref}{pdfborder}[]{}
+\define@key{LWR@hyperref}{pdfborderstyle}[]{}
+\define@key{LWR@hyperref}{pdfprintpagerange}[]{}
+\define@key{LWR@hyperref}{pdfusetitle}[]{}
+\define@key{LWR@hyperref}{pdftitle}[]{}
+\define@key{LWR@hyperref}{pdfauthor}[]{}
+\define@key{LWR@hyperref}{pdfproducer}[]{}
+\define@key{LWR@hyperref}{pdfcreator}[]{}
+\define@key{LWR@hyperref}{addtopdfcreator}[]{}
+\define@key{LWR@hyperref}{pdfcreationdate}[]{}
+\define@key{LWR@hyperref}{pdfmoddate}[]{}
+\define@key{LWR@hyperref}{pdfsubject}[]{}
+\define@key{LWR@hyperref}{pdfkeywords}[]{}
+\define@key{LWR@hyperref}{pdftrapped}[]{}
+\define@key{LWR@hyperref}{pdfinfo}[]{}
+\define@key{LWR@hyperref}{pdfview}[]{}
+\define@key{LWR@hyperref}{pdflinkmargin}[]{}
+\define@key{LWR@hyperref}{pdfstartpage}[]{}
+\define@key{LWR@hyperref}{pdfstartview}[]{}
+\define@key{LWR@hyperref}{pdfremotestartview}[]{}
+\define@key{LWR@hyperref}{pdfpagescrop}[]{}
+\define@key{LWR@hyperref}{pdftoolbar}[]{}
+\define@key{LWR@hyperref}{pdfmenubar}[]{}
+\define@key{LWR@hyperref}{pdfwindowui}[]{}
+\define@key{LWR@hyperref}{pdffitwindow}[]{}
+\define@key{LWR@hyperref}{pdfcenterwindow}[]{}
+\define@key{LWR@hyperref}{pdfdisplaydoctitle}[]{}
+\define@key{LWR@hyperref}{pdfa}[]{}
+\define@key{LWR@hyperref}{pdfnewwindow}[]{}
+\define@key{LWR@hyperref}{pdflang}[]{}
+\define@key{LWR@hyperref}{pdfpagelabels}[]{}
+\define@key{LWR@hyperref}{pdfescapeform}[]{}
+\define@key{LWR@hyperref}{english}[]{}
+\define@key{LWR@hyperref}{UKenglish}[]{}
+\define@key{LWR@hyperref}{british}[]{}
+\define@key{LWR@hyperref}{USenglish}[]{}
+\define@key{LWR@hyperref}{american}[]{}
+\define@key{LWR@hyperref}{german}[]{}
+\define@key{LWR@hyperref}{austrian}[]{}
+\define@key{LWR@hyperref}{ngerman}[]{}
+\define@key{LWR@hyperref}{naustrian}[]{}
+\define@key{LWR@hyperref}{russian}[]{}
+\define@key{LWR@hyperref}{brazil}[]{}
+\define@key{LWR@hyperref}{brazilian}[]{}
+\define@key{LWR@hyperref}{portuguese}[]{}
+\define@key{LWR@hyperref}{spanish}[]{}
+\define@key{LWR@hyperref}{catalan}[]{}
+\define@key{LWR@hyperref}{afrikaans}[]{}
+\define@key{LWR@hyperref}{french}[]{}
+\define@key{LWR@hyperref}{frenchb}[]{}
+\define@key{LWR@hyperref}{francais}[]{}
+\define@key{LWR@hyperref}{acadian}[]{}
+\define@key{LWR@hyperref}{canadien}[]{}
+\define@key{LWR@hyperref}{italian}[]{}
+\define@key{LWR@hyperref}{magyar}[]{}
+\define@key{LWR@hyperref}{hungarian}[]{}
+\define@key{LWR@hyperref}{greek}[]{}
+\define@key{LWR@hyperref}{dutch}[]{}
+\define@key{LWR@hyperref}{tex4ht}[]{}
+\define@key{LWR@hyperref}{pdftex}[]{}
+\define@key{LWR@hyperref}{luatex}[]{}
+\define@key{LWR@hyperref}{nativepdf}[]{}
+\define@key{LWR@hyperref}{dvipdfm}[]{}
+\define@key{LWR@hyperref}{dvipdfmx}[]{}
+\define@key{LWR@hyperref}{xetex}[]{}
+\define@key{LWR@hyperref}{pdfmark}[]{}
+\define@key{LWR@hyperref}{dvips}[]{}
+\define@key{LWR@hyperref}{hypertex}[]{}
+\define@key{LWR@hyperref}{vtex}[]{}
+\define@key{LWR@hyperref}{vtexpdfmark}[]{}
+\define@key{LWR@hyperref}{dviwindo}[]{}
+\define@key{LWR@hyperref}{dvipsone}[]{}
+\define@key{LWR@hyperref}{textures}[]{}
+\define@key{LWR@hyperref}{latex2html}[]{}
+\define@key{LWR@hyperref}{ps2pdf}[]{}
+\define@key{LWR@hyperref}{vietnamese}[]{}
+\define@key{LWR@hyperref}{vietnam}[]{}
+\define@key{LWR@hyperref}{arabic}[]{}
+\define@key{LWR@hyperref}{hidelinks}[]{}
+\define@key{LWR@hyperref}{draft}[]{}
+\define@key{LWR@hyperref}{nolinks}[]{}
+\define@key{LWR@hyperref}{final}[]{}
+\define@key{LWR@hyperref}{pdfa}[]{}
+\define@key{LWR@hyperref}{pdfversion}[]{}
+\define@key{LWR@hyperref}{typexml}[]{}
+\define@key{LWR@hyperref}{tex4ht}[]{}
+\define@key{LWR@hyperref}{pdftex}[]{}
+\define@key{LWR@hyperref}{nativepdf}[]{}
+\define@key{LWR@hyperref}{dvipdfm}[]{}
+\define@key{LWR@hyperref}{dvipdfmx}[]{}
+\define@key{LWR@hyperref}{dvipdfmx-outline-open}[]{}
+\define@key{LWR@hyperref}{pdfmark}[]{}
+\define@key{LWR@hyperref}{dvips}[]{}
+\define@key{LWR@hyperref}{hypertex}[]{}
+\define@key{LWR@hyperref}{vtex}[]{}
+\define@key{LWR@hyperref}{vtexpdfmark}[]{}
+\define@key{LWR@hyperref}{dviwindo}[]{}
+\define@key{LWR@hyperref}{dvipsone}[]{}
+\define@key{LWR@hyperref}{textures}[]{}
+\define@key{LWR@hyperref}{latex2html}[]{}
+\define@key{LWR@hyperref}{ps2pdf}[]{}
+\define@key{LWR@hyperref}{xetex}[]{}
+\define@key{LWR@hyperref}{driverfallback}[]{}
+\define@key{LWR@hyperref}{customdriver}[]{}
+\define@key{LWR@hyperref}{pdfversion}[]{}
+\define@key{LWR@hyperref}{bookmarks}[]{}
+\define@key{LWR@hyperref}{ocgcolorlinks}[]{}
+\define@key{LWR@hyperref}{colorlinks}[]{}
+\define@key{LWR@hyperref}{frenchlinks}[]{}
+\define@key{LWR@hyperref}{backref}[]{}
+\define@key{LWR@hyperref}{pagebackref}[]{}
+\define@key{LWR@hyperref}{destlabel}[]{}
+\define@key{LWR@hyperref}{pdfpagescrop}[]{}
+\define@key{LWR@hyperref}{pdfpagemode}[]{}
+\define@key{LWR@hyperref}{pdfnonfullscreenpagemode}[]{}
+\define@key{LWR@hyperref}{pdfdirection}[]{}
+\define@key{LWR@hyperref}{pdfviewarea}[]{}
+\define@key{LWR@hyperref}{pdfviewclip}[]{}
+\define@key{LWR@hyperref}{pdfprintarea}[]{}
+\define@key{LWR@hyperref}{pdfprintclip}[]{}
+\define@key{LWR@hyperref}{pdfprintscaling}[]{}
+\define@key{LWR@hyperref}{pdfduplex}[]{}
+\define@key{LWR@hyperref}{pdfpicktraybypdfsize}[]{}
+\define@key{LWR@hyperref}{pdfprintpagerange}[]{}
+\define@key{LWR@hyperref}{pdfnumcopies}[]{}
+\define@key{LWR@hyperref}{pdfstartview}[]{}
+\define@key{LWR@hyperref}{pdfstartpage}[]{}
+\define@key{LWR@hyperref}{pdftoolbar}[]{}
+\define@key{LWR@hyperref}{pdfmenubar}[]{}
+\define@key{LWR@hyperref}{pdfwindowui}[]{}
+\define@key{LWR@hyperref}{pdffitwindow}[]{}
+\define@key{LWR@hyperref}{pdfcenterwindow}[]{}
+\define@key{LWR@hyperref}{pdfdisplaydoctitle}[]{}
+\define@key{LWR@hyperref}{pdfpagelayout}[]{}
+\define@key{LWR@hyperref}{pdflang}[]{}
+\define@key{LWR@hyperref}{baseurl}[]{}
+\define@key{LWR@hyperref}{pdfusetitle}[]{}
+\define@key{LWR@hyperref}{pdfpagelabels}[]{}
+\define@key{LWR@hyperref}{hyperfootnotes}[]{}
+\define@key{LWR@hyperref}{hyperfigures}[]{}
+\define@key{LWR@hyperref}{hyperindex}[]{}
+\define@key{LWR@hyperref}{encap}[]{}
+\define@key{LWR@hyperref}{linkcolor}[]{}
+\define@key{LWR@hyperref}{anchorcolor}[]{}
+\define@key{LWR@hyperref}{citecolor}[]{}
+\define@key{LWR@hyperref}{filecolor}[]{}
+\define@key{LWR@hyperref}{urlcolor}[]{}
+\define@key{LWR@hyperref}{menucolor}[]{}
+\define@key{LWR@hyperref}{runcolor}[]{}
+\define@key{LWR@hyperref}{allcolors}[]{}
+
+\DeclareStringOption[false]{backref}[section]
+
+\DeclareBoolOption{pagebackref}
+
+\DeclareDefaultOption{}
-\DeclareOption*{}
+\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@ptions\relax% from the original \ProcessOptions
+\ifdefstring{\LWR@hyperref@backref}{section}
+ {\RequirePackage{backref}}
+ {}
+
+\ifdefstring{\LWR@hyperref@backref}{slide}
+ {\RequirePackage{backref}}
+ {}
+
+\ifdefstring{\LWR@hyperref@backref}{page}
+ {\RequirePackage{backref}}
+ {}
+
+\ifLWR@hyperref@pagebackref
+ \RequirePackage{backref}
+\fi
% \end{macrocode}
+%
+%
+% \changes{v0.86}{2020/05/07}{\pkg{hyperref}: Adjusted emulation.}
+% \begin{macrocode}
+\LetLtxMacro\href\LWR@href
+\LetLtxMacro\nolinkurl\LWR@nolinkurl
+\LetLtxMacro\url\LWR@url
+\LetLtxMacro\phantomsection\LWR@phantomsection
+% \end{macrocode}
+
% \begin{macrocode}
-\newcommand*{\hypersetup}[1]{}
\newcommand*{\hyperbaseurl}[1]{}
% \end{macrocode}
@@ -53725,12 +58906,17 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
% \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@hyperimageb}{m +m}{%
\LWR@ensuredoingapar%
\def\LWR@templink{#1}%
\@onelevel@sanitize\LWR@templink%
- \LWR@htmltag{img src="\LWR@templink" alt="#2" class="hyperimage"}%
+ \LWR@htmltag{%
+ img src=\textquotedbl\LWR@templink\textquotedbl\ %
+ alt=\textquotedbl#2\textquotedbl\ %
+ class=\textquotedbl{}hyperimage\textquotedbl%
+ }%
\LWR@ensuredoingapar%
\endgroup%
}
@@ -53754,7 +58940,7 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
% \begin{macrocode}
\NewDocumentCommand{\LWR@hyperdefb}{m m +m}{%
\LWR@ensuredoingapar%
- \LWR@sublabel{#1.#2}%
+ \LWR@label@createtag{#1.#2}%
#3%
\endgroup%
}
@@ -53774,23 +58960,26 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
% \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@hyperreffinish}[1]{%
\begingroup%
- \RenewDocumentCommand{\ref}{}{\LWR@ref@ignorestar}%
- #1%
+ \RenewDocumentCommand{\ref}{s m}{\LWR@print@ref{##2}}%
+ #1%
\endgroup%
\LWR@htmltag{/a}%
}
\newcommand*{\LWR@hyperrefbb}[3]{%
\LWR@htmltag{%
- a href="%
+ a href=\textquotedbl%
\detokenize\expandafter{#1}\LWR@hashmark%
\detokenize\expandafter{#2}.\detokenize\expandafter{#3}%
- "%
+ \textquotedbl%
\LWR@addlinktitle%
}%
\endgroup%
@@ -53955,7 +59144,9 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
% \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 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
%
% \begin{macrocode}
\newcommand{\LWR@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@orignewpage
-\LWR@startpars
+ \LWR@maybe@orignewpage
+ \LWR@startpars
-\LWR@indexprenote
+ \LWR@indexprenote
+ }
}
-
+% \end{macrocode}
+%
+% \begin{macrocode}
\newcommand{\setindexprenote}[1]{\renewcommand{\LWR@indexprenote}{#1}}
\newcommand*{\noindexprenote}{\renewcommand{\LWR@indexprenote}{}}
@@ -54340,7 +59539,7 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
\catcode`\_=12%
\renewcommand*{\printindex}[1][\imki@jobname]{%
-\LWR@orignewpage%
+\LWR@maybe@orignewpage%
\LWR@startpars%
\ifstrequal{#1}{\imki@jobname}{%
\@ifundefined{#1@idxfile}{%
@@ -54423,14 +59622,14 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
% \begin{macrocode}
\renewcommand\imki@wrindexentrysplit[3]{%
\addtocounter{LWR@autoindex}{1}%
-\LWR@new@label{LWRindex-\arabic{LWR@autoindex}}%
+\label{LWRindex-\arabic{LWR@autoindex}}%
\expandafter\protected@write\csname#1@idxfile\endcsname{}%
{\string\indexentry{#2}{\arabic{LWR@autoindex}}}%
}
\renewcommand\imki@wrindexentryunique[3]{%
\addtocounter{LWR@autoindex}{1}%
-\LWR@new@label{LWRindex-\arabic{LWR@autoindex}}%
+\label{LWRindex-\arabic{LWR@autoindex}}%
\protected@write\@indexfile{}%
{\string\indexentry[#1]{#2}{\arabic{LWR@autoindex}}}%
}
@@ -54453,7 +59652,7 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
%
% \begin{noindmacro}{\LWR@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@imki@setxdydefopts}{%
\edef\imki@options{ \space %
@@ -54468,7 +59667,7 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
% \begin{noindmacro}{\LWR@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,6 +59769,32 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
%
%
%
+%
+% \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@ProvidesPackageDrop{impnattypo}[2019/03/04]
+% \end{macrocode}
+%
+% \iffalse
+%</impnattypo>
+% \fi
+%
+%
+%
% \iffalse
%<*index>
% \fi
@@ -54621,7 +59846,7 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
{\begingroup}
{%
\addtocounter{LWR@autoindex}{1}% lwarp
- \LWR@new@label{LWRindex-\arabic{LWR@autoindex}}% lwarp
+ \label{LWRindex-\arabic{LWR@autoindex}}% lwarp
\begingroup%
}
{}
@@ -54740,7 +59965,7 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
%
% \begin{macrocode}
\NewDocumentCommand{\attachandlink}{o m o m m}{%
- \href{#2}{#5}%
+ \LWR@href{#2}{#5}%
}
% \end{macrocode}
%
@@ -54751,6 +59976,241 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
%
%
%
+% \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@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@ProvidesPackagePass{isotope}[2011/08/26]
+% \end{macrocode}
+%
+% \begin{macrocode}
+\newcommand{\LWR@HTML@isotope@two}[2][]{%
+ \renewcommand{\isotope@atomicnumber}{#1}%
+ \edef\LWR@isotope@alttag{%
+ \textbackslash(
+ \textbackslash{}isotope
+ [\isotope@nucleonnumber]%
+ [\isotope@atomicnumber]%
+ \{#2\}
+ \textbackslash)%
+ }%
+ \ifbool{mathjax}%
+ {\LWR@isotope@alttag}%
+ {% SVG
+ \m@th%
+ \LWR@subsingledollar*%
+ {% alt tag
+ \LWR@isotope@alttag%
+ }%
+ {isotope}% add'l hashing
+ {% contents
+ \settowidth\@tempdimb{%
+ \ensuremath{\scriptstyle\isotope@nucleonnumber}%
+ }%
+ \settowidth\@tempdimc{%
+ \ensuremath{\scriptstyle\isotope@atomicnumber}%
+ }%
+ \ifdim\@tempdimb<\@tempdimc\@tempdimb=\@tempdimc\fi%
+ \ensuremath{
+ {}%
+ ^{\makebox[\@tempdimb][r]{%
+ \ensuremath{%
+ \scriptstyle\isotope@nucleonnumber%
+ }% ensuremath
+ }}%
+ _{\makebox[\@tempdimb][r]{%
+ \ensuremath{%
+ \scriptstyle\isotope@atomicnumber%
+ }% ensuremath
+ }}%
+ \isotopestyle{#2}%
+ }% ensuremath
+ }% contents
+ }% SVG
+ \endgroup%
+}%
+\LWR@formatted{isotope@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@ProvidesPackagePass{jurabib}[2004/01/25]
+% \end{macrocode}
+%
+% \begin{macrocode}
+\renewrobustcmd{\jblangle}{\textless}
+
+\renewrobustcmd{\jbrangle}{\textgreater}
+
+\renewcommand*{\jb@biblaw@item}{%
+ \hspace{0.5em}%
+% $\triangleright$
+ \HTMLunicode{25B7}% lwarp
+ \hspace{0.5em}%
+}
+
+\renewrobustcmd{\jbarchsig}[2]{%
+ \ifjbweareinbib
+ \settowidth{\jb@subarchitemwidth}{\jbsamesubarchindent+#1}%
+ \setlength{\jb@subarchentrywidth}{\textwidth-\jb@subarchitemwidth-4em}%
+% \begin{tabular}{@{}p{\jb@subarchitemwidth}@{}j{\jb@subarchentrywidth}@{}}%
+ #1\ifjb@dot\unskip\unskip\unskip.\fi
+% &
+ \quad% lwarp
+ \ifthenelse{\equal{#2}{}}{}{\jbarchnameformat{#2}}%
+% \end{tabular}
+ \fi
+}%
+
+
+\xpatchcmd{\jb@do@post@item}
+ {\begin{tabular}{p{\jb@biblaw@item@width}j{\jb@biblaw@entry@width}}}
+ {}
+ {}
+ {\LWR@patcherror{jurabib}{jb@do@post@item 1}}
+
+\xpatchcmd{\jb@do@post@item}
+ {\multicolumn{2}{p{\columnwidth}}{\jb@@name}}
+ {\jb@@name}
+ {}
+ {\LWR@patcherror{jurabib}{jb@do@post@item 2}}
+
+\xpatchcmd{\jb@do@post@item}
+ {\jb@biblaw@item & \jb@@fulltitle}
+ {\jb@biblaw@item \quad \jb@@fulltitle}
+ {}
+ {\LWR@patcherror{jurabib}{jb@do@post@item 3}}
+
+\xpatchcmd{\jb@do@post@item}
+ {\end{tabular}}
+ {}
+ {}
+ {\LWR@patcherror{jurabib}{jb@do@post@item 4}}
+
+\xpatchcmd{\jb@do@post@item}
+ {\begin{minipage}[t]{\bibnumberwidth}}
+ {}
+ {}
+ {\LWR@patcherror{jurabib}{jb@do@post@item 5}}
+
+\xpatchcmd{\jb@do@post@item}
+ {\end{minipage}}
+ {\quad}
+ {}
+ {\LWR@patcherror{jurabib}{jb@do@post@item 6}}
+% \end{macrocode}
+%
+% \iffalse
+%</jurabib>
+% \fi
+%
+%
+%
+%
+%
%
% \iffalse
%<*karnaugh-map>
@@ -54773,8 +60233,10 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
\LWR@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 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
% \ifnum0=\@karnaughmap@local@matrixtemplate@% original
% print error if no template could be found
\PackageError{lwarp-karnaugh-map}{%
- Can not find a template fitting your specification (\@karnaughmap@var@mapsizex@\space x \@karnaughmap@var@mapsizey@\space x \@karnaughmap@var@mapsizez@)%
+ Can not find a template fitting your specification
+ (\@karnaughmap@var@mapsizex@\space x \@karnaughmap@var@mapsizey@\space x
+ \@karnaughmap@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 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
% \begin{macrocode}
\LWR@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 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
{float:right; width:2in; margin:10pt}%
{}%
{marginblock}%
- \captionsetup{type=#2}%
+ \renewcommand*{\@captype}{#2}%
\minipage{\LWR@usersmarginparwidth}%
\setlength{\marginparwidth}{.95\LWR@usersmarginparwidth}%
}
@@ -55278,6 +60743,295 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
%
%
% \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@ProvidesPackagePass{keystroke}[2010/04/23]
+% \end{macrocode}
+%
+% \begin{macrocode}
+\newcommand*{\LWR@HTML@keystroke}[1]{
+ \InlineClass{keystroke}{#1}
+}
+\LWR@formatted{keystroke}
+
+
+\newcommand*{\LWR@HTML@Return}{\keystroke{\HTMLunicode{021A9}}}
+\LWR@formatted{Return}
+
+\newcommand*{\LWR@HTML@BSpace}{\keystroke{\HTMLunicode{027FB}}}
+\LWR@formatted{BSpace}
+
+\newcommand*{\LWR@HTML@Tab}{\keystroke{|\HTMLunicode{021C6}|}}
+\LWR@formatted{Tab}
+
+\newcommand*{\LWR@HTML@UArrow}{\keystroke{\HTMLunicode{02191}}}
+\LWR@formatted{UArrow}
+
+\newcommand*{\LWR@HTML@DArrow}{\keystroke{\HTMLunicode{02193}}}
+\LWR@formatted{DArrow}
+
+\newcommand*{\LWR@HTML@LArrow}{\keystroke{\HTMLunicode{02190}}}
+\LWR@formatted{LArrow}
+
+\newcommand*{\LWR@HTML@RArrow}{\keystroke{\HTMLunicode{02192}}}
+\LWR@formatted{RArrow}
+
+% Preserves the language options:
+\LetLtxMacro\LWR@HTML@Shift\Shift
+\xpatchcmd{\LWR@HTML@Shift}
+ {$\Uparrow$}
+ {\HTMLunicode{21D1}}
+ {}
+ {}
+\LWR@formatted{Shift}
+
+\LetLtxMacro\LWR@HTML@PgUp\PgUp
+\xpatchcmd{\LWR@HTML@PgUp}
+ {$\uparrow$}
+ {\HTMLunicode{2191}}
+ {}
+ {}
+\LWR@formatted{PgUp}
+
+\LetLtxMacro\LWR@HTML@PgDown\PgDown
+\xpatchcmd{\LWR@HTML@PgDown}
+ {$\downarrow$}
+ {\HTMLunicode{2193}}
+ {}
+ {}
+\LWR@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@ProvidesPackagePass{kpfonts}[2010/08/20]
+
+\LWR@infoprocessingmathjax{kpfonts}
+
+\LWR@origRequirePackage{lwarp-common-mathjax-newpxtxmath}
+
+\LWR@origRequirePackage{lwarp-common-mathjax-letters}
+
+\begin{warpMathJax}
+
+\ifkp@calasscr
+ \CustomizeMathJax{\let\LWRorigmathscr\mathscr}
+ \CustomizeMathJax{\let\LWRorigmathcal\mathcal}
+ \CustomizeMathJax{\let\mathscr\LWRorigmathcal}
+ \CustomizeMathJax{\let\mathcal\LWRorigmathscr}
+\fi
+
+\ifkp@upgrk % lowercase
+ \LWR@mathjax@addgreek@l@up{}{}
+ \LWR@mathjax@addgreek@l@it{other}{}
+\else
+ \LWR@mathjax@addgreek@l@up{other}{}
+\fi
+
+\ifkp@slGrk
+ \LWR@mathjax@addgreek@u@it*{}{}
+ \LWR@mathjax@addgreek@u@up*{other}{}
+ \LWR@mathjax@addgreek@u@up*{var}{}
+\else
+ \LWR@mathjax@addgreek@u@it*{other}{}
+ \LWR@mathjax@addgreek@u@it*{var}{}
+\fi
+
+\LWR@mathjax@addgreek@u@up*{}{up}
+\LWR@mathjax@addgreek@l@up{}{up}
+
+\LWR@mathjax@addgreek@u@it*{}{sl}
+\LWR@mathjax@addgreek@l@it{}{sl}
+
+\CustomizeMathJax{\newcommand{\partialsl}{\mathord{\unicode{x1D715}}}}
+\CustomizeMathJax{\let\partialup\uppartial}% not upright
+
+\ifkp@oldReIm
+\else
+ \CustomizeMathJax{\renewcommand{\Re}{\mathfrak{Re}}}
+ \CustomizeMathJax{\renewcommand{\Im}{\mathfrak{Im}}}
+\fi
+
+\ifkp@Dcommand
+ \ifkp@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@ProvidesPackagePass{kpfonts-otf}[2020/06/20]
+
+\LWR@infoprocessingmathjax{kpfonts-otf}
+
+\LWR@origRequirePackage{lwarp-common-mathjax-nonunicode}
+
+\LWR@origRequirePackage{lwarp-common-mathjax-letters}
+
+\begin{warpMathJax}
+
+\ifkp@calasscr
+ \CustomizeMathJax{\let\mathscr\mathcal}
+\else
+ \CustomizeMathJax{\let\mathcal\mathscr}
+\fi
+
+\ifkp@frenchstyle
+ \LWR@mathjax@addgreek@l@up{}{}
+ \LWR@mathjax@addgreek@u@up*{}{}
+\fi
+
+\ifkp@oldReIm
+ \CustomizeMathJax{\renewcommand{\Re}{\mathfrak{Re}}}
+ \CustomizeMathJax{\renewcommand{\Im}{\mathfrak{Im}}}
+\else
+\fi
+
+\ifkp@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 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
% \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,6 +61422,391 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
%
%
%
+% \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@ProvidesPackagePass{libertinust1math}[2020/06/10]
+
+\LWR@infoprocessingmathjax{libertinust1math}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\LWR@origRequirePackage{lwarp-common-mathjax-letters}
+
+\begin{warpMathJax}
+
+\iflibus@slantedG
+ \LWR@mathjax@addgreek@u@it*{}{}
+\else
+ \LWR@mathjax@addgreek@u@up*{}{}
+\fi
+
+\LWR@mathjax@addgreek@u@it*{}{it}
+\LWR@mathjax@addgreek@u@up*{up}{}
+\LWR@mathjax@addgreek@u@up*{}{up}
+
+\iflibus@frenchm
+ \LWR@mathjax@addgreek@l@up{}{}
+\else
+ \LWR@mathjax@addgreek@l@it{}{}
+\fi
+
+\LWR@mathjax@addgreek@l@it{}{it}
+\LWR@mathjax@addgreek@l@up{}{up}
+\LWR@mathjax@addgreek@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
@@ -55684,6 +61823,7 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
% \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 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
\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 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
%
% \changes{v0.20}{2017/01/01}{\pkg{listings}: Added.}
%
-% \codehtml
-% \begin{macrocode}
-\begin{warpHTML}
-% \end{macrocode}
-%
%
% \begin{macrocode}
\LWR@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 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
% 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 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
,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 |&amp;| 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 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
% \changes{v0.51}{2018/03/17}{\pkg{listings}: Forces cleared options.}
% \begin{macrocode}
\LWR@traceinfo{lst@Init}%
+% \end{macrocode}
+%
+% \cs{LWR@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@forcenewpage} to start.}
+% \begin{macrocode}
+\lst@ifdisplaystyle%
+ \LWR@forcenewpage%
+\fi%
\renewcommand*{\@captype}{lstlisting}%
\let\lst@aboveskip\z@\let\lst@belowskip\z@%
\gdef\lst@boxpos{t}%
@@ -55976,18 +62132,24 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
% produce the \element{pre}, then
% reenable line numbers.
% \begin{macrocode}
-\LWR@traceinfo{About to create verbatim.}%
-\let\lsthk@EveryPar\relax%
-\LWR@forcenewpage
-\LWR@atbeginverbatim{2}{programlisting}%
+ \LWR@traceinfo{About to create verbatim.}%
+ \let\lsthk@EveryPar\relax%
+% \end{macrocode}
+% \changes{v0.891}{2020/09/16}{\pkg{listings}: Fix for \brand{MathJax}: Moved \cs{LWR@forcenewpage} to start.}
+% \begin{macrocode}
+ \LWR@atbeginverbatim{programlisting}%
-\let\lsthk@EveryPar\LWR@origlsthkEveryPar%
+ \let\lsthk@EveryPar\LWR@origlsthkEveryPar%
\else%
% \end{macrocode}
% Inline, so open a \element{span}:
+% \changes{v0.895}{2021/01/14}{Improved \HTML\ quotes.}
% \begin{macrocode}
-\ifbool{LWR@verbtags}{\LWR@htmltag{span class="inlineprogramlisting"}}{}%
+ \ifbool{LWR@verbtags}{\LWR@htmltag{%
+ span class=\textquotedbl{}inlineprogramlisting\textquotedbl%
+ }}{}%
\fi%
+\LWR@traceinfo{lst@Init done}%
}
% \end{macrocode}
@@ -56005,14 +62167,14 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
% produce the \element{/pre}, then
% reenable line numbers:
% \begin{macrocode}
-\let\lsthk@EveryPar\relax%
-\LWR@afterendverbatim{0}%
-\let\lsthk@EveryPar\LWR@origlsthkEveryPar%
+ \let\lsthk@EveryPar\relax%
+ \LWR@afterendverbatim%
+ \let\lsthk@EveryPar\LWR@origlsthkEveryPar%
\else%
% \end{macrocode}
% Inline, so create the closing \element{/span}:
% \begin{macrocode}
-\ifbool{LWR@verbtags}{\noindent\LWR@htmltag{/span}}{}%
+ \ifbool{LWR@verbtags}{\noindent\LWR@htmltag{/span}}{}%
\fi%
% \end{macrocode}
% Final \pkg{listings} deinit:
@@ -56030,6 +62192,7 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
%
% Patched for \pkg{lwarp}.
% \begin{macrocode}
+
\def\lst@MakeCaption#1{%
\LWR@traceinfo{MAKING CAPTION at #1}%
\lst@ifdisplaystyle
@@ -56047,15 +62210,18 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
\lst@ifnolol\else
\ifx\lst@@caption\@empty
\ifx\lst@caption\@empty
- \ifx\lst@intname\@empty \else \def\lst@temp{ }%
- \ifx\lst@intname\lst@temp \else
+ \ifx\lst@intname\@empty
+ \else
+ \def\lst@temp{ }%
+ \ifx\lst@intname\lst@temp \else
% \end{macrocode}
% This code places a contents entry for a non-float.
% This would have to be modified for \pkg{lwarp}:
% \begin{macrocode}
\LWR@traceinfo{addcontents lst@name: -\lst@name-}%
% \addcontentsline{lol}{lstlisting}{\lst@name}
- \fi\fi
+ \fi
+ \fi
\fi
\else
% \end{macrocode}
@@ -56094,9 +62260,9 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
% \begin{macrocode}
% \lst@maketitle\lst@title % (AS)
\LWR@traceinfo{Making title: \lst@title}%
-\begin{BlockClass}{lstlistingtitle}% lwarp
-\lst@maketitle\lst@title% lwarp
-\end{BlockClass}% lwarp
+\begin{BlockClass}{lstlistingtitle}% lwarp
+\lst@maketitle\lst@title% lwarp
+\end{BlockClass}% lwarp
\fi
\LWR@traceinfo{About to assign label: !\lst@label!}%
\ifx\lst@label\@empty\else
@@ -56118,6 +62284,11 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
\fi
\LWR@traceinfo{DONE WITH CAPTION at #1}%
}
+
+\renewcommand{\lst@maketitle}[1]{%
+ \LWR@isolate{#1}%
+}%
+
% \end{macrocode}
% \end{noindmacro}
%
@@ -56152,10 +62323,6 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
}{\PackageError{lwarp-listings}{Numbers #1 unknown}\@ehc}}
% \end{macrocode}
%
-% \begin{macrocode}
-\end{warpHTML}
-% \end{macrocode}
-
% \iffalse
%</listings>
% \fi
@@ -56308,13 +62475,20 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
% 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@floatbegin{table}%
- \setcaptiontype{\LTcaptype}%
- \caption@setoptions{longtable}%
- \caption@setoptions{@longtable}%
- \caption@LT@setup%
+ \ifdef{\setcaptiontype}{% caption package:
+ \setcaptiontype{\LTcaptype}%
+ \caption@setoptions{longtable}%
+ \caption@setoptions{@longtable}%
+ \caption@LT@setup%
+ }{% w/o caption package:
+ \renewcommand*{\@captype}{\LTcaptype}%
+ }%
\booltrue{LWR@starredlongtable}%
\boolfalse{LWR@longtable@havehead}%
\let\captionlistentry\LWR@LTcaptionlistentry%
@@ -56324,10 +62498,14 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
\newenvironment{longtable}[2][]{%
\LWR@floatbegin{table}%
- \setcaptiontype{\LTcaptype}%
- \caption@setoptions{longtable}%
- \caption@setoptions{@longtable}%
- \caption@LT@setup%
+ \ifdef{\setcaptiontype}{% caption package:
+ \setcaptiontype{\LTcaptype}%
+ \caption@setoptions{longtable}%
+ \caption@setoptions{@longtable}%
+ \caption@LT@setup%
+ }{% w/o caption package:
+ \renewcommand*{\@captype}{\LTcaptype}%
+ }%
\refstepcounter{\LTcaptype}%
\boolfalse{LWR@longtable@havehead}%
\let\captionlistentry\LWR@LTcaptionlistentry%
@@ -56345,7 +62523,7 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
% Error for heads which should have been in \cs{warpprintonly}:
% \begin{macrocode}
\newcommand*{\LWR@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,6 +62608,42 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
%
%
%
+% \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@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
@@ -56604,7 +62818,7 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
%
% The print version does not seem to honor \env{longtable*} from the
% \trouble[table numbering]{ltxtable=\pkg{ltxtable}>numbering}
-% \trouble{table>numbering}
+% \trouble{table>numbering>ltextable=\pkg{ltxtable}}
% \pkg{caption} package, while \pkg{lwarp} does.
%
% \changes{v0.44}{2017/11/15}{\pkg{ltxtable}: Added.}
@@ -56937,7 +63151,7 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
\let\LWRTODONOTES@orig@todototoc\todototoc
\renewcommand*{\todototoc}{%
-\phantomsection%
+\LWR@phantomsection%
\LWRTODONOTES@orig@todototoc%
}
@@ -57019,6 +63233,41 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
%
%
%
+% \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@ProvidesPackagePass{luavlna}[2019/10/30]
+% \end{macrocode}
+%
+% \begin{macrocode}
+\preventsingleoff
+\LetLtxMacro\preventsingleon\preventsingleoff
+% \end{macrocode}
+%
+% \iffalse
+%</luavlna>
+% \fi
+%
+%
+%
%
% \iffalse
%<*lyluatex>
@@ -57104,7 +63353,7 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
% 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@orignewpage%
+ \LWR@maybe@orignewpage%
\LWR@origloadgeometry{LWR@usergeometry}%
\LWR@print@normalsize%
% \end{macrocode}
@@ -57161,7 +63410,7 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
% \end{macrocode}
% Move to a new page and renew the regular page geometry:
% \begin{macrocode}
- \LWR@orignewpage%
+ \LWR@maybe@orignewpage%
\LWR@origrestoregeometry%
% \end{macrocode}
% End of the local group.
@@ -57257,7 +63506,7 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
% \changes{v0.58}{2018/06/13}{Fix: Extra \cs{newpage} to flush pending \cs{index} writes.}
% \begin{macrocode}
\preto\printindex{%
- \LWR@orignewpage%
+ \LWR@maybe@orignewpage%
\LWR@startpars%
}
% \end{macrocode}
@@ -57596,6 +63845,122 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
%
%
% \iffalse
+%<*mathalpha>
+% \fi
+%
+% \part{lwarp-mathalpha.sty}
+%
+% \section{mathalpha}
+%
+% \credits{Michael Sharpe}
+%
+% \DescribePackage{mathalpha}
+% \pkg{mathalpha} is used as-is for \SVG\ math, and is
+% emulated for \brand{MathJax}.
+%
+% The \brand{MathJax} emulation ignores all package options,
+% \trouble[limitations]{mathalpha=\pkg{mathalpha}}
+% and some bold fonts may not be not supported by \brand{MathJax}.
+%
+% \changes{v0.89}{2020/08/31}{\pkg{mathalpha}: Added.}
+%
+% \codehtml
+%
+% \begin{macrocode}
+\LWR@ProvidesPackagePass{mathalpha}[2019/10/05]
+
+\begin{warpMathJax}
+\CustomizeMathJax{\newcommand{\mathbbb}[1]{\boldsymbol{\mathbb{#1}}}}% not bold
+\CustomizeMathJax{\newcommand{\mathbcal}[1]{\boldsymbol{\mathcal{#1}}}}
+\CustomizeMathJax{\newcommand{\mathbfrak}[1]{\boldsymbol{\mathfrak{#1}}}}
+\CustomizeMathJax{\newcommand{\mathbscr}[1]{\boldsymbol{\mathscr{#1}}}}% not bold
+\end{warpMathJax}
+% \end{macrocode}
+%
+% \iffalse
+%</mathalpha>
+% \fi
+%
+%
+%
+%
+% \iffalse
+%<*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@ProvidesPackagePass{mathastext}[2019/11/16]
+% \end{macrocode}
+%
+% \begin{macrocode}
+\LWR@origRequirePackage{lwarp-common-mathjax-letters}
+
+\begin{warpMathJax}
+\ifmst@itgreek
+% \LWR@mathjax@addgreek@l@it{}{}
+\else
+ \ifmst@upgreek
+ \LWR@mathjax@addgreek@l@up{}{}
+ \else
+ \ifmst@frenchmath
+ \LWR@mathjax@addgreek@l@up{}{}
+ \else
+ \ifmst@italic
+% \LWR@mathjax@addgreek@l@it{}{}
+ \else
+ \LWR@mathjax@addgreek@l@up{}{}
+ \fi
+ \fi
+ \fi
+\fi
+
+\ifcase\mst@greek@select
+ \or{\LWR@mathjax@addgreek@u@it*{}{}}
+% \or{\LWR@mathjax@addgreek@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,6 +64001,130 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
%
%
%
+%
+% \iffalse
+%<*mathdesign>
+% \fi
+%
+% \part{lwarp-mathdesign.sty}
+%
+% \section{mathdesign}
+%
+% \credits{Paul Pichaureau}
+%
+% \DescribePackage{mathdesign}
+% \pkg{mathdesign} is used as-is for \SVG\ math, and is
+% emulated for \brand{MathJax}.
+%
+% The \brand{MathJax} emulation ignores all package options
+% \trouble[limitations]{mathdesign=\pkg{mathdesign}}
+% 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@ProvidesPackagePass{mathdesign}[2013/08/29]
+% \end{macrocode}
+%
+% For \brand{MathJax}:
+% \begin{macrocode}
+\LWR@origRequirePackage{lwarp-common-mathjax-letters}
+
+\LWR@origRequirePackage{lwarp-common-mathjax-overlaysymbols}
+
+\begin{warpMathJax}
+\LWR@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@MD@grupright
+\LWR@mathjax@addgreek@l@up{}{}
+\fi
+
+\if@MD@GRupright
+\else
+\LWR@mathjax@addgreek@u@it*{}{}
+\fi
+% \end{macrocode}
+%
+% Upright:
+% \begin{macrocode}
+\LWR@mathjax@addgreek@l@up{}{up}
+\LWR@mathjax@addgreek@u@up*{}{up}
+% \end{macrocode}
+%
+% Italicized:
+% \begin{macrocode}
+\LWR@mathjax@addgreek@l@it{}{it}
+\LWR@mathjax@addgreek@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 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
% 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 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
%
% \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 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
% 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 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
% \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 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
%
%
% \iffalse
+%<*mathpazo>
+% \fi
+%
+% \part{lwarp-mathpazo.sty}
+%
+% \section{mathpazo}
+%
+% \credits{Walter Schmidt}
+%
+% \DescribePackage{mathpazo}
+% \pkg{mathpazo} is used as-is for \SVG\ math, and is
+% emulated for \brand{MathJax}.
+%
+% The \brand{MathJax} emulation ignores all package options.
+% \trouble[limitations]{mathpazo=\pkg{mathpazo}}
+% The 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@ProvidesPackagePass{mathpazo}[2020/03/25]
+% \end{macrocode}
+%
+% For \brand{MathJax}:
+% \begin{macrocode}
+\LWR@origRequirePackage{lwarp-common-mathjax-letters}
+
+\begin{warpMathJax}
+\LWR@infoprocessingmathjax{mathpazo}
+
+\ifpazo@slGreek
+\LWR@mathjax@addgreek@u@it*{}{}
+\fi
+
+\LWR@mathjax@addgreek@u@up*{up}{}
+
+\CustomizeMathJax{\newcommand{\mathbold}[1]{\boldsymbol{#1}}}
+\end{warpMathJax}
+% \end{macrocode}
+%
+% \iffalse
+%</mathpazo>
+% \fi
+%
+%
+%
+% \iffalse
+%<*mathptmx>
+% \fi
+%
+% \part{lwarp-mathptmx.sty}
+%
+% \section{mathptmx}
+%
+% \credits{Walter Schmidt}
+%
+% \DescribePackage{mathptmx}
+% \pkg{mathptmx} is used as-is for \SVG\ math, and is
+% emulated for \brand{MathJax}.
+%
+% The \brand{MathJax} emulation ignores all package options.
+% \trouble[limitations]{mathptmx=\pkg{mathptmx}}
+% The 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@ProvidesPackagePass{mathptmx}[2020/03/25]
+% \end{macrocode}
+%
+% For \brand{MathJax}:
+% \begin{macrocode}
+\LWR@origRequirePackage{lwarp-common-mathjax-letters}
+
+\begin{warpMathJax}
+\LWR@infoprocessingmathjax{mathptmx}
+
+\@ifpackagewith{mathptmx}{slantedGreek}
+ {\LWR@mathjax@addgreek@u@it*{}{}}
+ {}
+
+\LWR@mathjax@addgreek@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@ProvidesPackagePass{mathspec}[2016/12/22]
+% \end{macrocode}
+%
+% \begin{macrocode}
+\LWR@origRequirePackage{lwarp-common-mathjax-letters}
+
+\begin{warpMathJax}
+% \end{macrocode}
+%
+% Neutralize double quotes (|"| and \cs{"}):
+% \begin{macrocode}
+\booltrue{LWR@MathJax@silentquotes}
+% \end{macrocode}
+%
+% Sort options for out Greek emulation:
+% \begin{macrocode}
+\AtBeginDocument{
+\ifcase\eu@GreekUppercase@@value %% If Greek Uppercase Regular
+ \LWR@mathjax@addgreek@u@up*{}{}
+\or %% If Greek Uppercase Italic
+ \LWR@mathjax@addgreek@u@it*{}{}
+\or %% If Greek Uppercase Plain
+ \LWR@mathjax@addgreek@u@up*{}{}
+\fi
+\ifcase\eu@GreekLowercase@@value %% If Greek Lowercase Regular
+ \LWR@mathjax@addgreek@l@up{}{}
+\or %% If Greek Lowercase Italic
+ \LWR@mathjax@addgreek@l@it{}{}
+\or %% If Greek Lowercase Plain
+ \LWR@mathjax@addgreek@l@it{}{}
+\fi
+}
+% \end{macrocode}
+%
+% Swap definitions according the \pkg{mathspec} conditionals:
+% \begin{macrocode}
+\newcommand*{\LWR@mathspec@varforms}{%
+\eu@ifbooltrue{GreekLowercase}{
+ \eu@ifbooltrue{exchangebetaforms}{
+ \CustomizeMathJax{\let\LWRorigbeta\beta}
+ \CustomizeMathJax{\let\beta\varbeta}
+ \CustomizeMathJax{\let\varbeta\LWRorigbeta}
+ }
+ \eu@ifbooltrue{exchangeepsilonforms}{
+ \CustomizeMathJax{\let\LWRorigepsilon\epsilon}
+ \CustomizeMathJax{\let\epsilon\varepsilon}
+ \CustomizeMathJax{\let\varepsilon\LWRorigepsilon}
+ }
+ \eu@ifbooltrue{exchangethetaforms}{
+ \CustomizeMathJax{\let\LWRorigtheta\theta}
+ \CustomizeMathJax{\let\theta\vartheta}
+ \CustomizeMathJax{\let\vartheta\LWRorigtheta}
+ }
+ \eu@ifbooltrue{exchangekappaforms}{
+ \CustomizeMathJax{\let\LWRorigkappa\kappa}
+ \CustomizeMathJax{\let\kappa\varkappa}
+ \CustomizeMathJax{\let\varkappa\LWRorigkappa}
+ }
+ \eu@ifbooltrue{exchangepiforms}{
+ \CustomizeMathJax{\let\LWRorigpi\pi}
+ \CustomizeMathJax{\let\pi\varpi}
+ \CustomizeMathJax{\let\varpi\LWRorigpi}
+ }
+ \eu@ifbooltrue{exchangerhoforms}{
+ \CustomizeMathJax{\let\LWRorigrho\rho}
+ \CustomizeMathJax{\let\rho\varrho}
+ \CustomizeMathJax{\let\varrho\LWRorigrho}
+ }
+ \eu@ifbooltrue{exchangephiforms}{
+ \CustomizeMathJax{\let\LWRorigphi\phi}
+ \CustomizeMathJax{\let\phi\varphi}
+ \CustomizeMathJax{\let\varphi\LWRorigphi}
+ }
+}
+\eu@ifbooltrue{GreekUppercase}{
+ \eu@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@mathspec@varforms}}
+ {}
+ {\LWR@patcherror{mathspec}{exchangeforms}}
+
+\end{warpMathJax}
+% \end{macrocode}
+%
+% \iffalse
+%</mathspec>
+% \fi
+%
+%
+%
+%
+% \iffalse
%<*mathtools>
% \fi
%
@@ -57777,6 +64504,9 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
% 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@infoprocessingmathjax{mathtools}
@@ -57794,7 +64524,16 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
\CustomizeMathJax{\newcommand{\crampedclap}[2][]{{#1#2}}}
\CustomizeMathJax{\newenvironment{crampedsubarray}[1]{}{}}
\CustomizeMathJax{\newcommand{\crampedsubstack}{}}
-\CustomizeMathJax{\newcommand{\smashoperator}[2][]{#2}}
+% \end{macrocode}
+% \changes{v0.89}{2020/08/21}{\pkg{mathtools}: Minor improvements.}
+% \begin{macrocode}
+\CustomizeMathJax{\newcommand{\smashoperator}[2][]{#2\limits}}
+% \end{macrocode}
+% \changes{v0.89}{2020/08/21}{\pkg{mathtools}: Added \cs{adjustlimits}.}
+% \begin{macrocode}
+\CustomizeMathJax{\newcommand{\adjustlimits}{}}
+% \end{macrocode}
+% \begin{macrocode}
\CustomizeMathJax{\newcommand{\SwapAboveDisplaySkip}{}}
\CustomizeMathJax{\require{extpfeil}}
@@ -57812,10 +64551,14 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
\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,35 +64606,105 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
\def\LWRAboxed#1&#2&#3!|!{\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}
}
-
-\CustomizeMathJax{\newcommand{\shortintertext}[1]{\\ \text{#1}\notag \\}}
+% \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{\vdotswithin}[1]{\hspace{.5em}\vdots}}
-\CustomizeMathJax{\newcommand{\shortvdotswithin}[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{\MTFlushSpaceAbove}{}}
\CustomizeMathJax{\newcommand{\MTFlushSpaceBelow}{\\}}
-% The following does not create a starred version of the macro:
\LetLtxMacro\LWR@mathtools@orig@DeclarePairedDelimiter\DeclarePairedDelimiter
\renewcommand{\DeclarePairedDelimiter}[3]{
\LWR@mathtools@orig@DeclarePairedDelimiter{#1}{#2}{#3}
- \CustomizeMathJax{\newcommand{#1}[2][]{{##1#2##2##1#3}}}
+% starred:
+ \appto\LWR@customizedMathJax{\LWRbackslash(}
+ \appto\LWR@customizedMathJax{%
+ \LWRbackslash{}newcommand\{\LWRbackslash\macrotocsname{#1}LWRsubstar\}%
+ }%
+ \appto\LWR@customizedMathJax{[2][]}%
+ \appto\LWR@customizedMathJax{\{\{}%
+ \LWR@subcustomizedmathjax{##1\left#2##2##1\right#3}%
+ \appto\LWR@customizedMathJax{\}\}}%
+ \appto\LWR@customizedMathJax{\LWRbackslash)\par}%
+% not starred:
+ \appto\LWR@customizedMathJax{\LWRbackslash(}
+ \appto\LWR@customizedMathJax{%
+ \LWRbackslash{}newcommand\{\LWRbackslash\macrotocsname{#1}LWRsubnostar\}%
+ }%
+ \appto\LWR@customizedMathJax{[2][]}%
+ \appto\LWR@customizedMathJax{\{\{}%
+ \LWR@subcustomizedmathjax{##1#2##2##1#3}%
+ \appto\LWR@customizedMathJax{\}\}}%
+ \appto\LWR@customizedMathJax{\LWRbackslash)\par}%
+% user macro:
+ \appto\LWR@customizedMathJax{\LWRbackslash(}
+ \appto\LWR@customizedMathJax{%
+ \LWRbackslash{}newcommand\{\LWRbackslash{}\macrotocsname{#1}\}%
+ \{\LWRbackslash{}ifstar%
+ \LWRbackslash{}\macrotocsname{#1}LWRsubstar%
+ \LWRbackslash{}\macrotocsname{#1}LWRsubnostar%
+ \}%
+ }%
+ \appto\LWR@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@mathtools@orig@DeclarePairedDelimiterXPP\DeclarePairedDelimiterXPP
\DeclareDocumentCommand{\DeclarePairedDelimiterXPP}{m O{1} m m m m m}{
\LWR@mathtools@orig@DeclarePairedDelimiterXPP{#1}[#2]{#3}{#4}{#5}{#6}{#7}
+% subsubstar, second opt arg
\appto\LWR@customizedMathJax{\LWRbackslash(}%
\appto\LWR@customizedMathJax{%
- \LWRbackslash{}newcommand\{\LWRbackslash\macrotocsname{#1}LWRsub\}%
+ \LWRbackslash{}newcommand\{\LWRbackslash\macrotocsname{#1}LWRsubsubstar\}%
+ }%
+ \appto\LWR@customizedMathJax{[#2]}%
+ \appto\LWR@customizedMathJax{\{\{\LWRbackslash{}left}%
+ \LWR@subcustomizedmathjax{#3#4#7}%
+ \appto\LWR@customizedMathJax{\LWRbackslash{}right}%
+ \LWR@subcustomizedmathjax{#5#6}%
+ \appto\LWR@customizedMathJax{\}\}}%
+ \appto\LWR@customizedMathJax{\LWRbackslash)\par}%
+% substar, first opt arg
+ \appto\LWR@customizedMathJax{\LWRbackslash(}%
+ \appto\LWR@customizedMathJax{%
+ \LWRbackslash{}newcommand\{\LWRbackslash\macrotocsname{#1}LWRsubstar\}[1][]%
+ }%
+ \appto\LWR@customizedMathJax{%
+ \{
+ \LWRbackslash{}def\LWRbackslash{}delimsize\{\#1\}
+ \LWRbackslash\macrotocsname{#1}LWRsubsubstar
+ \}%
+ }%
+ \appto\LWR@customizedMathJax{\LWRbackslash)\par}%
+% subsubnostar, second opt arg
+ \appto\LWR@customizedMathJax{\LWRbackslash(}%
+ \appto\LWR@customizedMathJax{%
+ \LWRbackslash{}newcommand\{\LWRbackslash\macrotocsname{#1}LWRsubsubnostar\}%
}%
\appto\LWR@customizedMathJax{[#2]}%
\appto\LWR@customizedMathJax{\{\{\LWRbackslash{}delimsize}%
@@ -57900,45 +64713,65 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
\LWR@subcustomizedmathjax{#5#6}%
\appto\LWR@customizedMathJax{\}\}}%
\appto\LWR@customizedMathJax{\LWRbackslash)\par}%
+% subnostar, first opt arg
\appto\LWR@customizedMathJax{\LWRbackslash(}%
\appto\LWR@customizedMathJax{%
- \LWRbackslash{}newcommand\{\LWRbackslash\macrotocsname{#1}\}[1][]%
+ \LWRbackslash{}newcommand\{\LWRbackslash\macrotocsname{#1}LWRsubnostar\}[1][]%
}%
\appto\LWR@customizedMathJax{%
\{
\LWRbackslash{}def\LWRbackslash{}delimsize\{\#1\}
- \LWRbackslash\macrotocsname{#1}LWRsub
+ \LWRbackslash\macrotocsname{#1}LWRsubsubnostar
\}%
}%
\appto\LWR@customizedMathJax{\LWRbackslash)\par}%
+% user macro:
+ \appto\LWR@customizedMathJax{\LWRbackslash(}
+ \appto\LWR@customizedMathJax{%
+ \LWRbackslash{}newcommand\{%
+ \LWRbackslash{}\macrotocsname{#1}%
+ \}%
+ \{\LWRbackslash{}ifstar%
+ \LWRbackslash{}\macrotocsname{#1}LWRsubstar%
+ \LWRbackslash{}\macrotocsname{#1}LWRsubnostar%
+ \}%
+ }%
+ \appto\LWR@customizedMathJax{\LWRbackslash)\par}%
}
\@onlypreamble\DeclareParedDelimiterXPP
\@onlypreamble\DeclareParedDelimiterX
\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,6 +64802,169 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
%
%
%
+%
+% \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@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@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 @@ endinnercode={\LWR@stoppars},
\newcommand*{\LWR@mdframedstart}{%
\LWR@traceinfo{LWR@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@spanwarninvalid{mdframe}%
+% \end{macrocode}
% Turn off paragraph handling during the generation of
% the encapsulating tags:
% \begin{macrocode}
@@ -58147,12 +65148,13 @@ endinnercode={\LWR@stoppars},
% 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@htmltagc{div class="%
+\LWR@htmltagc{div class=\textquotedbl%
mdframed%
\ifdefstring{\LWR@mdthisenv}{mdframed}{}{ \LWR@mdthisenv}%
-" \LWR@orignewline
-style=" \LWR@orignewline
+\textquotedbl \LWR@orignewline
+style=\textquotedbl\LWR@orignewline
% \end{macrocode}
% Convert and print the background color:
% \begin{macrocode}
@@ -58180,7 +65182,7 @@ border-radius: \LWR@mdfprintlength{roundcorner} ; \LWR@orignewline
\LWR@orignewline
% \end{macrocode}
% \begin{macrocode}
-"}
+\textquotedbl}
% \LWR@htmldivclass{\LWR@mdthisenv}
% \end{macrocode}
% \env{mdframed} environment may not work with the \HTML\ versions of the following,
@@ -58599,6 +65601,44 @@ background:
% \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@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>
@@ -58752,6 +65792,63 @@ background:
%
%
%
+% \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@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@define@menu@macro@}
+ {\@nameuse{tw@style@#4@pre}}
+ {%
+ \begin{lateximage}*[\detokenize{##2}]%
+ \@nameuse{tw@style@#4@pre}%
+ }
+ {}
+ {\LWR@patcherror{menukeys}{tw@define@menu@macro@}}
+
+\xpatchcmd{\tw@define@menu@macro@}
+ {\@nameuse{tw@style@#4@post}}
+ {%
+ \@nameuse{tw@style@#4@post}%
+ \end{lateximage}%
+ }
+ {}
+ {\LWR@patcherror{menukeys}{tw@define@menu@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
@@ -58863,21 +65960,19 @@ background:
% \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\ \} \$ \\
% \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 @@ background:
%
% \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 @@ background:
\LetLtxMacro\ce\LWR@mhchem@origce%
\LetLtxMacro\cesplit\LWR@mhchem@origcesplit%
}
+
+\begin{warpMathJax}
+\CustomizeMathJax{\require{mhchem}}
+\end{warpMathJax}
% \end{macrocode}
% \iffalse
@@ -59255,6 +66355,85 @@ background:
%
%
% \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@ProvidesPackagePass{minted}[2017/07/19]
+% \end{macrocode}
+%
+% \begin{macrocode}
+\xpatchcmd{\minted}
+ {\setkeys{minted@opt@cmd}{#1}}
+ {%
+ \setkeys{minted@opt@cmd}{%
+ #1,%
+ mathescape=false,breaklines,texcomments=false,highlightlines={}%
+ }%
+ }
+ {}
+ {\LWR@patcherror{minted}{minted}}
+
+\xpatchcmd{\mintinline}
+ {\setkeys{minted@opt@cmd}{#1}}
+ {\setkeys{minted@opt@cmd}{%
+ #1,%
+ mathescape=false,breaklines,texcomments=false,highlightlines={}%
+ }%
+ }
+ {}
+ {\LWR@patcherror{minted}{mintinline}}
+
+\xpatchcmd{\mint}
+ {\setkeys{minted@opt@cmd}{#1}}
+ {%
+ \setkeys{minted@opt@cmd}{%
+ #1,%
+ mathescape=false,breaklines,texcomments=false,highlightlines={}%
+ }%
+ }
+ {}
+ {\LWR@patcherror{minted}{mint}}
+
+\xpatchcmd{\inputminted}
+ {\setkeys{minted@opt@cmd}{#1}}
+ {\setkeys{minted@opt@cmd}{%
+ #1,%
+ mathescape=false,breaklines,texcomments=false,highlightlines={}%
+ }%
+ }
+ {}
+ {\LWR@patcherror{minted}{inputminted}}
+% \end{macrocode}
+%
+% \iffalse
+%</minted>
+% \fi
+%
+%
+%
+%
+% \iffalse
%<*mismath>
% \fi
%
@@ -59292,6 +66471,7 @@ background:
% \cs{mathset} may be set with \cs{CustomizeMathJax} in the preamble.
%
% \changes{v0.80}{2020/02/14}{\pkg{mismath}: Added.}
+% \changes{v0.89}{2020/09/02}{\pkg{mismath}: Improved math operators.}
%
% \codehtml
%
@@ -59351,48 +66531,48 @@ background:
\CustomizeMathJax{\newcommand{\V}{\operatorname{\probastyle{V}}}}
\CustomizeMathJax{\newcommand{\Par}{\unicode{x00B6}}}
-\CustomizeMathJax{\newcommand{\adj}{\mathrm{adj}}}
-\CustomizeMathJax{\newcommand{\Aut}{\mathrm{Aut}}}
-\CustomizeMathJax{\newcommand{\Conv}{\mathrm{Conv}}}
-\CustomizeMathJax{\newcommand{\cov}{\mathrm{cov}}}
-\CustomizeMathJax{\newcommand{\Cov}{\mathrm{Cov}}}
-\CustomizeMathJax{\newcommand{curl}{\operatorname{\vect{\mathrm{curl}}}}}
-\CustomizeMathJax{\newcommand{\divg}{\mathrm{div}}}
-\CustomizeMathJax{\newcommand{\End}{\mathrm{End}}}
-
-\CustomizeMathJax{\newcommand{\erf}{\mathrm{erf}}}
-\CustomizeMathJax{\newcommand{grad}{\operatorname{\vect{\mathrm{grad}}}}}
-\CustomizeMathJax{\newcommand{\id}{\mathrm{id}}}
-\CustomizeMathJax{\newcommand{\Id}{\mathrm{Id}}}
-\CustomizeMathJax{\newcommand{\im}{\mathrm{im}}}
+\CustomizeMathJax{\DeclareMathOperator{\adj}{adj}}
+\CustomizeMathJax{\DeclareMathOperator{\Aut}{Aut}}
+\CustomizeMathJax{\DeclareMathOperator{\Conv}{Conv}}
+\CustomizeMathJax{\DeclareMathOperator{\cov}{cov}}
+\CustomizeMathJax{\DeclareMathOperator{\Cov}{Cov}}
+\CustomizeMathJax{\newcommand{\curl}{\operatorname{\vect{\mathrm{curl}}}}}
+\CustomizeMathJax{\DeclareMathOperator{\divg}{div}}
+\CustomizeMathJax{\DeclareMathOperator{\End}{End}}
+
+\CustomizeMathJax{\DeclareMathOperator{\erf}{erf}}
+\CustomizeMathJax{\newcommand{\grad}{\operatorname{\vect{\mathrm{grad}}}}}
+\CustomizeMathJax{\DeclareMathOperator{\id}{id}}
+\CustomizeMathJax{\DeclareMathOperator{\Id}{Id}}
+\CustomizeMathJax{\DeclareMathOperator{\im}{im}}
\CustomizeMathJax{\let\oldIm\Im}
\CustomizeMathJax{\renewcommand{\Im}{\operatorname{Im}}}
-\CustomizeMathJax{\newcommand{\lb}{\mathrm{lb}}}
-\CustomizeMathJax{\newcommand{\lcm}{\mathrm{lcm}}}
+\CustomizeMathJax{\DeclareMathOperator{\lb}{lb}}
+\CustomizeMathJax{\DeclareMathOperator{\lcm}{lcm}}
-\CustomizeMathJax{\newcommand{\rank}{\mathrm{rank}}}
+\CustomizeMathJax{\DeclareMathOperator{\rank}{rank}}
\CustomizeMathJax{\let\oldRe\Re}
\CustomizeMathJax{\renewcommand{\Re}{\operatorname{Re}}}
-\CustomizeMathJax{\newcommand{rot}{\operatorname{\vect{\mathrm{rot}}}}}
-\CustomizeMathJax{\newcommand{\sgn}{\mathrm{sgn}}}
-\CustomizeMathJax{\newcommand{\spa}{\mathrm{span}}}
-\CustomizeMathJax{\newcommand{\tr}{\mathrm{tr}}}
-\CustomizeMathJax{\newcommand{\Var}{\mathrm{Var}}}
-\CustomizeMathJax{\newcommand{\Zu}{\mathrm{Z}}}
-
-\CustomizeMathJax{\newcommand{\arccot}{\mathrm{arccot}}}
-\CustomizeMathJax{\newcommand{\sech}{\mathrm{sech}}}
-\CustomizeMathJax{\newcommand{\csch}{\mathrm{csch}}}
-\CustomizeMathJax{\newcommand{\arsinh}{\mathrm{arsinh}}}
-\CustomizeMathJax{\newcommand{\arcosh}{\mathrm{arcosh}}}
-\CustomizeMathJax{\newcommand{\artanh}{\mathrm{artanh}}}
-\CustomizeMathJax{\newcommand{\arcoth}{\mathrm{arcoth}}}
-\CustomizeMathJax{\newcommand{\arsech}{\mathrm{arsech}}}
-\CustomizeMathJax{\newcommand{\arcsch}{\mathrm{arcsch}}}
-
-\CustomizeMathJax{\newcommand{\bigO}{\mathcal{O}}}
-\CustomizeMathJax{\newcommand{\bigo}{\mathrm{O}}}
-\CustomizeMathJax{\newcommand{\lito}{\mathrm{o}}}
+\CustomizeMathJax{\newcommand{\rot}{\operatorname{\vect{\mathrm{rot}}}}}
+\CustomizeMathJax{\DeclareMathOperator{\sgn}{sgn}}
+\CustomizeMathJax{\DeclareMathOperator{\spa}{span}}
+\CustomizeMathJax{\DeclareMathOperator{\tr}{tr}}
+\CustomizeMathJax{\DeclareMathOperator{\Var}{Var}}
+\CustomizeMathJax{\DeclareMathOperator{\Zu}{Z}}
+
+\CustomizeMathJax{\DeclareMathOperator{\arccot}{arccot}}
+\CustomizeMathJax{\DeclareMathOperator{\sech}{sech}}
+\CustomizeMathJax{\DeclareMathOperator{\csch}{csch}}
+\CustomizeMathJax{\DeclareMathOperator{\arsinh}{arsinh}}
+\CustomizeMathJax{\DeclareMathOperator{\arcosh}{arcosh}}
+\CustomizeMathJax{\DeclareMathOperator{\artanh}{artanh}}
+\CustomizeMathJax{\DeclareMathOperator{\arcoth}{arcoth}}
+\CustomizeMathJax{\DeclareMathOperator{\arsech}{arsech}}
+\CustomizeMathJax{\DeclareMathOperator{\arcsch}{arcsch}}
+
+\CustomizeMathJax{\DeclareMathOperator{\bigO}{\mathcal{O}}}
+\CustomizeMathJax{\DeclareMathOperator{\bigo}{O}}
+\CustomizeMathJax{\DeclareMathOperator{\lito}{o}}
\CustomizeMathJax{\newcommand{\R}{\mathset{R}}}
\CustomizeMathJax{\newcommand{\C}{\mathset{C}}}
@@ -59476,6 +66656,41 @@ background:
%
%
%
+% \iffalse
+%<*mleftright>
+% \fi
+%
+% \part{lwarp-mleftright.sty}
+%
+% \section{mleftright}
+%
+% \credits{Heiko Oberdiek}
+%
+% \DescribePackage{mleftright}
+% \pkg{mleftright} is used as-is, and is emulated for \brand{MathJax}.
+%
+% \changes{v0.88}{2020/07/22}{\pkg{mleftright}: Added.}
+%
+% \codehtml
+%
+% \begin{macrocode}
+\LWR@ProvidesPackagePass{mleftright}[2019/12/03]
+% \end{macrocode}
+%
+% \begin{macrocode}
+\begin{warpMathJax}
+\CustomizeMathJax{\newcommand{\mleft}{\left}}
+\CustomizeMathJax{\newcommand{\mright}{\right}}
+\CustomizeMathJax{\newcommand{\mleftright}{}}
+\CustomizeMathJax{\newcommand{\mleftrightrestore}{}}
+\end{warpMathJax}
+% \end{macrocode}
+%
+% \iffalse
+%</mleftright>
+% \fi
+%
+%
%
% \iffalse
%<*morefloats>
@@ -59520,22 +66735,18 @@ background:
% \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@ProvidesPackagePass{moreverb}[2008/06/03]
% \end{macrocode}
%
+%
% \begin{macrocode}
\BeforeBeginEnvironment{verbatimtab}{%
\LWR@forcenewpage
-\LWR@atbeginverbatim{3}{Verbatim}%
+\LWR@atbeginverbatim{Verbatim}%
}
\AfterEndEnvironment{verbatimtab}{%
-\LWR@afterendverbatim{1}%
+\LWR@afterendverbatim%
}
@@ -59543,27 +66754,27 @@ background:
\renewcommand{\@verbatimtabinput}[2][]{%
\LWR@forcenewpage
-\LWR@atbeginverbatim{3}{Verbatim}%
+\LWR@atbeginverbatim{Verbatim}%
\LWRMV@orig@verbatimtabinput[#1]{#2}%
-\LWR@afterendverbatim{1}%
+\LWR@afterendverbatim%
}
\BeforeBeginEnvironment{listing}{%
\LWR@forcenewpage
-\LWR@atbeginverbatim{3}{programlisting}%
+\LWR@atbeginverbatim{programlisting}%
}
\AfterEndEnvironment{listing}{%
-\LWR@afterendverbatim{1}%
+\LWR@afterendverbatim%
}
\BeforeBeginEnvironment{listingcont}{%
\LWR@forcenewpage
-\LWR@atbeginverbatim{3}{programlisting}%
+\LWR@atbeginverbatim{programlisting}%
}
\AfterEndEnvironment{listingcont}{%
-\LWR@afterendverbatim{1}%
+\LWR@afterendverbatim%
}
% \end{macrocode}
@@ -59592,28 +66803,24 @@ background:
\renewcommand{\@listinginput}[3][]{
\LWR@forcenewpage
-\LWR@atbeginverbatim{3}{programlisting}%
+\LWR@atbeginverbatim{programlisting}%
\LWRMV@@listinginput[#1]{#2}{#3}%
-\LWR@afterendverbatim{1}%
+\LWR@afterendverbatim%
}
\renewenvironment*{boxedverbatim}
{
\LWR@forcenewpage
-\LWR@atbeginverbatim{3}{boxedverbatim}%
+\LWR@atbeginverbatim{boxedverbatim}%
\verbatim%
}
{
\endverbatim%
-\LWR@afterendverbatim{1}%
+\LWR@afterendverbatim%
}
% \end{macrocode}
%
-% \begin{macrocode}
-\end{warpHTML}
-% \end{macrocode}
-%
% \iffalse
%</moreverb>
% \fi
@@ -59705,6 +66912,42 @@ background:
%
%
%
+% \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@ProvidesPackagePass{multibib}[2008/12/10]
+% \end{macrocode}
+%
+% \begin{macrocode}
+\xpatchcmd{\newcites}
+ {{\@suffix}}
+ {{\@suffix_html}}
+ {}
+ {\LWR@patcherror{multibib}{newcites}}
+% \end{macrocode}
+%
+% \iffalse
+%</multibib>
+% \fi
+%
+%
+%
+%
%
% \iffalse
%<*multicap>
@@ -59767,9 +67010,6 @@ background:
%
% 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 @@ background:
}
% \end{macrocode}
-% \begin{macrocode}
-\end{warpHTML}
-% \end{macrocode}
% \iffalse
%</multicol>
@@ -59941,8 +67178,11 @@ background:
\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 @@ background:
%
% \limitsmultirow
%
-% In a \env{lateximage}, \cs{LWR@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 @@ background:
% \end{macrocode}
%
% \begin{macrocode}
-\LWR@ProvidesPackagePass{multirow}[2018/08/03]
+\LWR@ProvidesPackagePass{multirow}[2021/01/29]
% \end{macrocode}
%
%
@@ -60020,6 +67259,12 @@ background:
%
% \subsection{Multirow}
%
+% \begin{noindmacro}{\LWR@multirow@par} \cs{par} inside a \cs{multirow}.
+% \begin{macrocode}
+\newcommand*{\LWR@multirow@par}{\LWR@htmltag{br /}\LWR@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 @@ background:
\LWR@tabularleftedge%
% \end{macrocode}
% Print the start of a new table data cell:
+% \changes{v0.895}{2021/01/14}{Improved \HTML\ quotes.}
% \begin{macrocode}
-\LWR@htmltag{td rowspan="#2" %
-% \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@print@mbox{vertical-align:middle}" }{}%
-\ifstrequal{#1}{b}{style="\LWR@print@mbox{vertical-align:bottom}" }{}%
-\ifstrequal{#1}{t}{style="\LWR@print@mbox{vertical-align:top}" }{}%
-% \end{macrocode}
-% The left/right border, if given:
-% \begin{macrocode}
-\ifdefvoid{\LWR@multirowborder}{}{%
-style="\LWR@print@mbox{border-\LWR@multirowborder:} 2px dotted black ; %
-\LWR@print@mbox{padding-\LWR@multirowborder:} 2px" %
-}%
+\LWR@htmltag{td rowspan=\textquotedbl#2\textquotedbl\ %
% \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 @@ class="td%
\LWR@addcmidruletrim%
\LWR@addleftmostbartag%
\LWR@printbartag{\arabic{LWR@tableLaTeXcolindex}}%
-"%
+\textquotedbl%
% \end{macrocode}
% \changes{v0.42}{2017/10/26}{\pkg{multirow}: If \progcode{FormatWP} add cell alignment.}
% \begin{macrocode}
\LWR@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@tdaddstyle\LWR@print@mbox{vertical-align:middle}}{}%
+\ifstrequal{#1}{b}{\LWR@tdaddstyle\LWR@print@mbox{vertical-align:bottom}}{}%
+\ifstrequal{#1}{t}{\LWR@tdaddstyle\LWR@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@multirowborder}{}{%
+ \LWR@tdaddstyle%
+ \LWR@print@mbox{border-\LWR@multirowborder:} 2px dotted black ; %
+ \LWR@print@mbox{padding-\LWR@multirowborder:} 2px%
+}%
+% \end{macrocode}
+%
+% Additional style elements:
+% \begin{macrocode}
\LWR@addcmidrulewidth%
\LWR@addcdashline%
\LWR@addtabularrulecolors%
@@ -60093,9 +67346,22 @@ class="td%
% \begin{macrocode}
\LWR@getexparray{LWR@colbeforespec}{\arabic{LWR@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@tabularendofline} at the start of the \env{tabular}, then
+% \cs{LWR@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@endofline}#6\endgroup%
+\begingroup%
+ \LetLtxMacro{\\}{\LWR@endofline}%
+ \let\par\LWR@multirow@par%
+ #6%
+\endgroup%
\LWR@stoppars%
\boolfalse{LWR@intabularmetadata}%
\renewcommand{\LWR@multirowborder}{}%
@@ -60752,14 +68018,26 @@ do not attempt to patch lwarp's version of `nameref'.)\MessageBreak
\newcommand*{\LWR@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 @@ do not attempt to patch lwarp's version of `nameref'.)\MessageBreak
\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,6 +68097,219 @@ do not attempt to patch lwarp's version of `nameref'.)\MessageBreak
%
%
%
+% \iffalse
+%<*newpxmath>
+% \fi
+%
+% \part{lwarp-newpxmath.sty}
+%
+% \section{newpxmath}
+%
+% \credits{Michael Sharpe}
+%
+% \DescribePackage{newpxmath}
+% \pkg{newpxmath} is used as-is for \SVG\ math, and is
+% emulated for \brand{MathJax}.
+%
+% The \brand{MathJax} emulation ignores all package options,
+% \trouble[limitations]{newpxmath=\pkg{newpxmath}}
+% 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@ProvidesPackagePass{newpxmath}[2020/01/09]
+
+\LWR@infoprocessingmathjax{newpxmath}
+
+\LWR@origRequirePackage{lwarp-common-mathjax-newpxtxmath}
+
+\LWR@origRequirePackage{lwarp-common-mathjax-letters}
+
+\begin{warpMathJax}
+
+% * \marg{2: prefix} \marg{3: postfix} \marg{4: i/u: italic/upright}
+\LWR@mathjax@addgreek@u@up*{}{up}
+\LWR@mathjax@addgreek@u@up*{up}{}
+\LWR@mathjax@addgreek@l@up{up}{}
+\LWR@mathjax@addgreek@l@up{}{up}
+\LWR@mathjax@addgreek@u@it*{}{it}
+\LWR@mathjax@addgreek@l@it{}{it}
+% \end{macrocode}
+%
+% Optional slanted Greek:
+% \begin{macrocode}
+\ifpx@slantedG
+ \LWR@mathjax@addgreek@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@ProvidesPackagePass{newtxmath}[2020/08/04]
+
+\LWR@infoprocessingmathjax{newtxmath}
+
+\LWR@origRequirePackage{lwarp-common-mathjax-newpxtxmath}
+
+\LWR@origRequirePackage{lwarp-common-mathjax-letters}
+
+\begin{warpMathJax}
+
+% * \marg{2: prefix} \marg{3: postfix} \marg{4: i/u: italic/upright}
+\LWR@mathjax@addgreek@u@up*{}{up}
+\LWR@mathjax@addgreek@u@up*{up}{}
+\LWR@mathjax@addgreek@l@up{up}{}
+\LWR@mathjax@addgreek@l@up{}{up}
+\LWR@mathjax@addgreek@u@it*{}{it}
+\LWR@mathjax@addgreek@l@it{}{it}
+
+% only newtxmath, not newpxmath:
+\LWR@mathjax@addgreek@u@it*{it}{}
+\LWR@mathjax@addgreek@l@it{it}{}
+
+% only newtxmath, not newpxmath:
+\ifdef{\iftx@BI}{
+ \iftx@BI
+ \LWR@mathjax@addlatin@u@bfit{BI}
+ \LWR@mathjax@addlatin@l@bfit{BI}
+ \fi
+}{}
+% \end{macrocode}
+%
+% Optional slanted Greek:
+% \begin{macrocode}
+\iftx@slantedG
+ \LWR@mathjax@addgreek@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@ProvidesPackagePass{newtxsf}[2020/05/02]
+
+\LWR@infoprocessingmathjax{newtxsf}
+
+\LWR@origRequirePackage{lwarp-common-mathjax-newpxtxmath}
+
+\LWR@origRequirePackage{lwarp-common-mathjax-letters}
+
+\begin{warpMathJax}
+
+% * \marg{2: prefix} \marg{3: postfix} \marg{4: i/u: italic/upright}
+\LWR@mathjax@addgreek@u@up*{}{up}
+\LWR@mathjax@addgreek@u@up*{up}{}
+\LWR@mathjax@addgreek@l@up{up}{}
+\LWR@mathjax@addgreek@l@up{}{up}
+\LWR@mathjax@addgreek@u@it*{}{it}
+\LWR@mathjax@addgreek@l@it{}{it}
+
+% only newtxmath, not newpxmath:
+\LWR@mathjax@addgreek@u@it*{it}{}
+\LWR@mathjax@addgreek@l@it{it}{}
+%
+% only newtxmath, not newpxmath:
+\ifdef{\iftx@BI}{
+ \iftx@BI
+ \LWR@mathjax@addlatin@u@bfit{BI}
+ \LWR@mathjax@addlatin@l@bfit{BI}
+ \fi
+}{}
+% \end{macrocode}
+%
+% Optional slanted Greek:
+% \begin{macrocode}
+\iftx@slantedG
+ \LWR@mathjax@addgreek@u@it*{}{}
+\fi
+
+\end{warpMathJax}
+% \end{macrocode}
+%
+% \iffalse
+%</newtxsf>
+% \fi
+%
+%
%
% \iffalse
%<*nextpage>
@@ -60871,9 +68372,10 @@ do not attempt to patch lwarp's version of `nameref'.)\MessageBreak
%
%
% 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@HTML@lnstyle}{}
-\newrobustcmd{\LWR@HTML@osstyle}{}
+\newrobustcmd{\LWR@HTML@osstyle}{\LWR@HTML@scshape}
\newrobustcmd{\LWR@HTML@instyle}{}
\newrobustcmd{\LWR@HTML@sustyle}{}
\newrobustcmd{\LWR@HTML@swstyle}{}
@@ -60890,7 +68392,7 @@ do not attempt to patch lwarp's version of `nameref'.)\MessageBreak
\newrobustcmd{\LWR@HTML@qtstyle}{}
\newrobustcmd{\LWR@HTML@shstyle}{}
\newrobustcmd{\LWR@HTML@swashstyle}{}
-\newrobustcmd{\LWR@HTML@tmstyle}{}
+\newrobustcmd{\LWR@HTML@tmstyle}{\renewcommand*{\LWR@f@family}{tt}}
\newrobustcmd{\LWR@HTML@tvstyle}{\renewcommand*{\LWR@f@family}{tt}}
\newrobustcmd{\LWR@HTML@tstyle}{}
\newrobustcmd{\LWR@HTML@lstyle}{}
@@ -60914,13 +68416,13 @@ do not attempt to patch lwarp's version of `nameref'.)\MessageBreak
\newrobustcmd{\LWR@HTML@exwidth}{}
\newrobustcmd{\LWR@HTML@uxwidth}{}
\newrobustcmd{\LWR@HTML@mbweight}{\renewcommand*{\LWR@f@series}{md}}
-\newrobustcmd{\LWR@HTML@dbweight}{\renewcommand*{\LWR@f@series}{bf}}
-\newrobustcmd{\LWR@HTML@sbweight}{\renewcommand*{\LWR@f@series}{bf}}
+\newrobustcmd{\LWR@HTML@dbweight}{\renewcommand*{\LWR@f@series}{db}}
+\newrobustcmd{\LWR@HTML@sbweight}{\renewcommand*{\LWR@f@series}{sb}}
% \newrobustcmd{\LWR@HTML@ebweight}{\renewcommand*{\LWR@f@series}{eb}}
-\newrobustcmd{\LWR@HTML@ubweight}{\renewcommand*{\LWR@f@series}{eb}}
+\newrobustcmd{\LWR@HTML@ubweight}{\renewcommand*{\LWR@f@series}{ub}}
% \newrobustcmd{\LWR@HTML@lgweight}{\renewcommand*{\LWR@f@series}{lg}}
-\newrobustcmd{\LWR@HTML@elweight}{\renewcommand*{\LWR@f@series}{lg}}
-\newrobustcmd{\LWR@HTML@ulweight}{\renewcommand*{\LWR@f@series}{lg}}
+\newrobustcmd{\LWR@HTML@elweight}{\renewcommand*{\LWR@f@series}{el}}
+\newrobustcmd{\LWR@HTML@ulweight}{\renewcommand*{\LWR@f@series}{ul}}
% \newrobustcmd{\LWR@HTML@itshape}{}
% \newrobustcmd{\LWR@HTML@scshape}{}
% \newrobustcmd{\LWR@HTML@upshape}{}
@@ -60981,9 +68483,9 @@ do not attempt to patch lwarp's version of `nameref'.)\MessageBreak
% \LWR@formatted{lgweight}
\LWR@formatted{elweight}
\LWR@formatted{ulweight}
-% \LWR@formatted{itshape}
-% \LWR@formatted{scshape}
-% \LWR@formatted{upshape}
+\LWR@formatted{itshape}% adapt to the new print version
+\LWR@formatted{scshape}% adapt to the new print version
+\LWR@formatted{upshape}% adapt to the new print version
\LWR@formatted{dfshape}
\ifdef{\LWR@HTML@swshape}{}{% duplicated by fontaxes
@@ -60991,135 +68493,81 @@ do not attempt to patch lwarp's version of `nameref'.)\MessageBreak
}
\LWR@formatted{ornament}
-
-
-\newcommand{\LWR@null@lnstyle}{}
-\newcommand{\LWR@null@osstyle}{}
-\newcommand{\LWR@null@instyle}{}
-\newcommand{\LWR@null@sustyle}{}
-\newcommand{\LWR@null@swstyle}{}
-\newcommand{\LWR@null@pstyle}{}
-\newcommand{\LWR@null@tistyle}{}
-\newcommand{\LWR@null@ostyle}{}
-\newcommand{\LWR@null@postyle}{}
-\newcommand{\LWR@null@ltstyle}{}
-\newcommand{\LWR@null@ofstyle}{}
-\newcommand{\LWR@null@altstyle}{}
-\newcommand{\LWR@null@regstyle}{}
-\newcommand{\LWR@null@embossstyle}{}
-\newcommand{\LWR@null@ornamentalstyle}{}
-\newcommand{\LWR@null@qtstyle}{}
-\newcommand{\LWR@null@shstyle}{}
-\newcommand{\LWR@null@swashstyle}{}
-\newcommand{\LWR@null@tmstyle}{}
-\newcommand{\LWR@null@tvstyle}{}
-\newcommand{\LWR@null@tstyle}{}
-\newcommand{\LWR@null@lstyle}{}
-\newcommand{\LWR@null@tlstyle}{}
-\newcommand{\LWR@null@plstyle}{}
-\newcommand{\LWR@null@tostyle}{}
-% \newcommand{\LWR@null@sishape}{}
-\newcommand{\LWR@null@olshape}{}
-\newcommand{\LWR@null@scolshape}{}
-\newcommand{\LWR@null@ushape}{}
-\newcommand{\LWR@null@scushape}{}
-\newcommand{\LWR@null@uishape}{}
-\newcommand{\LWR@null@rishape}{}
-\newcommand{\LWR@null@regwidth}{}
-\newcommand{\LWR@null@nwwidth}{}
-\newcommand{\LWR@null@cdwidth}{}
-\newcommand{\LWR@null@ecwidth}{}
-\newcommand{\LWR@null@ucwidth}{}
-\newcommand{\LWR@null@etwidth}{}
-\newcommand{\LWR@null@epwidth}{}
-\newcommand{\LWR@null@exwidth}{}
-\newcommand{\LWR@null@uxwidth}{}
-\newcommand{\LWR@null@mbweight}{}
-\newcommand{\LWR@null@dbweight}{}
-\newcommand{\LWR@null@sbweight}{}
-% \newcommand{\LWR@null@ebweight}{}
-\newcommand{\LWR@null@ubweight}{}
-% \newcommand{\LWR@null@lgweight}{}
-\newcommand{\LWR@null@elweight}{}
-\newcommand{\LWR@null@ulweight}{}
-% \newcommand{\LWR@null@itshape}{}
-% \newcommand{\LWR@null@scshape}{}
-% \newcommand{\LWR@null@upshape}{}
-\newcommand{\LWR@null@dfshape}{}
-
-\ifdef{\LWR@HTML@swshape}{}{% duplicated by fontaxes
- \newcommand{\LWR@null@swshape}{}
-}
-
-\newcommand{\LWR@null@ornament}[1]{}
-
-\appto{\LWR@nullfonts}{%
-\LetLtxMacro\lnstyle\LWR@null@lnstyle%
-\LetLtxMacro\osstyle\LWR@null@osstyle%
-\LetLtxMacro\instyle\LWR@null@instyle%
-\LetLtxMacro\sustyle\LWR@null@sustyle%
-\LetLtxMacro\swstyle\LWR@null@swstyle%
-\LetLtxMacro\pstyle\LWR@null@pstyle%
-\LetLtxMacro\tistyle\LWR@null@tistyle%
-\LetLtxMacro\ostyle\LWR@null@ostyle%
-\LetLtxMacro\postyle\LWR@null@postyle%
-\LetLtxMacro\ltstyle\LWR@null@ltstyle%
-\LetLtxMacro\ofstyle\LWR@null@ofstyle%
-\LetLtxMacro\altstyle\LWR@null@altstyle%
-\LetLtxMacro\regstyle\LWR@null@regstyle%
-\LetLtxMacro\embossstyle\LWR@null@embossstyle%
-\LetLtxMacro\ornamentalstyle\LWR@null@ornamentalstyle%
-\LetLtxMacro\qtstyle\LWR@null@qtstyle%
-\LetLtxMacro\shstyle\LWR@null@shstyle%
-\LetLtxMacro\swashstyle\LWR@null@swashstyle%
-\LetLtxMacro\tmstyle\LWR@null@tmstyle%
-\LetLtxMacro\tvstyle\LWR@null@tvstyle%
-\LetLtxMacro\tstyle\LWR@null@tstyle%
-\LetLtxMacro\lstyle\LWR@null@lstyle%
-\LetLtxMacro\tlstyle\LWR@null@tlstyle%
-\LetLtxMacro\plstyle\LWR@null@plstyle%
-\LetLtxMacro\tostyle\LWR@null@tostyle%
-% \LetLtxMacro\sishape\LWR@null@sishape
-\LetLtxMacro\olshape\LWR@null@olshape%
-\LetLtxMacro\scolshape\LWR@null@scolshape%
-\LetLtxMacro\ushape\LWR@null@ushape%
-\LetLtxMacro\scushape\LWR@null@scushape%
-\LetLtxMacro\uishape\LWR@null@uishape%
-\LetLtxMacro\rishape\LWR@null@rishape%
-\LetLtxMacro\regwidth\LWR@null@regwidth%
-\LetLtxMacro\nwwidth\LWR@null@nwwidth%
-\LetLtxMacro\cdwidth\LWR@null@cdwidth%
-\LetLtxMacro\ecwidth\LWR@null@ecwidth%
-\LetLtxMacro\ucwidth\LWR@null@ucwidth%
-\LetLtxMacro\etwidth\LWR@null@etwidth%
-\LetLtxMacro\epwidth\LWR@null@epwidth%
-\LetLtxMacro\exwidth\LWR@null@exwidth%
-\LetLtxMacro\uxwidth\LWR@null@uxwidth%
-\LetLtxMacro\mbweight\LWR@null@mbweight%
-\LetLtxMacro\dbweight\LWR@null@dbweight%
-\LetLtxMacro\sbweight\LWR@null@sbweight%
-% \LetLtxMacro\ebweight\LWR@null@ebweight%
-\LetLtxMacro\ubweight\LWR@null@ubweight%
-% \LetLtxMacro\lgweight\LWR@null@lgweight%
-\LetLtxMacro\elweight\LWR@null@elweight%
-\LetLtxMacro\ulweight\LWR@null@ulweight%
-% \LetLtxMacro\itshape\LWR@null@itshape%
-% \LetLtxMacro\scshape\LWR@null@scshape%
-% \LetLtxMacro\upshape\LWR@null@upshape%
-\LetLtxMacro\dfshape\LWR@null@dfshape%
-\LetLtxMacro\swshape\LWR@null@swshape%
-\LetLtxMacro\ornament\LWR@null@ornament%
-}
-
-\newrobustcmd{\LWR@HTML@textln}[1]{#1}
+% \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%
+}
+
+\newrobustcmd{\LWR@HTML@textln}[1]{\InlineClass{textln}{#1}}
\newrobustcmd{\LWR@HTML@textos}[1]{\textsc{#1}}
\newrobustcmd{\LWR@HTML@textin}[1]{#1}
\newrobustcmd{\LWR@HTML@textsu}[1]{#1}
% \newrobustcmd{\LWR@HTML@textsi}[1]{#1}
\newrobustcmd{\LWR@HTML@textdf}[1]{#1}
-
-\ifdef{\LWR@HTML@swshape}{}{% duplicated by fontaxes
+% \end{macrocode}
+%
+% \changes{v0.883}{2020/11/16}{\pkg{nfssext-cfr}: Fixed \cs{textsw}.}
+% \begin{macrocode}
+\ifdef{\LWR@HTML@textsw}{}{% duplicated by fontaxes
\newrobustcmd{\LWR@HTML@textsw}[1]{#1}
+ \LWR@formatted{textsw}
}
\newrobustcmd{\LWR@HTML@textti}[1]{#1}
@@ -61131,15 +68579,15 @@ do not attempt to patch lwarp's version of `nameref'.)\MessageBreak
\newrobustcmd{\LWR@HTML@textorn}[1]{#1}
\newrobustcmd{\LWR@HTML@textqt}[1]{#1}
\newrobustcmd{\LWR@HTML@textsh}[1]{#1}
-\newrobustcmd{\LWR@HTML@texttm}[1]{#1}
+\newrobustcmd{\LWR@HTML@texttm}[1]{\texttt{#1}}
\newrobustcmd{\LWR@HTML@texttv}[1]{\texttt{#1}}
-\newrobustcmd{\LWR@HTML@textl}[1]{#1}
-\newrobustcmd{\LWR@HTML@texto}[1]{#1}
-\newrobustcmd{\LWR@HTML@textp}[1]{#1}
-\newrobustcmd{\LWR@HTML@textt}[1]{#1}
+\newrobustcmd{\LWR@HTML@textl}[1]{\InlineClass{textln}{#1}}
+\newrobustcmd{\LWR@HTML@texto}[1]{\textsc{#1}}
+\newrobustcmd{\LWR@HTML@textp}[1]{\InlineClass{textp}{#1}}
+\newrobustcmd{\LWR@HTML@textt}[1]{\InlineClass{textt}{#1}}
\newrobustcmd{\LWR@HTML@textpl}[1]{#1}
\newrobustcmd{\LWR@HTML@textpo}[1]{\textsc{#1}}
-\newrobustcmd{\LWR@HTML@texttl}[1]{#1}
+\newrobustcmd{\LWR@HTML@texttl}[1]{\InlineClass{textln}{#1}}
\newrobustcmd{\LWR@HTML@textto}[1]{\textsc{#1}}
\newrobustcmd{\LWR@HTML@textol}[1]{#1}
\newrobustcmd{\LWR@HTML@textswash}[1]{#1}
@@ -61156,14 +68604,14 @@ do not attempt to patch lwarp's version of `nameref'.)\MessageBreak
\newrobustcmd{\LWR@HTML@textex}[1]{#1}
\newrobustcmd{\LWR@HTML@textux}[1]{#1}
\newrobustcmd{\LWR@HTML@textrw}[1]{#1}
-\newrobustcmd{\LWR@HTML@textmb}[1]{\textmd{#1}}
-\newrobustcmd{\LWR@HTML@textdb}[1]{\textbf{#1}}
-\newrobustcmd{\LWR@HTML@textsb}[1]{\textbf{#1}}
-% \newrobustcmd{\LWR@HTML@texteb}[1]{#1}
-\newrobustcmd{\LWR@HTML@textub}[1]{\texteb{#1}}
-% \newrobustcmd{\LWR@HTML@textlg}[1]{#1}
-\newrobustcmd{\LWR@HTML@textel}[1]{\textlg{#1}}
-\newrobustcmd{\LWR@HTML@textul}[1]{\textlg{#1}}
+\newrobustcmd{\LWR@HTML@textmb}[1]{{\LWR@HTML@mbweight\InlineClass{textmb}{#1}}}
+\newrobustcmd{\LWR@HTML@textdb}[1]{{\LWR@HTML@dbweight\InlineClass{textdb}{#1}}}
+\newrobustcmd{\LWR@HTML@textsb}[1]{{\LWR@HTML@sbweight\InlineClass{textsb}{#1}}}
+% \newrobustcmd{\LWR@HTML@texteb}[1]}{#1}
+\newrobustcmd{\LWR@HTML@textub}[1]{{\LWR@HTML@ubweight\InlineClass{textub}{#1}}}
+% \newrobustcmd{\LWR@HTML@textlg}[1]}{#1}
+\newrobustcmd{\LWR@HTML@textel}[1]{{\LWR@HTML@elweight\InlineClass{textel}{#1}}}
+\newrobustcmd{\LWR@HTML@textul}[1]{{\LWR@HTML@ulweight\InlineClass{textul}{#1}}}
\LWR@formatted{textln}
\LWR@formatted{textos}
@@ -61171,7 +68619,6 @@ do not attempt to patch lwarp's version of `nameref'.)\MessageBreak
\LWR@formatted{textsu}
% \LWR@formatted{textsi}
\LWR@formatted{textdf}
-\LWR@formatted{textsw}
\LWR@formatted{textti}
\LWR@formatted{textlt}
\LWR@formatted{textof}
@@ -61215,110 +68662,60 @@ do not attempt to patch lwarp's version of `nameref'.)\MessageBreak
\LWR@formatted{textel}
\LWR@formatted{textul}
-\newrobustcmd{\LWR@null@textln}[1]{#1}
-\newrobustcmd{\LWR@null@textos}[1]{#1}
-\newrobustcmd{\LWR@null@textin}[1]{#1}
-\newrobustcmd{\LWR@null@textsu}[1]{#1}
-% \newrobustcmd{\LWR@null@textsi}[1]{#1}
-\newrobustcmd{\LWR@null@textdf}[1]{#1}
-
-\ifdef{\LWR@HTML@swshape}{}{% duplicated by fontaxes
- \newrobustcmd{\LWR@null@textsw}[1]{#1}
-}
-
-\newrobustcmd{\LWR@null@textti}[1]{#1}
-\newrobustcmd{\LWR@null@textlt}[1]{#1}
-\newrobustcmd{\LWR@null@textof}[1]{#1}
-\newrobustcmd{\LWR@null@textalt}[1]{#1}
-\newrobustcmd{\LWR@null@textreg}[1]{#1}
-\newrobustcmd{\LWR@null@emboss}[1]{#1}
-\newrobustcmd{\LWR@null@textorn}[1]{#1}
-\newrobustcmd{\LWR@null@textqt}[1]{#1}
-\newrobustcmd{\LWR@null@textsh}[1]{#1}
-\newrobustcmd{\LWR@null@texttm}[1]{#1}
-\newrobustcmd{\LWR@null@texttv}[1]{#1}
-\newrobustcmd{\LWR@null@textl}[1]{#1}
-\newrobustcmd{\LWR@null@texto}[1]{#1}
-\newrobustcmd{\LWR@null@textp}[1]{#1}
-\newrobustcmd{\LWR@null@textt}[1]{#1}
-\newrobustcmd{\LWR@null@textpl}[1]{#1}
-\newrobustcmd{\LWR@null@textpo}[1]{#1}
-\newrobustcmd{\LWR@null@texttl}[1]{#1}
-\newrobustcmd{\LWR@null@textto}[1]{#1}
-\newrobustcmd{\LWR@null@textol}[1]{#1}
-\newrobustcmd{\LWR@null@textswash}[1]{#1}
-\newrobustcmd{\LWR@null@textu}[1]{#1}
-\newrobustcmd{\LWR@null@textscu}[1]{#1}
-\newrobustcmd{\LWR@null@textui}[1]{#1}
-\newrobustcmd{\LWR@null@textri}[1]{#1}
-\newrobustcmd{\LWR@null@textnw}[1]{#1}
-\newrobustcmd{\LWR@null@textcd}[1]{#1}
-\newrobustcmd{\LWR@null@textec}[1]{#1}
-\newrobustcmd{\LWR@null@textuc}[1]{#1}
-\newrobustcmd{\LWR@null@textet}[1]{#1}
-\newrobustcmd{\LWR@null@textep}[1]{#1}
-\newrobustcmd{\LWR@null@textex}[1]{#1}
-\newrobustcmd{\LWR@null@textux}[1]{#1}
-\newrobustcmd{\LWR@null@textrw}[1]{#1}
-\newrobustcmd{\LWR@null@textmb}[1]{#1}
-\newrobustcmd{\LWR@null@textdb}[1]{#1}
-\newrobustcmd{\LWR@null@textsb}[1]{#1}
-% \newrobustcmd{\LWR@null@texteb}[1]{#1}
-\newrobustcmd{\LWR@null@textub}[1]{#1}
-% \newrobustcmd{\LWR@null@textlg}[1]{#1}
-\newrobustcmd{\LWR@null@textel}[1]{#1}
-\newrobustcmd{\LWR@null@textul}[1]{#1}
-
-\appto{\LWR@nullfonts}{%
-\LetLtxMacro\textln\LWR@null@textln%
-\LetLtxMacro\textos\LWR@null@textos%
-\LetLtxMacro\textin\LWR@null@textin%
-\LetLtxMacro\textsu\LWR@null@textsu%
-% \LetLtxMacro\textsi\LWR@null@textsi%
-\LetLtxMacro\textdf\LWR@null@textdf%
-\LetLtxMacro\textsw\LWR@null@textsw%
-\LetLtxMacro\textti\LWR@null@textti%
-\LetLtxMacro\textlt\LWR@null@textlt%
-\LetLtxMacro\textof\LWR@null@textof%
-\LetLtxMacro\textalt\LWR@null@textalt%
-\LetLtxMacro\textreg\LWR@null@textreg%
-\LetLtxMacro\emboss\LWR@null@emboss%
-\LetLtxMacro\textorn\LWR@null@textorn%
-\LetLtxMacro\textqt\LWR@null@textqt%
-\LetLtxMacro\textsh\LWR@null@textsh%
-\LetLtxMacro\texttm\LWR@null@texttm%
-\LetLtxMacro\texttv\LWR@null@texttv%
-\LetLtxMacro\textl\LWR@null@textl%
-\LetLtxMacro\texto\LWR@null@texto%
-\LetLtxMacro\textp\LWR@null@textp%
-\LetLtxMacro\textt\LWR@null@textt%
-\LetLtxMacro\textpl\LWR@null@textpl%
-\LetLtxMacro\textpo\LWR@null@textpo%
-\LetLtxMacro\texttl\LWR@null@texttl%
-\LetLtxMacro\textto\LWR@null@textto%
-\LetLtxMacro\textol\LWR@null@textol%
-\LetLtxMacro\textswash\LWR@null@textswash%
-\LetLtxMacro\textu\LWR@null@textu%
-\LetLtxMacro\textscu\LWR@null@textscu%
-\LetLtxMacro\textui\LWR@null@textui%
-\LetLtxMacro\textri\LWR@null@textri%
-\LetLtxMacro\textnw\LWR@null@textnw%
-\LetLtxMacro\textcd\LWR@null@textcd%
-\LetLtxMacro\textec\LWR@null@textec%
-\LetLtxMacro\textuc\LWR@null@textuc%
-\LetLtxMacro\textet\LWR@null@textet%
-\LetLtxMacro\textep\LWR@null@textep%
-\LetLtxMacro\textex\LWR@null@textex%
-\LetLtxMacro\textux\LWR@null@textux%
-\LetLtxMacro\textrw\LWR@null@textrw%
-\LetLtxMacro\textmb\LWR@null@textmb%
-\LetLtxMacro\textdb\LWR@null@textdb%
-\LetLtxMacro\textsb\LWR@null@textsb%
-% \LetLtxMacro\texteb\LWR@null@texteb%
-\LetLtxMacro\textub\LWR@null@textub%
-% \LetLtxMacro\textlg\LWR@null@textlg%
-\LetLtxMacro\textel\LWR@null@textel%
-\LetLtxMacro\textul\LWR@null@textul%
+% \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%
}
\providecommand*{\zeroslash}{0}
@@ -61380,10 +68777,11 @@ do not attempt to patch lwarp's version of `nameref'.)\MessageBreak
\LWR@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,6 +68841,177 @@ do not attempt to patch lwarp's version of `nameref'.)\MessageBreak
%
%
%
+% \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@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>
@@ -61756,7 +69325,6 @@ do not attempt to patch lwarp's version of `nameref'.)\MessageBreak
%
%
% Discard all options for \pkg{lwarp-nowidow}:
-
% \codehtml
% \begin{macrocode}
\LWR@ProvidesPackageDrop{nowidow}[2011/09/20]
@@ -61844,8 +69412,22 @@ do not attempt to patch lwarp's version of `nameref'.)\MessageBreak
% \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@ntheoremmarks}
@@ -62040,11 +69622,15 @@ do not attempt to patch lwarp's version of `nameref'.)\MessageBreak
% 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@inctheorem}{%
\addtocounter{LWR@thisautoid}{1}%
\LWR@stoppars%
-\LWR@htmltag{a id="\LWR@print@mbox{autoid-\arabic{LWR@thisautoid}}"}\LWR@htmltag{/a}%
+\LWR@htmltag{%
+ a id=\textquotedbl\LWR@print@mbox{autoid-\arabic{LWR@thisautoid}}\textquotedbl%
+}%
+\LWR@htmltag{/a}%
\LWR@startpars%
}
% \end{macrocode}
@@ -62946,7 +70532,14 @@ do not attempt to patch lwarp's version of `nameref'.)\MessageBreak
}%
\setkeys{LWRparcols}{#1}%
}
- {\end{LWR@setvirtualpage}}
+ {%
+% \end{macrocode}
+%
+% \changes{v0.84}{2020/04/21}{\pkg{parcolumns}: Fixed: Missing \cs{colplacechunks}.}
+% \begin{macrocode}
+ \colplacechunks%
+ \end{LWR@setvirtualpage}%
+ }
\newcommand{\LWR@parcolumns@onecol}[1]{%
\ifbool{LWR@parcolumns@started}%
@@ -63069,8 +70662,8 @@ do not attempt to patch lwarp's version of `nameref'.)\MessageBreak
}
\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 @@ do not attempt to patch lwarp's version of `nameref'.)\MessageBreak
\end{warpMathJax}
% \end{macrocode}
%
-%
-%
% \iffalse
%</parnotes>
% \fi
@@ -63713,20 +71304,27 @@ do not attempt to patch lwarp's version of `nameref'.)\MessageBreak
% \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@ProvidesPackageDrop{pdfrender}[2016/05/17]
+\LWR@ProvidesPackagePass{pdfrender}[2019/12/29]
% \end{macrocode}
%
-% \begin{macrocode}
-\newcommand*{\pdfrender}[1]{}
-\newcommand{\textpdfrender}[2]{#2}
-% \end{macrocode}
%
% \iffalse
%</pdfrender>
@@ -64016,6 +71614,7 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
% \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 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
% \end{macrocode}
%
% \begin{macrocode}
-% doesn't work with \big, etc:
\begin{warpMathJax}
-\LWR@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 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
%
%
% \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@ProvidesPackagePass{picinpar}% No date is assigned.
+% \end{macrocode}
+%
+% The \env{window} is floated by a \env{BlockClass} style.
+% \begin{macrocode}
+\long\def\LWR@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@HTML@window{}
+
+\LWR@formattedenv{window}
+% \end{macrocode}
+%
+% The \env{framepic} and \env{wframepic} are placed inside a \env{BlockClass}
+% of class \attribute{framebox}.
+% \begin{macrocode}
+\def\LWR@HTML@framepic#1{%
+ \begin{BlockClass}{framebox}
+ \expandafter\box\csname #1box\endcsname%
+ \end{BlockClass}
+}
+\LWR@formatted{framepic}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\def\LWR@HTML@wframepic#1{%
+ \begin{BlockClass}{framebox}
+ \expandafter\box\csname #1box\endcsname%
+ \end{BlockClass}
+}
+\LWR@formatted{wframepic}
+% \end{macrocode}
+%
+% The caption is placed inside a \env{BlockClass} of class \attribute{figurecaption}.
+% \begin{macrocode}
+\long\def\LWR@HTML@@makewincaption#1#2{%
+\begin{BlockClass}{figurecaption}
+#1: #2
+\end{BlockClass}
+}
+\LWR@formatted{@makewincaption}
+% \end{macrocode}
+%
+% With \HTML\ output, \env{figwindow} and \env{tabwindow} must not pre-decrement
+% their counters.
+% \begin{macrocode}
+\long\def\LWR@HTML@figwindow[#1,#2,#3,#4] {%
+% \advance\c@figure -1
+ \window[#1,#2,{#3},{\def\@captype{figure}%
+ \wincaption#4\par}] }
+
+\def\endLWR@HTML@figwindow{\endwindow}
+
+\LWR@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@HTML@subtabwindow[#1,#2,#3,#4] {%
+% \advance\c@table -1
+ \window[#1,#2,{#3},{\def\@captype{table}%
+ \wincaption#4\par}] }
+
+\newcommand*{\LWR@HTML@tabwindow}{%
+ \StartDefiningTabulars%
+ \LWR@HTML@subtabwindow%
+}
+
+\def\endLWR@HTML@tabwindow{%
+ \endwindow%
+ \StopDefiningTabulars%
+}
+
+\LWR@formattedenv{tabwindow}
+% \end{macrocode}
+%
+% \iffalse
+%</picinpar>
+% \fi
+%
+%
+%
+%
+% \iffalse
%<*pifont>
% \fi
%
@@ -64481,6 +71913,47 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
%
%
%
+%
+%
+% \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@ProvidesPackagePass{pinlabel}% no date given
+% \end{macrocode}
+%
+% \begin{macrocode}
+\xpretocmd{\psfig}
+ {\begin{lateximage}[-pinlabel-~\PackageDiagramAltText]}
+ {}
+ {\LWR@patcherror{pinlabel}{psfigA}}
+
+\xapptocmd{\psfig}
+ {\end{lateximage}}
+ {}
+ {\LWR@patcherror{pinlabel}{psfigB}}
+% \end{macrocode}
+%
+% \iffalse
+%</pinlabel>
+% \fi
+%
+%
+%
% \iffalse
%<*placeins>
% \fi
@@ -64676,6 +72149,50 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
%
%
%
+% \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@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
@@ -64965,6 +72482,7 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
% \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 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
\begin{lateximage}[pspicture]%
}
\AfterEndEnvironment{pspicture}{\end{lateximage}}
+
+\BeforeBeginEnvironment{pspicture*}{%
+ \begin{lateximage}[pspicture]%
+}
+\AfterEndEnvironment{pspicture*}{\end{lateximage}}
% \end{macrocode}
%
% \iffalse
@@ -65047,6 +72570,45 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
%
%
% \iffalse
+%<*pxfonts>
+% \fi
+%
+% \part{lwarp-pxfonts.sty}
+%
+% \section{pxfonts}
+%
+% \credits{Young Ryu}
+%
+% \DescribePackage{pxfonts}
+% \pkg{pxfonts} is used as-is for \SVG\ math, and is
+% emulated for \brand{MathJax}.
+%
+% \changes{v0.89}{2020/08/10}{\pkg{pxfonts}: Added.}
+%
+% \codehtml
+%
+% \begin{macrocode}
+\LWR@ProvidesPackagePass{pxfonts}[2008/01/22]
+% \end{macrocode}
+%
+% For \brand{MathJax}:
+% \begin{macrocode}
+\LWR@origRequirePackage{lwarp-common-mathjax-letters}
+
+\begin{warpMathJax}
+\LWR@infoprocessingmathjax{pxfonts}
+
+\LWR@mathjax@addgreek@l@up{}{up}
+\end{warpMathJax}
+% \end{macrocode}
+%
+% \iffalse
+%</pxfonts>
+% \fi
+%
+%
+%
+% \iffalse
%<*pxftnright>
% \fi
%
@@ -65221,7 +72783,7 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
\xpatchcmd{\endquoting}{\quo@endtext}
{\quo@endtext\end{LWR@blocktextcurrentfont}\LWR@stoppars}
{}
- {\LWR@patcherror{imakeidx}{endquoting}}
+ {\LWR@patcherror{quoting}{endquoting}}
% \end{macrocode}
% \iffalse
@@ -65307,21 +72869,142 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
% \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@ProvidesPackageDrop{realscripts}[2016/02/13]
+\LWR@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
+
+\DeclareDocumentCommand \LWR@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} }
+}
+
+\DeclareDocumentCommand \LWR@HTML@realsubscript {m} {
+ \LWR@HTML@textsubscript{#1}
+}
+
+\LWR@formatted{realsubscript}
+
+
+\DeclareDocumentCommand \LWR@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@HTML@realsuperscript {m} {
+ \LWR@HTML@textsuperscript{#1}
+}
-\let\fakesuperscript\textsuperscript
-\let\fakesubscript\textsubscript
+\LWR@formatted{realsuperscript}
+
+
+\DeclareDocumentCommand \LWR@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
-\newlength{\subsupersep}
\newcommand*{\LWR@realscriptsalign}{}
@@ -65339,18 +73022,23 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
}{}%
}
-\DeclareDocumentCommand \textsubsuperscript {s O{l} mm} {%
+\DeclareDocumentCommand \LWR@HTML@textsubsuperscript {s O{l} mm} {%
\LWR@setrealscriptsalign{#2}%
\InlineClass[\LWR@realscriptsalign]{supsubscript}{%
\textsuperscript{#4}\textsubscript{#3}%
}%
}
+\LWR@formatted{textsubsuperscript}
-\DeclareDocumentCommand \textsupersubscript {s O{l} mm} {%
- \LWR@setrealscriptsalign{#2}%
- \InlineClass[\LWR@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,6 +73303,42 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
%
%
%
+% \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@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>
@@ -65680,6 +73404,49 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
%
%
%
+% \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@ProvidesPackagePass{rlepsf}% No date given.
+% \end{macrocode}
+%
+% \begin{macrocode}
+\xpretocmd{\relabelbox}
+ {\begin{lateximage}}
+ {}
+ {\LWR@patcherror{rlepsf}{relabelbox}}
+
+\xapptocmd{\endrelabelbox}
+ {\end{lateximage}}
+ {}
+ {\LWR@patcherror{rlepsf}{endrelabelbox}}
+% \end{macrocode}
+%
+% \iffalse
+%</rlepsf>
+% \fi
+%
+%
+%
%
% \iffalse
%<*rmathbr>
@@ -65696,11 +73463,12 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
% 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@ProvidesPackagePass{rmathbr}[2016/04/10]
+\LWR@ProvidesPackagePass{rmathbr}[2020/12/11]
% \end{macrocode}
%
% \begin{macrocode}
@@ -65826,27 +73594,41 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
%
% 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@ProvidesPackageDrop{rotating}[2016/08/11]
+\LWR@ProvidesPackagePass{rotating}[2016/08/11]
\RequirePackage{graphicx}
% \end{macrocode}
% \begin{macrocode}
-\LetLtxMacro\sidewaystable\table
-\let\endsidewaystable\endtable
+\LetLtxMacro\LWR@HTML@sidewaystable\table
+\let\endLWR@HTML@sidewaystable\endtable
+\LWR@formattedenv{sidewaystable}
-\LetLtxMacro\sidewaysfigure\figure
-\let\endsidewaysfigure\endfigure
+\LetLtxMacro\LWR@HTML@sidewaysfigure\figure
+\let\endLWR@HTML@sidewaysfigure\endfigure
+\LWR@formattedenv{sidewaysfigure}
-\newenvironment*{sideways}{}{}
-\newenvironment*{turn}[1]{}{}
-\newenvironment*{rotate}[1]{}{}
-\NewDocumentCommand{\turnbox}{m +m}{#2}
-\let\rotcaption\caption
-\let\@makerotcaption\@makecaption
+\newenvironment*{LWR@HTML@sideways}{}{}
+\LWR@formattedenv{sideways}
+
+\newenvironment*{LWR@HTML@turn}[1]{}{}
+\LWR@formattedenv{turn}
+
+\newenvironment*{LWR@HTML@rotate}[1]{}{}
+\LWR@formattedenv{rotate}
+
+\NewDocumentCommand{\LWR@HTML@turnbox}{m +m}{#2}
+\LWR@formatted{turnbox}
+
+\let\LWR@HTML@rotcaption\caption
+\LWR@formatted{rotcaption}
+
+\let\LWR@HTML@@makerotcaption\@makecaption
+\LWR@formatted{@makerotcaption}
% \end{macrocode}
@@ -65874,12 +73656,14 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
% \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}
\LWR@ProvidesPackageDrop{rotfloat}[2004/01/04]
\RequirePackage{float}
+\RequirePackage{rotating}
% \end{macrocode}
%
%
@@ -66026,6 +73810,63 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
%
%
% \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@ProvidesPackagePass{scalerel}[2016/12/29]
+% \end{macrocode}
+%
+% For \brand{MathJax}:
+% \begin{macrocode}
+\begin{warpMathJax}
+\LWR@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 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
% \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@ProvidesPackagePass{schemata}[2016/01/25]
+\LWR@ProvidesPackagePass{schemata}[2020/11/23]
% \end{macrocode}
% \begin{macrocode}
@@ -66051,17 +73893,17 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
\LetLtxMacro\LWR@schemata@origSchema\Schema
\renewcommand{\schema}[3][open]{%
-\begin{lateximage}%
-\LWR@print@normalsize
-\LWR@schemata@origschema[#1]{#2}{#3}%
-\end{lateximage}%
+ \begin{lateximage}[-schemata-~\PackageDiagramAltText]%
+ \LWR@print@normalsize%
+ \LWR@schemata@origschema[#1]{#2}{#3}%
+ \end{lateximage}%
}
\renewcommand{\Schema}[5][open]{%
-\begin{lateximage}%
-\LWR@print@normalsize
-\LWR@schemata@origSchema[#1]{#2}{#3}{#4}{#5}%
-\end{lateximage}%
+ \begin{lateximage}[-schemata-~\PackageDiagramAltText]%
+ \LWR@print@normalsize%
+ \LWR@schemata@origSchema[#1]{#2}{#3}{#4}{#5}%
+ \end{lateximage}%
}
% \end{macrocode}
@@ -66086,11 +73928,12 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
%
% \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@ProvidesPackageDrop{scrextend}[2018/03/30]
+\LWR@ProvidesPackageDrop{scrextend}[2020/01/24]
% \end{macrocode}
%
% \begin{macrocode}
@@ -66105,23 +73948,90 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
\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@koma@orig@maketitle\maketitle
\DeclareDocumentCommand{\maketitle}{o}{\LWR@koma@orig@maketitle}
}
+\DeclareDocumentCommand{\@maketitle}{}{%
+ \ifdefvoid{\@titlehead}{}{%
+ \begin{BlockClass}{titlehead}%
+ \@titlehead%
+ \end{BlockClass}%
+ }%
+ \ifdefvoid{\@subject}{}{%
+ \begin{BlockClass}{subject}%
+ \@subject%
+ \end{BlockClass}%
+ }%
+ \LWR@stoppars%
+ \LWR@htmltag{\LWR@tagtitle}%
+ \@title%
+ \LWR@htmltag{\LWR@tagtitleend}%
+ \ifdefvoid{\@subtitle}{}{%
+ \begin{BlockClass}{subtitle}%
+ \@subtitle%
+ \end{BlockClass}%
+ }%
+ \LWR@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}{}
\DeclareDocumentCommand{\ifthispageodd}{m m}{#1}
-\DeclareDocumentCommand{\titlepagestyle}{}{}
-
\DeclareDocumentCommand{\cleardoublepageusingstyle}{m}{}
\DeclareDocumentCommand{\cleardoubleemptypage}{}{}
\DeclareDocumentCommand{\cleardoubleplainpage}{}{}
@@ -66726,6 +74636,35 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
%
%
%
+% \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@ProvidesPackageDrop{selectp}% no date given
+% \end{macrocode}
+%
+% \begin{macrocode}
+\newcommand*{\outputonly}[1]{}
+% \end{macrocode}
+%
+% \iffalse
+%</selectp>
+% \fi
+%
+%
+%
%
% \iffalse
%<*semantic-markup>
@@ -66805,6 +74744,79 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
%
%
% \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@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@orig@seqsplit\seqsplit
+
+\renewcommand*{\seqsplit}[1]{%
+ \ifmmode%
+ \begin{LWR@print@minipage}{6in}%
+ \LWR@orig@seqsplit{#1}%
+ \end{LWR@print@minipage}%
+ \else%
+ \InlineClass[word-wrap:break-word]{seqsplit}{\LWR@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@HTML@seqinsert}{%
+ \LWR@htmlcomment{ }%
+ }
+ \LWR@formatted{seqinsert}
+}
+\end{warpHTML}
+
+\begin{warpMathJax}
+\CustomizeMathJax{\newcommand{\seqsplit}[1]{#1}}
+\end{warpMathJax}
+% \end{macrocode}
+%
+% \iffalse
+%</seqsplit>
+% \fi
+%
+%
+%
+%
+% \iffalse
%<*setspace>
% \fi
@@ -66873,6 +74885,50 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
%
%
%
+%
+%
+% \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@ProvidesPackagePass{shadethm}[1999/11/23]
+% \end{macrocode}
+%
+% \begin{macrocode}
+\newenvironment{LWR@HTML@shadebox}
+{%
+ \convertcolorspec{named}{shadethmcolor}{HTML}\LWR@tempcolor%
+ \convertcolorspec{named}{shaderulecolor}{HTML}\LWR@tempcolortwo%
+ \begin{BlockClass}[%
+ background: \LWR@origpound\LWR@tempcolor ;
+ border: 1px solid \LWR@origpound\LWR@tempcolortwo ;
+ ]{shadebox}
+}%
+{\end{BlockClass}}
+\LWR@formattedenv{shadebox}
+% \end{macrocode}
+%
+% \iffalse
+%</shadethm>
+% \fi
+%
+%
+%
+%
% \iffalse
%<*shadow>
% \fi
@@ -67051,6 +75107,82 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
%
%
% \iffalse
+%<*shuffle>
+% \fi
+%
+% \part{lwarp-shuffle.sty}
+%
+% \section{shuffle}
+%
+% \credits{Julian Gilbey and Antoine Lejay}
+%
+% \DescribePackage{shuffle}
+% \pkg{shuffle} is emulated for \SVG\ math, and
+% also emulated for \brand{MathJax}.
+%
+% The font used for \pkg{shuffle} may not render correctly when
+% converted to \SVG\ math, so a \env{picture} environment drawing
+% is used instead.
+%
+% For \brand{MathJax}, the Unicode character is used, and for
+% \cs{cshuffle} a \cs{bar} is added.
+%
+% \changes{v0.89}{2020/07/26}{\pkg{shuffle}: Added.}
+%
+% \codehtml
+%
+% \begin{macrocode}
+\LWR@ProvidesPackageDrop{shuffle}[2008/10/27]
+\LWR@origRequirePackage{lwarp-common-mathjax-overlaysymbols}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\newcommand*{\LWR@shuffle@start}{%
+ \hspace*{.2em}
+ \begin{picture}(.75,0.65)
+ \setlength{\unitlength}{1em}
+ \put(0,0){\line(1,0){.75}}
+ \put(0,0){\line(0,1){.5}}
+ \put(.375,0){\line(0,1){.5}}
+ \put(.75,0){\line(0,1){.5}}
+}
+
+\newcommand*{\LWR@shuffle@finish}{%
+ \end{picture}
+ \hspace*{.75em}
+ \hspace*{.2em}
+}
+
+\newcommand*{\shuffle}{%
+ \LWR@shuffle@start%
+ \LWR@shuffle@finish%
+}
+
+\newcommand*{\cshuffle}{%
+ \LWR@shuffle@start%
+ \put(.05,.65){\line(1,0){.65}}%
+ \LWR@shuffle@finish%
+}
+% \end{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 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
%
% \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@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 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
% \begin{macrocode}
\NewDocumentEnvironment{KFLTsidenotes@marginfloat}{O{-1.2ex} m}
{% start
-\LWR@BlockClassWP{float:right; width:2in; margin:10pt}{}{marginblock}%
-\captionsetup{type=#2}%
+ \LWR@BlockClassWP{float:right; width:2in; margin:10pt}{}{marginblock}%
+ \renewcommand*{\@captype}{#2}%
}
{%
-\endLWR@BlockClassWP%
+ \endLWR@BlockClassWP%
}
\RenewDocumentEnvironment{marginfigure}{o}
@@ -67232,6 +75365,86 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
%
%
%
+% \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@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
@@ -67539,7 +75752,7 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
\CustomizeMathJax{\newcommand{\barn}{\mathrm{b}}}
\CustomizeMathJax{\newcommand{\bbar}{\mathrm{bar}}}
\CustomizeMathJax{\newcommand{\gal}{\mathrm{Gal}}}
-\CustomizeMathJax{\newcommand{\angstrom}{\mathrm{\unicode{x00C5}}}}
+\CustomizeMathJax{\newcommand{\angstrom}{\mathrm{\unicode{x212B}}}}
\CustomizeMathJax{\newcommand{\rperminute}{\mathrm{r}\per\minute}}
\CustomizeMathJax{\newcommand{\rpersecond}{\mathrm{r}\per\second}}
\CustomizeMathJax{\newcommand{\squaremetre}{\power{\metre}{2}}}
@@ -67554,12 +75767,18 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
\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 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
\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 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
\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 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
\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 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
% \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 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
% \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@subsingledollar}.
+% \SVG\ math is created explicitly when necessary, using \cs{LWR@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 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
\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 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
\__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 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
\__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@origensuredmath% lwarp
@@ -67983,7 +76265,11 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
\__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 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
}
\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,31 +76304,263 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
}
\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.)
% \begin{macrocode}
\begin{warpMathJax}
\LWR@infoprocessingmathjax{siunitx}
+% \end{macrocode}
+%
+% \changes{v0.89}{2020/07/23}{\pkg{siunitx}: Fix: \brand{MathJax} for \cs{tothe}, \cs{raiseto}.}
+% \begin{macrocode}
+\CustomizeMathJax{\newcommand{\tothe}[1]{^{#1}}}
+\CustomizeMathJax{\newcommand{\raiseto}[2]{{#2}^{#1}}}
+% \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{\LWRsiunitxprintdecimal}[1]{%
+ \LWRsiunitxprintdecimalsub#1...\LWRsiunitxEND%
+ }}
+ }
+ {% Use decimal point
+ \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%
+ }}
+ }
+}
+\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 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
\CustomizeMathJax{\newcommand{\electronvolt}{\mathrm{eV}}}
\CustomizeMathJax{\newcommand{\elementarycharge}{\mathit{e}}}
\CustomizeMathJax{\newcommand{\hartree}{\mathit{E}_{\mathrm{h}}}}
-\CustomizeMathJax{\newcommand{\planckbar}{\mathit{\unicode{x0127}}}}
-\CustomizeMathJax{\newcommand{\angstrom}{\mathrm{\unicode{x00C5}}}}
+\CustomizeMathJax{\newcommand{\planckbar}{\mathit{\unicode{x210F}}}}
+\CustomizeMathJax{\newcommand{\angstrom}{\mathrm{\unicode{x212B}}}}
\CustomizeMathJax{\let\LWRorigbar\bar}
\CustomizeMathJax{\newcommand{\bar}{\mathrm{bar}}}
\CustomizeMathJax{\newcommand{\barn}{\mathrm{b}}}
@@ -68265,6 +76786,382 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
%
%
% \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@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 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
% \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 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
\newcommand*{\LWR@HTML@noscshape}{}
\LWR@formatted{noscshape}
-\newcommand*{\LWR@null@noscshape}{}
-
-\appto{\LWR@nullfonts}{%
-\LetLtxMacro\noscshape\LWR@null@noscshape%
+\FilenameNullify{%
+ \LetLtxMacro\noscshape\@empty%
}
% \end{macrocode}
%
@@ -68547,6 +77443,68 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
%
%
%
+% \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@ProvidesPackagePass{splitbib}[2005/12/22]
+% \end{macrocode}
+%
+% \begin{macrocode}
+\def\NMSB@stylebox#1#2{%
+\begin{BlockClass}[text-align:center ; border: 1px solid black]{splitbibbox}
+ \csname SB\NMSB@level font\endcsname{\LWR@textcurrentfont{#1#2}}
+\end{BlockClass}
+}
+
+\def\NMSB@stylebar#1#2{%
+\begin{BlockClass}[%
+ text-align:center ;
+ border-top: 1px solid black ;
+ border-bottom: 1px solid black ;
+]{splitbibbar}
+ \csname SB\NMSB@level font\endcsname{\LWR@textcurrentfont{#1#2}}
+\end{BlockClass}
+}
+
+\def\NMSB@styledash#1#2{%
+\begin{BlockClass}[%
+ text-align:center ;
+]{splitbibdash}
+ \csname SB\NMSB@level font\endcsname{\LWR@textcurrentfont{---~#1#2~---}}
+\end{BlockClass}
+}
+
+\def\NMSB@stylenone#1#2{%
+ \par
+}
+
+\def\NMSB@stylesimple#1#2{%
+\par
+ \csname SB\NMSB@level font\endcsname{\LWR@textcurrentfont{#1#2}}
+\par
+}
+% \end{macrocode}
+%
+% \iffalse
+%</splitbib>
+% \fi
+%
+%
%
% \iffalse
%<*splitidx>
@@ -68598,7 +77556,7 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
\csname index@#1@hook\endcsname
% \expandafter\ifx\csname @@wrsindex\endcsname\relax
\addtocounter{LWR@autoindex}{1}% lwarp
- \LWR@new@label{LWRindex-\arabic{LWR@autoindex}}% lwarp
+ \label{LWRindex-\arabic{LWR@autoindex}}% lwarp
% \@@@wrsindex{#1}{{\@tempa}{\thepage}}%
\@@@wrsindex{#1}{{\@tempa}{\arabic{LWR@autoindex}}}%
% \else
@@ -68964,6 +77922,7 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
% \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 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
\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 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
%
%
% \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@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 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
% is emulated for \brand{MathJax}.
%
% \changes{v0.81}{2020/02/28}{\pkg{statmath}: Added.}
+% \changes{v0.89}{2020/09/01}{\pkg{statmath}: Fixed \optn{abcbm},
+% uses \pkg{lwarp-common-mathjax-letters}.}
%
% \codehtml
%
@@ -69197,11 +78538,17 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
% \end{macrocode}
%
% \begin{macrocode}
+\LWR@origRequirePackage{lwarp-common-mathjax-letters}
+
\begin{warpMathJax}
\LWR@infoprocessingmathjax{statmath}
-\CustomizeMathJax{\let\abcbf\mathbf}
+\ifdefequal{\abcbf}{\mathbf}
+ {\CustomizeMathJax{\newcommand{\abcbf}[1]{\mathbf{#1}}}}
+ {\CustomizeMathJax{\newcommand{\abcbf}[1]{\boldsymbol{#1}}}}
+
\CustomizeMathJax{\newcommand{\greekbf}[1]{\boldsymbol{#1}}}
+
\CustomizeMathJax{\newcommand{\bfA}{\abcbf A}}
\CustomizeMathJax{\newcommand{\bfB}{\abcbf B}}
\CustomizeMathJax{\newcommand{\bfC}{\abcbf C}}
@@ -69254,47 +78601,12 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
\CustomizeMathJax{\newcommand{\bfx}{\abcbf x}}
\CustomizeMathJax{\newcommand{\bfy}{\abcbf y}}
\CustomizeMathJax{\newcommand{\bfz}{\abcbf z}}
-\CustomizeMathJax{\newcommand{\bfalpha}{\greekbf \alpha}}
-\CustomizeMathJax{\newcommand{\bfbeta}{\greekbf \beta}}
-\CustomizeMathJax{\newcommand{\bfdelta}{\greekbf \delta}}
-\CustomizeMathJax{\newcommand{\bfepsilon}{\greekbf \epsilon}}
-\CustomizeMathJax{\newcommand{\bfvarepsilon}{\greekbf \varepsilon}}
-\CustomizeMathJax{\newcommand{\bfzeta}{\greekbf \zeta}}
-\CustomizeMathJax{\newcommand{\bfeta}{\greekbf \eta}}
-\CustomizeMathJax{\newcommand{\bftheta}{\greekbf \theta}}
-\CustomizeMathJax{\newcommand{\bfvartheta}{\greekbf \vartheta}}
-\CustomizeMathJax{\newcommand{\bfgamma}{\greekbf \gamma}}
-\CustomizeMathJax{\newcommand{\bfkappa}{\greekbf \kappa}}
-\CustomizeMathJax{\newcommand{\bflambda}{\greekbf \lambda}}
-\CustomizeMathJax{\newcommand{\bfmu}{\greekbf \mu}}
-\CustomizeMathJax{\newcommand{\bfnu}{\greekbf \nu}}
-\CustomizeMathJax{\newcommand{\bfxi}{\greekbf \xi}}
-\CustomizeMathJax{\newcommand{\bfpi}{\greekbf \pi}}
-\CustomizeMathJax{\newcommand{\bfvarpi}{\greekbf \varpi}}
-\CustomizeMathJax{\newcommand{\bfrho}{\greekbf \rho}}
-\CustomizeMathJax{\newcommand{\bfvarrho}{\greekbf \varrho}}
-\CustomizeMathJax{\newcommand{\bfsigma}{\greekbf \sigma}}
-\CustomizeMathJax{\newcommand{\bfvarsigma}{\greekbf \varsigma}}
-\CustomizeMathJax{\newcommand{\bftau}{\greekbf \tau}}
-\CustomizeMathJax{\newcommand{\bfupsilon}{\greekbf \upsilon}}
-\CustomizeMathJax{\newcommand{\bfphi}{\greekbf \phi}}
-\CustomizeMathJax{\newcommand{\bfvarphi}{\greekbf \varphi}}
-\CustomizeMathJax{\newcommand{\bfchi}{\greekbf \chi}}
-\CustomizeMathJax{\newcommand{\bfpsi}{\greekbf \psi}}
-\CustomizeMathJax{\newcommand{\bfomega}{\greekbf \omega}}
-\CustomizeMathJax{\newcommand{\bfiota}{\greekbf \iota}}
-\CustomizeMathJax{\newcommand{\bfGamma}{\greekbf \Gamma}}
-\CustomizeMathJax{\newcommand{\bfDelta}{\greekbf \Delta}}
-\CustomizeMathJax{\newcommand{\bfTheta}{\greekbf \Theta}}
-\CustomizeMathJax{\newcommand{\bfLambda}{\greekbf \Lambda}}
-\CustomizeMathJax{\newcommand{\bfXi}{\greekbf \Xi}}
-\CustomizeMathJax{\newcommand{\bfPi}{\greekbf \Pi}}
-\CustomizeMathJax{\newcommand{\bfSigma}{\greekbf \Sigma}}
-\CustomizeMathJax{\newcommand{\bfUpsilon}{\greekbf \Upsilon}}
-\CustomizeMathJax{\newcommand{\bfPhi}{\greekbf \Phi}}
-\CustomizeMathJax{\newcommand{\bfPsi}{\greekbf \Psi}}
-\CustomizeMathJax{\newcommand{\bfOmega}{\greekbf \Omega}}
+
+\LWR@mathjax@addgreek@l@bfit{bf}{}% Greek lowercase bold face italic
+\LWR@mathjax@addgreek@u@bfup*{bf}{}% Greek uppercase bold face upright, cap macros.
+
\CustomizeMathJax{\newcommand{\bfzero}{\greekbf 0}}
+
\CustomizeMathJax{\DeclareMathOperator{\cov}{Cov}}
\CustomizeMathJax{\DeclareMathOperator{\E}{E}}
\CustomizeMathJax{\DeclareMathOperator{\V}{V}}
@@ -69343,13 +78655,11 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
% \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 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
%
% \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@ProvidesPackagePass{struktex}[2018/06/04]
+\LWR@ProvidesPackagePass{struktex}
% \end{macrocode}
%
% \begin{macrocode}
@@ -69482,23 +78793,18 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
% 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@minipage}{
- \xpatchcmd{\subcaption@minipage}
- {\minipage}
- {\minipagefullwidth\minipage}
- {}
- {\LWR@patcherror{subcaption}{subcaption@minipage}}
-}{}
+\xpretocmd{\subcaption@iiminipage}
+ {\minipagefullwidth}
+ {}
+ {\LWR@patcherror{subcaption}{subcaption@iiminipage}}
% \end{macrocode}
%
% Likewise for a \cs{subcaptionbox}:
% \begin{macrocode}
-\ifdef{\subcaptionbox}{
- \xpretocmd{\subcaptionbox}
- {\minipagefullwidth}
- {}
- {\LWR@patcherror{subcaption}{subcaptionbox}}
-}{}
+\xpretocmd{\subcaptionbox}
+ {\minipagefullwidth}
+ {}
+ {\LWR@patcherror{subcaption}{subcaptionbox}}
% \end{macrocode}
%
% \iffalse
@@ -69683,8 +78989,8 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
% {\box0}%
{
% \parbox[t]{\the\@tempdima}{%
-\LWR@traceinfo{sfsubcap B1}% lwarp
- \LWR@figcaption% lwarp
+\LWR@traceinfo{sfsubcap B1}% lwarp
+ \LWR@figcaption% lwarp
\caption@make
{\@nameuse{sub\@captype name}}%
{\@nameuse{thesub\@captype}}%
@@ -69692,8 +78998,8 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
% \end{macrocode}
% \changes{v0.45}{2017/12/18}{\pkg{subfig}: Fix for subcaption end tag.}
% \begin{macrocode}
- \endLWR@figcaption% lwarp
-\LWR@traceinfo{sfsubcap B2}% lwarp
+ \endLWR@figcaption% lwarp
+\LWR@traceinfo{sfsubcap B2}% lwarp
% }%
}%
{\dimen@\ht0%
@@ -69758,7 +79064,7 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
% comes from the |sub@<label>|:
% \begin{macrocode}
\renewcommand{\sf@subref}[1]{%
-\LWR@subnewref{#1}{sub@#1}%
+ \LWR@subnewref{#1}{sub@#1}%
}
% \end{macrocode}
% \end{noindmacro}
@@ -70055,11 +79361,12 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
% \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@ProvidesPackagePass{svg}[2019/10/22]
+\LWR@ProvidesPackagePass{svg}[2020/10/23]
% \end{macrocode}
%
% \begin{macrocode}
@@ -70091,6 +79398,48 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
%
%
%
+% \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@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
@@ -70572,6 +79921,518 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
%
%
% \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@ProvidesPackagePass{tcolorbox}[2020/04/28]
+% \end{macrocode}
+%
+% \begin{macrocode}
+\newbool{LWR@havetcblower}
+\boolfalse{LWR@havetcblower}
+% \end{macrocode}
+%
+% Colors are supported via \HTML\ styles:
+% \begin{macrocode}
+\newcommand{\LWR@tcolorbox@findcolors}{%
+ \convertcolorspec{named}{tcbcolback}{HTML}\LWR@tcbcolback
+ \convertcolorspec{named}{tcbcolframe}{HTML}\LWR@tcbcolframe
+ \iftcb@titlefilled%
+ \convertcolorspec{named}{tcbcolbacktitle}{HTML}\LWR@tcbcolbacktitle
+ \else
+ \convertcolorspec{named}{tcbcolframe}{HTML}\LWR@tcbcolbacktitle
+ \fi
+ \convertcolorspec{named}{tcbcoltitle}{HTML}\LWR@tcbcoltitle
+ \convertcolorspec{named}{tcbcolupper}{HTML}\LWR@tcbcolupper
+ \convertcolorspec{named}{tcbcollower}{HTML}\LWR@tcbcollower
+}
+
+\newcommand*{\LWR@tcolorbox@titlecolorstyles}{%
+ border-top: 1px solid \LWR@origpound\LWR@tcbcolframe ;
+ border-bottom: 1px solid \LWR@origpound\LWR@tcbcolframe ;
+ background: \LWR@origpound\LWR@tcbcolbacktitle ;
+ color: \LWR@origpound\LWR@tcbcoltitle ;
+}
+% \end{macrocode}
+%
+% The title is placed inside its own \element{div} of class \optn{tcolorboxtitle}.
+% \begin{macrocode}
+\newcommand*{\LWR@showtitle@}[1]{%
+ \begin{BlockClass}[
+ \LWR@tcolorbox@titlecolorstyles
+ ]{tcolorboxtitle}
+% \cmdKV@LWRtcolorbox@title\par
+ \kvtcb@before@title#1\kvtcb@after@title
+ \end{BlockClass}
+}
+% \end{macrocode}
+%
+% If no title, a non-breakable space is used to take some vertical space.
+% \begin{macrocode}
+\newcommand*{\LWR@showtitle}[1]{%
+ \iftcb@titlevisible
+ \LWR@showtitle@{#1}
+ \else
+ \LWR@showtitle@{~}
+ \fi
+}
+
+\newcommand*{\LWR@tcolorbox@dophantom}{%
+% \sbox\tcb@phantombox{\kvtcb@phantom}%
+% \iftcb@hasPhantom%
+% \box\tcb@phantombox%
+% \tcb@hasPhantomfalse%
+% \fi%
+ \kvtcb@phantom
+ \let\kvtcb@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@tcolorboxstart}[1]{
+ \LWR@tcolorbox@findcolors
+ \begin{BlockClass}[
+ border: 1px solid \LWR@origpound\LWR@tcbcolframe ;
+ background: \LWR@origpound\LWR@tcbcolback ;
+ ]{#1}
+ \LWR@tcolorbox@dophantom%
+ \ifdefvoid{\kvtcb@title}
+ {}
+ {
+ \LWR@showtitle{\kvtcb@title}
+ }
+ \begin{BlockClass}[
+ color: \LWR@origpound\LWR@tcbcolupper ;
+ ]{tcolorboxupper}
+}
+% \end{macrocode}
+%
+% Floats enclose the \env{tcolorbox}.
+% \begin{macrocode}
+\newcommand*{\LWR@tcolorbox@dostartfloat}{%
+ \ifx\kvtcb@float\@empty%
+% \tcb@set@normal@unbroken@beforeafter%
+ \else%
+% \edef\tcb@before@unbroken{%
+% \noexpand\tcb@float@env@begin{tcbfloat}[\kvtcb@float]%
+% \noexpand\kvtcb@everyfloat%
+% }%
+% \let\tcb@after@unbroken=\tcb@float@env@end%
+ \tcb@float@env@begin{tcbfloat}[\kvtcb@float]
+ \noexpand\kvtcb@everyfloat
+ \fi%
+}
+
+\newcommand*{\LWR@tcolorbox@doendfloat}{%
+ \ifx\kvtcb@float\@empty%
+ \else%
+ \tcb@float@env@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@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@printpendingfootnotes
+ \tcb@layer@inc
+ \tcb@apply@box@options{#1}
+ \LWR@tcolorbox@dostartfloat%
+% \tcbset{title=,#1}
+ \boolfalse{LWR@havetcblower}
+ \LWR@tcolorboxstart{tcolorbox}
+ \tcb@insert@before@upper%
+ }
+ {
+ \ifbool{LWR@havetcblower}{%
+ \tcb@insert@after@lower%
+ }{%
+ \tcb@insert@after@upper%
+ }%
+ \end{BlockClass}
+ \LWR@printpendingfootnotes
+ \tcb@layer@dec
+ \end{BlockClass}
+ \LWR@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@insert@after@upper%
+ \end{BlockClass}
+ \begin{BlockClass}[%
+ border-top: 1px dashed \LWR@origpound\LWR@tcbcolframe ;
+ color: \LWR@origpound\LWR@tcbcollower ;
+ ]{tcolorboxlower}
+ \tcb@insert@before@lower%
+}
+% \end{macrocode}
+%
+% Starred and unstarred \cs{tcbline} are simple \cs{hrule}s.
+% \begin{macrocode}
+\AtBeginDocument{
+\ifdef{\tcbline}{
+ \newcommand*{\LWR@sub@tcbline}{%
+ \begin{BlockClass}{hrule}
+ \end{BlockClass}
+ }
+ \newcommand{\LWR@HTML@tcbline}{\@ifstar\LWR@sub@tcbline\LWR@sub@tcbline}
+ \LWR@formatted{tcbline}
+}{}
+}
+
+\newcommand{\LWR@HTML@tcbox}[2][]{
+ \LWR@printpendingfootnotes
+ \LWR@tcolorbox@dostartfloat%
+ \begingroup
+ \tcb@layer@inc
+ \tcb@apply@box@options{#1}
+% \tcbset{title=,#1}
+ \boolfalse{LWR@havetcblower}
+ \LWR@tcolorboxstart{tcolorbox inlineminipage}
+ \tcb@insert@before@upper%
+ #2
+ \ifbool{LWR@havetcblower}{%
+ \tcb@insert@after@lower%
+ }{%
+ \tcb@insert@after@upper%
+ }%
+ \end{BlockClass}
+ \LWR@printpendingfootnotes
+ \end{BlockClass}
+ \tcb@layer@dec%
+ \endgroup%
+ \LWR@tcolorbox@dostartfloat%
+ \global\booltrue{LWR@minipagethispar}%
+}
+\LWR@formatted{tcbox}
+
+\appto\LWR@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@title\relax\begin{BlockClass}{tcolorboxsubtitle}}
+ {}
+ {\LWR@patcherror{tcolorbox}{tcbsubtitle}}
+
+\xpatchcmd{\tcbsubtitle}
+ {\endgroup}
+ {\end{BlockClass}\endgroup}
+ {}
+ {\LWR@patcherror{tcolorbox}{tcbsubtitleB}}
+% \end{macrocode}
+%
+% \cs{tcboxfit} is the same as \cs{tcbox}.
+% \begin{macrocode}
+\AtBeginDocument{
+ \ifdef{\tcboxfit}{%
+ \let\LWR@HTML@tcboxfit\tcbox%
+ \LWR@formatted{tcboxfit}
+ }{}
+}
+% \end{macrocode}
+%
+% \cs{tcbtitle} is patched to support the text font.
+% \begin{macrocode}
+\LetLtxMacro\LWR@HTML@tcbtitle\tcbtitle
+\xpatchcmd{\LWR@HTML@tcbtitle}
+ {\kvtcb@before@title\tcbtitletext}
+ {\kvtcb@before@title\LWR@textcurrentfont{\LWR@textcurrentcolor{\tcbtitletext}}}
+ {}
+ {\LWR@patcherror{tcolorbox}{LWR@HTML@tcbtitle}}
+\LWR@formatted{tcbtitle}
+% \end{macrocode}
+%
+% List-of:
+% \begin{macrocode}
+\renewcommand*\l@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@HTML@tcb@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@formatted{tcb@hack@amsmath}
+
+ % Cause an error if using math:
+ \tcbset{%
+ math upper/.style={before upper*=\tcb@hack@amsmath,after upper*=$},%
+ math lower/.style={before lower*=\tcb@hack@amsmath,after lower*=$},%
+ }
+
+ \appto\LWR@restoreorigformatting{%
+ \tcbset{%
+ math upper/.style={before upper*=$\displaystyle,after upper*=$},%
+ math lower/.style={before lower*=$\displaystyle,after lower*=$},%
+ }%
+ }
+
+ \newcommand{\LWR@HTML@tcboxmath}[2][]{#2}
+ \LWR@formatted{tcboxmath}
+ \newcommand{\LWR@HTML@tcbhighmath}[2][]{#2}
+ \LWR@formatted{tcbhighmath}
+ \appto\LWR@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@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@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@patcherror{termcal}{endcalendar}}
+% \end{macrocode}
+%
+% Remove the hbox:
+% \begin{macrocode}
+\xpatchcmd{\ca@doaday}
+ {\hbox to \hsize{\calprintdate\hfill\ifclassday\calprintclass\fi}}
+ {%
+ \calprintdate\hfill\ifclassday\calprintclass\fi%
+ }
+ {}
+ {\LWR@patcherror{termcal}{ca@doaday}}
+% \end{macrocode}
+%
+% Change each of two ampersands to call the lwarp tabular version:
+% \begin{macrocode}
+\xpatchcmd{\calday}
+ {&}
+ {\LWR@tabularampersand}
+ {}
+ {\LWR@patcherror{termcal}{calday}}
+
+\xpatchcmd{\calday}
+ {&}
+ {\LWR@tabularampersand}
+ {}
+ {\LWR@patcherror{termcal}{calday B}}
+% \end{macrocode}
+%
+% \iffalse
+%</termcal>
+% \fi
+%
+%
+%
+%
+% \iffalse
%<*textarea>
% \fi
%
@@ -70754,7 +80615,7 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
% \changes{v0.62}{2018/11/17}{\pkg{textcomp}: Fix conflict with \pkg{xunicode}.}
% \begin{macrocode}
\providecommand*{\LWR@HTML@textcircled}[1]{%
-\InlineClass[border: 1px solid \LWR@currenttextcolor]{textcircled}{#1}%
+ \InlineClass[border: 1px solid \LWR@currenttextcolor]{textcircled}{#1}%
}
\LWR@formatted{capitalcedilla}
@@ -70770,6 +80631,7 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
\LWR@formatted{capitalbreve}
\LWR@formatted{capitalmacron}
\LWR@formatted{capitaldotaccent}
+
\LWR@formatted{textcircled}
% \end{macrocode}
% Nullify \pkg{textcomp} macros when generating filenames:
@@ -70901,13 +80763,15 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
% \codehtml
% \begin{macrocode}
-\LWR@ProvidesPackageDrop{textpos}[2019/04/15]
+\LWR@ProvidesPackageDrop{textpos}[2020/09/26]
% \end{macrocode}
% \begin{macrocode}
\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,6 +81066,213 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
%
%
%
+%
+%
+% ^^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@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@newentry{%
+ \csdef{l@\thmt@envname}##1##2{\hypertocfloat{1}{figure}{lof}{##1}{##2}}%
+ }
+}{% earlier than v0.72
+ \xpatchcmd{\listoftheorems}
+ {%
+ \@xa\protected@edef\csname l@\thmt@envname\endcsname{%
+ \@nx\@dottedtocline{1}{1.5em}{\@nx\thmt@listnumwidth}%
+ }%
+ }
+ {%
+ \csdef{l@\thmt@envname}##1##2{\hypertocfloat{1}{figure}{lof}{##1}{##2}}%
+ }
+ {}
+ {\LWR@patcherror{thm-listof}{listoftheorems}}
+
+ \xpatchcmd{\thmt@mklistcmd}
+ {%
+ \@xa\protected@edef\csname l@\thmt@envname\endcsname{%
+ \@nx\@dottedtocline{1}{1.5em}{\@nx\thmt@listnumwidth}%
+ }%
+ }
+ {%
+ \csdef{l@\thmt@envname}##1##2{\hypertocfloat{1}{figure}{lof}{##1}{##2}}%
+ }
+ {}
+ {\LWR@patcherror{thm-listof}{thmt@mklistcmd}}
+}
+% \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@ProvidesPackagePass{thm-restate}[2020/08/01]
+% \end{macrocode}
+%
+% \begin{macrocode}
+\xpatchcmd{\thmt@restatable}
+ {\@ifstar}
+ {\edef\LWR@thisthmstyle{#2}\@ifstar}
+ {}
+ {\LWR@patcherror{thm-restate}{thmt@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@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@ProvidesPackagePass{thmtools}[2020/08/01]
+% \end{macrocode}
+%
+% The following patches either \pkg{thm-amsthm} or \pkg{thm-ntheorem}.
+% \begin{macrocode}
+\def\thmt@headstyle@margin{%
+ \InlineClass{amsthmnnumbertheorem}{\NUMBER}
+ \
+ \InlineClass{amsthmnametheorem}{\NAME}
+ \InlineClass{amsthmnotetheorem}{\NOTE}
+}
+
+\let\thmt@headstyle@swapnumber\thmt@headstyle@margin
+% \end{macrocode}
+%
+% \iffalse
+%</thmtools>
+% \fi
+%
+%
+%
% \iffalse
%<*threadcol>
% \fi
@@ -71531,21 +81602,24 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
\let\pgfutil@raggedleft\LWR@print@raggedleft
\let\pgfutil@raggedright\LWR@print@raggedright
-
-\def\pgfutil@font@tiny{\LWR@printtiny}
-\def\pgfutil@font@scriptsize{\LWR@printscriptsize}
-\def\pgfutil@font@footnotesize{\LWR@printfootnotesize}
+% \end{macrocode}
+%
+% \changes{v0.893}{2020/11/09}{\pkg{tikz}: Fixed font macros.}
+% \begin{macrocode}
+\def\pgfutil@font@tiny{\LWR@print@tiny}
+\def\pgfutil@font@scriptsize{\LWR@print@scriptsize}
+\def\pgfutil@font@footnotesize{\LWR@print@footnotesize}
\def\pgfutil@font@small{\LWR@print@small}
\def\pgfutil@font@normalsize{\LWR@print@normalsize}
-\def\pgfutil@font@large{\LWR@printlarge}
-\def\pgfutil@font@Large{\LWR@printLarge}
-\def\pgfutil@font@huge{\LWR@printhuge}
-\def\pgfutil@font@Huge{\LWR@printHuge}
+\def\pgfutil@font@large{\LWR@print@large}
+\def\pgfutil@font@Large{\LWR@print@Large}
+\def\pgfutil@font@huge{\LWR@print@huge}
+\def\pgfutil@font@Huge{\LWR@print@Huge}
-\def\pgfutil@font@itshape{\LWR@origitshape}
-\def\pgfutil@font@bfseries{\LWR@origbfseries}
+\def\pgfutil@font@itshape{\LWR@print@itshape}
+\def\pgfutil@font@bfseries{\LWR@print@bfseries}
-\def\pgfutil@font@normalfont{\LWR@orignormalfont}
+\def\pgfutil@font@normalfont{\LWR@print@normalfont}
% \end{macrocode}
% \iffalse
@@ -71556,6 +81630,42 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
%
%
%
+% \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@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
@@ -71861,10 +81971,28 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
%
%
% Discard all options for \pkg{lwarp-titlesec}:
-
+%
% \codehtml
+%
+% \changes{v0.85}{2020/04/30}{\pkg{titlesec}: \optn{pagestyles} option.}
% \begin{macrocode}
-\LWR@ProvidesPackageDrop{titlesec}[2016/03/21]
+\PackageInfo{lwarp}{Using the lwarp version of package `titlesec'.}%
+\ProvidesPackage{lwarp-titlesec}[2016/03/21]
+
+\newbool{LWR@loadtitleps}
+\boolfalse{LWR@loadtitleps}
+
+\DeclareOption{pagestyles}{
+ \booltrue{LWR@loadtitleps}
+}
+
+\DeclareOption*{}
+
+\ProcessOptions\relax
+
+\ifbool{LWR@loadtitleps}{
+ \RequirePackage{lwarp-titleps}
+}{}
% \end{macrocode}
% \begin{noindmacro}{\titlelabel} \marg{label-format}
@@ -72221,16 +82349,18 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
% 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 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
% Redefine the footnote mark:
%
% \begin{macrocode}
-\def\@makefnmark{\textsuperscript{\@thefnmark}}
+ \def\@makefnmark{\textsuperscript{\@thefnmark}}%
% \end{macrocode}
%
% \begin{center}
@@ -72258,11 +82388,11 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
% 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 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
%
% Print the text:
% \begin{macrocode}
-##1%
-}% \@makefntext
+ ##1%
+ }% \@makefntext
}
% \end{macrocode}
% \end{macro}
@@ -72306,32 +82436,32 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
% \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@maketitlesetup
+ \LWR@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@stoppars\@thanks\LWR@startpars
+ \LWR@stoppars\@thanks\LWR@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 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
% \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 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
\let\LWRTODONOTES@orig@todototoc\todototoc
\renewcommand*{\todototoc}{%
-\phantomsection%
+\LWR@phantomsection%
\LWRTODONOTES@orig@todototoc%
}
@@ -73438,7 +83568,6 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
%
% \codehtml
%
-% Discard all options for \pkg{lwarp-transparent}:
% \begin{macrocode}
\LWR@ProvidesPackagePass{transparent}[2019/11/29]
% \end{macrocode}
@@ -73551,19 +83680,10 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
% 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@chapter@fix}{m m}{}}
% \end{macrocode}
-% \begin{macrocode}
-\end{warpHTML}
-% \end{macrocode}
-
% \subsection{Combining \cs{newfloat}, \cs{trivfloat}, and \pkg{algorithmicx}}
% \label{sec:combiningfloats}
@@ -73571,10 +83691,6 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
% \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 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
% \makeatletter
% \end{Verbatim}
-% \begin{macrocode}
-\end{warpall}
-% \end{macrocode}
% \iffalse
%</trivfloat>
@@ -73706,6 +83819,102 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
%
%
%
+%
+% \iffalse
+%<*txfonts>
+% \fi
+%
+% \part{lwarp-txfonts.sty}
+%
+% \section{txfonts}
+%
+% \credits{Young Ryu}
+%
+% \DescribePackage{txfonts}
+% \pkg{txfonts} is used as-is for \SVG\ math, and is
+% emulated for \brand{MathJax}.
+%
+% \changes{v0.89}{2020/08/10}{\pkg{txfonts}: Added.}
+%
+% \codehtml
+%
+% \begin{macrocode}
+\LWR@ProvidesPackagePass{txfonts}[2008/01/22]
+% \end{macrocode}
+%
+% For \brand{MathJax}:
+% \begin{macrocode}
+\LWR@origRequirePackage{lwarp-common-mathjax-letters}
+
+\begin{warpMathJax}
+\LWR@infoprocessingmathjax{txfonts}
+
+\LWR@mathjax@addgreek@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@ProvidesPackagePass{txgreeks}[2011/03/16]
+
+\LWR@infoprocessingmathjax{txgreeks}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\LWR@origRequirePackage{lwarp-common-mathjax-letters}
+
+\begin{warpMathJax}
+\iftgs@uplower% upright lowercase Greek
+ \LWR@mathjax@addgreek@l@up{}{}
+ \LWR@mathjax@addgreek@l@it{other}{}
+\else% italic lowercase Greek
+ \LWR@mathjax@addgreek@l@it{}{}
+ \LWR@mathjax@addgreek@l@up{other}{}
+\fi
+
+\iftgs@itupper % italic uppercase Greek
+ \LWR@mathjax@addgreek@u@it*{}{}
+ \LWR@mathjax@addgreek@u@up*{other}{}
+ \LWR@mathjax@addgreek@u@up*{var}{}
+\else% upright uppercase Greek
+ \LWR@mathjax@addgreek@u@up*{}{}
+ \LWR@mathjax@addgreek@u@it*{other}{}
+ \LWR@mathjax@addgreek@u@it*{var}{}
+\fi
+\end{warpMathJax}
+% \end{macrocode}
+%
+% \iffalse
+%</txgreeks>
+% \fi
+%
+%
+%
% \iffalse
%<*typearea>
% \fi
@@ -74016,11 +84225,53 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
% \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 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
% ^^A math-sans-serif-bold-italic | math-monospace | math-initial | math-tailed |
% ^^A math-looped | math-stretched
% \begin{macrocode}
+\LWR@origRequirePackage{lwarp-common-mathjax-letters}
+
\begin{warpMathJax}
\LWR@infoprocessingmathjax{unicode-math}
@@ -74050,17 +84303,18 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
\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,30 +84322,47 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
\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}
\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 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
% \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@mathjax@addgreek@u@up*{}{}}
+ {\LWR@mathjax@addgreek@u@it*{}{}}
+
+\bool_if:NTF \g__um_upgreek_bool
+ {\LWR@mathjax@addgreek@l@up{}{}}
+ {\LWR@mathjax@addgreek@l@it{}{}}
+}
+
+\LWR@mathjax@addgreek@u@up*{up}{}
+\LWR@mathjax@addgreek@u@it*{it}{}
+\LWR@mathjax@addgreek@l@up{up}{}
+\LWR@mathjax@addgreek@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 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
\LWR@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,6 +84641,49 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
%
%
%
+%
+% \iffalse
+%<*upgreek>
+% \fi
+%
+% \part{lwarp-upgreek.sty}
+%
+% \section{upgreek}
+%
+% \credits{Walter Schmidt}
+%
+% \DescribePackage{upgreek}
+% \pkg{upgreek} is used as-is for \SVG\ math, and is
+% emulated for \brand{MathJax}.
+%
+% \changes{v0.89}{2020/08/10}{\pkg{upgreek}: Added.}
+%
+% \codehtml
+%
+% \begin{macrocode}
+\LWR@ProvidesPackagePass{upgreek}[2003/02/12]
+% \end{macrocode}
+%
+% For \brand{MathJax}:
+% \begin{macrocode}
+\LWR@origRequirePackage{lwarp-common-mathjax-letters}
+
+\begin{warpMathJax}
+\LWR@infoprocessingmathjax{upgreek}
+
+\LWR@mathjax@addgreek@l@up{up}{}
+\LWR@mathjax@addgreek@u@up{Up}{}
+
+\end{warpMathJax}
+% \end{macrocode}
+%
+% \iffalse
+%</upgreek>
+% \fi
+%
+%
+%
+%
% \iffalse
%<*upref>
% \fi
@@ -74292,11 +84727,12 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
%
% \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@url@orig@url\url
+\LetLtxMacro\LWR@url@orig@url\LWR@url
\LWR@ProvidesPackagePass{url}[2013/09/16]
% \end{macrocode}
@@ -74310,9 +84746,10 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
% ^^A \LWR@url@origUrl@FormatString%
%
% \begin{macrocode}
-\renewcommand*{\Url@FormatString}{%
+\newcommand*{\LWR@HTML@Url@FormatString}{%
\expandafter\LWR@url@orig@url\expandafter{\Url@String}%
}
+\LWR@formatted{Url@FormatString}
% \end{macrocode}
%
% \iffalse
@@ -74321,6 +84758,47 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
%
%
%
+%
+%
+% \iffalse
+%<*ushort>
+% \fi
+%
+% \part{lwarp-ushort.sty}
+%
+% \section{ushort}
+%
+% \credits{Martin V\"ath}
+%
+% \DescribePackage{ushort}
+% \pkg{ushort} is used as-is, and emulated for \brand{MathJax}.
+%
+% \changes{v0.88}{2020/07/23}{\pkg{ushort}: Added.}
+%
+% \codehtml
+%
+% \begin{macrocode}
+\LWR@ProvidesPackagePass{ushort}[2001/06/13]
+% \end{macrocode}
+%
+% \begin{macrocode}
+\begin{warpMathJax}
+\CustomizeMathJax{\newcommand{\ushortdline}[1]{%
+ \kern{.1em}\underline{\underline{{#1}}}\kern{.1em}%
+}}
+\CustomizeMathJax{\newcommand{\ushort}[1]{\kern{.1em}\underline{#1}\kern{.1em}}}
+\CustomizeMathJax{\newcommand{\ushortd}[1]{\ushortdline{#1}}}
+\CustomizeMathJax{\newcommand{\ushortw}[1]{\kern{.1em}\underline{#1}\kern{.1em}}}
+\CustomizeMathJax{\newcommand{\ushortdw}[1]{\ushortdline{#1}}}
+\end{warpMathJax}
+% \end{macrocode}
+%
+% \iffalse
+%</ushort>
+% \fi
+%
+%
+%
% \iffalse
%<*uspace>
% \fi
@@ -74348,6 +84826,44 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
%
%
% \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@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 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
% \begin{macrocode}
\LWR@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 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
\setlength{\leftmargini}{\HTMLleftmargini}
}{}
\LWR@forcenewpage
-\LWR@atbeginverbatim{3}{verse}%
+\LWR@atbeginverbatim{verse}%
}
% \end{macrocode}
% After the end of the \env{verse} environment, which places the \element{pre} tag at the
@@ -74411,7 +84928,7 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
% \begin{macrocode}
\AtEndEnvironment{verse}{%
\leavevmode%
-\LWR@afterendverbatim{1}%
+\LWR@afterendverbatim%
}
% \end{macrocode}
% Patch to place poemtitle inside an \HTML\ \element{span} of class |poemtitle|:
@@ -74971,8 +85488,6 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
% \end{macrocode}
%
% \begin{macrocode}
-\begin{warpHTML}
-\makeatletter
\ifbool{mathjax}{
% For the hidden print version in the HTML:
\newcommand{\Arrow}[2][]{}
@@ -75029,8 +85544,6 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
}
\AfterEndEnvironment{DispWithArrows*}{\end{lateximage}\end{BlockClass}}
}
-\makeatother
-\end{warpHTML}
\begin{warpMathJax}
\CustomizeMathJax{\newenvironment{WithArrows}[1][]{\begin{aligned}}{\end{aligned}}}
@@ -75100,37 +85613,37 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
\NewDocumentEnvironment{wrapfigure}{o m o m}
{%
-\begin{LWR@setvirtualpage}*%
-\LWR@subwrapfigure{#2}{#4}%
-\captionsetup{type=figure}%
+ \begin{LWR@setvirtualpage}*%
+ \LWR@subwrapfigure{#2}{#4}%
+ \renewcommand*{\@captype}{figure}%
}
{%
-\endLWR@BlockClassWP%
-\end{LWR@setvirtualpage}%
+ \endLWR@BlockClassWP%
+ \end{LWR@setvirtualpage}%
}
\NewDocumentEnvironment{wraptable}{o m o m}
{%
-\begin{LWR@setvirtualpage}*%
-\LWR@subwrapfigure{#2}{#4}%
-\captionsetup{type=table}%
+ \begin{LWR@setvirtualpage}*%
+ \LWR@subwrapfigure{#2}{#4}%
+ \renewcommand*{\@captype}{table}%
}
{%
-\endLWR@BlockClassWP%
-\end{LWR@setvirtualpage}%
+ \endLWR@BlockClassWP%
+ \end{LWR@setvirtualpage}%
}
\NewDocumentEnvironment{wrapfloat}{m o m o m}
{%
-\begin{LWR@setvirtualpage}*%
-\LWR@subwrapfigure{#3}{#5}%
-\captionsetup{type=#1}%
+ \begin{LWR@setvirtualpage}*%
+ \LWR@subwrapfigure{#3}{#5}%
+ \renewcommand*{\@captype}{#1}%
}
{%
-\endLWR@BlockClassWP%
-\end{LWR@setvirtualpage}%
+ \endLWR@BlockClassWP%
+ \end{LWR@setvirtualpage}%
}
\newlength{\wrapoverhang}
@@ -75328,9 +85841,6 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
\LWR@ProvidesPackagePass{xcolor}[2016/05/11]
% \end{macrocode}
-% \begin{macrocode}
-\begin{warpHTML}
-% \end{macrocode}
%
%
% \subsection{Remembering and restoring original definitions}
@@ -75355,7 +85865,7 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
% \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@HTML@normalcolor}{\color{black}}%
@@ -75397,7 +85907,7 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
% \begin{macrocode}
\DeclareDocumentCommand{\LWR@textcurrentcolor}{m}{%
\begingroup%
-\LWR@FBcancel%
+\LWR@hook@processingtags%
\LWR@findcurrenttextcolor%
\InlineClass[color:\LWR@origpound\LWR@tempcolor]{textcolor}{%
\renewcommand*{\LWR@currenttextcolor}{\LWR@origpound\LWR@tempcolor}%
@@ -75409,9 +85919,9 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
% \end{macro}
%
%
-% \begin{noindmacro}{\LWR@colorstyle} \marg{2: model} \marg{3: color}
+% \begin{noindmacro}{\LWR@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@colorstyle}.}
%
% For a color style, prints the color converted to \HTML\ colors.
@@ -75419,7 +85929,7 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
% \begin{macrocode}
\NewDocumentCommand{\LWR@colorstyle}{m m}{%
\begingroup%
-\LWR@FBcancel%
+\LWR@hook@processingtags%
% \end{macrocode}
% Use the \pkg{xcolor} package to convert to an \HTML\ color space:
% \begin{macrocode}
@@ -75440,11 +85950,11 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
% 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@backgroundcolor}.}
% \begin{macrocode}
\NewDocumentCommand{\LWR@backgroundcolor}{O{named} m m}{%
\begingroup%
-\LWR@FBcancel%
+\LWR@hook@processingtags%
\InlineClass[background:\LWR@colorstyle{#1}{#2}]{backgroundcolor}{%
#3%
}%
@@ -75481,7 +85991,7 @@ padding:\LWR@printlength{\fboxsep}%
% 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@HTML@color}{o m}{%
\IfValueTF{#1}{%
@@ -75507,9 +86017,11 @@ padding:\LWR@printlength{\fboxsep}%
%
% \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@HTML@textcolor}{o m m}{%
\begingroup%
+\LWR@hook@processingtags%
\IfValueTF{#1}{%
\color[#1]{#2}%
}{%
@@ -75553,7 +86065,7 @@ padding:\LWR@printlength{\fboxsep}%
% \begin{macrocode}
\NewDocumentCommand{\LWR@HTML@colorbox}{O{named} m +m}{%
\begingroup%
-\LWR@FBcancel%
+\LWR@hook@processingtags%
\InlineClass[%
background:\LWR@colorstyle{#1}{#2} ; %
padding:\LWR@printlength{\fboxsep}%
@@ -75562,7 +86074,7 @@ padding:\LWR@printlength{\fboxsep}%
}
\AtBeginDocument{
-\LWR@formatted{colorbox}
+ \LWR@formatted{colorbox}
}
% \end{macrocode}
% \end{macro}
@@ -75576,9 +86088,9 @@ padding:\LWR@printlength{\fboxsep}%
% \begin{macrocode}
\NewDocumentCommand{\LWR@HTML@colorboxBlock}{O{named} m +m}{%
\begingroup%
-\LWR@FBcancel%
+\LWR@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@stoppars%
% \end{macrocode}
@@ -75593,13 +86105,13 @@ padding:\LWR@printlength{\fboxsep}%
% \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@minipagethispar}%
}
\AtBeginDocument{
-\LWR@formatted{colorboxBlock}
+ \LWR@formatted{colorboxBlock}
}
% \end{macrocode}
% \end{macro}
@@ -75613,11 +86125,12 @@ padding:\LWR@printlength{\fboxsep}%
% 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@HTML@fcolorbox}{O{named} m O{named} m +m}{%
+\NewDocumentCommand{\LWR@HTML@fcolorbox}{O{named} m O{#1} m +m}{%
\LWR@traceinfo{HTML fcolorbox #2 #4}%
\begingroup%
-\LWR@FBcancel%
+\LWR@hook@processingtags%
\LWR@forceminwidth{\fboxrule}%
\ifthenelse{\equal{#4}{none}}%
{% no background color
@@ -75635,7 +86148,7 @@ padding:\LWR@printlength{\fboxsep}%
}
\AtBeginDocument{
-\LWR@formatted{fcolorbox}
+ \LWR@formatted{fcolorbox}
}
% \end{macrocode}
% \end{macro}
@@ -75648,14 +86161,15 @@ padding:\LWR@printlength{\fboxsep}%
%
% 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@HTML@fcolorboxBlock}{O{named} m O{named} m +m}{%
+\NewDocumentCommand{\LWR@HTML@fcolorboxBlock}{O{named} m O{#1} m +m}{%
\LWR@traceinfo{HTML fcolorboxBlock #2 #4}%
\begingroup%
-\LWR@FBcancel%
+\LWR@hook@processingtags%
\LWR@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@stoppars%
% \end{macrocode}
@@ -75681,14 +86195,14 @@ padding:\LWR@printlength{\fboxsep}%
% \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@minipagethispar}%
\LWR@traceinfo{HTML fcolorboxBlock done}%
}
\AtBeginDocument{
-\LWR@formatted{fcolorboxBlock}
+ \LWR@formatted{fcolorboxBlock}
}
% \end{macrocode}
% \end{macro}
@@ -75699,14 +86213,14 @@ padding:\LWR@printlength{\fboxsep}%
%
% 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@subfcolorminipage}.}
%
% \begin{noindmacro}{\LWR@subfcolorminipage}
% \marg{framemodel} \marg{framecolor} \marg{background tag} \marg{height}
% \begin{macrocode}
\NewDocumentCommand{\LWR@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@stoppars%
% \end{macrocode}
@@ -75726,10 +86240,11 @@ width:\LWR@printlength{\LWR@tempwidth}%
% \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@HTML@fcolorminipage}{O{named} m O{named} m O{c} o o m}
+\NewDocumentEnvironment{LWR@HTML@fcolorminipage}{O{named} m O{#1} m O{c} o o m}
{%
-\LWR@FBcancel%
+\LWR@hook@processingtags%
\setlength{\LWR@tempwidth}{#8}%
\IfValueT{#6}{\setlength{\LWR@tempheight}{#6}}%
\LWR@forceminwidth{\fboxrule}%
@@ -75748,7 +86263,7 @@ width:\LWR@printlength{\LWR@tempwidth}%
% \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@minipagethispar}%
}
@@ -75871,11 +86386,7 @@ height:\LWR@printlength{\LWR@tempheight}%
}
% \end{macrocode}
% \end{noindmacro}
-
%
-% \begin{macrocode}
-\end{warpHTML}
-% \end{macrocode}
%
% \iffalse
%</xcolor>
@@ -76013,6 +86524,42 @@ height:\LWR@printlength{\LWR@tempheight}%
%
%
% \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@ProvidesPackagePass{xevlna}[2016/09/05]
+% \end{macrocode}
+%
+% \begin{macrocode}
+\def\ProcessCSpreposition{\ifx\next\xevlnaXeTeXspace\HTMLentity{nbsp}\fi}
+
+\appto{\LWR@hook@processingtags}{\xevlnaDisable}%
+% \end{macrocode}
+%
+% \iffalse
+%</xevlna>
+% \fi
+%
+%
+%
+%
+% \iffalse
%<*xfakebold>
% \fi
%
@@ -76026,26 +86573,29 @@ height:\LWR@printlength{\LWR@tempheight}%
% \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@ProvidesPackagePass{xfakebold}[2018/07/25]
+\LWR@ProvidesPackagePass{xfakebold}[2020/06/24]
% \end{macrocode}
%
% \begin{macrocode}
-\let\LWR@orig@setBold\setBold
-\let\LWR@orig@unsetBold\unsetBold
-\renewcommand*{\setBold}{\booltrue{LWR@xfakebold}}
-\renewcommand*{\unsetBold}{\boolfalse{LWR@xfakebold}}
+\newcommand*{\LWR@HTML@setBold}{\booltrue{LWR@xfakebold}}
+\LWR@formatted{setBold}
+
+\newcommand*{\LWR@HTML@unsetBold}{\boolfalse{LWR@xfakebold}}
+\LWR@formatted{unsetBold}
\renewcommand*{\LWR@applyxfakebold}{%
- \ifbool{LWR@xfakebold}{\LWR@orig@setBold}{\LWR@orig@unsetBold}%
+ \ifbool{LWR@xfakebold}{\LWR@print@setBold}{\LWR@print@unsetBold}%
}
% \end{macrocode}
%
@@ -76109,11 +86659,6 @@ height:\LWR@printlength{\LWR@tempheight}%
% 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.}
@@ -76124,16 +86669,6 @@ height:\LWR@printlength{\LWR@tempheight}%
% \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 @@ height:\LWR@printlength{\LWR@tempheight}%
\end{warpMathJax}
% \end{macrocode}
-% \begin{macrocode}
-\end{warpHTML}
-% \end{macrocode}
%
% \iffalse
%</xfrac>
@@ -76520,8 +87052,12 @@ height:\LWR@printlength{\LWR@tempheight}%
%
% 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@disablepinyin}{\disablepinyin}
+
+\FilenameNullify{\LWR@disablepinyin}
% \end{macrocode}
%
% \iffalse
@@ -77132,16 +87668,23 @@ height:\LWR@printlength{\LWR@tempheight}%
}
% \end{macrocode}
%
+% Do not use \cs{chaptername}:
+% \begin{macrocode}
+\renewcommand*{\LWR@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
\LetLtxMacro\captionofbelow\captionof
\LetLtxMacro\captionofabove\captionof
}
+}
\RenewDocumentEnvironment{captionbeside}{o m o o o s}
{}
@@ -77247,12 +87790,12 @@ height:\LWR@printlength{\LWR@tempheight}%
\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 @@ height:\LWR@printlength{\LWR@tempheight}%
% \end{macrocode}
%
%
-% \subsection{Preliminary setup}
+% \subsection{Label handling}
+%
+% Insert the \pkg{lwarp} label mechanism into the \pkg{memoir} package mechanism:
+%
+% \begin{itemize}
+% \item \cs{@mem@old@label} is the \LaTeX\ definition of \cs{label}.
+% \item \cs{LWR@orig@label} adds the \pkg{memoir} definition.
+% \item \pkg{lwarp}'s \cs{LWR@new@label} uses \cs{LWR@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@old@label} becomes \cs{LWR@new@label}.
+% \item \cs{LWR@orig@label} becomes \cs{@mem@old@label}.
+% \end{itemize}
+% \item \pkg{cleveref} then encapsulates all the above.
+% \item For a subcaption, \pkg{cleveref} modifies \pkg{memoir}'s \cs{sf@memsub@label}.
+% \end{itemize}
+% \changes{v0.84}{2020/04/05}{\pkg{lwarp-patch-memoir}: Fix: \cs{label}.}
+% \begin{macrocode}
+\let\LWR@orig@label\@mem@old@label
+\let\@mem@old@label\LWR@new@label
+% \end{macrocode}
%
-% Bypass the \pkg{memoir} package mechanism:
+% Patches for subfloats to support additional \pkg{lwarp} labels:
% \begin{macrocode}
-\LetLtxMacro\LWR@orig@label\@mem@old@label
+\AtBeginDocument{
+ \renewcommand*{\sf@@memsub@label}[1]{%
+ \@bsphack
+ \sf@@memsub@label@hook{#1}%
+ \@memoldlabel{#1}%
+ \LWR@label@createtag{sub@#1}%
+ \protected@write\@auxout{}{%
+ \string\newlabel{sub@#1}%
+ {{\@nameuse{@@thesub\@captype}}%
+ {\thepage}}}%
+ \LWR@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 @@ height:\LWR@printlength{\LWR@tempheight}%
\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 @@ height:\LWR@printlength{\LWR@tempheight}%
\renewcommand\titlingpageend[2]{}
% \end{macrocode}
%
+%
% \subsection{Abstracts}
% \begin{macrocode}
+% \newlength{\absindent}
+% \newlength{\absparsep}
\renewcommand*{\abstractcol}{}
\renewcommand*{\abstractintoc}{}
\renewcommand*{\abstractnum}{}
@@ -77722,10 +88303,15 @@ height:\LWR@printlength{\LWR@tempheight}%
\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 @@ height:\LWR@printlength{\LWR@tempheight}%
\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@floatbegin{#1}[#2]
+ \normalsize
+ \@nameuse{#1adjustment}%
+ \LWR@futurenonspacelet\LWR@mynexttoken\LWR@floatalignment%
+}
+\def\@xdblfloat #1[#2]{%
+ \LWR@floatbegin{#1}[#2]
+ \normalsize
+ \@nameuse{#1adjustment}%
+ \LWR@futurenonspacelet\LWR@mynexttoken\LWR@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@tempone{#4}%
+ \def\LWR@temptwo{\@nameuse{#2name}}%
+ \ifdefequal{\LWR@tempone}{\LWR@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 @@ height:\LWR@printlength{\LWR@tempheight}%
\NewDocumentEnvironment{KFLTmemoir@marginfloat}{O{-1.2ex} m}
{% start
\LWR@BlockClassWP{float:right; width:2in; margin:10pt}{}{marginblock}%
- \captionsetup{type=#2}%
+ \renewcommand*{\@captype}{#2}%
}
{%
\endLWR@BlockClassWP%
@@ -78118,24 +88740,28 @@ height:\LWR@printlength{\LWR@tempheight}%
\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}{}
\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 @@ height:\LWR@printlength{\LWR@tempheight}%
% \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 @@ height:\LWR@printlength{\LWR@tempheight}%
\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 @@ height:\LWR@printlength{\LWR@tempheight}%
}
% \end{macrocode}
%
-% \subsection{Page notes}
+% \subsection{Footnotes and page notes}
%
% \begin{macrocode}
\renewcommand*{\feetabovefloat}{}
@@ -78216,7 +88852,7 @@ height:\LWR@printlength{\LWR@tempheight}%
\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 @@ height:\LWR@printlength{\LWR@tempheight}%
\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 @@ height:\LWR@printlength{\LWR@tempheight}%
\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@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@m@wrpnote}
+ {\string\startnoteentry{\thepagenote}}
+ {\string\startnoteentry{{\thepagenote}{\arabic{pagenote}}}}
+ {}
+ {\LWR@patcherror{memoir}{m@m@wrpnote}}
+
+\renewcommand\startnoteentrystart[4]{%
+ \prenoteinnotes%
+ \noteidinnotes{\@firstoftwo#1}{#2}%
+ \@ifmtarg{#2}{%
+% \phantomsection\def\@currentlabel{#1}% original
+ \def\@currentlabel{\@firstoftwo#1}% lwarp
+ \def\cref@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 @@ height:\LWR@printlength{\LWR@tempheight}%
\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 @@ height:\LWR@printlength{\LWR@tempheight}%
% \subsection{Back matter}
% \label{sec:memoirbackmatter}
%
+% \begin{noindmacro}{\@@wrindexhyp}
% Redefined to write the |LWR@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 @@ height:\LWR@printlength{\LWR@tempheight}%
\def\@@wrindexhyp#1||\\{%
\addtocounter{LWR@autoindex}{1}%
- \LWR@new@label{LWRindex-\arabic{LWR@autoindex}}%
+ \label{LWRindex-\arabic{LWR@autoindex}}%
% \ifshowindexmark\@showidx{#1}\fi
\protected@write\@auxout{}%
% {\string\@@wrindexm@m{\@idxfile}{#1}{\thepage}}%
@@ -78444,7 +89122,9 @@ height:\LWR@printlength{\LWR@tempheight}%
\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 @@ height:\LWR@printlength{\LWR@tempheight}%
% \begin{macrocode}
\def\@@wrspindexhyp#1||\\{%
\addtocounter{LWR@autoindex}{1}%
- \LWR@new@label{LWRindex-\arabic{LWR@autoindex}}%
+ \label{LWRindex-\arabic{LWR@autoindex}}%
% \ifshowindexmark\@showidx{#1}\fi
\protected@write\@auxout{}%
% {\string\@@wrindexm@m{\@idxfile}{#1}{\@nameuse{the\@sptheidx}}}%
@@ -78464,8 +89144,10 @@ height:\LWR@printlength{\LWR@tempheight}%
}% \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 @@ height:\LWR@printlength{\LWR@tempheight}%
\@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 @@ height:\LWR@printlength{\LWR@tempheight}%
\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 @@ height:\LWR@printlength{\LWR@tempheight}%
\renewcommand{\printindex}[1][\BaseJobname]{\@input@{#1_html.ind}}
\catcode`\_=8%
% \end{macrocode}
+% \end{noindmacro}
%
% \begin{macrocode}
\DeclareDocumentCommand{\newblock}{}{}
@@ -78606,7 +89293,13 @@ height:\LWR@printlength{\LWR@tempheight}%
\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,50 +89336,103 @@ height:\LWR@printlength{\LWR@tempheight}%
\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@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@label
+ \@contset
+ % \refstepcounter{sub\@captype}\@contkeep%
+% \leavevmode% lwarp
+ \@ifnextchar [%
+ {\@memsubfig}%
+ {\@memsubfig[\@empty]}}
+
+
+\long\def\@memsubfloat#1[#2][#3]#4{%
+% \@tempcnta=\@ne
+% \if@tightsubcap
+% \if@minipage
+% \@tempcnta=\z@
+% \else
+% \ifdim\lastskip=\z@
+% \@tempcnta=\@ne
+% \else
+% \@tempcnta=\tw@
+% \fi
+% \fi
+% \fi
+% \if@contbotsub
+% \def\subfig@top{\subfloattopskip}%
+% \def\subfig@bottom{\subfloatbottomskip}%
+% \else
+% \def\subfig@top{\subfloatbottomskip}%
+% \def\subfig@bottom{\subfloattopskip}%
+% \fi
+% \setbox\@tempboxa \hbox{#4}%
+% \@tempdima=\wd\@tempboxa
+% \vbox
+ \bgroup%
+ \mem@step@subcounter%
+% \vbox
+ \LWR@stoppars%
+ \minipagefullwidth% lwarp
+ \begin{minipage}{\linewidth}% lwarp
+ \bgroup
+% \ifcase\@tempcnta
+% \@minipagefalse
+% \or
+% \vspace{\subfig@top}
+% \or
+% \ifdim \lastskip=\z@ \else
+% \@tempskipb\subfig@top\@xaddvskip
+% \fi
+% \fi
+ \if@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@bottom}
+ \end{minipage}% lwarp
+ \LWR@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}
@@ -78702,6 +89448,8 @@ height:\LWR@printlength{\LWR@tempheight}%
% \fi
%
%
+%
+%
% \addtocontents{toc}{\protect\setcounter{tocdepth}{0}}
%
%
@@ -78822,7 +89570,7 @@ height:\LWR@printlength{\LWR@tempheight}%
% \changes{v0.78}{2019/11/07}{\pkg{lwarp-common-multimedia}: Fix links with new LaTeX kernel.}
% \begin{macrocode}
\LWR@startpars
- \href{\LWR@parsedfilename}{#1}
+ \LWR@href{\LWR@parsedfilename}{#1}
\LWR@stoppars
% \end{macrocode}
% Finish.
@@ -78831,8 +89579,8 @@ height:\LWR@printlength{\LWR@tempheight}%
\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 @@ height:\LWR@printlength{\LWR@tempheight}%
% The poster text inside paragraph tags, along with a reference to the \URL.
% \begin{macrocode}
\LWR@startpars
- \href{#2}{#1}
+ \LWR@href{#2}{#1}
\LWR@stoppars
% \end{macrocode}
% Finish.
@@ -78938,11 +89686,13 @@ height:\LWR@printlength{\LWR@tempheight}%
\newcommand*{\LWR@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 @@ height:\LWR@printlength{\LWR@tempheight}%
% \end{macrocode}
% If unknown, create a link to it.
% \begin{macrocode}
- \href{#3}{#2}% unknown format
+ \LWR@href{#3}{#2}% unknown format
}}}}}}}}%
% \end{macrocode}
% Paragraph handling:
@@ -79018,6 +89768,1046 @@ height:\LWR@printlength{\LWR@tempheight}%
% \fi
%
%
+%
+% ^^A *common-mathjax-letters
+% ^^A *letters
+%
+% \iffalse
+%<*common-mathjax-letters>
+% \fi
+%
+% \part{lwarp-common-mathjax-letters.sty}
+%
+% \section{common-mathjax-letters}
+%
+% \DescribePackage{lwarp-common-mathjax-letters}
+% Common code used by a number of packages to generate Greek math characters
+% for \brand{MathJax}.
+%
+% \changes{v0.89}{2020/08/10}{\pkg{lwarp-common-mathjax-letters}: Added.}
+% \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@mathjax@addletter}
+% * \marg{2: capitalize name?} \marg{3: prefix} \marg{4: postfix}
+% \marg{5: name} \marg{6: unicode}
+%
+% Star to italicize the result, used when the unicode character does not exist.
+% \begin{macrocode}
+\begin{warpMathJax}
+
+\NewDocumentCommand{\LWR@mathjax@addletter}{s m m m m m}{
+ \IfBooleanTF{#2}%
+ {\edef\LWR@tempone{\LWRtexttitlecase{#5}}}%
+ {\edef\LWR@tempone{#5}}%
+ \xdef\LWR@customizedMathJax{%
+ \LWR@customizedMathJax%
+ \LWRbackslash(%
+ \LWRbackslash def\LWRbackslash%
+ #3% prefix
+ \LWR@tempone%name
+ #4% postfix
+ \LWRleftbrace%
+ }%
+ \IfBooleanTF{#1}{%
+ \xdef\LWR@customizedMathJax{%
+ \LWR@customizedMathJax%
+ \LWRbackslash mathit\LWRleftbrace%
+ \LWRbackslash unicode\LWRleftbrace x#6\LWRrightbrace%
+ \LWRrightbrace%
+ }%
+ }{%
+ \xdef\LWR@customizedMathJax{%
+ \LWR@customizedMathJax%
+ \LWRbackslash unicode\LWRleftbrace x#6\LWRrightbrace%
+ }%
+ }%
+ \xdef\LWR@customizedMathJax{%
+ \LWR@customizedMathJax%
+ \LWRrightbrace\LWRbackslash)\par%
+ }%
+}
+% \end{macrocode}
+% \end{noindmacro}
+%
+%
+% \begin{noindmacro}{\LWR@mathjax@addgreek@l@up}
+% * \marg{2: prefix} \marg{3: postfix}
+%
+% Star to capitalize the macro names.
+%
+% Adds \cs{CustomizeMathjax} expressions to define a set of macros for
+% Greek letters, lowercase upright.
+% \begin{macrocode}
+\NewDocumentCommand{\LWR@mathjax@addgreek@l@up}{s m m}{
+ \LWR@mathjax@addletter{#1}{#2}{#3}{alpha}{03B1}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{beta}{03B2}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{varbeta}{03D0}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{gamma}{03B3}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{digamma}{03DD}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{delta}{03B4}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{epsilon}{03F5}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{varepsilon}{03B5}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{zeta}{03B6}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{eta}{03B7}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{theta}{03B8}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{vartheta}{03D1}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{iota}{03B9}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{kappa}{03BA}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{varkappa}{03F0}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{lambda}{03BB}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{mu}{03BC}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{nu}{03BD}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{xi}{03BE}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{omicron}{03BF}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{pi}{03C0}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{varpi}{03D6}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{rho}{03C1}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{varrho}{03F1}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{sigma}{03C3}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{varsigma}{03C2}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{tau}{03C4}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{upsilon}{03C5}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{phi}{03D5}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{varphi}{03C6}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{chi}{03C7}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{psi}{03C8}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{omega}{03C9}
+}
+% \end{macrocode}
+% \end{noindmacro}
+%
+%
+% \begin{noindmacro}{\LWR@mathjax@addgreek@u@up}
+% * \marg{2: prefix} \marg{3: postfix}
+%
+% Star to capitalize the macro names.
+%
+% Adds \cs{CustomizeMathjax} expressions to define a set of macros for
+% Greek letters, uppercase upright.
+% \begin{macrocode}
+\NewDocumentCommand{\LWR@mathjax@addgreek@u@up}{s m m}{
+ \LWR@mathjax@addletter{#1}{#2}{#3}{alpha}{0391}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{beta}{0392}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{gamma}{0393}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{digamma}{03DC}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{delta}{0394}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{epsilon}{0395}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{zeta}{0396}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{eta}{0397}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{theta}{0398}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{vartheta}{03F4}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{iota}{0399}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{kappa}{039A}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{lambda}{039B}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{mu}{039C}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{nu}{039D}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{xi}{039E}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{omicron}{039F}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{pi}{03A0}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{varpi}{03D6}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{rho}{03A1}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{sigma}{03A3}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{tau}{03A4}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{upsilon}{03A5}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{phi}{03A6}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{chi}{03A7}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{psi}{03A8}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{omega}{03A9}
+}
+% \end{macrocode}
+% \end{noindmacro}
+%
+%
+% \begin{noindmacro}{\LWR@mathjax@addgreek@l@it}
+% * \marg{2: prefix} \marg{3: postfix}
+%
+% Star to capitalize the macro names.
+%
+% Adds \cs{CustomizeMathjax} expressions to define a set of macros for
+% Greek letters, lowercase italic.
+%
+% \begin{macrocode}
+\NewDocumentCommand{\LWR@mathjax@addgreek@l@it}{s m m}{
+ \LWR@mathjax@addletter{#1}{#2}{#3}{alpha}{1D6FC}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{beta}{1D6FD}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{varbeta}{03D0}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{gamma}{1D6FE}
+ \LWR@mathjax@addletter*{#1}{#2}{#3}{digamma}{03DD}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{delta}{1D6FF}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{epsilon}{1D716}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{varepsilon}{1D700}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{zeta}{1D701}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{eta}{1D702}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{theta}{1D703}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{vartheta}{1D717}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{iota}{1D704}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{kappa}{1D705}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{varkappa}{1D718}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{lambda}{1D706}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{mu}{1D707}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{nu}{1D708}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{xi}{1D709}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{omicron}{1D70A}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{pi}{1D70B}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{varpi}{1D71B}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{rho}{1D70C}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{varrho}{1D71A}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{sigma}{1D70E}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{varsigma}{1D70D}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{tau}{1D70F}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{upsilon}{1D710}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{phi}{1D719}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{varphi}{1D711}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{chi}{1D712}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{psi}{1D713}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{omega}{1D714}
+}
+% \end{macrocode}
+% \end{noindmacro}
+%
+%
+% \begin{noindmacro}{\LWR@mathjax@addgreek@u@it}
+% * \marg{2: prefix} \marg{3: postfix}
+%
+% Star to capitalize the macro names.
+%
+% Adds \cs{CustomizeMathjax} expressions to define a set of macros for
+% Greek letters, uppercase italic.
+% \begin{macrocode}
+\NewDocumentCommand{\LWR@mathjax@addgreek@u@it}{s m m}{
+ \LWR@mathjax@addletter{#1}{#2}{#3}{alpha}{1D6E2}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{beta}{1D6E3}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{gamma}{1D6E4}
+ \LWR@mathjax@addletter*{#1}{#2}{#3}{digamma}{03DC}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{delta}{1D6E5}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{epsilon}{1D6E6}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{zeta}{1D6E7}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{eta}{1D6E8}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{theta}{1D6E9}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{vartheta}{1D6F3}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{iota}{1D6EA}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{kappa}{1D6EB}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{lambda}{1D6EC}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{mu}{1D6ED}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{nu}{1D6EE}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{xi}{1D6EF}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{omicron}{1D6F0}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{pi}{1D6F1}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{rho}{1D6F2}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{sigma}{1D6F4}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{tau}{1D6F5}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{upsilon}{1D6F6}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{phi}{1D6F7}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{chi}{1D6F8}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{psi}{1D6F9}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{omega}{1D6FA}
+}
+% \end{macrocode}
+% \end{noindmacro}
+%
+%
+% \begin{noindmacro}{\LWR@mathjax@addgreek@l@bfit}
+% * \marg{2: prefix} \marg{3: postfix}
+%
+% Star to capitalize the macro names.
+%
+% Adds \cs{CustomizeMathjax} expressions to define a set of macros for
+% Greek letters, lowercase boldface italic.
+%
+% \begin{macrocode}
+\NewDocumentCommand{\LWR@mathjax@addgreek@l@bfit}{s m m}{
+ \LWR@mathjax@addletter{#1}{#2}{#3}{alpha}{1D736}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{beta}{1D737}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{varbeta}{03D0}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{gamma}{1D738}
+ \LWR@mathjax@addletter*{#1}{#2}{#3}{digamma}{03DD}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{delta}{1D739}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{epsilon}{1D750}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{varepsilon}{1D73A}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{zeta}{1D73B}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{eta}{1D73C}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{theta}{1D73D}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{vartheta}{1D751}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{iota}{1D73E}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{kappa}{1D73F}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{varkappa}{1D752}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{lambda}{1D740}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{mu}{1D741}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{nu}{1D742}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{xi}{1D743}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{omicron}{1D744}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{pi}{1D745}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{varpi}{1D755}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{rho}{1D746}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{varrho}{1D754}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{sigma}{1D748}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{varsigma}{1D747}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{tau}{1D749}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{upsilon}{1D74A}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{phi}{1D753}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{varphi}{1D74B}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{chi}{1D74C}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{psi}{1D74D}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{omega}{1D74E}
+}
+% \end{macrocode}
+% \end{noindmacro}
+%
+%
+% \begin{noindmacro}{\LWR@mathjax@addgreek@u@bfit}
+% * \marg{2: prefix} \marg{3: postfix}
+%
+% Star to capitalize the macro names.
+%
+% Adds \cs{CustomizeMathjax} expressions to define a set of macros for
+% Greek letters, uppercase boldface italic.
+% \begin{macrocode}
+\NewDocumentCommand{\LWR@mathjax@addgreek@u@bfit}{s m m}{
+ \LWR@mathjax@addletter{#1}{#2}{#3}{alpha}{1D71C}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{beta}{1D71D}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{gamma}{1D71E}
+ \LWR@mathjax@addletter*{#1}{#2}{#3}{digamma}{03DC}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{delta}{1D71F}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{epsilon}{1D720}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{zeta}{1D721}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{eta}{1D722}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{theta}{1D723}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{vartheta}{1D72D}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{iota}{1D724}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{kappa}{1D725}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{lambda}{1D726}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{mu}{1D727}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{nu}{1D728}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{xi}{1D729}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{omicron}{1D72A}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{pi}{1D72B}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{rho}{1D72C}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{sigma}{1D72E}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{tau}{1D72F}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{upsilon}{1D730}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{phi}{1D731}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{chi}{1D732}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{psi}{1D733}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{omega}{1D734}
+}
+% \end{macrocode}
+% \end{noindmacro}
+%
+% \cs{LWR@mathjax@addgreek@u@bfup} is not needed.
+%
+% \begin{noindmacro}{\LWR@mathjax@addgreek@u@bfup}
+% * \marg{2: prefix} \marg{3: postfix}
+%
+% Star to capitalize the macro names.
+%
+% Adds \cs{CustomizeMathjax} expressions to define a set of macros for
+% Greek letters, uppercase boldface upright.
+% \begin{macrocode}
+\NewDocumentCommand{\LWR@mathjax@addgreek@u@bfup}{s m m}{
+ \LWR@mathjax@addletter{#1}{#2}{#3}{alpha}{1D6A8}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{beta}{1D6A9}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{gamma}{1D6AA}
+ \LWR@mathjax@addletter*{#1}{#2}{#3}{digamma}{03DC}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{delta}{1D6AB}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{epsilon}{1D6AC}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{zeta}{1D6AD}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{eta}{1D6AE}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{theta}{1D6AF}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{vartheta}{1D6B9}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{iota}{1D6B0}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{kappa}{1D6B1}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{lambda}{1D6B2}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{mu}{1D6B3}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{nu}{1D6B4}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{xi}{1D6B5}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{omicron}{1D6B6}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{pi}{1D6B7}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{rho}{1D6B8}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{sigma}{1D6BA}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{tau}{1D6BB}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{upsilon}{1D6BC}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{phi}{1D6BD}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{chi}{1D6BE}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{psi}{1D6BF}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{omega}{1D6C0}
+}
+% \end{macrocode}
+% \end{noindmacro}
+%
+%
+% \begin{noindmacro}{\LWR@mathjax@addlatin@u@bfit} \marg{prefix}
+%
+% Adds \cs{CustomizeMathjax} expressions to define a set of macros for
+% bold-face italic Latin letters, uppercase and lowercase.
+% \begin{macrocode}
+\NewDocumentCommand{\LWR@mathjax@addlatin@u@bfit}{m}{
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{A}{1D468}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{B}{1D469}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{C}{1D46A}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{D}{1D46B}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{E}{1D46C}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{F}{1D46D}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{G}{1D46E}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{H}{1D46F}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{I}{1D470}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{J}{1D471}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{K}{1D472}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{L}{1D473}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{M}{1D474}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{N}{1D475}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{O}{1D476}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{P}{1D477}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{Q}{1D478}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{R}{1D479}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{S}{1D47A}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{T}{1D47B}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{U}{1D47C}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{V}{1D47D}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{W}{1D47E}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{X}{1D47F}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{Y}{1D480}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{Z}{1D481}
+}
+% \end{macrocode}
+% \end{noindmacro}
+%
+% \begin{noindmacro}{\LWR@mathjax@addlatin@l@bfit} \marg{prefix}
+%
+% Adds \cs{CustomizeMathjax} expressions to define a set of macros for
+% bold-face italic Latin letters, uppercase and lowercase.
+% \begin{macrocode}
+\NewDocumentCommand{\LWR@mathjax@addlatin@l@bfit}{m}{
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{a}{1D482}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{b}{1D483}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{c}{1D484}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{d}{1D485}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{e}{1D486}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{f}{1D487}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{g}{1D488}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{h}{1D489}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{i}{1D48A}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{j}{1D48B}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{k}{1D48C}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{l}{1D48D}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{m}{1D48E}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{n}{1D48F}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{o}{1D490}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{p}{1D491}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{q}{1D492}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{r}{1D493}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{s}{1D494}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{t}{1D495}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{u}{1D496}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{v}{1D497}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{w}{1D498}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{x}{1D499}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{y}{1D49A}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{z}{1D49B}
+}
+% \end{macrocode}
+% \end{noindmacro}
+%
+%
+% \begin{macrocode}
+\end{warpMathJax}
+% \end{macrocode}
+
+
+% \iffalse
+%</common-mathjax-letters>
+% \fi
+%
+%
+%
+%
+% ^^A *common-mathjax-newpxtxmath
+% ^^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@origRequirePackage{lwarp-common-mathjax-nonunicode}
+\LWR@origRequirePackage{lwarp-common-mathjax-overlaysymbols}
+
+\begin{warpMathJax}
+\CustomizeMathJax{\newcommand{\fAlt}{f}}
+\CustomizeMathJax{\newcommand{\rhoAlt}{\rho}}
+
+\CustomizeMathJax{\newcommand{\imathscr}{\mathord{\mathscr{i}}}}
+\CustomizeMathJax{\newcommand{\jmathscr}{\mathord{\mathscr{j}}}}
+% \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@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}}
%
%
diff --git a/Master/texmf-dist/source/latex/lwarp/lwarp.ins b/Master/texmf-dist/source/latex/lwarp/lwarp.ins
index dc5805e34b3..97c0deaed87 100644
--- a/Master/texmf-dist/source/latex/lwarp/lwarp.ins
+++ b/Master/texmf-dist/source/latex/lwarp/lwarp.ins
@@ -40,6 +40,7 @@ version 2005/12/01 or later.
\file{lwarp-a5comb.sty}{\from{lwarp.dtx}{a5comb}}
\file{lwarp-abstract.sty}{\from{lwarp.dtx}{abstract}}
\file{lwarp-academicons.sty}{\from{lwarp.dtx}{academicons}}
+\file{lwarp-accents.sty}{\from{lwarp.dtx}{accents}}
\file{lwarp-accessibility.sty}{\from{lwarp.dtx}{accessibility}}
\file{lwarp-accsupp.sty}{\from{lwarp.dtx}{accsupp}}
\file{lwarp-acro.sty}{\from{lwarp.dtx}{acro}}
@@ -50,6 +51,7 @@ version 2005/12/01 or later.
\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 @@ version 2005/12/01 or later.
\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 @@ version 2005/12/01 or later.
\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 @@ version 2005/12/01 or later.
\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 @@ version 2005/12/01 or later.
\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 @@ version 2005/12/01 or later.
\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 @@ version 2005/12/01 or later.
\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 @@ version 2005/12/01 or later.
\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,17 +215,20 @@ version 2005/12/01 or later.
\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}}
\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 @@ version 2005/12/01 or later.
\file{lwarp-gridset.sty}{\from{lwarp.dtx}{gridset}}
\file{lwarp-hang.sty}{\from{lwarp.dtx}{hang}}
\file{lwarp-hanging.sty}{\from{lwarp.dtx}{hanging}}
+\file{lwarp-hepunits.sty}{\from{lwarp.dtx}{hepunits}}
\file{lwarp-hhline.sty}{\from{lwarp.dtx}{hhline}}
+\file{lwarp-hhtensor.sty}{\from{lwarp.dtx}{hhtensor}}
\file{lwarp-hypbmsec.sty}{\from{lwarp.dtx}{hypbmsec}}
\file{lwarp-hypcap.sty}{\from{lwarp.dtx}{hypcap}}
\file{lwarp-hypdestopt.sty}{\from{lwarp.dtx}{hypdestopt}}
@@ -237,8 +256,14 @@ version 2005/12/01 or later.
\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,12 +271,14 @@ version 2005/12/01 or later.
\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}}
\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 @@ version 2005/12/01 or later.
\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 @@ version 2005/12/01 or later.
\file{lwarp-marginfix.sty}{\from{lwarp.dtx}{marginfix}}
\file{lwarp-marginnote.sty}{\from{lwarp.dtx}{marginnote}}
\file{lwarp-marvosym.sty}{\from{lwarp.dtx}{marvosym}}
+\file{lwarp-mathalpha.sty}{\from{lwarp.dtx}{mathalpha}}
+\file{lwarp-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 @@ version 2005/12/01 or later.
\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 @@ version 2005/12/01 or later.
\file{lwarp-nccfoots.sty}{\from{lwarp.dtx}{nccfoots}}
\file{lwarp-nccmath.sty}{\from{lwarp.dtx}{nccmath}}
\file{lwarp-needspace.sty}{\from{lwarp.dtx}{needspace}}
+\file{lwarp-newpxmath.sty}{\from{lwarp.dtx}{newpxmath}}
+\file{lwarp-newtxmath.sty}{\from{lwarp.dtx}{newtxmath}}
+\file{lwarp-newtxsf.sty}{\from{lwarp.dtx}{newtxsf}}
\file{lwarp-nextpage.sty}{\from{lwarp.dtx}{nextpage}}
\file{lwarp-nfssext-cfr.sty}{\from{lwarp.dtx}{nfssext-cfr}}
\file{lwarp-nicefrac.sty}{\from{lwarp.dtx}{nicefrac}}
\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 @@ version 2005/12/01 or later.
\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 @@ version 2005/12/01 or later.
\file{lwarp-pstricks.sty}{\from{lwarp.dtx}{pstricks}}
\file{lwarp-pxatbegshi.sty}{\from{lwarp.dtx}{pxatbegshi}}
\file{lwarp-pxeveryshi.sty}{\from{lwarp.dtx}{pxeveryshi}}
+\file{lwarp-pxfonts.sty}{\from{lwarp.dtx}{pxfonts}}
\file{lwarp-pxftnright.sty}{\from{lwarp.dtx}{pxftnright}}
\file{lwarp-pxjahyper.sty}{\from{lwarp.dtx}{pxjahyper}}
\file{lwarp-quotchap.sty}{\from{lwarp.dtx}{quotchap}}
@@ -379,8 +428,10 @@ version 2005/12/01 or later.
\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 @@ version 2005/12/01 or later.
\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 @@ version 2005/12/01 or later.
\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 @@ version 2005/12/01 or later.
\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 @@ version 2005/12/01 or later.
\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,18 +502,26 @@ version 2005/12/01 or later.
\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}}
\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}}
\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 @@ version 2005/12/01 or later.
\file{lwarp-truncate.sty}{\from{lwarp.dtx}{truncate}}
\file{lwarp-turnthepage.sty}{\from{lwarp.dtx}{turnthepage}}
\file{lwarp-twoup.sty}{\from{lwarp.dtx}{twoup}}
+\file{lwarp-txfonts.sty}{\from{lwarp.dtx}{txfonts}}
+\file{lwarp-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 @@ version 2005/12/01 or later.
\file{lwarp-unicode-math.sty}{\from{lwarp.dtx}{unicode-math}}
\file{lwarp-units.sty}{\from{lwarp.dtx}{units}}
\file{lwarp-unitsdef.sty}{\from{lwarp.dtx}{unitsdef}}
+\file{lwarp-upgreek.sty}{\from{lwarp.dtx}{upgreek}}
\file{lwarp-upref.sty}{\from{lwarp.dtx}{upref}}
\file{lwarp-url.sty}{\from{lwarp.dtx}{url}}
+\file{lwarp-ushort.sty}{\from{lwarp.dtx}{ushort}}
\file{lwarp-uspace.sty}{\from{lwarp.dtx}{uspace}}
+\file{lwarp-varioref.sty}{\from{lwarp.dtx}{varioref}}
\file{lwarp-verse.sty}{\from{lwarp.dtx}{verse}}
\file{lwarp-versonotes.sty}{\from{lwarp.dtx}{versonotes}}
\file{lwarp-vertbars.sty}{\from{lwarp.dtx}{vertbars}}
@@ -503,6 +577,7 @@ version 2005/12/01 or later.
\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 @@ version 2005/12/01 or later.
\file{lwarp-patch-komascript.sty}{\from{lwarp.dtx}{patch-komascript}}
\file{lwarp-patch-memoir.sty}{\from{lwarp.dtx}{patch-memoir}}
\file{lwarp-common-multimedia.sty}{\from{lwarp.dtx}{common-multimedia}}
+\file{lwarp-common-mathjax-letters.sty}{\from{lwarp.dtx}{common-mathjax-letters}}
+\file{lwarp-common-mathjax-newpxtxmath.sty}{\from{lwarp.dtx}{common-mathjax-newpxtxmath}}
+\file{lwarp-common-mathjax-nonunicode.sty}{\from{lwarp.dtx}{common-mathjax-nonunicode}}
+\file{lwarp-common-mathjax-overlaysymbols.sty}{\from{lwarp.dtx}{common-mathjax-overlaysymbols}}
}
\Msg{*********************************************************}
\Msg{*}
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-SIunits.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-SIunits.sty
index ee4d5113514..7265a223b12 100644
--- a/Master/texmf-dist/tex/latex/lwarp/lwarp-SIunits.sty
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-SIunits.sty
@@ -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
%%
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-abstract.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-abstract.sty
index 685ab3e4cd4..30f5a02459d 100644
--- a/Master/texmf-dist/tex/latex/lwarp/lwarp-abstract.sty
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-abstract.sty
@@ -32,32 +32,24 @@
\InlineClass{abstractrunintitle}{\abstractname}%
\@bslabeldelim}%
}
-
\@ifclassloaded{memoir}
{
\renewenvironment{abstract}{%
- \null\vfil
- \@beginparpenalty\@lowpenalty
+ \setup@bstract
\if@bsrunin
\else
- \if@bsstyle
- \abstitlestyle{\BlockClassSingle{abstracttitle}{\abstractname}}
- \else
\ifnumber@bs
\num@bs
\else
\begin{\absnamepos}%
\abstractnamefont \BlockClassSingle{abstracttitle}{\abstractname}
- \@endparpenalty\@M
\end\absnamepos%
-%% \vspace{\abstitleskip}%
+ \vspace{\abstitleskip}%
\fi
- \fi
- \vspace{\abstitleskip}%
\fi
\put@bsintoc%
\begin{@bstr@ctlist}\if@bsrunin\@bsrunintitle\fi\abstracttextfont}%
- {\par\end{@bstr@ctlist}\vfil\null%\endtitlepage
+ {\par\end{@bstr@ctlist}%\vfil\null%\endtitlepage
}
}{% not memoir
\if@titlepage
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-accents.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-accents.sty
new file mode 100644
index 00000000000..a5272d1477c
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-accents.sty
@@ -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@ProvidesPackagePass{accents}[2006/05/12]
+\begin{warpMathJax}
+\LWR@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'.
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-accessibility.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-accessibility.sty
index 76951ad50c9..d9980ecca8c 100644
--- a/Master/texmf-dist/tex/latex/lwarp/lwarp-accessibility.sty
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-accessibility.sty
@@ -17,7 +17,7 @@
%% version 2005/12/01 or later.
\LWR@ProvidesPackageDrop{accessibility}[2019/10/14]
\newcommand{\alt}[1]{\ThisAltText{#1}}
-\newcommand{\newhref}[3]{\ThisAltText{#2}\href{#1}{#3}}%
+\newcommand{\newhref}[3]{\ThisAltText{#2}\LWR@href{#1}{#3}}%
\providecommand{\thead}[1]{\textbf{#1}}
\begin{warpMathJax}
\CustomizeMathJax{\newcommand{\alt}[1]{}}
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-acro.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-acro.sty
index 94601e73281..0763785c648 100644
--- a/Master/texmf-dist/tex/latex/lwarp/lwarp-acro.sty
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-acro.sty
@@ -30,8 +30,14 @@
\catcode`\$=\active% lwarp
\LWR@DeclareAcronym
}
-
\ExplSyntaxOn
+\cs_new_protected:Npn \LWR@HTML@acro_dot_fill: {\dots\space}
+\LWR@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
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-adjmulticol.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-adjmulticol.sty
index 7ad03060b8a..e7c3421794d 100644
--- a/Master/texmf-dist/tex/latex/lwarp/lwarp-adjmulticol.sty
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-adjmulticol.sty
@@ -28,8 +28,8 @@
\ifnumcomp{#2}{=}{1}{\renewcommand*{\LWR@mcolstype}{singlecolumn}}{}%
\LWR@forcenewpage%
\BlockClass[%
-\LWR@print@mbox{margin-left:\LWR@printlength{\LWR@templengthone}} ; %
-\LWR@print@mbox{margin-right:\LWR@printlength{\LWR@templengthtwo}}%
+ \LWR@print@mbox{margin-left:\LWR@printlength{\LWR@templengthone}} ; %
+ \LWR@print@mbox{margin-right:\LWR@printlength{\LWR@templengthtwo}}%
]{\LWR@mcolstype}%
}
{\endBlockClass}
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-afterpage.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-afterpage.sty
index 160711168be..43e677ce700 100644
--- a/Master/texmf-dist/tex/latex/lwarp/lwarp-afterpage.sty
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-afterpage.sty
@@ -17,8 +17,6 @@
%% version 2005/12/01 or later.
\LWR@ProvidesPackageDrop{afterpage}[2014/10/28]
\newcommand{\afterpage}[1]{#1}
-\LWR@ProvidesPackageDrop{afterpage}[2014/10/28]
-\newcommand{\afterpage}[1]{#1}
\endinput
%%
%% End of file `lwarp-afterpage.sty'.
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-algorithm2e.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-algorithm2e.sty
index aa763d1d474..740665cc7a8 100644
--- a/Master/texmf-dist/tex/latex/lwarp/lwarp-algorithm2e.sty
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-algorithm2e.sty
@@ -127,31 +127,31 @@
\renewcommand{\ResetInOut}[1]{}%
\renewcommand{\algocf@Vline}[1]{%
-\boolfalse{LWR@algocf@dopars}%
-\begin{BlockClass}{alg2evline}
-\booltrue{LWR@algocf@dopars}%
-#1
-\boolfalse{LWR@algocf@dopars}%
-\end{BlockClass}
-\booltrue{LWR@algocf@dopars}%
+ \boolfalse{LWR@algocf@dopars}%
+ \begin{BlockClass}{alg2evline}
+ \booltrue{LWR@algocf@dopars}%
+ #1
+ \boolfalse{LWR@algocf@dopars}%
+ \end{BlockClass}
+ \booltrue{LWR@algocf@dopars}%
}
\renewcommand{\algocf@Vsline}[1]{%
-\boolfalse{LWR@algocf@dopars}%
-\begin{BlockClass}{alg2evsline}
-\booltrue{LWR@algocf@dopars}%
-#1
-\boolfalse{LWR@algocf@dopars}%
-\end{BlockClass}
-\booltrue{LWR@algocf@dopars}%
+ \boolfalse{LWR@algocf@dopars}%
+ \begin{BlockClass}{alg2evsline}
+ \booltrue{LWR@algocf@dopars}%
+ #1
+ \boolfalse{LWR@algocf@dopars}%
+ \end{BlockClass}
+ \booltrue{LWR@algocf@dopars}%
}
\renewcommand{\algocf@Noline}[1]{%
-\boolfalse{LWR@algocf@dopars}%
-\begin{BlockClass}{alg2enoline}
-\booltrue{LWR@algocf@dopars}%
-#1
-\boolfalse{LWR@algocf@dopars}%
-\end{BlockClass}
-\booltrue{LWR@algocf@dopars}%
+ \boolfalse{LWR@algocf@dopars}%
+ \begin{BlockClass}{alg2enoline}
+ \booltrue{LWR@algocf@dopars}%
+ #1
+ \boolfalse{LWR@algocf@dopars}%
+ \end{BlockClass}
+ \booltrue{LWR@algocf@dopars}%
}
\LetLtxMacro\algocf@Here\algocf
\LetLtxMacro\endalgocf@Here\endalgocf
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-algorithmicx.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-algorithmicx.sty
index a9c5291dc4d..035f4ab17f9 100644
--- a/Master/texmf-dist/tex/latex/lwarp/lwarp-algorithmicx.sty
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-algorithmicx.sty
@@ -16,14 +16,14 @@
%% and version 1.3 or later is part of all distributions of LaTeX
%% version 2005/12/01 or later.
\LWR@ProvidesPackagePass{algorithmicx}[2005/04/27]
-\begin{warpHTML}
-
\AtBeginEnvironment{algorithmic}{%
\let\origALG@doentity\ALG@doentity%
\renewcommand*{\ALG@doentity}{%
\origALG@doentity%
\LWR@htmltagc{%
-span style="width:\LWR@printlength{\ALG@thistlm}; display:inline-block;"%
+ span style=\textquotedbl{}%
+ width:\LWR@printlength{\ALG@thistlm}; display:inline-block;%
+ \textquotedbl%
}%
\ifbool{FormatWP}{%
\setlength{\LWR@templengthone}{\the\ALG@thistlm}%
@@ -46,8 +46,6 @@ span style="width:\LWR@printlength{\ALG@thistlm}; display:inline-block;"%
\hfill\HTMLunicode{25B7} #1% white right triangle
}%
-\end{warpHTML}
-
\endinput
%%
%% End of file `lwarp-algorithmicx.sty'.
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-alltt.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-alltt.sty
index 3c51b816d43..e1ebe5b93fb 100644
--- a/Master/texmf-dist/tex/latex/lwarp/lwarp-alltt.sty
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-alltt.sty
@@ -18,13 +18,24 @@
\LWR@ProvidesPackagePass{alltt}[1997/06/16]
\AfterEndPreamble{
\LWR@traceinfo{Patching alltt.}
+
\AtBeginEnvironment{alltt}{%
-\LWR@forcenewpage
-\LWR@atbeginverbatim{3}{alltt}%
+ \ifnumcomp{\value{LWR@lateximagedepth}}{>}{0}%
+ {}%
+ {%
+ \LWR@forcenewpage
+ \LWR@atbeginverbatim{alltt}%
+ }%
}
+
\AfterEndEnvironment{alltt}{%
- \LWR@afterendverbatim{2}%
+ \ifnumcomp{\value{LWR@lateximagedepth}}{>}{0}%
+ {}%
+ {%
+ \LWR@afterendverbatim%
+ }%
}
+
}
\endinput
%%
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-amscdx.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-amscdx.sty
new file mode 100644
index 00000000000..22069b4d309
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-amscdx.sty
@@ -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@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'.
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-amsmath.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-amsmath.sty
index 6623857b95a..71cc4b5c2a2 100644
--- a/Master/texmf-dist/tex/latex/lwarp/lwarp-amsmath.sty
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-amsmath.sty
@@ -16,6 +16,8 @@
%% and version 1.3 or later is part of all distributions of LaTeX
%% version 2005/12/01 or later.
\LWR@ProvidesPackagePass{amsmath}[2017/09/02]
+\newcommand*{\LWR@HTML@dotso}{\textellipsis\ }
+\LWR@formatted{dotso}
\def\maketag@@@#1{\text{#1}}
\def\tagform@#1{\maketag@@@{(\ignorespaces#1\unskip)}}
@@ -45,7 +47,7 @@
}
\LWR@newautoidanchor%
\booltrue{LWR@indisplaymathimage}%
- \begin{lateximage}[\LWR@amsmathbodynumbered{#1}]*
+ \begin{lateximage}[\LWR@amsmathbodynumbered{#2}]*%
\LWR@applyxfakebold%
}
\NewDocumentCommand{\LWR@amsmathenv@before}{s m}{%
@@ -125,8 +127,23 @@
\BeforeBeginEnvironment{alignat*}{\LWR@amsmathenv@before*{alignat*}}
\AfterEndEnvironment{alignat*}{\LWR@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
%%
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-amsthm.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-amsthm.sty
index c562cac1480..b568a300ebc 100644
--- a/Master/texmf-dist/tex/latex/lwarp/lwarp-amsthm.sty
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-amsthm.sty
@@ -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@ProvidesPackagePass{amsthm}[2017/10/31]
-
\newcommand{\LWR@newtheoremstyle}{plain}
\renewcommand{\theoremstyle}[1]{%
@@ -56,31 +59,41 @@
\else % numbered theorem, need to check for optional arg
\def\@tempa{\@oparg{\@ynthm{#2}}[]}%
\fi
- \AtBeginEnvironment{#2}{\edef\LWR@thisthmstyle{\@nameuse{LWR@thmstyle#2}}}% lwarp
+ \AtBeginEnvironment{#2}{%
+ \edef\LWR@thisthmstyle{\@nameuse{LWR@thmstyle#2}}%
+ }% lwarp
}%
\@tempa
}
\newcommand{\LWR@haveamsthmname}{
-\renewcommand{\thmname}[1]{\InlineClass{amsthmname\LWR@thisthmstyle}{##1}}
+ \renewcommand{\thmname}[1]{%
+ \InlineClass{amsthmname\LWR@thisthmstyle}{##1}%
+ }
}
\newcommand{\LWR@haveamsthmnumber}{
-\renewcommand{\thmnumber}[1]{\InlineClass{amsthmnumber\LWR@thisthmstyle}{##1}}
+ \renewcommand{\thmnumber}[1]{%
+ \InlineClass{amsthmnumber\LWR@thisthmstyle}{##1}%
+ }
}
\newcommand{\LWR@haveamsthmnote}{
-\renewcommand{\thmnote}[1]{\InlineClass{amsthmnote\LWR@thisthmstyle}{##1}}
+ \renewcommand{\thmnote}[1]{%
+ \InlineClass{amsthmnote\LWR@thisthmstyle}{##1}%
+ }
}
\LWR@haveamsthmname
\LWR@haveamsthmnumber
\LWR@haveamsthmnote
\def\@begintheorem#1#2[#3]{%
+ \GetTitleString{#3}% lwarp
+ \let\@currentlabelname\GetTitleStringResult% lwarp
\item[
- \@ifempty{#1}{\let\thmname\@gobble}{\LWR@haveamsthmname}% lwarp
- \@ifempty{#2}{\let\thmnumber\@gobble}{\LWR@haveamsthmnumber}% lwarp
- \@ifempty{#3}{\let\thmnote\@gobble}{\LWR@haveamsthmnote}% lwarp
+ \@ifempty{#1}{\let\thmname\@gobble}{\LWR@haveamsthmname}% lwarp
+ \@ifempty{#2}{\let\thmnumber\@gobble}{\LWR@haveamsthmnumber}% lwarp
+ \@ifempty{#3}{\let\thmnote\@gobble}{\LWR@haveamsthmnote}% lwarp
\thm@swap\swappedhead\thmhead{#1}{#2}{#3}%
\the\thm@headpunct~
\thmheadnl % possibly a newline.
@@ -90,8 +103,8 @@
\def\@thm#1#2#3{%
\ifhmode\unskip\unskip\par\fi
\normalfont
- \LWR@forcenewpage% lwarp
- \BlockClass{amsthmbody\LWR@thisthmstyle}% lwarp
+ \LWR@forcenewpage% lwarp
+ \BlockClass{amsthmbody\LWR@thisthmstyle}% lwarp
\trivlist
\let\thmheadnl\relax
\let\thm@swap\@gobble
@@ -114,8 +127,8 @@
\def\cref@thmoptarg[#1]#2#3#4{%
\ifhmode\unskip\unskip\par\fi%
\normalfont%
- \LWR@forcenewpage% lwarp
- \BlockClass{amsthmbody\LWR@thisthmstyle}% lwarp
+ \LWR@forcenewpage% lwarp
+ \BlockClass{amsthmbody\LWR@thisthmstyle}% lwarp
\trivlist%
\let\thmheadnl\relax%
\let\thm@swap\@gobble%
@@ -148,9 +161,9 @@
\def\Box{\text{\HTMLunicode{25A1}}}% UTF-8 white box
\appto\LWR@restoreorigformatting{%
-\LetLtxMacro\openbox\LWR@orig@openbox%
-\LetLtxMacro\blacksquare\LWR@orig@blacksquare%
-\LetLtxMacro\Box\LWR@orig@Box%
+ \LetLtxMacro\openbox\LWR@orig@openbox%
+ \LetLtxMacro\blacksquare\LWR@orig@blacksquare%
+ \LetLtxMacro\Box\LWR@orig@Box%
}% appto
}{}% @ifundefined
}% AtBeginDocument
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-atbegshi.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-atbegshi.sty
index 0eb19c57b9a..d1dbee868d6 100644
--- a/Master/texmf-dist/tex/latex/lwarp/lwarp-atbegshi.sty
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-atbegshi.sty
@@ -16,6 +16,17 @@
%% and version 1.3 or later is part of all distributions of LaTeX
%% version 2005/12/01 or later.
\LWR@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'.
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-attachfile.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-attachfile.sty
index 13bcc5acda7..0bec5485f54 100644
--- a/Master/texmf-dist/tex/latex/lwarp/lwarp-attachfile.sty
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-attachfile.sty
@@ -47,7 +47,7 @@
\def\LWR@attachfile@appearance{#1}%
}
\DeclareRobustCommand{\atfi@insert@file@annot}[1]{%
- \href{#1}{\LWR@attachfile@appearance}%
+ \LWR@href{#1}{\LWR@attachfile@appearance}%
}
\endinput
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-attachfile2.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-attachfile2.sty
index 80e900391eb..152151dc8a5 100644
--- a/Master/texmf-dist/tex/latex/lwarp/lwarp-attachfile2.sty
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-attachfile2.sty
@@ -59,7 +59,7 @@
\def\LWR@attachfile@appearance{#1}%
}
\DeclareRobustCommand{\atfi@insert@file@annot}[1]{%
- \href{#1}{\LWR@attachfile@appearance}%
+ \LWR@href{#1}{\LWR@attachfile@appearance}%
}
\DeclareRobustCommand{\notextattachfile}[2][]{%
\begingroup
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-authblk.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-authblk.sty
index f8bd7ae224d..67fc8067a9b 100644
--- a/Master/texmf-dist/tex/latex/lwarp/lwarp-authblk.sty
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-authblk.sty
@@ -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@ProvidesPackagePass{authblk}[2001/02/27]
\LetLtxMacro\LWRAB@affil\affil
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-backnaur.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-backnaur.sty
index 8f0ce9482ac..a9e0e08eb9d 100644
--- a/Master/texmf-dist/tex/latex/lwarp/lwarp-backnaur.sty
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-backnaur.sty
@@ -18,6 +18,38 @@
\LWR@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'.
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-backref.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-backref.sty
index 3fd5af426a9..5bdeea8bf83 100644
--- a/Master/texmf-dist/tex/latex/lwarp/lwarp-backref.sty
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-backref.sty
@@ -18,7 +18,13 @@
\LWR@ProvidesPackagePass{backref}[2016/05/21]
-\def\backref{}\let\backrefxxx\hyper@section@backref
+\def\backref{}
+
+\long\def\hyper@section@backref#1#2#3{%
+ \ref{#3}%
+}
+
+\let\backrefxxx\hyper@section@backref
\endinput
%%
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-biblatex.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-biblatex.sty
index 0472693e549..760358810f1 100644
--- a/Master/texmf-dist/tex/latex/lwarp/lwarp-biblatex.sty
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-biblatex.sty
@@ -18,6 +18,8 @@
\ifdef{\newfloat@addtocontents@ORI}{
\let\addtocontents\newfloat@addtocontents@ORI
}{}
+\AtBeginDocument{\RequirePackage{hyperref}}
+
\LWR@ProvidesPackagePass{biblatex}[2018/03/04]
\AfterPreamble{
@@ -27,6 +29,7 @@
{}
{\listxadd\blx@anchors{\the\c@refsection @\abx@field@entrykey}%
\hypertarget{cite.\the\c@refsection @\abx@field@entrykey}{}}}
+
\protected\def\blx@imc@bibhyperref{%
\@ifnextchar[%]
{\blx@bibhyperref}
@@ -51,7 +54,115 @@
}
\let\blx@imc@ifhyperref\@firstoftwo
-}
+\DeclareListFormat{pageref}{%
+ \ifnumless{\abx@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@range@prev{\abx@range@prev+1}%
+ \ifinteger{#1}
+ {\def\abx@range@num{#1}%
+ \def\abx@range@this{1}%
+ \ifnumequal{\abx@range@this}{\abx@range@last}
+ {}
+ {\def\abx@range@prev{-1}}}
+ {\ifrmnum{#1}
+ {\numdef\abx@range@num{\rmntonum{#1}}%
+ \def\abx@range@this{2}%
+ \ifnumequal{\abx@range@this}{\abx@range@last}
+ {}
+ {\def\abx@range@prev{-1}}}
+ {\undef\abx@range@num
+ \def\abx@range@this{0}%
+ \def\abx@range@prev{-1}}}%
+ \ifdef\abx@range@num
+ {\ifnumequal{\abx@range@num}{\abx@range@prev}
+ {\def\abx@range@hold{#1}%
+ \numdef\abx@range@diff{\abx@range@diff+1}}
+ {\usebibmacro{pageref:dump}%
+ \ifnumgreater{\abx@range@last}{-1}
+ {\printdelim{multilistdelim}}
+ {}%
+ \ifhyperref
+ {\ref{\BaseJobname-autopage-#1}}% lwarp
+ {#1}}%
+ \edef\abx@range@prev{\abx@range@num}}
+ {\usebibmacro{pageref:dump}%
+ \ifnumgreater{\abx@range@last}{-1}
+ {\printdelim{multilistdelim}}
+ {}%
+ \ifhyperref
+ {\ref{\BaseJobname-autopage-#1}}% lwarp
+ {#1}%
+ \def\abx@range@prev{-1}}%
+ \edef\abx@range@last{\abx@range@this}}
+
+\renewbibmacro*{pageref:dump}{%
+ \ifnumgreater{\abx@range@diff}{0}
+ {\ifcase\abx@pagerefstyle\relax % two
+ \bibrangedash
+ \ifhyperref
+ {\ref{\BaseJobname-autopage-\abx@range@hold}}% lwarp
+ {\abx@range@hold}%
+ \or % three
+ \ifnumless{\abx@range@diff}{2}
+ {\printdelim{multilistdelim}}
+ {\bibrangedash}%
+ \ifhyperref
+ {\ref{\BaseJobname-autopage-\abx@range@hold}}% lwarp
+ {\abx@range@hold}%
+ \or % two+
+ \ifnumless{\abx@range@diff}{2}
+ {\sqspace
+ \ifhyperref
+ {\ref{\BaseJobname-autopage-\abx@range@hold}}% lwarp
+ {\bibstring{sequens}}}
+ {\bibrangedash
+ \ifhyperref
+ {\ref{\BaseJobname-autopage-\abx@range@hold}}% lwarp
+ {\abx@range@hold}}%
+ \or % three+
+ \ifnumless{\abx@range@diff}{2}
+ {\sqspace
+ \ifhyperref
+ {\ref{\BaseJobname-autopage-\abx@range@hold}}% lwarp
+ {\bibstring{sequens}}}
+ {\ifnumless{\abx@range@diff}{3}
+ {\sqspace
+ \ifhyperref
+ {\ref{\BaseJobname-autopage-\abx@range@hold}}% lwarp
+ {\bibstring{sequentes}}}
+ {\bibrangedash
+ \ifhyperref
+ {\ref{\BaseJobname-autopage-\abx@range@hold}}% lwarp
+ {\abx@range@hold}}}%
+ \else % all+
+ \ifnumless{\abx@range@diff}{2}
+ {\sqspace
+ \ifhyperref
+ {\ref{\BaseJobname-autopage-\abx@range@hold}}% lwarp
+ {\bibstring{sequens}}}
+ {\sqspace
+ \ifhyperref
+ {\ref{\BaseJobname-autopage-\abx@range@hold}}% lwarp
+ {\bibstring{sequentes}}}%
+ \fi
+ \def\abx@range@diff{0}}
+ {}}
+
+}% \AfterPreamble
\endinput
%%
%% End of file `lwarp-biblatex.sty'.
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-booktabs.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-booktabs.sty
index b22874d1f3e..ded005a30b8 100644
--- a/Master/texmf-dist/tex/latex/lwarp/lwarp-booktabs.sty
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-booktabs.sty
@@ -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][]{}}
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-boxedminipage.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-boxedminipage.sty
new file mode 100644
index 00000000000..0c025d229d9
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-boxedminipage.sty
@@ -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@ProvidesPackagePass{boxedminipage}[2020/04/19]
+
+\newenvironment{LWR@HTML@boxedminipage}{%
+ \LWR@stoppars%
+ \begin{BlockClass}{framebox}%
+ \minipage%
+}
+{%
+ \endminipage%
+ \end{BlockClass}%
+ \LWR@startpars%
+}
+\LWR@formattedenv{boxedminipage}
+
+\endinput
+%%
+%% End of file `lwarp-boxedminipage.sty'.
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-boxedminipage2e.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-boxedminipage2e.sty
index 3e9c5f3522b..42790dda96c 100644
--- a/Master/texmf-dist/tex/latex/lwarp/lwarp-boxedminipage2e.sty
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-boxedminipage2e.sty
@@ -17,19 +17,7 @@
%% version 2005/12/01 or later.
-\LWR@ProvidesPackagePass{boxedminipage2e}[2015/03/09]
-
-\newenvironment{LWR@HTML@boxedminipage}{%
- \LWR@stoppars%
- \begin{BlockClass}{framebox}%
- \minipage%
-}
-{%
- \endminipage%
- \end{BlockClass}%
- \LWR@startpars%
-}
-\LWR@formattedenv{boxedminipage}
+\LWR@ProvidesPackagePass{boxedminipage2e}
\endinput
%%
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-braket.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-braket.sty
index 59090f8472a..f6e156cd989 100644
--- a/Master/texmf-dist/tex/latex/lwarp/lwarp-braket.sty
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-braket.sty
@@ -17,14 +17,7 @@
%% version 2005/12/01 or later.
\LWR@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
%%
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-breakurl.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-breakurl.sty
index 5aa16b0d7d1..51c4d193963 100644
--- a/Master/texmf-dist/tex/latex/lwarp/lwarp-breakurl.sty
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-breakurl.sty
@@ -16,7 +16,7 @@
%% and version 1.3 or later is part of all distributions of LaTeX
%% version 2005/12/01 or later.
\LWR@ProvidesPackageDrop{breakurl}[2013/04/10]
-\LetLtxMacro\burl\url
+\LetLtxMacro\burl\LWR@url
\NewDocumentCommand{\LWR@burlaltb}{O{} +m m}{%
\LWR@ensuredoingapar%
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-bussproofs.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-bussproofs.sty
new file mode 100644
index 00000000000..55db76e34ce
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-bussproofs.sty
@@ -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@ProvidesPackagePass{bussproofs}% no date in file
+\ifbool{mathjax}{
+ \CustomizeMathJax{\require{bussproofs}}
+
+ \NewEnviron{LWR@HTML@prooftree}%
+ {\LWR@doequation{\BODY}{prooftree}}%
+ [\LWR@doendequation{prooftree}]
+ \LWR@formattedenv{prooftree}
+}{% SVG HTML
+ \BeforeBeginEnvironment{prooftree}{%
+ \begin{lateximage}[-bussproofs-~\PackageDiagramAltText]%
+ }
+ \AfterEndEnvironment{prooftree}{\end{lateximage}}
+}
+\endinput
+%%
+%% End of file `lwarp-bussproofs.sty'.
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-cancel.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-cancel.sty
index 3d0deb23826..27617226181 100644
--- a/Master/texmf-dist/tex/latex/lwarp/lwarp-cancel.sty
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-cancel.sty
@@ -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'.
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-caption.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-caption.sty
index 2d4637fcf9c..9b6059c84b6 100644
--- a/Master/texmf-dist/tex/latex/lwarp/lwarp-caption.sty
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-caption.sty
@@ -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@ProvidesPackagePass{caption}[2019/09/01]
-
-\renewcommand\caption@ibox[3]{%
- \@testopt{\caption@iibox{#1}{#2}{#3}}{%
- \linewidth% lwarp
- }%
+\LWR@ProvidesPackagePass{caption}[2020/10/26]
+\long\def\caption@iibox@#1#2#3#4{%
+ \caption@iiibox{#1}{#2}{#3}%
+ []% lwarp
+ [\captionbox@hj@default]%
+ {{#4}}% lwarp
}
-\long\def\caption@iibox#1#2#3[#4]{%
- \@testopt{\caption@iiibox{#1}{#2}{#3}{#4}}\captionbox@hj@default
-}
-\long\def\caption@iiibox#1#2#3#4[#5]#6{%
+\long\def\caption@iiiibox#1#2#3#4#5[#6][#7]#8{%
\begingroup
#1*% set \caption@position
\caption@iftop{%
- \LWR@traceinfo{caption@iiibox top}%
\endgroup
- \parbox[t]{#4}{%
+ \minipagefullwidth% lwarp
+ \parbox[t]{\linewidth}{%
#1\relax
\caption@setposition t%
- {\caption#2{#3}}% lwarp
- #6% lwarp
+ {\caption#4{#5}}%
+ #8%
}%
}{%
- \LWR@traceinfo{caption@iiibox bottom}%
\endgroup
- \parbox[b]{#4}{%
+ \minipagefullwidth% lwarp
+ \parbox[b]{\linewidth}{% lwarp
#1\relax
\caption@setposition b%
- #6% lwarp
- {\caption#2{#3}}% lwarp
- }%
+ #8%
+ {\caption#4{#5}}%
+ }%
}%
-\LWR@traceinfo{caption@iiibox: done}%
}
-
-\long\def\caption@@caption#1[#2]#3{%
- \ifcaption@star
- \else
- \caption@prepareanchor{#1}{#2}%
- \memcaptioninfo{#1}{\csname the#1\endcsname}{#2}{#3}%
- \@nameuse{nag@hascaptiontrue}%
- \fi
- \par
- \caption@beginex{#1}{#2}{#3}%
- \caption@setfloatcapt{%
- \caption@boxrestore
- \if@minipage
- \@setminipage
- \fi
- \caption@normalsize
- \ifcaption@star
- \let\caption@makeanchor\@firstofone
- #3% lwarp
- \else% lwarp
- \@makecaption{\csname fnum@#1\endcsname}%
- {\ignorespaces\caption@makeanchor{#3}}%
- \fi% lwarp
- \caption@if@minipage\@minipagetrue\@minipagefalse}%
- \caption@end%
+\long\def\caption@makecaption#1#2{%
+ \caption@@make{#1}{#2}%
}
-\renewcommand\caption@@@make[2]{%
-\LWR@traceinfo{caption@@@make}%
- \caption@ifempty{#2}{%
- \let\caption@lsep\@empty
- \let\caption@tfmt\@firstofone
- }%
- \caption@applyfont
- {\ifcaption@star\else
- \begingroup
- \captionlabelfont
- #1%
- \endgroup
- \fi}%
- {\ifcaption@star\else
- \begingroup
- \caption@iflf\captionlabelfont
- \relax
- \caption@lsep
- \endgroup
- \fi}%
- {{%
- \captiontextfont
- \caption@tfmt{#2}%
- }}%
-\LWR@traceinfo{caption@@@make done}%
+\AtBeginDocument{
+ \let\@makecaption\caption@makecaption
}
-\renewcommand{\caption@@make@}[2]{%
- \caption@stepthecounter
- \caption@beginhook
- \caption@@@make{#1}{#2}%
- \caption@endhook
-}
+\AtBeginDocument{
+\xapptocmd{\@xfloat}
+ {\LWR@futurenonspacelet\LWR@mynexttoken\LWR@floatalignment}
+ {}
+ {\LWR@patcherror{caption}{@xfloat}}
-\long\def\caption@makecaption#1#2{%
- \caption@@make{#1}{#2}%
+\xapptocmd{\@xdblfloat}
+ {\LWR@futurenonspacelet\LWR@mynexttoken\LWR@floatalignment}
+ {}
+ {\LWR@patcherror{caption}{@xdblfloat}}
}
-\DeclareCaptionBox{parbox}{%
-#2%
-}
-\DeclareCaptionBox{colorbox}{%
-#2%
+\caption@AtBeginDocument{
+\@ifpackageloaded{lwarp-scrextend}{
+ \LetLtxMacro\captionbelow\caption
+ \LetLtxMacro\captionabove\caption
+ \LetLtxMacro\captionofbelow\captionof
+ \LetLtxMacro\captionofabove\captionof
+}{}
}
-
\endinput
%%
%% End of file `lwarp-caption.sty'.
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-caption3.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-caption3.sty
new file mode 100644
index 00000000000..57bbd7dc5e6
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-caption3.sty
@@ -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@ProvidesPackagePass{caption3}[2020/10/21]
+\@ifpackagelater{caption3}{2020/08/23}{
+\renewcommand\caption@@@make[2]{%
+\LWR@traceinfo{caption@@@make}%
+ \LWR@stoppars% lwarp
+ \caption@ifempty{#2}{%
+ \caption@set{labelseparator}{none}%
+ \caption@set{textformat}{simple}%
+ }%
+ \caption@labelseparator % defines \caption@iflabelfont,
+ \caption@applyfont
+ {\ifcaption@star\else
+ \begingroup
+ \captionlabelfont
+ \LWR@isolate{#1}% lwarp
+ \endgroup
+ \fi}%
+ {\ifcaption@star\else
+ \begingroup
+ \caption@iflabelfont\captionlabelfont
+ \relax\caption@labelsep
+ \endgroup
+ \fi}%
+ {{\captiontextfont
+ \let\\\newline% lwarp
+ \caption@textstart
+ \LWR@isolate{\caption@textformat{#2}}% lwarp
+ \caption@textend}}%
+ \LWR@startpars% lwarp
+\LWR@traceinfo{caption@@@make done}%
+}
+}% later than 2020/08/23
+{% earlier than 2020/08/23
+\renewcommand\caption@@@make[2]{%
+\LWR@traceinfo{caption@@@make}%
+ \LWR@stoppars% lwarp
+ \caption@ifempty{#2}{%
+ \let\caption@lsep\@empty
+ \let\caption@tfmt\@firstofone
+ }%
+ \caption@applyfont
+ {\ifcaption@star\else
+ \begingroup
+ \captionlabelfont
+ \LWR@isolate{#1}% lwarp
+ \endgroup
+ \fi}%
+ {\ifcaption@star\else
+ \begingroup
+ \caption@iflf\captionlabelfont
+ \relax
+ \caption@lsep
+ \endgroup
+ \fi}%
+ {{%
+ \captiontextfont
+ \let\\\newline% lwarp
+ \LWR@isolate{\caption@tfmt{#2}}% lwarp
+ }}%
+ \LWR@startpars% lwarp
+\LWR@traceinfo{caption@@@make done}%
+}
+}% earlier than 2020/08/23
+\renewcommand{\caption@@make@}[2]{%
+ \caption@stepthecounter%
+ \caption@beginhook%
+ \caption@@@make{#1}{#2}%
+ \caption@endhook%
+}
+\DeclareCaptionBox{none}{#2}
+\DeclareCaptionBox{parbox}{%
+ #2%
+}
+\DeclareCaptionBox{colorbox}{%
+ #2%
+}
+\endinput
+%%
+%% End of file `lwarp-caption3.sty'.
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-centernot.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-centernot.sty
index 4faebbf0580..c595d961d20 100644
--- a/Master/texmf-dist/tex/latex/lwarp/lwarp-centernot.sty
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-centernot.sty
@@ -16,8 +16,12 @@
%% and version 1.3 or later is part of all distributions of LaTeX
%% version 2005/12/01 or later.
\LWR@ProvidesPackagePass{centernot}[2016/05/16]
+\LWR@origRequirePackage{lwarp-common-mathjax-overlaysymbols}
+
\begin{warpMathJax}
-\CustomizeMathJax{\newcommand{\centernot}[1]{\not{\!#1\,}}}
+\CustomizeMathJax{\newcommand{\centernot}[1]{%
+ \LWRoverlaysymbols{\unicode{x2215}}{#1}
+}}
\end{warpMathJax}
\endinput
%%
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-changes.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-changes.sty
index e4734ba1975..9139b3223d1 100644
--- a/Master/texmf-dist/tex/latex/lwarp/lwarp-changes.sty
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-changes.sty
@@ -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@ProvidesPackagePass{changes}[2019/01/26]
+\LWR@ProvidesPackagePass{changes}[2021/02/14]
\renewcommand{\ChangesListline}[4]{%
- \IfSubStr{\Changes@loc@show}{#1}{%
+ \IfIsInList{#1}{\Changes@loc@show}{%
\LWR@startpars%
#2: #3 \qquad
\nameref{\BaseJobname-autopage-#4}%
@@ -25,112 +25,246 @@
}{}%
}
-\renewcommand{\Changes@summaryline}[4]{%
- \IfSubStr{\Changes@loc@show}{#1}{%
- \ifthenelse{\not\equal{\Changes@loc@style}{compactsummary} \or #2 > 0}%
- {%
- #3:~#2#4%
- }{}%
- }{}%
+\renewcommand{\listofchanges}[1][\@empty]{%
+\setkeys{Changes@loc}{#1}%
+\ifbool{Changes@optiondraft}%
+{%
+\IfIsInList{\Changes@loc@style}{list|summary|compactsummary}%
+{}%
+{%
+\PackageWarning{changes}{Wrong style for list of changes: '\Changes@loc@style', using 'list' instead.}%
+\def\Changes@loc@style{}%
+}%
+\IfIsEmpty{\Changes@loc@style}%
+{\def\Changes@loc@style{list}}%
+{}%
+\IfStrEq{\Changes@loc@show}{all}%
+{\def\Changes@loc@show{added|deleted|replaced|highlight|comment}}%
+{}%
+\IfIsInList{\Changes@loc@show}{added|deleted|replaced|highlight|comment}%
+{}%
+{%
+\PackageWarning{changes}{Wrong show-value for list of changes: '\Changes@loc@show', using 'all' instead.}%
+\def\Changes@loc@show{}%
+}%
+\IfIsEmpty{\Changes@loc@show}%
+{\def\Changes@loc@show{added|deleted|replaced|highlight|comment}}%
+{}%
+\IfIsEmpty{\Changes@loc@title}%
+{%
+\IfStrEq{\Changes@loc@style}{list}%
+{\def\Changes@heading{\listofchangesname}}{}%
+\IfStrEq{\Changes@loc@style}{summary}%
+{\def\Changes@heading{\summaryofchangesname}}{}%
+\IfStrEq{\Changes@loc@style}{compactsummary}%
+{\def\Changes@heading{\compactsummaryofchangesname}}{}%
+}%
+{\def\Changes@heading{\Changes@loc@title}}%
+\section*{\Changes@heading}
+\IfIsInList{\Changes@loc@style}{list}%
+{%
+\IfFileExists{\jobname.\Changes@locextension}%
+{%
+\newread\Changes@InFile%
+\openin\Changes@InFile=\jobname.\Changes@locextension%
+\loop\unless\ifeof\Changes@InFile%
+\read\Changes@InFile to \Changes@Line%
+\ifeof\Changes@InFile\else%
+\Changes@Line%
+\fi
+\repeat
+\closein\Changes@InFile%
+}{%
+\emph{\changesnoloc}%
+\PackageWarning{changes}{LaTeX rerun needed for list of changes}%
+}%
+}{}%
+\IfIsInList{\Changes@loc@style}{summary|compactsummary}%
+{%
+\IfFileExists{\jobname.\Changes@socextension}%
+{%
+\newread\Changes@InFile%
+\openin\Changes@InFile = \jobname.\Changes@socextension%
+\loop\unless\ifeof\Changes@InFile%
+\read\Changes@InFile to \Changes@Line%
+\ifeof\Changes@InFile\else%
+\expandafter\changes@chopline\Changes@Line\\%
+\textbf{%
+\IfIsColored%
+{\color{\Changes@Incolor}}%
+{}%
+\IfIsAnonymous{\Changes@Inid}%
+{%
+ \LWR@textcurrentcolor{% lwarp
+ \changesauthorname: \changesanonymousname%
+ }% lwarp
+}%
+{%
+ \LWR@textcurrentcolor{% lwarp
+\changesauthorname: \Changes@Inid%
+ }% lwarp
+\IfIsEmpty{\Changes@Inname}%
+{}%
+{ %
+ \LWR@textcurrentcolor{% lwarp
+(\Changes@Inname)%
+ }% lwarp
+}%
+}%
+}\\%
+\numdef{\Changes@InSum}{0}%
+\renewcommand*{\do}[1]{%
+\numdef{\Changes@InSum}{\Changes@InSum + \csuse{Changes@In########1}}%
+}%
+\expandafter\dopsvlist\expandafter{\Changes@loc@show}%
+\ifnumcomp{\Changes@InSum}{=}{0}%
+{%
+ \changesnochanges%
+ \par% \lwarp
+}%
+{%
+\numdef{\Changes@InCount}{0}%
+\renewcommand*{\do}[1]{%
+\numdef{\Changes@InCount}{\Changes@InCount + \csuse{Changes@In########1}}%
+\ifboolexpr{%
+not test {\IfStrEq{\Changes@loc@style}{compactsummary}} or%
+test {\ifnumgreater{\csuse{Changes@In########1}}{0}}%
+}%
+{%
+\csuse{changes########1name}~%
+\dotfill~% \lwarp
+\csuse{Changes@In########1}%
+{\\}%
+}%
+{}%
+}%
+\expandafter\dopsvlist\expandafter{\Changes@loc@show}%
+ \par% lwarp
+}%
+\fi%
+\repeat
+\closein\Changes@InFile%
+}{%
+\emph{\changesnosoc}%
+\PackageWarning{changes}{LaTeX rerun needed for summary of changes}%
+}%
+}{}%
+}{}%
}
-\xpatchcmd{\listofchanges}
- {{\changesauthorname: \changesanonymousname}}
- {{\LWR@textcurrentcolor{\changesauthorname: \changesanonymousname}}}
- {}
- {\LWR@patcherror{changes}{listofchanges A}}
-
-\xpatchcmd{\listofchanges}
- {\changesauthorname: \Changes@InID}
- {\LWR@textcurrentcolor{\changesauthorname: \Changes@InID}}
- {}
- {\LWR@patcherror{changes}{listofchanges B}}
-
-\xpatchcmd{\listofchanges}
- {(\Changes@InName)}
- {\LWR@textcurrentcolor{(\Changes@InName)}}
- {}
- {\LWR@patcherror{changes}{listofchanges C}}
-
-\xpatchcmd{\listofchanges}
- {\parbox{\Changes@summary@width}}
- {}
- {}
- {\LWR@patcherror{changes}{listofchanges D}}
-
-\xpatchcmd{\Changes@Markup@comment}
- {%
- \ifthenelse{\isAnonymous{#2}}%
- {\textbf{[\arabic{Changes@commentCount#2}]:} }%
- {\textbf{[#3~\arabic{Changes@commentCount#2}]:} }%
- #1%
- }
- {%
- \LWR@textcurrentcolor{% lwarp
- \ifthenelse{\isAnonymous{#2}}%
- {\textbf{[\arabic{Changes@commentCount#2}]:} }%
- {\textbf{[#3~\arabic{Changes@commentCount#2}]:} }%
- #1%
- }% lwarp
- }
- {}
- {\LWR@patcherror{changes}{\Changes@Markup@comment A}}
-
-\xpatchcmd{\Changes@Markup@comment}
- {%
- \uwave{%
- \ifthenelse{\isAnonymous{#2}}%
- {\textbf{[\arabic{Changes@commentCount#2}]:} }%
- {\textbf{[#3~\arabic{Changes@commentCount#2}]:} }%
- #1%
- }%
- }
- {%
- \LWR@textcurrentcolor{% lwarp
- \uwave{%
- \ifthenelse{\isAnonymous{#2}}%
- {\textbf{[\arabic{Changes@commentCount#2}]:} }%
- {\textbf{[#3~\arabic{Changes@commentCount#2}]:} }%
- #1%
- }%
- }% lwarp
- }
- {}
- {\LWR@patcherror{changes}{\Changes@Markup@comment B}}
-
-\xpatchcmd{\Changes@output}
- {\Changes@Markup@author{\Changes@output@author{#2}{left}}}
- {\LWR@textcurrentcolor{\Changes@Markup@author{\Changes@output@author{#2}{left}}}}
- {}
- {\LWR@patcherror{changes}{Changes@output A}}
-
-\xpatchcmd{\Changes@output}
- {%
- \ifthenelse{\equal{#1}{added}}{\Changes@Markup@added{#3}}{}%
- \ifthenelse{\equal{#1}{deleted}}{\Changes@Markup@deleted{#4}}{}%
- \ifthenelse{\equal{#1}{replaced}}{%
- {\Changes@Markup@added{#3}}\allowbreak\Changes@Markup@deleted{#4}%
- }{}%
- \ifthenelse{\equal{#1}{highlight}}{\Changes@Markup@highlight{#3}}{}%
- }
- {%
- \LWR@textcurrentcolor{%
- \ifthenelse{\equal{#1}{added}}{\Changes@Markup@added{#3}}{}%
- \ifthenelse{\equal{#1}{deleted}}{\Changes@Markup@deleted{#4}}{}%
- \ifthenelse{\equal{#1}{replaced}}{%
- {\Changes@Markup@added{#3}}\allowbreak\Changes@Markup@deleted{#4}%
- }{}%
- \ifthenelse{\equal{#1}{highlight}}{\Changes@Markup@highlight{#3}}{}%
- }%
- }
- {}
- {\LWR@patcherror{changes}{Changes@output B}}
+\renewcommand{\Changes@Markup@comment}[3]{%
+\IfStrEq{\Changes@optioncommentmarkup}{todo}%
+{%
+\IfIsColored%
+{\colorlet{Changes@todocolor}{authorcolor}}%
+{\colorlet{Changes@todocolor}{black}}%
+\todo[color=Changes@todocolor!10, bordercolor=Changes@todocolor, linecolor=Changes@todocolor!70, nolist]{\textbf{[\IfIsAnonymous{#2}{}{#3~}\arabic{authorcommentcount}]} #1}%
+}{}%
+\IfStrEq{\Changes@optioncommentmarkup}{margin}%
+{%
+\marginpar{%
+\IfIsColored%
+{\leavevmode\color{authorcolor}}%
+{}%
+ \LWR@textcurrentcolor{% lwarp
+\textbf{[\IfIsAnonymous{#2}{}{#3~}\arabic{Changes@commentCount#2}]:} #1%
+ }% lwarp
+}%
+}{}%
+\IfStrEq{\Changes@optioncommentmarkup}{footnote}%
+{%
+\footnote{%
+ \LWR@textcurrentcolor{% lwarp
+\textbf{[\IfIsAnonymous{#2}{}{#3~}\arabic{Changes@commentCount#2}]:} #1%
+ }% lwarp
+}%
+}{}%
+\IfStrEq{\Changes@optioncommentmarkup}{uwave}%
+{%
+{%
+\IfIsColored%
+{\color{authorcolor}}%
+{}%
+\allowbreak%
+\uwave{%
+\textbf{[\IfIsAnonymous{#2}{}{#3~}\arabic{Changes@commentCount#2}]:} #1%
+}%
+}%
+}{}%
+}
-\xpatchcmd{\Changes@output}
- {\Changes@Markup@author{\Changes@output@author{#2}{right}}}
- {\LWR@textcurrentcolor{\Changes@Markup@author{\Changes@output@author{#2}{right}}}}
- {}
- {\LWR@patcherror{changes}{Changes@output C}}
+\renewrobustcmd{\Changes@output}[7]{%
+\ifbool{Changes@optiondraft}%
+{%
+\Changes@check@author{#2}%
+\Changes@set@color{#2}%
+{%
+\IfIsInList{#1}{added|deleted|replaced|highlight}%
+{%
+\IfIsEmpty{#5}%
+{%
+\IfIsAuthorEmptyAtPosition{#2}{left}%
+{}%
+{{%
+\IfIsColored%
+{\color{authorcolor}}%
+{}%
+ \LWR@textcurrentcolor{% lwarp
+\Changes@Markup@author{\Changes@output@author{#2}{left}}%
+ }% lwarp
+}}%
+}{}%
+{%
+\IfStrEq{#1}{highlight}%
+{}{%
+\IfIsColored%
+{\color{authorcolor}}%
+{}%
+}%
+ \LWR@textcurrentcolor{% lwarp
+\IfStrEq{#1}{added}{\Changes@Markup@added{#3}}{}%
+\IfStrEq{#1}{deleted}{\Changes@Markup@deleted{#4}}{}%
+\IfStrEq{#1}{replaced}{{\Changes@Markup@added{#3}}\allowbreak\Changes@Markup@deleted{#4}}{}%
+\IfStrEq{#1}{highlight}{\Changes@Markup@highlight{#3}}{}%
+ }% lwarp
+}%
+\IfIsEmpty{#5}%
+{%
+\IfIsAuthorEmptyAtPosition{#2}{right}%
+{}%
+{{%
+\IfIsColored%
+{\color{authorcolor}}%
+{}%
+ \LWR@textcurrentcolor{% lwarp
+\Changes@Markup@author{\Changes@output@author{#2}{right}}%
+ }% lwarp
+}}%
+}{}%
+\stepcounter{Changes@#1Count#2}%
+}{}%
+\IfIsEmpty{#5}%
+{}%
+{%
+\stepcounter{Changes@commentCount#2}%
+\Changes@set@commentcount{#2}%
+\Changes@Markup@comment%
+{#5}%
+{#2}%
+{\Changes@output@author{#2}{left}\Changes@output@author{#2}{right}}%
+}%
+}%
+\IfIsEmpty{#2}%
+{\def\Changes@locid{}}%
+{\def\Changes@locid{~(#2)}}%
+\addtocontents{\Changes@locextension}{\protect\ChangesListline{#1}{#6\Changes@locid}{#7}{\thepage}}%
+}%
+{%
+\IfIsEmpty{#3}%
+{\@bsphack\@esphack}%
+{#3}%
+}%
+}
\endinput
%%
%% End of file `lwarp-changes.sty'.
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-chemgreek.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-chemgreek.sty
index e70c3474836..36656de3c16 100644
--- a/Master/texmf-dist/tex/latex/lwarp/lwarp-chemgreek.sty
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-chemgreek.sty
@@ -16,7 +16,7 @@
%% and version 1.3 or later is part of all distributions of LaTeX
%% version 2005/12/01 or later.
-\LWR@ProvidesPackagePass{chemgreek}[2016/02/10]
+\LWR@ProvidesPackagePass{chemgreek}[2020/01/16]
\ExplSyntaxOn
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-citeref.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-citeref.sty
new file mode 100644
index 00000000000..1487f48a0e0
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-citeref.sty
@@ -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@ProvidesPackagePass{citeref}[1999/27/05]
+\def\@cprwrite#1={\write\@auxout{\string\citepageref{#1}{\theLWR@currentautosec}}}
+
+\def\citepageref#1#2{%
+ \xdef\cpr@testa{\@nameuse{cpr@last@#1}}%letzte Zitatstelle
+ \xdef\cpr@testb{#2}% Seite dieser Zitatstelle
+ \ifx\cpr@testa\cpr@testb%
+ \relax% Konsekutive identische Seitenangaben weglassen
+ \else%
+ \@namexdef{cpr@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'.
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-cleveref.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-cleveref.sty
new file mode 100644
index 00000000000..4bab8b37616
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-cleveref.sty
@@ -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@ProvidesPackagePass{cleveref}[2018/03/27]
+\def\LWR@orig@@@setcref#1#2{\cref@getlabel{#2}{\@templabel}#1{\@templabel}{}{}}%
+
+\ifdefequal{\@@setcref}{\LWR@orig@@@setcref}{% before v0.21
+ \renewcommand*{\@@setcref}[2]{#1{\ref{#2}}{}{}}
+}{
+ \ifdefequal{\@@@setcref}{\LWR@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@orig@@@setcrefrange#1#2#3{%
+ \cref@getlabel{#2}{\@labela}%
+ \cref@getlabel{#3}{\@labelb}%
+ #1{\@labela}{\@labelb}{}{}{}{}}%
+
+\ifdefequal{\@@setcrefrange}{\LWR@orig@@@setcrefrange}{
+ \renewcommand{\@@setcrefrange}[3]{%
+ #1{\ref{#2}}{\ref{#3}}{}{}{}{}%
+ }
+}{
+ \ifdefequal{\@@@setcrefrange}{\LWR@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@orig@@setcpageref#1#2{% before v0.21
+ \cref@getpageref{#2}{\@temppage}#1{\@temppage}{}{}}%
+
+\def\LWR@orig@@@setcpageref#1#2{% as of v0.21
+ \cpageref@getlabel{#2}{\@temppage}#1{\@temppage}{}{}}%
+
+\ifdefequal{\@@setcpageref}{\LWR@orig@@setcpageref}{
+ \renewcommand*{\@@setcpageref}[2]{%
+ #1{\cpagerefFor\ \cref{#2}}{}{}%
+ }
+}{
+ \ifdefequal{\@@@setcpageref}{\LWR@orig@@@setcpageref}{
+ \renewcommand*{\@@@setcpageref}[2]{%
+ #1{\cpagerefFor\ \cref{#2}}{}{}%
+ }
+ }
+ {
+ \PackageWarningNoLine{lwarp-cleveref}{
+ Unknown version of cleveref.
+ \protect\cpageref\space will fail.
+ }
+ }
+}
+
+
+\def\LWR@orig@@setcpagerefrange#1#2#3{% before v0.21
+ \cref@getpageref{#2}{\@pagea}%
+ \cref@getpageref{#3}{\@pageb}%
+ #1{\@pagea}{\@pageb}{}{}{}{}}%
+
+\def\LWR@orig@@@setcpagerefrange#1#2#3{% as of v0.21
+ \cpageref@getlabel{#2}{\@pagea}%
+ \cpageref@getlabel{#3}{\@pageb}%
+ #1{\@pagea}{\@pageb}{}{}{}{}}%
+
+\ifdefequal{\@@setcpagerefrange}{\LWR@orig@@setcpagerefrange}{
+ \renewcommand*{\@@setcpagerefrange}[3]{%
+ #1{\cpagerefFor\ \cref{#2}}{\cref{#3}}{}{}{}{}%
+ }
+}{
+ \ifdefequal{\@@@setcpagerefrange}{\LWR@orig@@@setcpagerefrange}{
+ \renewcommand*{\@@@setcpagerefrange}[3]{%
+ #1{\cpagerefFor\ \cref{#2}}{\cref{#3}}{}{}{}{}%
+ }
+ }
+ {
+ \PackageWarningNoLine{lwarp-cleveref}{
+ Unknown version of cleveref.
+ \protect\cpagerefrange\space will fail.
+ }
+ }
+}
+\LWR@absorbstar{cref}
+\LWR@absorbstar{Cref}
+\LWR@absorbstar{crefrange}
+\LWR@absorbstar{Crefrange}
+\LWR@absorbstar{cpageref}
+\LWR@absorbstar{Cpageref}
+\LWR@absorbstar{cpagerefrange}
+\LWR@absorbstar{Cpagerefrange}
+\LWR@absorbstar{labelcref}
+\LWR@absorbstar{labelcpageref}
+\@ifpackageloaded{varioref}{
+ \LWR@absorbstar{vref}
+ \LWR@absorbstar{Vref}
+ \LWR@absorbstar{vrefrange}
+ \LWR@absorbstar{Vrefrange}
+ \LWR@absorbstar{fullref}
+ \LWR@absorbstar{Fullref}
+}{}% varioref
+\endinput
+%%
+%% End of file `lwarp-cleveref.sty'.
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-cmbright.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-cmbright.sty
new file mode 100644
index 00000000000..a90525a017a
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-cmbright.sty
@@ -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@ProvidesPackagePass{cmbright}[2005/04/13]
+
+\LWR@infoprocessingmathjax{cmbright}
+\LWR@origRequirePackage{lwarp-common-mathjax-letters}
+
+\begin{warpMathJax}
+
+\@ifpackagewith{cmbright}{slantedGreek}
+{
+ \LWR@mathjax@addgreek@u@it*{}{}
+}
+{}
+
+\LWR@mathjax@addgreek@u@up*{up}{}
+
+\CustomizeMathJax{\newcommand{\mathbold}[1]{\boldsymbol{#1}}}
+
+\end{warpMathJax}
+\endinput
+%%
+%% End of file `lwarp-cmbright.sty'.
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-colonequals.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-colonequals.sty
index df0439f31c2..e7a746a6ad7 100644
--- a/Master/texmf-dist/tex/latex/lwarp/lwarp-colonequals.sty
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-colonequals.sty
@@ -19,24 +19,24 @@
\begin{warpMathJax}
\LWR@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
%%
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-colortbl.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-colortbl.sty
index e8f3eba8db4..21fc08d2864 100644
--- a/Master/texmf-dist/tex/latex/lwarp/lwarp-colortbl.sty
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-colortbl.sty
@@ -58,6 +58,12 @@
\AtBeginDocument{\LWR@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'.
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-common-mathjax-letters.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-common-mathjax-letters.sty
new file mode 100644
index 00000000000..13908ab2645
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-common-mathjax-letters.sty
@@ -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@mathjax@addletter}{s m m m m m}{
+ \IfBooleanTF{#2}%
+ {\edef\LWR@tempone{\LWRtexttitlecase{#5}}}%
+ {\edef\LWR@tempone{#5}}%
+ \xdef\LWR@customizedMathJax{%
+ \LWR@customizedMathJax%
+ \LWRbackslash(%
+ \LWRbackslash def\LWRbackslash%
+ #3% prefix
+ \LWR@tempone%name
+ #4% postfix
+ \LWRleftbrace%
+ }%
+ \IfBooleanTF{#1}{%
+ \xdef\LWR@customizedMathJax{%
+ \LWR@customizedMathJax%
+ \LWRbackslash mathit\LWRleftbrace%
+ \LWRbackslash unicode\LWRleftbrace x#6\LWRrightbrace%
+ \LWRrightbrace%
+ }%
+ }{%
+ \xdef\LWR@customizedMathJax{%
+ \LWR@customizedMathJax%
+ \LWRbackslash unicode\LWRleftbrace x#6\LWRrightbrace%
+ }%
+ }%
+ \xdef\LWR@customizedMathJax{%
+ \LWR@customizedMathJax%
+ \LWRrightbrace\LWRbackslash)\par%
+ }%
+}
+\NewDocumentCommand{\LWR@mathjax@addgreek@l@up}{s m m}{
+ \LWR@mathjax@addletter{#1}{#2}{#3}{alpha}{03B1}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{beta}{03B2}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{varbeta}{03D0}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{gamma}{03B3}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{digamma}{03DD}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{delta}{03B4}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{epsilon}{03F5}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{varepsilon}{03B5}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{zeta}{03B6}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{eta}{03B7}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{theta}{03B8}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{vartheta}{03D1}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{iota}{03B9}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{kappa}{03BA}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{varkappa}{03F0}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{lambda}{03BB}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{mu}{03BC}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{nu}{03BD}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{xi}{03BE}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{omicron}{03BF}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{pi}{03C0}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{varpi}{03D6}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{rho}{03C1}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{varrho}{03F1}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{sigma}{03C3}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{varsigma}{03C2}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{tau}{03C4}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{upsilon}{03C5}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{phi}{03D5}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{varphi}{03C6}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{chi}{03C7}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{psi}{03C8}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{omega}{03C9}
+}
+\NewDocumentCommand{\LWR@mathjax@addgreek@u@up}{s m m}{
+ \LWR@mathjax@addletter{#1}{#2}{#3}{alpha}{0391}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{beta}{0392}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{gamma}{0393}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{digamma}{03DC}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{delta}{0394}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{epsilon}{0395}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{zeta}{0396}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{eta}{0397}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{theta}{0398}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{vartheta}{03F4}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{iota}{0399}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{kappa}{039A}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{lambda}{039B}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{mu}{039C}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{nu}{039D}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{xi}{039E}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{omicron}{039F}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{pi}{03A0}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{varpi}{03D6}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{rho}{03A1}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{sigma}{03A3}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{tau}{03A4}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{upsilon}{03A5}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{phi}{03A6}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{chi}{03A7}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{psi}{03A8}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{omega}{03A9}
+}
+\NewDocumentCommand{\LWR@mathjax@addgreek@l@it}{s m m}{
+ \LWR@mathjax@addletter{#1}{#2}{#3}{alpha}{1D6FC}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{beta}{1D6FD}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{varbeta}{03D0}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{gamma}{1D6FE}
+ \LWR@mathjax@addletter*{#1}{#2}{#3}{digamma}{03DD}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{delta}{1D6FF}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{epsilon}{1D716}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{varepsilon}{1D700}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{zeta}{1D701}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{eta}{1D702}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{theta}{1D703}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{vartheta}{1D717}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{iota}{1D704}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{kappa}{1D705}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{varkappa}{1D718}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{lambda}{1D706}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{mu}{1D707}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{nu}{1D708}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{xi}{1D709}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{omicron}{1D70A}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{pi}{1D70B}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{varpi}{1D71B}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{rho}{1D70C}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{varrho}{1D71A}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{sigma}{1D70E}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{varsigma}{1D70D}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{tau}{1D70F}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{upsilon}{1D710}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{phi}{1D719}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{varphi}{1D711}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{chi}{1D712}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{psi}{1D713}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{omega}{1D714}
+}
+\NewDocumentCommand{\LWR@mathjax@addgreek@u@it}{s m m}{
+ \LWR@mathjax@addletter{#1}{#2}{#3}{alpha}{1D6E2}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{beta}{1D6E3}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{gamma}{1D6E4}
+ \LWR@mathjax@addletter*{#1}{#2}{#3}{digamma}{03DC}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{delta}{1D6E5}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{epsilon}{1D6E6}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{zeta}{1D6E7}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{eta}{1D6E8}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{theta}{1D6E9}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{vartheta}{1D6F3}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{iota}{1D6EA}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{kappa}{1D6EB}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{lambda}{1D6EC}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{mu}{1D6ED}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{nu}{1D6EE}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{xi}{1D6EF}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{omicron}{1D6F0}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{pi}{1D6F1}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{rho}{1D6F2}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{sigma}{1D6F4}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{tau}{1D6F5}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{upsilon}{1D6F6}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{phi}{1D6F7}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{chi}{1D6F8}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{psi}{1D6F9}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{omega}{1D6FA}
+}
+\NewDocumentCommand{\LWR@mathjax@addgreek@l@bfit}{s m m}{
+ \LWR@mathjax@addletter{#1}{#2}{#3}{alpha}{1D736}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{beta}{1D737}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{varbeta}{03D0}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{gamma}{1D738}
+ \LWR@mathjax@addletter*{#1}{#2}{#3}{digamma}{03DD}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{delta}{1D739}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{epsilon}{1D750}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{varepsilon}{1D73A}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{zeta}{1D73B}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{eta}{1D73C}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{theta}{1D73D}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{vartheta}{1D751}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{iota}{1D73E}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{kappa}{1D73F}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{varkappa}{1D752}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{lambda}{1D740}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{mu}{1D741}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{nu}{1D742}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{xi}{1D743}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{omicron}{1D744}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{pi}{1D745}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{varpi}{1D755}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{rho}{1D746}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{varrho}{1D754}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{sigma}{1D748}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{varsigma}{1D747}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{tau}{1D749}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{upsilon}{1D74A}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{phi}{1D753}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{varphi}{1D74B}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{chi}{1D74C}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{psi}{1D74D}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{omega}{1D74E}
+}
+\NewDocumentCommand{\LWR@mathjax@addgreek@u@bfit}{s m m}{
+ \LWR@mathjax@addletter{#1}{#2}{#3}{alpha}{1D71C}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{beta}{1D71D}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{gamma}{1D71E}
+ \LWR@mathjax@addletter*{#1}{#2}{#3}{digamma}{03DC}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{delta}{1D71F}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{epsilon}{1D720}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{zeta}{1D721}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{eta}{1D722}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{theta}{1D723}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{vartheta}{1D72D}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{iota}{1D724}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{kappa}{1D725}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{lambda}{1D726}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{mu}{1D727}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{nu}{1D728}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{xi}{1D729}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{omicron}{1D72A}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{pi}{1D72B}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{rho}{1D72C}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{sigma}{1D72E}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{tau}{1D72F}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{upsilon}{1D730}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{phi}{1D731}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{chi}{1D732}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{psi}{1D733}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{omega}{1D734}
+}
+\NewDocumentCommand{\LWR@mathjax@addgreek@u@bfup}{s m m}{
+ \LWR@mathjax@addletter{#1}{#2}{#3}{alpha}{1D6A8}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{beta}{1D6A9}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{gamma}{1D6AA}
+ \LWR@mathjax@addletter*{#1}{#2}{#3}{digamma}{03DC}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{delta}{1D6AB}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{epsilon}{1D6AC}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{zeta}{1D6AD}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{eta}{1D6AE}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{theta}{1D6AF}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{vartheta}{1D6B9}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{iota}{1D6B0}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{kappa}{1D6B1}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{lambda}{1D6B2}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{mu}{1D6B3}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{nu}{1D6B4}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{xi}{1D6B5}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{omicron}{1D6B6}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{pi}{1D6B7}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{rho}{1D6B8}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{sigma}{1D6BA}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{tau}{1D6BB}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{upsilon}{1D6BC}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{phi}{1D6BD}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{chi}{1D6BE}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{psi}{1D6BF}
+ \LWR@mathjax@addletter{#1}{#2}{#3}{omega}{1D6C0}
+}
+\NewDocumentCommand{\LWR@mathjax@addlatin@u@bfit}{m}{
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{A}{1D468}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{B}{1D469}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{C}{1D46A}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{D}{1D46B}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{E}{1D46C}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{F}{1D46D}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{G}{1D46E}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{H}{1D46F}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{I}{1D470}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{J}{1D471}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{K}{1D472}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{L}{1D473}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{M}{1D474}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{N}{1D475}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{O}{1D476}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{P}{1D477}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{Q}{1D478}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{R}{1D479}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{S}{1D47A}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{T}{1D47B}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{U}{1D47C}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{V}{1D47D}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{W}{1D47E}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{X}{1D47F}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{Y}{1D480}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{Z}{1D481}
+}
+\NewDocumentCommand{\LWR@mathjax@addlatin@l@bfit}{m}{
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{a}{1D482}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{b}{1D483}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{c}{1D484}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{d}{1D485}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{e}{1D486}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{f}{1D487}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{g}{1D488}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{h}{1D489}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{i}{1D48A}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{j}{1D48B}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{k}{1D48C}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{l}{1D48D}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{m}{1D48E}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{n}{1D48F}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{o}{1D490}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{p}{1D491}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{q}{1D492}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{r}{1D493}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{s}{1D494}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{t}{1D495}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{u}{1D496}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{v}{1D497}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{w}{1D498}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{x}{1D499}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{y}{1D49A}
+ \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{z}{1D49B}
+}
+\end{warpMathJax}
+
+\endinput
+%%
+%% End of file `lwarp-common-mathjax-letters.sty'.
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-common-mathjax-newpxtxmath.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-common-mathjax-newpxtxmath.sty
new file mode 100644
index 00000000000..245f4efea93
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-common-mathjax-newpxtxmath.sty
@@ -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@origRequirePackage{lwarp-common-mathjax-nonunicode}
+\LWR@origRequirePackage{lwarp-common-mathjax-overlaysymbols}
+
+\begin{warpMathJax}
+\CustomizeMathJax{\newcommand{\fAlt}{f}}
+\CustomizeMathJax{\newcommand{\rhoAlt}{\rho}}
+
+\CustomizeMathJax{\newcommand{\imathscr}{\mathord{\mathscr{i}}}}
+\CustomizeMathJax{\newcommand{\jmathscr}{\mathord{\mathscr{j}}}}
+\CustomizeMathJax{\let\llbracket\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'.
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-common-mathjax-nonunicode.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-common-mathjax-nonunicode.sty
new file mode 100644
index 00000000000..299b3e86a53
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-common-mathjax-nonunicode.sty
@@ -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@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'.
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-common-mathjax-overlaysymbols.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-common-mathjax-overlaysymbols.sty
new file mode 100644
index 00000000000..af18aa677a8
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-common-mathjax-overlaysymbols.sty
@@ -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'.
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-common-multimedia.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-common-multimedia.sty
index cb8cb93ecce..3bb50cf9c8e 100644
--- a/Master/texmf-dist/tex/latex/lwarp/lwarp-common-multimedia.sty
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-common-multimedia.sty
@@ -67,14 +67,14 @@
\LWR@parsedfilename\unskip\textquotedbl\ % space
type=\textquotedbl{}#4\textquotedbl}
\LWR@startpars
- \href{\LWR@parsedfilename}{#1}
+ \LWR@href{\LWR@parsedfilename}{#1}
\LWR@stoppars
\LWR@htmltag{/#3}\LWR@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@multimedia@httpAV}[4]{%
@@ -96,7 +96,7 @@
src=\textquotedbl#2\textquotedbl\ % space
type=\textquotedbl#4\textquotedbl}
\LWR@startpars
- \href{#2}{#1}
+ \LWR@href{#2}{#1}
\LWR@stoppars
\LWR@htmltag{/#3}\LWR@orignewline
\end{BlockClass}
@@ -125,11 +125,13 @@
\newcommand*{\LWR@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@multimediab}[3][]{%
\if#1\@percentchar\LWR@multimedia@percenterror\fi%
@@ -147,7 +149,7 @@
\IfBeginWith{#3}{HTTP}{\LWR@multimedia@embed{#2}{#3}{}}{%
\IfBeginWith{#3}{ftp}{\LWR@multimedia@embed{#2}{#3}{}}{%
\IfBeginWith{#3}{FTP}{\LWR@multimedia@embed{#2}{#3}{}}{%
- \href{#3}{#2}% unknown format
+ \LWR@href{#3}{#2}% unknown format
}}}}}}}}%
\LWR@startpars%
\endgroup%
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-ctable.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-ctable.sty
index af13cc11569..f6ec39b8f7b 100644
--- a/Master/texmf-dist/tex/latex/lwarp/lwarp-ctable.sty
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-ctable.sty
@@ -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
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-drftcite.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-drftcite.sty
new file mode 100644
index 00000000000..933bb9ea873
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-drftcite.sty
@@ -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@ProvidesPackagePass{drftcite}[1995/01/23]
+\def\@lbibitem[#1]#2{\global\@HighCite\z@
+ \item[
+ \textsuperscript{\@nameuse{DCN@#2\@extra@b@citeb}}~% lwarp
+ \@biblabel{\@ifundefined{DCN@#2\@extra@b@citeb}{\@warning
+ {Reference `#2' on page \thepage\space was never cited}}{}%
+ \@citeverb{#2}}\hfil]\if@filesw{\def\protect##1{\string ##1\space}%
+ \immediate\write\@auxout{\string\bibcite{#2}{#1}}}\fi\ignorespaces}
+\endinput
+%%
+%% End of file `lwarp-drftcite.sty'.
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-easy-todo.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-easy-todo.sty
index 40cc1e43207..2211e722418 100644
--- a/Master/texmf-dist/tex/latex/lwarp/lwarp-easy-todo.sty
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-easy-todo.sty
@@ -18,12 +18,12 @@
\LWR@ProvidesPackagePass{easy-todo}[2014/01/01]
-\let\LWR@origlistoftodos\listoftodos
+\let\LWR@easytodo@origlistoftodos\listoftodos
\renewcommand{\listoftodos}{%
\begingroup
\renewcommand{\flushright}{}
-\LWR@origlistoftodos
+\LWR@easytodo@origlistoftodos
\endgroup
}
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-econometrics.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-econometrics.sty
index cd13f054a84..ff04a364424 100644
--- a/Master/texmf-dist/tex/latex/lwarp/lwarp-econometrics.sty
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-econometrics.sty
@@ -16,6 +16,8 @@
%% and version 1.3 or later is part of all distributions of LaTeX
%% version 2005/12/01 or later.
\LWR@ProvidesPackagePass{econometrics}% no date specified in the original
+\LWR@origRequirePackage{lwarp-common-mathjax-letters}
+
\begin{warpMathJax}
\LWR@infoprocessingmathjax{econometrics}
@@ -52,95 +54,11 @@
\CustomizeMathJax{\newcommand{\calY}{\mathcal{Y}}}
\CustomizeMathJax{\newcommand{\calZ}{\mathcal{Z}}}
-\CustomizeMathJax{\newcommand{\mA}{\bm A}}
-\CustomizeMathJax{\newcommand{\va}{\bm a}}
-\CustomizeMathJax{\newcommand{\mB}{\bm B}}
-\CustomizeMathJax{\newcommand{\vb}{\bm b}}
-\CustomizeMathJax{\newcommand{\mC}{\bm C}}
-\CustomizeMathJax{\newcommand{\vc}{\bm c}}
-\CustomizeMathJax{\newcommand{\mD}{\bm D}}
-\CustomizeMathJax{\newcommand{\vd}{\bm d}}
-\CustomizeMathJax{\newcommand{\mE}{\bm E}}
-\CustomizeMathJax{\newcommand{\ve}{\bm e}}
-\CustomizeMathJax{\newcommand{\mF}{\bm F}}
-\CustomizeMathJax{\newcommand{\vf}{\bm f}}
-\CustomizeMathJax{\newcommand{\mG}{\bm G}}
-\CustomizeMathJax{\newcommand{\vg}{\bm g}}
-\CustomizeMathJax{\newcommand{\mH}{\bm H}}
-\CustomizeMathJax{\newcommand{\vh}{\bm h}}
-\CustomizeMathJax{\newcommand{\mI}{\bm I}}
-\CustomizeMathJax{\newcommand{\vi}{\bm i}}
-\CustomizeMathJax{\newcommand{\mJ}{\bm J}}
-\CustomizeMathJax{\newcommand{\vj}{\bm j}}
-\CustomizeMathJax{\newcommand{\mK}{\bm K}}
-\CustomizeMathJax{\newcommand{\vk}{\bm k}}
-\CustomizeMathJax{\newcommand{\mL}{\bm L}}
-\CustomizeMathJax{\newcommand{\vl}{\bm l}}
-\CustomizeMathJax{\newcommand{\mM}{\bm M}}
-\CustomizeMathJax{\newcommand{\vm}{\bm m}}
-\CustomizeMathJax{\newcommand{\mN}{\bm N}}
-\CustomizeMathJax{\newcommand{\vn}{\bm n}}
-\CustomizeMathJax{\newcommand{\mO}{\bm O}}
-\CustomizeMathJax{\newcommand{\vo}{\bm o}}
-\CustomizeMathJax{\newcommand{\mP}{\bm P}}
-\CustomizeMathJax{\newcommand{\vp}{\bm p}}
-\CustomizeMathJax{\newcommand{\mQ}{\bm Q}}
-\CustomizeMathJax{\newcommand{\vq}{\bm q}}
-\CustomizeMathJax{\newcommand{\mR}{\bm R}}
-\CustomizeMathJax{\newcommand{\vr}{\bm r}}
-\CustomizeMathJax{\newcommand{\mS}{\bm S}}
-\CustomizeMathJax{\newcommand{\vs}{\bm s}}
-\CustomizeMathJax{\newcommand{\mT}{\bm T}}
-\CustomizeMathJax{\newcommand{\vt}{\bm t}}
-\CustomizeMathJax{\newcommand{\mU}{\bm U}}
-\CustomizeMathJax{\newcommand{\vu}{\bm u}}
-\CustomizeMathJax{\newcommand{\mV}{\bm V}}
-\CustomizeMathJax{\newcommand{\vv}{\bm v}}
-\CustomizeMathJax{\newcommand{\mW}{\bm W}}
-\CustomizeMathJax{\newcommand{\vw}{\bm w}}
-\CustomizeMathJax{\newcommand{\mX}{\bm X}}
-\CustomizeMathJax{\newcommand{\vx}{\bm x}}
-\CustomizeMathJax{\newcommand{\mY}{\bm Y}}
-\CustomizeMathJax{\newcommand{\vy}{\bm y}}
-\CustomizeMathJax{\newcommand{\mZ}{\bm Z}}
-\CustomizeMathJax{\newcommand{\vz}{\bm z}}
-
-\CustomizeMathJax{\newcommand{\valpha}{\bm \alpha}}
-\CustomizeMathJax{\newcommand{\vbeta}{\bm \beta}}
-\CustomizeMathJax{\newcommand{\vgamma}{\bm \gamma}}
-\CustomizeMathJax{\newcommand{\vdelta}{\bm \delta}}
-\CustomizeMathJax{\newcommand{\vepsi}{\bm \epsi}}
-\CustomizeMathJax{\newcommand{\vvarepsilon}{\bm \varepsilon}}
-\CustomizeMathJax{\newcommand{\vzeta}{\bm \zeta}}
-\CustomizeMathJax{\newcommand{\veta}{\bm \eta}}
-\CustomizeMathJax{\newcommand{\vtheta}{\bm \theta}}
-\CustomizeMathJax{\newcommand{\viota}{\bm \iota}}
-\CustomizeMathJax{\newcommand{\vkappa}{\bm \kappa}}
-\CustomizeMathJax{\newcommand{\vlambda}{\bm \lambda}}
-\CustomizeMathJax{\newcommand{\vmu}{\bm \mu}}
-\CustomizeMathJax{\newcommand{\vnu}{\bm \nu}}
-\CustomizeMathJax{\newcommand{\vxi}{\bm \xi}}
-\CustomizeMathJax{\newcommand{\vpi}{\bm \pi}}
-\CustomizeMathJax{\newcommand{\vrho}{\bm \rho}}
-\CustomizeMathJax{\newcommand{\vsigma}{\bm \sigma}}
-\CustomizeMathJax{\newcommand{\vtau}{\bm \tau}}
-\CustomizeMathJax{\newcommand{\vupsilon}{\bm \upsilon}}
-\CustomizeMathJax{\newcommand{\vphi}{\bm \phi}}
-\CustomizeMathJax{\newcommand{\vchi}{\bm \chi}}
-\CustomizeMathJax{\newcommand{\vpsi}{\bm \psi}}
-\CustomizeMathJax{\newcommand{\vomega}{\bm \omega}}
-
-\CustomizeMathJax{\newcommand{\mGamma}{\bm \varGamma}}
-\CustomizeMathJax{\newcommand{\mDelta}{\bm \varDelta}}
-\CustomizeMathJax{\newcommand{\mTheta}{\bm \varTheta}}
-\CustomizeMathJax{\newcommand{\mLambda}{\bm \varLambda}}
-\CustomizeMathJax{\newcommand{\mXi}{\bm \varXi}}
-\CustomizeMathJax{\newcommand{\mPi}{\bm \varPi}}
-\CustomizeMathJax{\newcommand{\mSigma}{\bm \varSigma}}
-\CustomizeMathJax{\newcommand{\mUpsilon}{\bm \varUpsilon}}
-\CustomizeMathJax{\newcommand{\mPhi}{\bm \varPhi}}
-\CustomizeMathJax{\newcommand{\mPsi}{\bm \varPsi}}
-\CustomizeMathJax{\newcommand{\mOmega}{\bm \varOmega}}
+\LWR@mathjax@addlatin@u@bfit{m}% uppercase Latin, bold italic
+\LWR@mathjax@addlatin@l@bfit{v}% lowercase Latin, bold italic
+
+\LWR@mathjax@addgreek@l@bfit{v}{}% lowercase Greek bold italic
+\LWR@mathjax@addgreek@u@bfit*{m}{}% uppercase Greek bold italic, capitalized macro names
\CustomizeMathJax{\newcommand{\rb}{\mathrm{b}}}
\CustomizeMathJax{\newcommand{\rB}{\mathrm{B}}}
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-ed.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-ed.sty
index a8278bb0004..87379bda4c2 100644
--- a/Master/texmf-dist/tex/latex/lwarp/lwarp-ed.sty
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-ed.sty
@@ -26,7 +26,7 @@
\textcolor{red}{%
#1 is only a provisional stub\\\Large
the Office document
- \ifx\ed@stubURI\@empty{#2}\else\href{\ed@stubURI}{#2}\fi\
+ \ifx\ed@stubURI\@empty{#2}\else\LWR@href{\ed@stubURI}{#2}\fi\
contains more text\\which will be merged for the final document%
}%
\end{center}%
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-embrac.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-embrac.sty
index ed964cc55ac..8b65a669e1e 100644
--- a/Master/texmf-dist/tex/latex/lwarp/lwarp-embrac.sty
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-embrac.sty
@@ -16,6 +16,9 @@
%% and version 1.3 or later is part of all distributions of LaTeX
%% version 2005/12/01 or later.
\LWR@ProvidesPackagePass{embrac}[2017/07/04]
+\ExplSyntaxOn
+\RenewDocumentCommand{\embrac_kern:n}{m}{}
+\ExplSyntaxOff
\LetLtxMacro\LWR@orig@HTML@emph\LWR@HTML@emph
\RenewDocumentCommand{\LWR@HTML@emph}{s m}{\LWR@orig@HTML@emph{#2}}
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-enumitem.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-enumitem.sty
index d9c7a9acb09..a4f0194744a 100644
--- a/Master/texmf-dist/tex/latex/lwarp/lwarp-enumitem.sty
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-enumitem.sty
@@ -16,7 +16,6 @@
%% and version 1.3 or later is part of all distributions of LaTeX
%% version 2005/12/01 or later.
\LWR@ProvidesPackagePass{enumitem}[2018/11/30]
-\begin{warpHTML}
\let\LWR@enumitem@orignewlist\newlist
@@ -28,8 +27,6 @@
\def\DrawEnumitemLabel{}
-\end{warpHTML}
-
\endinput
%%
%% End of file `lwarp-enumitem.sty'.
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-epigraph.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-epigraph.sty
index cbba1554b38..b6b39e759e1 100644
--- a/Master/texmf-dist/tex/latex/lwarp/lwarp-epigraph.sty
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-epigraph.sty
@@ -18,57 +18,37 @@
-\LWR@ProvidesPackageDrop{epigraph}[2009/09/02]
+\LWR@ProvidesPackagePass{epigraph}[2020/01/02]
-\DeclareDocumentCommand{\qitem}{m m}
-{
-\begin{BlockClass}{qitem}
-#1
-\LWR@stoppars%
-\ifbool{FormatWP}
-{\begin{BlockClass}[border-top:1px solid gray]{epigraphsource}}
-{\begin{BlockClass}{epigraphsource}}
-#2
-\end{BlockClass}
-\end{BlockClass}
+\DeclareDocumentCommand{\LWR@HTML@qitem}{m m}
+{%
+ \begin{BlockClass}{qitem}%
+ #1%
+ \LWR@stoppars%
+ \ifbool{FormatWP}%
+ {\begin{BlockClass}[border-top:1px solid gray]{epigraphsource}}%
+ {\begin{BlockClass}{epigraphsource}}%
+ #2%
+ \end{BlockClass}%
+ \end{BlockClass}%
}
+\LWR@formatted{qitem}
-\DeclareDocumentCommand{\epigraph}{m m}
-{
-\begin{LWR@BlockClassWP}{\LWR@print@mbox{text-align:right}}{}{epigraph}
-\qitem{#1}{#2}
-\end{LWR@BlockClassWP}
+\DeclareDocumentCommand{\LWR@HTML@epigraph}{m m}
+{%
+ \begin{LWR@BlockClassWP}{\LWR@print@mbox{text-align:right}}{}{epigraph}%
+ \qitem{#1}{#2}%
+ \end{LWR@BlockClassWP}%
}
+\LWR@formatted{epigraph}
-\DeclareDocumentEnvironment{epigraphs}{}
-{\LWR@BlockClassWP{\LWR@print@mbox{text-align:right}}{}{epigraph}}
-{\endLWR@BlockClassWP}
-\newenvironment*{flushepinormal}{}{}
-\@ifclassloaded{memoir}{
-\setlength{\epigraphwidth}{.5\linewidth}
-\renewcommand{\textflush}{flushepinormal}
+\DeclareDocumentEnvironment{LWR@HTML@epigraphs}{}
+ {\LWR@BlockClassWP{\LWR@print@mbox{text-align:right}}{}{epigraph}}
+ {\endLWR@BlockClassWP}
+\LWR@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'.
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-epsf.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-epsf.sty
new file mode 100644
index 00000000000..6facb98168d
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-epsf.sty
@@ -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@ProvidesPackagePass{epsf}% not date given
+\xpretocmd{\epsfsetgraph}
+ {\begin{lateximage}}
+ {}
+ {\LWR@patcherror{lwarp-epsf}{epsfsetgraph-begin}}
+
+\xapptocmd{\epsfsetgraph}
+ {\end{lateximage}}
+ {}
+ {\LWR@patcherror{lwarp-epsf}{epsfsetgraph-end}}
+\endinput
+%%
+%% End of file `lwarp-epsf.sty'.
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-epsfig.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-epsfig.sty
index dd576d8f72f..f583b547172 100644
--- a/Master/texmf-dist/tex/latex/lwarp/lwarp-epsfig.sty
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-epsfig.sty
@@ -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@ProvidesPackageDrop{epsfig}[2017/06/25]
+\LWR@ProvidesPackagePass{epsfig}[2017/06/25]
\RequirePackage{graphics}
\define@key{igraph}{file}{%
@@ -29,9 +29,11 @@
\define@key{igraph}{prolog}{}
\define@key{igraph}{silent}[]{}
-\newcommand{\epsfig}[1]{\includegraphics[#1]{\LWR@epsfig@filename}}
+\newcommand{\LWR@HTML@epsfig}[1]{\includegraphics[#1]{\LWR@epsfig@filename}}
+\LWR@formatted{epsfig}
-\newcommand{\psfig}[1]{\includegraphics[#1]{\LWR@epsfig@filename}}
+\newcommand{\LWR@HTML@psfig}[1]{\includegraphics[#1]{\LWR@epsfig@filename}}
+\LWR@formatted{psfig}
\endinput
%%
%% End of file `lwarp-epsfig.sty'.
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-epstopdf-base.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-epstopdf-base.sty
index 3aadedf3d1f..b1263cdb885 100644
--- a/Master/texmf-dist/tex/latex/lwarp/lwarp-epstopdf-base.sty
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-epstopdf-base.sty
@@ -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@ProvidesPackagePass{epstopdf-base}[2016/05/15]
+\LWR@ProvidesPackagePass{epstopdf-base}[2020-01-24]
\newcommand*{\LWR@HTML@ETE@OrgGin@setfile}[3]{%
\edef\LWR@tempone{#3}%
\StrSubstitute{\LWR@tempone}{.pdf}{.svg}[\LWR@tempone]%
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-epstopdf.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-epstopdf.sty
index c0810186956..c40567c6be9 100644
--- a/Master/texmf-dist/tex/latex/lwarp/lwarp-epstopdf.sty
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-epstopdf.sty
@@ -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@ProvidesPackagePass{epstopdf}[2016/05/15]
+\LWR@ProvidesPackagePass{epstopdf}[2020-01-24]
\endinput
%%
%% End of file `lwarp-epstopdf.sty'.
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-errata.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-errata.sty
index 82f56ada638..5826f377623 100644
--- a/Master/texmf-dist/tex/latex/lwarp/lwarp-errata.sty
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-errata.sty
@@ -56,7 +56,7 @@
{}
{\LWR@patcherror{erratum}{eReplace}}
-\preto\PrintErrata{\LWR@orignewpage}
+\preto\PrintErrata{\LWR@maybe@orignewpage}
\StopDefiningMath
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-esvect.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-esvect.sty
new file mode 100644
index 00000000000..9163aec82a5
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-esvect.sty
@@ -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@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'.
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-everyshi.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-everyshi.sty
index ec95b09cdc5..026afd94e31 100644
--- a/Master/texmf-dist/tex/latex/lwarp/lwarp-everyshi.sty
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-everyshi.sty
@@ -16,7 +16,10 @@
%% and version 1.3 or later is part of all distributions of LaTeX
%% version 2005/12/01 or later.
\LWR@ProvidesPackageDrop{everyshi}[2001/05/15]
+\let\EveryShipout\relax
\newcommand*{\EveryShipout}[1]{}
+
+\let\AtNextShipout\relax
\newcommand*{\AtNextShipout}[1]{}
\endinput
%%
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-fancybox.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-fancybox.sty
index 13d54aa9a72..c89fa8c9971 100644
--- a/Master/texmf-dist/tex/latex/lwarp/lwarp-fancybox.sty
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-fancybox.sty
@@ -133,24 +133,24 @@
\def\endLandscape{}
\let\LWRFB@UseVerbatim\UseVerbatim
\renewcommand*{\UseVerbatim}[1]{%
-\LWR@atbeginverbatim{3}{Verbatim}%
+\LWR@atbeginverbatim{Verbatim}%
\LWRFB@UseVerbatim{#1}%
-\LWR@afterendverbatim{.5}%
+\LWR@afterendverbatim%
}
\let\LWRFB@LUseVerbatim\LUseVerbatim
\renewcommand*{\LUseVerbatim}[1]{%
-\LWR@atbeginverbatim{3}{LVerbatim}%
+\LWR@atbeginverbatim{LVerbatim}%
\noindent%
\LWRFB@LUseVerbatim{#1}%
-\LWR@afterendverbatim{.5}%
+\LWR@afterendverbatim%
}
\def\@BUseVerbatim[#1]#2{%
-\LWR@atbeginverbatim{3}{BVerbatim}%
+\LWR@atbeginverbatim{BVerbatim}%
\LWRFB@UseVerbatim{#2}%
-\LWR@afterendverbatim{.5}%
+\LWR@afterendverbatim%
}
\endinput
%%
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-fancyhdr.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-fancyhdr.sty
index e279d899e7f..b3cabd9d596 100644
--- a/Master/texmf-dist/tex/latex/lwarp/lwarp-fancyhdr.sty
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-fancyhdr.sty
@@ -17,12 +17,12 @@
%% version 2005/12/01 or later.
-\LWR@ProvidesPackageDrop{fancyhdr}[2019/01/31]
+\LWR@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@nch@pagestyle{#1}}{\f@nch@pagestyle{#1}[]}%
+}
+\long\def\f@nch@pagestyle#1[#2]#3{}
+
\endinput
%%
%% End of file `lwarp-fancyhdr.sty'.
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-fancyref.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-fancyref.sty
index aafcd3043af..f8b3d3ebcaa 100644
--- a/Master/texmf-dist/tex/latex/lwarp/lwarp-fancyref.sty
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-fancyref.sty
@@ -22,31 +22,6 @@
{}{
\renewcommand*{\fancyrefhook}[1]{#1}%
}
-
-\renewcommand*{\@f@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'.
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-fancyvrb.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-fancyvrb.sty
index 67ef8867df3..a3fab94f2c6 100644
--- a/Master/texmf-dist/tex/latex/lwarp/lwarp-fancyvrb.sty
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-fancyvrb.sty
@@ -65,9 +65,7 @@
\renewcommand*{\FV@SingleFrameSep}{}
\def\FV@BUseVerbatim#1{%
- \LWR@atbeginverbatim{0}{verbatim}%
\FV@BVerbatimBegin#1\FV@BVerbatimEnd%
- \LWR@afterendverbatim{0}%
}
\newcommand*{\LWR@FVstyle}{}
@@ -79,26 +77,26 @@
\ifx\FV@LabelBegin\relax\else
\FancyVerbRuleColor{\LWR@FVfindbordercolor}
\LWR@htmltagc{%
- div class="fancyvrblabel" % extra space
- style="color: \LWR@origpound\LWR@tempcolor"%
+ div class=\textquotedbl{}fancyvrblabel\textquotedbl\ % space
+ style=\textquotedbl{}color: \LWR@origpound\LWR@tempcolor\textquotedbl%
}
\LWR@print@textrm{\FV@LabelBegin}% \textrm preserves emdash
\LWR@htmltagc{/div}\LWR@orignewline%
\fi
\fi
-\LWR@atbeginverbatim{0}{verbatim}%
+\LWR@atbeginverbatim{verbatim}%
}
\newcommand*{\LWR@fvendnone}{%
\LWR@traceinfo{fvendnone}%
-\LWR@afterendverbatim{0}%
+\LWR@afterendverbatim%
\LWR@stoppars%
\ifx\FV@LabelPositionBottomLine\relax\else
\ifx\FV@LabelEnd\relax\else
\FancyVerbRuleColor{\LWR@FVfindbordercolor}
\LWR@htmltagc{%
- div class="fancyvrblabel" % extra space
- style="color: \LWR@origpound\LWR@tempcolor"%
+ div class=\textquotedbl{}fancyvrblabel\textquotedbl\ % space
+ style=\textquotedbl{}color: \LWR@origpound\LWR@tempcolor\textquotedbl%
}
\LWR@print@textrm{\FV@LabelEnd}
\LWR@htmltagc{/div}\LWR@orignewline%
@@ -193,7 +191,7 @@ solid {\FancyVerbRuleColor{\LWR@origpound\LWR@tempcolor}} ; % space
\let\FV@LeftListFrame\relax%
\let\FV@RightListFrame\relax%
\let\FV@EndListFrame\LWR@fvendline}
-
+\def\FV@FrameFillLine{}%
\def\FV@Frame@leftline{%
\renewcommand*{\LWR@FVstyle}{%
\LWR@currenttextcolorstyle\LWR@indentHTMLtwo%
@@ -244,16 +242,30 @@ solid {\FancyVerbRuleColor{\LWR@origpound\LWR@tempcolor}} ; % space
}
}
-\AtBeginEnvironment{BVerbatim}
-{%
-\LWR@forcenewpage% instead of \preto
-\LWR@atbeginverbatim{0}{bverbatim}%
+\def\FV@ListProcessLine@i#1{%
+ \ifvoid\@labels\else
+ \hbox to \z@{\kern\@totalleftmargin\box\@labels\hss}%
+ \fi
+ \FV@ListProcessLine{#1}%
}
-\AfterEndEnvironment{BVerbatim}
-{%
-\LWR@afterendverbatim{0}%
-}
+\def\FV@ListProcessLastLine{}
+
+
+\xpretocmd{\FV@BeginVBox}
+ {%
+ \LWR@forcenewpage% instead of \preto
+ \LWR@atbeginverbatim{bverbatim}%
+ }
+ {}
+ {\LWR@patcherror{fancyvrb}{FV@BeginVBox}}
+
+\xapptocmd{\FV@EndVBox}
+ {%
+ \LWR@afterendverbatim%
+ }
+ {}
+ {\LWR@patcherror{fancyvrb}{FV@EndVBox}}
} % \AfterEndPreamble
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-fbox.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-fbox.sty
new file mode 100644
index 00000000000..f1a49c4f319
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-fbox.sty
@@ -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@ProvidesPackagePass{fbox}[2020/06/22]
+\LetLtxMacro\LWR@HTML@fbox\fbox
+\renewcommand*{\orig@fbox}{\FBox@i[tblr]}
+\newcommand*{\LWR@fboxpkg@border}[2]{%
+ \appto\LWR@tempone{%
+ border-#1: % space
+ \LWR@printlength{\LWR@atleastonept} % space
+ solid \LWR@origpound\LWR@tempcolor ;\LWR@indentHTML
+ }%
+ \ifblank{#2}{}{%
+ \appto\LWR@tempone{%
+ padding-#1: \LWR@printlength{#2} ;\LWR@indentHTML
+ }%
+ }%
+}
+\newbool{LWR@fboxpkg@ispar}
+\boolfalse{LWR@fboxpkg@ispar}
+\newcommand{\LWR@fboxpkg@lrpadding}[1]{%
+ \csuse{if@fbox@space@#1}%
+ \appto\LWR@tempone{%
+ padding-#1: \LWR@printlength{\fbox@@sep};\LWR@indentHTML
+ }
+ \else%
+ \appto\LWR@tempone{%
+ padding-#1: 0pt;\LWR@indentHTML
+ }
+ \fi%
+}
+\newcommand{\LWR@HTML@FBox@iii}[1]{%
+ \LWR@forceminwidth{\fbox@@rule}%
+ \LWR@findcurrenttextcolor%
+ \def\LWR@tempone{%
+ color: \LWR@origpound\LWR@tempcolor ; \LWR@indentHTML
+ margin: 1ex ; \LWR@indentHTML
+ }%
+ \LWR@fboxpkg@lrpadding{left}%
+ \LWR@fboxpkg@lrpadding{right}%
+ \ifnum\the\@tempcntb>8\relax
+ \advance\@tempcntb by -8
+ \LWR@fboxpkg@border{top}{\fbox@@sep}%
+ \fi
+ \ifnum\@tempcntb>3
+ \advance\@tempcntb by -4
+ \LWR@fboxpkg@border{left}{}%
+ \fi
+ \ifnum\@tempcntb>1
+ \LWR@fboxpkg@border{right}{}%
+ \fi
+ \ifodd\@tempcntb
+ \LWR@fboxpkg@border{bottom}{\fbox@@sep}%
+ \fi
+ \color@begingroup
+ \ifbool{LWR@fboxpkg@ispar}%
+ {%
+ \begin{BlockClass}[\LWR@tempone]{fboxpkg}%
+ #1%
+ \end{BlockClass}%
+ }%
+ {%
+ \InlineClass[\LWR@tempone]{fboxpkg}{%
+ #1%
+ }%
+ }%
+ \color@endgroup
+ \boolfalse{LWR@fboxpkg@ispar}% globally
+}
+\LWR@formatted{FBox@iii}
+\long\def\LWR@HTML@FParBox@i[#1]#2{%
+ \booltrue{LWR@fboxpkg@ispar}%
+ \FBox@i[#1]{#2}
+}
+\LWR@formatted{FParBox@i}
+
+\long\def\LWR@HTML@FParBox@ii#1{%
+ \booltrue{LWR@fboxpkg@ispar}%
+ \FBox@i[tblr]{#1}%
+}
+\LWR@formatted{FParBox@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'.
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-fixmath.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-fixmath.sty
new file mode 100644
index 00000000000..b85aab961bd
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-fixmath.sty
@@ -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@ProvidesPackagePass{fixmath}[2000/04/11]
+\LWR@origRequirePackage{lwarp-common-mathjax-letters}
+
+\begin{warpMathJax}
+\LWR@mathjax@addgreek@u@it*{}{}
+\LWR@mathjax@addletter{\BooleanTrue}{up}{}{delta}{0394}
+\LWR@mathjax@addletter{\BooleanTrue}{up}{}{omega}{03A9}
+\CustomizeMathJax{\newcommand{\mathbold}[1]{\boldsymbol{#1}}}
+\end{warpMathJax}
+\endinput
+%%
+%% End of file `lwarp-fixmath.sty'.
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-fixme.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-fixme.sty
index 1110138cd35..ebf5393ee4a 100644
--- a/Master/texmf-dist/tex/latex/lwarp/lwarp-fixme.sty
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-fixme.sty
@@ -20,7 +20,11 @@
\let\@wrindex\LWR@wrindex
\newcommand{\ext@fixme}{lox}
-\renewcommand{\l@fixme}[2]{\hypertocfloat{1}{fixme}{lox}{#1}{#2}}
+\renewcommand{\l@fixme}[2]{%
+ \hypertocfloat{1}{fixme}{lox}%
+ {\LWR@nameref{\BaseJobname-autopage-\arabic{LWR@nextautopage}} --- #1}
+ {#2}
+}
\def\FXFaceInlineHTMLStyle{font-weight:bold}
\renewcommand*\FXLayoutInline[3]{ %
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-float.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-float.sty
index eed8100ed1f..add1c1bf03f 100644
--- a/Master/texmf-dist/tex/latex/lwarp/lwarp-float.sty
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-float.sty
@@ -19,21 +19,24 @@
\LWR@ProvidesPackageDrop{float}[2001/11/08]
-
\newcommand*{\LWR@floatstyle}{plain}
\NewDocumentCommand{\newfloat}{m m m o}{%
-\IfValueTF{#4}%
-{\DeclareFloatingEnvironment[fileext=#3,within=#4]{#1}}%
-{\DeclareFloatingEnvironment[fileext=#3]{#1}}%
-\csedef{LWR@floatstyle@#1}{\LWR@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@floatstyle@#1}{\LWR@floatstyle}%
+ \cslet{listof#1s}\relax%
+ \cslet{listof#1es}\relax%
+ \cslet{l@#1}\relax%
}
\NewDocumentCommand{\floatname}{m +m}{%
- \SetupFloatingEnvironment{#1}{name=#2}%
+ \def\LWR@tempone{#2}%
+ \def\LWR@temptwo{\@nameuse{#1name}}%
+ \ifdefequal{\LWR@tempone}{\LWR@temptwo}{}{%
+ \SetupFloatingEnvironment{#1}{name=#2}%
+ }%
}
\newcommand*{\floatplacement}[2]{%
@@ -48,6 +51,7 @@
\csedef{LWR@floatstyle@#2}{\LWR@floatstyle}%
}
+
\endinput
%%
%% End of file `lwarp-float.sty'.
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-floatflt.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-floatflt.sty
index 741d258186e..2679d8592c1 100644
--- a/Master/texmf-dist/tex/latex/lwarp/lwarp-floatflt.sty
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-floatflt.sty
@@ -37,7 +37,7 @@
}%
{marginblock}%
}%
- \captionsetup{type=#2}%
+ \renewcommand*{\@captype}{#2}%
}
{%
\endLWR@BlockClassWP%
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-floatrow.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-floatrow.sty
index 4d86eb3fee4..c5ee4554ab9 100644
--- a/Master/texmf-dist/tex/latex/lwarp/lwarp-floatrow.sty
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-floatrow.sty
@@ -26,8 +26,8 @@
\AtBeginDocument{
\@ifpackageloaded{subcaption}
-{\booltrue{LWR@subcaptionloaded}}
-{\boolfalse{LWR@subcaptionloaded}}
+ {\booltrue{LWR@subcaptionloaded}}
+ {\boolfalse{LWR@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@insubfloatrow}
@@ -170,15 +170,15 @@
\newenvironment*{subfloatrow}[1][2]
{
-\LWR@forcenewpage
-\BlockClass{floatrow}
-\begingroup
-\booltrue{LWR@insubfloatrow}
+ \LWR@forcenewpage
+ \BlockClass{floatrow}
+ \begingroup%
+ \booltrue{LWR@insubfloatrow}%
}
-{
-\endgroup
-\endBlockClass
-\boolfalse{LWR@insubfloatrow}
+{%
+ \endgroup%
+ \endBlockClass%
+ \boolfalse{LWR@insubfloatrow}%
}
\endinput
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-fnpara.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-fnpara.sty
new file mode 100644
index 00000000000..c9b74bf0cba
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-fnpara.sty
@@ -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@ProvidesPackageDrop{fnpara}
+\endinput
+%%
+%% End of file `lwarp-fnpara.sty'.
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-fontaxes.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-fontaxes.sty
index 0ad467ea02d..a93fbefb695 100644
--- a/Master/texmf-dist/tex/latex/lwarp/lwarp-fontaxes.sty
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-fontaxes.sty
@@ -16,29 +16,17 @@
%% and version 1.3 or later is part of all distributions of LaTeX
%% version 2005/12/01 or later.
\LWR@ProvidesPackagePass{fontaxes}[2014/03/23]
-\newrobustcmd{\LWR@HTML@sscshape}{\LWR@HTML@scshape}
-\LWR@formatted{sscshape}
-\newcommand*{\LWR@null@sscshape}{}
-
-\newrobustcmd{\LWR@HTML@textssc}[1]{\textsc{#1}}
-\LWR@formatted{textssc}
-\newcommand*{\LWR@null@textssc}[1]{#1}
-
\ifdef{\LWR@HTML@swshape}{}{% duplicated by nfssext-cfr
\newcommand{\LWR@HTML@swshape}{}
\LWR@formatted{swshape}
- \newcommand*{\LWR@null@swshape}{}
- \newcommand{\LWR@HTML@textsw}[1]{#1}
+ \newrobustcmd{\LWR@HTML@textsw}[1]{#1}
\LWR@formatted{textsw}
- \newcommand*{\LWR@null@textsw}[1]{#1}
-}
-\appto{\LWR@nullfonts}{%
-\LetLtxMacro\sscshape\LWR@null@sscshape%
-\LetLtxMacro\textssc\LWR@null@textssc%
-\LetLtxMacro\swshape\LWR@null@swshape%
-\LetLtxMacro\textsw\LWR@null@textsw%
+ \FilenameNullify{%
+ \LetLtxMacro\swshape\@empty%
+ \LetLtxMacro\textsw\firstofone%
+ }
}
\endinput
%%
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-forest.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-forest.sty
index 83fbf2a8b3a..9a0fbfeec0e 100644
--- a/Master/texmf-dist/tex/latex/lwarp/lwarp-forest.sty
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-forest.sty
@@ -18,7 +18,9 @@
\LWR@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@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@next\forest@env%
}{\let\forest@next\forest@group@env}%
\begin{lateximage}[-forest-~\PackageDiagramAltText]% lwarp
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-fourier.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-fourier.sty
new file mode 100644
index 00000000000..6d0ff9446a5
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-fourier.sty
@@ -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@ProvidesPackagePass{fourier}[2020/03/03]
+
+\LWR@infoprocessingmathjax{fourier}
+\LWR@origRequirePackage{lwarp-common-mathjax-letters}
+
+\LWR@origRequirePackage{lwarp-common-mathjax-overlaysymbols}
+
+\begin{warpMathJax}
+
+\@ifpackagewith{fourier}{sloped}
+ {
+ \LWR@mathjax@addgreek@l@up{other}{}
+ \LWR@mathjax@addgreek@u@it*{other}{}
+ }% sloped
+ {% not sloped
+ \@ifpackagewith{fourier}{upright}
+ {% upright option
+ \LWR@mathjax@addgreek@l@up{}{}
+ \LWR@mathjax@addgreek@u@up*{}{}
+ \LWR@mathjax@addgreek@l@it{other}{}
+ \LWR@mathjax@addgreek@u@it*{other}{}
+ }
+ {% neither sloped nor upright
+ \LWR@mathjax@addgreek@l@up{other}{}
+ \LWR@mathjax@addgreek@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'.
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-fvextra.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-fvextra.sty
new file mode 100644
index 00000000000..28cf6b3ed77
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-fvextra.sty
@@ -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@ProvidesPackagePass{fvextra}[2019/02/04]
+
+\define@booleankey{FV}{obeytabs}%
+ {\let\FV@ObeyTabsInit\relax}
+ {\let\FV@ObeyTabsInit\relax}
+
+\define@key{FV}{tabcolor}%
+ {}
+
+\define@key{FV}{tab}{}
+
+\define@booleankey{FV}{showtabs}%
+ {\let\FV@TabChar\relax}
+ {\let\FV@TabChar\relax}
+
+\newbool{LWR@FV@breaklines}
+
+\define@booleankey{FV}{breaklines}%
+ {\FV@BreakLinesfalse
+ \booltrue{LWR@FV@breaklines}
+ \let\FV@ListProcessLine\FV@ListProcessLine@NoBreak}
+ {\FV@BreakLinesfalse
+ \boolfalse{LWR@FV@breaklines}
+ \let\FV@ListProcessLine\FV@ListProcessLine@NoBreak}
+
+\define@key{FV}{breakanywheresymbolpre}{\def\FancyVerbBreakAnywhereSymbolPre{}}
+\fvset{breakanywheresymbolpre={}}
+
+\define@key{FV}{breakanywheresymbolpost}{\def\FancyVerbBreakAnywhereSymbolPost{}}
+\fvset{breakanywheresymbolpost={}}
+
+\define@key{FV}{breakbeforesymbolpre}{\def\FancyVerbBreakBeforeSymbolPre{}}
+\fvset{breakbeforesymbolpre={}}
+
+\define@key{FV}{breakbeforesymbolpost}{\def\FancyVerbBreakBeforeSymbolPost{}}
+\fvset{breakbeforesymbolpost={}}
+
+\define@key{FV}{breakaftersymbolpre}{\def\FancyVerbBreakAfterSymbolPre{}}
+\fvset{breakaftersymbolpre={}}
+
+\define@key{FV}{breakaftersymbolpost}{\def\FancyVerbBreakAfterSymbolPost{}}
+\fvset{breakaftersymbolpost={}}
+
+\define@key{FV}{breaksymbolleft}{\def\FancyVerbBreakSymbolLeft{}}
+
+\define@key{FV}{breaksymbol}{\fvset{breaksymbolleft={}}}
+
+\fvset{breaksymbolleft={}}
+
+\define@key{FV}{breaksymbolright}{\def\FancyVerbBreakSymbolRight{}}
+\fvset{breaksymbolright={}}
+
+\def\FV@ListProcessLine@NoBreak#1{%
+ \FV@LeftListNumber%
+ \FV@LeftListFrame%
+ \FancyVerbFormatLine{%
+ \FancyVerbHighlightLine{%
+ \FV@ObeyTabs{\FancyVerbFormatText{#1}}}}%\hss
+ \FV@RightListFrame%
+ \FV@RightListNumber%
+\null\par% lwarp
+}
+
+\newcommand*{\LWR@FV@linethensep}{%
+ \ifbool{LWR@FV@breaklines}%
+ {\theFancyVerbLine\kern\FV@NumberSep}%
+ {\hbox to\z@{\hss\theFancyVerbLine\kern\FV@NumberSep}}%
+}
+
+\newcommand*{\LWR@FV@septhenline}{%
+ \ifbool{LWR@FV@breaklines}%
+ {\kern\FV@NumberSep\theFancyVerbLine}%
+ {\hbox to\z@{\kern\FV@NumberSep\theFancyVerbLine\hss}}%
+}
+
+\xpatchcmd{\FV@Numbers@left}
+ {\hbox to\z@{\hss\theFancyVerbLine\kern\FV@NumberSep}}
+ {\LWR@FV@linethensep}
+ {}
+ {\LWR@patcherror{fvextra}{FV@Numbers@left A}}
+
+\xpatchcmd{\FV@Numbers@left}
+ {\hbox to\z@{\hss\theFancyVerbLine\kern\FV@NumberSep}}
+ {\LWR@FV@linethensep}
+ {}
+ {\LWR@patcherror{fvextra}{FV@Numbers@left B}}
+
+\xpatchcmd{\FV@Numbers@left}
+ {\hbox to\z@{\hss\theFancyVerbLine\kern\FV@NumberSep}}
+ {\LWR@FV@linethensep}
+ {}
+ {\LWR@patcherror{fvextra}{FV@Numbers@left C}}
+
+\xpatchcmd{\FV@Numbers@right}
+ {\hbox to\z@{\kern\FV@NumberSep\theFancyVerbLine\hss}}
+ {\LWR@FV@septhenline}
+ {}
+ {\LWR@patcherror{fvextra}{FV@Numbers@right A}}
+
+\xpatchcmd{\FV@Numbers@right}
+ {\hbox to\z@{\kern\FV@NumberSep\theFancyVerbLine\hss}}
+ {\LWR@FV@septhenline}
+ {}
+ {\LWR@patcherror{fvextra}{FV@Numbers@right B}}
+
+\xpatchcmd{\FV@Numbers@right}
+ {\hbox to\z@{\hss\theFancyVerbLine\kern\FV@NumberSep}}
+ {\LWR@FV@linethensep}
+ {}
+ {\LWR@patcherror{fvextra}{FV@Numbers@right C}}
+
+\xpatchcmd{\FV@Numbers@both}
+ {\hbox to\z@{\hss\theFancyVerbLine\kern\FV@NumberSep}}
+ {\LWR@FV@linethensep}
+ {}
+ {\LWR@patcherror{fvextra}{FV@Numbers@both A}}
+
+\xpatchcmd{\FV@Numbers@both}
+ {\hbox to\z@{\hss\theFancyVerbLine\kern\FV@NumberSep}}
+ {\LWR@FV@linethensep}
+ {}
+ {\LWR@patcherror{fvextra}{FV@Numbers@both B}}
+
+\xpatchcmd{\FV@Numbers@both}
+ {\hbox to\z@{\hss\theFancyVerbLine\kern\FV@NumberSep}}
+ {\LWR@FV@linethensep}
+ {}
+ {\LWR@patcherror{fvextra}{FV@Numbers@both C}}
+
+\xpatchcmd{\FV@Numbers@both}
+ {\hbox to\z@{\kern\FV@NumberSep\theFancyVerbLine\hss}}
+ {\LWR@FV@septhenline}
+ {}
+ {\LWR@patcherror{fvextra}{FV@Numbers@both D}}
+
+\xpatchcmd{\FV@Numbers@both}
+ {\hbox to\z@{\kern\FV@NumberSep\theFancyVerbLine\hss}}
+ {\LWR@FV@septhenline}
+ {}
+ {\LWR@patcherror{fvextra}{FV@Numbers@both E}}
+
+\xpatchcmd{\FV@Numbers@both}
+ {\hbox to\z@{\hss\theFancyVerbLine\kern\FV@NumberSep}}
+ {\LWR@FV@linethensep}
+ {}
+ {\LWR@patcherror{fvextra}{FV@Numbers@both F}}
+\endinput
+%%
+%% End of file `lwarp-fvextra.sty'.
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-gindex.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-gindex.sty
new file mode 100644
index 00000000000..6f494067420
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-gindex.sty
@@ -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@ProvidesPackagePass{gindex}[2019/10/07]
+\AtBeginDocument{
+ \robustify{\indexpagessep}
+ \robustify{\indexrangesep}
+ \renewcommand*{\IndexPageSeparator}{\indexpagessep}
+ \renewcommand*{\IndexRangeSeparator}{\indexrangesep}
+}
+\def\addindexitem#1#2{%
+ \indexflushitem
+ \gix@getspecial#1\indexspecial\indexspecial\@@\indexitem{\hyperindexref{#2}}}
+
+\def\addindexsubitem#1#2{%
+ \stepcounter{indexsubitems}%
+ \gix@getspecial#1\indexspecial\indexspecial\@@\indexsubitem{\hyperindexref{#2}}}
+
+\def\addindexsubsubitem#1#2{%
+ \gix@getspecial#1\indexspecial\indexspecial\@@\indexsubsubitem{\hyperindexref{#2}}}
+\renewcommand\indexheading[1]{%
+ \begin{BlockClass}{indexheading}
+ \MakeUppercase{#1}%
+ \end{BlockClass}
+}
+\endinput
+%%
+%% End of file `lwarp-gindex.sty'.
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-glossaries.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-glossaries.sty
index 5e3c9e8d40e..eba517b8ac9 100644
--- a/Master/texmf-dist/tex/latex/lwarp/lwarp-glossaries.sty
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-glossaries.sty
@@ -24,7 +24,7 @@
\setglossarystyle{index}
\renewcommand*{\@p@glossarysection}[2]{%
\glsclearpage
- \phantomsection
+ \LWR@phantomsection
\ifdefempty\@@glossarysecstar
{%
\csname\@@glossarysec\endcsname{#2}%
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-graphics.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-graphics.sty
index 578be1bc75d..4f21fd6f8d9 100644
--- a/Master/texmf-dist/tex/latex/lwarp/lwarp-graphics.sty
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-graphics.sty
@@ -17,7 +17,7 @@
%% version 2005/12/01 or later.
-\LWR@ProvidesPackagePass{graphics}[2017/06/25]
+\LWR@ProvidesPackagePass{graphics}[2020/08/30]
\AtBeginDocument{
@@ -102,9 +102,8 @@
\define@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@igxscale}{#1}%
@@ -252,9 +251,9 @@
\newcommand*{\LWR@ig@htmltag}{%
img\LWR@indentHTML%
- src="%
+ src=\textquotedbl%
\detokenize\expandafter{\LWR@parsedfilename}%
- "\LWR@indentHTML%
+ \textquotedbl\LWR@indentHTML%
\ifthenelse{
\NOT\equal{\LWR@igwidthstyle}{} \OR
\NOT\equal{\LWR@igheightstyle}{} \OR
@@ -264,7 +263,7 @@
\NOT\equal{\LWR@igyscale}{1}
}%
{%
- style="\LWR@indentHTML
+ style=\textquotedbl\LWR@indentHTML
\ifthenelse{\NOT\equal{\LWR@igwidthstyle}{}}%
{\LWR@igwidthstyle;\LWR@indentHTML}{}%
\ifthenelse{\NOT\equal{\LWR@igheightstyle}{}}%
@@ -296,10 +295,10 @@
\ifthenelse{\NOT\equal{\LWR@opacity}{1}}%
{opacity:\LWR@opacity;\LWR@indentHTML}{}%
%
- "\LWR@indentHTML%
+ \textquotedbl\LWR@indentHTML%
}{}%
- class="\LWR@igclass"\LWR@indentHTML%
- alt="\AltTextOpen\LWR@igalt\AltTextClose" \LWR@orignewline%
+ class=\textquotedbl\LWR@igclass\textquotedbl\LWR@indentHTML%
+ alt=\textquotedbl\AltTextOpen\LWR@igalt\AltTextClose\textquotedbl\ \LWR@orignewline%
}% end of image tags
\NewDocumentCommand{\LWR@includegraphicsb}{s o o m}
@@ -336,10 +335,11 @@
\Ginclude@graphics{\detokenize\expandafter{\LWR@tempone}}%
\endgroup%
\filename@parse{\LWR@parsedfilename}%
+ \StrSubstitute{\LWR@parsedfilename}{//}{/}[\LWR@parsedfilename]%
\LWR@traceinfo{LWR@parsedfilename is \LWR@parsedfilename}%
\LWR@ig@wpimagesizes{#1}{#2}{#3}{#4}%
\LWR@traceinfo{LWR@includegraphicsb: about to create href}%
- \href{\LWR@parsedfilename}%
+ \LWR@href{\LWR@parsedfilename}%
{% start of href
\LWR@traceinfo{LWR@includegraphicsb: about to LWR@htmltag}%
\LWR@htmltag{\LWR@ig@htmltag}%
@@ -393,14 +393,14 @@
\setkeys{krotbox}{#1}%
\LWR@htmltagc{%
span\LWR@indentHTML
- style="\LWR@indentHTML
+ style=\textquotedbl\LWR@indentHTML
display: inline-block;\LWR@indentHTML
\ifthenelse{\NOT\equal{\LWR@rotboxorigin}{}}%
{transform-origin: \LWR@originnames{\LWR@rotboxorigin};\LWR@indentHTML}%
{}%
\LWR@rotstyle{-ms-}{#2}\LWR@indentHTML
\LWR@rotstyle{-webkit-}{#2}\LWR@indentHTML
- \LWR@rotstyle{}{#2}"\LWR@orignewline%
+ \LWR@rotstyle{}{#2}\textquotedbl\LWR@orignewline%
}\LWR@orignewline%
\begin{LWR@nestspan}%
#3%
@@ -415,12 +415,12 @@
\NewDocumentCommand{\LWR@HTML@scalebox}{m o m}{%
\LWR@htmltagc{%
span\LWR@indentHTML
- style="\LWR@indentHTML
+ style=\textquotedbl\LWR@indentHTML
display: inline-block;\LWR@indentHTML
\LWR@scalestyle{-ms-}{#1}{\IfNoValueTF{#2}{#1}{#2}}\LWR@indentHTML
\LWR@scalestyle{-webkit-}{#1}{\IfNoValueTF{#2}{#1}{#2}}\LWR@indentHTML
\LWR@scalestyle{}{#1}{\IfNoValueTF{#2}{#1}{#2}}
- "\LWR@orignewline
+ \textquotedbl\LWR@orignewline
}\LWR@orignewline%
\begin{LWR@nestspan}%
#3%
@@ -434,7 +434,7 @@
\AtBeginDocument{
\newcommand{\LWR@HTML@reflectbox}[1]{%
-\scalebox{-1}[1]{#1}%
+ \scalebox{-1}[1]{#1}%
}% \reflectbox
\LWR@formatted{reflectbox}
@@ -444,7 +444,7 @@
\AtBeginDocument{
\NewDocumentCommand{\LWR@HTML@resizebox}{s m m m}{%
-#4%
+ #4%
}
\LWR@formatted{resizebox}
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-graphicx.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-graphicx.sty
index fbb2ae2390f..6ba7413de87 100644
--- a/Master/texmf-dist/tex/latex/lwarp/lwarp-graphicx.sty
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-graphicx.sty
@@ -17,7 +17,7 @@
%% version 2005/12/01 or later.
-\LWR@ProvidesPackagePass{graphicx}[2017/06/01]
+\LWR@ProvidesPackagePass{graphicx}[2020/09/09]
\endinput
%%
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-hang.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-hang.sty
index fbde17b1277..e2b0af67705 100644
--- a/Master/texmf-dist/tex/latex/lwarp/lwarp-hang.sty
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-hang.sty
@@ -42,7 +42,7 @@
\renewcommand*{\LWR@printcloselist}{\LWR@printcloseitemize}%
\renewcommand*{\LWR@printopenlist}{%
\LWR@findhangingleftmargin%
- ul style="%
+ ul style=\textquotedbl%
\LWR@print@mbox{list-style-type:none;} % extra space
\LWR@print@mbox{%
margin-left:\LWR@printlength{\LWR@templengthone}%
@@ -50,7 +50,7 @@
\LWR@print@mbox{%
text-indent:-\LWR@printlength{\hangingindent}%
}%
- "%
+ \textquotedbl%
}%
\let\item\LWR@itemizeitem%
\list{}{}%
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-hepunits.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-hepunits.sty
new file mode 100644
index 00000000000..f854521e48a
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-hepunits.sty
@@ -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@ProvidesPackagePass{hepunits}[2020/04/10]
+\begin{warpMathJax}
+\LWR@infoprocessingmathjax{hepunits}
+
+\ifx\@HEPopt@sicmds\@yes
+\CustomizeMathJax{\newcommand{\micron}{\micro\metre}}
+\CustomizeMathJax{\newcommand{\mrad}{\milli\radian}}
+\fi
+
+\CustomizeMathJax{\newcommand{\gauss}{\mathrm{G}}}
+
+\CustomizeMathJax{\newcommand{\invcmsq}{\centi\metre\tothe{-2}}}
+\CustomizeMathJax{\newcommand{\invcmsqpersecond}{\invcmsq\second\tothe{-1}}}
+\CustomizeMathJax{\newcommand{\invcmsqpersec}{\invcmsqpersecond}}
+
+%% (Inverse) cross-sections
+\CustomizeMathJax{\newcommand{\invbarn}{\barn\tothe{-1}}}
+
+\ifx\@HEPopt@noprefixcmds\@empty
+\CustomizeMathJax{\newcommand{\millibarn}{\milli\barn}}
+\CustomizeMathJax{\newcommand{\microbarn}{\micro\barn}}
+\CustomizeMathJax{\newcommand{\nanobarn}{\nano\barn}}
+\CustomizeMathJax{\newcommand{\picobarn}{\pico\barn}}
+\CustomizeMathJax{\newcommand{\femtobarn}{\femto\barn}}
+\CustomizeMathJax{\newcommand{\attobarn}{\atto\barn}}
+\CustomizeMathJax{\newcommand{\zeptobarn}{\zepto\barn}}
+\CustomizeMathJax{\newcommand{\yoctobarn}{\yocto\barn}}
+\CustomizeMathJax{\newcommand{\invnanobarn}{\nano\invbarn}}
+\CustomizeMathJax{\newcommand{\invpicobarn}{\pico\invbarn}}
+\CustomizeMathJax{\newcommand{\invfemtobarn}{\femto\invbarn}}
+\CustomizeMathJax{\newcommand{\invattobarn}{\atto\invbarn}}
+\CustomizeMathJax{\newcommand{\invzeptobarn}{\zepto\invbarn}}
+\CustomizeMathJax{\newcommand{\invyoctobarn}{\yocto\invbarn}}
+\CustomizeMathJax{\newcommand{\invnb}{\invnanobarn}}
+\CustomizeMathJax{\newcommand{\invpb}{\invpicobarn}}
+\CustomizeMathJax{\newcommand{\invfb}{\invfemtobarn}}
+\CustomizeMathJax{\newcommand{\invab}{\invattobarn}}
+\CustomizeMathJax{\newcommand{\invzb}{\invzeptobarn}}
+\CustomizeMathJax{\newcommand{\invyb}{\invyoctobarn}}
+\fi
+
+\CustomizeMathJax{\newcommand{\electronvoltc}{\electronvolt\per\mathit{c}}}
+\CustomizeMathJax{\newcommand{\electronvoltcsq}{\electronvolt\per\mathit{c}\squared}}
+\CustomizeMathJax{\let\eVc\electronvoltc}
+\CustomizeMathJax{\let\eVcsq\electronvoltcsq}
+
+\ifx\@HEPopt@noprefixcmds\@empty
+\CustomizeMathJax{\newcommand{\meV}{\milli\eV}}
+\CustomizeMathJax{\newcommand{\keV}{\kilo\eV}}
+\CustomizeMathJax{\newcommand{\MeV}{\mega\eV}}
+\CustomizeMathJax{\newcommand{\GeV}{\giga\eV}}
+\CustomizeMathJax{\newcommand{\TeV}{\tera\eV}}
+\CustomizeMathJax{\newcommand{\meVc}{\milli\eVc}}
+\CustomizeMathJax{\newcommand{\keVc}{\kilo\eVc}}
+\CustomizeMathJax{\newcommand{\MeVc}{\mega\eVc}}
+\CustomizeMathJax{\newcommand{\GeVc}{\giga\eVc}}
+\CustomizeMathJax{\newcommand{\TeVc}{\tera\eVc}}
+\CustomizeMathJax{\newcommand{\meVcsq}{\milli\eVcsq}}
+\CustomizeMathJax{\newcommand{\keVcsq}{\kilo\eVcsq}}
+\CustomizeMathJax{\newcommand{\MeVcsq}{\mega\eVcsq}}
+\CustomizeMathJax{\newcommand{\GeVcsq}{\giga\eVcsq}}
+\CustomizeMathJax{\newcommand{\TeVcsq}{\tera\eVcsq}}
+\fi
+\end{warpMathJax}
+\endinput
+%%
+%% End of file `lwarp-hepunits.sty'.
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-hhtensor.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-hhtensor.sty
new file mode 100644
index 00000000000..57e680c9093
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-hhtensor.sty
@@ -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@ProvidesPackagePass{hhtensor}[2011/12/29]
+\begin{warpMathJax}
+\iftensor@bold
+ \CustomizeMathJax{\newcommand{\vec}[1]{\boldsymbol{#1}}}
+ \CustomizeMathJax{\newcommand{\matr}[1]{\boldsymbol{#1}}}
+ \CustomizeMathJax{\newcommand{\tens}[2]{\boldsymbol{#1}}}
+\else
+ \iftensor@uline
+ \CustomizeMathJax{\newcommand{\vec}[1]{\ushort{#1}}}
+ \CustomizeMathJax{\newcommand{\matr}[1]{\ushortd{#1}}}
+ \CustomizeMathJax{\newcommand{\tens}[2]{
+ \underset{
+ \raise{.5ex}{\underset{#2}{\sim}}
+ }{#1}
+ }}
+ \else
+ \CustomizeMathJax{\newcommand{\matr}[1]{\vec{\vec{#1}}}}
+ \CustomizeMathJax{\newcommand{\tens}[2]{
+ \underset{
+ \raise{.5ex}{\underset{#2}{\sim}}
+ }{#1}
+ }}
+ \fi
+\fi
+\CustomizeMathJax{\newcommand{\dcdot}{\mathrel{\cdot\mkern 0.0mu \cdot}}}
+\CustomizeMathJax{\newcommand{\trans}{{}^{\mathrm{T}}}}
+\end{warpMathJax}
+\endinput
+%%
+%% End of file `lwarp-hhtensor.sty'.
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-hyperref.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-hyperref.sty
index 1f1cf1ac9d1..8c6b91c105b 100644
--- a/Master/texmf-dist/tex/latex/lwarp/lwarp-hyperref.sty
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-hyperref.sty
@@ -20,23 +20,271 @@
\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@hyperref,prefix=LWR@hyperref@}
+
+\newcommand{\hypersetup}[1]{\setkeys{LWR@hyperref}{#1}}
+
+\define@key{LWR@hyperref}{a4paper}[]{}
+\define@key{LWR@hyperref}{a5paper}[]{}
+\define@key{LWR@hyperref}{b5paper}[]{}
+\define@key{LWR@hyperref}{letterpaper}[]{}
+\define@key{LWR@hyperref}{legalpaper}[]{}
+\define@key{LWR@hyperref}{executivepaper}[]{}
+\define@key{LWR@hyperref}{implicit}[]{}
+\define@key{LWR@hyperref}{draft}[]{}
+\define@key{LWR@hyperref}{final}[]{}
+\define@key{LWR@hyperref}{setpagesize}[]{}
+\define@key{LWR@hyperref}{debug}[]{}
+\define@key{LWR@hyperref}{linktocpage}[]{}
+\define@key{LWR@hyperref}{linktoc}[]{}
+\define@key{LWR@hyperref}{extension}[]{}
+\define@key{LWR@hyperref}{verbose}[]{}
+\define@key{LWR@hyperref}{typexml}[]{}
+\define@key{LWR@hyperref}{raiselinks}[]{}
+\define@key{LWR@hyperref}{breaklinks}[]{}
+\define@key{LWR@hyperref}{localanchorname}[]{}
+\define@key{LWR@hyperref}{pageanchor}[]{}
+\define@key{LWR@hyperref}{plainpages}[]{}
+\define@key{LWR@hyperref}{naturalnames}[]{}
+\define@key{LWR@hyperref}{hypertexnames}[]{}
+\define@key{LWR@hyperref}{nesting}[]{}
+\define@key{LWR@hyperref}{destlabel}[]{}
+\define@key{LWR@hyperref}{unicode}[]{}
+\define@key{LWR@hyperref}{pdfencoding}[]{}
+\define@key{LWR@hyperref}{psdextra}[]{}
+\define@key{LWR@hyperref}{pdfversion}[]{}
+\define@key{LWR@hyperref}{dvipdfmx-outline-open}[]{}
+\define@key{LWR@hyperref}{driverfallback}[]{}
+\define@key{LWR@hyperref}{customdriver}[]{}
+\define@key{LWR@hyperref}{hyperfigures}[]{}
+\define@key{LWR@hyperref}{hyperfootnotes}[]{}
+\define@key{LWR@hyperref}{hyperindex}[]{}
+\define@key{LWR@hyperref}{encap}[]{}
+\define@key{LWR@hyperref}{colorlinks}[]{}
+\define@key{LWR@hyperref}{ocgcolorlinks}[]{}
+\define@key{LWR@hyperref}{frenchlinks}[]{}
+\define@key{LWR@hyperref}{bookmarks}[]{}
+\define@key{LWR@hyperref}{bookmarksopen}[]{}
+\define@key{LWR@hyperref}{bookmarksdepth}[]{}
+\define@key{LWR@hyperref}{bookmarksopenlevel}[]{}
+\define@key{LWR@hyperref}{bookmarkstype}[]{}
+\define@key{LWR@hyperref}{bookmarksnumbered}[]{}
+\define@key{LWR@hyperref}{CJKbookmarks}[]{}
+\define@key{LWR@hyperref}{link}[]{}
+\define@key{LWR@hyperref}{anchor}[]{}
+\define@key{LWR@hyperref}{cite}[]{}
+\define@key{LWR@hyperref}{file}[]{}
+\define@key{LWR@hyperref}{url}[]{}
+\define@key{LWR@hyperref}{menu}[]{}
+\define@key{LWR@hyperref}{run}[]{}
+\define@key{LWR@hyperref}{linkbordercolor}[]{}
+\define@key{LWR@hyperref}{anchorbordercolor}[]{}
+\define@key{LWR@hyperref}{citebordercolor}[]{}
+\define@key{LWR@hyperref}{filebordercolor}[]{}
+\define@key{LWR@hyperref}{urlbordercolor}[]{}
+\define@key{LWR@hyperref}{menubordercolor}[]{}
+\define@key{LWR@hyperref}{runbordercolor}[]{}
+\define@key{LWR@hyperref}{pagecolor}[]{}
+\define@key{LWR@hyperref}{baseurl}[]{}
+\define@key{LWR@hyperref}{linkfileprefix}[]{}
+\define@key{LWR@hyperref}{pdfpagetransition}[]{}
+\define@key{LWR@hyperref}{pdfpageduration}[]{}
+\define@key{LWR@hyperref}{pdfpagehidden}[]{}
+\define@key{LWR@hyperref}{pagebordercolor}[]{}
+\define@key{LWR@hyperref}{allbordercolors}[]{}
+\define@key{LWR@hyperref}{pdfhighlight}[]{}
+\define@key{LWR@hyperref}{pdfborder}[]{}
+\define@key{LWR@hyperref}{pdfborderstyle}[]{}
+\define@key{LWR@hyperref}{pdfprintpagerange}[]{}
+\define@key{LWR@hyperref}{pdfusetitle}[]{}
+\define@key{LWR@hyperref}{pdftitle}[]{}
+\define@key{LWR@hyperref}{pdfauthor}[]{}
+\define@key{LWR@hyperref}{pdfproducer}[]{}
+\define@key{LWR@hyperref}{pdfcreator}[]{}
+\define@key{LWR@hyperref}{addtopdfcreator}[]{}
+\define@key{LWR@hyperref}{pdfcreationdate}[]{}
+\define@key{LWR@hyperref}{pdfmoddate}[]{}
+\define@key{LWR@hyperref}{pdfsubject}[]{}
+\define@key{LWR@hyperref}{pdfkeywords}[]{}
+\define@key{LWR@hyperref}{pdftrapped}[]{}
+\define@key{LWR@hyperref}{pdfinfo}[]{}
+\define@key{LWR@hyperref}{pdfview}[]{}
+\define@key{LWR@hyperref}{pdflinkmargin}[]{}
+\define@key{LWR@hyperref}{pdfstartpage}[]{}
+\define@key{LWR@hyperref}{pdfstartview}[]{}
+\define@key{LWR@hyperref}{pdfremotestartview}[]{}
+\define@key{LWR@hyperref}{pdfpagescrop}[]{}
+\define@key{LWR@hyperref}{pdftoolbar}[]{}
+\define@key{LWR@hyperref}{pdfmenubar}[]{}
+\define@key{LWR@hyperref}{pdfwindowui}[]{}
+\define@key{LWR@hyperref}{pdffitwindow}[]{}
+\define@key{LWR@hyperref}{pdfcenterwindow}[]{}
+\define@key{LWR@hyperref}{pdfdisplaydoctitle}[]{}
+\define@key{LWR@hyperref}{pdfa}[]{}
+\define@key{LWR@hyperref}{pdfnewwindow}[]{}
+\define@key{LWR@hyperref}{pdflang}[]{}
+\define@key{LWR@hyperref}{pdfpagelabels}[]{}
+\define@key{LWR@hyperref}{pdfescapeform}[]{}
+\define@key{LWR@hyperref}{english}[]{}
+\define@key{LWR@hyperref}{UKenglish}[]{}
+\define@key{LWR@hyperref}{british}[]{}
+\define@key{LWR@hyperref}{USenglish}[]{}
+\define@key{LWR@hyperref}{american}[]{}
+\define@key{LWR@hyperref}{german}[]{}
+\define@key{LWR@hyperref}{austrian}[]{}
+\define@key{LWR@hyperref}{ngerman}[]{}
+\define@key{LWR@hyperref}{naustrian}[]{}
+\define@key{LWR@hyperref}{russian}[]{}
+\define@key{LWR@hyperref}{brazil}[]{}
+\define@key{LWR@hyperref}{brazilian}[]{}
+\define@key{LWR@hyperref}{portuguese}[]{}
+\define@key{LWR@hyperref}{spanish}[]{}
+\define@key{LWR@hyperref}{catalan}[]{}
+\define@key{LWR@hyperref}{afrikaans}[]{}
+\define@key{LWR@hyperref}{french}[]{}
+\define@key{LWR@hyperref}{frenchb}[]{}
+\define@key{LWR@hyperref}{francais}[]{}
+\define@key{LWR@hyperref}{acadian}[]{}
+\define@key{LWR@hyperref}{canadien}[]{}
+\define@key{LWR@hyperref}{italian}[]{}
+\define@key{LWR@hyperref}{magyar}[]{}
+\define@key{LWR@hyperref}{hungarian}[]{}
+\define@key{LWR@hyperref}{greek}[]{}
+\define@key{LWR@hyperref}{dutch}[]{}
+\define@key{LWR@hyperref}{tex4ht}[]{}
+\define@key{LWR@hyperref}{pdftex}[]{}
+\define@key{LWR@hyperref}{luatex}[]{}
+\define@key{LWR@hyperref}{nativepdf}[]{}
+\define@key{LWR@hyperref}{dvipdfm}[]{}
+\define@key{LWR@hyperref}{dvipdfmx}[]{}
+\define@key{LWR@hyperref}{xetex}[]{}
+\define@key{LWR@hyperref}{pdfmark}[]{}
+\define@key{LWR@hyperref}{dvips}[]{}
+\define@key{LWR@hyperref}{hypertex}[]{}
+\define@key{LWR@hyperref}{vtex}[]{}
+\define@key{LWR@hyperref}{vtexpdfmark}[]{}
+\define@key{LWR@hyperref}{dviwindo}[]{}
+\define@key{LWR@hyperref}{dvipsone}[]{}
+\define@key{LWR@hyperref}{textures}[]{}
+\define@key{LWR@hyperref}{latex2html}[]{}
+\define@key{LWR@hyperref}{ps2pdf}[]{}
+\define@key{LWR@hyperref}{vietnamese}[]{}
+\define@key{LWR@hyperref}{vietnam}[]{}
+\define@key{LWR@hyperref}{arabic}[]{}
+\define@key{LWR@hyperref}{hidelinks}[]{}
+\define@key{LWR@hyperref}{draft}[]{}
+\define@key{LWR@hyperref}{nolinks}[]{}
+\define@key{LWR@hyperref}{final}[]{}
+\define@key{LWR@hyperref}{pdfa}[]{}
+\define@key{LWR@hyperref}{pdfversion}[]{}
+\define@key{LWR@hyperref}{typexml}[]{}
+\define@key{LWR@hyperref}{tex4ht}[]{}
+\define@key{LWR@hyperref}{pdftex}[]{}
+\define@key{LWR@hyperref}{nativepdf}[]{}
+\define@key{LWR@hyperref}{dvipdfm}[]{}
+\define@key{LWR@hyperref}{dvipdfmx}[]{}
+\define@key{LWR@hyperref}{dvipdfmx-outline-open}[]{}
+\define@key{LWR@hyperref}{pdfmark}[]{}
+\define@key{LWR@hyperref}{dvips}[]{}
+\define@key{LWR@hyperref}{hypertex}[]{}
+\define@key{LWR@hyperref}{vtex}[]{}
+\define@key{LWR@hyperref}{vtexpdfmark}[]{}
+\define@key{LWR@hyperref}{dviwindo}[]{}
+\define@key{LWR@hyperref}{dvipsone}[]{}
+\define@key{LWR@hyperref}{textures}[]{}
+\define@key{LWR@hyperref}{latex2html}[]{}
+\define@key{LWR@hyperref}{ps2pdf}[]{}
+\define@key{LWR@hyperref}{xetex}[]{}
+\define@key{LWR@hyperref}{driverfallback}[]{}
+\define@key{LWR@hyperref}{customdriver}[]{}
+\define@key{LWR@hyperref}{pdfversion}[]{}
+\define@key{LWR@hyperref}{bookmarks}[]{}
+\define@key{LWR@hyperref}{ocgcolorlinks}[]{}
+\define@key{LWR@hyperref}{colorlinks}[]{}
+\define@key{LWR@hyperref}{frenchlinks}[]{}
+\define@key{LWR@hyperref}{backref}[]{}
+\define@key{LWR@hyperref}{pagebackref}[]{}
+\define@key{LWR@hyperref}{destlabel}[]{}
+\define@key{LWR@hyperref}{pdfpagescrop}[]{}
+\define@key{LWR@hyperref}{pdfpagemode}[]{}
+\define@key{LWR@hyperref}{pdfnonfullscreenpagemode}[]{}
+\define@key{LWR@hyperref}{pdfdirection}[]{}
+\define@key{LWR@hyperref}{pdfviewarea}[]{}
+\define@key{LWR@hyperref}{pdfviewclip}[]{}
+\define@key{LWR@hyperref}{pdfprintarea}[]{}
+\define@key{LWR@hyperref}{pdfprintclip}[]{}
+\define@key{LWR@hyperref}{pdfprintscaling}[]{}
+\define@key{LWR@hyperref}{pdfduplex}[]{}
+\define@key{LWR@hyperref}{pdfpicktraybypdfsize}[]{}
+\define@key{LWR@hyperref}{pdfprintpagerange}[]{}
+\define@key{LWR@hyperref}{pdfnumcopies}[]{}
+\define@key{LWR@hyperref}{pdfstartview}[]{}
+\define@key{LWR@hyperref}{pdfstartpage}[]{}
+\define@key{LWR@hyperref}{pdftoolbar}[]{}
+\define@key{LWR@hyperref}{pdfmenubar}[]{}
+\define@key{LWR@hyperref}{pdfwindowui}[]{}
+\define@key{LWR@hyperref}{pdffitwindow}[]{}
+\define@key{LWR@hyperref}{pdfcenterwindow}[]{}
+\define@key{LWR@hyperref}{pdfdisplaydoctitle}[]{}
+\define@key{LWR@hyperref}{pdfpagelayout}[]{}
+\define@key{LWR@hyperref}{pdflang}[]{}
+\define@key{LWR@hyperref}{baseurl}[]{}
+\define@key{LWR@hyperref}{pdfusetitle}[]{}
+\define@key{LWR@hyperref}{pdfpagelabels}[]{}
+\define@key{LWR@hyperref}{hyperfootnotes}[]{}
+\define@key{LWR@hyperref}{hyperfigures}[]{}
+\define@key{LWR@hyperref}{hyperindex}[]{}
+\define@key{LWR@hyperref}{encap}[]{}
+\define@key{LWR@hyperref}{linkcolor}[]{}
+\define@key{LWR@hyperref}{anchorcolor}[]{}
+\define@key{LWR@hyperref}{citecolor}[]{}
+\define@key{LWR@hyperref}{filecolor}[]{}
+\define@key{LWR@hyperref}{urlcolor}[]{}
+\define@key{LWR@hyperref}{menucolor}[]{}
+\define@key{LWR@hyperref}{runcolor}[]{}
+\define@key{LWR@hyperref}{allcolors}[]{}
+
+\DeclareStringOption[false]{backref}[section]
+
+\DeclareBoolOption{pagebackref}
+
+\DeclareDefaultOption{}
+
+\ProcessKeyvalOptions*\relax
+\ifdefstring{\LWR@hyperref@backref}{section}
+ {\RequirePackage{backref}}
+ {}
+
+\ifdefstring{\LWR@hyperref@backref}{slide}
+ {\RequirePackage{backref}}
+ {}
+
+\ifdefstring{\LWR@hyperref@backref}{page}
+ {\RequirePackage{backref}}
+ {}
+
+\ifLWR@hyperref@pagebackref
+ \RequirePackage{backref}
+\fi
+\LetLtxMacro\href\LWR@href
+\LetLtxMacro\nolinkurl\LWR@nolinkurl
+\LetLtxMacro\url\LWR@url
+\LetLtxMacro\phantomsection\LWR@phantomsection
-\DeclareOption*{}
-\let\ds@\@empty% from the original \ProcessOptions
-\edef\@curroptions{}% lwarp modification to \ProcessOptions
-\@process@ptions\relax% from the original \ProcessOptions
-
-\newcommand*{\hypersetup}[1]{}
\newcommand*{\hyperbaseurl}[1]{}
\NewDocumentCommand{\LWR@hyperimageb}{m +m}{%
\LWR@ensuredoingapar%
\def\LWR@templink{#1}%
\@onelevel@sanitize\LWR@templink%
- \LWR@htmltag{img src="\LWR@templink" alt="#2" class="hyperimage"}%
+ \LWR@htmltag{%
+ img src=\textquotedbl\LWR@templink\textquotedbl\ %
+ alt=\textquotedbl#2\textquotedbl\ %
+ class=\textquotedbl{}hyperimage\textquotedbl%
+ }%
\LWR@ensuredoingapar%
\endgroup%
}
@@ -49,7 +297,7 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
\NewDocumentCommand{\LWR@hyperdefb}{m m +m}{%
\LWR@ensuredoingapar%
- \LWR@sublabel{#1.#2}%
+ \LWR@label@createtag{#1.#2}%
#3%
\endgroup%
}
@@ -62,18 +310,18 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
\newcommand{\LWR@hyperreffinish}[1]{%
\begingroup%
- \RenewDocumentCommand{\ref}{}{\LWR@ref@ignorestar}%
- #1%
+ \RenewDocumentCommand{\ref}{s m}{\LWR@print@ref{##2}}%
+ #1%
\endgroup%
\LWR@htmltag{/a}%
}
\newcommand*{\LWR@hyperrefbb}[3]{%
\LWR@htmltag{%
- a href="%
+ a href=\textquotedbl%
\detokenize\expandafter{#1}\LWR@hashmark%
\detokenize\expandafter{#2}.\detokenize\expandafter{#3}%
- "%
+ \textquotedbl%
\LWR@addlinktitle%
}%
\endgroup%
@@ -144,6 +392,7 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
\newcommand{\belowpdfbookmark}[2]{}
+\let\texorpdfstring\relax
\newcommand{\texorpdfstring}[2]{#1}
\newcommand{\pdfstringdefDisableCommands}[1]{}
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-idxlayout.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-idxlayout.sty
index d823017e23a..822806b6238 100644
--- a/Master/texmf-dist/tex/latex/lwarp/lwarp-idxlayout.sty
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-idxlayout.sty
@@ -17,16 +17,16 @@
%% version 2005/12/01 or later.
\LWR@ProvidesPackageDrop{idxlayout}[2012/03/30]
\newcommand{\LWR@indexprenote}{}
+\AtBeginDocument{
+ \preto\printindex{
-\preto\printindex{
+ \LWR@maybe@orignewpage
+ \LWR@startpars
-\LWR@orignewpage
-\LWR@startpars
-
-\LWR@indexprenote
+ \LWR@indexprenote
+ }
}
-
\newcommand{\setindexprenote}[1]{\renewcommand{\LWR@indexprenote}{#1}}
\newcommand*{\noindexprenote}{\renewcommand{\LWR@indexprenote}{}}
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-imakeidx.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-imakeidx.sty
index 05a77eef4a9..177dd6be3f9 100644
--- a/Master/texmf-dist/tex/latex/lwarp/lwarp-imakeidx.sty
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-imakeidx.sty
@@ -22,7 +22,7 @@
\catcode`\_=12%
\renewcommand*{\printindex}[1][\imki@jobname]{%
-\LWR@orignewpage%
+\LWR@maybe@orignewpage%
\LWR@startpars%
\ifstrequal{#1}{\imki@jobname}{%
\@ifundefined{#1@idxfile}{%
@@ -80,14 +80,14 @@
}
\renewcommand\imki@wrindexentrysplit[3]{%
\addtocounter{LWR@autoindex}{1}%
-\LWR@new@label{LWRindex-\arabic{LWR@autoindex}}%
+\label{LWRindex-\arabic{LWR@autoindex}}%
\expandafter\protected@write\csname#1@idxfile\endcsname{}%
{\string\indexentry{#2}{\arabic{LWR@autoindex}}}%
}
\renewcommand\imki@wrindexentryunique[3]{%
\addtocounter{LWR@autoindex}{1}%
-\LWR@new@label{LWRindex-\arabic{LWR@autoindex}}%
+\label{LWRindex-\arabic{LWR@autoindex}}%
\protected@write\@indexfile{}%
{\string\indexentry[#1]{#2}{\arabic{LWR@autoindex}}}%
}
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-index.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-index.sty
index f95a32084c3..f957c4fe6ef 100644
--- a/Master/texmf-dist/tex/latex/lwarp/lwarp-index.sty
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-index.sty
@@ -37,7 +37,7 @@
{\begingroup}
{%
\addtocounter{LWR@autoindex}{1}% lwarp
- \LWR@new@label{LWRindex-\arabic{LWR@autoindex}}% lwarp
+ \label{LWRindex-\arabic{LWR@autoindex}}% lwarp
\begingroup%
}
{}
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-intopdf.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-intopdf.sty
index e8f834e4102..50910a5c221 100644
--- a/Master/texmf-dist/tex/latex/lwarp/lwarp-intopdf.sty
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-intopdf.sty
@@ -17,7 +17,7 @@
%% version 2005/12/01 or later.
\LWR@ProvidesPackageDrop{intopdf}[2019/05/28]
\NewDocumentCommand{\attachandlink}{o m o m m}{%
- \href{#2}{#5}%
+ \LWR@href{#2}{#5}%
}
\endinput
%%
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-isomath.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-isomath.sty
new file mode 100644
index 00000000000..a203bb254ce
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-isomath.sty
@@ -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@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'.
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-isotope.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-isotope.sty
new file mode 100644
index 00000000000..c48ec7ebe76
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-isotope.sty
@@ -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@ProvidesPackagePass{isotope}[2011/08/26]
+\newcommand{\LWR@HTML@isotope@two}[2][]{%
+ \renewcommand{\isotope@atomicnumber}{#1}%
+ \edef\LWR@isotope@alttag{%
+ \textbackslash(
+ \textbackslash{}isotope
+ [\isotope@nucleonnumber]%
+ [\isotope@atomicnumber]%
+ \{#2\}
+ \textbackslash)%
+ }%
+ \ifbool{mathjax}%
+ {\LWR@isotope@alttag}%
+ {% SVG
+ \m@th%
+ \LWR@subsingledollar*%
+ {% alt tag
+ \LWR@isotope@alttag%
+ }%
+ {isotope}% add'l hashing
+ {% contents
+ \settowidth\@tempdimb{%
+ \ensuremath{\scriptstyle\isotope@nucleonnumber}%
+ }%
+ \settowidth\@tempdimc{%
+ \ensuremath{\scriptstyle\isotope@atomicnumber}%
+ }%
+ \ifdim\@tempdimb<\@tempdimc\@tempdimb=\@tempdimc\fi%
+ \ensuremath{
+ {}%
+ ^{\makebox[\@tempdimb][r]{%
+ \ensuremath{%
+ \scriptstyle\isotope@nucleonnumber%
+ }% ensuremath
+ }}%
+ _{\makebox[\@tempdimb][r]{%
+ \ensuremath{%
+ \scriptstyle\isotope@atomicnumber%
+ }% ensuremath
+ }}%
+ \isotopestyle{#2}%
+ }% ensuremath
+ }% contents
+ }% SVG
+ \endgroup%
+}%
+\LWR@formatted{isotope@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'.
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-jurabib.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-jurabib.sty
new file mode 100644
index 00000000000..c64df8ae2df
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-jurabib.sty
@@ -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@ProvidesPackagePass{jurabib}[2004/01/25]
+\renewrobustcmd{\jblangle}{\textless}
+
+\renewrobustcmd{\jbrangle}{\textgreater}
+
+\renewcommand*{\jb@biblaw@item}{%
+ \hspace{0.5em}%
+ \HTMLunicode{25B7}% lwarp
+ \hspace{0.5em}%
+}
+
+\renewrobustcmd{\jbarchsig}[2]{%
+ \ifjbweareinbib
+ \settowidth{\jb@subarchitemwidth}{\jbsamesubarchindent+#1}%
+ \setlength{\jb@subarchentrywidth}{\textwidth-\jb@subarchitemwidth-4em}%
+ #1\ifjb@dot\unskip\unskip\unskip.\fi
+ \quad% lwarp
+ \ifthenelse{\equal{#2}{}}{}{\jbarchnameformat{#2}}%
+ \fi
+}%
+
+\xpatchcmd{\jb@do@post@item}
+ {\begin{tabular}{p{\jb@biblaw@item@width}j{\jb@biblaw@entry@width}}}
+ {}
+ {}
+ {\LWR@patcherror{jurabib}{jb@do@post@item 1}}
+
+\xpatchcmd{\jb@do@post@item}
+ {\multicolumn{2}{p{\columnwidth}}{\jb@@name}}
+ {\jb@@name}
+ {}
+ {\LWR@patcherror{jurabib}{jb@do@post@item 2}}
+
+\xpatchcmd{\jb@do@post@item}
+ {\jb@biblaw@item & \jb@@fulltitle}
+ {\jb@biblaw@item \quad \jb@@fulltitle}
+ {}
+ {\LWR@patcherror{jurabib}{jb@do@post@item 3}}
+
+\xpatchcmd{\jb@do@post@item}
+ {\end{tabular}}
+ {}
+ {}
+ {\LWR@patcherror{jurabib}{jb@do@post@item 4}}
+
+\xpatchcmd{\jb@do@post@item}
+ {\begin{minipage}[t]{\bibnumberwidth}}
+ {}
+ {}
+ {\LWR@patcherror{jurabib}{jb@do@post@item 5}}
+
+\xpatchcmd{\jb@do@post@item}
+ {\end{minipage}}
+ {\quad}
+ {}
+ {\LWR@patcherror{jurabib}{jb@do@post@item 6}}
+\endinput
+%%
+%% End of file `lwarp-jurabib.sty'.
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-karnaugh-map.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-karnaugh-map.sty
index 75a9ee855f3..8383eec69bd 100644
--- a/Master/texmf-dist/tex/latex/lwarp/lwarp-karnaugh-map.sty
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-karnaugh-map.sty
@@ -105,11 +105,14 @@
\ifdefstring{\@karnaughmap@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@var@mapsizex@\space x \@karnaughmap@var@mapsizey@\space x \@karnaughmap@var@mapsizez@)%
+ Can not find a template fitting your specification
+ (\@karnaughmap@var@mapsizex@\space x \@karnaughmap@var@mapsizey@\space x
+ \@karnaughmap@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
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-keyfloat.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-keyfloat.sty
index 49e594da490..849e434c704 100644
--- a/Master/texmf-dist/tex/latex/lwarp/lwarp-keyfloat.sty
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-keyfloat.sty
@@ -19,7 +19,7 @@
\LWR@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@usersmarginparwidth}%
\setlength{\marginparwidth}{.95\LWR@usersmarginparwidth}%
}
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-keystroke.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-keystroke.sty
new file mode 100644
index 00000000000..7a60732468e
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-keystroke.sty
@@ -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@ProvidesPackagePass{keystroke}[2010/04/23]
+\newcommand*{\LWR@HTML@keystroke}[1]{
+ \InlineClass{keystroke}{#1}
+}
+\LWR@formatted{keystroke}
+
+\newcommand*{\LWR@HTML@Return}{\keystroke{\HTMLunicode{021A9}}}
+\LWR@formatted{Return}
+
+\newcommand*{\LWR@HTML@BSpace}{\keystroke{\HTMLunicode{027FB}}}
+\LWR@formatted{BSpace}
+
+\newcommand*{\LWR@HTML@Tab}{\keystroke{|\HTMLunicode{021C6}|}}
+\LWR@formatted{Tab}
+
+\newcommand*{\LWR@HTML@UArrow}{\keystroke{\HTMLunicode{02191}}}
+\LWR@formatted{UArrow}
+
+\newcommand*{\LWR@HTML@DArrow}{\keystroke{\HTMLunicode{02193}}}
+\LWR@formatted{DArrow}
+
+\newcommand*{\LWR@HTML@LArrow}{\keystroke{\HTMLunicode{02190}}}
+\LWR@formatted{LArrow}
+
+\newcommand*{\LWR@HTML@RArrow}{\keystroke{\HTMLunicode{02192}}}
+\LWR@formatted{RArrow}
+
+\LetLtxMacro\LWR@HTML@Shift\Shift
+\xpatchcmd{\LWR@HTML@Shift}
+ {$\Uparrow$}
+ {\HTMLunicode{21D1}}
+ {}
+ {}
+\LWR@formatted{Shift}
+
+\LetLtxMacro\LWR@HTML@PgUp\PgUp
+\xpatchcmd{\LWR@HTML@PgUp}
+ {$\uparrow$}
+ {\HTMLunicode{2191}}
+ {}
+ {}
+\LWR@formatted{PgUp}
+
+\LetLtxMacro\LWR@HTML@PgDown\PgDown
+\xpatchcmd{\LWR@HTML@PgDown}
+ {$\downarrow$}
+ {\HTMLunicode{2193}}
+ {}
+ {}
+\LWR@formatted{PgDown}
+\endinput
+%%
+%% End of file `lwarp-keystroke.sty'.
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-kpfonts-otf.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-kpfonts-otf.sty
new file mode 100644
index 00000000000..2f62205bd10
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-kpfonts-otf.sty
@@ -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@ProvidesPackagePass{kpfonts-otf}[2020/06/20]
+
+\LWR@infoprocessingmathjax{kpfonts-otf}
+
+\LWR@origRequirePackage{lwarp-common-mathjax-nonunicode}
+
+\LWR@origRequirePackage{lwarp-common-mathjax-letters}
+
+\begin{warpMathJax}
+
+\ifkp@calasscr
+ \CustomizeMathJax{\let\mathscr\mathcal}
+\else
+ \CustomizeMathJax{\let\mathcal\mathscr}
+\fi
+
+\ifkp@frenchstyle
+ \LWR@mathjax@addgreek@l@up{}{}
+ \LWR@mathjax@addgreek@u@up*{}{}
+\fi
+
+\ifkp@oldReIm
+ \CustomizeMathJax{\renewcommand{\Re}{\mathfrak{Re}}}
+ \CustomizeMathJax{\renewcommand{\Im}{\mathfrak{Im}}}
+\else
+\fi
+
+\ifkp@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'.
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-kpfonts.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-kpfonts.sty
new file mode 100644
index 00000000000..dae3a801aba
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-kpfonts.sty
@@ -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@ProvidesPackagePass{kpfonts}[2010/08/20]
+
+\LWR@infoprocessingmathjax{kpfonts}
+
+\LWR@origRequirePackage{lwarp-common-mathjax-newpxtxmath}
+
+\LWR@origRequirePackage{lwarp-common-mathjax-letters}
+
+\begin{warpMathJax}
+
+\ifkp@calasscr
+ \CustomizeMathJax{\let\LWRorigmathscr\mathscr}
+ \CustomizeMathJax{\let\LWRorigmathcal\mathcal}
+ \CustomizeMathJax{\let\mathscr\LWRorigmathcal}
+ \CustomizeMathJax{\let\mathcal\LWRorigmathscr}
+\fi
+
+\ifkp@upgrk % lowercase
+ \LWR@mathjax@addgreek@l@up{}{}
+ \LWR@mathjax@addgreek@l@it{other}{}
+\else
+ \LWR@mathjax@addgreek@l@up{other}{}
+\fi
+
+\ifkp@slGrk
+ \LWR@mathjax@addgreek@u@it*{}{}
+ \LWR@mathjax@addgreek@u@up*{other}{}
+ \LWR@mathjax@addgreek@u@up*{var}{}
+\else
+ \LWR@mathjax@addgreek@u@it*{other}{}
+ \LWR@mathjax@addgreek@u@it*{var}{}
+\fi
+
+\LWR@mathjax@addgreek@u@up*{}{up}
+\LWR@mathjax@addgreek@l@up{}{up}
+
+\LWR@mathjax@addgreek@u@it*{}{sl}
+\LWR@mathjax@addgreek@l@it{}{sl}
+
+\CustomizeMathJax{\newcommand{\partialsl}{\mathord{\unicode{x1D715}}}}
+\CustomizeMathJax{\let\partialup\uppartial}% not upright
+
+\ifkp@oldReIm
+\else
+ \CustomizeMathJax{\renewcommand{\Re}{\mathfrak{Re}}}
+ \CustomizeMathJax{\renewcommand{\Im}{\mathfrak{Im}}}
+\fi
+
+\ifkp@Dcommand
+ \ifkp@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'.
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-lettrine.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-lettrine.sty
index 5205922e0a4..296ffef6dd4 100644
--- a/Master/texmf-dist/tex/latex/lwarp/lwarp-lettrine.sty
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-lettrine.sty
@@ -17,7 +17,7 @@
%% version 2005/12/01 or later.
\LWR@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}
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-libertinust1math.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-libertinust1math.sty
new file mode 100644
index 00000000000..5a144992061
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-libertinust1math.sty
@@ -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@ProvidesPackagePass{libertinust1math}[2020/06/10]
+
+\LWR@infoprocessingmathjax{libertinust1math}
+\LWR@origRequirePackage{lwarp-common-mathjax-letters}
+
+\begin{warpMathJax}
+
+\iflibus@slantedG
+ \LWR@mathjax@addgreek@u@it*{}{}
+\else
+ \LWR@mathjax@addgreek@u@up*{}{}
+\fi
+
+\LWR@mathjax@addgreek@u@it*{}{it}
+\LWR@mathjax@addgreek@u@up*{up}{}
+\LWR@mathjax@addgreek@u@up*{}{up}
+
+\iflibus@frenchm
+ \LWR@mathjax@addgreek@l@up{}{}
+\else
+ \LWR@mathjax@addgreek@l@it{}{}
+\fi
+
+\LWR@mathjax@addgreek@l@it{}{it}
+\LWR@mathjax@addgreek@l@up{}{up}
+\LWR@mathjax@addgreek@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'.
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-lineno.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-lineno.sty
index d5ffb597425..7794654e859 100644
--- a/Master/texmf-dist/tex/latex/lwarp/lwarp-lineno.sty
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-lineno.sty
@@ -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
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-listings.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-listings.sty
index 21962725d87..50ac55f4648 100644
--- a/Master/texmf-dist/tex/latex/lwarp/lwarp-listings.sty
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-listings.sty
@@ -17,7 +17,6 @@
%% version 2005/12/01 or later.
-\begin{warpHTML}
\LWR@ProvidesPackagePass{listings}[2018/09/02]
\lst@column@flexible
@@ -33,11 +32,15 @@
,literate=%
{<}{\HTMLentity{lt}}{4}%
{>}{\HTMLentity{gt}}{4}%
- {\&}{\HTMLentity{amp}}{5}%
+ {'}{\HTMLentity{apos}}{6}%
+ {`}{\HTMLentity{grave}}{7}%
}%
}
\renewcommand{\lst@Init}[1]{%
\LWR@traceinfo{lst@Init}%
+\lst@ifdisplaystyle%
+ \LWR@forcenewpage%
+\fi%
\renewcommand*{\@captype}{lstlisting}%
\let\lst@aboveskip\z@\let\lst@belowskip\z@%
\gdef\lst@boxpos{t}%
@@ -52,27 +55,30 @@
\def\lst@framelr{}%
\LWR@traceinfo{finished origlst@Init}%
\lst@ifdisplaystyle%
-\LWR@traceinfo{About to create verbatim.}%
-\let\lsthk@EveryPar\relax%
-\LWR@forcenewpage
-\LWR@atbeginverbatim{2}{programlisting}%
+ \LWR@traceinfo{About to create verbatim.}%
+ \let\lsthk@EveryPar\relax%
+ \LWR@atbeginverbatim{programlisting}%
-\let\lsthk@EveryPar\LWR@origlsthkEveryPar%
+ \let\lsthk@EveryPar\LWR@origlsthkEveryPar%
\else%
-\ifbool{LWR@verbtags}{\LWR@htmltag{span class="inlineprogramlisting"}}{}%
+ \ifbool{LWR@verbtags}{\LWR@htmltag{%
+ span class=\textquotedbl{}inlineprogramlisting\textquotedbl%
+ }}{}%
\fi%
+\LWR@traceinfo{lst@Init done}%
}
\renewcommand*{\lst@DeInit}{%
\lst@ifdisplaystyle%
-\let\lsthk@EveryPar\relax%
-\LWR@afterendverbatim{0}%
-\let\lsthk@EveryPar\LWR@origlsthkEveryPar%
+ \let\lsthk@EveryPar\relax%
+ \LWR@afterendverbatim%
+ \let\lsthk@EveryPar\LWR@origlsthkEveryPar%
\else%
-\ifbool{LWR@verbtags}{\noindent\LWR@htmltag{/span}}{}%
+ \ifbool{LWR@verbtags}{\noindent\LWR@htmltag{/span}}{}%
\fi%
\LWR@origlst@DeInit%
}
+
\def\lst@MakeCaption#1{%
\LWR@traceinfo{MAKING CAPTION at #1}%
\lst@ifdisplaystyle
@@ -88,10 +94,13 @@
\lst@ifnolol\else
\ifx\lst@@caption\@empty
\ifx\lst@caption\@empty
- \ifx\lst@intname\@empty \else \def\lst@temp{ }%
- \ifx\lst@intname\lst@temp \else
+ \ifx\lst@intname\@empty
+ \else
+ \def\lst@temp{ }%
+ \ifx\lst@intname\lst@temp \else
\LWR@traceinfo{addcontents lst@name: -\lst@name-}%
- \fi\fi
+ \fi
+ \fi
\fi
\else
\LWR@traceinfo{addcontents lst@@caption: -\lst@@caption-}%
@@ -111,9 +120,9 @@
\lst@makecaption\fnum@lstlisting{\ignorespaces \lst@caption}
\else
\LWR@traceinfo{Making title: \lst@title}%
-\begin{BlockClass}{lstlistingtitle}% lwarp
-\lst@maketitle\lst@title% lwarp
-\end{BlockClass}% lwarp
+\begin{BlockClass}{lstlistingtitle}% lwarp
+\lst@maketitle\lst@title% lwarp
+\end{BlockClass}% lwarp
\fi
\LWR@traceinfo{About to assign label: !\lst@label!}%
\ifx\lst@label\@empty\else
@@ -131,6 +140,11 @@
\fi
\LWR@traceinfo{DONE WITH CAPTION at #1}%
}
+
+\renewcommand{\lst@maketitle}[1]{%
+ \LWR@isolate{#1}%
+}%
+
\lst@Key{numbers}{none}{%
\let\lst@PlaceNumber\@empty
\lstKV@SwitchCases{#1}%
@@ -143,8 +157,6 @@
\kern 6in \kern\lst@numbersep
\lst@numberstyle{\thelstnumber}}}%
}{\PackageError{lwarp-listings}{Numbers #1 unknown}\@ehc}}
-\end{warpHTML}
-
\endinput
%%
%% End of file `lwarp-listings.sty'.
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-longtable.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-longtable.sty
index 045f77844bb..97e5d4aad5e 100644
--- a/Master/texmf-dist/tex/latex/lwarp/lwarp-longtable.sty
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-longtable.sty
@@ -23,10 +23,14 @@
\boolfalse{LWR@longtable@havehead}
\newenvironment{longtable*}[2][]{%
\LWR@floatbegin{table}%
- \setcaptiontype{\LTcaptype}%
- \caption@setoptions{longtable}%
- \caption@setoptions{@longtable}%
- \caption@LT@setup%
+ \ifdef{\setcaptiontype}{% caption package:
+ \setcaptiontype{\LTcaptype}%
+ \caption@setoptions{longtable}%
+ \caption@setoptions{@longtable}%
+ \caption@LT@setup%
+ }{% w/o caption package:
+ \renewcommand*{\@captype}{\LTcaptype}%
+ }%
\booltrue{LWR@starredlongtable}%
\boolfalse{LWR@longtable@havehead}%
\let\captionlistentry\LWR@LTcaptionlistentry%
@@ -36,10 +40,14 @@
\newenvironment{longtable}[2][]{%
\LWR@floatbegin{table}%
- \setcaptiontype{\LTcaptype}%
- \caption@setoptions{longtable}%
- \caption@setoptions{@longtable}%
- \caption@LT@setup%
+ \ifdef{\setcaptiontype}{% caption package:
+ \setcaptiontype{\LTcaptype}%
+ \caption@setoptions{longtable}%
+ \caption@setoptions{@longtable}%
+ \caption@LT@setup%
+ }{% w/o caption package:
+ \renewcommand*{\@captype}{\LTcaptype}%
+ }%
\refstepcounter{\LTcaptype}%
\boolfalse{LWR@longtable@havehead}%
\let\captionlistentry\LWR@LTcaptionlistentry%
@@ -49,7 +57,7 @@
\newcounter{LTchunksize}
\newcommand*{\LWR@longtable@headerror}{%
- \PackageError{lwarp}
+ \PackageError{lwarp-longtable}
{For longtable:\MessageBreak
1: Keep either one of an \protect\endhead\space or
\protect\endfirsthead\space\MessageBreak
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-lpic.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-lpic.sty
new file mode 100644
index 00000000000..62d7536285e
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-lpic.sty
@@ -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@ProvidesPackagePass{lpic}[2010/12/23]
+\BeforeBeginEnvironment{lpic}{%
+ \begin{lateximage}[-lpic-~\PackageDiagramAltText]%
+}
+
+\AfterEndEnvironment{lpic}{\end{lateximage}}
+\endinput
+%%
+%% End of file `lwarp-lpic.sty'.
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-luatodonotes.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-luatodonotes.sty
index 5e873e851e9..ce23175ffc1 100644
--- a/Master/texmf-dist/tex/latex/lwarp/lwarp-luatodonotes.sty
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-luatodonotes.sty
@@ -26,7 +26,7 @@
\let\LWRTODONOTES@orig@todototoc\todototoc
\renewcommand*{\todototoc}{%
-\phantomsection%
+\LWR@phantomsection%
\LWRTODONOTES@orig@todototoc%
}
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-luavlna.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-luavlna.sty
new file mode 100644
index 00000000000..4d92acffea3
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-luavlna.sty
@@ -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@ProvidesPackagePass{luavlna}[2019/10/30]
+\preventsingleoff
+\LetLtxMacro\preventsingleon\preventsingleoff
+\endinput
+%%
+%% End of file `lwarp-luavlna.sty'.
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-lyluatex.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-lyluatex.sty
index 3bd0be0bbdc..42ae1f78c51 100644
--- a/Master/texmf-dist/tex/latex/lwarp/lwarp-lyluatex.sty
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-lyluatex.sty
@@ -23,7 +23,7 @@
\renewcommand*{\ly@compilescore}[1]{%
\begingroup%
- \LWR@orignewpage%
+ \LWR@maybe@orignewpage%
\LWR@origloadgeometry{LWR@usergeometry}%
\LWR@print@normalsize%
\renewcommand{\includegraphics}[2][]{%
@@ -53,7 +53,7 @@
tex.print{[[\string\end{BlockClass}]]}
end
}%
- \LWR@orignewpage%
+ \LWR@maybe@orignewpage%
\LWR@origrestoregeometry%
\endgroup%
}
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-makeidx.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-makeidx.sty
index a710aa3513c..8638a472dd0 100644
--- a/Master/texmf-dist/tex/latex/lwarp/lwarp-makeidx.sty
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-makeidx.sty
@@ -17,7 +17,7 @@
%% version 2005/12/01 or later.
\LWR@ProvidesPackagePass{makeidx}[2014/09/29]
\preto\printindex{%
- \LWR@orignewpage%
+ \LWR@maybe@orignewpage%
\LWR@startpars%
}
\endinput
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-mathalpha.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-mathalpha.sty
new file mode 100644
index 00000000000..59e534e4d84
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-mathalpha.sty
@@ -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@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'.
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-mathastext.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-mathastext.sty
new file mode 100644
index 00000000000..a83c5b4a69f
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-mathastext.sty
@@ -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@ProvidesPackagePass{mathastext}[2019/11/16]
+\LWR@origRequirePackage{lwarp-common-mathjax-letters}
+
+\begin{warpMathJax}
+\ifmst@itgreek
+\else
+ \ifmst@upgreek
+ \LWR@mathjax@addgreek@l@up{}{}
+ \else
+ \ifmst@frenchmath
+ \LWR@mathjax@addgreek@l@up{}{}
+ \else
+ \ifmst@italic
+ \else
+ \LWR@mathjax@addgreek@l@up{}{}
+ \fi
+ \fi
+ \fi
+\fi
+
+\ifcase\mst@greek@select
+ \or{\LWR@mathjax@addgreek@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'.
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-mathdesign.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-mathdesign.sty
new file mode 100644
index 00000000000..d52776d8821
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-mathdesign.sty
@@ -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@ProvidesPackagePass{mathdesign}[2013/08/29]
+\LWR@origRequirePackage{lwarp-common-mathjax-letters}
+
+\LWR@origRequirePackage{lwarp-common-mathjax-overlaysymbols}
+
+\begin{warpMathJax}
+\LWR@infoprocessingmathjax{mathdesign}
+
+\if@MD@grupright
+\LWR@mathjax@addgreek@l@up{}{}
+\fi
+
+\if@MD@GRupright
+\else
+\LWR@mathjax@addgreek@u@it*{}{}
+\fi
+\LWR@mathjax@addgreek@l@up{}{up}
+\LWR@mathjax@addgreek@u@up*{}{up}
+\LWR@mathjax@addgreek@l@it{}{it}
+\LWR@mathjax@addgreek@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'.
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-mathdots.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-mathdots.sty
index 676b705cbb5..ded5eae1187 100644
--- a/Master/texmf-dist/tex/latex/lwarp/lwarp-mathdots.sty
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-mathdots.sty
@@ -17,7 +17,15 @@
%% version 2005/12/01 or later.
\LWR@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
%%
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-mathfixs.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-mathfixs.sty
index f721e39344c..8bb0e850bd2 100644
--- a/Master/texmf-dist/tex/latex/lwarp/lwarp-mathfixs.sty
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-mathfixs.sty
@@ -18,7 +18,7 @@
\LWR@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{\.}{\,}}
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-mathpazo.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-mathpazo.sty
new file mode 100644
index 00000000000..b9d43345948
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-mathpazo.sty
@@ -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@ProvidesPackagePass{mathpazo}[2020/03/25]
+\LWR@origRequirePackage{lwarp-common-mathjax-letters}
+
+\begin{warpMathJax}
+\LWR@infoprocessingmathjax{mathpazo}
+
+\ifpazo@slGreek
+\LWR@mathjax@addgreek@u@it*{}{}
+\fi
+
+\LWR@mathjax@addgreek@u@up*{up}{}
+
+\CustomizeMathJax{\newcommand{\mathbold}[1]{\boldsymbol{#1}}}
+\end{warpMathJax}
+\endinput
+%%
+%% End of file `lwarp-mathpazo.sty'.
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-mathptmx.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-mathptmx.sty
new file mode 100644
index 00000000000..403e04ba503
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-mathptmx.sty
@@ -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@ProvidesPackagePass{mathptmx}[2020/03/25]
+\LWR@origRequirePackage{lwarp-common-mathjax-letters}
+
+\begin{warpMathJax}
+\LWR@infoprocessingmathjax{mathptmx}
+
+\@ifpackagewith{mathptmx}{slantedGreek}
+ {\LWR@mathjax@addgreek@u@it*{}{}}
+ {}
+
+\LWR@mathjax@addgreek@u@up*{up}{}
+\end{warpMathJax}
+\endinput
+%%
+%% End of file `lwarp-mathptmx.sty'.
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-mathspec.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-mathspec.sty
new file mode 100644
index 00000000000..000e8c18b82
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-mathspec.sty
@@ -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@ProvidesPackagePass{mathspec}[2016/12/22]
+\LWR@origRequirePackage{lwarp-common-mathjax-letters}
+
+\begin{warpMathJax}
+\booltrue{LWR@MathJax@silentquotes}
+\AtBeginDocument{
+\ifcase\eu@GreekUppercase@@value %% If Greek Uppercase Regular
+ \LWR@mathjax@addgreek@u@up*{}{}
+\or %% If Greek Uppercase Italic
+ \LWR@mathjax@addgreek@u@it*{}{}
+\or %% If Greek Uppercase Plain
+ \LWR@mathjax@addgreek@u@up*{}{}
+\fi
+\ifcase\eu@GreekLowercase@@value %% If Greek Lowercase Regular
+ \LWR@mathjax@addgreek@l@up{}{}
+\or %% If Greek Lowercase Italic
+ \LWR@mathjax@addgreek@l@it{}{}
+\or %% If Greek Lowercase Plain
+ \LWR@mathjax@addgreek@l@it{}{}
+\fi
+}
+\newcommand*{\LWR@mathspec@varforms}{%
+\eu@ifbooltrue{GreekLowercase}{
+ \eu@ifbooltrue{exchangebetaforms}{
+ \CustomizeMathJax{\let\LWRorigbeta\beta}
+ \CustomizeMathJax{\let\beta\varbeta}
+ \CustomizeMathJax{\let\varbeta\LWRorigbeta}
+ }
+ \eu@ifbooltrue{exchangeepsilonforms}{
+ \CustomizeMathJax{\let\LWRorigepsilon\epsilon}
+ \CustomizeMathJax{\let\epsilon\varepsilon}
+ \CustomizeMathJax{\let\varepsilon\LWRorigepsilon}
+ }
+ \eu@ifbooltrue{exchangethetaforms}{
+ \CustomizeMathJax{\let\LWRorigtheta\theta}
+ \CustomizeMathJax{\let\theta\vartheta}
+ \CustomizeMathJax{\let\vartheta\LWRorigtheta}
+ }
+ \eu@ifbooltrue{exchangekappaforms}{
+ \CustomizeMathJax{\let\LWRorigkappa\kappa}
+ \CustomizeMathJax{\let\kappa\varkappa}
+ \CustomizeMathJax{\let\varkappa\LWRorigkappa}
+ }
+ \eu@ifbooltrue{exchangepiforms}{
+ \CustomizeMathJax{\let\LWRorigpi\pi}
+ \CustomizeMathJax{\let\pi\varpi}
+ \CustomizeMathJax{\let\varpi\LWRorigpi}
+ }
+ \eu@ifbooltrue{exchangerhoforms}{
+ \CustomizeMathJax{\let\LWRorigrho\rho}
+ \CustomizeMathJax{\let\rho\varrho}
+ \CustomizeMathJax{\let\varrho\LWRorigrho}
+ }
+ \eu@ifbooltrue{exchangephiforms}{
+ \CustomizeMathJax{\let\LWRorigphi\phi}
+ \CustomizeMathJax{\let\phi\varphi}
+ \CustomizeMathJax{\let\varphi\LWRorigphi}
+ }
+}
+\eu@ifbooltrue{GreekUppercase}{
+ \eu@ifbooltrue{exhangeThetaforms}{
+ \CustomizeMathJax{\let\LWRorigTheta\Theta}
+ \CustomizeMathJax{\let\Theta\varTheta}
+ \CustomizeMathJax{\let\varTheta\LWRorigTheta}
+ }
+}
+}
+\xapptocmd{\exchangeforms}
+ {\AtBeginDocument{\LWR@mathspec@varforms}}
+ {}
+ {\LWR@patcherror{mathspec}{exchangeforms}}
+
+\end{warpMathJax}
+\endinput
+%%
+%% End of file `lwarp-mathspec.sty'.
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-mathtools.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-mathtools.sty
index 8bbe52a1058..70c119f42ac 100644
--- a/Master/texmf-dist/tex/latex/lwarp/lwarp-mathtools.sty
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-mathtools.sty
@@ -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,22 +123,53 @@
\def\LWRAboxed#1&#2&#3!|!{\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{\shortvdotswithin}[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{\MTFlushSpaceAbove}{}}
\CustomizeMathJax{\newcommand{\MTFlushSpaceBelow}{\\}}
\LetLtxMacro\LWR@mathtools@orig@DeclarePairedDelimiter\DeclarePairedDelimiter
\renewcommand{\DeclarePairedDelimiter}[3]{
\LWR@mathtools@orig@DeclarePairedDelimiter{#1}{#2}{#3}
- \CustomizeMathJax{\newcommand{#1}[2][]{{##1#2##2##1#3}}}
+ \appto\LWR@customizedMathJax{\LWRbackslash(}
+ \appto\LWR@customizedMathJax{%
+ \LWRbackslash{}newcommand\{\LWRbackslash\macrotocsname{#1}LWRsubstar\}%
+ }%
+ \appto\LWR@customizedMathJax{[2][]}%
+ \appto\LWR@customizedMathJax{\{\{}%
+ \LWR@subcustomizedmathjax{##1\left#2##2##1\right#3}%
+ \appto\LWR@customizedMathJax{\}\}}%
+ \appto\LWR@customizedMathJax{\LWRbackslash)\par}%
+ \appto\LWR@customizedMathJax{\LWRbackslash(}
+ \appto\LWR@customizedMathJax{%
+ \LWRbackslash{}newcommand\{\LWRbackslash\macrotocsname{#1}LWRsubnostar\}%
+ }%
+ \appto\LWR@customizedMathJax{[2][]}%
+ \appto\LWR@customizedMathJax{\{\{}%
+ \LWR@subcustomizedmathjax{##1#2##2##1#3}%
+ \appto\LWR@customizedMathJax{\}\}}%
+ \appto\LWR@customizedMathJax{\LWRbackslash)\par}%
+ \appto\LWR@customizedMathJax{\LWRbackslash(}
+ \appto\LWR@customizedMathJax{%
+ \LWRbackslash{}newcommand\{\LWRbackslash{}\macrotocsname{#1}\}%
+ \{\LWRbackslash{}ifstar%
+ \LWRbackslash{}\macrotocsname{#1}LWRsubstar%
+ \LWRbackslash{}\macrotocsname{#1}LWRsubnostar%
+ \}%
+ }%
+ \appto\LWR@customizedMathJax{\LWRbackslash)\par}%
}
\@onlypreamble\DeclareParedDelimiter
@@ -143,7 +179,29 @@
\LWR@mathtools@orig@DeclarePairedDelimiterXPP{#1}[#2]{#3}{#4}{#5}{#6}{#7}
\appto\LWR@customizedMathJax{\LWRbackslash(}%
\appto\LWR@customizedMathJax{%
- \LWRbackslash{}newcommand\{\LWRbackslash\macrotocsname{#1}LWRsub\}%
+ \LWRbackslash{}newcommand\{\LWRbackslash\macrotocsname{#1}LWRsubsubstar\}%
+ }%
+ \appto\LWR@customizedMathJax{[#2]}%
+ \appto\LWR@customizedMathJax{\{\{\LWRbackslash{}left}%
+ \LWR@subcustomizedmathjax{#3#4#7}%
+ \appto\LWR@customizedMathJax{\LWRbackslash{}right}%
+ \LWR@subcustomizedmathjax{#5#6}%
+ \appto\LWR@customizedMathJax{\}\}}%
+ \appto\LWR@customizedMathJax{\LWRbackslash)\par}%
+ \appto\LWR@customizedMathJax{\LWRbackslash(}%
+ \appto\LWR@customizedMathJax{%
+ \LWRbackslash{}newcommand\{\LWRbackslash\macrotocsname{#1}LWRsubstar\}[1][]%
+ }%
+ \appto\LWR@customizedMathJax{%
+ \{
+ \LWRbackslash{}def\LWRbackslash{}delimsize\{\#1\}
+ \LWRbackslash\macrotocsname{#1}LWRsubsubstar
+ \}%
+ }%
+ \appto\LWR@customizedMathJax{\LWRbackslash)\par}%
+ \appto\LWR@customizedMathJax{\LWRbackslash(}%
+ \appto\LWR@customizedMathJax{%
+ \LWRbackslash{}newcommand\{\LWRbackslash\macrotocsname{#1}LWRsubsubnostar\}%
}%
\appto\LWR@customizedMathJax{[#2]}%
\appto\LWR@customizedMathJax{\{\{\LWRbackslash{}delimsize}%
@@ -154,13 +212,24 @@
\appto\LWR@customizedMathJax{\LWRbackslash)\par}%
\appto\LWR@customizedMathJax{\LWRbackslash(}%
\appto\LWR@customizedMathJax{%
- \LWRbackslash{}newcommand\{\LWRbackslash\macrotocsname{#1}\}[1][]%
+ \LWRbackslash{}newcommand\{\LWRbackslash\macrotocsname{#1}LWRsubnostar\}[1][]%
}%
\appto\LWR@customizedMathJax{%
\{
\LWRbackslash{}def\LWRbackslash{}delimsize\{\#1\}
- \LWRbackslash\macrotocsname{#1}LWRsub
+ \LWRbackslash\macrotocsname{#1}LWRsubsubnostar
+ \}%
+ }%
+ \appto\LWR@customizedMathJax{\LWRbackslash)\par}%
+ \appto\LWR@customizedMathJax{\LWRbackslash(}
+ \appto\LWR@customizedMathJax{%
+ \LWRbackslash{}newcommand\{%
+ \LWRbackslash{}\macrotocsname{#1}%
\}%
+ \{\LWRbackslash{}ifstar%
+ \LWRbackslash{}\macrotocsname{#1}LWRsubstar%
+ \LWRbackslash{}\macrotocsname{#1}LWRsubnostar%
+ \}%
}%
\appto\LWR@customizedMathJax{\LWRbackslash)\par}%
}
@@ -169,28 +238,28 @@
\CustomizeMathJax{\newcommand\lparen{(}}
\CustomizeMathJax{\newcommand\rparen{)}}
-\CustomizeMathJax{\newcommand{\vcentcolon}{:}}
\CustomizeMathJax{\newcommand{\ordinarycolon}{:}}
+\CustomizeMathJax{\newcommand{\vcentcolon}{\mathrel{\unicode{x2236}}}}
+
+\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{\mathrel{=\!\unicode{x2236}}}}
+\CustomizeMathJax{\newcommand\Eqqcolon{\mathrel{=\!\unicode{x2237}}}}
+\CustomizeMathJax{\newcommand\eqcolon{\mathrel{-\unicode{x2236}}}}
+\CustomizeMathJax{\newcommand\Eqcolon{\mathrel{-\unicode{x2237}}}}
+
+\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\dblcolon{\vcentcolon\vcentcolon}}
-\CustomizeMathJax{\newcommand\coloneqq{\vcentcolon=}}
-\CustomizeMathJax{\newcommand\Coloneqq{\dblcolon=}}
-\CustomizeMathJax{\newcommand\coloneq{\vcentcolon{-}}}
-\CustomizeMathJax{\newcommand\Coloneq{\dblcolon{-}}}
-
-\CustomizeMathJax{\newcommand\eqqcolon{=\vcentcolon}}
-\CustomizeMathJax{\newcommand\Eqqcolon{=\dblcolon}}
-\CustomizeMathJax{\newcommand\eqcolon{\mathrel{-}\vcentcolon}}
-\CustomizeMathJax{\newcommand\Eqcolon{\mathrel{-}\dblcolon}}
-
-\CustomizeMathJax{\newcommand\colonapprox{\vcentcolon\approx}}
-\CustomizeMathJax{\newcommand\Colonapprox{\dblcolon\approx}}
-\CustomizeMathJax{\newcommand\colonsim{\vcentcolon\sim}}
-\CustomizeMathJax{\newcommand\Colonsim{\dblcolon\sim}}
-
-\CustomizeMathJax{\newcommand{\nuparrow}{\cancel{\uparrow}}}
-\CustomizeMathJax{\newcommand{\ndownarrow}{\cancel{\downarrow}}}
-\CustomizeMathJax{\newcommand{\bigtimes}{{\Large\times}}}
+\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}}
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-mattens.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-mattens.sty
new file mode 100644
index 00000000000..8e0b49c4bfb
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-mattens.sty
@@ -0,0 +1,106 @@
+%%
+%% This is file `lwarp-mattens.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx (with options: `mattens')
+%% 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@ProvidesPackagePass{mattens}[2010/03/26]
+\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}
+\endinput
+%%
+%% End of file `lwarp-mattens.sty'.
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-maybemath.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-maybemath.sty
new file mode 100644
index 00000000000..7378bbcf9d4
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-maybemath.sty
@@ -0,0 +1,30 @@
+%%
+%% This is file `lwarp-maybemath.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx (with options: `maybemath')
+%% 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@ProvidesPackagePass{maybemath}[2005/2/22]
+\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}
+\endinput
+%%
+%% End of file `lwarp-maybemath.sty'.
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-mdframed.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-mdframed.sty
index 72e38ced5a1..ec1f40943d2 100644
--- a/Master/texmf-dist/tex/latex/lwarp/lwarp-mdframed.sty
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-mdframed.sty
@@ -51,12 +51,13 @@ endinnercode={\LWR@stoppars},
}
\newcommand*{\LWR@mdframedstart}{%
\LWR@traceinfo{LWR@mdframedstart start}%
+ \LWR@spanwarninvalid{mdframe}%
\LWR@stoppars%
-\LWR@htmltagc{div class="%
+\LWR@htmltagc{div class=\textquotedbl%
mdframed%
\ifdefstring{\LWR@mdthisenv}{mdframed}{}{ \LWR@mdthisenv}%
-" \LWR@orignewline
-style=" \LWR@orignewline
+\textquotedbl \LWR@orignewline
+style=\textquotedbl\LWR@orignewline
background: \LWR@mdfprintcolor{backgroundcolor} ; \LWR@orignewline
border: \LWR@mdfprintlength{linewidth} solid
\LWR@mdfprintcolor{linecolor} ; \LWR@orignewline
@@ -70,7 +71,7 @@ border-radius: \LWR@mdfprintlength{roundcorner} ; \LWR@orignewline
}
{box-shadow: none ;}
\LWR@orignewline
-"}
+\textquotedbl}
\LWR@select@print@hspace%
\renewcommand*{\rule}{\LWR@print@rule}
\LetLtxMacro\makebox\LWR@print@makebox%
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-mdwmath.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-mdwmath.sty
new file mode 100644
index 00000000000..d17882a065a
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-mdwmath.sty
@@ -0,0 +1,29 @@
+%%
+%% This is file `lwarp-mdwmath.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx (with options: `mdwmath')
+%% 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@ProvidesPackagePass{mdwmath}[1996/04/11]
+\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}
+\endinput
+%%
+%% End of file `lwarp-mdwmath.sty'.
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-menukeys.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-menukeys.sty
new file mode 100644
index 00000000000..8e53747a183
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-menukeys.sty
@@ -0,0 +1,41 @@
+%%
+%% This is file `lwarp-menukeys.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx (with options: `menukeys')
+%% 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@ProvidesPackagePass{menukeys}[2020/12/19]
+\xpatchcmd{\tw@define@menu@macro@}
+ {\@nameuse{tw@style@#4@pre}}
+ {%
+ \begin{lateximage}*[\detokenize{##2}]%
+ \@nameuse{tw@style@#4@pre}%
+ }
+ {}
+ {\LWR@patcherror{menukeys}{tw@define@menu@macro@}}
+
+\xpatchcmd{\tw@define@menu@macro@}
+ {\@nameuse{tw@style@#4@post}}
+ {%
+ \@nameuse{tw@style@#4@post}%
+ \end{lateximage}%
+ }
+ {}
+ {\LWR@patcherror{menukeys}{tw@define@menu@macro@ B}}
+\renewmenumacro{\menu}[>]{menus}
+\renewmenumacro{\directory}[/]{paths}
+\renewmenumacro{\keys}[+]{roundedkeys}
+\endinput
+%%
+%% End of file `lwarp-menukeys.sty'.
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-mhchem.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-mhchem.sty
index 10dd87baaf1..58b9be68356 100644
--- a/Master/texmf-dist/tex/latex/lwarp/lwarp-mhchem.sty
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-mhchem.sty
@@ -93,6 +93,10 @@
\LetLtxMacro\cesplit\LWR@mhchem@origcesplit%
}
+\begin{warpMathJax}
+\CustomizeMathJax{\require{mhchem}}
+\end{warpMathJax}
+
\endinput
%%
%% End of file `lwarp-mhchem.sty'.
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-minted.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-minted.sty
new file mode 100644
index 00000000000..00cb4b0881f
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-minted.sty
@@ -0,0 +1,62 @@
+%%
+%% This is file `lwarp-minted.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx (with options: `minted')
+%% 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@ProvidesPackagePass{minted}[2017/07/19]
+\xpatchcmd{\minted}
+ {\setkeys{minted@opt@cmd}{#1}}
+ {%
+ \setkeys{minted@opt@cmd}{%
+ #1,%
+ mathescape=false,breaklines,texcomments=false,highlightlines={}%
+ }%
+ }
+ {}
+ {\LWR@patcherror{minted}{minted}}
+
+\xpatchcmd{\mintinline}
+ {\setkeys{minted@opt@cmd}{#1}}
+ {\setkeys{minted@opt@cmd}{%
+ #1,%
+ mathescape=false,breaklines,texcomments=false,highlightlines={}%
+ }%
+ }
+ {}
+ {\LWR@patcherror{minted}{mintinline}}
+
+\xpatchcmd{\mint}
+ {\setkeys{minted@opt@cmd}{#1}}
+ {%
+ \setkeys{minted@opt@cmd}{%
+ #1,%
+ mathescape=false,breaklines,texcomments=false,highlightlines={}%
+ }%
+ }
+ {}
+ {\LWR@patcherror{minted}{mint}}
+
+\xpatchcmd{\inputminted}
+ {\setkeys{minted@opt@cmd}{#1}}
+ {\setkeys{minted@opt@cmd}{%
+ #1,%
+ mathescape=false,breaklines,texcomments=false,highlightlines={}%
+ }%
+ }
+ {}
+ {\LWR@patcherror{minted}{inputminted}}
+\endinput
+%%
+%% End of file `lwarp-minted.sty'.
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-mismath.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-mismath.sty
index a571867a03e..5adbbb11cd3 100644
--- a/Master/texmf-dist/tex/latex/lwarp/lwarp-mismath.sty
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-mismath.sty
@@ -61,48 +61,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}}}
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-mleftright.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-mleftright.sty
new file mode 100644
index 00000000000..ad0c6a3e9fb
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-mleftright.sty
@@ -0,0 +1,27 @@
+%%
+%% This is file `lwarp-mleftright.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx (with options: `mleftright')
+%% 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@ProvidesPackagePass{mleftright}[2019/12/03]
+\begin{warpMathJax}
+\CustomizeMathJax{\newcommand{\mleft}{\left}}
+\CustomizeMathJax{\newcommand{\mright}{\right}}
+\CustomizeMathJax{\newcommand{\mleftright}{}}
+\CustomizeMathJax{\newcommand{\mleftrightrestore}{}}
+\end{warpMathJax}
+\endinput
+%%
+%% End of file `lwarp-mleftright.sty'.
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-moreverb.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-moreverb.sty
index 3a5a25d562f..20824c8d7fd 100644
--- a/Master/texmf-dist/tex/latex/lwarp/lwarp-moreverb.sty
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-moreverb.sty
@@ -15,41 +15,40 @@
%% 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.
-\begin{warpHTML}
\LWR@ProvidesPackagePass{moreverb}[2008/06/03]
\BeforeBeginEnvironment{verbatimtab}{%
\LWR@forcenewpage
-\LWR@atbeginverbatim{3}{Verbatim}%
+\LWR@atbeginverbatim{Verbatim}%
}
\AfterEndEnvironment{verbatimtab}{%
-\LWR@afterendverbatim{1}%
+\LWR@afterendverbatim%
}
\LetLtxMacro\LWRMV@orig@verbatimtabinput\@verbatimtabinput
\renewcommand{\@verbatimtabinput}[2][]{%
\LWR@forcenewpage
-\LWR@atbeginverbatim{3}{Verbatim}%
+\LWR@atbeginverbatim{Verbatim}%
\LWRMV@orig@verbatimtabinput[#1]{#2}%
-\LWR@afterendverbatim{1}%
+\LWR@afterendverbatim%
}
\BeforeBeginEnvironment{listing}{%
\LWR@forcenewpage
-\LWR@atbeginverbatim{3}{programlisting}%
+\LWR@atbeginverbatim{programlisting}%
}
\AfterEndEnvironment{listing}{%
-\LWR@afterendverbatim{1}%
+\LWR@afterendverbatim%
}
\BeforeBeginEnvironment{listingcont}{%
\LWR@forcenewpage
-\LWR@atbeginverbatim{3}{programlisting}%
+\LWR@atbeginverbatim{programlisting}%
}
\AfterEndEnvironment{listingcont}{%
-\LWR@afterendverbatim{1}%
+\LWR@afterendverbatim%
}
@@ -57,22 +56,21 @@
\renewcommand{\@listinginput}[3][]{
\LWR@forcenewpage
-\LWR@atbeginverbatim{3}{programlisting}%
+\LWR@atbeginverbatim{programlisting}%
\LWRMV@@listinginput[#1]{#2}{#3}%
-\LWR@afterendverbatim{1}%
+\LWR@afterendverbatim%
}
\renewenvironment*{boxedverbatim}
{
\LWR@forcenewpage
-\LWR@atbeginverbatim{3}{boxedverbatim}%
+\LWR@atbeginverbatim{boxedverbatim}%
\verbatim%
}
{
\endverbatim%
-\LWR@afterendverbatim{1}%
+\LWR@afterendverbatim%
}
-\end{warpHTML}
\endinput
%%
%% End of file `lwarp-moreverb.sty'.
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-multibib.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-multibib.sty
new file mode 100644
index 00000000000..2eebbc14b25
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-multibib.sty
@@ -0,0 +1,26 @@
+%%
+%% This is file `lwarp-multibib.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx (with options: `multibib')
+%% 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@ProvidesPackagePass{multibib}[2008/12/10]
+\xpatchcmd{\newcites}
+ {{\@suffix}}
+ {{\@suffix_html}}
+ {}
+ {\LWR@patcherror{multibib}{newcites}}
+\endinput
+%%
+%% End of file `lwarp-multibib.sty'.
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-multicol.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-multicol.sty
index 9d27bf9c1e7..6d6d8164580 100644
--- a/Master/texmf-dist/tex/latex/lwarp/lwarp-multicol.sty
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-multicol.sty
@@ -21,8 +21,6 @@
\LWR@ProvidesPackageDrop{multicol}[2018/12/27]
-\begin{warpHTML}
-
\NewDocumentEnvironment{multicols}{s m o}
{
\LWR@forcenewpage
@@ -54,8 +52,6 @@
\IfValueTF{#2}{#2}{#3}%
}
-\end{warpHTML}
-
\endinput
%%
%% End of file `lwarp-multicol.sty'.
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-multiobjective.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-multiobjective.sty
index 18c254a7879..95b58e60d6f 100644
--- a/Master/texmf-dist/tex/latex/lwarp/lwarp-multiobjective.sty
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-multiobjective.sty
@@ -21,8 +21,8 @@
\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}}
+\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}}
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-multirow.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-multirow.sty
index e4e67975e4a..45963f2ddbe 100644
--- a/Master/texmf-dist/tex/latex/lwarp/lwarp-multirow.sty
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-multirow.sty
@@ -18,36 +18,42 @@
\LetLtxMacro\multirow\relax
-\LWR@ProvidesPackagePass{multirow}[2018/08/03]
+\LWR@ProvidesPackagePass{multirow}[2021/01/29]
\newcommand{\LWR@multirowborder}{}
+\newcommand*{\LWR@multirow@par}{\LWR@htmltag{br /}\LWR@origpar}%
\NewDocumentCommand{\LWR@HTML@multirow}{O{c} m o m o +m}%
{%
\LWR@traceinfo{*** LWR@HTML@multirow #1 #2 #4}%
\booltrue{LWR@usedmultirow}%
\LWR@maybenewtablerow%
\LWR@tabularleftedge%
-\LWR@htmltag{td rowspan="#2" %
-\ifstrequal{#1}{c}{style="\LWR@print@mbox{vertical-align:middle}" }{}%
-\ifstrequal{#1}{b}{style="\LWR@print@mbox{vertical-align:bottom}" }{}%
-\ifstrequal{#1}{t}{style="\LWR@print@mbox{vertical-align:top}" }{}%
-\ifdefvoid{\LWR@multirowborder}{}{%
-style="\LWR@print@mbox{border-\LWR@multirowborder:} 2px dotted black ; %
-\LWR@print@mbox{padding-\LWR@multirowborder:} 2px" %
-}%
-class="td%
+\LWR@htmltag{td rowspan=\textquotedbl#2\textquotedbl\ %
+class=\textquotedbl{}td%
\LWR@getexparray{LWR@tablecolspec}{\arabic{LWR@tableLaTeXcolindex}}%
\LWR@addcmidruletrim%
\LWR@addleftmostbartag%
\LWR@printbartag{\arabic{LWR@tableLaTeXcolindex}}%
-"%
+\textquotedbl%
\LWR@tdstartstyles%
+\ifstrequal{#1}{c}{\LWR@tdaddstyle\LWR@print@mbox{vertical-align:middle}}{}%
+\ifstrequal{#1}{b}{\LWR@tdaddstyle\LWR@print@mbox{vertical-align:bottom}}{}%
+\ifstrequal{#1}{t}{\LWR@tdaddstyle\LWR@print@mbox{vertical-align:top}}{}%
+\ifdefvoid{\LWR@multirowborder}{}{%
+ \LWR@tdaddstyle%
+ \LWR@print@mbox{border-\LWR@multirowborder:} 2px dotted black ; %
+ \LWR@print@mbox{padding-\LWR@multirowborder:} 2px%
+}%
\LWR@addcmidrulewidth%
\LWR@addcdashline%
\LWR@addtabularrulecolors%
\LWR@tdendstyles%
}%
\LWR@getexparray{LWR@colbeforespec}{\arabic{LWR@tableLaTeXcolindex}}%
-\begingroup\LetLtxMacro{\\}{\LWR@endofline}#6\endgroup%
+\begingroup%
+ \LetLtxMacro{\\}{\LWR@endofline}%
+ \let\par\LWR@multirow@par%
+ #6%
+\endgroup%
\LWR@stoppars%
\boolfalse{LWR@intabularmetadata}%
\renewcommand{\LWR@multirowborder}{}%
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-nccmath.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-nccmath.sty
index 1600e59b58d..cec50a7db3b 100644
--- a/Master/texmf-dist/tex/latex/lwarp/lwarp-nccmath.sty
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-nccmath.sty
@@ -48,14 +48,16 @@
\newcommand*{\LWR@nccmath@eqs}[2][]{\begin{eqnarray}#2\end{eqnarray}}
\begin{warpMathJax}
-\CustomizeMathJax{\renewcommand{\intertext}[2][]{\\ \text{#2}\notag \\}}
+\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]}}
+\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}}
@@ -63,6 +65,7 @@
\CustomizeMathJax{\newcommand{\mfrac}[2]{\frac{#1}{#2}}}
\CustomizeMathJax{\newcommand{\mbinom}[2]{\binom{#1}{#2}}}
\CustomizeMathJax{\newenvironment{mmatrix}{\begin{matrix}}{\end{matrix}}}
+\CustomizeMathJax{\newcommand{\displaybreak}[1][]{}}
\end{warpMathJax}
\endinput
%%
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-newpxmath.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-newpxmath.sty
new file mode 100644
index 00000000000..9071bd3d83f
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-newpxmath.sty
@@ -0,0 +1,41 @@
+%%
+%% This is file `lwarp-newpxmath.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx (with options: `newpxmath')
+%% 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@ProvidesPackagePass{newpxmath}[2020/01/09]
+
+\LWR@infoprocessingmathjax{newpxmath}
+
+\LWR@origRequirePackage{lwarp-common-mathjax-newpxtxmath}
+
+\LWR@origRequirePackage{lwarp-common-mathjax-letters}
+
+\begin{warpMathJax}
+
+\LWR@mathjax@addgreek@u@up*{}{up}
+\LWR@mathjax@addgreek@u@up*{up}{}
+\LWR@mathjax@addgreek@l@up{up}{}
+\LWR@mathjax@addgreek@l@up{}{up}
+\LWR@mathjax@addgreek@u@it*{}{it}
+\LWR@mathjax@addgreek@l@it{}{it}
+\ifpx@slantedG
+ \LWR@mathjax@addgreek@u@it*{}{}
+\fi
+
+\end{warpMathJax}
+\endinput
+%%
+%% End of file `lwarp-newpxmath.sty'.
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-newtxmath.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-newtxmath.sty
new file mode 100644
index 00000000000..49522cf05f0
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-newtxmath.sty
@@ -0,0 +1,51 @@
+%%
+%% This is file `lwarp-newtxmath.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx (with options: `newtxmath')
+%% 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@ProvidesPackagePass{newtxmath}[2020/08/04]
+
+\LWR@infoprocessingmathjax{newtxmath}
+
+\LWR@origRequirePackage{lwarp-common-mathjax-newpxtxmath}
+
+\LWR@origRequirePackage{lwarp-common-mathjax-letters}
+
+\begin{warpMathJax}
+
+\LWR@mathjax@addgreek@u@up*{}{up}
+\LWR@mathjax@addgreek@u@up*{up}{}
+\LWR@mathjax@addgreek@l@up{up}{}
+\LWR@mathjax@addgreek@l@up{}{up}
+\LWR@mathjax@addgreek@u@it*{}{it}
+\LWR@mathjax@addgreek@l@it{}{it}
+
+\LWR@mathjax@addgreek@u@it*{it}{}
+\LWR@mathjax@addgreek@l@it{it}{}
+
+\ifdef{\iftx@BI}{
+ \iftx@BI
+ \LWR@mathjax@addlatin@u@bfit{BI}
+ \LWR@mathjax@addlatin@l@bfit{BI}
+ \fi
+}{}
+\iftx@slantedG
+ \LWR@mathjax@addgreek@u@it*{}{}
+\fi
+
+\end{warpMathJax}
+\endinput
+%%
+%% End of file `lwarp-newtxmath.sty'.
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-newtxsf.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-newtxsf.sty
new file mode 100644
index 00000000000..87d2818d0e2
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-newtxsf.sty
@@ -0,0 +1,50 @@
+%%
+%% This is file `lwarp-newtxsf.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx (with options: `newtxsf')
+%% 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@ProvidesPackagePass{newtxsf}[2020/05/02]
+
+\LWR@infoprocessingmathjax{newtxsf}
+
+\LWR@origRequirePackage{lwarp-common-mathjax-newpxtxmath}
+
+\LWR@origRequirePackage{lwarp-common-mathjax-letters}
+
+\begin{warpMathJax}
+
+\LWR@mathjax@addgreek@u@up*{}{up}
+\LWR@mathjax@addgreek@u@up*{up}{}
+\LWR@mathjax@addgreek@l@up{up}{}
+\LWR@mathjax@addgreek@l@up{}{up}
+\LWR@mathjax@addgreek@u@it*{}{it}
+\LWR@mathjax@addgreek@l@it{}{it}
+
+\LWR@mathjax@addgreek@u@it*{it}{}
+\LWR@mathjax@addgreek@l@it{it}{}
+\ifdef{\iftx@BI}{
+ \iftx@BI
+ \LWR@mathjax@addlatin@u@bfit{BI}
+ \LWR@mathjax@addlatin@l@bfit{BI}
+ \fi
+}{}
+\iftx@slantedG
+ \LWR@mathjax@addgreek@u@it*{}{}
+\fi
+
+\end{warpMathJax}
+\endinput
+%%
+%% End of file `lwarp-newtxsf.sty'.
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-nfssext-cfr.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-nfssext-cfr.sty
index f0a4a1a0ef9..82a98f59ac9 100644
--- a/Master/texmf-dist/tex/latex/lwarp/lwarp-nfssext-cfr.sty
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-nfssext-cfr.sty
@@ -17,7 +17,7 @@
%% version 2005/12/01 or later.
\LWR@ProvidesPackagePass{nfssext-cfr}[2017/03/28]
\newrobustcmd{\LWR@HTML@lnstyle}{}
-\newrobustcmd{\LWR@HTML@osstyle}{}
+\newrobustcmd{\LWR@HTML@osstyle}{\LWR@HTML@scshape}
\newrobustcmd{\LWR@HTML@instyle}{}
\newrobustcmd{\LWR@HTML@sustyle}{}
\newrobustcmd{\LWR@HTML@swstyle}{}
@@ -34,7 +34,7 @@
\newrobustcmd{\LWR@HTML@qtstyle}{}
\newrobustcmd{\LWR@HTML@shstyle}{}
\newrobustcmd{\LWR@HTML@swashstyle}{}
-\newrobustcmd{\LWR@HTML@tmstyle}{}
+\newrobustcmd{\LWR@HTML@tmstyle}{\renewcommand*{\LWR@f@family}{tt}}
\newrobustcmd{\LWR@HTML@tvstyle}{\renewcommand*{\LWR@f@family}{tt}}
\newrobustcmd{\LWR@HTML@tstyle}{}
\newrobustcmd{\LWR@HTML@lstyle}{}
@@ -57,11 +57,11 @@
\newrobustcmd{\LWR@HTML@exwidth}{}
\newrobustcmd{\LWR@HTML@uxwidth}{}
\newrobustcmd{\LWR@HTML@mbweight}{\renewcommand*{\LWR@f@series}{md}}
-\newrobustcmd{\LWR@HTML@dbweight}{\renewcommand*{\LWR@f@series}{bf}}
-\newrobustcmd{\LWR@HTML@sbweight}{\renewcommand*{\LWR@f@series}{bf}}
-\newrobustcmd{\LWR@HTML@ubweight}{\renewcommand*{\LWR@f@series}{eb}}
-\newrobustcmd{\LWR@HTML@elweight}{\renewcommand*{\LWR@f@series}{lg}}
-\newrobustcmd{\LWR@HTML@ulweight}{\renewcommand*{\LWR@f@series}{lg}}
+\newrobustcmd{\LWR@HTML@dbweight}{\renewcommand*{\LWR@f@series}{db}}
+\newrobustcmd{\LWR@HTML@sbweight}{\renewcommand*{\LWR@f@series}{sb}}
+\newrobustcmd{\LWR@HTML@ubweight}{\renewcommand*{\LWR@f@series}{ub}}
+\newrobustcmd{\LWR@HTML@elweight}{\renewcommand*{\LWR@f@series}{el}}
+\newrobustcmd{\LWR@HTML@ulweight}{\renewcommand*{\LWR@f@series}{ul}}
\newrobustcmd{\LWR@HTML@dfshape}{}
\ifdef{\LWR@HTML@swshape}{}{% duplicated by fontaxes
@@ -116,6 +116,9 @@
\LWR@formatted{ubweight}
\LWR@formatted{elweight}
\LWR@formatted{ulweight}
+\LWR@formatted{itshape}% adapt to the new print version
+\LWR@formatted{scshape}% adapt to the new print version
+\LWR@formatted{upshape}% adapt to the new print version
\LWR@formatted{dfshape}
\ifdef{\LWR@HTML@swshape}{}{% duplicated by fontaxes
@@ -123,121 +126,66 @@
}
\LWR@formatted{ornament}
-
-\newcommand{\LWR@null@lnstyle}{}
-\newcommand{\LWR@null@osstyle}{}
-\newcommand{\LWR@null@instyle}{}
-\newcommand{\LWR@null@sustyle}{}
-\newcommand{\LWR@null@swstyle}{}
-\newcommand{\LWR@null@pstyle}{}
-\newcommand{\LWR@null@tistyle}{}
-\newcommand{\LWR@null@ostyle}{}
-\newcommand{\LWR@null@postyle}{}
-\newcommand{\LWR@null@ltstyle}{}
-\newcommand{\LWR@null@ofstyle}{}
-\newcommand{\LWR@null@altstyle}{}
-\newcommand{\LWR@null@regstyle}{}
-\newcommand{\LWR@null@embossstyle}{}
-\newcommand{\LWR@null@ornamentalstyle}{}
-\newcommand{\LWR@null@qtstyle}{}
-\newcommand{\LWR@null@shstyle}{}
-\newcommand{\LWR@null@swashstyle}{}
-\newcommand{\LWR@null@tmstyle}{}
-\newcommand{\LWR@null@tvstyle}{}
-\newcommand{\LWR@null@tstyle}{}
-\newcommand{\LWR@null@lstyle}{}
-\newcommand{\LWR@null@tlstyle}{}
-\newcommand{\LWR@null@plstyle}{}
-\newcommand{\LWR@null@tostyle}{}
-\newcommand{\LWR@null@olshape}{}
-\newcommand{\LWR@null@scolshape}{}
-\newcommand{\LWR@null@ushape}{}
-\newcommand{\LWR@null@scushape}{}
-\newcommand{\LWR@null@uishape}{}
-\newcommand{\LWR@null@rishape}{}
-\newcommand{\LWR@null@regwidth}{}
-\newcommand{\LWR@null@nwwidth}{}
-\newcommand{\LWR@null@cdwidth}{}
-\newcommand{\LWR@null@ecwidth}{}
-\newcommand{\LWR@null@ucwidth}{}
-\newcommand{\LWR@null@etwidth}{}
-\newcommand{\LWR@null@epwidth}{}
-\newcommand{\LWR@null@exwidth}{}
-\newcommand{\LWR@null@uxwidth}{}
-\newcommand{\LWR@null@mbweight}{}
-\newcommand{\LWR@null@dbweight}{}
-\newcommand{\LWR@null@sbweight}{}
-\newcommand{\LWR@null@ubweight}{}
-\newcommand{\LWR@null@elweight}{}
-\newcommand{\LWR@null@ulweight}{}
-\newcommand{\LWR@null@dfshape}{}
-
-\ifdef{\LWR@HTML@swshape}{}{% duplicated by fontaxes
- \newcommand{\LWR@null@swshape}{}
+\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\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\ubweight\@empty%
+ \LetLtxMacro\elweight\@empty%
+ \LetLtxMacro\ulweight\@empty%
+ \LetLtxMacro\dfshape\@empty%
+ \LetLtxMacro\swshape\@empty%
+ \LetLtxMacro\ornament\@gobble%
}
-\newcommand{\LWR@null@ornament}[1]{}
-
-\appto{\LWR@nullfonts}{%
-\LetLtxMacro\lnstyle\LWR@null@lnstyle%
-\LetLtxMacro\osstyle\LWR@null@osstyle%
-\LetLtxMacro\instyle\LWR@null@instyle%
-\LetLtxMacro\sustyle\LWR@null@sustyle%
-\LetLtxMacro\swstyle\LWR@null@swstyle%
-\LetLtxMacro\pstyle\LWR@null@pstyle%
-\LetLtxMacro\tistyle\LWR@null@tistyle%
-\LetLtxMacro\ostyle\LWR@null@ostyle%
-\LetLtxMacro\postyle\LWR@null@postyle%
-\LetLtxMacro\ltstyle\LWR@null@ltstyle%
-\LetLtxMacro\ofstyle\LWR@null@ofstyle%
-\LetLtxMacro\altstyle\LWR@null@altstyle%
-\LetLtxMacro\regstyle\LWR@null@regstyle%
-\LetLtxMacro\embossstyle\LWR@null@embossstyle%
-\LetLtxMacro\ornamentalstyle\LWR@null@ornamentalstyle%
-\LetLtxMacro\qtstyle\LWR@null@qtstyle%
-\LetLtxMacro\shstyle\LWR@null@shstyle%
-\LetLtxMacro\swashstyle\LWR@null@swashstyle%
-\LetLtxMacro\tmstyle\LWR@null@tmstyle%
-\LetLtxMacro\tvstyle\LWR@null@tvstyle%
-\LetLtxMacro\tstyle\LWR@null@tstyle%
-\LetLtxMacro\lstyle\LWR@null@lstyle%
-\LetLtxMacro\tlstyle\LWR@null@tlstyle%
-\LetLtxMacro\plstyle\LWR@null@plstyle%
-\LetLtxMacro\tostyle\LWR@null@tostyle%
-\LetLtxMacro\olshape\LWR@null@olshape%
-\LetLtxMacro\scolshape\LWR@null@scolshape%
-\LetLtxMacro\ushape\LWR@null@ushape%
-\LetLtxMacro\scushape\LWR@null@scushape%
-\LetLtxMacro\uishape\LWR@null@uishape%
-\LetLtxMacro\rishape\LWR@null@rishape%
-\LetLtxMacro\regwidth\LWR@null@regwidth%
-\LetLtxMacro\nwwidth\LWR@null@nwwidth%
-\LetLtxMacro\cdwidth\LWR@null@cdwidth%
-\LetLtxMacro\ecwidth\LWR@null@ecwidth%
-\LetLtxMacro\ucwidth\LWR@null@ucwidth%
-\LetLtxMacro\etwidth\LWR@null@etwidth%
-\LetLtxMacro\epwidth\LWR@null@epwidth%
-\LetLtxMacro\exwidth\LWR@null@exwidth%
-\LetLtxMacro\uxwidth\LWR@null@uxwidth%
-\LetLtxMacro\mbweight\LWR@null@mbweight%
-\LetLtxMacro\dbweight\LWR@null@dbweight%
-\LetLtxMacro\sbweight\LWR@null@sbweight%
-\LetLtxMacro\ubweight\LWR@null@ubweight%
-\LetLtxMacro\elweight\LWR@null@elweight%
-\LetLtxMacro\ulweight\LWR@null@ulweight%
-\LetLtxMacro\dfshape\LWR@null@dfshape%
-\LetLtxMacro\swshape\LWR@null@swshape%
-\LetLtxMacro\ornament\LWR@null@ornament%
-}
-
-\newrobustcmd{\LWR@HTML@textln}[1]{#1}
+\newrobustcmd{\LWR@HTML@textln}[1]{\InlineClass{textln}{#1}}
\newrobustcmd{\LWR@HTML@textos}[1]{\textsc{#1}}
\newrobustcmd{\LWR@HTML@textin}[1]{#1}
\newrobustcmd{\LWR@HTML@textsu}[1]{#1}
\newrobustcmd{\LWR@HTML@textdf}[1]{#1}
-
-\ifdef{\LWR@HTML@swshape}{}{% duplicated by fontaxes
+\ifdef{\LWR@HTML@textsw}{}{% duplicated by fontaxes
\newrobustcmd{\LWR@HTML@textsw}[1]{#1}
+ \LWR@formatted{textsw}
}
\newrobustcmd{\LWR@HTML@textti}[1]{#1}
@@ -249,15 +197,15 @@
\newrobustcmd{\LWR@HTML@textorn}[1]{#1}
\newrobustcmd{\LWR@HTML@textqt}[1]{#1}
\newrobustcmd{\LWR@HTML@textsh}[1]{#1}
-\newrobustcmd{\LWR@HTML@texttm}[1]{#1}
+\newrobustcmd{\LWR@HTML@texttm}[1]{\texttt{#1}}
\newrobustcmd{\LWR@HTML@texttv}[1]{\texttt{#1}}
-\newrobustcmd{\LWR@HTML@textl}[1]{#1}
-\newrobustcmd{\LWR@HTML@texto}[1]{#1}
-\newrobustcmd{\LWR@HTML@textp}[1]{#1}
-\newrobustcmd{\LWR@HTML@textt}[1]{#1}
+\newrobustcmd{\LWR@HTML@textl}[1]{\InlineClass{textln}{#1}}
+\newrobustcmd{\LWR@HTML@texto}[1]{\textsc{#1}}
+\newrobustcmd{\LWR@HTML@textp}[1]{\InlineClass{textp}{#1}}
+\newrobustcmd{\LWR@HTML@textt}[1]{\InlineClass{textt}{#1}}
\newrobustcmd{\LWR@HTML@textpl}[1]{#1}
\newrobustcmd{\LWR@HTML@textpo}[1]{\textsc{#1}}
-\newrobustcmd{\LWR@HTML@texttl}[1]{#1}
+\newrobustcmd{\LWR@HTML@texttl}[1]{\InlineClass{textln}{#1}}
\newrobustcmd{\LWR@HTML@textto}[1]{\textsc{#1}}
\newrobustcmd{\LWR@HTML@textol}[1]{#1}
\newrobustcmd{\LWR@HTML@textswash}[1]{#1}
@@ -274,19 +222,18 @@
\newrobustcmd{\LWR@HTML@textex}[1]{#1}
\newrobustcmd{\LWR@HTML@textux}[1]{#1}
\newrobustcmd{\LWR@HTML@textrw}[1]{#1}
-\newrobustcmd{\LWR@HTML@textmb}[1]{\textmd{#1}}
-\newrobustcmd{\LWR@HTML@textdb}[1]{\textbf{#1}}
-\newrobustcmd{\LWR@HTML@textsb}[1]{\textbf{#1}}
-\newrobustcmd{\LWR@HTML@textub}[1]{\texteb{#1}}
-\newrobustcmd{\LWR@HTML@textel}[1]{\textlg{#1}}
-\newrobustcmd{\LWR@HTML@textul}[1]{\textlg{#1}}
+\newrobustcmd{\LWR@HTML@textmb}[1]{{\LWR@HTML@mbweight\InlineClass{textmb}{#1}}}
+\newrobustcmd{\LWR@HTML@textdb}[1]{{\LWR@HTML@dbweight\InlineClass{textdb}{#1}}}
+\newrobustcmd{\LWR@HTML@textsb}[1]{{\LWR@HTML@sbweight\InlineClass{textsb}{#1}}}
+\newrobustcmd{\LWR@HTML@textub}[1]{{\LWR@HTML@ubweight\InlineClass{textub}{#1}}}
+\newrobustcmd{\LWR@HTML@textel}[1]{{\LWR@HTML@elweight\InlineClass{textel}{#1}}}
+\newrobustcmd{\LWR@HTML@textul}[1]{{\LWR@HTML@ulweight\InlineClass{textul}{#1}}}
\LWR@formatted{textln}
\LWR@formatted{textos}
\LWR@formatted{textin}
\LWR@formatted{textsu}
\LWR@formatted{textdf}
-\LWR@formatted{textsw}
\LWR@formatted{textti}
\LWR@formatted{textlt}
\LWR@formatted{textof}
@@ -328,104 +275,53 @@
\LWR@formatted{textel}
\LWR@formatted{textul}
-\newrobustcmd{\LWR@null@textln}[1]{#1}
-\newrobustcmd{\LWR@null@textos}[1]{#1}
-\newrobustcmd{\LWR@null@textin}[1]{#1}
-\newrobustcmd{\LWR@null@textsu}[1]{#1}
-\newrobustcmd{\LWR@null@textdf}[1]{#1}
-
-\ifdef{\LWR@HTML@swshape}{}{% duplicated by fontaxes
- \newrobustcmd{\LWR@null@textsw}[1]{#1}
-}
-
-\newrobustcmd{\LWR@null@textti}[1]{#1}
-\newrobustcmd{\LWR@null@textlt}[1]{#1}
-\newrobustcmd{\LWR@null@textof}[1]{#1}
-\newrobustcmd{\LWR@null@textalt}[1]{#1}
-\newrobustcmd{\LWR@null@textreg}[1]{#1}
-\newrobustcmd{\LWR@null@emboss}[1]{#1}
-\newrobustcmd{\LWR@null@textorn}[1]{#1}
-\newrobustcmd{\LWR@null@textqt}[1]{#1}
-\newrobustcmd{\LWR@null@textsh}[1]{#1}
-\newrobustcmd{\LWR@null@texttm}[1]{#1}
-\newrobustcmd{\LWR@null@texttv}[1]{#1}
-\newrobustcmd{\LWR@null@textl}[1]{#1}
-\newrobustcmd{\LWR@null@texto}[1]{#1}
-\newrobustcmd{\LWR@null@textp}[1]{#1}
-\newrobustcmd{\LWR@null@textt}[1]{#1}
-\newrobustcmd{\LWR@null@textpl}[1]{#1}
-\newrobustcmd{\LWR@null@textpo}[1]{#1}
-\newrobustcmd{\LWR@null@texttl}[1]{#1}
-\newrobustcmd{\LWR@null@textto}[1]{#1}
-\newrobustcmd{\LWR@null@textol}[1]{#1}
-\newrobustcmd{\LWR@null@textswash}[1]{#1}
-\newrobustcmd{\LWR@null@textu}[1]{#1}
-\newrobustcmd{\LWR@null@textscu}[1]{#1}
-\newrobustcmd{\LWR@null@textui}[1]{#1}
-\newrobustcmd{\LWR@null@textri}[1]{#1}
-\newrobustcmd{\LWR@null@textnw}[1]{#1}
-\newrobustcmd{\LWR@null@textcd}[1]{#1}
-\newrobustcmd{\LWR@null@textec}[1]{#1}
-\newrobustcmd{\LWR@null@textuc}[1]{#1}
-\newrobustcmd{\LWR@null@textet}[1]{#1}
-\newrobustcmd{\LWR@null@textep}[1]{#1}
-\newrobustcmd{\LWR@null@textex}[1]{#1}
-\newrobustcmd{\LWR@null@textux}[1]{#1}
-\newrobustcmd{\LWR@null@textrw}[1]{#1}
-\newrobustcmd{\LWR@null@textmb}[1]{#1}
-\newrobustcmd{\LWR@null@textdb}[1]{#1}
-\newrobustcmd{\LWR@null@textsb}[1]{#1}
-\newrobustcmd{\LWR@null@textub}[1]{#1}
-\newrobustcmd{\LWR@null@textel}[1]{#1}
-\newrobustcmd{\LWR@null@textul}[1]{#1}
-
-\appto{\LWR@nullfonts}{%
-\LetLtxMacro\textln\LWR@null@textln%
-\LetLtxMacro\textos\LWR@null@textos%
-\LetLtxMacro\textin\LWR@null@textin%
-\LetLtxMacro\textsu\LWR@null@textsu%
-\LetLtxMacro\textdf\LWR@null@textdf%
-\LetLtxMacro\textsw\LWR@null@textsw%
-\LetLtxMacro\textti\LWR@null@textti%
-\LetLtxMacro\textlt\LWR@null@textlt%
-\LetLtxMacro\textof\LWR@null@textof%
-\LetLtxMacro\textalt\LWR@null@textalt%
-\LetLtxMacro\textreg\LWR@null@textreg%
-\LetLtxMacro\emboss\LWR@null@emboss%
-\LetLtxMacro\textorn\LWR@null@textorn%
-\LetLtxMacro\textqt\LWR@null@textqt%
-\LetLtxMacro\textsh\LWR@null@textsh%
-\LetLtxMacro\texttm\LWR@null@texttm%
-\LetLtxMacro\texttv\LWR@null@texttv%
-\LetLtxMacro\textl\LWR@null@textl%
-\LetLtxMacro\texto\LWR@null@texto%
-\LetLtxMacro\textp\LWR@null@textp%
-\LetLtxMacro\textt\LWR@null@textt%
-\LetLtxMacro\textpl\LWR@null@textpl%
-\LetLtxMacro\textpo\LWR@null@textpo%
-\LetLtxMacro\texttl\LWR@null@texttl%
-\LetLtxMacro\textto\LWR@null@textto%
-\LetLtxMacro\textol\LWR@null@textol%
-\LetLtxMacro\textswash\LWR@null@textswash%
-\LetLtxMacro\textu\LWR@null@textu%
-\LetLtxMacro\textscu\LWR@null@textscu%
-\LetLtxMacro\textui\LWR@null@textui%
-\LetLtxMacro\textri\LWR@null@textri%
-\LetLtxMacro\textnw\LWR@null@textnw%
-\LetLtxMacro\textcd\LWR@null@textcd%
-\LetLtxMacro\textec\LWR@null@textec%
-\LetLtxMacro\textuc\LWR@null@textuc%
-\LetLtxMacro\textet\LWR@null@textet%
-\LetLtxMacro\textep\LWR@null@textep%
-\LetLtxMacro\textex\LWR@null@textex%
-\LetLtxMacro\textux\LWR@null@textux%
-\LetLtxMacro\textrw\LWR@null@textrw%
-\LetLtxMacro\textmb\LWR@null@textmb%
-\LetLtxMacro\textdb\LWR@null@textdb%
-\LetLtxMacro\textsb\LWR@null@textsb%
-\LetLtxMacro\textub\LWR@null@textub%
-\LetLtxMacro\textel\LWR@null@textel%
-\LetLtxMacro\textul\LWR@null@textul%
+\FilenameNullify{%
+ \LetLtxMacro\textln\@firstofone%
+ \LetLtxMacro\textos\@firstofone%
+ \LetLtxMacro\textin\@firstofone%
+ \LetLtxMacro\textsu\@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\textub\@firstofone%
+ \LetLtxMacro\textel\@firstofone%
+ \LetLtxMacro\textul\@firstofone%
}
\providecommand*{\zeroslash}{0}
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-nicefrac.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-nicefrac.sty
index 70d138a10ca..6defc4bad87 100644
--- a/Master/texmf-dist/tex/latex/lwarp/lwarp-nicefrac.sty
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-nicefrac.sty
@@ -39,7 +39,7 @@
\LWR@formatted{@UnitsUglyFrac}
\begin{warpMathJax}
-\CustomizeMathJax{\newcommand{\nicefrac}[3][]{#2/#3}}
+\CustomizeMathJax{\newcommand{\nicefrac}[3][]{\mathinner{{}^{#2}\!/\!_{#3}}}}
\end{warpMathJax}
\endinput
%%
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-nicematrix.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-nicematrix.sty
new file mode 100644
index 00000000000..52e8f2c297b
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-nicematrix.sty
@@ -0,0 +1,118 @@
+%%
+%% This is file `lwarp-nicematrix.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx (with options: `nicematrix')
+%% This is a generated file.
+%% Copyright 2016-2020 Brian Dunn
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+\LWR@ProvidesPackagePass{nicematrix}[2020/11/23]
+\begin{warpHTML}
+\BeforeBeginEnvironment{NiceTabular}{%
+ \begin{lateximage}[-nicematrix-~\PackageDiagramAltText]%
+}
+\AfterEndEnvironment{NiceTabular}{\end{lateximage}}
+\BeforeBeginEnvironment{NiceTabular*}{%
+ \begin{lateximage}[-nicematrix-~\PackageDiagramAltText]%
+}
+\AfterEndEnvironment{NiceTabular*}{\end{lateximage}}
+\end{warpHTML}
+\begin{warpMathJax}
+\CustomizeMathJax{\newcommand{\LWRnicearrayarray}[1]{\begin{array}{#1}}}
+\CustomizeMathJax{\def\LWRnicearrayarrayopt#1[#2] {\begin{array}{#1}}}
+
+\CustomizeMathJax{%
+ \newenvironment{NiceArray}[2][]%
+ {\ifnextchar[{\LWRnicearrayarrayopt{#2}}{\LWRnicearrayarray{#2}}}%
+ {\end{array}}%
+}
+
+\CustomizeMathJax{%
+ \newcommand{\LWRnicearraywithdelimtwo}[2][]{%
+ \ifnextchar[{\LWRnicearrayarrayopt{#2}}{\LWRnicearrayarray{#2}}%
+ }%
+}
+\CustomizeMathJax{%
+ \newenvironment{NiceArrayWithDelims}[2]%
+ {%
+ \def\LWRnicearrayrightdelim{\right#2}%
+ \left#1%
+ \LWRnicearraywithdelimtwo%
+ }%
+ {\end{array}\LWRnicearrayrightdelim}%
+}
+\CustomizeMathJax{%
+ \newenvironment{pNiceArray}
+ {\begin{NiceArrayWithDelims}{(}{)}}
+ {\end{NiceArrayWithDelims}}
+}
+
+\CustomizeMathJax{%
+ \newenvironment{bNiceArray}
+ {\begin{NiceArrayWithDelims}{[}{]}}
+ {\end{NiceArrayWithDelims}}
+}
+
+\CustomizeMathJax{%
+ \newenvironment{BNiceArray}
+ {\begin{NiceArrayWithDelims}{\{}{\}}}
+ {\end{NiceArrayWithDelims}}
+}
+
+\CustomizeMathJax{%
+ \newenvironment{vNiceArray}
+ {\begin{NiceArrayWithDelims}{\vert}{\vert}}
+ {\end{NiceArrayWithDelims}}
+}
+
+\CustomizeMathJax{%
+ \newenvironment{VNiceArray}
+ {\begin{NiceArrayWithDelims}{\Vert}{\Vert}}
+ {\end{NiceArrayWithDelims}}
+}
+\CustomizeMathJax{\newenvironment{NiceMatrix}[1][]{\begin{matrix}}{\end{matrix}}}
+\CustomizeMathJax{\newenvironment{pNiceMatrix}[1][]{\begin{pmatrix}}{\end{pmatrix}}}
+\CustomizeMathJax{\newenvironment{bNiceMatrix}[1][]{\begin{bmatrix}}{\end{bmatrix}}}
+\CustomizeMathJax{\newenvironment{BNiceMatrix}[1][]{\begin{Bmatrix}}{\end{Bmatrix}}}
+\CustomizeMathJax{\newenvironment{vNiceMatrix}[1][]{\begin{vmatrix}}{\end{vmatrix}}}
+\CustomizeMathJax{\newenvironment{VNiceMatrix}[1][]{\begin{Vmatrix}}{\end{Vmatrix}}}
+\CustomizeMathJax{\newcommand{\LWRnicematrixBlock}[1]{#1}}
+\CustomizeMathJax{\def\LWRnicematrixBlockopt<#1>#2{#2}}
+
+\CustomizeMathJax{%
+ \newcommand{\Block}[2][]{\ifnextchar<\LWRnicematrixBlockopt\LWRnicematrixBlock}%
+}
+\CustomizeMathJax{%
+ \newcommand{\diagbox}[2]{%
+ \begin{array}{l}\hfill\quad#2\\\hline#1\quad\hfill\end{array}%
+ }%
+}
+\CustomizeMathJax{\let\hdottedline\hdashline}
+
+\CustomizeMathJax{\newcommand{\ldots}[1][]{\dots}}
+\CustomizeMathJax{\newcommand{\Cdots}[1][]{\cdots}}
+\CustomizeMathJax{\newcommand{\Vdots}[1][]{\vdots}}
+\CustomizeMathJax{\newcommand{\Ddots}[1][]{\ddots}}
+\CustomizeMathJax{\newcommand{\Iddots}[1][]{\mathinner{\unicode{x22F0}}}}
+
+\CustomizeMathJax{\newcommand{\Hdotsfor}[1]{\ldots}}
+\CustomizeMathJax{\newcommand{\Vdotsfor}[1]{\vdots}}
+\CustomizeMathJax{\newcommand{\AutoNiceMatrix}[2]{\text{(AutoNiceMatrix #1)}}}
+\CustomizeMathJax{\let\pAutoNiceMatrix\AutoNiceMatrix}
+\CustomizeMathJax{\let\bAutoNiceMatrix\AutoNiceMatrix}
+\CustomizeMathJax{\let\BAutoNiceMatrix\AutoNiceMatrix}
+\CustomizeMathJax{\let\vAutoNiceMatrix\AutoNiceMatrix}
+\CustomizeMathJax{\let\VAutoNiceMatrix\AutoNiceMatrix}
+\end{warpMathJax}
+\endinput
+%%
+%% End of file `lwarp-nicematrix.sty'.
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-nowidow.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-nowidow.sty
index 4d396fe6fe5..99ffe80d233 100644
--- a/Master/texmf-dist/tex/latex/lwarp/lwarp-nowidow.sty
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-nowidow.sty
@@ -17,7 +17,6 @@
%% version 2005/12/01 or later.
-
\LWR@ProvidesPackageDrop{nowidow}[2011/09/20]
\newcommand*{\nowidow}[1][]{}
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-ntheorem.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-ntheorem.sty
index 0bf7e1aa03a..5096a264f66 100644
--- a/Master/texmf-dist/tex/latex/lwarp/lwarp-ntheorem.sty
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-ntheorem.sty
@@ -16,7 +16,20 @@
%% and version 1.3 or later is part of all distributions of LaTeX
%% version 2005/12/01 or later.
-\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@ntheoremmarks}
\boolfalse{LWR@ntheoremmarks}
@@ -180,7 +193,10 @@
\newcommand{\LWR@inctheorem}{%
\addtocounter{LWR@thisautoid}{1}%
\LWR@stoppars%
-\LWR@htmltag{a id="\LWR@print@mbox{autoid-\arabic{LWR@thisautoid}}"}\LWR@htmltag{/a}%
+\LWR@htmltag{%
+ a id=\textquotedbl\LWR@print@mbox{autoid-\arabic{LWR@thisautoid}}\textquotedbl%
+}%
+\LWR@htmltag{/a}%
\LWR@startpars%
}
\gdef\newtheoremstyle#1#2#3{%
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-parcolumns.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-parcolumns.sty
index cef4d69bd91..f2a821bc783 100644
--- a/Master/texmf-dist/tex/latex/lwarp/lwarp-parcolumns.sty
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-parcolumns.sty
@@ -45,7 +45,10 @@
}%
\setkeys{LWRparcols}{#1}%
}
- {\end{LWR@setvirtualpage}}
+ {%
+ \colplacechunks%
+ \end{LWR@setvirtualpage}%
+ }
\newcommand{\LWR@parcolumns@onecol}[1]{%
\ifbool{LWR@parcolumns@started}%
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-parnotes.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-parnotes.sty
index bec0e85c1fe..a3472dc516e 100644
--- a/Master/texmf-dist/tex/latex/lwarp/lwarp-parnotes.sty
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-parnotes.sty
@@ -55,8 +55,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}
}
\begin{warpMathJax}
\providecommand{\parnotename}{parnote}
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-patch-komascript.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-patch-komascript.sty
index 2eee58b0529..4b488dc7e44 100644
--- a/Master/texmf-dist/tex/latex/lwarp/lwarp-patch-komascript.sty
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-patch-komascript.sty
@@ -53,6 +53,8 @@
\renewcommand{\chapter@preamble}{#3}%
}
}
+\renewcommand*{\LWR@printchaptername}{}
+\AtBeginDocument{
\AtBeginDocument{
\LetLtxMacro\captionbelow\caption
\LetLtxMacro\captionabove\caption
@@ -60,6 +62,7 @@
\LetLtxMacro\captionofbelow\captionof
\LetLtxMacro\captionofabove\captionof
}
+}
\RenewDocumentEnvironment{captionbeside}{o m o o o s}
{}
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-patch-memoir.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-patch-memoir.sty
index 20c2e566fda..643e96c138e 100644
--- a/Master/texmf-dist/tex/latex/lwarp/lwarp-patch-memoir.sty
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-patch-memoir.sty
@@ -41,14 +41,28 @@
\RequirePackage{lwarp-parskip}
\RequirePackage{lwarp-setspace}% req'd
\RequirePackage{lwarp-showidx}
-\RequirePackage{lwarp-subcaption}% req'd for \subfloat
\makeindex
\RequirePackage{lwarp-titling}% req'd
\RequirePackage{lwarp-tocloft}% req'd
\RequirePackage{lwarp-verse}% req'd
-\LetLtxMacro\LWR@orig@label\@mem@old@label
+\let\LWR@orig@label\@mem@old@label
+\let\@mem@old@label\LWR@new@label
+\AtBeginDocument{
+ \renewcommand*{\sf@@memsub@label}[1]{%
+ \@bsphack
+ \sf@@memsub@label@hook{#1}%
+ \@memoldlabel{#1}%
+ \LWR@label@createtag{sub@#1}%
+ \protected@write\@auxout{}{%
+ \string\newlabel{sub@#1}%
+ {{\@nameuse{@@thesub\@captype}}%
+ {\thepage}}}%
+ \LWR@write@lwarplabel{sub@#1}%
+ \@esphack
+ }
+}
\setstocksize{190in}{20in}
\setlrmarginsandblock{2in}{2in}{*}
@@ -406,10 +420,9 @@
\renewcommand*{\makeheadposition}[5]{}
\renewcommand{\makepsmarks}[2]{}
\renewcommand*{\makeheadfootstrut}[3]{}
-
-\renewcommand{\createplainmark}[3]{}
+\renewcommand{\createmark}[5]{\csdef{#1mark}[1]{}}
+\renewcommand{\createplainmark}[3]{\csdef{#1mark}{}}
\renewcommand{\memUChead}[1]{}
-\renewcommand{\createmark}[5]{}
\renewcommand*{\clearplainmark}[1]{}
\renewcommand*{\clearmark}[1]{}
\renewcommand{\addtopsmarks}[3]{}
@@ -636,10 +649,32 @@
\renewcommand{\settocpreprocessor}[2]{}
\DeclareRobustCommand{\cftpagenumbersoff}[1]{}
\DeclareRobustCommand{\cftpagenumberson}[1]{}
+\AtBeginDocument{
+\def\@xfloat #1[#2]{%
+ \LWR@floatbegin{#1}[#2]
+ \normalsize
+ \@nameuse{#1adjustment}%
+ \LWR@futurenonspacelet\LWR@mynexttoken\LWR@floatalignment%
+}
+\def\@xdblfloat #1[#2]{%
+ \LWR@floatbegin{#1}[#2]
+ \normalsize
+ \@nameuse{#1adjustment}%
+ \LWR@futurenonspacelet\LWR@mynexttoken\LWR@floatalignment%
+}
+}
\RenewDocumentCommand{\newfloat}{o m m m}{%
- \IfValueTF{#1}%
- {\DeclareFloatingEnvironment[fileext=#3,within=#1,name={#4}]{#2}}%
- {\DeclareFloatingEnvironment[fileext=#3,name={#4}]{#2}}%
+ \def\LWR@tempone{#4}%
+ \def\LWR@temptwo{\@nameuse{#2name}}%
+ \ifdefequal{\LWR@tempone}{\LWR@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}}%
+ }%
\cslet{listof#2s}\relax%
\cslet{listof#2es}\relax%
}
@@ -667,7 +702,7 @@
\NewDocumentEnvironment{KFLTmemoir@marginfloat}{O{-1.2ex} m}
{% start
\LWR@BlockClassWP{float:right; width:2in; margin:10pt}{}{marginblock}%
- \captionsetup{type=#2}%
+ \renewcommand*{\@captype}{#2}%
}
{%
\endLWR@BlockClassWP%
@@ -691,19 +726,17 @@
\renewcommand*{\setFloatBlockFor}{}
\renewcommand{\captiontitlefinal}[1]{}
-
\renewcommand{\flegtable}{\tablename}
\renewcommand{\flegfigure}{\figurename}
\renewcommand{\flegtoctable}{}
\renewcommand{\flegtocfigure}{}
-\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}{}
@@ -727,11 +760,12 @@
\renewcommand*{\sidecapmargin}[1]{}
\scapmargleftfalse
\renewcommand*{\setsidecappos}[1]{}
-
\RenewDocumentEnvironment{sidecontcaption}{m o}
{}
{%
- \ContinuedFloat%
+ \ifdef{\ContinuedFloat}%
+ {\ContinuedFloat}%
+ {\addtocounter{\@captype}{-1}}%
\caption{#1}%
\IfValueT{#2}{\label[\@captype]{#2}}%
}
@@ -769,7 +803,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.}%
}
@@ -781,7 +815,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.}%
}
@@ -825,16 +859,32 @@
\renewcommand*{\sidefootmarkstyle}[1]{}
\renewcommand*{\sidefoottextfont}{}
\renewcommand*{\sidefootform}{}
-
\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}{}
+\xpatchcmd{\m@m@wrpnote}
+ {\string\startnoteentry{\thepagenote}}
+ {\string\startnoteentry{{\thepagenote}{\arabic{pagenote}}}}
+ {}
+ {\LWR@patcherror{memoir}{m@m@wrpnote}}
+
+\renewcommand\startnoteentrystart[4]{%
+ \prenoteinnotes%
+ \noteidinnotes{\@firstoftwo#1}{#2}%
+ \@ifmtarg{#2}{%
+ \def\@currentlabel{\@firstoftwo#1}% lwarp
+ \def\cref@currentlabel{% lwarp
+ [pagenote][\@secondoftwo#1][]\@firstoftwo#1% lwarp
+ }% lwarp
+ }{}%
+ \pagenoteanchor{#4}%
+ \pageinnotes{#3}%
+ \prenotetext%
+}
\renewcommand*{\epigraphposition}[1]{}
\renewcommand*{\epigraphtextposition}[1]{}
\renewcommand*{\epigraphsourceposition}[1]{}
@@ -866,10 +916,6 @@
\renewcommand*{\PoemTitlefont}{}
\renewenvironment{qframe}{\framed}{\endframed}
\renewenvironment{qshade}{\shaded}{\endshaded}
-\renewcommand*{\commentsoff}[1]{\includecomment{#1}}
-\renewcommand*{\commentson}[1]{\excludecomment{#1}}
-\LetLtxMacro\renewcomment\commentson
-
\renewcommand*{\setverbatimfont}[1]{}
\renewcommand*{\tabson}[1]{}
\renewcommand*{\tabsoff}{}
@@ -931,14 +977,14 @@
\def\@@wrindexhyp#1||\\{%
\addtocounter{LWR@autoindex}{1}%
- \LWR@new@label{LWRindex-\arabic{LWR@autoindex}}%
+ \label{LWRindex-\arabic{LWR@autoindex}}%
\protected@write\@auxout{}%
{\string\@@wrindexm@m{\@idxfile}{#1}{\arabic{LWR@autoindex}}}%
\endgroup
\@esphack}%
\def\@@wrspindexhyp#1||\\{%
\addtocounter{LWR@autoindex}{1}%
- \LWR@new@label{LWRindex-\arabic{LWR@autoindex}}%
+ \label{LWRindex-\arabic{LWR@autoindex}}%
\protected@write\@auxout{}%
{\string\@@wrindexm@m{\@idxfile}{#1}{\arabic{LWR@autoindex}}}%
\endgroup
@@ -1050,7 +1096,6 @@
\end{center}
\@nameuse{flegtoc\@captype}{#1}
}
-
\renewcommand{\newfixedcaption}[3][\caption]{%
\renewcommand{#2}{\def\@captype{#3}#1}}
\renewcommand{\renewfixedcaption}[3][\caption]{%
@@ -1086,33 +1131,50 @@
\contcaption{#3}%
\endgroup%
}
-
-\RenewDocumentCommand{\subtop}{O{} O{} m}{%
- \subfloat[#1][#2]{#3}%
-}
-
-\RenewDocumentCommand{\subbottom}{O{} O{} m}{%
- \subfloat[#1][#2]{#3}%
-}
-\renewcommand{\contsubtop}{%
- \ContinuedFloat
- \subtop%
-}
-
-\renewcommand{\contsubbottom}{%
- \ContinuedFloat
- \subbottom%
+\renewcommand{\@memsubbody}{%
+ \bgroup
+ \let\label=\memsub@label
+ \ifdonemaincaption\else
+ \advance\csname c@\@captype\endcsname\@ne
+ \fi
+ % \refstepcounter{sub\@captype}\@contkeep%
+ \@ifnextchar [%
+ {\@memsubfig}%
+ {\@memsubfig[\@empty]}}
+
+\renewcommand{\@memcontsubbody}{%
+ \bgroup
+ \let\label=\memsub@label
+ \@contset
+ % \refstepcounter{sub\@captype}\@contkeep%
+ \@ifnextchar [%
+ {\@memsubfig}%
+ {\@memsubfig[\@empty]}}
+
+\long\def\@memsubfloat#1[#2][#3]#4{%
+ \bgroup%
+ \mem@step@subcounter%
+ \LWR@stoppars%
+ \minipagefullwidth% lwarp
+ \begin{minipage}{\linewidth}% lwarp
+ \bgroup
+ \if@contbotsub
+ #4% \box\@tempboxa
+ \egroup
+ \ifx \@empty#3\relax \else
+ \@memsubcaption{#1}{#2}{#3}%
+ \fi
+ \else
+ \ifx \@empty#3\relax \else
+ \@memsubcaption{#1}{#2}{#3}%
+ \fi\egroup
+ #4% \box\@tempboxa
+ \fi
+ \end{minipage}% lwarp
+ \LWR@startpars% lwarp
+ \egroup
+\egroup
}
-\renewcommand{\subconcluded}{}
-
-\let\contsubtable\contsubtop
-\let\contsubfigure\contsubbottom
-\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]{}
\newlistof{tableofcontents}{toc}{\contentsname}
\newlistof{listoffigures}{lof}{\listfigurename}
\newlistof{listoftables}{lot}{\listtablename}
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-pdfrender.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-pdfrender.sty
index 7fff474e1a4..8afb89f7d78 100644
--- a/Master/texmf-dist/tex/latex/lwarp/lwarp-pdfrender.sty
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-pdfrender.sty
@@ -15,9 +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@ProvidesPackageDrop{pdfrender}[2016/05/17]
-\newcommand*{\pdfrender}[1]{}
-\newcommand{\textpdfrender}[2]{#2}
+\LWR@ProvidesPackagePass{pdfrender}[2019/12/29]
\endinput
%%
%% End of file `lwarp-pdfrender.sty'.
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-physics.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-physics.sty
index 262cb356ea2..4ec05659310 100644
--- a/Master/texmf-dist/tex/latex/lwarp/lwarp-physics.sty
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-physics.sty
@@ -17,267 +17,8 @@
%% version 2005/12/01 or later.
\LWR@ProvidesPackagePass{physics}% No date is provided by the package.
\begin{warpMathJax}
-\LWR@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}}
-
-\CustomizeMathJax{\newcommand{\absolutevalue}[1]{\left\lvert#1\right\rvert}}
-\CustomizeMathJax{\let\abs\absolutevalue}
-
-\CustomizeMathJax{\newcommand{\norm}[1]{%
- \left\lvert\left\lvert#1\right\rvert\right\rvert}%
-}
-
-\CustomizeMathJax{\newcommand{\evaluated}[1]{#1\vert}}
-\CustomizeMathJax{\let\eval\evaluated}
-
-\CustomizeMathJax{\newcommand{\order}[1]{\mathcal{O}\left(#1\right)}}
-
-\CustomizeMathJax{\newcommand{\commutator}[2]{\left\lbrack#1,#2\right\rbrack}}
-\CustomizeMathJax{\let\comm\commutator}
-
-\CustomizeMathJax{\newcommand{\anticommutator}[2]{%
- \left\lbrace#1,#2\right\rbrace}%
-}
-\CustomizeMathJax{\let\acomm\anticommutator}
-
-\CustomizeMathJax{\let\poissonbracket\anticommutator}
-\CustomizeMathJax{\let\pb\anticommutator}
-
-\CustomizeMathJax{\newcommand{\vectorbold}[1]{\mathbf{#1}}}
-\CustomizeMathJax{\let\vb\vectorbold}
-
-\CustomizeMathJax{\newcommand{\vectorarrow}[1]{\vec{\mathbf{#1}}}}
-\CustomizeMathJax{\let\va\vectorarrow}
-
-\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}}
-
-\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}}}
-
-\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}
-
-\CustomizeMathJax{\newcommand{\functionalderivative}[3][]{%
- \frac{\delta^{#1}#2}{\delta#3^{#1}}}%
-}
-\CustomizeMathJax{\let\fdv\functionalderivative}
-
-\CustomizeMathJax{\newcommand{\bra}[1]{\langle{#1}\rvert}}
-\CustomizeMathJax{\newcommand{\ket}[1]{\lvert{#1}\rangle}}
-
-\CustomizeMathJax{\newcommand{\innerproduct}[2]{%
- \left\langle{#1}\middle\vert{#2}\right\rangle}%
-}
-\CustomizeMathJax{\let\braket\innerproduct}
-\CustomizeMathJax{\let\ip\innerproduct}
-
-\CustomizeMathJax{\newcommand{\outerproduct}[2]{%
- \left\lvert{#1}\middle\rangle\!\middle\langle#2\right\rvert}%
-}
-\CustomizeMathJax{\let\dyad\outerproduct}
-\CustomizeMathJax{\let\op\outerproduct}
-
-\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}
\endinput
%%
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-picinpar.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-picinpar.sty
new file mode 100644
index 00000000000..c81ce6ad193
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-picinpar.sty
@@ -0,0 +1,75 @@
+%%
+%% This is file `lwarp-picinpar.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx (with options: `picinpar')
+%% 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@ProvidesPackagePass{picinpar}% No date is assigned.
+\long\def\LWR@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@HTML@window{}
+
+\LWR@formattedenv{window}
+\def\LWR@HTML@framepic#1{%
+ \begin{BlockClass}{framebox}
+ \expandafter\box\csname #1box\endcsname%
+ \end{BlockClass}
+}
+\LWR@formatted{framepic}
+\def\LWR@HTML@wframepic#1{%
+ \begin{BlockClass}{framebox}
+ \expandafter\box\csname #1box\endcsname%
+ \end{BlockClass}
+}
+\LWR@formatted{wframepic}
+\long\def\LWR@HTML@@makewincaption#1#2{%
+\begin{BlockClass}{figurecaption}
+#1: #2
+\end{BlockClass}
+}
+\LWR@formatted{@makewincaption}
+\long\def\LWR@HTML@figwindow[#1,#2,#3,#4] {%
+ \window[#1,#2,{#3},{\def\@captype{figure}%
+ \wincaption#4\par}] }
+
+\def\endLWR@HTML@figwindow{\endwindow}
+
+\LWR@formattedenv{figwindow}
+\long\def\LWR@HTML@subtabwindow[#1,#2,#3,#4] {%
+ \window[#1,#2,{#3},{\def\@captype{table}%
+ \wincaption#4\par}] }
+
+\newcommand*{\LWR@HTML@tabwindow}{%
+ \StartDefiningTabulars%
+ \LWR@HTML@subtabwindow%
+}
+
+\def\endLWR@HTML@tabwindow{%
+ \endwindow%
+ \StopDefiningTabulars%
+}
+
+\LWR@formattedenv{tabwindow}
+\endinput
+%%
+%% End of file `lwarp-picinpar.sty'.
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-pinlabel.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-pinlabel.sty
new file mode 100644
index 00000000000..00a95ab29b5
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-pinlabel.sty
@@ -0,0 +1,30 @@
+%%
+%% This is file `lwarp-pinlabel.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx (with options: `pinlabel')
+%% 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@ProvidesPackagePass{pinlabel}% no date given
+\xpretocmd{\psfig}
+ {\begin{lateximage}[-pinlabel-~\PackageDiagramAltText]}
+ {}
+ {\LWR@patcherror{pinlabel}{psfigA}}
+
+\xapptocmd{\psfig}
+ {\end{lateximage}}
+ {}
+ {\LWR@patcherror{pinlabel}{psfigB}}
+\endinput
+%%
+%% End of file `lwarp-pinlabel.sty'.
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-plimsoll.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-plimsoll.sty
new file mode 100644
index 00000000000..f486fdb0772
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-plimsoll.sty
@@ -0,0 +1,31 @@
+%%
+%% This is file `lwarp-plimsoll.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx (with options: `plimsoll')
+%% 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@ProvidesPackagePass{plimsoll}[2020/10/09]
+\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}
+\endinput
+%%
+%% End of file `lwarp-plimsoll.sty'.
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-pstricks.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-pstricks.sty
index ca0c15d59de..2f6b0bfc5e7 100644
--- a/Master/texmf-dist/tex/latex/lwarp/lwarp-pstricks.sty
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-pstricks.sty
@@ -20,6 +20,11 @@
\begin{lateximage}[pspicture]%
}
\AfterEndEnvironment{pspicture}{\end{lateximage}}
+
+\BeforeBeginEnvironment{pspicture*}{%
+ \begin{lateximage}[pspicture]%
+}
+\AfterEndEnvironment{pspicture*}{\end{lateximage}}
\endinput
%%
%% End of file `lwarp-pstricks.sty'.
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-pxfonts.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-pxfonts.sty
new file mode 100644
index 00000000000..7eec48516ee
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-pxfonts.sty
@@ -0,0 +1,28 @@
+%%
+%% This is file `lwarp-pxfonts.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx (with options: `pxfonts')
+%% 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@ProvidesPackagePass{pxfonts}[2008/01/22]
+\LWR@origRequirePackage{lwarp-common-mathjax-letters}
+
+\begin{warpMathJax}
+\LWR@infoprocessingmathjax{pxfonts}
+
+\LWR@mathjax@addgreek@l@up{}{up}
+\end{warpMathJax}
+\endinput
+%%
+%% End of file `lwarp-pxfonts.sty'.
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-quoting.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-quoting.sty
index 40f6ed7efc7..a4278a215f8 100644
--- a/Master/texmf-dist/tex/latex/lwarp/lwarp-quoting.sty
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-quoting.sty
@@ -26,7 +26,7 @@
\xpatchcmd{\endquoting}{\quo@endtext}
{\quo@endtext\end{LWR@blocktextcurrentfont}\LWR@stoppars}
{}
- {\LWR@patcherror{imakeidx}{endquoting}}
+ {\LWR@patcherror{quoting}{endquoting}}
\endinput
%%
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-realscripts.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-realscripts.sty
index 23561137152..6e2c5acc02e 100644
--- a/Master/texmf-dist/tex/latex/lwarp/lwarp-realscripts.sty
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-realscripts.sty
@@ -15,14 +15,125 @@
%% 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@ProvidesPackageDrop{realscripts}[2016/02/13]
-\let\realsuperscript\textsuperscript
-\let\realsubscript\textsubscript
+\LWR@ProvidesPackagePass{realscripts}[2016/02/13]
+\ExplSyntaxOn
-\let\fakesuperscript\textsuperscript
-\let\fakesubscript\textsubscript
+\DeclareDocumentCommand \LWR@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} }
+}
+
+\DeclareDocumentCommand \LWR@HTML@realsubscript {m} {
+ \LWR@HTML@textsubscript{#1}
+}
+
+\LWR@formatted{realsubscript}
+
+\DeclareDocumentCommand \LWR@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@HTML@realsuperscript {m} {
+ \LWR@HTML@textsuperscript{#1}
+}
+
+\LWR@formatted{realsuperscript}
+
+\DeclareDocumentCommand \LWR@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:
+}
-\newlength{\subsupersep}
+\ExplSyntaxOff
\newcommand*{\LWR@realscriptsalign}{}
@@ -40,18 +151,23 @@
}{}%
}
-\DeclareDocumentCommand \textsubsuperscript {s O{l} mm} {%
+\DeclareDocumentCommand \LWR@HTML@textsubsuperscript {s O{l} mm} {%
\LWR@setrealscriptsalign{#2}%
\InlineClass[\LWR@realscriptsalign]{supsubscript}{%
\textsuperscript{#4}\textsubscript{#3}%
}%
}
+\LWR@formatted{textsubsuperscript}
-\DeclareDocumentCommand \textsupersubscript {s O{l} mm} {%
- \LWR@setrealscriptsalign{#2}%
- \InlineClass[\LWR@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]{}%
}
\endinput
%%
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-repltext.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-repltext.sty
new file mode 100644
index 00000000000..9027d7a7047
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-repltext.sty
@@ -0,0 +1,26 @@
+%%
+%% This is file `lwarp-repltext.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx (with options: `repltext')
+%% 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@ProvidesPackageDrop{repltext}[2020/09/25]
+\newcommand{\repltext}[2]{#2}
+\newcommand*{\prevrepl}{}
+\begin{warpMathJax}
+\CustomizeMathJax{\newcommand{\repltext}[2]{#2}}
+\end{warpMathJax}
+\endinput
+%%
+%% End of file `lwarp-repltext.sty'.
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-rlepsf.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-rlepsf.sty
new file mode 100644
index 00000000000..7ed607a504e
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-rlepsf.sty
@@ -0,0 +1,30 @@
+%%
+%% This is file `lwarp-rlepsf.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx (with options: `rlepsf')
+%% 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@ProvidesPackagePass{rlepsf}% No date given.
+\xpretocmd{\relabelbox}
+ {\begin{lateximage}}
+ {}
+ {\LWR@patcherror{rlepsf}{relabelbox}}
+
+\xapptocmd{\endrelabelbox}
+ {\end{lateximage}}
+ {}
+ {\LWR@patcherror{rlepsf}{endrelabelbox}}
+\endinput
+%%
+%% End of file `lwarp-rlepsf.sty'.
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-rmathbr.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-rmathbr.sty
index 9117fb9e326..d75bb728696 100644
--- a/Master/texmf-dist/tex/latex/lwarp/lwarp-rmathbr.sty
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-rmathbr.sty
@@ -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@ProvidesPackagePass{rmathbr}[2016/04/10]
+\LWR@ProvidesPackagePass{rmathbr}[2020/12/11]
\begin{warpMathJax}
\CustomizeMathJax{\def\*{~}}
\CustomizeMathJax{\newcommand{\cdott}{\cdot}}
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-rotating.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-rotating.sty
index 1d7d306f0d3..5c6415ba6c0 100644
--- a/Master/texmf-dist/tex/latex/lwarp/lwarp-rotating.sty
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-rotating.sty
@@ -17,21 +17,34 @@
%% version 2005/12/01 or later.
-\LWR@ProvidesPackageDrop{rotating}[2016/08/11]
+\LWR@ProvidesPackagePass{rotating}[2016/08/11]
\RequirePackage{graphicx}
-\LetLtxMacro\sidewaystable\table
-\let\endsidewaystable\endtable
+\LetLtxMacro\LWR@HTML@sidewaystable\table
+\let\endLWR@HTML@sidewaystable\endtable
+\LWR@formattedenv{sidewaystable}
-\LetLtxMacro\sidewaysfigure\figure
-\let\endsidewaysfigure\endfigure
+\LetLtxMacro\LWR@HTML@sidewaysfigure\figure
+\let\endLWR@HTML@sidewaysfigure\endfigure
+\LWR@formattedenv{sidewaysfigure}
-\newenvironment*{sideways}{}{}
-\newenvironment*{turn}[1]{}{}
-\newenvironment*{rotate}[1]{}{}
-\NewDocumentCommand{\turnbox}{m +m}{#2}
-\let\rotcaption\caption
-\let\@makerotcaption\@makecaption
+\newenvironment*{LWR@HTML@sideways}{}{}
+\LWR@formattedenv{sideways}
+
+\newenvironment*{LWR@HTML@turn}[1]{}{}
+\LWR@formattedenv{turn}
+
+\newenvironment*{LWR@HTML@rotate}[1]{}{}
+\LWR@formattedenv{rotate}
+
+\NewDocumentCommand{\LWR@HTML@turnbox}{m +m}{#2}
+\LWR@formatted{turnbox}
+
+\let\LWR@HTML@rotcaption\caption
+\LWR@formatted{rotcaption}
+
+\let\LWR@HTML@@makerotcaption\@makecaption
+\LWR@formatted{@makerotcaption}
\endinput
%%
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-rotfloat.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-rotfloat.sty
index c845df256f5..11f41888b05 100644
--- a/Master/texmf-dist/tex/latex/lwarp/lwarp-rotfloat.sty
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-rotfloat.sty
@@ -20,6 +20,7 @@
\LWR@ProvidesPackageDrop{rotfloat}[2004/01/04]
\RequirePackage{float}
+\RequirePackage{rotating}
\RenewDocumentCommand{\newfloat}{m m m o}{%
\IfValueTF{#4}%
{%
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-scalerel.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-scalerel.sty
new file mode 100644
index 00000000000..27ed2f7754b
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-scalerel.sty
@@ -0,0 +1,45 @@
+%%
+%% This is file `lwarp-scalerel.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx (with options: `scalerel')
+%% 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@ProvidesPackagePass{scalerel}[2016/12/29]
+\begin{warpMathJax}
+\LWR@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}
+\endinput
+%%
+%% End of file `lwarp-scalerel.sty'.
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-schemata.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-schemata.sty
index 10aee32f114..6fedcbf7c19 100644
--- a/Master/texmf-dist/tex/latex/lwarp/lwarp-schemata.sty
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-schemata.sty
@@ -16,23 +16,23 @@
%% and version 1.3 or later is part of all distributions of LaTeX
%% version 2005/12/01 or later.
-\LWR@ProvidesPackagePass{schemata}[2016/01/25]
+\LWR@ProvidesPackagePass{schemata}[2020/11/23]
\LetLtxMacro\LWR@schemata@origschema\schema
\LetLtxMacro\LWR@schemata@origSchema\Schema
\renewcommand{\schema}[3][open]{%
-\begin{lateximage}%
-\LWR@print@normalsize
-\LWR@schemata@origschema[#1]{#2}{#3}%
-\end{lateximage}%
+ \begin{lateximage}[-schemata-~\PackageDiagramAltText]%
+ \LWR@print@normalsize%
+ \LWR@schemata@origschema[#1]{#2}{#3}%
+ \end{lateximage}%
}
\renewcommand{\Schema}[5][open]{%
-\begin{lateximage}%
-\LWR@print@normalsize
-\LWR@schemata@origSchema[#1]{#2}{#3}{#4}{#5}%
-\end{lateximage}%
+ \begin{lateximage}[-schemata-~\PackageDiagramAltText]%
+ \LWR@print@normalsize%
+ \LWR@schemata@origSchema[#1]{#2}{#3}{#4}{#5}%
+ \end{lateximage}%
}
\endinput
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-scrextend.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-scrextend.sty
index ed2b1cdcf79..d1baaa3444b 100644
--- a/Master/texmf-dist/tex/latex/lwarp/lwarp-scrextend.sty
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-scrextend.sty
@@ -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@ProvidesPackageDrop{scrextend}[2018/03/30]
+\LWR@ProvidesPackageDrop{scrextend}[2020/01/24]
\DeclareDocumentCommand{\setkomafont}{m m}{}
\DeclareDocumentCommand{\addkomafont}{m m}{}
\DeclareDocumentCommand{\usekomafont}{m}{}
@@ -27,23 +27,79 @@
\DeclareDocumentCommand{\useseriesofkomafont}{m}{}
\DeclareDocumentCommand{\useshapeofkomafont}{m}{}
+\providecommand*{\coverpagetopmargin}{}
+\providecommand*{\coverpagebottommargin}{}
+\providecommand*{\coverpageleftmargin}{}
+\providecommand*{\coverpagerightmargin}{}
+
\AtBeginDocument{
\let\LWR@koma@orig@maketitle\maketitle
\DeclareDocumentCommand{\maketitle}{o}{\LWR@koma@orig@maketitle}
}
+\DeclareDocumentCommand{\@maketitle}{}{%
+ \ifdefvoid{\@titlehead}{}{%
+ \begin{BlockClass}{titlehead}%
+ \@titlehead%
+ \end{BlockClass}%
+ }%
+ \ifdefvoid{\@subject}{}{%
+ \begin{BlockClass}{subject}%
+ \@subject%
+ \end{BlockClass}%
+ }%
+ \LWR@stoppars%
+ \LWR@htmltag{\LWR@tagtitle}%
+ \@title%
+ \LWR@htmltag{\LWR@tagtitleend}%
+ \ifdefvoid{\@subtitle}{}{%
+ \begin{BlockClass}{subtitle}%
+ \@subtitle%
+ \end{BlockClass}%
+ }%
+ \LWR@startpars%
+ \begin{BlockClass}{author}%
+ \renewcommand*{\cr}{}%
+ \renewcommand*{\crcr}{}%
+ \renewcommand*{\noalign}{}%
+ \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}}%
+
+
\DeclareDocumentCommand{\publishers}{m}{\published{#1}}
+
\DeclareDocumentCommand{\uppertitleback}{m}{}
\DeclareDocumentCommand{\lowertitleback}{m}{}
\DeclareDocumentCommand{\dedication}{m}{}
\DeclareDocumentCommand{\ifthispageodd}{m m}{#1}
-\DeclareDocumentCommand{\titlepagestyle}{}{}
-
\DeclareDocumentCommand{\cleardoublepageusingstyle}{m}{}
\DeclareDocumentCommand{\cleardoubleemptypage}{}{}
\DeclareDocumentCommand{\cleardoubleplainpage}{}{}
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-selectp.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-selectp.sty
new file mode 100644
index 00000000000..39e6a05df23
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-selectp.sty
@@ -0,0 +1,22 @@
+%%
+%% This is file `lwarp-selectp.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx (with options: `selectp')
+%% 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@ProvidesPackageDrop{selectp}% no date given
+\newcommand*{\outputonly}[1]{}
+\endinput
+%%
+%% End of file `lwarp-selectp.sty'.
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-seqsplit.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-seqsplit.sty
new file mode 100644
index 00000000000..1d0d24ab1ea
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-seqsplit.sty
@@ -0,0 +1,44 @@
+%%
+%% This is file `lwarp-seqsplit.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx (with options: `seqsplit')
+%% 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@ProvidesPackagePass{seqsplit}[2006/08/07]
+\begin{warpHTML}
+\LetLtxMacro\LWR@orig@seqsplit\seqsplit
+
+\renewcommand*{\seqsplit}[1]{%
+ \ifmmode%
+ \begin{LWR@print@minipage}{6in}%
+ \LWR@orig@seqsplit{#1}%
+ \end{LWR@print@minipage}%
+ \else%
+ \InlineClass[word-wrap:break-word]{seqsplit}{\LWR@orig@seqsplit{#1}}%
+ \fi
+}
+\AtBeginDocument{
+ \newcommand*{\LWR@HTML@seqinsert}{%
+ \LWR@htmlcomment{ }%
+ }
+ \LWR@formatted{seqinsert}
+}
+\end{warpHTML}
+
+\begin{warpMathJax}
+\CustomizeMathJax{\newcommand{\seqsplit}[1]{#1}}
+\end{warpMathJax}
+\endinput
+%%
+%% End of file `lwarp-seqsplit.sty'.
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-shadethm.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-shadethm.sty
new file mode 100644
index 00000000000..0c4c0a19b97
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-shadethm.sty
@@ -0,0 +1,32 @@
+%%
+%% This is file `lwarp-shadethm.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx (with options: `shadethm')
+%% 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@ProvidesPackagePass{shadethm}[1999/11/23]
+\newenvironment{LWR@HTML@shadebox}
+{%
+ \convertcolorspec{named}{shadethmcolor}{HTML}\LWR@tempcolor%
+ \convertcolorspec{named}{shaderulecolor}{HTML}\LWR@tempcolortwo%
+ \begin{BlockClass}[%
+ background: \LWR@origpound\LWR@tempcolor ;
+ border: 1px solid \LWR@origpound\LWR@tempcolortwo ;
+ ]{shadebox}
+}%
+{\end{BlockClass}}
+\LWR@formattedenv{shadebox}
+\endinput
+%%
+%% End of file `lwarp-shadethm.sty'.
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-shuffle.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-shuffle.sty
new file mode 100644
index 00000000000..223428ca6b1
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-shuffle.sty
@@ -0,0 +1,54 @@
+%%
+%% This is file `lwarp-shuffle.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx (with options: `shuffle')
+%% 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@ProvidesPackageDrop{shuffle}[2008/10/27]
+\LWR@origRequirePackage{lwarp-common-mathjax-overlaysymbols}
+\newcommand*{\LWR@shuffle@start}{%
+ \hspace*{.2em}
+ \begin{picture}(.75,0.65)
+ \setlength{\unitlength}{1em}
+ \put(0,0){\line(1,0){.75}}
+ \put(0,0){\line(0,1){.5}}
+ \put(.375,0){\line(0,1){.5}}
+ \put(.75,0){\line(0,1){.5}}
+}
+
+\newcommand*{\LWR@shuffle@finish}{%
+ \end{picture}
+ \hspace*{.75em}
+ \hspace*{.2em}
+}
+
+\newcommand*{\shuffle}{%
+ \LWR@shuffle@start%
+ \LWR@shuffle@finish%
+}
+
+\newcommand*{\cshuffle}{%
+ \LWR@shuffle@start%
+ \put(.05,.65){\line(1,0){.65}}%
+ \LWR@shuffle@finish%
+}
+\begin{warpMathJax}
+\CustomizeMathJax{\newcommand{\shuffle}{\mathbin{\unicode{0x29E2}}}}
+\CustomizeMathJax{\newcommand{\cshuffle}{%
+ \mathbin{\LWRoverlaysymbols{\raise{.6ex}{-}}{\unicode{0x29E2}}}%
+}}
+\end{warpMathJax}
+\endinput
+%%
+%% End of file `lwarp-shuffle.sty'.
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-sidenotes.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-sidenotes.sty
index fd7083aeb0b..c3422db5fa1 100644
--- a/Master/texmf-dist/tex/latex/lwarp/lwarp-sidenotes.sty
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-sidenotes.sty
@@ -16,15 +16,15 @@
%% and version 1.3 or later is part of all distributions of LaTeX
%% version 2005/12/01 or later.
\LWR@ProvidesPackagePass{sidenotes}
-\RenewDocumentCommand \sidecaption {s o o +m}
+\RenewDocumentCommand \sidecaption {s o o m}
{
\LWR@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
@@ -40,11 +40,11 @@
}
\NewDocumentEnvironment{KFLTsidenotes@marginfloat}{O{-1.2ex} m}
{% start
-\LWR@BlockClassWP{float:right; width:2in; margin:10pt}{}{marginblock}%
-\captionsetup{type=#2}%
+ \LWR@BlockClassWP{float:right; width:2in; margin:10pt}{}{marginblock}%
+ \renewcommand*{\@captype}{#2}%
}
{%
-\endLWR@BlockClassWP%
+ \endLWR@BlockClassWP%
}
\RenewDocumentEnvironment{marginfigure}{o}
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-simplebnf.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-simplebnf.sty
new file mode 100644
index 00000000000..4347a1f73ce
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-simplebnf.sty
@@ -0,0 +1,71 @@
+%%
+%% This is file `lwarp-simplebnf.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx (with options: `simplebnf')
+%% 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@ProvidesPackagePass{simplebnf}[2020/09/01]
+\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
+\endinput
+%%
+%% End of file `lwarp-simplebnf.sty'.
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-siunitx.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-siunitx.sty
index 84226850bd9..b57c67a0fce 100644
--- a/Master/texmf-dist/tex/latex/lwarp/lwarp-siunitx.sty
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-siunitx.sty
@@ -227,7 +227,6 @@
\__siunitx_number_output:n {#2}
\group_end:% lwarp
}
-
\RenewDocumentCommand \numrange { o m m } {
\leavevmode
\group_begin:% lwarp
@@ -239,7 +238,6 @@
\__siunitx_range_numbers:nn {#2} {#3}
\group_end:% lwarp
}
-
\RenewDocumentCommand \ang { o > { \SplitArgument { 2 } { ; } } m } {
\group_begin:% lwarp
\LetLtxMacro\@ensuredmath\LWR@origensuredmath% lwarp
@@ -249,7 +247,6 @@
\__siunitx_angle_output:nnn #2
\group_end:% lwarp
}
-
\RenewDocumentCommand \si { o m } {
\leavevmode
\group_begin:% lwarp
@@ -264,7 +261,6 @@
}
\group_end:% lwarp
}
-
\RenewDocumentCommand{\SIrange}{o m m m}
{%
\leavevmode
@@ -280,21 +276,160 @@
}
\group_end:% lwarp
}
-
\ExplSyntaxOff
\begin{warpMathJax}
\LWR@infoprocessingmathjax{siunitx}
+\CustomizeMathJax{\newcommand{\tothe}[1]{^{#1}}}
+\CustomizeMathJax{\newcommand{\raiseto}[2]{{#2}^{#1}}}
+\CustomizeMathJax{\newcommand{\LWRsiunitxEND}{}}
+\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}}
+\CustomizeMathJax{\newcommand{\LWRsiunitxnumscientific}[2]{%
+ \ifblank{#1}%
+ {}%
+ {%
+ \ifstrequal{#1}{-}%
+ {-}%
+ {\LWRsiunitxprintdecimal{#1}\times}%
+ }%
+ 10^{\LWRsiunitxprintdecimal{#2}}
+}}
+\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{\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
+\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{\newcommand{\ang}[2][]{(\mathrm{#2})\degree}}
-\CustomizeMathJax{\newcommand{\num}[2][]{\mathrm{#2}}}
+\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}}
\CustomizeMathJax{\newcommand{\si}[2][]{\mathrm{#2}}}
-\CustomizeMathJax{\newcommand{\LWRSI}[2][]{\mathrm{#1\LWRSInumber\,#2}}}
-\CustomizeMathJax{\newcommand{\SI}[2][]{\def\LWRSInumber{#2}\LWRSI}}
+\CustomizeMathJax{\def\LWRsiunitxSIopt#1[#2]#3{%
+ {#2}\num{#1}{#3}%
+}}
+
+\CustomizeMathJax{\newcommand{\LWRsiunitxSI}[2]{%
+ \num{#1}\,{#2}%
+}}
+\CustomizeMathJax{\newcommand{\SI}[2][]{%
+ \ifnextchar[%
+ {\LWRsiunitxSIopt{#2}}%
+ {\LWRsiunitxSI{#2}}%
+}}
\CustomizeMathJax{\newcommand{\numlist}[2][]{\mathrm{#2}}}
-\CustomizeMathJax{\newcommand{\numrange}[3][]{\mathrm{#2~-- #3}}}
+\CustomizeMathJax{\newcommand{\numrange}[3][]{\num{#2}\,\unicode{x2013}\,\num{#3}}}
\CustomizeMathJax{\newcommand{\SIlist}[3][]{\mathrm{#2\,#3}}}
-\CustomizeMathJax{\newcommand{\SIrange}[4][]{\mathrm{#2\,#4~-- #3\,#4}}}
+\CustomizeMathJax{\newcommand{\SIrange}[4][]{\num{#2}\,#4\,\unicode{x2013}\,\num{#3}\,#4}}
\CustomizeMathJax{\newcommand{\tablenum}[2][]{\mathrm{#2}}}
\CustomizeMathJax{\newcommand{\ampere}{\mathrm{A}}}
\CustomizeMathJax{\newcommand{\candela}{\mathrm{cd}}}
@@ -344,8 +479,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}}}
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-skmath.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-skmath.sty
new file mode 100644
index 00000000000..f44d18dcb00
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-skmath.sty
@@ -0,0 +1,232 @@
+%%
+%% This is file `lwarp-skmath.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx (with options: `skmath')
+%% 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@ProvidesPackagePass{skmath}[2019/10/15]
+\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}}}
+}
+\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}}
+\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}}}
+ }
+\cs_if_eq:NNTF \__skmath_natural_log_e: \LWR__skmath_natural_log_e:
+ { \CustomizeMathJax{\newcommand{\ee}{\mathit{e}}} }
+ { \CustomizeMathJax{\newcommand{\ee}{\mathrm{e}}} }
+\cs_if_eq:NNTF \__skmath_integral_d: \LWR__skmath_integral_d:
+ { \CustomizeMathJax{\newcommand{\d}{\mathit{d}}} }
+ { \CustomizeMathJax{\newcommand{\d}{\mathrm{d}}} }
+\CustomizeMathJax{\def\LWRskmathEND{}}
+\CustomizeMathJax{\def\LWRskmathpdstarsub#1#2,#3,#4,#5,#6\LWRskmathEND{
+ #1_{#2#3#4#5}%
+}}
+
+\CustomizeMathJax{\newcommand{\LWRskmathpdstar}[2]{%
+ \LWRskmathpdstarsub{#1}#2,,,,\LWRskmathEND%
+}}
+\CustomizeMathJax{\def\LWRskmathpdnumerator#1^#2^#3\LWRskmathEND{%
+ \ifblank{#1}{}{
+ \ifblank{#2}{\LWRskmathpdplus\LWRskmathpdone}{\LWRskmathpdplus#2}
+ }
+}}
+\CustomizeMathJax{\def\LWRskmathpddenominator#1^#2^#3\LWRskmathEND{%
+ \ifblank{#1}{}{%
+ \ifblank{#2}%
+ {\partial{#1}}%
+ {\partial{#1}^{#2}}%
+ }%
+}}
+\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%
+}}
+\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%
+}}
+\CustomizeMathJax{\newcommand{\pd}{\ifstar\LWRskmathpdstar\LWRskmathpdnostar}}
+\cs_if_eq:NNTF \__skmath_total_derivative_d: \LWR__skmath_total_derivative_d:
+ { \CustomizeMathJax{\newcommand{\LWRskmathtd}{\mathit{d}}} }
+ { \CustomizeMathJax{\newcommand{\LWRskmathtd}{\mathrm{d}}} }
+\CustomizeMathJax{\def\LWRskmathtdsub#1#2^#3\LWRskmathEND{%
+ \frac
+ {\LWRskmathtd^{#3}{#1}}
+ {\LWRskmathtd{#2}^{#3}}
+}}
+
+\CustomizeMathJax{\newcommand{\td}[2]{%
+ \LWRskmathtdsub{#1}#2^{}\LWRskmathEND%
+}}
+\CustomizeMathJax{\newcommand{\E}[1]{%
+ \operatorname{E}\left[#1\right]%
+}}
+\CustomizeMathJax{\let\given\mid}
+
+\CustomizeMathJax{\newcommand{\P}[1]{%
+ \operatorname{P}%
+ \left(#1\right)%
+}}
+\CustomizeMathJax{\newcommand{\var}[1]{%
+ \operatorname{Var}\left(#1\right)%
+}}
+
+\CustomizeMathJax{\newcommand{\cov}[2]{%
+ \operatorname{Cov}\left(#1,#2\right)%
+}}
+\CustomizeMathJax{\newcommand{\LWRskmathtrigtwo}[2][]{%
+ \ifblank{#1}{}{^{#1}}%
+ \ifblank{#2}{}{\left(#2\right)}%
+}}
+
+\CustomizeMathJax{\newcommand{\LWRskmathtrig}[1]{%
+ \operatorname{#1}%
+ \LWRskmathtrigtwo%
+}}
+\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}}}
+\CustomizeMathJax{\newcommand{\LWRskmathlogtwo}[2][]{%
+ \ifblank{#1}{}{_{#1}}%
+ \ifblank{#2}{}{\left(#2\right)}%
+}}
+
+\CustomizeMathJax{\newcommand{\LWRskmathlog}[1]{%
+ \operatorname{#1}%
+ \LWRskmathlogtwo%
+}}
+\CustomizeMathJax{\renewcommand{\ln}{\LWRskmathlog{ln}}}
+\CustomizeMathJax{\renewcommand{\log}{\LWRskmathlog{log}}}
+\CustomizeMathJax{\newcommand{\LWRskmathexpparens}[1]{%
+ \operatorname{exp}%
+ \ifblank{#1}{}{\left(#1\right)}%
+}}
+\CustomizeMathJax{\newcommand{\LWRskmathexpnostar}[1]{%
+ \mathchoice
+ {\ee^{#1}}
+ {\LWRskmathexpparens{#1}}
+ {\LWRskmathexpparens{#1}}
+ {\LWRskmathexpparens{#1}}
+}}
+
+\CustomizeMathJax{\renewcommand{\exp}{\ifstar\LWRskmathexpparens\LWRskmathexpnostar}}
+\CustomizeMathJax{\newcommand{\LWRskmathminstar}[2][]{%
+ \operatorname{\LWRskmathminname}%
+ \ifblank{#1}{}{%
+ _{\mathchoice{\mathclap{#1}}{#1}{#1}{#1}}
+ }%
+ \ifblank{#2}{}{#2}%
+}}
+\CustomizeMathJax{\newcommand{\LWRskmathminnostar}[2][]{%
+ \ifblank{#1}%
+ {\operatorname{\LWRskmathminname}}%
+ {%
+ \underset%
+ {\mathchoice{\mathclap{#1}}{#1}{#1}{#1}}%
+ {\operatorname{\LWRskmathminname}}%
+ }%
+ \ifblank{#2}{}{\left\{#2\right\}}%
+}}
+\CustomizeMathJax{\newcommand{\LWRskmathmin}[1]{%
+ \def\LWRskmathminname{#1}%
+ \ifstar\LWRskmathminstar\LWRskmathminnostar%
+}}
+\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}}}
+\CustomizeMathJax{\let\bar\overline}
+
+\CustomizeMathJax{\let\vec\boldsymbol}
+\CustomizeMathJax{\let\LWRskmathRe\Re}
+\CustomizeMathJax{\let\LWRskmathIm\Im}
+\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}
+\endinput
+%%
+%% End of file `lwarp-skmath.sty'.
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-slantsc.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-slantsc.sty
index 31ba892b0dd..aee0ee8dedf 100644
--- a/Master/texmf-dist/tex/latex/lwarp/lwarp-slantsc.sty
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-slantsc.sty
@@ -19,10 +19,8 @@
\newcommand*{\LWR@HTML@noscshape}{}
\LWR@formatted{noscshape}
-\newcommand*{\LWR@null@noscshape}{}
-
-\appto{\LWR@nullfonts}{%
-\LetLtxMacro\noscshape\LWR@null@noscshape%
+\FilenameNullify{%
+ \LetLtxMacro\noscshape\@empty%
}
\endinput
%%
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-splitbib.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-splitbib.sty
new file mode 100644
index 00000000000..4222ac381c9
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-splitbib.sty
@@ -0,0 +1,54 @@
+%%
+%% This is file `lwarp-splitbib.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx (with options: `splitbib')
+%% 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@ProvidesPackagePass{splitbib}[2005/12/22]
+\def\NMSB@stylebox#1#2{%
+\begin{BlockClass}[text-align:center ; border: 1px solid black]{splitbibbox}
+ \csname SB\NMSB@level font\endcsname{\LWR@textcurrentfont{#1#2}}
+\end{BlockClass}
+}
+
+\def\NMSB@stylebar#1#2{%
+\begin{BlockClass}[%
+ text-align:center ;
+ border-top: 1px solid black ;
+ border-bottom: 1px solid black ;
+]{splitbibbar}
+ \csname SB\NMSB@level font\endcsname{\LWR@textcurrentfont{#1#2}}
+\end{BlockClass}
+}
+
+\def\NMSB@styledash#1#2{%
+\begin{BlockClass}[%
+ text-align:center ;
+]{splitbibdash}
+ \csname SB\NMSB@level font\endcsname{\LWR@textcurrentfont{---~#1#2~---}}
+\end{BlockClass}
+}
+
+\def\NMSB@stylenone#1#2{%
+ \par
+}
+
+\def\NMSB@stylesimple#1#2{%
+\par
+ \csname SB\NMSB@level font\endcsname{\LWR@textcurrentfont{#1#2}}
+\par
+}
+\endinput
+%%
+%% End of file `lwarp-splitbib.sty'.
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-splitidx.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-splitidx.sty
index 868968930c0..a453ce36557 100644
--- a/Master/texmf-dist/tex/latex/lwarp/lwarp-splitidx.sty
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-splitidx.sty
@@ -36,7 +36,7 @@
\def\@tempa{#2}%
\csname index@#1@hook\endcsname
\addtocounter{LWR@autoindex}{1}% lwarp
- \LWR@new@label{LWRindex-\arabic{LWR@autoindex}}% lwarp
+ \label{LWRindex-\arabic{LWR@autoindex}}% lwarp
\@@@wrsindex{#1}{{\@tempa}{\arabic{LWR@autoindex}}}%
\endgroup
\@esphack
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-statex2.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-statex2.sty
index 031af35979f..a003d482a93 100644
--- a/Master/texmf-dist/tex/latex/lwarp/lwarp-statex2.sty
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-statex2.sty
@@ -118,7 +118,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]{%
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-statistics.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-statistics.sty
new file mode 100644
index 00000000000..0d474817ff8
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-statistics.sty
@@ -0,0 +1,268 @@
+%%
+%% This is file `lwarp-statistics.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx (with options: `statistics')
+%% 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@ProvidesPackagePass{statistics}[2019/09/29]
+\ExplSyntaxOn
+\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
+
+\cs_set_protected_nopar:Nn \__statistics_table_end: {
+ \tl_set:Nx \l__statistics_table_preamble_tl {
+ \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
+ \seq_use:Nn
+ \l__statistics_table_contents_seq
+ { \l__statistics_table_newline_tl }
+ \\
+ \hline% lwarp
+ \end{tabular}% lwarp
+}
+
+\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 \hbox {
+ \exp_not:c { l__statistics_table_##1_name_tl }
+ }
+ }
+ }
+}
+
+\RenewDocumentCommand \__statistics_IN:w { m u{;} u{;} m } {
+ #1 #2 ; #3 #4% lwarp
+}
+
+\__statistics_setup:nn { table } {
+ values/format = {#1},% lwarp
+}
+\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
+\endinput
+%%
+%% End of file `lwarp-statistics.sty'.
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-statmath.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-statmath.sty
index d5d93f0997a..b127f9dc336 100644
--- a/Master/texmf-dist/tex/latex/lwarp/lwarp-statmath.sty
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-statmath.sty
@@ -16,11 +16,17 @@
%% and version 1.3 or later is part of all distributions of LaTeX
%% version 2005/12/01 or later.
\LWR@ProvidesPackagePass{statmath}[2018/03/08]
+\LWR@origRequirePackage{lwarp-common-mathjax-letters}
+
\begin{warpMathJax}
\LWR@infoprocessingmathjax{statmath}
-\CustomizeMathJax{\let\abcbf\mathbf}
+\ifdefequal{\abcbf}{\mathbf}
+ {\CustomizeMathJax{\newcommand{\abcbf}[1]{\mathbf{#1}}}}
+ {\CustomizeMathJax{\newcommand{\abcbf}[1]{\boldsymbol{#1}}}}
+
\CustomizeMathJax{\newcommand{\greekbf}[1]{\boldsymbol{#1}}}
+
\CustomizeMathJax{\newcommand{\bfA}{\abcbf A}}
\CustomizeMathJax{\newcommand{\bfB}{\abcbf B}}
\CustomizeMathJax{\newcommand{\bfC}{\abcbf C}}
@@ -73,47 +79,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@mathjax@addgreek@l@bfit{bf}{}% Greek lowercase bold face italic
+\LWR@mathjax@addgreek@u@bfup*{bf}{}% Greek uppercase bold face upright, cap macros.
+
\CustomizeMathJax{\newcommand{\bfzero}{\greekbf 0}}
+
\CustomizeMathJax{\DeclareMathOperator{\cov}{Cov}}
\CustomizeMathJax{\DeclareMathOperator{\E}{E}}
\CustomizeMathJax{\DeclareMathOperator{\V}{V}}
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-steinmetz.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-steinmetz.sty
index 1f5a98065aa..8b1a7ecd03e 100644
--- a/Master/texmf-dist/tex/latex/lwarp/lwarp-steinmetz.sty
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-steinmetz.sty
@@ -16,13 +16,11 @@
%% and version 1.3 or later is part of all distributions of LaTeX
%% version 2005/12/01 or later.
\LWR@ProvidesPackagePass{steinmetz}[2009/06/14]
-\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}}}
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-struktex.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-struktex.sty
index 7bb1791ceab..afcaced4a41 100644
--- a/Master/texmf-dist/tex/latex/lwarp/lwarp-struktex.sty
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-struktex.sty
@@ -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@ProvidesPackagePass{struktex}[2018/06/04]
+\LWR@ProvidesPackagePass{struktex}
\BeforeBeginEnvironment{struktogramm}{%
\begin{lateximage}[-struktex-~\PackageDiagramAltText]%
}
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-subcaption.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-subcaption.sty
index eeb5e5b4b3d..7441db77cd8 100644
--- a/Master/texmf-dist/tex/latex/lwarp/lwarp-subcaption.sty
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-subcaption.sty
@@ -16,19 +16,14 @@
%% and version 1.3 or later is part of all distributions of LaTeX
%% version 2005/12/01 or later.
\LWR@ProvidesPackagePass{subcaption}[2018/05/01]
-\ifdef{\subcaption@minipage}{
- \xpatchcmd{\subcaption@minipage}
- {\minipage}
- {\minipagefullwidth\minipage}
- {}
- {\LWR@patcherror{subcaption}{subcaption@minipage}}
-}{}
-\ifdef{\subcaptionbox}{
- \xpretocmd{\subcaptionbox}
- {\minipagefullwidth}
- {}
- {\LWR@patcherror{subcaption}{subcaptionbox}}
-}{}
+\xpretocmd{\subcaption@iiminipage}
+ {\minipagefullwidth}
+ {}
+ {\LWR@patcherror{subcaption}{subcaption@iiminipage}}
+\xpretocmd{\subcaptionbox}
+ {\minipagefullwidth}
+ {}
+ {\LWR@patcherror{subcaption}{subcaptionbox}}
\endinput
%%
%% End of file `lwarp-subcaption.sty'.
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-subfig.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-subfig.sty
index 2a18225b24b..4bb971d171e 100644
--- a/Master/texmf-dist/tex/latex/lwarp/lwarp-subfig.sty
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-subfig.sty
@@ -108,14 +108,14 @@
\fi
\@ifundefined{FBsc@max}%
{
-\LWR@traceinfo{sfsubcap B1}% lwarp
- \LWR@figcaption% lwarp
+\LWR@traceinfo{sfsubcap B1}% lwarp
+ \LWR@figcaption% lwarp
\caption@make
{\@nameuse{sub\@captype name}}%
{\@nameuse{thesub\@captype}}%
{\LWR@isolate{#3}}%
- \endLWR@figcaption% lwarp
-\LWR@traceinfo{sfsubcap B2}% lwarp
+ \endLWR@figcaption% lwarp
+\LWR@traceinfo{sfsubcap B2}% lwarp
}%
{\dimen@\ht0%
\advance\dimen@\dp0%
@@ -153,7 +153,7 @@
\@nameuse{thesub\@captype}.)}}
\renewcommand{\sf@subref}[1]{%
-\LWR@subnewref{#1}{sub@#1}%
+ \LWR@subnewref{#1}{sub@#1}%
}
\renewcommand{\sf@@subref}[1]{\LWR@orig@pageref{sub@#1}}
\LetLtxMacro\LWR@orig@newsubfloat\@newsubfloat
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-svg.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-svg.sty
index 4e5db978bcb..7ad7bd165d8 100644
--- a/Master/texmf-dist/tex/latex/lwarp/lwarp-svg.sty
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-svg.sty
@@ -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@ProvidesPackagePass{svg}[2019/10/22]
+\LWR@ProvidesPackagePass{svg}[2020/10/23]
\xpretocmd{\includesvg}%
{\begin{lateximage}}%
{}%
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-swfigure.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-swfigure.sty
new file mode 100644
index 00000000000..7be18e815af
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-swfigure.sty
@@ -0,0 +1,32 @@
+%%
+%% This is file `lwarp-swfigure.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx (with options: `swfigure')
+%% 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@ProvidesPackageDrop{swfigure}[2020-11-10]
+\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}
+}%
+{}%
+\endinput
+%%
+%% End of file `lwarp-swfigure.sty'.
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-tcolorbox.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-tcolorbox.sty
new file mode 100644
index 00000000000..63e303936c1
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-tcolorbox.sty
@@ -0,0 +1,252 @@
+%%
+%% This is file `lwarp-tcolorbox.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx (with options: `tcolorbox')
+%% 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@ProvidesPackagePass{tcolorbox}[2020/04/28]
+\newbool{LWR@havetcblower}
+\boolfalse{LWR@havetcblower}
+\newcommand{\LWR@tcolorbox@findcolors}{%
+ \convertcolorspec{named}{tcbcolback}{HTML}\LWR@tcbcolback
+ \convertcolorspec{named}{tcbcolframe}{HTML}\LWR@tcbcolframe
+ \iftcb@titlefilled%
+ \convertcolorspec{named}{tcbcolbacktitle}{HTML}\LWR@tcbcolbacktitle
+ \else
+ \convertcolorspec{named}{tcbcolframe}{HTML}\LWR@tcbcolbacktitle
+ \fi
+ \convertcolorspec{named}{tcbcoltitle}{HTML}\LWR@tcbcoltitle
+ \convertcolorspec{named}{tcbcolupper}{HTML}\LWR@tcbcolupper
+ \convertcolorspec{named}{tcbcollower}{HTML}\LWR@tcbcollower
+}
+
+\newcommand*{\LWR@tcolorbox@titlecolorstyles}{%
+ border-top: 1px solid \LWR@origpound\LWR@tcbcolframe ;
+ border-bottom: 1px solid \LWR@origpound\LWR@tcbcolframe ;
+ background: \LWR@origpound\LWR@tcbcolbacktitle ;
+ color: \LWR@origpound\LWR@tcbcoltitle ;
+}
+\newcommand*{\LWR@showtitle@}[1]{%
+ \begin{BlockClass}[
+ \LWR@tcolorbox@titlecolorstyles
+ ]{tcolorboxtitle}
+ \kvtcb@before@title#1\kvtcb@after@title
+ \end{BlockClass}
+}
+\newcommand*{\LWR@showtitle}[1]{%
+ \iftcb@titlevisible
+ \LWR@showtitle@{#1}
+ \else
+ \LWR@showtitle@{~}
+ \fi
+}
+
+\newcommand*{\LWR@tcolorbox@dophantom}{%
+ \kvtcb@phantom
+ \let\kvtcb@phantom\@empty%
+}
+\newcommand*{\LWR@tcolorboxstart}[1]{
+ \LWR@tcolorbox@findcolors
+ \begin{BlockClass}[
+ border: 1px solid \LWR@origpound\LWR@tcbcolframe ;
+ background: \LWR@origpound\LWR@tcbcolback ;
+ ]{#1}
+ \LWR@tcolorbox@dophantom%
+ \ifdefvoid{\kvtcb@title}
+ {}
+ {
+ \LWR@showtitle{\kvtcb@title}
+ }
+ \begin{BlockClass}[
+ color: \LWR@origpound\LWR@tcbcolupper ;
+ ]{tcolorboxupper}
+}
+\newcommand*{\LWR@tcolorbox@dostartfloat}{%
+ \ifx\kvtcb@float\@empty%
+ \else%
+ \tcb@float@env@begin{tcbfloat}[\kvtcb@float]
+ \noexpand\kvtcb@everyfloat
+ \fi%
+}
+
+\newcommand*{\LWR@tcolorbox@doendfloat}{%
+ \ifx\kvtcb@float\@empty%
+ \else%
+ \tcb@float@env@end%
+ \fi%
+}
+\renewenvironment{tcolorbox}[1][]
+ {
+ \ifnumcomp{\value{LWR@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@printpendingfootnotes
+ \tcb@layer@inc
+ \tcb@apply@box@options{#1}
+ \LWR@tcolorbox@dostartfloat%
+ \boolfalse{LWR@havetcblower}
+ \LWR@tcolorboxstart{tcolorbox}
+ \tcb@insert@before@upper%
+ }
+ {
+ \ifbool{LWR@havetcblower}{%
+ \tcb@insert@after@lower%
+ }{%
+ \tcb@insert@after@upper%
+ }%
+ \end{BlockClass}
+ \LWR@printpendingfootnotes
+ \tcb@layer@dec
+ \end{BlockClass}
+ \LWR@tcolorbox@doendfloat%
+ }
+\newcommand{\tcblower}{
+ \tcb@insert@after@upper%
+ \end{BlockClass}
+ \begin{BlockClass}[%
+ border-top: 1px dashed \LWR@origpound\LWR@tcbcolframe ;
+ color: \LWR@origpound\LWR@tcbcollower ;
+ ]{tcolorboxlower}
+ \tcb@insert@before@lower%
+}
+\AtBeginDocument{
+\ifdef{\tcbline}{
+ \newcommand*{\LWR@sub@tcbline}{%
+ \begin{BlockClass}{hrule}
+ \end{BlockClass}
+ }
+ \newcommand{\LWR@HTML@tcbline}{\@ifstar\LWR@sub@tcbline\LWR@sub@tcbline}
+ \LWR@formatted{tcbline}
+}{}
+}
+
+\newcommand{\LWR@HTML@tcbox}[2][]{
+ \LWR@printpendingfootnotes
+ \LWR@tcolorbox@dostartfloat%
+ \begingroup
+ \tcb@layer@inc
+ \tcb@apply@box@options{#1}
+ \boolfalse{LWR@havetcblower}
+ \LWR@tcolorboxstart{tcolorbox inlineminipage}
+ \tcb@insert@before@upper%
+ #2
+ \ifbool{LWR@havetcblower}{%
+ \tcb@insert@after@lower%
+ }{%
+ \tcb@insert@after@upper%
+ }%
+ \end{BlockClass}
+ \LWR@printpendingfootnotes
+ \end{BlockClass}
+ \tcb@layer@dec%
+ \endgroup%
+ \LWR@tcolorbox@dostartfloat%
+ \global\booltrue{LWR@minipagethispar}%
+}
+\LWR@formatted{tcbox}
+
+\appto\LWR@restoreMathJaxformatting{%
+ \renewcommand{\tcbox}[2][]{#2}%
+}
+\xpatchcmd{\tcbsubtitle}
+ {\begingroup}
+ {\begingroup\let\kvtcb@title\relax\begin{BlockClass}{tcolorboxsubtitle}}
+ {}
+ {\LWR@patcherror{tcolorbox}{tcbsubtitle}}
+
+\xpatchcmd{\tcbsubtitle}
+ {\endgroup}
+ {\end{BlockClass}\endgroup}
+ {}
+ {\LWR@patcherror{tcolorbox}{tcbsubtitleB}}
+\AtBeginDocument{
+ \ifdef{\tcboxfit}{%
+ \let\LWR@HTML@tcboxfit\tcbox%
+ \LWR@formatted{tcboxfit}
+ }{}
+}
+\LetLtxMacro\LWR@HTML@tcbtitle\tcbtitle
+\xpatchcmd{\LWR@HTML@tcbtitle}
+ {\kvtcb@before@title\tcbtitletext}
+ {\kvtcb@before@title\LWR@textcurrentfont{\LWR@textcurrentcolor{\tcbtitletext}}}
+ {}
+ {\LWR@patcherror{tcolorbox}{LWR@HTML@tcbtitle}}
+\LWR@formatted{tcbtitle}
+\renewcommand*\l@tcolorbox[2]{\hypertocfloat{1}{tcolorbox}{lof}{#1}{#2}}
+\AtBeginDocument{
+\pgfkeysifdefined{/tcb/libload/theorems}{
+
+ \def\LWR@HTML@tcb@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@formatted{tcb@hack@amsmath}
+
+ % Cause an error if using math:
+ \tcbset{%
+ math upper/.style={before upper*=\tcb@hack@amsmath,after upper*=$},%
+ math lower/.style={before lower*=\tcb@hack@amsmath,after lower*=$},%
+ }
+
+ \appto\LWR@restoreorigformatting{%
+ \tcbset{%
+ math upper/.style={before upper*=$\displaystyle,after upper*=$},%
+ math lower/.style={before lower*=$\displaystyle,after lower*=$},%
+ }%
+ }
+
+ \newcommand{\LWR@HTML@tcboxmath}[2][]{#2}
+ \LWR@formatted{tcboxmath}
+ \newcommand{\LWR@HTML@tcbhighmath}[2][]{#2}
+ \LWR@formatted{tcbhighmath}
+ \appto\LWR@restoreMathJaxformatting{%
+ \renewcommand{\tcboxmath}[2][]{#2}%
+ \renewcommand{\tcbhighmath}[2][]{#2}%
+ }
+}{}% theorems loaded
+}% AtBeginDocument
+\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}}}
+\endinput
+%%
+%% End of file `lwarp-tcolorbox.sty'.
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-tensor.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-tensor.sty
new file mode 100644
index 00000000000..5519c0b7fda
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-tensor.sty
@@ -0,0 +1,54 @@
+%%
+%% This is file `lwarp-tensor.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx (with options: `tensor')
+%% 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@ProvidesPackagePass{tensor}[2004/12/20]
+\begin{warpMathJax}
+\CustomizeMathJax{\def\LWRtensorindicesthreesub#1#2{{_{#2}}\LWRtensorindicesthree}}
+\CustomizeMathJax{\def\LWRtensorindicesthreesup#1#2{{^{#2}}\LWRtensorindicesthree}}
+\CustomizeMathJax{\newcommand{\LWRtensorindicesthreenotsup}{}}
+\CustomizeMathJax{\newcommand{\LWRtensorindicesthreenotsub}{
+ \ifnextchar ^ \LWRtensorindicesthreesup \LWRtensorindicesthreenotsup
+}}
+
+\CustomizeMathJax{\newcommand{\LWRtensorindicesthree}{
+ \ifnextchar _ \LWRtensorindicesthreesub \LWRtensorindicesthreenotsub
+}}
+\CustomizeMathJax{\newcommand{\LWRtensorindicestwo}{
+ \ifstar\LWRtensorindicesthree\LWRtensorindicesthree
+}}
+\CustomizeMathJax{\newcommand{\indices}[1]{\LWRtensorindicestwo#1}}
+\CustomizeMathJax{\newcommand{\LWRtensortwo}[3][]{{}\indices{#1}{#2}\indices{#3}}}
+\CustomizeMathJax{\newcommand{\tensor}{\ifstar\LWRtensortwo\LWRtensortwo}}
+\CustomizeMathJax{%
+ \newcommand{\LWRnuclidetwo}[2][]{%
+ {%
+ \vphantom{\mathrm{#2}}%
+ {}^{\LWRtensornucleonnumber}_{#1}%
+ \mathrm{#2}%
+ }%
+ }%
+}
+\CustomizeMathJax{%
+ \newcommand{\nuclide}[1][]{%
+ \def\LWRtensornucleonnumber{#1}%
+ \LWRnuclidetwo%
+ }%
+}
+\end{warpMathJax}
+\endinput
+%%
+%% End of file `lwarp-tensor.sty'.
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-termcal.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-termcal.sty
new file mode 100644
index 00000000000..c66ac91df67
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-termcal.sty
@@ -0,0 +1,44 @@
+%%
+%% This is file `lwarp-termcal.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx (with options: `termcal')
+%% 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@ProvidesPackagePass{termcal}% questionable date in the .sty file
+\xpatchcmd{\endcalendar}
+ {@{}}
+ {}
+ {}
+ {\LWR@patcherror{termcal}{endcalendar}}
+\xpatchcmd{\ca@doaday}
+ {\hbox to \hsize{\calprintdate\hfill\ifclassday\calprintclass\fi}}
+ {%
+ \calprintdate\hfill\ifclassday\calprintclass\fi%
+ }
+ {}
+ {\LWR@patcherror{termcal}{ca@doaday}}
+\xpatchcmd{\calday}
+ {&}
+ {\LWR@tabularampersand}
+ {}
+ {\LWR@patcherror{termcal}{calday}}
+
+\xpatchcmd{\calday}
+ {&}
+ {\LWR@tabularampersand}
+ {}
+ {\LWR@patcherror{termcal}{calday B}}
+\endinput
+%%
+%% End of file `lwarp-termcal.sty'.
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-textcomp.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-textcomp.sty
index e6aa56dc2c7..1e78f0318b7 100644
--- a/Master/texmf-dist/tex/latex/lwarp/lwarp-textcomp.sty
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-textcomp.sty
@@ -97,7 +97,7 @@
\newcommand*{\LWR@HTML@capitalmacron}[1]{#1\HTMLunicode{304}}
\newcommand*{\LWR@HTML@capitaldotaccent}[1]{#1\HTMLunicode{307}}
\providecommand*{\LWR@HTML@textcircled}[1]{%
-\InlineClass[border: 1px solid \LWR@currenttextcolor]{textcircled}{#1}%
+ \InlineClass[border: 1px solid \LWR@currenttextcolor]{textcircled}{#1}%
}
\LWR@formatted{capitalcedilla}
@@ -113,6 +113,7 @@
\LWR@formatted{capitalbreve}
\LWR@formatted{capitalmacron}
\LWR@formatted{capitaldotaccent}
+
\LWR@formatted{textcircled}
\FilenameNullify{%
\renewcommand*{\textdegree}{}%
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-textpos.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-textpos.sty
index d2db94c64a5..d836221fdb0 100644
--- a/Master/texmf-dist/tex/latex/lwarp/lwarp-textpos.sty
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-textpos.sty
@@ -18,11 +18,13 @@
-\LWR@ProvidesPackageDrop{textpos}[2019/04/15]
+\LWR@ProvidesPackageDrop{textpos}[2020/09/26]
\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]{}
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-thm-listof.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-thm-listof.sty
new file mode 100644
index 00000000000..2a66e72c96f
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-thm-listof.sty
@@ -0,0 +1,50 @@
+%%
+%% This is file `lwarp-thm-listof.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx (with options: `thm-listof')
+%% 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@ProvidesPackagePass{thm-listof}[2019/12/22]
+\@ifpackagelater{thm-listof}{2020/08/01}{% v0.72
+ \def\thmtlo@newentry{%
+ \csdef{l@\thmt@envname}##1##2{\hypertocfloat{1}{figure}{lof}{##1}{##2}}%
+ }
+}{% earlier than v0.72
+ \xpatchcmd{\listoftheorems}
+ {%
+ \@xa\protected@edef\csname l@\thmt@envname\endcsname{%
+ \@nx\@dottedtocline{1}{1.5em}{\@nx\thmt@listnumwidth}%
+ }%
+ }
+ {%
+ \csdef{l@\thmt@envname}##1##2{\hypertocfloat{1}{figure}{lof}{##1}{##2}}%
+ }
+ {}
+ {\LWR@patcherror{thm-listof}{listoftheorems}}
+
+ \xpatchcmd{\thmt@mklistcmd}
+ {%
+ \@xa\protected@edef\csname l@\thmt@envname\endcsname{%
+ \@nx\@dottedtocline{1}{1.5em}{\@nx\thmt@listnumwidth}%
+ }%
+ }
+ {%
+ \csdef{l@\thmt@envname}##1##2{\hypertocfloat{1}{figure}{lof}{##1}{##2}}%
+ }
+ {}
+ {\LWR@patcherror{thm-listof}{thmt@mklistcmd}}
+}
+\endinput
+%%
+%% End of file `lwarp-thm-listof.sty'.
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-thm-restate.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-thm-restate.sty
new file mode 100644
index 00000000000..a5d19770212
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-thm-restate.sty
@@ -0,0 +1,26 @@
+%%
+%% This is file `lwarp-thm-restate.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx (with options: `thm-restate')
+%% 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@ProvidesPackagePass{thm-restate}[2020/08/01]
+\xpatchcmd{\thmt@restatable}
+ {\@ifstar}
+ {\edef\LWR@thisthmstyle{#2}\@ifstar}
+ {}
+ {\LWR@patcherror{thm-restate}{thmt@restatable}}
+\endinput
+%%
+%% End of file `lwarp-thm-restate.sty'.
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-thmbox.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-thmbox.sty
new file mode 100644
index 00000000000..a8c8069a75f
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-thmbox.sty
@@ -0,0 +1,50 @@
+%%
+%% This is file `lwarp-thmbox.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx (with options: `thmbox')
+%% 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@ProvidesPackagePass{thmbox}[2005/04/24]
+\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}}
+\endinput
+%%
+%% End of file `lwarp-thmbox.sty'.
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-thmtools.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-thmtools.sty
new file mode 100644
index 00000000000..0010378d326
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-thmtools.sty
@@ -0,0 +1,29 @@
+%%
+%% This is file `lwarp-thmtools.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx (with options: `thmtools')
+%% 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@ProvidesPackagePass{thmtools}[2020/08/01]
+\def\thmt@headstyle@margin{%
+ \InlineClass{amsthmnnumbertheorem}{\NUMBER}
+ \
+ \InlineClass{amsthmnametheorem}{\NAME}
+ \InlineClass{amsthmnotetheorem}{\NOTE}
+}
+
+\let\thmt@headstyle@swapnumber\thmt@headstyle@margin
+\endinput
+%%
+%% End of file `lwarp-thmtools.sty'.
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-tikz-imagelabels.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-tikz-imagelabels.sty
new file mode 100644
index 00000000000..11f16bcbfea
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-tikz-imagelabels.sty
@@ -0,0 +1,26 @@
+%%
+%% This is file `lwarp-tikz-imagelabels.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx (with options: `tikz-imagelabels')
+%% 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@ProvidesPackagePass{tikz-imagelabels}[2019/06/27]
+\BeforeBeginEnvironment{annotationimage}{%
+ \begin{lateximage}[-tikz-imagelabels-~\PackageDiagramAltText]%
+}
+
+\AfterEndEnvironment{annotationimage}{\end{lateximage}}
+\endinput
+%%
+%% End of file `lwarp-tikz-imagelabels.sty'.
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-tikz.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-tikz.sty
index 07a973fd0dc..a859df3535e 100644
--- a/Master/texmf-dist/tex/latex/lwarp/lwarp-tikz.sty
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-tikz.sty
@@ -39,21 +39,20 @@
\let\pgfutil@raggedleft\LWR@print@raggedleft
\let\pgfutil@raggedright\LWR@print@raggedright
-
-\def\pgfutil@font@tiny{\LWR@printtiny}
-\def\pgfutil@font@scriptsize{\LWR@printscriptsize}
-\def\pgfutil@font@footnotesize{\LWR@printfootnotesize}
+\def\pgfutil@font@tiny{\LWR@print@tiny}
+\def\pgfutil@font@scriptsize{\LWR@print@scriptsize}
+\def\pgfutil@font@footnotesize{\LWR@print@footnotesize}
\def\pgfutil@font@small{\LWR@print@small}
\def\pgfutil@font@normalsize{\LWR@print@normalsize}
-\def\pgfutil@font@large{\LWR@printlarge}
-\def\pgfutil@font@Large{\LWR@printLarge}
-\def\pgfutil@font@huge{\LWR@printhuge}
-\def\pgfutil@font@Huge{\LWR@printHuge}
+\def\pgfutil@font@large{\LWR@print@large}
+\def\pgfutil@font@Large{\LWR@print@Large}
+\def\pgfutil@font@huge{\LWR@print@huge}
+\def\pgfutil@font@Huge{\LWR@print@Huge}
-\def\pgfutil@font@itshape{\LWR@origitshape}
-\def\pgfutil@font@bfseries{\LWR@origbfseries}
+\def\pgfutil@font@itshape{\LWR@print@itshape}
+\def\pgfutil@font@bfseries{\LWR@print@bfseries}
-\def\pgfutil@font@normalfont{\LWR@orignormalfont}
+\def\pgfutil@font@normalfont{\LWR@print@normalfont}
\endinput
%%
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-titlesec.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-titlesec.sty
index b003d11552d..05b1553f1c6 100644
--- a/Master/texmf-dist/tex/latex/lwarp/lwarp-titlesec.sty
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-titlesec.sty
@@ -18,8 +18,23 @@
+\PackageInfo{lwarp}{Using the lwarp version of package `titlesec'.}%
+\ProvidesPackage{lwarp-titlesec}[2016/03/21]
-\LWR@ProvidesPackageDrop{titlesec}[2016/03/21]
+\newbool{LWR@loadtitleps}
+\boolfalse{LWR@loadtitleps}
+
+\DeclareOption{pagestyles}{
+ \booltrue{LWR@loadtitleps}
+}
+
+\DeclareOption*{}
+
+\ProcessOptions\relax
+
+\ifbool{LWR@loadtitleps}{
+ \RequirePackage{lwarp-titleps}
+}{}
\newcommand*{\titlelabel}[1]{}
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-titling.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-titling.sty
index dcdd9e24af9..d888bb88030 100644
--- a/Master/texmf-dist/tex/latex/lwarp/lwarp-titling.sty
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-titling.sty
@@ -41,21 +41,22 @@
{
\end{titlepage}
}
+\AtBeginDocument{
+ \pretitle{}
+ \posttitle{}
-\pretitle{}
-\posttitle{}
+ \preauthor{}
+ \postauthor{}
-\preauthor{}
-\postauthor{}
-
-\predate{}
-\postdate{}
+ \predate{}
+ \postdate{}
+}
\renewcommand*{\LWR@maketitlesetup}{%
-\def\@makefnmark{\textsuperscript{\@thefnmark}}
-\long\def\@makefntext##1{%
-\makethanksmark~%
-##1%
-}% \@makefntext
+ \def\@makefnmark{\textsuperscript{\@thefnmark}}%
+ \long\def\@makefntext##1{%
+ \makethanksmark~%
+ ##1%
+ }% \@makefntext
}
\renewcommand{\thanksfootmark}{%
\thanksscript{%
@@ -63,13 +64,13 @@
}%
}
\renewcommand*{\maketitle}{%
-\begin{titlepage}
-\@bsmarkseries
-\LWR@maketitlesetup
-\@maketitle
-\LWR@stoppars\@thanks\LWR@startpars
-\end{titlepage}
-\@bscontmark
+ \begin{titlepage}
+ \@bsmarkseries
+ \LWR@maketitlesetup
+ \@maketitle
+ \LWR@stoppars\@thanks\LWR@startpars
+ \end{titlepage}
+ \@bscontmark
}
\DeclareDocumentCommand{\@maketitle}{}{%
\maketitlehooka
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-tocloft.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-tocloft.sty
index d4a87982091..c179276d7b0 100644
--- a/Master/texmf-dist/tex/latex/lwarp/lwarp-tocloft.sty
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-tocloft.sty
@@ -239,21 +239,21 @@
\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}{}%
}
\newcommand{\cftchapterprecis}[1]{%
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-todonotes.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-todonotes.sty
index c340abfb1d4..9e18046dde1 100644
--- a/Master/texmf-dist/tex/latex/lwarp/lwarp-todonotes.sty
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-todonotes.sty
@@ -25,7 +25,7 @@
\let\LWRTODONOTES@orig@todototoc\todototoc
\renewcommand*{\todototoc}{%
-\phantomsection%
+\LWR@phantomsection%
\LWRTODONOTES@orig@todototoc%
}
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-trivfloat.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-trivfloat.sty
index 9f1d616e5b3..c21904c880f 100644
--- a/Master/texmf-dist/tex/latex/lwarp/lwarp-trivfloat.sty
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-trivfloat.sty
@@ -21,16 +21,9 @@
\LWR@origRequirePackage{trivfloat}
-\begin{warpHTML}
-
\AtBeginDocument{\DeclareDocumentCommand{\tfl@chapter@fix}{m m}{}}
-\end{warpHTML}
-
-\begin{warpall}
-
-\end{warpall}
\endinput
%%
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-txfonts.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-txfonts.sty
new file mode 100644
index 00000000000..2293b02d963
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-txfonts.sty
@@ -0,0 +1,28 @@
+%%
+%% This is file `lwarp-txfonts.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx (with options: `txfonts')
+%% 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@ProvidesPackagePass{txfonts}[2008/01/22]
+\LWR@origRequirePackage{lwarp-common-mathjax-letters}
+
+\begin{warpMathJax}
+\LWR@infoprocessingmathjax{txfonts}
+
+\LWR@mathjax@addgreek@l@up{}{up}
+\end{warpMathJax}
+\endinput
+%%
+%% End of file `lwarp-txfonts.sty'.
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-txgreeks.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-txgreeks.sty
new file mode 100644
index 00000000000..d24d5ca86c2
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-txgreeks.sty
@@ -0,0 +1,44 @@
+%%
+%% This is file `lwarp-txgreeks.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx (with options: `txgreeks')
+%% 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@ProvidesPackagePass{txgreeks}[2011/03/16]
+
+\LWR@infoprocessingmathjax{txgreeks}
+\LWR@origRequirePackage{lwarp-common-mathjax-letters}
+
+\begin{warpMathJax}
+\iftgs@uplower% upright lowercase Greek
+ \LWR@mathjax@addgreek@l@up{}{}
+ \LWR@mathjax@addgreek@l@it{other}{}
+\else% italic lowercase Greek
+ \LWR@mathjax@addgreek@l@it{}{}
+ \LWR@mathjax@addgreek@l@up{other}{}
+\fi
+
+\iftgs@itupper % italic uppercase Greek
+ \LWR@mathjax@addgreek@u@it*{}{}
+ \LWR@mathjax@addgreek@u@up*{other}{}
+ \LWR@mathjax@addgreek@u@up*{var}{}
+\else% upright uppercase Greek
+ \LWR@mathjax@addgreek@u@up*{}{}
+ \LWR@mathjax@addgreek@u@it*{other}{}
+ \LWR@mathjax@addgreek@u@it*{var}{}
+\fi
+\end{warpMathJax}
+\endinput
+%%
+%% End of file `lwarp-txgreeks.sty'.
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-unicode-math.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-unicode-math.sty
index a471eac12a9..dc777a2888b 100644
--- a/Master/texmf-dist/tex/latex/lwarp/lwarp-unicode-math.sty
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-unicode-math.sty
@@ -16,6 +16,8 @@
%% and version 1.3 or later is part of all distributions of LaTeX
%% version 2005/12/01 or later.
\LWR@ProvidesPackagePass{unicode-math}[2019/09/26]
+\LWR@origRequirePackage{lwarp-common-mathjax-letters}
+
\begin{warpMathJax}
\LWR@infoprocessingmathjax{unicode-math}
@@ -26,15 +28,12 @@
\CustomizeMathJax{\let\symcal\mathcal}
\CustomizeMathJax{\let\symscr\mathscr}
\CustomizeMathJax{\let\symfrak\mathfrak}
+
\CustomizeMathJax{\let\symsfup\mathsf}
-\CustomizeMathJax{\newcommand{\symsfit}[1]{%
- \mmlToken{mi}[mathvariant="sans-serif-italic"]{#1}}%
-}
+\CustomizeMathJax{\let\symsfit\mathit}% not sans
-\CustomizeMathJax{\newcommand{\symbfsf}[1]{%
- \mmlToken{mi}[mathvariant="bold-sans-serif"]{#1}}%
-}
+\CustomizeMathJax{\let\symbfsf\mathbf}% not sans
\CustomizeMathJax{\let\symbfup\mathbf}
\CustomizeMathJax{\newcommand{\symbfit}[1]{\boldsymbol{#1}}}
@@ -44,20 +43,126 @@
\CustomizeMathJax{\let\symbffrak\mathfrak}% not bold
-\CustomizeMathJax{\newcommand{\symbfsfup}[1]{%
- \mmlToken{mi}[mathvariant="bold-sans-serif"]{#1}}%
-}
+\CustomizeMathJax{\let\symbfsfup\mathbf}% not sans
-\CustomizeMathJax{\newcommand{\symbfsfit}[1]{%
- \mmlToken{mi}[mathvariant="sans-serif-bold-italic"]{#1}}%
-}
+\CustomizeMathJax{\newcommand{\symbfsfit}[1]{\boldsymbol{#1}}}% not sans
\CustomizeMathJax{\let\symup\mathrm}
\CustomizeMathJax{\let\symbf\mathbf}% \symbfup defined above
\CustomizeMathJax{\let\symit\mathit}
-\CustomizeMathJax{\let\symsf\mathsf}
+\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
\CustomizeMathJax{\let\symtt\mathtt}
\CustomizeMathJax{\let\symbffrac\mathbffrac}
+\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}}}
+\ExplSyntaxOn
+
+\AtBeginDocument{
+\bool_if:NTF \g__um_upGreek_bool
+ {\LWR@mathjax@addgreek@u@up*{}{}}
+ {\LWR@mathjax@addgreek@u@it*{}{}}
+
+\bool_if:NTF \g__um_upgreek_bool
+ {\LWR@mathjax@addgreek@l@up{}{}}
+ {\LWR@mathjax@addgreek@l@it{}{}}
+}
+
+\LWR@mathjax@addgreek@u@up*{up}{}
+\LWR@mathjax@addgreek@u@it*{it}{}
+\LWR@mathjax@addgreek@l@up{up}{}
+\LWR@mathjax@addgreek@l@it{it}{}
+
+\ExplSyntaxOff
+
+\CustomizeMathJax{\let\lparen(}
+\CustomizeMathJax{\let\rparen)}
+\CustomizeMathJax{\newcommand{\cuberoot}[1]{\,{}^3\!\!\sqrt{#1}}\,}
+\CustomizeMathJax{\newcommand{\fourthroot}[1]{\,{}^4\!\!\sqrt{#1}}\,}
+\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}
\endinput
%%
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-units.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-units.sty
index 325fa58f47a..a31b4104d5d 100644
--- a/Master/texmf-dist/tex/latex/lwarp/lwarp-units.sty
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-units.sty
@@ -41,8 +41,8 @@
\LWR@formatted{unitfrac}
\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}
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-upgreek.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-upgreek.sty
new file mode 100644
index 00000000000..8867ad622b7
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-upgreek.sty
@@ -0,0 +1,30 @@
+%%
+%% This is file `lwarp-upgreek.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx (with options: `upgreek')
+%% 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@ProvidesPackagePass{upgreek}[2003/02/12]
+\LWR@origRequirePackage{lwarp-common-mathjax-letters}
+
+\begin{warpMathJax}
+\LWR@infoprocessingmathjax{upgreek}
+
+\LWR@mathjax@addgreek@l@up{up}{}
+\LWR@mathjax@addgreek@u@up{Up}{}
+
+\end{warpMathJax}
+\endinput
+%%
+%% End of file `lwarp-upgreek.sty'.
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-url.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-url.sty
index 67effdd15b2..8279c61a0b8 100644
--- a/Master/texmf-dist/tex/latex/lwarp/lwarp-url.sty
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-url.sty
@@ -16,13 +16,14 @@
%% and version 1.3 or later is part of all distributions of LaTeX
%% version 2005/12/01 or later.
-\LetLtxMacro\LWR@url@orig@url\url
+\LetLtxMacro\LWR@url@orig@url\LWR@url
\LWR@ProvidesPackagePass{url}[2013/09/16]
-\renewcommand*{\Url@FormatString}{%
+\newcommand*{\LWR@HTML@Url@FormatString}{%
\expandafter\LWR@url@orig@url\expandafter{\Url@String}%
}
+\LWR@formatted{Url@FormatString}
\endinput
%%
%% End of file `lwarp-url.sty'.
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-ushort.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-ushort.sty
new file mode 100644
index 00000000000..2b03be61a4e
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-ushort.sty
@@ -0,0 +1,30 @@
+%%
+%% This is file `lwarp-ushort.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx (with options: `ushort')
+%% 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@ProvidesPackagePass{ushort}[2001/06/13]
+\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}
+\endinput
+%%
+%% End of file `lwarp-ushort.sty'.
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-varioref.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-varioref.sty
new file mode 100644
index 00000000000..37a38b8331e
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-varioref.sty
@@ -0,0 +1,28 @@
+%%
+%% This is file `lwarp-varioref.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx (with options: `varioref')
+%% 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@ProvidesPackagePass{varioref}[2020/01/23]
+\def\reftextfaceafter {\unskip}%
+\def\reftextfacebefore{\unskip}%
+\def\reftextafter {\unskip}%
+\def\reftextbefore {\unskip}%
+\def\reftextcurrent {\unskip}%
+\def\reftextfaraway#1{\unskip}%
+\def\reftextpagerange#1#2{\unskip}%
+\endinput
+%%
+%% End of file `lwarp-varioref.sty'.
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-verse.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-verse.sty
index 3440ad1de95..43c20d8ed7c 100644
--- a/Master/texmf-dist/tex/latex/lwarp/lwarp-verse.sty
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-verse.sty
@@ -27,11 +27,11 @@
\setlength{\leftmargini}{\HTMLleftmargini}
}{}
\LWR@forcenewpage
-\LWR@atbeginverbatim{3}{verse}%
+\LWR@atbeginverbatim{verse}%
}
\AtEndEnvironment{verse}{%
\leavevmode%
-\LWR@afterendverbatim{1}%
+\LWR@afterendverbatim%
}
\ifdef{\poemtitle}{
\DeclareDocumentCommand{\@vstypeptitle}{m}{%
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-witharrows.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-witharrows.sty
index ee12a277352..4bc9d7d359b 100644
--- a/Master/texmf-dist/tex/latex/lwarp/lwarp-witharrows.sty
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-witharrows.sty
@@ -16,8 +16,6 @@
%% and version 1.3 or later is part of all distributions of LaTeX
%% version 2005/12/01 or later.
\LWR@ProvidesPackagePass{witharrows}[2019/12/27]
-\begin{warpHTML}
-\makeatletter
\ifbool{mathjax}{
% For the hidden print version in the HTML:
\newcommand{\Arrow}[2][]{}
@@ -74,8 +72,6 @@
}
\AfterEndEnvironment{DispWithArrows*}{\end{lateximage}\end{BlockClass}}
}
-\makeatother
-\end{warpHTML}
\begin{warpMathJax}
\CustomizeMathJax{\newenvironment{WithArrows}[1][]{\begin{aligned}}{\end{aligned}}}
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-wrapfig.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-wrapfig.sty
index 3174d3856b4..8bfd8b4e3d7 100644
--- a/Master/texmf-dist/tex/latex/lwarp/lwarp-wrapfig.sty
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-wrapfig.sty
@@ -43,35 +43,35 @@
\NewDocumentEnvironment{wrapfigure}{o m o m}
{%
-\begin{LWR@setvirtualpage}*%
-\LWR@subwrapfigure{#2}{#4}%
-\captionsetup{type=figure}%
+ \begin{LWR@setvirtualpage}*%
+ \LWR@subwrapfigure{#2}{#4}%
+ \renewcommand*{\@captype}{figure}%
}
{%
-\endLWR@BlockClassWP%
-\end{LWR@setvirtualpage}%
+ \endLWR@BlockClassWP%
+ \end{LWR@setvirtualpage}%
}
\NewDocumentEnvironment{wraptable}{o m o m}
{%
-\begin{LWR@setvirtualpage}*%
-\LWR@subwrapfigure{#2}{#4}%
-\captionsetup{type=table}%
+ \begin{LWR@setvirtualpage}*%
+ \LWR@subwrapfigure{#2}{#4}%
+ \renewcommand*{\@captype}{table}%
}
{%
-\endLWR@BlockClassWP%
-\end{LWR@setvirtualpage}%
+ \endLWR@BlockClassWP%
+ \end{LWR@setvirtualpage}%
}
\NewDocumentEnvironment{wrapfloat}{m o m o m}
{%
-\begin{LWR@setvirtualpage}*%
-\LWR@subwrapfigure{#3}{#5}%
-\captionsetup{type=#1}%
+ \begin{LWR@setvirtualpage}*%
+ \LWR@subwrapfigure{#3}{#5}%
+ \renewcommand*{\@captype}{#1}%
}
{%
-\endLWR@BlockClassWP%
-\end{LWR@setvirtualpage}%
+ \endLWR@BlockClassWP%
+ \end{LWR@setvirtualpage}%
}
\newlength{\wrapoverhang}
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-xcolor.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-xcolor.sty
index fc8e4b1038d..ff6a7f39f34 100644
--- a/Master/texmf-dist/tex/latex/lwarp/lwarp-xcolor.sty
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-xcolor.sty
@@ -19,7 +19,6 @@
\LWR@ProvidesPackagePass{xcolor}[2016/05/11]
-\begin{warpHTML}
\LetLtxMacro\LWR@print@pagecolor\pagecolor
\LetLtxMacro\LWR@print@nopagecolor\nopagecolor
\appto\LWR@restoreorigformatting{%
@@ -42,7 +41,7 @@
}
\DeclareDocumentCommand{\LWR@textcurrentcolor}{m}{%
\begingroup%
-\LWR@FBcancel%
+\LWR@hook@processingtags%
\LWR@findcurrenttextcolor%
\InlineClass[color:\LWR@origpound\LWR@tempcolor]{textcolor}{%
\renewcommand*{\LWR@currenttextcolor}{\LWR@origpound\LWR@tempcolor}%
@@ -52,14 +51,14 @@
}
\NewDocumentCommand{\LWR@colorstyle}{m m}{%
\begingroup%
-\LWR@FBcancel%
+\LWR@hook@processingtags%
\convertcolorspec{#1}{#2}{HTML}\LWR@tempcolor%
\LWR@origpound\LWR@tempcolor%
\endgroup%
}
\NewDocumentCommand{\LWR@backgroundcolor}{O{named} m m}{%
\begingroup%
-\LWR@FBcancel%
+\LWR@hook@processingtags%
\InlineClass[background:\LWR@colorstyle{#1}{#2}]{backgroundcolor}{%
#3%
}%
@@ -83,6 +82,7 @@ padding:\LWR@printlength{\fboxsep}%
\LWR@formatted{color}
\NewDocumentCommand{\LWR@HTML@textcolor}{o m m}{%
\begingroup%
+\LWR@hook@processingtags%
\IfValueTF{#1}{%
\color[#1]{#2}%
}{%
@@ -100,7 +100,7 @@ padding:\LWR@printlength{\fboxsep}%
\NewDocumentCommand{\LWR@HTML@colorbox}{O{named} m +m}{%
\begingroup%
-\LWR@FBcancel%
+\LWR@hook@processingtags%
\InlineClass[%
background:\LWR@colorstyle{#1}{#2} ; %
padding:\LWR@printlength{\fboxsep}%
@@ -109,12 +109,12 @@ padding:\LWR@printlength{\fboxsep}%
}
\AtBeginDocument{
-\LWR@formatted{colorbox}
+ \LWR@formatted{colorbox}
}
\NewDocumentCommand{\LWR@HTML@colorboxBlock}{O{named} m +m}{%
\begingroup%
-\LWR@FBcancel%
+\LWR@hook@processingtags%
\LWR@stoppars%
\begin{BlockClass}[%
background:\LWR@colorstyle{#1}{#2} ; %
@@ -127,13 +127,13 @@ padding:\LWR@printlength{\fboxsep}%
}
\AtBeginDocument{
-\LWR@formatted{colorboxBlock}
+ \LWR@formatted{colorboxBlock}
}
-\NewDocumentCommand{\LWR@HTML@fcolorbox}{O{named} m O{named} m +m}{%
+\NewDocumentCommand{\LWR@HTML@fcolorbox}{O{named} m O{#1} m +m}{%
\LWR@traceinfo{HTML fcolorbox #2 #4}%
\begingroup%
-\LWR@FBcancel%
+\LWR@hook@processingtags%
\LWR@forceminwidth{\fboxrule}%
\ifthenelse{\equal{#4}{none}}%
{% no background color
@@ -151,13 +151,13 @@ padding:\LWR@printlength{\fboxsep}%
}
\AtBeginDocument{
-\LWR@formatted{fcolorbox}
+ \LWR@formatted{fcolorbox}
}
-\NewDocumentCommand{\LWR@HTML@fcolorboxBlock}{O{named} m O{named} m +m}{%
+\NewDocumentCommand{\LWR@HTML@fcolorboxBlock}{O{named} m O{#1} m +m}{%
\LWR@traceinfo{HTML fcolorboxBlock #2 #4}%
\begingroup%
-\LWR@FBcancel%
+\LWR@hook@processingtags%
\LWR@forceminwidth{\fboxrule}%
\LWR@stoppars%
\ifthenelse{\equal{#4}{none}}%
@@ -183,7 +183,7 @@ padding:\LWR@printlength{\fboxsep}%
}
\AtBeginDocument{
-\LWR@formatted{fcolorboxBlock}
+ \LWR@formatted{fcolorboxBlock}
}
\NewDocumentCommand{\LWR@subfcolorminipage}{m m m m}{%
@@ -195,9 +195,9 @@ padding:\LWR@printlength{\fboxsep}%
width:\LWR@printlength{\LWR@tempwidth}%
]{fcolorminipage}%
}
-\NewDocumentEnvironment{LWR@HTML@fcolorminipage}{O{named} m O{named} m O{c} o o m}
+\NewDocumentEnvironment{LWR@HTML@fcolorminipage}{O{named} m O{#1} m O{c} o o m}
{%
-\LWR@FBcancel%
+\LWR@hook@processingtags%
\setlength{\LWR@tempwidth}{#8}%
\IfValueT{#6}{\setlength{\LWR@tempheight}{#6}}%
\LWR@forceminwidth{\fboxrule}%
@@ -288,8 +288,6 @@ height:\LWR@printlength{\LWR@tempheight}%
\advance\rownum\@ne%
\@rowcolors%
}
-
-\end{warpHTML}
\endinput
%%
%% End of file `lwarp-xcolor.sty'.
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-xevlna.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-xevlna.sty
new file mode 100644
index 00000000000..7b64016f918
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-xevlna.sty
@@ -0,0 +1,24 @@
+%%
+%% This is file `lwarp-xevlna.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx (with options: `xevlna')
+%% 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@ProvidesPackagePass{xevlna}[2016/09/05]
+\def\ProcessCSpreposition{\ifx\next\xevlnaXeTeXspace\HTMLentity{nbsp}\fi}
+
+\appto{\LWR@hook@processingtags}{\xevlnaDisable}%
+\endinput
+%%
+%% End of file `lwarp-xevlna.sty'.
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-xfakebold.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-xfakebold.sty
index e5cec3ffaa4..64ca7a92dbc 100644
--- a/Master/texmf-dist/tex/latex/lwarp/lwarp-xfakebold.sty
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-xfakebold.sty
@@ -15,14 +15,15 @@
%% 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@ProvidesPackagePass{xfakebold}[2018/07/25]
-\let\LWR@orig@setBold\setBold
-\let\LWR@orig@unsetBold\unsetBold
-\renewcommand*{\setBold}{\booltrue{LWR@xfakebold}}
-\renewcommand*{\unsetBold}{\boolfalse{LWR@xfakebold}}
+\LWR@ProvidesPackagePass{xfakebold}[2020/06/24]
+\newcommand*{\LWR@HTML@setBold}{\booltrue{LWR@xfakebold}}
+\LWR@formatted{setBold}
+
+\newcommand*{\LWR@HTML@unsetBold}{\boolfalse{LWR@xfakebold}}
+\LWR@formatted{unsetBold}
\renewcommand*{\LWR@applyxfakebold}{%
- \ifbool{LWR@xfakebold}{\LWR@orig@setBold}{\LWR@orig@unsetBold}%
+ \ifbool{LWR@xfakebold}{\LWR@print@setBold}{\LWR@print@unsetBold}%
}
\begin{warpMathJax}
\CustomizeMathJax{\newcommand{\setBold}[1][]{}}
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-xfrac.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-xfrac.sty
index aaf85ec6503..08e288e45f3 100644
--- a/Master/texmf-dist/tex/latex/lwarp/lwarp-xfrac.sty
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-xfrac.sty
@@ -21,14 +21,8 @@
-\begin{warpall}
-
\newcommand*{\xfracHTMLfontsize}{.6em}
-\end{warpall}
-
-\begin{warpHTML}
-
\DeclareInstance{xfrac}{default}{text}{
numerator-format = {%
\begingroup%
@@ -98,7 +92,6 @@
\CustomizeMathJax{\newcommand{\sfrac}[2][]{\def\LWRsfracnumerator{#2}\LWRsfrac}}
\end{warpMathJax}
-\end{warpHTML}
\endinput
%%
%% End of file `lwarp-xfrac.sty'.
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-xpinyin.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-xpinyin.sty
index 33482536cb4..b51db884d00 100644
--- a/Master/texmf-dist/tex/latex/lwarp/lwarp-xpinyin.sty
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-xpinyin.sty
@@ -68,6 +68,8 @@
\ExplSyntaxOff
\renewcommand*{\LWR@disablepinyin}{\disablepinyin}
+
+\FilenameNullify{\LWR@disablepinyin}
\endinput
%%
%% End of file `lwarp-xpinyin.sty'.
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp.sty
index a476c088b8c..ddb31bd5e15 100644
--- a/Master/texmf-dist/tex/latex/lwarp/lwarp.sty
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp.sty
@@ -17,7 +17,8 @@
%% version 2005/12/01 or later.
\NeedsTeXFormat{LaTeX2e}[1999/12/01]
\ProvidesPackage{lwarp}
- [2020/03/25 v0.83 Allows LaTeX to directly produce HTML5 output.]
+ [2021/02/18 v0.895 Allows LaTeX to directly produce HTML5 output.]
+
@@ -26,6 +27,8 @@
\RequirePackage{iftex}[2019/11/07]
+\RequirePackage{ifpdf}
+\RequirePackage{ifptex}
\newif\ifxetexorluatex
@@ -50,14 +53,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 ``\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.%
}
- {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.}
}
-{}
+{\relax}
}
\@ifclassloaded{memoir}
@@ -80,11 +86,14 @@
\newcommand*{\LWR@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}''.}
}
}
@@ -100,7 +109,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
@@ -132,7 +143,7 @@
or is superceded by another class.\MessageBreak
For a possible alternative, see class(es) #2.
}
-}{}%
+}{\relax}%
}
\LWR@earlyclassloadnever{jarticle}{ujarticle}
\LWR@earlyclassloadnever{jbook}{ujbook}
@@ -146,22 +157,20 @@
\LWR@earlyloadnever{alg}{algorithm2e, algorithmicx}
\LWR@earlyloadnever{algorithmic}{algorithm2e, algorithmicx}
\LWR@earlyloadnever{bitfield}{bytefield}
-\LWR@earlyloadnever{boxedminipage}{boxedminipage2e}
\LWR@earlyloadnever{caption2}{caption}
\LWR@earlyloadnever{colortab}{colortbl}
+\LWR@earlyloadnever{csvtools}{datatool}
\LWR@earlyloadnever{doublespace}{setspace}
-\LWR@earlyloadnever{epsf}{graphicx}
\LWR@earlyloadnever{fancyheadings}{fancyhdr}
\LWR@earlyloadnever{fncylab}{cleveref}
\LWR@earlyloadnever{formula}{siunitx}
\LWR@earlyloadnever{glossary}{glossaries}
\LWR@earlyloadnever{hyper}{hyperref}
+\LWR@earlyloadnever{libgreek}{libertinust1math, newtx}
\LWR@earlyloadnever{newthm}{ntheorem}
\LWR@earlyloadnever{pdfcprot}{microtype}
-\LWR@earlyloadnever{picinpar}{floatflt, wrapfig}
\LWR@earlyloadnever{picins}{floatflt, wrapfig}
\LWR@earlyloadnever{rplain}{fancyhdr}
-\LWR@earlyloadnever{shadethm}{mdframed}
\LWR@earlyloadnever{si}{siunitx}
\LWR@earlyloadnever{sistyle}{siunitx}
\LWR@earlyloadnever{slashbox}{diagbox}
@@ -182,6 +191,7 @@
\LWR@loadafter{a5comb}
\LWR@notmemoirloadafter{abstract}
\LWR@loadafter{academicons}
+\LWR@loadafter{accents}
\LWR@loadafter{accessibility}
\LWR@loadafter{accsupp}
\LWR@loadafter{acro}
@@ -192,8 +202,7 @@
\LWR@loadafter{algorithm2e}
\LWR@loadafter{algorithmicx}
\LWR@loadafter{alltt}
-\LWR@loadafter{amsmath}
-\LWR@loadafter{amsthm}
+\LWR@loadafter{amscdx}
\LWR@loadafter{anonchap}
\LWR@loadafter{anysize}
\LWR@notmemoirloadafter{appendix}
@@ -205,6 +214,7 @@
\LWR@loadafter{attachfile}
\LWR@loadafter{attachfile2}
\LWR@loadafter{authblk}
+\LWR@loadafter{authoraftertitle}% Supported as-is, but must be loaded after.
\LWR@loadafter{autobreak}
\LWR@loadafter{autonum}
\LWR@loadafter{awesomebox}
@@ -225,19 +235,21 @@
\LWR@notmemoirloadafter{booktabs}
\LWR@loadafter{bophook}
\LWR@loadafter{bounddvi}
+\LWR@loadafter{boxedminipage}
\LWR@loadafter{boxedminipage2e}
\LWR@loadafter{braket}
\LWR@loadafter{breakurl}
\LWR@loadafter{breqn}
\LWR@loadafter{bsheaders}
+\LWR@loadafter{bussproofs}
\LWR@loadafter{bxpapersize}
\LWR@loadafter{bytefield}
\LWR@loadafter{cancel}
\LWR@loadafter{canoniclayout}
\LWR@loadafter{caption}
\LWR@loadafter{caption2}
+\LWR@loadafter{caption3}
\LWR@loadafter{cases}
-\LWR@loadafter{centernot}
\LWR@loadafter{changebar}
\LWR@loadafter{changelayout}
\LWR@notmemoirloadafter{changepage}
@@ -252,6 +264,8 @@
\LWR@loadafter{chkfloat}
\LWR@notmemoirloadafter{chngpage}
\LWR@loadafter{cite}
+\LWR@loadafter{citeref}
+\LWR@loadafter{cleveref}
\LWR@loadafter{cmdtrack}
\LWR@loadafter{colonequals}
\LWR@loadafter{color}
@@ -274,6 +288,7 @@
\LWR@loadafter{draftcopy}
\LWR@loadafter{draftfigure}
\LWR@loadafter{draftwatermark}
+\LWR@loadafter{drftcite}
\LWR@loadafter{easy-todo}
\LWR@loadafter{ebook}
\LWR@loadafter{econometrics}
@@ -288,6 +303,7 @@
\LWR@notmemoirloadafter{enumerate}
\LWR@loadafter{enumitem}
\LWR@notmemoirloadafter{epigraph}
+\LWR@loadafter{epsf}
\LWR@loadafter{epsfig}
\LWR@loadafter{epstopdf}
\LWR@loadafter{epstopdf-base}
@@ -295,10 +311,10 @@
\LWR@loadafter{eqparbox}
\LWR@loadafter{errata}
\LWR@loadafter{eso-pic}
+\LWR@loadafter{esvect}
\LWR@loadafter{etoc}
\LWR@loadafter{eurosym}
\LWR@loadafter{everypage}
-\LWR@loadafter{everyshi}
\LWR@loadafter{extarrows}
\LWR@loadafter{extramarks}
\LWR@loadafter{fancybox}
@@ -306,11 +322,13 @@
\LWR@loadafter{fancyref}
\LWR@loadafter{fancytabs}
\LWR@loadafter{fancyvrb}
+\LWR@loadafter{fbox}
\LWR@loadafter{fewerfloatpages}
\LWR@loadafter{figcaps}
\LWR@loadafter{figsize}
\LWR@loadafter{fitbox}
\LWR@loadafter{fix2col}
+\LWR@loadafter{fixmath}
\LWR@loadafter{fixme}
\LWR@loadafter{fixmetodonotes}
\LWR@loadafter{flafter}
@@ -343,10 +361,12 @@
\LWR@loadafter{fullminipage}
\LWR@loadafter{fullpage}
\LWR@loadafter{fullwidth}
+\LWR@loadafter{fvextra}
\LWR@loadafter{fwlw}
\LWR@loadafter{gensymb}
\LWR@loadafter{gentombow}
\LWR@loadafter{ghsystem}
+\LWR@loadafter{gindex}
\LWR@loadafter{glossaries}
\LWR@loadafter{gmeometric}
\LWR@loadafter{gloss}
@@ -357,7 +377,9 @@
\LWR@loadafter{gridset}
\LWR@loadafter{hang}
\LWR@loadafter{hanging}
+\LWR@loadafter{hepunits}
\LWR@loadafter{hhline}
+\LWR@loadafter{hhtensor}
\LWR@loadafter{hypbmsec}
\LWR@loadafter{hypcap}
\LWR@loadafter{hypdestopt}
@@ -368,10 +390,15 @@
\LWR@loadafter{idxlayout}
\LWR@loadafter{ifoddpage}
\LWR@loadafter{imakeidx}
+\LWR@loadafter{impnattypo}
\LWR@notmemoirloadafter{index}
\LWR@loadafter{intopdf}
+\LWR@loadafter{isomath}
+\LWR@loadafter{isotope}
+\LWR@loadafter{jurabib}
\LWR@loadafter{karnaugh-map}
\LWR@loadafter{keyfloat}
+\LWR@loadafter{keystroke}
\LWR@loadafter{layaureo}
\LWR@loadafter{layout}
\LWR@loadafter{layouts}
@@ -384,6 +411,7 @@
\LWR@loadafter{listings}
\LWR@loadafter{listliketab}
\LWR@loadafter{longtable}
+\LWR@loadafter{lpic}
\LWR@loadafter{lscape}
\LWR@loadafter{ltablex}
\LWR@loadafter{ltcaption}
@@ -394,6 +422,7 @@
\LWR@loadafter{luacolor}
\LWR@loadafter{luamplib}
\LWR@loadafter{luatodonotes}
+\LWR@loadafter{luavlna}
\LWR@loadafter{lyluatex}
\LWR@loadafter{magaz}
\LWR@notmemoirloadafter{makeidx}
@@ -402,14 +431,23 @@
\LWR@loadafter{marginfix}
\LWR@loadafter{marginnote}
\LWR@loadafter{marvosym}
+\LWR@loadafter{mathastext}
\LWR@loadafter{mathcomp}
+\LWR@loadafter{mathdesign}
\LWR@loadafter{mathdots}
\LWR@loadafter{mathfixs}
+\LWR@loadafter{mathpazo}
+\LWR@loadafter{mathptmx}
+\LWR@loadafter{mathspec}
\LWR@loadafter{mathtools}
+\LWR@loadafter{mattens}
+\LWR@loadafter{maybemath}
\LWR@loadafter{mcaption}
\LWR@loadafter{mdframed}
+\LWR@loadafter{mdwmath}
\LWR@loadafter{media9}
\LWR@loadafter{memhfixc}
+\LWR@loadafter{menukeys}
\LWR@loadafter{metalogo}
\LWR@loadafter{metalogox}
\LWR@loadafter{mhchem}
@@ -418,10 +456,13 @@
\LWR@loadafter{midpage}
\LWR@loadafter{minibox}
\LWR@loadafter{minitoc}
+\LWR@loadafter{minted}
\LWR@loadafter{mismath}
+\LWR@loadafter{mleftright}
\LWR@notmemoirloadafter{moreverb}
\LWR@notmemoirloadafter{movie15}
\LWR@notmemoirloadafter{mparhack}
+\LWR@loadafter{multibib}
\LWR@loadafter{multicap}
\LWR@loadafter{multicolrule}
\LWR@loadafter{multimedia}
@@ -436,10 +477,10 @@
\LWR@loadafter{nccfoots}
\LWR@loadafter{nccmath}
\LWR@notmemoirloadafter{needspace}
-\LWR@loadafter{newtxmath}
\LWR@notmemoirloadafter{nextpage}
\LWR@loadafter{nicefrac}
\LWR@loadafter{niceframe}
+\LWR@loadafter{nicematrix}
\LWR@loadafter{noitcrul}
\LWR@loadafter{nolbreaks}
\LWR@loadafter{nomencl}
@@ -481,7 +522,9 @@
\LWR@loadafter{phfqit}
\LWR@loadafter{physics}
\LWR@loadafter{physunits}
+\LWR@loadafter{picinpar}
\LWR@loadafter{pifont}
+\LWR@loadafter{pinlabel}
\LWR@loadafter{placeins}
\LWR@loadafter{plarray}
\LWR@loadafter{plarydshln}
@@ -489,6 +532,7 @@
\LWR@loadafter{plextarydshln}
\LWR@loadafter{plcolortbl}
\LWR@loadafter{plextdelarray}
+\LWR@loadafter{plimsoll}
\LWR@loadafter{prelim2e}
\LWR@loadafter{prettyref}
\LWR@loadafter{preview}
@@ -510,6 +554,7 @@
\LWR@loadafter{repeatindex}
\LWR@loadafter{resizegather}
\LWR@loadafter{returntogrid}
+\LWR@loadafter{rlepsf}
\LWR@loadafter{rmathbr}
\LWR@loadafter{rmpage}
\LWR@loadafter{romanbar}
@@ -518,6 +563,7 @@
\LWR@loadafter{rotfloat}
\LWR@loadafter{rviewport}
\LWR@loadafter{savetrees}
+\LWR@loadafter{scalerel}
\LWR@loadafter{schemata}
\LWR@loadafter{scrextend}
\LWR@loadafter{scrhack}
@@ -528,6 +574,7 @@
\LWR@loadafter{section}
\LWR@loadafter{sectionbreak}
\LWR@loadafter{sectsty}
+\LWR@loadafter{selectp}
\LWR@loadafter{semantic-markup}
\LWR@notmemoirloadafter{setspace}
\LWR@loadafter{shadow}
@@ -535,15 +582,19 @@
\LWR@notmemoirloadafter{showidx}
\LWR@loadafter{showkeys}
\LWR@loadafter{showtags}
+\LWR@loadafter{shuffle}
\LWR@loadafter{sidecap}
\LWR@loadafter{sidenotes}
+\LWR@loadafter{simplebnf}
\LWR@loadafter{SIunits}
\LWR@loadafter{siunitx}
+\LWR@loadafter{skmath}
\LWR@loadafter{slantsc}
\LWR@loadafter{slashed}
\LWR@loadafter{soul}
\LWR@loadafter{soulpos}
\LWR@loadafter{soulutf8}
+\LWR@loadafter{splitbib}
\LWR@loadafter{splitidx}
\LWR@loadafter{srcltx}
\LWR@loadafter{srctex}
@@ -551,6 +602,7 @@
\LWR@loadafter{stackengine}
\LWR@loadafter{stackrel}
\LWR@loadafter{statex2}
+\LWR@loadafter{statistics}
\LWR@loadafter{statmath}
\LWR@loadafter{steinmetz}
\LWR@notltjloadafter{stfloats}
@@ -561,6 +613,7 @@
\LWR@loadafter{subsupscripts}
\LWR@loadafter{supertabular}
\LWR@loadafter{svg}
+\LWR@loadafter{swfigure}
\LWR@loadafter{syntonly}
\LWR@loadafter{t1inc}
\LWR@loadafter{tabfigures}
@@ -568,19 +621,27 @@
\LWR@loadafter{tablefootnote}
\LWR@notmemoirloadafter{tabularx}
\LWR@loadafter{tabulary}
-\LWR@loadafter{tascmac}
\LWR@loadafter{tagpdf}
+\LWR@loadafter{tascmac}
+\LWR@loadafter{tcolorbox}
+\LWR@loadafter{tensor}
+\LWR@loadafter{termcal}
\LWR@loadafter{textarea}
\LWR@loadafter{textfit}
\LWR@loadafter{textpos}
\LWR@loadafter{theorem}
\LWR@loadafter{thinsp}
+\LWR@loadafter{thm-listof}
+\LWR@loadafter{thm-restate}
+\LWR@loadafter{thmbox}
+\LWR@loadafter{thmtools}
\LWR@loadafter{threadcol}
\LWR@loadafter{threeparttable}
\LWR@loadafter{threeparttablex}
\LWR@loadafter{thumb}
\LWR@loadafter{thumbs}
\LWR@loadafter{tikz}
+\LWR@loadafter{tikz-imagelabels}
\LWR@loadafter{titleps}
\LWR@loadafter{titlesec}
\LWR@loadafter{titletoc}
@@ -603,13 +664,14 @@
\LWR@loadafter{typicons}
\LWR@loadafter{umoline}
\LWR@loadafter{underscore}
-\LWR@loadafter{unicode-math}
\LWR@loadafter{units}
\LWR@loadafter{unitsdef}
+\LWR@loadafter{upgreek}
\LWR@loadafter{upref}
\LWR@loadafter{url}
+\LWR@loadafter{ushort}
\LWR@loadafter{uspace}
-\LWR@loadafter{varioref}% no lwarp package provided
+\LWR@loadafter{varioref}
\LWR@notmemoirloadafter{verse}
\LWR@loadafter{versonotes}
\LWR@loadafter{vertbars}
@@ -627,6 +689,7 @@
\LWR@loadafter{xcolor}
\LWR@loadafter{xechangebar}
\LWR@loadafter{xellipsis}
+\LWR@loadafter{xevlna}
\LWR@loadafter{xfakebold}
\LWR@loadafter{xfrac}
\LWR@loadafter{xltabular}
@@ -641,9 +704,12 @@
\LWR@loadafter{xy}
\LWR@loadafter{zwpagelayout}
\newcommand{\LWR@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.%
+ }
}
\let\LWR@mdfive\pdfmdfivesum
\ifLuaTeX
@@ -703,7 +769,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
@@ -722,6 +789,25 @@
\ifpTeX
\RequirePackage{upquote}
\fi
+\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
+\newlength{\LWR@templengthone}
+\newlength{\LWR@templengthtwo}
+\newlength{\LWR@templengththree}
+\newcounter{LWR@tempcountone}
\newcommand*\LWR@providelength[1]{%
\ifdeflength{#1}{}{\newlength{#1}}%
}
@@ -739,9 +825,13 @@
\newcommand*{\LWR@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.}%
}
\newcommand{\LWR@isolate}[1]{#1}%
@@ -761,6 +851,15 @@
\long\def\LWR@secondoffour#1#2#3#4{#2}
\long\def\LWR@thirdoffour#1#2#3#4{#3}
\long\def\LWR@fourthoffour#1#2#3#4{#4}
+\newcounter{LWR@texboxdepth}
+\setcounter{LWR@texboxdepth}{0}
+\newcommand*{\LWR@maybe@orignewpage}{%
+ \LWR@traceinfo{LWR@maybe@orignewpage}%
+ \ifnumgreater{\value{LWR@texboxdepth}}{0}
+ {}%
+ {\LWR@orignewpage}%
+ \LWR@traceinfo{LWR@maybe@orignewpage done}%
+}
\DeclareRobustCommand\LWR@gsavebox[1]{%
\@ifnextchar(%)
{\LWR@@gsavepicbox#1}{\@ifnextchar[{\LWR@@gsavebox#1}{\LWR@gsbox#1}}}%
@@ -794,6 +893,20 @@
\fi
#1%
}
+\ExplSyntaxOn
+\newcommand*{\LWRtexttitlecase}[1]{%
+ \text_titlecase:n{#1}%
+}
+\ExplSyntaxOff
+\newcommand*{\LWR@LetLtxMacrocs}[2]{%
+ \expandafter\LetLtxMacro\csname #1\expandafter\endcsname%
+ \csname#2\endcsname%
+}
+\newcommand*{\LWR@absorbstar}[1]{%
+ \LWR@LetLtxMacrocs{LWR@origns@#1}{#1}%
+ \csdef{#1}{\@ifstar{\csuse{LWR@origns@#1}}{\csuse{LWR@origns@#1}}}
+ \expandafter\robustify\csname #1\endcsname
+}
\let\LWRpercent\@percentchar
\catcode`\$=12
\def\LWRdollar{$}
@@ -853,26 +966,26 @@
\boolfalse{warpingHTML}%
\boolfalse{mathjax}%
\DeclareVoidOption{warpprint}{%
-\PackageInfo{lwarp}{Using option 'warpprint'}
-\booltrue{warpingprint}%
-\boolfalse{warpingHTML}%
+ \PackageInfo{lwarp}{Using option 'warpprint'}
+ \booltrue{warpingprint}%
+ \boolfalse{warpingHTML}%
}
\DeclareVoidOption{warpHTML}{%
-\PackageInfo{lwarp}{Using option 'warpHTML'}%
-\booltrue{warpingHTML}%
-\boolfalse{warpingprint}%
+ \PackageInfo{lwarp}{Using option 'warpHTML'}%
+ \booltrue{warpingHTML}%
+ \boolfalse{warpingprint}%
}
\DeclareVoidOption{mathsvg}{%
-\PackageInfo{lwarp}{Using option 'mathsvg'}
-\boolfalse{mathjax}%
-\boolfalse{LWR@origmathjax}%
+ \PackageInfo{lwarp}{Using option 'mathsvg'}
+ \boolfalse{mathjax}%
+ \boolfalse{LWR@origmathjax}%
}
\DeclareVoidOption{mathjax}{%
-\PackageInfo{lwarp}{Using option 'mathjax'}
-\booltrue{mathjax}%
-\booltrue{LWR@origmathjax}%
+ \PackageInfo{lwarp}{Using option 'mathjax'}
+ \booltrue{mathjax}%
+ \booltrue{LWR@origmathjax}%
}
@@ -890,19 +1003,22 @@
\DeclareStringOption[utf8]{xindyCodepage}
+
+\DeclareStringOption[]{xindexConfig}
+
\DeclareStringOption[UTF-8]{pdftotextEnc}
\newbool{LWR@creatinglwarpmk}
\boolfalse{LWR@creatinglwarpmk}
\DeclareVoidOption{lwarpmk}{
-\PackageInfo{lwarp}{Using option 'lwarpmk'}
-\booltrue{LWR@creatinglwarpmk}
+ \PackageInfo{lwarp}{Using option 'lwarpmk'}
+ \booltrue{LWR@creatinglwarpmk}
}
\DeclareVoidOption{OSWindows}{
-\PackageInfo{lwarp}{Using option 'OSWindows'}
-\LWR@setOSWindows
+ \PackageInfo{lwarp}{Using option 'OSWindows'}
+ \LWR@setOSWindows
}
\DeclareStringOption[]{HomeHTMLFilename}
@@ -923,6 +1039,10 @@
\DeclareBoolOption[false]{xindy}
+\DeclareBoolOption[false]{xindex}
+
+\DeclareStringOption[cref]{IndexRef}
+
\DeclareStringOption[makeglossaries]{GlossaryCmd}
\DeclareBoolOption[false]{latexmk}
@@ -973,6 +1093,20 @@
\jobname.idx%
}
}{}
+ \ifbool{LWR@xindex}{
+ \ifdefvoid{\LWR@xindexConfig}{
+ \renewcommand{\LWR@PrintIndexCmd}{%
+ xindex
+ \jobname.idx%
+ }
+ }{
+ \renewcommand{\LWR@PrintIndexCmd}{%
+ xindex
+ -c \LWR@xindexConfig \space
+ \jobname.idx%
+ }
+ }
+ }{}
}{}
\ifdefempty{\LWR@HTMLIndexCmd}{
@@ -988,6 +1122,20 @@
\jobname_html.idx%
}
}{}
+ \ifbool{LWR@xindex}{
+ \ifdefvoid{\LWR@xindexConfig}{
+ \renewcommand{\LWR@HTMLIndexCmd}{%
+ xindex
+ \jobname_html.idx%
+ }
+ }{
+ \renewcommand{\LWR@HTMLIndexCmd}{%
+ xindex
+ -c \LWR@xindexConfig \space
+ \jobname_html.idx%
+ }
+ }
+ }{}
}{}
\ifdefempty{\LWR@LatexmkIndexCmd}{
@@ -1002,42 +1150,87 @@
-C \LWR@xindyCodepage%
}
}{}
+ \ifbool{LWR@xindex}{
+ \ifdefvoid{\LWR@xindexConfig}{
+ \renewcommand{\LWR@LatexmkIndexCmd}{%
+ xindex
+ }
+ }{
+ \renewcommand{\LWR@LatexmkIndexCmd}{%
+ xindex
+ -c \LWR@xindexConfig
+ }
+ }
+ }{}
}{}
\newcommand{\warpprintonly}[1]{\ifbool{warpingprint}{#1}{}}
\newcommand{\warpHTMLonly}[1]{\ifbool{warpingHTML}{#1}{}}
\RequirePackage{comment}
-\ifbool{warpingHTML}{
-\def\DefaultCutFileName{\def\CommentCutFile{comment_html.cut}}
-}{}
+\def\LWR@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@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}}
-\includecomment{warpall}
+\LWR@includecomment{warpall}{all}
\ifbool{warpingHTML}
- {\includecomment{warpHTML}}
- {\excludecomment{warpHTML}}%
+ {\LWR@includecomment{warpHTML}{html}}
+ {\LWR@excludecomment{warpHTML}{html}}
\ifbool{warpingprint}
- {\includecomment{warpprint}}
- {\excludecomment{warpprint}}
+ {\LWR@includecomment{warpprint}{print}}
+ {\LWR@excludecomment{warpprint}{print}}
\begin{warpprint}
-\excludecomment{warpMathJax}
+\LWR@excludecomment{warpMathJax}{mathjax}
\end{warpprint}
\begin{warpHTML}
\ifbool{mathjax}
- {\includecomment{warpMathJax}}
- {\excludecomment{warpMathJax}}
+ {\LWR@includecomment{warpMathJax}{mathjax}}
+ {\LWR@excludecomment{warpMathJax}{mathjax}}
\end{warpHTML}
\ifbool{LWR@creatinglwarpmk}
- {\includecomment{LWR@createlwarpmk}}
- {\excludecomment{LWR@createlwarpmk}}
+ {\LWR@includecomment{LWRcreatelwarpmk}{lwarpmk}}
+ {\LWR@excludecomment{LWRcreatelwarpmk}{lwarpmk}}
\begin{warpHTML}
@@ -1059,8 +1252,7 @@
tracking=false,
kerning=false,
spacing=false}
-
-\DisableLigatures[f,q,t,T,Q]{encoding = *,family = *}
+\DisableLigatures{encoding = *,family = tt*}
\fi
\end{warpHTML}
@@ -1219,7 +1411,6 @@
\end{warpprint}
\begin{warpall}
-
\LetLtxMacro\LWR@origRequirePackage\RequirePackage
\LetLtxMacro\LWR@origRequirePackageWithOptions\RequirePackageWithOptions
@@ -1238,6 +1429,7 @@
\StrBetween[#3,\numexpr#3+1]{#1#2#1}{#1}{#1}%
}
+
\newcommand*{\LWR@checkloadfilename}[1]{%
\LWR@checkloadnever{#1}{ae}{cm-super, lmodern}
\LWR@checkloadnever{#1}{aecc}{cm-super, lmodern}
@@ -1245,23 +1437,21 @@
\LWR@checkloadnever{#1}{alg}{algorithm2e, algorithmicx}
\LWR@checkloadnever{#1}{algorithmic}{algorithm2e, algorithmicx}
\LWR@checkloadnever{#1}{bitfield}{bytefield}
-\LWR@checkloadnever{#1}{boxedminipage}{boxedminipage2e}
\LWR@checkloadnever{#1}{caption2}{caption}
\LWR@checkloadnever{#1}{ccaption}{caption}% might be preloaded by memoir
\LWR@checkloadnever{#1}{colortab}{colortbl}
+\LWR@checkloadnever{#1}{csvtools}{datatool}
\LWR@checkloadnever{#1}{doublespace}{setspace}
-\LWR@checkloadnever{#1}{epsf}{graphicx}
\LWR@checkloadnever{#1}{fancyheadings}{fancyhdr}
\LWR@checkloadnever{#1}{fncylab}{cleveref}
\LWR@checkloadnever{#1}{formula}{siunitx}
\LWR@checkloadnever{#1}{glossary}{glossaries}
\LWR@checkloadnever{#1}{hyper}{hyperref}
+\LWR@checkloadnever{#1}{libgreek}{libertinust1math, newtx}
\LWR@checkloadnever{#1}{newthm}{ntheorem}
\LWR@checkloadnever{#1}{pdfcprot}{microtype}
-\LWR@checkloadnever{#1}{picinpar}{floatflt, wrapfig}
\LWR@checkloadnever{#1}{picins}{floatflt, wrapfig}
\LWR@checkloadnever{#1}{rplain}{fancyhdr}
-\LWR@checkloadnever{#1}{shadethm}{mdframed}
\LWR@checkloadnever{#1}{si}{siunitx}
\LWR@checkloadnever{#1}{sistyle}{siunitx}
\LWR@checkloadnever{#1}{slashbox}{diagbox}
@@ -1278,6 +1468,7 @@
\LWR@checkloadbefore{#1}{nfssext-cfr}
\LWR@checkloadbefore{#1}{fontaxes}
\LWR@checkloadbefore{#1}{kotex}
+\LWR@checkloadbefore{#1}{kpfonts}% textcomp option clash
\LWR@checkloadbefore{#1}{luatexja}
\LWR@checkloadbefore{#1}{luatexja-fontspec}
\LWR@checkloadbefore{#1}{luatexko}
@@ -1360,6 +1551,8 @@
}%
}
\LetLtxMacro\usepackage\RequirePackage
+\@onlypreamble\RequirePackage
+\@onlypreamble\usepackage
\end{warpall}
@@ -1367,8 +1560,9 @@
\NewDocumentCommand{\LWR@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}}%
@@ -1419,14 +1613,6 @@
\end{warpHTML}
-\begin{warpHTML}
-
-\LWR@origRequirePackage{caption}
-\AtBeginDocument{\RequirePackage{lwarp-caption}}%
-
-\end{warpHTML}
-
-
\begin{warpall}
@@ -1447,7 +1633,7 @@
\immediate\openout\LWR@quickfile #1_html_inc.tex% lwarp
\immediate\write\LWR@quickfile{\string\input{#1.tex}}% lwarp
\immediate\closeout\LWR@quickfile% lwarp
-\LWR@orignewpage% changed from clearpage
+\LWR@maybe@orignewpage% changed from clearpage
\if@filesw
\immediate\write\@mainaux{\string\@input{#1_html_inc.aux}}% changed
\fi
@@ -1465,7 +1651,7 @@
\immediate\write\@partaux{\relax}%
\fi
\@input@{#1_html_inc.tex}% changed
- \LWR@orignewpage% changed from clearpage
+ \LWR@maybe@orignewpage% changed from clearpage
\@writeckpt{#1}%
\if@filesw
\immediate\closeout\@partaux
@@ -1482,27 +1668,27 @@
\begin{warpHTML}
-\newwrite\LWR@copyoutfile % open the file to write to
-\newread\LWR@copyinfile % open the file to read from
+\newwrite\LWR@copyoutfile % open the file to write to
+\newread\LWR@copyinfile % open the file to read from
\newcommand*{\LWR@copyfile}[2]{%
-\LWR@traceinfo{LWR@copyfile: copying #1 to #2}
-
-\immediate\openout\LWR@copyoutfile=#2
-\openin\LWR@copyinfile=#1
-\begingroup\endlinechar=-1
-\makeatletter
-
-\LWR@traceinfo{LWR@copyfile: about to loop}
-
-\loop\unless\ifeof\LWR@copyinfile
- \LWR@traceinfo{LWR@copyfile: one line}
- \read\LWR@copyinfile to\LWR@fileline % Read one line and store it into \LWR@fileline
- \immediate\write\LWR@copyoutfile{\unexpanded\expandafter{\LWR@fileline}}%
-\repeat
-\immediate\closeout\LWR@copyoutfile
-\LWR@traceinfo{LWR@copyfile: done}
-\endgroup
+ \LWR@traceinfo{LWR@copyfile: copying #1 to #2}
+
+ \immediate\openout\LWR@copyoutfile=#2
+ \openin\LWR@copyinfile=#1
+ \begingroup\endlinechar=-1
+ \makeatletter
+
+ \LWR@traceinfo{LWR@copyfile: about to loop}
+
+ \loop\unless\ifeof\LWR@copyinfile
+ \LWR@traceinfo{LWR@copyfile: one line}
+ \read\LWR@copyinfile to\LWR@fileline % Read one line and store it into \LWR@fileline
+ \immediate\write\LWR@copyoutfile{\unexpanded\expandafter{\LWR@fileline}}%
+ \repeat
+ \immediate\closeout\LWR@copyoutfile
+ \LWR@traceinfo{LWR@copyfile: done}
+ \endgroup
}
\end{warpHTML}
@@ -1537,7 +1723,26 @@
\begin{warpHTML}
\newcommand*{\LWR@formatting}{HTML}
+\newcommand*{\LWR@formatted@checkname}[1]{%
+ \ifcsundef{LWR@HTML@#1}{%
+ \PackageError{lwarp}
+ {%
+ \protect\LWR@HTML@#1 is not defined%
+ }
+ {Perhaps it is misspelled.}
+ }{\relax}%
+}
+\newcommand*{\LWR@formatted@checkendname}[1]{%
+ \ifcsundef{endLWR@HTML@#1}{%
+ \PackageError{lwarp}
+ {%
+ \protect\endLWR@HTML@#1 is not defined%
+ }
+ {Perhaps it is misspelled.}
+ }{\relax}%
+}
\newcommand*{\LWR@formatted}[1]{%
+ \LWR@formatted@checkname{#1}%
\ifcsundef{LWR@print@#1}{%
\expandafter\LetLtxMacro\csname LWR@print@#1\expandafter\endcsname%
\csname#1\endcsname%
@@ -1553,6 +1758,7 @@
}%
}
\newcommand*{\LWR@expandableformatted}[1]{%
+ \LWR@formatted@checkname{#1}%
\ifcsundef{LWR@print@#1}{%
\expandafter\LetLtxMacro\csname LWR@print@#1\expandafter\endcsname%
\csname#1\endcsname%
@@ -1568,6 +1774,8 @@
}%
}
\newcommand*{\LWR@formattedenv}[1]{%
+ \LWR@formatted@checkname{#1}%
+ \LWR@formatted@checkendname{#1}%
\ifcsundef{LWR@print@#1}{%
\expandafter\LetLtxMacro\csname LWR@print@#1\expandafter\endcsname%
\csname#1\endcsname%
@@ -1582,6 +1790,8 @@
}%
}
\newcommand*{\LWR@expandableformattedenv}[1]{%
+ \LWR@formatted@checkname{#1}%
+ \LWR@formatted@checkendname{#1}%
\ifcsundef{LWR@print@#1}{%
\expandafter\LetLtxMacro\csname LWR@print@#1\expandafter\endcsname%
\csname#1\endcsname%
@@ -1639,11 +1849,11 @@
\renewcommand*{\LWR@tagsubsubsectionend}{/h5}
\renewcommand*{\LWR@tagparagraph}{h6}
\renewcommand*{\LWR@tagparagraphend}{/h6}
-\renewcommand*{\LWR@tagsubparagraph}{span class="subparagraph"}
+\renewcommand*{\LWR@tagsubparagraph}{span class=\textquotedbl{}subparagraph\textquotedbl}
\renewcommand*{\LWR@tagsubparagraphend}{/span}
}% WPTitleHeading
{% not WPTitleHeading, part and section starting at h1
-\renewcommand*{\LWR@tagtitle}{div class="title"}
+\renewcommand*{\LWR@tagtitle}{div class=\textquotedbl{}title\textquotedbl}
\renewcommand*{\LWR@tagtitleend}{/div}
\renewcommand*{\LWR@tagpart}{h1}
\renewcommand*{\LWR@tagpartend}{/h1}
@@ -1662,7 +1872,7 @@
{% chapter defined
\ifbool{WPTitleHeading}{}
{% not WPTitleHeading, part and chapter starting at h1
-\renewcommand*{\LWR@tagtitle}{div class="title"}
+\renewcommand*{\LWR@tagtitle}{div class=\textquotedbl{}title\textquotedbl}
\renewcommand*{\LWR@tagtitleend}{/div}
\renewcommand*{\LWR@tagpart}{h1}
\renewcommand*{\LWR@tagpartend}{/h1}
@@ -1676,7 +1886,7 @@
\renewcommand*{\LWR@tagsubsubsectionend}{/h5}
\renewcommand*{\LWR@tagparagraph}{h6}
\renewcommand*{\LWR@tagparagraphend}{/h6}
-\renewcommand*{\LWR@tagsubparagraph}{span class="subparagraph"}
+\renewcommand*{\LWR@tagsubparagraph}{span class=\textquotedbl{}subparagraph\textquotedbl}
\renewcommand*{\LWR@tagsubparagraphend}{/span}
}% not WPTitleHeading
}% chapter defined
@@ -1709,8 +1919,16 @@
\let\LWR@origbigskip\bigskip
\let\LWR@origtextellipsis\textellipsis
-\let\LWR@orig@textquotedbl\textquotedbl
+\let\LWR@origvdots\vdots
+\LetLtxMacro\LWR@orig@@textquotedbl\textquotedbl
+\LetLtxMacro\LWR@orig@textquotedbl\LWR@orig@@textquotedbl
+\AtEndPreamble{
+\@ifpackageloaded{libertinus-otf}{
+ \renewcommand{\LWR@orig@textquotedbl}{\LWR@orig@@textquotedbl\kern-.15em}
+ \LetLtxMacro\textquotedbl\LWR@orig@textquotedbl
+}{}
+}
\LetLtxMacro\LWR@origttfamily\ttfamily
\LetLtxMacro\LWR@origem\em
@@ -1721,13 +1939,6 @@
\let\LWR@origsp\sp
\let\LWR@origsb\sb
-\LetLtxMacro\LWR@origtextsuperscript\textsuperscript
-\LetLtxMacro\LWR@orig@textsuperscript\@textsuperscript
-
-\AtBeginDocument{
-\LetLtxMacro\LWR@origtextsubscript\textsubscript
-\LetLtxMacro\LWR@orig@textsubscript\@textsubscript
-}
\LetLtxMacro\LWR@origunderline\underline
\let\LWR@orignewpage\newpage
@@ -1770,39 +1981,57 @@
\begin{warpHTML}
\AtBeginDocument{
-\LetLtxMacro\LWR@origt\t
+\LetLtxMacro\LWR@origtie\t
\ifPDFTeX% pdflatex or dvi latex
-\LetLtxMacro\LWR@origequalaccent\=
+\LetLtxMacro\LWR@origgraveaccent\`
+\LetLtxMacro\LWR@origacuteaccent\'
+\LetLtxMacro\LWR@origcircumflexaccent\^
+\LetLtxMacro\LWR@origtildeaccent\~
+\LetLtxMacro\LWR@origmacronaccent\=
+\LetLtxMacro\LWR@origbreve\u
\LetLtxMacro\LWR@origdotaccent\.
-\LetLtxMacro\LWR@origu\u
-\LetLtxMacro\LWR@origv\v
-\LetLtxMacro\LWR@origc\c
-\LetLtxMacro\LWR@origd\d
-\LetLtxMacro\LWR@origb\b
-\renewcommand*{\=}[1]{#1\HTMLunicode{0305}}
-\renewcommand*{\.}[1]{#1\HTMLunicode{0307}}
+\LetLtxMacro\LWR@origdiaeresisaccent\"
+\LetLtxMacro\LWR@origdoubleacuteaccent\H
+\LetLtxMacro\LWR@origcaronaccent\v
+\LetLtxMacro\LWR@origdotbelowaccent\d
+\LetLtxMacro\LWR@origcedillaaccent\c
+\LetLtxMacro\LWR@origmacronbelowaccent\b
+\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*{\"}[1]{#1\HTMLunicode{0308}}
+\renewcommand*{\H}[1]{#1\HTMLunicode{030B}}
\renewcommand*{\v}[1]{#1\HTMLunicode{030C}}
-\renewcommand*{\c}[1]{#1\HTMLunicode{0327}}
\renewcommand*{\d}[1]{#1\HTMLunicode{0323}}
+\renewcommand*{\c}[1]{#1\HTMLunicode{0327}}
\renewcommand*{\b}[1]{#1\HTMLunicode{0331}}
\fi
\def\LWR@t#1#2{#1\HTMLunicode{0361}#2}
\renewcommand*{\t}[1]{\LWR@t#1}
\ifPDFTeX% pdflatex or dvi latex
\newcommand*{\LWR@restoreorigaccents}{%
-\LetLtxMacro\=\LWR@origequalaccent%
-\LetLtxMacro\.\LWR@origdotaccent%
-\LetLtxMacro\u\LWR@origu%
-\LetLtxMacro\v\LWR@origu%
-\LetLtxMacro\t\LWR@origt%
-\LetLtxMacro\c\LWR@origc%
-\LetLtxMacro\d\LWR@origd%
-\LetLtxMacro\b\LWR@origb%
+ \LetLtxMacro\`\LWR@origgraveaccent%
+ \LetLtxMacro\'\LWR@origacuteaccent%
+ \LetLtxMacro\^\LWR@origcircumflexaccent%
+ \LetLtxMacro\~\LWR@origtildeaccent%
+ \LetLtxMacro\=\LWR@origmacronaccent%
+ \LetLtxMacro\u\LWR@origbreve%
+ \LetLtxMacro\.\LWR@origdotaccent%
+ \LetLtxMacro\"\LWR@origdiaeresisaccent%
+ \LetLtxMacro\H\LWR@origdoubleacuteaccent%
+ \LetLtxMacro\v\LWR@origcaronaccent%
+ \LetLtxMacro\t\LWR@origtie%
+ \LetLtxMacro\d\LWR@origdotbelowaccent%
+ \LetLtxMacro\c\LWR@origcedillaaccent%
+ \LetLtxMacro\b\LWR@origmacronbelowaccent%
}%
\else% XeLaTeX, LuaLaTeX:
\newcommand*{\LWR@restoreorigaccents}{%
-\LetLtxMacro\t\LWR@origt%
+ \LetLtxMacro\t\LWR@origtie%
}%
\fi%
}% AtBeginDocument
@@ -1811,7 +2040,7 @@
-\excludecomment{LWRwriteconf}
+\LWR@excludecomment{LWRwriteconf}{writeconf}
\begin{warpprint}
\fullexpandarg%
\IfSubStr*{\jobname}{-pstool}
@@ -1823,7 +2052,7 @@
}
{
\PackageInfo{lwarp}{Generating lwarp configuration files,}%
- \includecomment{LWRwriteconf}
+ \LWR@includecomment{LWRwriteconf}{writeconf}
}
\end{warpprint}
@@ -1856,9 +2085,12 @@
#1 \jobname#2%
}
\newcommand*{\LWR@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.%
+ }%
}
\newcommand*{\LWR@latexmkvar}[2]{%
-e
@@ -1869,7 +2101,7 @@
\newcommand*{\LWR@latexmkcmd}[1]{%
latexmk \space \LWR@shellescapecmd \space #1 \space
-recorder \space
- \LWR@latexmkvar{makeindex}{\LWR@LatexmkIndexCmd}
+ \LWR@latexmkvar{makeindex}{\LWR@LatexmkIndexCmd}%
}
\newcommand*{\LWR@latexmkdvipdfm}[1]{%
-pdfdvi \space
@@ -2037,7 +2269,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
*/
/* a fix for older browsers: */
@@ -2093,10 +2325,11 @@ span.sectionnumber { margin-right: 0em }
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;
@@ -2111,10 +2344,6 @@ span.textit, div.textit { font-style: italic; }
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;
@@ -2143,6 +2372,50 @@ span.textsf, div.textsf {
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 {
@@ -2155,6 +2428,8 @@ span.overline {
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 }
@@ -2183,16 +2458,16 @@ div.diagboxW {
.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 {
@@ -2270,7 +2545,7 @@ div.epigraph p, div.dictum p { padding: .5ex ; margin: 0ex ;}
div.epigraphsource p, div.dictumauthor p { padding: .5ex 0ex 0ex 0ex ; margin: 0ex ;}
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%}
@@ -2331,6 +2606,12 @@ span.capsspacing {
span.highlight { background: #F8E800 ; }
+/* keystroke package: */
+span.keystroke {
+ border-style: outset ;
+ padding: 0pt .5em 0pt .5em ;
+}
+
html body {
margin: 0 ;
line-height: 1.2;
@@ -2474,7 +2755,7 @@ div.bodywithoutsidetoc div.bodycontainer {
}
section.textbody div.footnotes{
- margin: 3ex 2em 0ex 2em ;
+ margin: 3ex 2em .5ex 2em ;
border-bottom: 2px solid silver ;
}
@@ -2654,6 +2935,7 @@ div.wpminipage { border: 1px solid green ; margin: .5ex ; padding: .5ex ;}
.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;
@@ -2715,20 +2997,33 @@ div.wpminipage { border: 1px solid green ; margin: .5ex ; padding: .5ex ;}
display: inline-block ;
}
-.mdframed {
+/* mdframed, tcolorbox, shadebox packages */
+.mdframed, .tcolorbox, .shadebox {
padding: 0ex ;
margin: 2ex 0em 2ex 0em ;
+ border: 1px solid black ;
+}
+
+.tcolorbox {
+ border-radius: 10pt ;
+ margin: 2ex 1em 2ex 1em ;
}
-.mdframed p { padding: 0ex .5em 0ex .5em ; }
+.mdframed p, .tcolorbox p { padding: 0ex .5em 0ex .5em ; }
-.mdframed dl { padding: 1ex .5em 0ex .5em ; }
+.mdframed dl, .tcolorbox dl { padding: 1ex .5em 0ex .5em ; }
-.mdframedtitle {
+.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 {
@@ -2828,7 +3123,10 @@ dl dd:after { content: "" ; display: block ; clear: both }
dl dd p { margin-top: 0em; }
-dd ul, dd ol, dd dl { clear: both ; padding-top: 1ex }
+dd ul, dd ol, dd dl {
+ clear: both ;
+/* padding-top: 1ex ; */
+}
nav {
font-family: "URW Classico", Optima, "Linux Biolinum O",
@@ -3125,6 +3423,26 @@ span.verbatim {
"Courier New", monospace;
}
+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 ;
@@ -3215,6 +3533,7 @@ footer {
text-align:left ;
}
+/* for \LinkHome, \LinkPrevious, and \LinkNext: */
a.linkhome { font-weight:bold ; font-size: 1em ;}
div.lateximagesource { padding: 0px ; margin: 0px ; display: none; }
@@ -3326,8 +3645,13 @@ nav .authorartist{ display:inline; }
/* 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 */
@@ -3396,6 +3720,33 @@ div.amsthmproof
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 ;
@@ -3440,6 +3791,9 @@ span.nolbreaks { white-space: nowrap ; }
/*
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 {
@@ -3451,7 +3805,6 @@ Based on spacing demonstrated by the metafont package.
.latexlogo {
font-family: "Linux Libertine O", "Nimbus Roman No 9 L",
"FreeSerif", "Hoefler Text", Times, "Times New Roman", serif;
- font-size: 1.1em;
}
.latexlogosup {
@@ -3465,10 +3818,11 @@ Based on spacing demonstrated by the metafont package.
.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 {
@@ -3478,24 +3832,25 @@ Based on spacing demonstrated by the metafont package.
.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 {
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 ;
}
@@ -3532,6 +3887,7 @@ span.sidetocthetitle { display: none }
box-shadow: none ;
}
span.sidetocthetitle { display: inline }
+ nav.topnavigation { display:block }
nav.botnavigation { display:block }
div.bodycontainer { width: 100% }
.marginpar {
@@ -4090,114 +4446,218 @@ page_compositor "."
\end{LWRwriteconf}
+
\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"
- }
- });
-
- 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];
+<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;
+
+ // 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"
- }
- }
-});
-</script>
+ // Create the Lwarp-macros package
+ Configuration.create('Lwarp-macros', {
+ handler: {macro: ['Lwarp-macros']}
+ });
-<!-- 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">
-</script>
+ MathJax.startup.defaultReady();
-<!-- No longer supported after April 30, 2017: -->
-<!--
-<script
- src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_HTML-full">
+ // 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;
+ }
+ });
+ 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;
+ }
+ });
+
+ // 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>
--->
+<script
+ id="MathJax-script"
+ src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-chtml.js"
+></script>
\end{filecontents*}
\end{LWRwriteconf}
-
-\begin{LWR@createlwarpmk}
+\begin{LWRcreatelwarpmk}
\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 ()
@@ -4227,10 +4687,11 @@ lwarpmk pdftohtml [-p project]:
lwarpmk pdftosvg <list of file names>: Converts each PDF file to SVG.
lwarpmk epstopdf <list of file names>: Converts each EPS file to PDF.
lwarpmk clean [-p project]: Remove *.aux, *.toc, *.lof/t,
- *.idx, *.ind, *.log, *_html_inc.*, .gl*,
+ *.idx, *.ind, *.bbl, *.log, *_html_inc.*, .gl*,
*_html.pdf, *_html.html, *_html.sidetoc
lwarpmk cleanall [-p project]: Remove auxiliary files, project.pdf, *.html
lwarpmk cleanlimages: Removes all images from the "lateximages" directory.
+lwarpmk -v: Print the version number.
lwarpmk -h: Print this help message.
lwarpmk --help: Print this help message.
@@ -4574,12 +5035,13 @@ function removeaux ()
-- 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 " ..
@@ -4588,7 +5050,8 @@ os.execute ( rmname .. " *.aux " ..
sourcename .. "_html.pdf " ..
sourcename .. "_html.html " ..
sourcename .. "_html.sidetoc " ..
- " *_html_inc.* "
+ " *_html_inc.* " ..
+ " comment_*.cut"
)
end
@@ -5085,6 +5548,12 @@ print ("lwarpmk: Done.")
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
@@ -5099,7 +5568,7 @@ end
end -- not --version
\end{filecontents*}
-\end{LWR@createlwarpmk}
+\end{LWRcreatelwarpmk}
\begin{warpHTML}
@@ -5267,7 +5736,7 @@ end -- not --version
\let\LWR@origampersand\&
\newcommand*{\HTMLentity}[1]{%
\begingroup%
-\LWR@FBcancel%
+\LWR@hook@processingtags%
\LWR@origampersand#1;%
\endgroup%
}
@@ -5293,7 +5762,7 @@ end -- not --version
\providecommand*{\HomeHTMLFilename}{\BaseJobname}
\newcommand*{\SetHTMLFileNumber}[1]{%
-\setcounter{LWR@htmlfilenumber}{#1}%
+ \setcounter{LWR@htmlfilenumber}{#1}%
}
\newbool{FileSectionNames}
@@ -5303,6 +5772,15 @@ end -- not --version
\begin{warpHTML}
+\newcounter{LWR@HTMLpagenum}
+\setcounter{LWR@HTMLpagenum}{0}
+
+\newcounter{LWR@htmlseqfilenumber}
+\setcounter{LWR@htmlseqfilenumber}{0}
+
+\newbool{LWR@setseqfilelabel}
+\setbool{LWR@setseqfilelabel}{false}
+
\newcounter{LWR@htmlfilenumber}
\setcounter{LWR@htmlfilenumber}{0}
@@ -5312,29 +5790,31 @@ end -- not --version
\LWR@disablepinyin%
\LWR@sanitize{#1}%
\LWR@traceinfo{about to compare with ??}%
-\ifthenelse{\equal{\LWR@sanitized}{??}}%
+\ifdefstring{\LWR@sanitized}{??}
{\LWR@traceinfo{found ??}}%
{\LWR@traceinfo{not found ??}}%
\LWR@traceinfo{about to compare with zero or empty}%
-\ifthenelse{%
- \equal{\LWR@sanitized}{0}%
- \OR \equal{\LWR@sanitized}{}%
- \OR \equal{\LWR@sanitized}{??}%
-}%
+\ifboolexpr{
+ test {\ifdefstring{\LWR@sanitized}{0}} or
+ test {\ifdefstring{\LWR@sanitized}{}} or
+ test {\ifdefstring{\LWR@sanitized}{??}}
+}
{%
\LWR@traceinfo{LWR@htmlsectionfilename B \HomeHTMLFilename.html}%
\HomeHTMLFilename.html%
}%
{%
\LWR@traceinfo{LWR@htmlsectionfilename C \LWR@sanitized}%
- \ifthenelse{%
- \equal{\HTMLFilename}{} \AND
- \equal{\LWR@sanitized}{Index} \OR
- \equal{\LWR@sanitized}{index}%
+ \ifboolexpr{
+ test{\ifdefvoid{\HTMLFilename}} and
+ (
+ test{\ifdefstring{\LWR@sanitized}{Index}} or
+ test{\ifdefstring{\LWR@sanitized}{index}}
+ )
}%
{%
- \LWR@traceinfo{Prefixing the index name with an underscore.}%
- \_\LWR@sanitized.html%
+ \LWR@traceinfo{Adding a zero to the index filename.}%
+ \LWR@sanitized-0.html%
}%
{%
\HTMLFilename\LWR@isolate{\LWR@sanitized}.html%
@@ -5345,12 +5825,12 @@ end -- not --version
}
\newcommand*{\LWR@htmlrefsectionfilename}[1]{%
-\LWR@traceinfo{LWR@htmlrefsectionfilename: !\detokenize{#1}!}%
-\begingroup%
-\LWR@nullfonts%
-\LWR@htmlsectionfilename{\LWR@htmlfileref{#1}}%
-\endgroup%
-\LWR@traceinfo{LWR@htmlrefsectionfilename: done}%
+ \LWR@traceinfo{LWR@htmlrefsectionfilename: !\detokenize{#1}!}%
+ \begingroup%
+ \LWR@nullfonts%
+ \LWR@htmlsectionfilename{\LWR@htmlfileref{#1}}%
+ \endgroup%
+ \LWR@traceinfo{LWR@htmlrefsectionfilename: done}%
}
\end{warpHTML}
@@ -5365,7 +5845,7 @@ end -- not --version
\begin{warpHTML}
\newcommand*{\LinkHome}{%
-\LWR@subhyperrefclass{\HomeHTMLFilename.html}{\linkhomename}{linkhome}%
+ \LWR@subhyperrefclass{\HomeHTMLFilename.html}{\linkhomename}{linkhome}%
}
\end{warpHTML}
@@ -5390,12 +5870,63 @@ end -- not --version
\begin{warpHTML}
-\newcommand*{\LWR@topnavigation}{
-\LWR@htmlelementclassline{nav}{topnavigation}{\LinkHome}
+\newcommand*{\LWR@topnavigation}{%
+ \LWR@htmlelementclassline{nav}{topnavigation}{\LinkHome}
+}
+
+\newcommand*{\LWR@botnavigation}{%
+ \LWR@htmlelementclassline{nav}{botnavigation}{\LinkHome}
+}
+
+\end{warpHTML}
+
+
+\begin{warpall}
+
+\newcommand*{\linkpreviousname}{Previous}
+
+\newcommand*{\linknextname}{Next}
+
+\end{warpall}
+
+\begin{warpprint}
+
+\newcommand*{\LinkPrevious}{}
+
+\newcommand*{\LinkNext}{}
+
+\end{warpprint}
+
+\begin{warpHTML}
+
+\newcommand*{\LinkPrevious}{%
+ \ifnumless{\value{LWR@htmlseqfilenumber}}{1}{}{%
+ \setcounter{LWR@tempcountone}{\value{LWR@htmlseqfilenumber}-1}%
+ \LWR@subhyperrefclass{%
+ \LWR@htmlrefsectionfilename{%
+ \BaseJobname-autofile-\arabic{LWR@tempcountone}%
+ }%
+ }{\linkpreviousname}{linkhome}%
+ }%
}
-\newcommand*{\LWR@botnavigation}{
-\LWR@htmlelementclassline{nav}{botnavigation}{\LinkHome}
+\newcommand*{\LinkNext}{%
+ \ifcsdef{r@\BaseJobname-autofile-last@lwarp}{%
+ \edef\LWR@tempone{%
+ \LWR@htmlfileref{\BaseJobname-autofile-\arabic{LWR@htmlseqfilenumber}}%
+ }%
+ \edef\LWR@temptwo{%
+ \LWR@htmlfileref{\BaseJobname-autofile-last}%
+ }%
+ \ifdefequal{\LWR@tempone}{\LWR@temptwo}{}{%
+ \setcounter{LWR@tempcountone}{\value{LWR@htmlseqfilenumber}+1}%
+ \LWR@subhyperrefclass{%
+ \LWR@htmlrefsectionfilename{%
+ \BaseJobname-autofile-\arabic{LWR@tempcountone}%
+ }%
+ }{\linknextname}{linkhome}%
+ }%
+ }{}%
}
\end{warpHTML}
@@ -5462,8 +5993,14 @@ end -- not --version
\newcommand{\LWR@forcenewpage}{%
\LWR@traceinfo{LWR@forcenewpage}%
\ifinner\else%
-\LWR@stoppars\LWR@orignewpage\LWR@startpars%
+ \LWR@traceinfo{LWR@forcenewpage A}%
+ \LWR@stoppars%
+ \LWR@traceinfo{LWR@forcenewpage B}%
+ \LWR@maybe@orignewpage%
+ \LWR@traceinfo{LWR@forcenewpage C}%
+ \LWR@startpars%
\fi%
+\LWR@traceinfo{LWR@forcenewpage done}%
}
\renewcommand*{\pagestyle}[1]{}
\renewcommand*{\thispagestyle}[1]{}
@@ -5481,7 +6018,7 @@ end -- not --version
\newcommand*{\LWR@tagtitle}{h1}
\newcommand*{\LWR@tagtitleend}{/h1}
-\newcommand*{\LWR@tagbook}{div class="book"}
+\newcommand*{\LWR@tagbook}{div class=\textquotedbl{}book\textquotedbl}
\newcommand*{\LWR@tagbookend}{/div}
\newcommand*{\LWR@tagpart}{h2}
\newcommand*{\LWR@tagpartend}{/h2}
@@ -5493,13 +6030,15 @@ end -- not --version
\newcommand*{\LWR@tagsubsectionend}{/h5}
\newcommand*{\LWR@tagsubsubsection}{h6}
\newcommand*{\LWR@tagsubsubsectionend}{/h6}
-\newcommand*{\LWR@tagparagraph}{span class="paragraph"}
+\newcommand*{\LWR@tagparagraph}{span class=\textquotedbl{}paragraph\textquotedbl}
\newcommand*{\LWR@tagparagraphend}{/span}
-\newcommand*{\LWR@tagsubparagraph}{span class="subparagraph"}
+\newcommand*{\LWR@tagsubparagraph}{span class=\textquotedbl{}subparagraph\textquotedbl}
\newcommand*{\LWR@tagsubparagraphend}{/span}
\newcommand*{\LWR@tagregularparagraph}{p}
+\newcommand*{\LWR@hook@processingtags}{}
+
\providecommand*{\LWR@FBcancel}{}
@@ -5508,6 +6047,7 @@ end -- not --version
{}%
{%
\LetLtxMacro\LWR@FBcancel\NoAutoSpacing%
+ \appto{\LWR@hook@processingtags}{\LWR@FBcancel}%
}%
\@ifundefined{frenchbsetup}%
@@ -5516,31 +6056,31 @@ end -- not --version
\frenchbsetup{FrenchFootnotes=false}%
\renewrobustcmd*{\FBcolonspace}{%
\begingroup%
- \LWR@FBcancel%
+ \LWR@hook@processingtags%
\LWR@origampersand{}nbsp;%
\endgroup%
}%
\renewrobustcmd*{\FBthinspace}{%
\begingroup%
- \LWR@FBcancel%
+ \LWR@hook@processingtags%
\LWR@origampersand\LWR@origpound{}x202f;% \,
\endgroup%
}%
\renewrobustcmd*{\FBguillspace}{%
\begingroup%
- \LWR@FBcancel%
+ \LWR@hook@processingtags%
\LWR@origampersand{}nbsp;% ~, for \og xyz \fg{}
\endgroup%
}%
\DeclareDocumentCommand{\FBmedkern}{}{%
\begingroup%
- \LWR@FBcancel%
+ \LWR@hook@processingtags%
\LWR@origampersand\LWR@origpound{}x202f;% \,
\endgroup%
}%
\DeclareDocumentCommand{\FBthickkern}{}{%
\begingroup%
- \LWR@FBcancel%
+ \LWR@hook@processingtags%
\LWR@origampersand{}nbsp;% ~
\endgroup%
}%
@@ -5565,14 +6105,32 @@ end -- not --version
\newcommand*{\LWR@htmltagc}[1]{%
\LWR@traceinfo{LWR@htmltagc !\detokenize{#1}!}%
\begingroup%
-\LWR@FBcancel%
-\ifmmode\else\protect\LWR@origttfamily\fi%
+\LWR@hook@processingtags%
+\ifmmode\else\protect\LWR@print@normalfont\protect\LWR@origttfamily\fi%
\protect\LWR@origtextless%
\LWR@isolate{#1}%
\protect\LWR@origtextgreater%
\endgroup%
}
+\newcommand*{\LWR@spanwarnformat}[1]{%
+ \ifnumcomp{\value{LWR@spandepth}}{>}{0}{%
+ \PackageWarning{lwarp}{%
+ A #1 is being used inside a span.\MessageBreak
+ Formatting may be lost,%
+ }%
+ }{}%
+}
+
+\newcommand*{\LWR@spanwarninvalid}[1]{%
+ \ifnumcomp{\value{LWR@spandepth}}{>}{0}{%
+ \PackageWarning{lwarp}{%
+ A #1 is being used inside a span.\MessageBreak
+ This generates invalid HTML,%
+ }%
+ }{}%
+}
+
\newcommand*{\LWR@nestspanitem}{%
\if@newlist\else{\LWR@htmltagc{br /}}\fi%
\LWR@origitem%
@@ -5589,10 +6147,15 @@ end -- not --version
\LWR@traceinfo{LWR@nestspan: NOT inside a lateximage}%
\addtocounter{LWR@spandepth}{1}%
\RenewDocumentEnvironment{minipage}{O{t} o O{t} m}%
- {\LWR@subhtmlelementclass{span}{inlineminipage}}%
- {\LWR@htmltagc{/span}}%
- \RenewDocumentEnvironment{BlockClass}{o m}{}{}%
- \renewcommand{\BlockClassSingle}[2]{##2}%
+ {\LWR@spanwarnformat{minipage or \protect\parbox}}%
+ {}%
+ \RenewDocumentEnvironment{BlockClass}{o m}%
+ {\LWR@spanwarnformat{multi-paragraph object}}%
+ {}%
+ \renewcommand{\BlockClassSingle}[2]{%
+ {\LWR@spanwarnformat{multi-paragraph object}}%
+ ##2%
+ }%
\renewcommand{\LWR@forcenewpage}{}%
\renewcommand{\LWR@liststart}{%
\let\item\LWR@nestspanitem%
@@ -5642,8 +6205,8 @@ end -- not --version
\newcommand*{\LWR@htmlopencomment}{%
{%
\begingroup%
-\LWR@FBcancel%
-\ifmmode\else\protect\LWR@origttfamily\fi%
+\LWR@hook@processingtags%
+\ifmmode\else\protect\LWR@print@normalfont\protect\LWR@origttfamily\fi%
\LWR@print@mbox{\LWR@origtextless{}!-\/-}%
\endgroup%
}%
@@ -5652,20 +6215,25 @@ end -- not --version
\newcommand*{\LWR@htmlclosecomment}{%
{%
\begingroup%
-\LWR@FBcancel%
-\ifmmode\else\protect\LWR@origttfamily\fi%
+\LWR@hook@processingtags%
+\ifmmode\else\protect\LWR@print@normalfont\protect\LWR@origttfamily\fi%
\LWR@print@mbox{-\/-\LWR@origtextgreater}%
\endgroup%
}%
}
\newcommand{\LWR@htmlcomment}[1]{%
-\LWR@htmlopencomment{}%
-{%
-\LWR@origttfamily% break ligatures
-#1%
-}%
-\LWR@htmlclosecomment{}}
+\ifmmode%
+\else%
+ \LWR@htmlopencomment{}%
+ {%
+ \LWR@print@normalfont%
+ \LWR@origttfamily% break ligatures
+ #1%
+ }%
+ \LWR@htmlclosecomment{}%
+\fi%
+}
\newcommand{\LWR@htmlblockcomment}[1]
{\LWR@stoppars\LWR@htmlcomment{#1}\LWR@startpars}
@@ -5679,16 +6247,16 @@ end -- not --version
\NewDocumentCommand{\LWR@subhtmlelementclass}{m O{} m}{%
\LWR@traceinfo{LWR@subhtmlelementclass !#1!#2!#3!}%
\ifblank{#2}%
-{% empty option
+{% empty style
\LWR@htmltag{%
- #1 % space
- class=\textquotedbl#3\textquotedbl\ % space
+ #1%
+ \ifblank{#3}{}{ class=\textquotedbl#3\textquotedbl\ }% spaces
}%
}%
-{% non-empty option
+{% non-empty style
\LWR@htmltag{%
#1\LWR@indentHTML%
- class=\textquotedbl#3\textquotedbl\LWR@indentHTML%
+ \ifblank{#3}{}{class=\textquotedbl#3\textquotedbl\LWR@indentHTML}%
style=\textquotedbl#2\textquotedbl\LWR@orignewline%
}%
}%
@@ -5748,12 +6316,12 @@ end -- not --version
\NewDocumentEnvironment{BlockClass}{o m}{}{}%
\end{warpprint}
\begin{warpHTML}
+
\NewDocumentEnvironment{LWR@print@BlockClass}{o m}{}{}%
+
\NewDocumentEnvironment{LWR@HTML@BlockClass}{o m}%
-{%
- \LWR@htmldivclass[#1]{#2}%
-}
-{\LWR@htmldivclassend{#2}}
+ {\LWR@htmldivclass[#1]{#2}}
+ {\LWR@htmldivclassend{#2}}
\LWR@formattedenv{BlockClass}
\end{warpHTML}
@@ -5762,7 +6330,7 @@ end -- not --version
\end{warpall}
\begin{warpHTML}
\newcommand{\LWR@HTML@BlockClassSingle}[2]{%
-\LWR@htmlelementclassline{div}{#1}{#2}%
+ \LWR@htmlelementclassline{div}{#1}{#2}%
}
\LWR@formatted{BlockClassSingle}
@@ -5947,7 +6515,10 @@ end -- not --version
\newcommand*{\LWR@startpars}%
{%
-\ifnumcomp{\value{LWR@spandepth}}{>}{0}%
+\ifboolexpr{
+ test {\ifnumcomp{\value{LWR@lateximagedepth}}{>}{0}} or
+ test {\ifnumcomp{\value{LWR@spandepth}}{>}{0}}
+}%
{}%
{%
\ifbool{LWR@doingstartpars}%
@@ -5964,7 +6535,10 @@ end -- not --version
\newcommand*{\LWR@stoppars}%
{%
-\ifnumcomp{\value{LWR@spandepth}}{>}{0}%
+\ifboolexpr{
+ test {\ifnumcomp{\value{LWR@lateximagedepth}}{>}{0}} or
+ test {\ifnumcomp{\value{LWR@spandepth}}{>}{0}}
+}%
{}%
{%
\ifbool{LWR@doingapar}%
@@ -5989,8 +6563,8 @@ end -- not --version
\begin{warpHTML}
\AtBeginDocument{
-\def\@afterindentfalse{\let\if@afterindent\iffalse}
-\@afterindentfalse
+ \def\@afterindentfalse{\let\if@afterindent\iffalse}
+ \@afterindentfalse
}
\let\LWR@afterindent@syntaxhighlight\fi% syntax highlighting
@@ -6000,11 +6574,15 @@ end -- not --version
\begin{warpall}
\newcommand{\LWR@firstpagetop}{} % for the home page alone
+\newcommand{\LWR@firstpagebottom}{} % for the home page alone
\newcommand{\LWR@pagetop}{} % for all other pages
\newcommand{\LWR@pagebottom}{}
\newcommand{\HTMLFirstPageTop}[1]{%
\renewcommand{\LWR@firstpagetop}{#1}%
}
+\newcommand{\HTMLFirstPageBottom}[1]{%
+ \renewcommand{\LWR@firstpagebottom}{#1}%
+}
\newcommand{\HTMLPageTop}[1]{%
\renewcommand{\LWR@pagetop}{#1}%
}
@@ -6158,7 +6736,7 @@ end -- not --version
\LWR@traceinfo{@mpfootnotetext: done}%
}
\AtBeginDocument{
-\def\thempfootnote{\@alph\c@mpfootnote}
+ \def\thempfootnote{\@alph\c@mpfootnote}
}
\newcommand*{\LWR@@printpendingfootnotes}[1]{%
\expandafter\ifvoid\csname LWR@#1box\endcsname\else
@@ -6286,6 +6864,20 @@ end -- not --version
}%
}
+\newcommand*{\LWR@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}
+}
+
\newcommand*{\LWR@filenamenoblanks}[1]{%
\begingroup
\LWR@nullfonts%
@@ -6300,14 +6892,38 @@ end -- not --version
\LWR@simplifyname{\textless}
\LWR@simplifyname{\textgreater}
\edef\LWR@thisnewfilename{\detokenize\expandafter{\LWR@thisnewfilename}}%
+\ifbool{FileSectionNames}{%
+ \IfSubStr{\LWR@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@avoiddupfilenames%
+ \MessageBreak
+ This section is found before or%
+ }
+ }{}%
+}{}
\LWR@traceinfo{LWR@filenamenoblanks edef: !\LWR@thisnewfilename!}%
\fullexpandarg%
\LWR@simplifyname*{ }
+\LWR@simplifyname*{*}
+\LWR@simplifyname*{(}
+\LWR@simplifyname*{)}
+\LWR@simplifyname*{.}
\LWR@simplifyname*{!}
\LWR@simplifyname*{,}
\LWR@simplifyname*{'}
\LWR@simplifyname*{+}
-\LWR@simplifyname*{,}
\LWR@simplifyname*{/}
\LWR@simplifyname*{:}
\LWR@simplifyname*{;}
@@ -6351,19 +6967,19 @@ end -- not --version
\LWR@simplifyname*{-the-}
\LWR@simplifyname*{-THE-}
\LWR@simplifycustom%
-\LWR@simplifyname*{-----}
-\LWR@simplifyname*{----}
-\LWR@simplifyname*{---}
-\LWR@simplifyname*{--}
\ifPDFTeX% pdflatex or dvi latex
\ifdefstring{\inputencodingname}{utf8}{%
-\LWR@simplifyname*{—}
-\LWR@simplifyname*{–}
+ \LWR@simplifyname*{—}
+ \LWR@simplifyname*{–}
}{}%
\else% not PDFTeX
-\LWR@simplifyname*{—}
-\LWR@simplifyname*{–}
+ \LWR@simplifyname*{—}
+ \LWR@simplifyname*{–}
\fi%
+\LWR@simplifyname*{-----}
+\LWR@simplifyname*{----}
+\LWR@simplifyname*{---}
+\LWR@simplifyname*{--}
\IfBeginWith{\LWR@thisnewfilename}{\detokenize{-}}{%
\StrGobbleLeft{\LWR@thisnewfilename}{1}[\LWR@thisnewfilename]%
}{}%
@@ -6409,6 +7025,9 @@ end -- not --version
}
\egroup
+\newbool{LWR@MathJax@silentquotes}
+\boolfalse{LWR@MathJax@silentquotes}
+
\catcode`\#=12
\catcode`\&=12
\newcommand{\LWR@subHTMLsanitize}{%
@@ -6416,7 +7035,14 @@ end -- not --version
\LWR@replacestrings{&}{&amp;}%
\LWR@replacestrings{<}{&lt;}%
\LWR@replacestrings{>}{&gt;}%
- \LWR@replacestrings{"}{&quot;}%
+ \ifbool{LWR@MathJax@silentquotes}
+ {%
+ \expandafter\LWR@replacestrings\expandafter{\LWRbackslash"}{}%
+ \LWR@replacestrings{"}{}%
+ }%
+ {\LWR@replacestrings{"}{&quot;}}%
+ \LWR@replacestrings{'}{&apos;}%
+ \LWR@replacestrings{`}{&grave;}%
\LWR@replacestrings{##}{#}%
\edef\LWR@strresult{\detokenize\expandafter{\tmpb}}%
}
@@ -6425,21 +7051,31 @@ end -- not --version
\newrobustcmd{\LWR@HTMLsanitize}[1]{%
\begingroup%
- \LWR@FBcancel%
- \fullexpandarg%
- \protect\StrSubstitute{\detokenize{#1}}%
- {\detokenize{\&}}{\detokenize{&}}[\LWR@strresult]%
+ \LWR@hook@processingtags%
+ \edef\LWR@strresult{\detokenize{#1}}%
\LWR@subHTMLsanitize%
\LWR@strresult%
\endgroup%
}
+\edef\LWR@beginspaceleftbrace{begin \LWRleftbrace}
+\edef\LWR@beginspaceleftbrace{\detokenize\expandafter{\LWR@beginspaceleftbrace}}
+\edef\LWR@beginleftbrace{begin\LWRleftbrace}
+\edef\LWR@beginleftbrace{\detokenize\expandafter{\LWR@beginleftbrace}}
+
+\edef\LWR@endspacerightbrace{end \LWRrightbrace}
+\edef\LWR@endspacerightbrace{\detokenize\expandafter{\LWR@endspacerightbrace}}
+\edef\LWR@endrightbrace{end\LWRrightbrace}
+\edef\LWR@endrightbrace{\detokenize\expandafter{\LWR@endrightbrace}}
+
\newrobustcmd{\LWR@HTMLsanitizeexpand}[1]{%
\begingroup%
- \LWR@FBcancel%
- \fullexpandarg%
- \protect\StrSubstitute{\detokenize\expandafter{#1}}%
- {\detokenize{\&}}{\detokenize{&}}[\LWR@strresult]%
+ \LWR@hook@processingtags%
+ \edef\LWR@strresult{\detokenize\expandafter{#1}}%
+ \protect\StrSubstitute{\LWR@strresult}%
+ {\LWR@beginspaceleftbrace}{\LWR@beginleftbrace}[\LWR@strresult]%
+ \protect\StrSubstitute{\LWR@strresult}%
+ {\LWR@endspacerightbrace}{\LWR@endrightbrace}[\LWR@strresult]%
\LWR@subHTMLsanitize%
\LWR@strresult%
\endgroup%
@@ -6453,10 +7089,8 @@ end -- not --version
\newcommand*{\LWR@subcustomizedmathjax}[1]{%
\begingroup%
- \LWR@FBcancel%
- \fullexpandarg%
- \protect\StrSubstitute{\detokenize{#1}}%
- {\detokenize{\&}}{\detokenize{&}}[\LWR@strresult]%
+ \LWR@hook@processingtags%
+ \edef\LWR@strresult{\detokenize{#1}}%
\LWR@subHTMLsanitize%
\xdef\LWR@customizedMathJax{%
\LWR@customizedMathJax%
@@ -6469,8 +7103,8 @@ end -- not --version
\newcommand*{\CustomizeMathJax}[1]{%
\ifbool{LWR@warnedcustomizemathjax}{}{%
\StrLen{\detokenize{#1}}[\LWR@tempone]%
- \ifnumgreater{\LWR@tempone}{200}{%
- \AtBeginDocument{%
+ \ifnumgreater{\LWR@tempone}{350}{%
+ \AtEndDocument{%
\PackageWarningNoLine{lwarp}{%
To ensure faster MathJax compilation, place each\MessageBreak
custom macro in its own \protect\CustomizeMathJax.\MessageBreak
@@ -6512,9 +7146,9 @@ end -- not --version
\CustomizeMathJax{\def\LWRfootnote{1}}
\CustomizeMathJax{\newcommand{\footnote}[2][\LWRfootnote]{{}^{\mathrm{#1}}}}
\CustomizeMathJax{\newcommand{\footnotemark}[1][\LWRfootnote]{{}^{\mathrm{#1}}}}
-\end{warpMathJax}
-
-\begin{warpMathJax}
+\CustomizeMathJax{\let\LWRorighspace\hspace}
+\CustomizeMathJax{\renewcommand{\hspace}{\ifstar\LWRorighspace\LWRorighspace}}
+\CustomizeMathJax{\newcommand{\mathnormal}[1]{{#1}}}
\CustomizeMathJax{\newcommand\ensuremath[1]{#1}}
\CustomizeMathJax{% absorb two optional arguments
\newcommand{\LWRframebox}[2][]{\fbox{#2}}
@@ -6524,9 +7158,21 @@ end -- not --version
\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)}}}
+\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
@@ -6536,16 +7182,14 @@ end -- not --version
\LWR@stoppars
\LWR@htmlcomment{MathJax customizations:}
-\typeout{---}
-\typeout{Package lwarp:}
-\typeout{Processing MathJax customizations. If this takes too long,}
-\typeout{see the Lwarp manual regarding customizing MathJax.}
\begin{BlockClass}{hidden}
\LWR@stoppars
-\LWR@customizedMathJax
+{
+ \LWR@print@ttfamily
+ \LWR@customizedMathJax
+}
\LWR@startpars
\end{BlockClass}
-\typeout{---}
\LWR@startpars
}{}
@@ -6568,6 +7212,26 @@ end -- not --version
\begin{warpHTML}
+\newcommand*{\LWR@createfooter}{%
+ \ifnumless{\value{LWR@htmlseqfilenumber}}{1}{%
+ \ifdefempty{\LWR@firstpagebottom}{}{%
+ \LWR@htmlelement{footer}
+
+ \LWR@firstpagebottom
+
+ \LWR@htmlelementend{footer}
+ }%
+ }{%
+ \ifdefempty{\LWR@pagebottom}{}{%
+ \LWR@htmlelement{footer}
+
+ \LWR@pagebottom
+
+ \LWR@htmlelementend{footer}
+ }%
+ }%
+}
+
\newcommand*{\LWR@newhtmlfile}[1]{
\LWR@traceinfo{LWR@newhtmlfile}
\LWR@htmlelementclassend{section}{textbody}
@@ -6576,17 +7240,7 @@ end -- not --version
\LWR@printpendingfootnotes
-\ifbool{FormatEPUB}
-{}
-{
- \ifdefempty{\LWR@pagebottom}{}{%
- \LWR@htmlelement{footer}
-
- \LWR@pagebottom
-
- \LWR@htmlelementend{footer}
- }
-}
+\ifbool{FormatEPUB}{}{\LWR@createfooter}
\ifthenelse{\boolean{FormatEPUB}\OR\boolean{FormatWP}}
{}
{\ifnumcomp{\value{LWR@htmlfilenumber}}{>}{0}{\LWR@botnavigation}{}}
@@ -6595,9 +7249,9 @@ end -- not --version
\LWR@htmltag{/body}\LWR@orignewline
\LWR@htmltag{/html}\LWR@orignewline
\LWR@traceinfo{LWR@newhtmlfile: about to LWR@orignewpage}
-\LWR@orignewpage
-
+\LWR@maybe@orignewpage
\addtocounter{LWR@htmlfilenumber}{1}%
+\addtocounter{LWR@htmlseqfilenumber}{1}%
\ifbool{FileSectionNames}%
{%
\LWR@filenamenoblanks{#1}%
@@ -6605,23 +7259,25 @@ end -- not --version
\ifcsundef{LWR@filename\LWR@hashedname}{%
\csdef{LWR@filename\LWR@hashedname}{}%
}{%
- \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@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@avoiddupfilenames%
+ }%
+ }%
+}%
{\renewcommand*{\LWR@thisfilename}{\arabic{LWR@htmlfilenumber}}}
\LWR@traceinfo{LWR@newhtmlfile: about to print start file}%
\begingroup%
@@ -6660,7 +7316,7 @@ end -- not --version
\LWR@htmlelementclass{div}{bodycontainer}
\LWR@htmlelementclass{section}{textbody}
-
+\boolfalse{LWR@setseqfilelabel}
\ifthenelse{\boolean{FormatEPUB}\OR\boolean{FormatWP}}%
{}%
{%
@@ -6735,12 +7391,16 @@ end -- not --version
\let\@chapcntformat\@seccntformat
\let\@partcntformat\@seccntformat
\newcommand*{\@partnameformat}{\LWR@isolate{\partname}~}%
+\newcommand*{\LWR@printchaptername}{%
+ \ifdefvoid{\chaptername}{}{\chaptername~}%
+}
\newcounter{LWR@currentautosec}
\setcounter{LWR@currentautosec}{1}
\DeclareDocumentCommand{\LWR@section}{m m m m}{%
\IfValueTF{#2}%
{\LWR@traceinfo{LWR@section: starting #4 #2}}%
{\LWR@traceinfo{LWR@section: starting #4 #3}}%
+ \LWR@spanwarninvalid{section}%
\LWR@maybeprintpendingfootnotes{\csuse{LWR@depth#4}}%
\LWR@stoppars%
\LWR@startnewdepth{#4}%
@@ -6776,7 +7436,7 @@ end -- not --version
}% new file
{% not new file
\LWR@traceinfo{LWR@section: not a new HTML file, about to LWR@orignewpage}%
- \LWR@orignewpage%
+ \LWR@maybe@orignewpage%
}% not new file
\IfValueT{#3}{%
@@ -6869,14 +7529,17 @@ end -- not --version
{\protect\LWR@sectionnumber{\@partcntformat{#4}}}%
{%
\ifstrequal{#4}{chapter}%
- {\protect\LWR@sectionnumber{\@chapcntformat{#4}}}%
+ {%
+ \LWR@printchaptername%
+ \protect\LWR@sectionnumber{\@chapcntformat{#4}}%
+ }%
{\protect\LWR@sectionnumber{\@seccntformat{#4}}}%
}%
}%
{}%
\LWR@traceinfo{LWR@section: finished print section number}%
}{}%
-}% end of not starred
+}% not starred
\LWR@traceinfo{LWR@section: about to print the section name}%
\LWR@isolate{#3}%
\LWR@traceinfo{LWR@section: about to close the heading tag}%
@@ -6885,6 +7548,10 @@ end -- not --version
\LWR@traceinfo{LWR@section: about to create the LaTeX label}%
\setcounter{LWR@latestautopage}{\value{page}}%
\LWR@newautopagelabel{LWR@currentautosec}\LWR@orignewline%
+\ifbool{LWR@setseqfilelabel}{}{%
+ \label{\BaseJobname-autofile-\arabic{LWR@htmlseqfilenumber}}%
+ \booltrue{LWR@setseqfilelabel}%
+}%
\ifthenelse{%
\cnttest{\@nameuse{LWR@depth#4}}{<}{\LWR@depthparagraph}%
}%
@@ -6987,20 +7654,20 @@ end -- not --version
\newcommand*{\LWR@currentHTMLLanguage}{en-US}
\newcommand*{\HTMLLanguage}[1]{%
-\renewcommand*{\LWR@currentHTMLLanguage}{#1}%
+ \renewcommand*{\LWR@currentHTMLLanguage}{#1}%
}
\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%
@@ -7029,6 +7696,14 @@ end -- not --version
\begingroup%
\LWR@nullfonts%
\edef\theHTMLSection{#1}%
+\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]
+\IfBeginWith{\theHTMLSection}{\detokenize{-}}{%
+ \StrGobbleLeft{\theHTMLSection}{1}[\theHTMLSection]%
+}{}%
\LWR@htmltag{!DOCTYPE html}\LWR@orignewline
\LWR@htmltag{%
html lang=\LWR@orig@textquotedbl\LWR@currentHTMLLanguage\LWR@orig@textquotedbl%
@@ -7091,7 +7766,17 @@ end -- not --version
\begingroup%
\LWR@restoreoriglists%
\boolfalse{LWR@verbtags}%
- \verbatiminput{\LWR@mathjaxfilename}%
+ \IfFileExists{\LWR@mathjaxfilename}%
+ {\verbatiminput{\LWR@mathjaxfilename}}%
+ {%
+ \PackageError{lwarp}%
+ {%
+ \protect\MathJaxFilename\space specified the file\MessageBreak
+ \space\space\LWR@mathjaxfilename\MessageBreak
+ which does not exist%
+ }%
+ {Specify an existing file, or remove \protect\MathJaxFilename.}%
+ }%
\booltrue{LWR@verbtags}%
\endgroup%
\LWR@stoppars%
@@ -7134,8 +7819,6 @@ end -- not --version
\setlength{\abovecaptionskip}{0ex}
\renewcommand{\ps@plain}{}
\let\LWR@origcaption\caption
-\let\LWR@origltx@label\ltx@label
-\let\ltx@label\LWR@htmlmathlabel
\global\boolfalse{LWR@doingapar}
\global\boolfalse{LWR@doingstartpars}
\mainmatter
@@ -7154,12 +7837,27 @@ end -- not --version
\LWR@htmlelementclass{div}{bodycontainer}
\LWR@traceinfo{LWR@lwarpStart: Generating textbody.}
\LWR@htmlelementclass{section}{textbody}
+\booltrue{LWR@setseqfilelabel}%
+\label{\BaseJobname-autofile-\arabic{LWR@htmlseqfilenumber}}
\LWR@patchlists
\catcode`\$=\active
\immediate\write\@mainaux{\catcode`\string$\active}%
\LetLtxMacro\LWR@syntaxhighlightone$% balance for editor syntax highlighting
\LWR@startpars
+\ifbool{mathjax}{
+ \typeout{---}
+ \typeout{Package lwarp:}
+ \typeout{Processing MathJax customizations for the first HTML page.}
+ \typeout{Later HTML pages will take the same amount of time.}
+ \typeout{If this takes too long, see the Lwarp manual regarding customizing MathJax.}
+}{}
+
\LWR@customizeMathJax
+
+\ifbool{mathjax}{
+ \typeout{Done.}
+ \typeout{---}
+}{}
\setcounter{LWR@latestautopage}{\value{page}}%
\LWR@newautopagelabel{LWR@currentautosec}%
\LWR@traceinfo{LWR@lwarpStart: done}
@@ -7185,17 +7883,12 @@ end -- not --version
\LWR@stoppars
\LWR@closeprevious{finished}
+\label{\BaseJobname-autofile-last}
\LWR@htmlelementclassend{section}{textbody}
\LWR@htmlelementclassend{div}{bodycontainer}
\LWR@htmlelementclassend{div}{bodyandsidetoc}
\LWR@printpendingfootnotes
-\ifdefempty{\LWR@pagebottom}{}{%
- \LWR@htmlelement{footer}
-
- \LWR@pagebottom
-
- \LWR@htmlelementend{footer}
-}
+\ifbool{FormatEPUB}{}{\LWR@createfooter}
\ifthenelse{\boolean{FormatEPUB}\OR\boolean{FormatWP}}
{}
@@ -7205,37 +7898,67 @@ end -- not --version
\LWR@stoppars% final stop of all paragraphs
\LWR@htmltag{/body}\LWR@orignewline
\LWR@htmltag{/html}\LWR@orignewline
-\LWR@orignewpage
+\LWR@maybe@orignewpage
}
-\xpatchcmd{\enddocument}
- {%
- \if@tempswa
- \@latex@warning@no@line{Label(s) may have changed.
- Rerun to get cross-references right}%
- \fi
- }
- {%
- \if@tempswa
- \@latex@warning@no@line{Label(s) may have changed.
- Rerun to get cross-references right}%
- \else
+\ifdef{\AddToHook}{% newer kernel
+ \AddToHook{enddocument/info}{%
+ \if@filesw
+ \ifx \@multiplelabels \relax
+ \if@tempswa
+ \else
\immediate\write\LWR@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@tempswa
+ \@latex@warning@no@line{Label(s) may have changed.
+ Rerun to get cross-references right}%
+ \fi
+ }
+ {%
+ \if@tempswa
+ \@latex@warning@no@line{Label(s) may have changed.
+ Rerun to get cross-references right}%
+ \else
+ \immediate\write\LWR@lateximagesfile{%
+ |end|end|end|%
+ }%
+ \fi
+ }
+ {}
+ {
+ \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
+
+\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{warpHTML}
@@ -7274,9 +7997,13 @@ end -- not --version
\LWR@printpendingfootnotes
}
\end{warpHTML}
-\begin{warpall}
+\begin{warpprint}
+\newcommand*{\printthanks}{\@thanks}
+\end{warpprint}
+
+\begin{warpHTML}
\newcommand*{\printthanks}{\LWR@stoppars\@thanks\LWR@startpars}
-\end{warpall}
+\end{warpHTML}
\begin{warpHTML}
\newcommand*{\printtitle}
@@ -7352,10 +8079,19 @@ end -- not --version
}%
}
-\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@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@formatted{@fnsymbol}
\renewcommand*{\maketitle}{%
\begin{titlepage}
\LWR@maketitlesetup
@@ -7433,10 +8169,12 @@ end -- not --version
}%
}% yes titling package
{% no titling package
- \newcommand{\published}[1]{}%
- \newcommand*{\printpublished}{}%
- \newcommand{\subtitle}{}%
- \newcommand*{\printsubtitle}%
+ \def\@published{}%
+ \DeclareDocumentCommand{\published}{m}{\gdef\@published{##1}}%
+ \DeclareDocumentCommand{\printpublished}{}{}%
+ \def\@subtitle{}%
+ \DeclareDocumentCommand{\subtitle}{m}{\gdef\@subtitle{##1}}%
+ \DeclareDocumentCommand{\printsubtitle}{}{}%
}% no titling package
}% \AddSubtitlePublished
@@ -7447,55 +8185,60 @@ end -- not --version
\providecommand*{\abstractname}{Abstract}
\DeclareDocumentEnvironment{abstract}{O{\abstractname}}
{
-\LWR@forcenewpage
-\BlockClass{abstract}
-\BlockClassSingle{abstracttitle}{#1}
+ \LWR@forcenewpage
+ \BlockClass{abstract}
+ \BlockClassSingle{abstracttitle}{#1}
}
{
-\endBlockClass
+ \endBlockClass
}
\end{warpHTML}
+\begin{warpall}
+\newcommand{\attribution}[1]{
+ \begin{flushright}
+ \unskip
+ #1
+ \end{flushright}%
+}
+\end{warpall}
\begin{warpHTML}
-\newcommand{\attribution}[1]{%
+\newcommand{\LWR@HTML@attribution}[1]{%
\LWR@stoppars%
\begin{BlockClass}{attribution}
#1
\end{BlockClass}
\LWR@startpars%
}
+\LWR@formatted{attribution}
\end{warpHTML}
-\begin{warpprint}
-\newcommand{\attribution}[1]{
- \begin{flushright}
- \unskip
- #1
- \end{flushright}%
-}
-\end{warpprint}
\begin{warpHTML}
-\renewenvironment*{quote}
+\newenvironment*{LWR@HTML@quote}
{
\LWR@forcenewpage
\LWR@htmlblocktag{blockquote}
}
{\LWR@htmlblocktag{/blockquote}}
-\renewenvironment*{quotation}
+
+\LWR@formattedenv{quote}
+\newenvironment*{LWR@HTML@quotation}
{
\LWR@forcenewpage
\LWR@htmlblocktag{blockquote}
}
{\LWR@htmlblocktag{/blockquote}}
+\LWR@formattedenv{quotation}
+
\end{warpHTML}
\begin{warpHTML}
-\renewenvironment{verse}
+\newenvironment{LWR@HTML@verse}
{\let\\\newline% lwarp
\list{}{\itemsep \z@
\itemindent -1.5em%
@@ -7504,6 +8247,8 @@ end -- not --version
\advance\leftmargin 1.5em}%
\item\relax}
{\endlist}
+
+\LWR@formattedenv{verse}
\end{warpHTML}
\begin{warpall}
@@ -7527,64 +8272,96 @@ end -- not --version
\newbool{LWR@verbtags}
\booltrue{LWR@verbtags}
-\newcommand*{\LWR@atbeginverbatim}[3][]
+\LetLtxMacro\LWR@orig@verb@egroup\verb@egroup
+
+\def\LWR@verb@egroup@endspan{%
+ \LWR@orig@verb@egroup%
+ \LWR@htmltag{/span}%
+ \endgroup%
+}
+\xpretocmd{\verb}
+ {%
+ \begingroup%
+ \LWR@htmltag{span class=\textquotedbl{}texttt\textquotedbl}%
+ \let\verb@egroup\LWR@verb@egroup@endspan%
+ }
+ {}
+ {\LWR@patcherror{LaTeX}{verb}}
+
+\newcommand*{\LWR@atbeginverbatim}[2][]
{%
-\setlength{\parskip}{0ex}%
\LWR@stoppars%
+\setlength{\parskip}{0ex}%
+\setlength{\topsep}{0pt}%
+\setlength{\partopsep}{0pt}%
\ifbool{LWR@verbtags}{%
- \LWR@htmltag{pre class=\textquotedbl#3\textquotedbl%
+ \LWR@htmltag{pre class=\textquotedbl#2\textquotedbl%
\ifthenelse{\equal{#1}{}}{}{ style=\textquotedbl#1\textquotedbl}%
}%
- \LWR@orignewline% pre
- \leavevmode\unskip\LWR@print@vspace*{-#2\baselineskip}%
+ \par%
}{}%
\begingroup%
+\LWR@print@normalfont%
\LWR@origttfamily%
-\LWR@print@small%
+\LWR@print@scriptsize%
\LWR@restoreoriglists%
-\LWR@FBcancel%
+\LWR@hook@processingtags%
\LWR@select@print@hspace%
}
-\newcommand*{\LWR@afterendverbatim}[1]{%
+\newcommand*{\LWR@afterendverbatim}{%
\endgroup%
\par%
\ifbool{LWR@verbtags}{%
- \LWR@print@vspace*{-#1\baselineskip}%
- \noindent\LWR@htmltag{/pre}\LWR@orignewline% pre
+ \noindent\LWR@htmltag{/pre}\par% pre
}{}%
\LWR@startpars%
}
-\let\LWRV@origverbatim@input\verbatim@input
-
-\renewcommand{\verbatim@input}[2]{%
-\ifbool{LWR@verbtags}{\LWR@forcenewpage}{}%
-\LWR@atbeginverbatim{2.5}{Verbatim}%
-\LWRV@origverbatim@input{#1}{#2}%
-\LWR@afterendverbatim{1.5}%
+\newcommand{\LWR@HTML@verbatim@input}[2]{%
+ \ifbool{LWR@verbtags}{\LWR@forcenewpage}{}%
+ \LWR@atbeginverbatim{Verbatim}%
+ \LWR@print@verbatim@input{#1}{#2}%
+ \LWR@afterendverbatim%
}
+\LWR@formatted{verbatim@input}
+
\AfterEndPreamble{
\LWR@traceinfo{Patching verbatim.}
\AtBeginEnvironment{verbatim}{%
-\LWR@forcenewpage%
-\LWR@atbeginverbatim{2.5}{verbatim}%
+ \ifnumcomp{\value{LWR@lateximagedepth}}{>}{0}%
+ {}%
+ {%
+ \LWR@forcenewpage%
+ \LWR@atbeginverbatim{verbatim}%
+ }%
}
\AfterEndEnvironment{verbatim}{%
- \LWR@afterendverbatim{1}%
+ \ifnumcomp{\value{LWR@lateximagedepth}}{>}{0}%
+ {}%
+ {%
+ \LWR@afterendverbatim%
+ }%
}
}
\newcommand*{\LWR@HTML@tabbing}{%
-\LWR@forcenewpage%
-\LWR@atbeginverbatim{3}{tabbing}%
-\LWR@print@tabbing%
+ \LWR@forcenewpage%
+ \LWR@atbeginverbatim{tabbing}%
+ \let\enskip\LWR@origenskip%
+ \let\quad\LWR@origquad%
+ \let\qquad\LWR@origqquad%
+ \let~\LWR@origtilde%
+ \let\,\LWR@origcomma%
+ \let\thinspace\LWR@origthinspace%
+ \let\negthinspace\LWR@orignegthinspace%
+ \LWR@print@tabbing%
}
\newcommand*{\LWR@HTML@endtabbing}{%
\LWR@print@endtabbing%
- \LWR@afterendverbatim{1}%
+ \LWR@afterendverbatim%
}
\LWR@formatted{tabbing}
@@ -7594,18 +8371,19 @@ end -- not --version
\begin{warpHTML}
-
\renewcommand{\@begintheorem}[2]{%
\LWR@forcenewpage
\BlockClass{theoremcontents}
\trivlist
\item[\InlineClass{theoremlabel}{#1\ #2\ }]\itshape
}
-\renewcommand{\@opargbegintheorem}[3]{%
-\LWR@forcenewpage
-\BlockClass{theoremcontents}
-\trivlist
-\item[\InlineClass{theoremlabel}{#1\ #2\ (#3)\ }]\itshape
+\ifundef{\@opargbegintheorem}{}{
+ \renewcommand{\@opargbegintheorem}[3]{%
+ \LWR@forcenewpage
+ \BlockClass{theoremcontents}
+ \trivlist
+ \item[\InlineClass{theoremlabel}{#1\ #2\ (#3)\ }]\itshape
+ }
}
\renewcommand*{\@endtheorem}{%
\endtrivlist
@@ -7618,7 +8396,9 @@ end -- not --version
\newcommand*{\LWR@printcloselist}{\LWR@printcloseitemize}
-\newcommand*{\LWR@printopenlist}{ul style="\LWR@print@mbox{list-style-type:none}"}
+\newcommand*{\LWR@printopenlist}{%
+ ul style=\textquotedbl\LWR@print@mbox{list-style-type:none}\textquotedbl{}%
+}
\AtBeginDocument{
\def\@mklab#1{%
@@ -7714,7 +8494,9 @@ end -- not --version
\newcommand*{\LWR@itemizestart}{%
\renewcommand*{\LWR@printcloselist}{\LWR@printcloseitemize}
-\renewcommand*{\LWR@printopenlist}{ul style="\LWR@print@mbox{list-style-type:none}"}
+\renewcommand*{\LWR@printopenlist}{%
+ ul style=\textquotedbl\LWR@print@mbox{list-style-type:none}\textquotedbl{}%
+}
\let\item\LWR@itemizeitem%
\LWR@nulllistfills%
}
@@ -7723,7 +8505,9 @@ end -- not --version
\newcommand*{\LWR@enumeratestart}{%
\renewcommand*{\LWR@printcloselist}{\LWR@printcloseitemize}
-\renewcommand*{\LWR@printopenlist}{ul style="\LWR@print@mbox{list-style-type:none}"}
+\renewcommand*{\LWR@printopenlist}{%
+ ul style=\textquotedbl\LWR@print@mbox{list-style-type:none}\textquotedbl{}%
+}
\let\item\LWR@itemizeitem%
\LWR@nulllistfills%
}
@@ -7787,22 +8571,22 @@ end -- not --version
}
\newcommand*{\LWR@restoreoriglists}{%
-\LWR@traceinfo{LWR@restoreoriglists}%
-\LetLtxMacro\item\LWR@origitem%
-\LetLtxMacro\@item\LWR@orig@item%
-\let\@trivlist\LWR@orig@trivlist%
-\let\trivlist\LWR@origtrivlist%
-\let\endtrivlist\LWR@origendtrivlist%
-\LetLtxMacro\itemize\LWR@origitemize%
-\LetLtxMacro\enditemize\LWR@endorigitemize%
-\LetLtxMacro\enumerate\LWR@origenumerate%
-\LetLtxMacro\endenumerate\LWR@endorigenumerate%
-\LetLtxMacro\description\LWR@origdescription%
-\LetLtxMacro\enddescription\LWR@endorigdescription%
-\let\@mklab\LWR@orig@mklab%
-\let\makelabel\LWR@origmakelabel%
-\let\@donoparitem\LWR@orig@donoparitem%
-\let\@nbitem\LWR@orig@nbitem%
+ \LWR@traceinfo{LWR@restoreoriglists}%
+ \LetLtxMacro\item\LWR@origitem%
+ \LetLtxMacro\@item\LWR@orig@item%
+ \let\@trivlist\LWR@orig@trivlist%
+ \let\trivlist\LWR@origtrivlist%
+ \let\endtrivlist\LWR@origendtrivlist%
+ \LetLtxMacro\itemize\LWR@origitemize%
+ \LetLtxMacro\enditemize\LWR@endorigitemize%
+ \LetLtxMacro\enumerate\LWR@origenumerate%
+ \LetLtxMacro\endenumerate\LWR@endorigenumerate%
+ \LetLtxMacro\description\LWR@origdescription%
+ \LetLtxMacro\enddescription\LWR@endorigdescription%
+ \let\@mklab\LWR@orig@mklab%
+ \let\makelabel\LWR@origmakelabel%
+ \let\@donoparitem\LWR@orig@donoparitem%
+ \let\@nbitem\LWR@orig@nbitem%
}
\end{warpHTML}
@@ -8393,19 +9177,19 @@ end -- not --version
test{\ifnumcomp{\value{LWR@hdashedlines}}{>}{0}}%
}%
{%
- \LWR@htmltag{tr class="hline" }%
+ \LWR@htmltag{tr class=\textquotedbl{}hline\textquotedbl }%
\LWR@orignewline%
}%
{% not doing hline
\ifbool{LWR@doingtbrule}%
{%
\ifdefvoid{\LWR@ruleHTMLcolor}{%
- \LWR@htmltag{tr class="tbrule"}%
+ \LWR@htmltag{tr class=\textquotedbl{}tbrule\textquotedbl}%
}{%
\LWR@htmltag{%
- tr class="tbrule" % space
- style="border-top: 1px solid % space
- \LWR@origpound\LWR@ruleHTMLcolor "%
+ tr class=\textquotedbl{}tbrule\textquotedbl\ % space
+ style=\textquotedbl{}border-top: 1px solid % space
+ \LWR@origpound\LWR@ruleHTMLcolor \textquotedbl{}%
}%
}%
\LWR@orignewline%
@@ -8435,10 +9219,10 @@ end -- not --version
{}%
{% not empty
\LWR@htmltag{%
- td class="td#1%
+ td class=\textquotedbl{}td#1%
\LWR@subaddcmidruletrim{}{}%
\LWR@printbartag{#2}%
- "%
+ \textquotedbl{}%
\LWR@tdstartstyles%
\LWR@addcmidrulewidth%
\LWR@addcdashline%
@@ -8485,12 +9269,12 @@ end -- not --version
}%
\LWR@traceinfo{LWR@tabledatasinglecolumntag: about to print td tag}%
\LWR@htmltag{%
- td class="td%
+ td class=\textquotedbl{}td%
\LWR@strresult%
\LWR@addcmidruletrim%
\LWR@addleftmostbartag%
\LWR@printbartag{\arabic{LWR@tableLaTeXcolindex}}%
- "%
+ \textquotedbl{}%
\LWR@tdstartstyles%
\LWR@addcmidrulewidth%
\LWR@addcdashline%
@@ -8606,24 +9390,19 @@ end -- not --version
\LWR@subcdashline#1%
}
-\newlength{\LWR@templengthone}
-\newlength{\LWR@templengthtwo}
-\newlength{\LWR@templengththree}
-\newcounter{LWR@tempcountone}
-
\newcommand*{\LWR@tdstartstyles}{\boolfalse{LWR@tdhavecellstyle}}
\newcommand*{\LWR@tdaddstyle}{%
\ifbool{LWR@tdhavecellstyle}%
{; }%
- { style="}%
+ { style=\textquotedbl}%
\booltrue{LWR@tdhavecellstyle}%
}
\newcommand*{\LWR@tdendstyles}{%
\ifbool{LWR@tdhavecellstyle}%
{%
- "%
+ \textquotedbl%
\boolfalse{LWR@tdhavecellstyle}%
}{}%
}
@@ -8824,9 +9603,11 @@ end -- not --version
}
\newcommand*{\LWR@subaddtabularcellcolor}[1]{%
- \LWR@htmltag{div class="cellcolor" style="%
+ \LWR@htmltag{div class=\textquotedbl{}cellcolor\textquotedbl\ % space
+ style=\textquotedbl{}%
background:\LWR@origpound{}{}#1 %
- " }%
+ \textquotedbl\ %
+ }% space
\defaddtocounter{LWR@cellcolordepth}{1}%
}
@@ -9017,17 +9798,11 @@ end -- not --version
\defaddtocounter{LWR@lastmulticolumn}{-1}%
\LWR@maybenewtablerow%
\LWR@htmltag{%
- td colspan="#4" %
+ td colspan=\textquotedbl#4\textquotedbl\ %
\IfValueT{#2}{ % rows?
- rowspan="#2" %
- \IfValueT{#1}{% vpos?
- \ifstrequal{#1}{b}%
- {style="\LWR@print@mbox{vertical-align:bottom}" }{}%
- \ifstrequal{#1}{t}%
- {style="\LWR@print@mbox{vertical-align:top}" }{}%
- }% vpos?
- }% rows?
- class="td%
+ rowspan=\textquotedbl#2\textquotedbl\ %
+ }%
+ class=\textquotedbl{}td%
\defcounter{LWR@mcolvertbarsl}{0}%
\defcounter{LWR@mcolvertbarsr}{0}%
\defcounter{LWR@mcolvertbarsldash}{0}%
@@ -9053,8 +9828,20 @@ end -- not --version
\ifnumcomp{\value{LWR@mcolvertbarsrdash}}{=}{1}{ tvertbarrdash}{}%
\ifnumcomp{\value{LWR@mcolvertbarsrdash}}{>}{1}%
{ tvertbarrdoubledash}{}%
- "%
+ \textquotedbl{}%
\LWR@tdstartstyles%
+ \IfValueT{#1}{% vpos?
+ \ifstrequal{#1}{b}%
+ {%
+ \LWR@tdaddstyle%
+ \LWR@print@mbox{vertical-align:bottom}%
+ }{}%
+ \ifstrequal{#1}{t}%
+ {%
+ \LWR@tdaddstyle%
+ \LWR@print@mbox{vertical-align:top}%
+ }{}%
+ }% vpos?
\LWR@addtabularrowcolor%
\LWR@addcmidrulewidth%
\LWR@addcdashline%
@@ -9412,16 +10199,7 @@ end -- not --version
\NewDocumentCommand{\LWR@HTML@@tabular}{d<> o m}
{%
\LWR@traceinfo{LWR@HTML@@tabular started}%
- \ifnumcomp{\value{LWR@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@spanwarnformat{tabular}%
\addtocounter{LWR@tabulardepth}{1}%
\boolfalse{LWR@startedrow}%
\defcounter{LWR@hlines}{0}%
@@ -9540,7 +10318,7 @@ end -- not --version
}{}%
\ifbool{LWR@usedmultirow}{%
\ifbool{LWR@foundmrowcell}%
- {}%
+ {\relax}%
{%
\PackageError{lwarp}%
{%
@@ -9577,7 +10355,7 @@ end -- not --version
\begin{warpHTML}
-\providecommand*{\@currentlabelname}{}
+\def\@currentlabelname{\linkhomename}%
\def\LWR@stripperiod#1.\ltx@empty#2\@nil{#1}%
\newcommand*{\LWR@setlatestname}[1]{%
\GetTitleStringExpand{#1}%
@@ -9606,8 +10384,8 @@ end -- not --version
\newcommand*{\LWR@lateximagenumberref}[1]{%
\expandafter\LWR@setref\csname r@#1@lwarp\endcsname\LWR@fourthoffour{#1}%
}
-\newcommand*{\LWR@lwarplabel}[1]{%
- \LWR@traceinfo{LWR@lwarplabel !#1!}%
+\newcommand*{\LWR@write@lwarplabel}[1]{%
+ \LWR@traceinfo{LWR@write@lwarplabel !#1!}%
\LWR@setlatestname{\@currentlabelname}%
\@bsphack%
\protected@write\@auxout{}%
@@ -9627,36 +10405,59 @@ end -- not --version
}
-\newcommand*{\LWR@sublabel}[1]{%
- \LWR@traceinfo{LWR@sublabel !#1!}%
+\newcommand*{\LWR@label@subcreatetag}{%
+ \LWR@htmltag{a \LWR@print@mbox{id=\textquotedbl\LWR@sanitized\textquotedbl}}%
+ \LWR@htmltag{/a}%
+}
+
+\newcommand*{\LWR@label@inmathcomment}{%
+ \ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
+ {%
+ \mbox{%
+ \ifdef{\totwidth@}{\ifbool{LWR@amsmultline}{}{\hspace*{\totwidth@}}}{}%
+ \LWR@htmlclosecomment%
+ \LWR@label@subcreatetag%
+ \LWR@htmlopencomment%
+ }% mbox
+ }% mathjax
+ {%
+ \LWR@label@subcreatetag%
+ }%
+}
+
+\newcommand*{\LWR@label@createtag}[1]{%
+ \LWR@traceinfo{LWR@label@createtag !#1!}%
\ifnumcomp{\value{LWR@lateximagedepth}}{>}{0}%
{}%
{% not lateximage
\LWR@sanitize{#1}%
- \ifbool{LWR@doingstartpars}%
- {% pars allowed
- \ifbool{LWR@doingapar}%
- {% par started
- \LWR@htmltag{a \LWR@print@mbox{id="\LWR@sanitized"}}%
- \LWR@htmltag{/a}%
- }% par started
- {% par not started
- \LWR@stoppars%
- \LWR@htmltag{a \LWR@print@mbox{id="\LWR@sanitized"}}%
- \LWR@htmltag{/a}%
- \LWR@startpars%
- }% par not started
- }% pars allowed
- {% pars not allowed
- \LWR@htmltag{a \LWR@print@mbox{id="\LWR@sanitized"}}%
- \LWR@htmltag{/a}%
- }% pars not allowed
+ \ifbool{LWR@insidemathcomment}%
+ {% inside HTML math comment
+ \LWR@label@inmathcomment%
+ }% inside HTML math comment
+ {% not inside HTML math comment
+ \ifbool{LWR@doingstartpars}%
+ {% pars allowed
+ \ifbool{LWR@doingapar}%
+ {% par started
+ \LWR@label@subcreatetag%
+ }% par started
+ {% par not started
+ \LWR@stoppars%
+ \LWR@label@subcreatetag%
+ \LWR@startpars%
+ }% par not started
+ }% pars allowed
+ {% pars not allowed
+ \LWR@label@subcreatetag%
+ }% pars not allowed
+ }% not inside HTML math comment
}% not lateximage
}
-\NewDocumentCommand{\LWR@new@label}{d() m o}{%
+\NewDocumentCommand{\LWR@new@label}{m}{%
\LWR@traceinfo{LWR@new@label: starting}%
- \LWR@traceinfo{LWR@new@label: !#2!}%
- \LWR@orig@label{#2}%
+ \LWR@traceinfo{LWR@new@label: !#1!}%
+ \LWR@orig@label{#1}%
\LWR@traceinfo{%
LWR@new@label: filesectionnames is %
\ifbool{FileSectionNames}{true}{false}%
@@ -9667,8 +10468,8 @@ end -- not --version
\LWR@traceinfo{%
LWR@new@label: LWR@htmlfilenumber is \arabic{LWR@htmlfilenumber}%
}%
- \LWR@lwarplabel{#2}%
- \LWR@sublabel{#2}%
+ \LWR@write@lwarplabel{#1}%
+ \LWR@label@createtag{#1}%
% \@esphack%
\LWR@traceinfo{LWR@new@label: done}%
}
@@ -9676,7 +10477,7 @@ end -- not --version
\newcommand*{\LWR@addlinktitle}{%
\ifdefvoid{\LWR@ThisAltText}{}{ % space
- title="\LWR@ThisAltText" % space
+ title=\textquotedbl\LWR@ThisAltText\textquotedbl\ % space
\gdef\LWR@ThisAltText{}%
}%
}
@@ -9685,7 +10486,7 @@ end -- not --version
{%
\LWR@sanitize{#1}%
\LWR@traceinfo{LWR@startref A: !#1!}%
- \LWR@htmltag{a href="%
+ \LWR@htmltag{a href=\textquotedbl%
\LWR@traceinfo{LWR@startref B}%
\LWR@print@mbox{\LWR@htmlrefsectionfilename{#1}}%
\LWR@traceinfo{LWR@startref C}%
@@ -9699,7 +10500,7 @@ end -- not --version
{%
\ifthenelse{\cnttest{\LWR@lateximagedepthref{#1}}{>}{0}}%
{%
- \LWR@ImagesName\LWR@lateximagenumberref{#1}%
+ lateximage-\BaseJobname-\LWR@lateximagenumberref{#1}%
}%
{%
\LWR@traceinfo{LWR@startref D3}%
@@ -9707,7 +10508,7 @@ end -- not --version
}%
}%
\LWR@traceinfo{LWR@startref E}%
- "%
+ \textquotedbl%
\LWR@addlinktitle%
}%
\LWR@traceinfo{LWR@startref F}%
@@ -9720,6 +10521,7 @@ end -- not --version
\LWR@htmltag{/a}%
}
+\LWR@absorbstar{ref}%
\NewDocumentCommand{\LWR@HTML@ref}{s m}{%
\LWR@traceinfo{LWR@HTML@ref !#2!}%
\IfBooleanTF{#1}%
@@ -9728,10 +10530,8 @@ end -- not --version
}
\LWR@formatted{ref}
-\NewDocumentCommand{\LWR@ref@ignorestar}{s m}{%
- \LWR@print@ref{#2}%
-}
-
+\CustomizeMathJax{\let\LWRref\ref}
+\CustomizeMathJax{\renewcommand{\ref}{\ifstar\LWRref\LWRref}}
\newcommand*{\pagerefPageFor}{see }
\NewDocumentCommand{\LWR@new@pageref}{s m}{%
\IfBooleanTF{#1}%
@@ -9755,11 +10555,7 @@ end -- not --version
\AtBeginDocument{
-
-\def\@currentHref{%
- autopage-\theLWR@currentautosec%
-}
-
+ \def\@currentHref{\BaseJobname-autopage-\theLWR@currentautosec}
}
\newcommand*{\LWR@linkcatcodes}{%
@@ -9768,7 +10564,7 @@ end -- not --version
\catcode`\&=12%
\catcode`\~=12%
\catcode`\_=12%
- \LWR@FBcancel%
+ \LWR@hook@processingtags%
}
\newcommand*{\LWR@linkmediacatcodes}{%
@@ -9776,16 +10572,16 @@ end -- not --version
\catcode`\%=12%
\catcode`\~=12%
\catcode`\_=12%
- \LWR@FBcancel%
+ \LWR@hook@processingtags%
}
\NewDocumentCommand{\LWR@subhyperref}{m}{%
\LWR@traceinfo{LWR@subhyperref !#1!}%
\LWR@sanitize{#1}%
\LWR@htmltag{%
- a href="\LWR@sanitized" % space
+ a href=\textquotedbl\LWR@sanitized\textquotedbl\ % space
\LWR@addlinktitle % space
- target="\_{}blank" % space
+ target=\textquotedbl\_{}blank\textquotedbl\ % space
}%
}
@@ -9798,8 +10594,8 @@ end -- not --version
\NewDocumentCommand{\LWR@subhyperrefclass}{m +m m}{%
\LWR@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@addlinktitle % space
}\LWR@orignewline%
#2%
@@ -9814,7 +10610,7 @@ end -- not --version
\LWR@subhyperreftext%
}
-\newrobustcmd*{\href}{%
+\newrobustcmd*{\LWR@href}{%
\begingroup%
\LWR@linkcatcodes%
\LWR@hrefb%
@@ -9828,7 +10624,7 @@ end -- not --version
\endgroup%
}
-\newrobustcmd*{\nolinkurl}{%
+\newrobustcmd*{\LWR@nolinkurl}{%
\begingroup%
\LWR@linkcatcodes%
\LWR@nolinkurlb%
@@ -9838,11 +10634,11 @@ end -- not --version
\LWR@ensuredoingapar%
\def\LWR@templink{#1}%
\@onelevel@sanitize\LWR@templink%
- \href{\LWR@templink}{\LWR@templink}%
+ \LWR@href{\LWR@templink}{\LWR@templink}%
\endgroup%
}
-\newrobustcmd*{\url}{%
+\newrobustcmd*{\LWR@url}{%
\begingroup%
\LWR@linkcatcodes%
\LWR@urlb%
@@ -9852,18 +10648,18 @@ end -- not --version
\ifblank{#1}%
{%
\LWR@htmltag{img \LWR@indentHTML
- src="#3.#4" \LWR@indentHTML
- alt="#3" \LWR@indentHTML
- style="#5" \LWR@indentHTML
- class="#2" \LWR@orignewline
+ src=\textquotedbl#3.#4\textquotedbl \LWR@indentHTML
+ alt=\textquotedbl#3\textquotedbl \LWR@indentHTML
+ style=\textquotedbl#5\textquotedbl \LWR@indentHTML
+ class=\textquotedbl#2\textquotedbl \LWR@orignewline
}%
}%
{%
\LWR@htmltag{img \LWR@indentHTML
- src="#3.#4" \LWR@indentHTML
- alt="#1" \LWR@indentHTML
- style="#5" \LWR@indentHTML
- class="#2" \LWR@orignewline
+ src=\textquotedbl#3.#4\textquotedbl \LWR@indentHTML
+ alt=\textquotedbl#1\textquotedbl \LWR@indentHTML
+ style=\textquotedbl#5\textquotedbl \LWR@indentHTML
+ class=\textquotedbl#2\textquotedbl \LWR@orignewline
}%
}%
}
@@ -9878,6 +10674,7 @@ end -- not --version
\begin{warpHTML}
\NewDocumentCommand{\LWR@floatbegin}{m o}{%
+ \LWR@spanwarninvalid{float}%
\ifbool{FormatWP}{\newline}{}%
\LWR@stoppars%
\addtocounter{LWR@thisautoid}{1}%
@@ -9885,22 +10682,22 @@ end -- not --version
\begingroup%
\LWR@print@raggedright%
\LWR@htmltag{%
- figure id="\LWR@print@mbox{autoid-\arabic{LWR@thisautoid}}" % space
- class="#1 \@nameuse{LWR@floatstyle@#1}"%
+ figure id=\textquotedbl%
+ \LWR@print@mbox{autoid-\arabic{LWR@thisautoid}}%
+ \textquotedbl\ % space
+ class=\textquotedbl#1 \@nameuse{LWR@floatstyle@#1}\textquotedbl%
}%
\ifbool{FormatWP}{%
\LWR@orignewline%
\LWR@BlockClassWP{}{}{wp#1}%
}{}%
\renewcommand*{\@captype}{#1}%
- \caption@settype{#1}%
\LWR@startpars%
\ifboolexpr{bool{FormatWP} and bool{WPMarkFloats}}{%
=== begin #1 ===
}{}%
- \LWR@futurenonspacelet\LWR@mynexttoken\LWR@floatalignment%
}
\AtBeginDocument{
@@ -9913,8 +10710,16 @@ end -- not --version
}{}% tocbasic
}% AtBeginDocument
-\let\@float\LWR@floatbegin
-\let\@dblfloat\LWR@floatbegin
+\AtBeginDocument{
+ \def\@xfloat #1[#2]{%
+ \LWR@floatbegin{#1}[#2]
+ \LWR@futurenonspacelet\LWR@mynexttoken\LWR@floatalignment%
+ }
+ \def\@xdblfloat #1[#2]{%
+ \LWR@floatbegin{#1}[#2]
+ \LWR@futurenonspacelet\LWR@mynexttoken\LWR@floatalignment%
+ }
+}
\newcommand*{\LWR@floatend}{%
\LWR@endfloatalignment%
\ifboolexpr{bool{FormatWP} and bool{WPMarkFloats}}{%
@@ -9930,8 +10735,10 @@ end -- not --version
\LWR@startpars%
\ifbool{FormatWP}{\newline}{}%
}
-\let\end@float\LWR@floatend
-\let\end@dblfloat\LWR@floatend
+\AtBeginDocument{
+ \let\end@float\LWR@floatend
+ \let\end@dblfloat\LWR@floatend
+}
\newcounter{LWR@thisautoid}
@@ -9942,8 +10749,21 @@ end -- not --version
\newcommand*{\LWR@forcenewautoidanchor}{%
\addtocounter{LWR@thisautoid}{1}%
- \LWR@htmltag{a id="\LWR@print@mbox{autoid-\arabic{LWR@thisautoid}}"}%
- \LWR@htmltag{/a}%
+ \ifbool{LWR@doingapar}%
+ {%
+ \LWR@htmltag{a id=\textquotedbl%
+ \LWR@print@mbox{autoid-\arabic{LWR@thisautoid}}%
+ \textquotedbl\ }% space
+ \LWR@htmltag{/a }%
+ }%
+ {%
+ \LWR@stoppars%
+ \LWR@htmltag{a id=\textquotedbl%
+ \LWR@print@mbox{autoid-\arabic{LWR@thisautoid}}%
+ \textquotedbl\ }% space
+ \LWR@htmltag{/a }%
+ \LWR@startpars%
+ }%
}
\newcommand*{\LWR@newautoidanchor}{%
@@ -9981,11 +10801,26 @@ end -- not --version
\AtBeginDocument{\providecommand*{\CaptionSeparator}{:~}}
-\AtBeginDocument{\renewcommand{\@makecaption}[2]{%
- \LWR@traceinfo{@makecaption}%
- \LWR@isolate{#1}\CaptionSeparator\LWR@isolate{#2}%
- \LWR@traceinfo{@makecaption: done}%
-}%
+\AtBeginDocument{
+ \@ifpackageloaded{caption}{}{
+ \let\LWR@orig@caption\@caption%
+ \long\def\@caption#1[#2]{%
+ \LWR@spanwarnformat{caption}%
+ \LWR@setlatestname{#2}%
+ \LWR@orig@caption{#1}[{#2}]% also takes third argument
+ }%
+
+ \renewcommand{\@makecaption}[2]{%
+ \LWR@traceinfo{@makecaption}%
+ \caption@begin{\@captype}%
+ \LWR@isolate{#1}%
+ \edef\LWR@tempone{#1}%
+ \ifdefvoid{\LWR@tempone}{}{\CaptionSeparator}%
+ \LWR@isolate{#2}%
+ \caption@end%
+ \LWR@traceinfo{@makecaption: done}%
+ }%
+ }
}
@@ -10031,27 +10866,38 @@ end -- not --version
}
\AtBeginDocument{
-\LWR@formatted{caption@begin}
-\LWR@formatted{caption@end}
+ \providecommand{\caption@begin}[1]{}
+ \LWR@formatted{caption@begin}
+
+ \providecommand{\caption@end}{}
+ \LWR@formatted{caption@end}
}
-\let\LWR@origcaptionlistentry\captionlistentry
+\AtBeginDocument{%
+\@ifpackageloaded{caption}{
+ \let\LWR@origcaptionlistentry\captionlistentry
-\renewcommand*{\captionlistentry}{%
- \LWR@ensuredoingapar%
- \LWR@origcaptionlistentry%
-}
-\def\LWR@LTcaptionlistentry{%
- \LWR@ensuredoingapar%
- \LWR@forcenewautoidanchor%
- \bgroup
- \@ifstar{\egroup\LWR@LT@captionlistentry}% gobble *
- {\egroup\LWR@LT@captionlistentry}%
-}%
+ \renewcommand*{\captionlistentry}{%
+ \LWR@ensuredoingapar%
+ \LWR@origcaptionlistentry%
+ }
+ \def\LWR@LTcaptionlistentry{%
+ \LWR@ensuredoingapar%
+ \LWR@forcenewautoidanchor%
+ \bgroup%
+ \@ifstar{\egroup\LWR@LT@captionlistentry}% gobble *
+ {\egroup\LWR@LT@captionlistentry}%
+ }%
-\def\LWR@LT@captionlistentry#1{%
- \caption@listentry\@firstoftwo[\LTcaptype]{#1}%
-}%
+ \def\LWR@LT@captionlistentry#1{%
+ \caption@listentry\@firstoftwo[\LTcaptype]{#1}%
+ }%
+}% caption loaded
+{% caption not loaded
+ \newcommand{\captionlistentry}[2][]{}%
+ \newcommand{\LWR@LT@captionlistentry}[2][]{}%
+}
+}% AtBeginDocument
\let\LWR@origaddcontentsline\addcontentsline
@@ -10069,15 +10915,15 @@ end -- not --version
}% not TOC
\LWR@origaddcontentsline{#1}{#2}{#3}%
}
-\AtBeginDocument{
+\RequirePackage{capt-of}
-\let\LWR@origcaptionof\captionof
-
-\renewcommand*{\captionof}{%
- \LWR@stoppars%
- \LWR@origcaptionof%
-}
+\AtBeginDocument{
+ \let\LWR@origcaptionof\captionof
+ \renewcommand*{\captionof}{%
+ \LWR@stoppars%
+ \LWR@origcaptionof%
+ }
}% AtBeginDocument
\end{warpHTML}
@@ -10191,7 +11037,7 @@ end -- not --version
\newcounter{SideTOCDepth}
\setcounter{SideTOCDepth}{1}
-\AtBeginDocument{%
+\AtEndDocument{%
\ifnumcomp{\value{SideTOCDepth}}{<}{\value{FileDepth}}{
\PackageWarningNoLine{lwarp}
{%
@@ -10240,7 +11086,8 @@ end -- not --version
\NewDocumentCommand{\hypertoc}{m m +m m}{%
\LWR@traceinfo{hypertoc !#1!#2!#3!#4!}%
- \ifthenelse{\cnttest{#1}{<=}{\value{tocdepth}}}%
+ \ifnumcomp{#1}{>}{\value{tocdepth}}%
+ {}%
{%
\LWR@startpars%
\LWR@subhyperrefclass{%
@@ -10250,7 +11097,6 @@ end -- not --version
\LWR@maybetocdata%
\LWR@stoppars%
}%
- {}%
\LWR@traceinfo{hypertoc done}%
}
@@ -10265,7 +11111,6 @@ end -- not --version
}
\newcommand{\hypertocfloat}[5]{%
- \LWR@startpars%
\@ifundefined{c@#3depth}{%
\newcounter{#3depth}%
\setcounter{#3depth}{1}%
@@ -10324,6 +11169,9 @@ end -- not --version
\newcounter{LWR@autoglossary}
\setcounter{LWR@autoglossary}{0}
+\newcommand*{\IndexPageSeparator}{, }
+\newcommand*{\IndexRangeSeparator}{--}
+
\@ifundefined{chapter}
{\newcommand*{\LWR@indexsection}[1]{\section*{#1}}}
{\newcommand*{\LWR@indexsection}[1]{\chapter*{#1}}}
@@ -10354,11 +11202,50 @@ end -- not --version
\InlineClass{indexsubsubitem}{\LWR@htmlcomment{}}%
}
+\NewDocumentCommand{\LWR@xindex@modifyentry}{>{\SplitArgument{1}{|}}m}
+ {\LWR@xindex@modifyentrysub#1}
+\newcommand*{\LWR@xindex@modifyentrysub}[2]{%
+ \edef\LWR@tempone{#1}%
+ \edef\LWR@temptwo{#2}%
+ \IfValueTF{#2}{%
+ \ifx#2(%
+ \appto\LWR@tempone{|(}%
+ \else%
+ \ifx#2)%
+ \appto\LWR@tempone{|)}%
+ \else%
+ \appto\LWR@tempone{%
+ |hyperindexformat\LWRleftbrace%
+ \LWRbackslash#2%
+ \LWRrightbrace%
+ }%
+ \fi%
+ \fi%
+ }%
+ {}%
+}
+
+\newbool{LWR@xindex@tricked}
+\boolfalse{LWR@xindex@tricked}
+
\def\LWR@wrindex#1{%
+ \ifbool{LWR@xindex}{%
+ \ifbool{LWR@xindex@tricked}{}{%
+ \protected@write\@indexfile{}%
+ {%
+ \LWRpercent\space hyperpage\LWRrightbrace%
+ \LWRpercent\space trick xindex to assume hyperref%
+ }%
+ \global\booltrue{LWR@xindex@tricked}%
+ }%
+ \LWR@xindex@modifyentry{#1}%
+ }{%
+ \def\LWR@tempone{#1}%
+ }%
\addtocounter{LWR@autoindex}{1}%
- \LWR@new@label{LWRindex-\arabic{LWR@autoindex}}%
+ \label{LWRindex-\arabic{LWR@autoindex}}%
\protected@write\@indexfile{}%
- {\string\indexentry{#1}{\arabic{LWR@autoindex}}}%
+ {\string\indexentry{\LWR@tempone}{\arabic{LWR@autoindex}}}%
\endgroup%
\@esphack%
}
@@ -10376,12 +11263,117 @@ end -- not --version
\@esphack%
}
-\newcommand*{\LWR@indexnameref}[1]{\nameref{LWRindex-#1}}
+\newcommand*{\LWR@indexnameref@anonref}[1]{%
+ \LWR@startref{LWRindex-#1}%
+ (*)%
+ \LWR@htmltag{/a}%
+}
+
+\newcommand*{\LWR@indexnameref@ref}[1]{%
+ \edef\LWR@thisref{\csuse{r@LWRindex-#1}}%
+ \ifdefvoid{\LWR@thisref}{}{%
+ \edef\LWR@thisref{\expandafter\@firstoftwo\LWR@thisref}%
+ \ifdefvoid{\LWR@thisref}%
+ {\LWR@indexnameref@anonref{#1}}%
+ {\ref{LWRindex-#1}}%
+ }%
+}
+
+\newcommand*{\LWR@indexnameref@refnameref}[1]{%
+ \edef\LWR@thisref{\csuse{r@LWRindex-#1}}%
+ \ifdefvoid{\LWR@thisref}{}{%
+ \edef\LWR@thisref{\expandafter\@firstoftwo\LWR@thisref}%
+ \ifdefvoid{\LWR@thisref}{}{%
+ \ifdefstring{\LWR@thisref}{(*)}%
+ {}%
+ {\ref{LWRindex-#1} }% space
+ }%
+ }%
+ \nameref{LWRindex-#1}%
+}
+
+\newcommand*{\LWR@indexnameref@cref}[1]{%
+ \edef\LWR@thisref{\csuse{r@LWRindex-#1}}%
+ \ifdefvoid{\LWR@thisref}{%
+ \nameref{LWRindex-#1}%
+ }{%
+ \edef\LWR@thisref{\expandafter\@firstoftwo\LWR@thisref}%
+ \ifdefvoid{\LWR@thisref}{%
+ \nameref{LWRindex-#1}%
+ }{%
+ \ifdefstring{\LWR@thisref}{(*)}{%
+ \LWR@indexnameref@anonref{#1}%
+ }{%
+ \cref{LWRindex-#1}%
+ }%
+ }%
+ }%
+}
+
+\newcommand*{\LWR@indexnameref@crefnameref}[1]{%
+ \edef\LWR@thisref{\csuse{r@LWRindex-#1}}%
+ \ifdefvoid{\LWR@thisref}%
+ {}%
+ {%
+ \edef\LWR@thisref{\expandafter\@firstoftwo\LWR@thisref}%
+ \ifdefvoid{\LWR@thisref}%
+ {}%
+ {%
+ \ifdefstring{\LWR@thisref}{(*)}%
+ {}%
+ {\cref{LWRindex-#1}} % space
+ }%
+ }%
+ \nameref{LWRindex-#1}%
+}
+
+\newcommand*{\LWR@indexnameref}[1]{%
+ {% group
+ \ifdef{\caption@xref}{%
+ \renewcommand*{\caption@xref}[2]{(*)}%
+ }{}%
+ \ifdefstring{\LWR@IndexRef}{ref}{%
+ \LWR@indexnameref@ref{#1}%
+ }{%
+ \ifdefstring{\LWR@IndexRef}{nameref}{%
+ \nameref{LWRindex-#1}%
+ }{%
+ \ifdefstring{\LWR@IndexRef}{refnameref}{%
+ \LWR@indexnameref@refnameref{#1}%
+ }{%
+ \ifdefstring{\LWR@IndexRef}{cref}{%
+ \LWR@indexnameref@cref{#1}%
+ }{%
+ \ifdefstring{\LWR@IndexRef}{crefnameref}{%
+ \LWR@indexnameref@crefnameref{#1}%
+ }{%
+ \ifdefstring{\LWR@IndexRef}{autoref}{%
+ \LWR@indexnameref@cref{#1}%
+ }{% text string
+ \LWR@startref{LWRindex-#1}%
+ \LWR@IndexRef%
+ \LWR@htmltag{/a}%
+ }}}}}}%
+ }% group
+}
-\newrobustcmd{\LWR@doindexentry}[1]{%
+\newrobustcmd{\LWR@doindexentrysubsub}[2]{%
\IfInteger{#1}%
{\LWR@indexnameref{#1}}%
{#1}%
+ \IfValueT{#2}{%
+ \IndexRangeSeparator%
+ \IfInteger{#2}%
+ {\LWR@indexnameref{#2}}%
+ {#2}%
+ }%
+}
+\NewDocumentCommand{\LWR@doindexentrysub}{m >{\SplitArgument{1}{#1}}m}
+ {\LWR@doindexentrysubsub#2}
+
+\newcommand*{\LWR@doindexentry}[1]{%
+ \relax% required
+ \expandafter\LWR@doindexentrysub\expandafter{\IndexRangeSeparator}{#1}%
}
\newcommand{\LWR@hyperindexrefnullified}{%
@@ -10400,8 +11392,36 @@ end -- not --version
\renewrobustcmd{\textsl}[1]{\LWR@HTML@textsl{\LWR@doindexentry{##1}}}%
}
-\newcommand{\hyperindexref}[1]{%
- \def\LWR@tempone{#1}%
+\newcommand*{\hyperindexref}[1]{%
+ \relax% required
+ \expandafter\LWR@hyperindexref@comma\expandafter{\IndexPageSeparator}{#1}%
+}
+\NewDocumentCommand{\LWR@hyperindexref@comma}
+ {m >{\SplitList{#1}} m}
+ {%
+ \def\LWR@hyperindexref@thiscomma{}%
+ \def\LWR@hyperindexref@nextcomma{#1}%
+ \ProcessList{#2}\LWR@hyperindexref@@comma%
+ }
+\newcommand*{\LWR@hyperindexref@@comma}[1]{%
+ \LWR@hyperindexref@thiscomma%
+ \renewcommand{\LWR@hyperindexref@thiscomma}{\LWR@hyperindexref@nextcomma}%
+ \expandafter\LWR@hyperindexref@range\expandafter{\IndexRangeSeparator}{#1}%
+}
+\NewDocumentCommand{\LWR@hyperindexref@range}
+ {m >{\SplitArgument{1}{#1}} m}
+ {\LWR@hyperindexrefsub#2}
+
+\newcommand*{\LWR@hyperindexrefsub}[2]{%
+ \LWR@hyperindexrefsubtwo{#1}%
+ \IfValueT{#2}{%
+ \IndexRangeSeparator%
+ \LWR@hyperindexrefsubtwo{#2}%
+ }%
+}
+
+\newcommand*{\LWR@hyperindexrefsubtwo}[1]{%
+ \edef\LWR@tempone{#1}%
\IfBeginWith{\LWR@tempone}{ }{%
\StrGobbleLeft{\LWR@tempone}{1}[\LWR@tempone]%
}{}%
@@ -10415,6 +11435,14 @@ end -- not --version
}%
}
+\LetLtxMacro\hyperpage\hyperindexref
+
+\def\nohyperpage#1{}
+
+\def\hyperindexformat#1#2{%
+ #1{\hyperpage{#2}}%
+}%
+
\end{warpHTML}
\begin{warpprint}
@@ -10425,14 +11453,6 @@ end -- not --version
\providecommand{\glo@name}{}
\end{warpall}
\begin{warpHTML}
-\def\bibliography#1{%
- \if@filesw
- \immediate\write\@auxout{\string\bibdata{#1}}%
- \fi
- \begingroup%
- \@input@{\BaseJobname.bbl}% lwarp
- \endgroup%
-}
\renewcommand{\@biblabel}[1]{[#1]\quad}
\AtBeginDocument{
@@ -10459,8 +11479,8 @@ end -- not --version
\end{warpHTML}
-
\begin{warpHTML}
+\newcommand*{\LWR@restoreMathJaxformatting}{}
\newcommand*{\LWR@restoreorigformatting}{%
\LWR@traceinfo{LWR@restoreorigformatting}%
@@ -10477,6 +11497,7 @@ end -- not --version
\let\thinspace\LWR@origthinspace% disable HTML short unbreakable space
\let\negthinspace\LWR@orignegthinspace% disable HTML negative short unbreakable space
\let\textellipsis\LWR@origtextellipsis%
+ \let\vdots\LWR@origvdots%
\let\textless\LWR@origtextless%
\let\textgreater\LWR@origtextgreater%
\let\&\LWR@origampersand%
@@ -10484,10 +11505,6 @@ end -- not --version
\LetLtxMacro\normalfont\LWR@orignormalfont%
\let\sp\LWR@origsp%
\let\sb\LWR@origsb%
- \LetLtxMacro\textsuperscript\LWR@origtextsuperscript%
- \LetLtxMacro\@textsuperscript\LWR@orig@textsuperscript%
- \LetLtxMacro\textsubscript\LWR@origtextsubscript%
- \LetLtxMacro\@textsubscript\LWR@orig@textsubscript%
\LetLtxMacro\underline\LWR@origunderline%
\let~\LWR@origtilde%
\let\enskip\LWR@origenskip%
@@ -10506,7 +11523,144 @@ end -- not --version
\let\enddisplaymath\LWR@orig@enddisplaymath%
\LWR@restoreorigaccents%
\LWR@restoreoriglists%
- \LWR@FBcancel%
+ \LWR@hook@processingtags%
+ \ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
+ {\LWR@restoreMathJaxformatting}%
+ {}%
+}
+\end{warpHTML}
+\begin{warpHTML}
+\newcommand*{\LWR@dash}{-}
+\catcode`\$=\active% redefining $ below
+\catcode`\_=12% redefining \_ below
+\newcommand*{\LWR@nullfonts}{%
+ \renewcommand*{\$}{-}%
+ \renewcommand*{\%}{-}%
+ \renewcommand*{\_}{-}%
+ \renewcommand*{\}}{-}%
+ \renewcommand*{\{}{-}%
+ \renewcommand*{\&}{-}% used to be 'and'
+ \renewcommand*{\#}{-}%
+ \renewcommand*{\,}{-}%
+ \renewcommand*{~}{-}%
+ \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@dash%
+ \let\textasciicircum\LWR@dash%
+ \let\textasciitilde\LWR@dash%
+ \let\textasteriskcentered\LWR@dash%
+ \let\textbackslash\LWR@dash%
+ \let\textbar\LWR@dash%
+ \let\textbardbl\LWR@dash%
+ \let\textbigcircle\LWR@dash%
+ \let\textbraceleft\LWR@dash%
+ \let\textbraceright\LWR@dash%
+ \let\textbullet\LWR@dash%
+ \let\textcopyright\LWR@dash%
+ \let\textdagger\LWR@dash%
+ \let\textdaggerdbl\LWR@dash%
+ \let\textdollar\LWR@dash%
+ \let\textellipsis\LWR@dash%
+ \let\textemdash\LWR@dash%
+ \let\textendash\LWR@dash%
+ \let\textexclamdown\LWR@dash%
+ \let\textgreater\LWR@dash%
+ \let\textless\LWR@dash%
+ \let\textordfeminine\LWR@dash%
+ \let\textordmasculine\LWR@dash%
+ \let\textparagraph\LWR@dash%
+ \let\textperiodcentered\LWR@dash%
+ \let\textpertenthousand\LWR@dash%
+ \let\textperthousand\LWR@dash%
+ \let\textquestiondown\LWR@dash%
+ \let\textquotedblleft\LWR@dash%
+ \let\textquotedblright\LWR@dash%
+ \let\textquoteleft\LWR@dash%
+ \let\textquoteright\LWR@dash%
+ \let\textregistered\LWR@dash%
+ \let\textsection\LWR@dash%
+ \let\textsterling\LWR@dash%
+ \let\texttrademark\LWR@dash%
+ \let\textunderscore\LWR@dash%
+ \let\textvisiblespace\LWR@dash%
+ \let\copyright\LWR@dash%
+ \let\dag\LWR@dash%
+ \let\ddag\LWR@dash%
+ \let\dots\LWR@dash%
+ \let\P\LWR@dash%
+ \let\pounds\LWR@dash%
+ \let\S\LWR@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%
+ \renewcommand*{\HTMLunicode}[1]{}%
+ \renewcommand*{\HTMLentity}[1]{}%
+ \renewcommand{\textsuperscript}[1]{##1}%
+ \renewcommand{\textsubscript}[1]{##1}%
+ \renewcommand{\underline}[1]{##1}%
+ \RenewDocumentCommand{\hspace}{s m}{}%
+ \RenewDocumentCommand{\LWR@htmlspanclass}{o m +m}{##3}%
+ \DeclareExpandableDocumentCommand{\InlineClass}{D{(}{)}{} o m +m}{##4}%
+ \def\(##1\){}%
+ \def\[##1\]{}%
+ \RenewDocumentCommand{\LWR@subsingledollar}{s m m m}{}%
+ \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}%
+ \def\texorpdfstring{\expandafter\@secondoftwo}%
+}
+\catcode`\$=3%
+\catcode`\_=8%
+\newcommand*{\FilenameNullify}[1]{%
+ \appto{\LWR@nullfonts}{#1}%
}
\end{warpHTML}
\begin{warpall}
@@ -10534,6 +11688,9 @@ end -- not --version
\newbool{LWR@indisplaymathimage}
+\newbool{LWR@insidemathcomment}
+\boolfalse{LWR@insidemathcomment}
+
\newbool{LWR@xfakebold}
\boolfalse{LWR@xfakebold}
@@ -10778,7 +11935,10 @@ end -- not --version
\LWR@traceinfo{LWR@subsingledollar: Mathjax}%
{%
\textbackslash(%
- \LWR@HTMLsanitize{#4}%
+ {%
+ \ifmmode\else\LWR@print@ttfamily\fi%
+ \LWR@HTMLsanitize{#4}%
+ }%
\textbackslash)%
}%
}% mathjax
@@ -10813,7 +11973,7 @@ end -- not --version
{
\textbackslash[%
- \LWR@HTMLsanitize{#1}%
+ {\LWR@print@ttfamily\LWR@HTMLsanitize{#1}}%
\textbackslash]
}% mathjax
@@ -10859,11 +12019,11 @@ end -- not --version
}
\AtBeginDocument{
-\protected\gdef\(#1\){$#1$}
-\protected\gdef\[#1\]{$$#1$$}
+ \protected\gdef\(#1\){$#1$}
+ \protected\gdef\[#1\]{$$#1$$}
}
-\endgroup
+\endgroup% active $
\AtBeginDocument{
\LetLtxMacro\LWR@openbracketnormal\[
\LetLtxMacro\LWR@closebracketnormal\]
@@ -10911,8 +12071,6 @@ end -- not --version
\NewEnviron{math}{\expandafter\(\BODY\)}
\NewEnviron{LWR@displaymathnormal}{\expandafter\[\BODY\]\@ignoretrue}
-\LetLtxMacro\[\LWR@openbracketnormal%
-\LetLtxMacro\]\LWR@closebracketnormal%
\LetLtxMacro\displaymath\LWR@displaymathnormal%
\LetLtxMacro\enddisplaymath\endLWR@displaymathnormal%
\newenvironment{LWR@displaymathother}
@@ -10944,29 +12102,53 @@ end -- not --version
}
\newcounter{LWR@nextequation}
-\newcommand*{\LWR@syncmathjax}{%
- \ifcsdef{thechapter}{
- \LWR@stoppars%
- \InlineClass{hidden}{
- \textbackslash(
- \textbackslash{}seteqsection \{\thechapter\}
- \textbackslash)
+\newcommand\LWR@article@theequation{\@arabic\c@equation}
+
+\newcommand\LWR@book@theequation
+ {\ifnum \c@chapter>\z@ \thechapter.\fi \@arabic\c@equation}
+
+\newcommand\LWR@chapter@theequation{\thechapter.\arabic{equation}}
+\newcommand\LWR@section@thequation{\thesection.\arabic{equation}}
+\newcommand\LWR@subsection@thequation{\thesubsection.\arabic{equation}}
+
+\AtBeginDocument{
+ % default per article class:
+ \newcommand*{\theMathJaxsubequations}{0}
+ \newcommand*{\theMathJaxsection}{}
+ \newcommand*{\theMathJaxequation}{\arabic{equation}}
+
+ \ifdefstrequal{\theequation}{\LWR@article@theequation}
+ {}{
+ \ifdefstrequal{\theequation}{\LWR@book@theequation}{
+ \renewcommand*{\theMathJaxsection}{\ifnum \c@chapter>\z@ \thechapter.\fi}
+ }{
+ \ifdefstrequal{\theequation}{\LWR@subsection@thequation}{
+ \renewcommand*{\theMathJaxsection}{\thesubsection{}.}
+ }{
+ \ifdefstrequal{\theequation}{\LWR@section@thequation}{
+ \renewcommand*{\theMathJaxsection}{\thesection{}.}
+ }{
+ \ifdefstrequal{\theequation}{\LWR@chapter@theequation}{
+ \renewcommand*{\theMathJaxsection}{\thechapter{}.}
+ }{% unknown format
+ \PackageWarningNoLine{lwarp}
+ {%
+ Unknown equation tag format for \protect\theequation.\MessageBreak
+ Article-style equation numbering will be used%
}
- \LWR@startpars%
- }
- {}% not using chapters
- \ifthenelse{\cnttest{\value{equation}}>0}
- {
- \setcounter{LWR@nextequation}{\value{equation}}
- \addtocounter{LWR@nextequation}{1}
+ }}}}}
+}
+\newcommand*{\LWR@syncmathjax}{%
\LWR@stoppars%
\InlineClass{hidden}{
- \textbackslash(
- \textbackslash{}seteqnumber \{\arabic{LWR@nextequation}\}
- \textbackslash)
+ \textbackslash(%
+ \textbackslash{}seteqnumber%
+ \{\theMathJaxsubequations\}%
+ \{\theMathJaxsection\}%
+ \{\theMathJaxequation\}%
+ \textbackslash)%
}
\LWR@startpars%
- }{}% not eq > 0
}
\NewDocumentCommand{\LWR@hidelatexequation}{m +m}{%
\LWR@stoppars
@@ -10975,27 +12157,34 @@ end -- not --version
\begingroup
\@nameuse{LWR@orig#1}
\LWR@restoreorigformatting
+ \booltrue{LWR@insidemathcomment}
#2
\@nameuse{LWR@origend#1}
\endgroup
\LWR@htmlclosecomment
+ \boolfalse{LWR@insidemathcomment}
\LWR@startpars
}
\NewDocumentCommand{\LWR@addmathjax}{m +m}{%
\LWR@origtilde\LWR@orignewline
- \textbackslash{}begin\{#1\}
- \LWR@HTMLsanitizeexpand{\detokenize\expandafter{#2}}
- \textbackslash{}end\{#1\}
+ {%
+ \LWR@print@ttfamily%
+ \textbackslash{}begin\{#1\}
+ \LWR@orignewline%
+ \LWR@HTMLsanitizeexpand{\detokenize\expandafter{#2}}%
+ \LWR@orignewline%
+ \textbackslash{}end\{#1\}
+ }%
\LWR@orignewline
}
\AtBeginDocument{
-\let\LWR@origequation\equation
-\let\LWR@origendequation\endequation
-\csletcs{LWR@origequation*}{equation*}
-\csletcs{LWR@origendequation*}{endequation*}
+ \let\LWR@origequation\equation
+ \let\LWR@origendequation\endequation
+ \csletcs{LWR@origequation*}{equation*}
+ \csletcs{LWR@origendequation*}{endequation*}
}
\newcommand*{\LWR@doequation}[2]{%
@@ -11067,39 +12256,35 @@ end -- not --version
\newcommand*{\LWR@syncnotenames}{\LWR@synconenotename{LWRfootnote}{\footnotename}}
\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}
}
\AtBeginDocument{
+ \NewEnviron{equation}%
+ {\LWR@doequation{\BODY}{equation}}%
+ [\LWR@doendequation{equation}]
-\NewEnviron{equation}%
- {\LWR@doequation{\BODY}{equation}}%
- [\LWR@doendequation{equation}]
-
-\LetLtxMacro\LWR@equationnormal\equation
-\LetLtxMacro\endLWR@equationnormal\endequation
-
+ \LetLtxMacro\LWR@equationnormal\equation
+ \LetLtxMacro\endLWR@equationnormal\endequation
}% AtBeginDocument
\AtBeginDocument{
+ \NewEnviron{equation*}%
+ {\LWR@doequation{\BODY}{equation*}}%
+ [\LWR@doendequation{equation*}]
-\NewEnviron{equation*}%
- {\LWR@doequation{\BODY}{equation*}}%
- [\LWR@doendequation{equation*}]
-
-\csletcs{LWR@equationnormalstar}{equation*}
-\csletcs{LWR@endequationnormalstar}{endequation*}
-
+ \csletcs{LWR@equationnormalstar}{equation*}
+ \csletcs{LWR@endequationnormalstar}{endequation*}
}% AtBeginDocument
\AtBeginDocument{
-\LetLtxMacro\LWR@equationless\equation
-\LetLtxMacro\endLWR@equationless\endequation
-\csletcs{LWR@equationlessstar}{equation*}
-\csletcs{LWR@endequationlessstar}{endequation*}
+ \LetLtxMacro\LWR@equationless\equation
+ \LetLtxMacro\endLWR@equationless\endequation
+ \csletcs{LWR@equationlessstar}{equation*}
+ \csletcs{LWR@endequationlessstar}{endequation*}
}
\newcommand*{\displaymathnormal}{%
@@ -11140,22 +12325,6 @@ end -- not --version
\newbool{LWR@amsmultline}
\boolfalse{LWR@amsmultline}
-\newcommand*{\LWR@htmlmathlabel}[1]{%
- \LWR@traceinfo{LWR@htmlmathlabelb #1}%
- \ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
- {%
- \text{%
- \ifbool{LWR@amsmultline}{}{\hspace*{\totwidth@}}%
- \LWR@htmlclosecomment%
- \LWR@origltx@label{#1}%
- \LWR@htmlopencomment%
- }% text
- }% mathjax
- {%
- \LWR@origltx@label{#1}%
- }%
-}
-
\newcommand*{\LWR@beginhideamsmath}{
\LWR@stoppars
\LWR@origtilde\LWR@orignewline
@@ -11163,12 +12332,14 @@ end -- not --version
\begingroup
\LWR@restoreorigformatting
+ \booltrue{LWR@insidemathcomment}
}
\newcommand*{\LWR@endhideamsmath}{
\endgroup
\LWR@htmlclosecomment
+ \boolfalse{LWR@insidemathcomment}
\LWR@orignewline
\LWR@startpars
}
@@ -11202,7 +12373,7 @@ end -- not --version
\begin{BlockClass}{displaymathnumbered}%
\LWR@newautoidanchor%
\booltrue{LWR@indisplaymathimage}%
- \begin{lateximage}[(\LWR@startingequationtag--\LWR@equationtag)%
+ \begin{lateximage}[(\LWR@startingequationtag\textendash\LWR@equationtag)%
\LWR@addmathjax{eqnarray}{\BODY}]*%
\LWR@applyxfakebold%
\LWR@origeqnarray%
@@ -11308,7 +12479,7 @@ end -- not --version
{%
\ifnumcomp{\value{LWR@startingequation}}{=}{\value{equation}}%
{(\LWR@equationtag)}%
- {(\LWR@startingequationtag--\LWR@equationtag)} % extra space
+ {(\LWR@startingequationtag\textendash\LWR@equationtag)} % extra space
\LWR@amsmathbody{#1} % extra space
}
@@ -11367,8 +12538,10 @@ end -- not --version
}%
\LWR@traceinfo{lateximage: LWR@LIpage is \arabic{LWR@LIpage}}%
\LWR@htmltag{span\LWR@indentHTML%
- id="lateximage-\BaseJobname-\arabic{LWR@lateximagenumber}"\LWR@indentHTML
- class="lateximagesource"\LWR@orignewline
+ id=\textquotedbl{}%
+ lateximage-\BaseJobname-\arabic{LWR@lateximagenumber}%
+ \textquotedbl\LWR@indentHTML
+ class=\textquotedbl{}lateximagesource\textquotedbl\LWR@orignewline
}%
\LWR@traceinfo{lateximage: about to write to \BaseJobname-images.txt}%
\IfBooleanTF{#1}% starred
@@ -11403,7 +12576,7 @@ end -- not --version
\LWR@htmlopencomment%
\addtocounter{LWR@lateximagedepth}{1}%
\LWR@traceinfo{lateximage: about to create a new page}%
- \LWR@orignewpage%
+ \LWR@maybe@orignewpage%
\LWR@traceinfo{lateximage: about to create minipage}%
\ifdimless{\linewidth}{6in}{%
\LWR@print@minipage{\linewidth}%
@@ -11450,7 +12623,7 @@ end -- not --version
{% end of outer-most lateximage
\LWR@traceinfo{lateximage: ending outer-most lateximage}%
\endLWR@print@minipage%
- \LWR@orignewpage%
+ \LWR@maybe@orignewpage%
\LWR@print@vspace*{.5\baselineskip}%
\LWR@htmlclosecomment%
\LWR@traceinfo{lateximage: The page after the image is \arabic{page}}%
@@ -11486,7 +12659,7 @@ end -- not --version
\begin{warpHTML}
-\renewenvironment*{center}
+\newenvironment*{LWR@HTML@center}
{
\LWR@forcenewpage
\ifbool{FormatWP}
@@ -11495,7 +12668,9 @@ end -- not --version
}
{\endBlockClass}
-\renewenvironment*{flushright}
+\LWR@formattedenv{center}
+
+\newenvironment*{LWR@HTML@flushright}
{
\LWR@forcenewpage
\ifbool{FormatWP}
@@ -11504,7 +12679,9 @@ end -- not --version
}
{\endBlockClass}
-\renewenvironment*{flushleft}
+\LWR@formattedenv{flushright}
+
+\newenvironment*{LWR@HTML@flushleft}
{
\LWR@forcenewpage
\ifbool{FormatWP}
@@ -11513,6 +12690,8 @@ end -- not --version
}
{\endBlockClass}
+\LWR@formattedenv{flushleft}
+
\newcommand*{\LWR@HTML@centering}{%
\ifbool{HTMLDebugComments}{%
@@ -11563,8 +12742,24 @@ end -- not --version
\LWR@PreloadedPackage{graphics}
\LWR@PreloadedPackage{graphicx}
+\LWR@PreloadedPackage{scalefnt}
+
\LWR@PreloadedPackage{fontaxes}
+\LWR@PreloadedPackage{cmbright}
+\LWR@PreloadedPackage{fourier}
+\LWR@PreloadedPackage{kpfonts}
+\LWR@PreloadedPackage{kpfonts-otf}
+\LWR@PreloadedPackage{libertinust1math}
+\LWR@PreloadedPackage{pxfonts}
+\LWR@PreloadedPackage{txfonts}
+\LWR@PreloadedPackage{txgreeks}
+\LWR@PreloadedPackage{newpxmath}
+\LWR@PreloadedPackage{newtxmath}
+\LWR@PreloadedPackage{newtxsf}
+\LWR@PreloadedPackage{mathalpha}
+\LWR@PreloadedPackage{unicode-math}
+
\LWR@PreloadedPackage{nfssext-cfr}
\LWR@PreloadedPackage{ulem}
@@ -11592,7 +12787,7 @@ end -- not --version
\newrobustcmd{\LWR@siunitx@textdegree}{\HTMLentity{deg}}
\newrobustcmd{\LWR@siunitx@textprime}{\HTMLunicode{2032}}
\newrobustcmd{\LWR@siunitx@textdblprime}{\HTMLunicode{2033}}
-\newrobustcmd{\LWR@siunitx@textplanckbar}{\text{\textit{\HTMLunicode{0127}}}}
+\newrobustcmd{\LWR@siunitx@textplanckbar}{\text{\textit{\HTMLunicode{210F}}}}
\appto\LWR@restoreorigformatting{%
\renewrobustcmd{\LWR@siunitx@textcelsius}{\text{\ensuremath{^\circ}C}}%
@@ -11733,117 +12928,21 @@ end -- not --version
\end{warpprint}
-
-
-
\begin{warpHTML}
+
\AtEndPreamble{
\RequirePackage{cleveref}
}
-\AfterEndPreamble{
-\LWR@traceinfo{Patching cleveref.}
-
-\def\LWR@orig@@@setcref#1#2{\cref@getlabel{#2}{\@templabel}#1{\@templabel}{}{}}%
-
-\ifdefequal{\@@setcref}{\LWR@orig@@@setcref}{% before v0.21
- \renewcommand*{\@@setcref}[2]{#1{\ref{#2}}{}{}}
-}{
- \ifdefequal{\@@@setcref}{\LWR@orig@@@setcref}{% as of v0.21
- \renewcommand*{\@@@setcref}[2]{#1{\ref{#2}}{}{}}
- }{
- \PackageWarning{lwarp-cleveref}{
- Unknown version of cleveref.
- \protect\cref\space will fail.
- }%
- }
-}
-
-\def\LWR@orig@@@setcrefrange#1#2#3{%
- \cref@getlabel{#2}{\@labela}%
- \cref@getlabel{#3}{\@labelb}%
- #1{\@labela}{\@labelb}{}{}{}{}}%
-
-\ifdefequal{\@@setcrefrange}{\LWR@orig@@@setcrefrange}{
- \renewcommand{\@@setcrefrange}[3]{%
- #1{\ref{#2}}{\ref{#3}}{}{}{}{}%
- }
-}{
- \ifdefequal{\@@@setcrefrange}{\LWR@orig@@@setcrefrange}{
- \renewcommand{\@@@setcrefrange}[3]{%
- #1{\ref{#2}}{\ref{#3}}{}{}{}{}%
- }
- }{
- \PackageWarning{lwarp-cleveref}{
- Unknown version of cleveref.
- \protect\crefrange\space will fail.
- }
- }
-}
-
-
-
-\newcommand*{\cpagerefFor}{for}
-
-\def\LWR@orig@@setcpageref#1#2{% before v0.21
- \cref@getpageref{#2}{\@temppage}#1{\@temppage}{}{}}%
-
-\def\LWR@orig@@@setcpageref#1#2{% as of v0.21
- \cpageref@getlabel{#2}{\@temppage}#1{\@temppage}{}{}}%
-
-\ifdefequal{\@@setcpageref}{\LWR@orig@@setcpageref}{
- \renewcommand*{\@@setcpageref}[2]{%
- #1{\cpagerefFor\ \cref{#2}}{}{}%
- }
-}{
- \ifdefequal{\@@@setcpageref}{\LWR@orig@@@setcpageref}{
- \renewcommand*{\@@@setcpageref}[2]{%
- #1{\cpagerefFor\ \cref{#2}}{}{}%
- }
- }
- {
- \PackageWarning{lwarp-cleveref}{
- Unknown version of cleveref.
- \protect\cpageref\space will fail.
- }
- }
-}
+\end{warpHTML}
+\begin{warpHTML}
-\def\LWR@orig@@setcpagerefrange#1#2#3{% before v0.21
- \cref@getpageref{#2}{\@pagea}%
- \cref@getpageref{#3}{\@pageb}%
- #1{\@pagea}{\@pageb}{}{}{}{}}%
-
-\def\LWR@orig@@@setcpagerefrange#1#2#3{% as of v0.21
- \cpageref@getlabel{#2}{\@pagea}%
- \cpageref@getlabel{#3}{\@pageb}%
- #1{\@pagea}{\@pageb}{}{}{}{}}%
-
-\ifdefequal{\@@setcpagerefrange}{\LWR@orig@@setcpagerefrange}{
- \renewcommand*{\@@setcpagerefrange}[3]{%
- #1{\cpagerefFor\ \cref{#2}}{\cref{#3}}{}{}{}{}%
- }
-}{
- \ifdefequal{\@@@setcpagerefrange}{\LWR@orig@@@setcpagerefrange}{
- \renewcommand*{\@@@setcpagerefrange}[3]{%
- #1{\cpagerefFor\ \cref{#2}}{\cref{#3}}{}{}{}{}%
- }
- }
- {
- \PackageWarning{lwarp-cleveref}{
- Unknown version of cleveref.
- \protect\cpagerefrange\space will fail.
- }
- }
-}
-
-}% AfterEndPreamble
-
-\LetLtxMacro\LWR@orig@label\label
-\RenewDocumentCommand{\label}{}{\LWR@new@label}
+\LetLtxMacro\LWR@orig@label\label% includes memoir, before cleveref
+\LetLtxMacro\label\LWR@new@label
\LetLtxMacro\LWR@orig@pageref\pageref
-\RenewDocumentCommand{\pageref}{}{\LWR@new@pageref}
+\LetLtxMacro\pageref\LWR@new@pageref
+
\end{warpHTML}
@@ -11864,7 +12963,7 @@ end -- not --version
\setcounter{LWR@virtualpagedepth}{0}
\NewDocumentEnvironment{LWR@setvirtualpage}{s O{1}}{%
\ifnumequal{\value{LWR@virtualpagedepth}}{0}{%
- \IfBooleanT{#1}{\LWR@orignewpage}%
+ \IfBooleanT{#1}{\LWR@maybe@orignewpage}%
\setlength{\linewidth}{6in/#2}%
\setlength{\textwidth}{6in}%
\setlength{\textheight}{9in}%
@@ -11905,13 +13004,15 @@ end -- not --version
\addtocounter{LWR@thisautoidWP}{1}%
\LWR@htmltag{%
- div id="\LWR@print@mbox{autoidWP-\arabic{LWR@thisautoidWP}}" %
- class="wpminipage"%
+ div id=\textquotedbl%
+ \LWR@print@mbox{autoidWP-\arabic{LWR@thisautoidWP}}%
+ \textquotedbl\ % space
+ class=\textquotedbl{}wpminipage\textquotedbl%
}%
}{}%
\LWR@traceinfo{minipage: creating div class}%
-\LWR@htmltag{div class="minipage" style="%
+\LWR@htmltag{div class=\textquotedbl{}minipage\textquotedbl\ style=\textquotedbl%
\ifthenelse{\equal{#1}{t}}{\LWR@print@mbox{vertical-align:bottom} ; }{}%
\ifthenelse{\equal{#1}{c}}{\LWR@print@mbox{vertical-align:middle} ; }{}%
\ifthenelse{\equal{#1}{b}}{\LWR@print@mbox{vertical-align:top} ; }{}%
@@ -11933,7 +13034,8 @@ end -- not --version
}%
\LWR@traceinfo{minipage: about to print the height}%
\ifblank{#2}{}{height:\LWR@printlength{\LWR@minipageheight} ; }%
-"}%
+\textquotedbl%
+}%
\ifnumequal{\value{LWR@virtualpagedepth}}{1}{%
\addtolength{\LWR@minipagewidth}{-3em}% undo frame padding
@@ -12173,6 +13275,13 @@ color:\LWR@origpound\LWR@tempcolor%
\end{warpHTML}
+\begin{warpall}
+
+\newbool{FixSmallCaps}
+\boolfalse{FixSmallCaps}
+
+\end{warpall}
+
\begin{warpHTML}
@@ -12185,8 +13294,6 @@ color:\LWR@origpound\LWR@tempcolor%
\LWR@formatted{emph}
-\newcommand{\LWR@null@emph}[1]{#1}
-
\DeclareRobustCommand{\LWR@HTML@textmd}[1]{%
{%
\LWR@HTML@mdseries%
@@ -12196,8 +13303,6 @@ color:\LWR@origpound\LWR@tempcolor%
\LWR@formatted{textmd}
-\newcommand{\LWR@null@textmd}[1]{#1}
-
\DeclareRobustCommand{\LWR@HTML@textbf}[1]{%
{%
\LWR@HTML@bfseries%
@@ -12207,8 +13312,6 @@ color:\LWR@origpound\LWR@tempcolor%
\LWR@formatted{textbf}
-\newcommand{\LWR@null@textbf}[1]{#1}
-
\DeclareRobustCommand{\LWR@HTML@texteb}[1]{%
{%
\LWR@HTML@ebweight%
@@ -12218,8 +13321,6 @@ color:\LWR@origpound\LWR@tempcolor%
\LWR@formatted{texteb}
-\newcommand{\LWR@null@texteb}[1]{#1}
-
\DeclareRobustCommand{\LWR@HTML@textlg}[1]{%
{%
\LWR@HTML@lgweight%
@@ -12229,8 +13330,6 @@ color:\LWR@origpound\LWR@tempcolor%
\LWR@formatted{textlg}
-\newcommand{\LWR@null@textlg}[1]{#1}
-
\DeclareRobustCommand{\LWR@HTML@textrm}[1]{%
{%
\LWR@HTML@rmfamily%
@@ -12240,8 +13339,6 @@ color:\LWR@origpound\LWR@tempcolor%
\LWR@formatted{textrm}
-\newcommand{\LWR@null@textrm}[1]{#1}
-
\DeclareRobustCommand{\LWR@HTML@textsf}[1]{%
{%
\LWR@HTML@sffamily%
@@ -12251,8 +13348,6 @@ color:\LWR@origpound\LWR@tempcolor%
\LWR@formatted{textsf}
-\newcommand{\LWR@null@textsf}[1]{#1}
-
\DeclareRobustCommand{\LWR@HTML@texttt}[1]{%
{%
\LWR@HTML@ttfamily%
@@ -12262,8 +13357,6 @@ color:\LWR@origpound\LWR@tempcolor%
\LWR@formatted{texttt}
-\newcommand{\LWR@null@texttt}[1]{#1}
-
\DeclareRobustCommand{\LWR@HTML@textup}[1]{%
{%
\LWR@HTML@upshape%
@@ -12273,8 +13366,6 @@ color:\LWR@origpound\LWR@tempcolor%
\LWR@formatted{textup}
-\newcommand{\LWR@null@textup}[1]{#1}
-
\DeclareRobustCommand{\LWR@HTML@textit}[1]{%
{%
\LWR@HTML@itshape%
@@ -12284,8 +13375,6 @@ color:\LWR@origpound\LWR@tempcolor%
\LWR@formatted{textit}
-\newcommand{\LWR@null@textit}[1]{#1}
-
\DeclareRobustCommand{\LWR@HTML@textsc}[1]{%
{%
\LWR@HTML@scshape%
@@ -12295,8 +13384,6 @@ color:\LWR@origpound\LWR@tempcolor%
\LWR@formatted{textsc}
-\newcommand{\LWR@null@textsc}[1]{#1}
-
\DeclareRobustCommand{\LWR@HTML@textulc}[1]{%
{%
\LWR@HTML@ulcshape%
@@ -12306,8 +13393,6 @@ color:\LWR@origpound\LWR@tempcolor%
\LWR@formatted{textulc}
-\newcommand{\LWR@null@textulc}[1]{#1}
-
\@ifundefined{textsi}{
\LetLtxMacro\LWR@print@textsi\LWR@print@textsc
}{}
@@ -12321,8 +13406,6 @@ color:\LWR@origpound\LWR@tempcolor%
\LWR@formatted{textsi}
-\newcommand{\LWR@null@textsi}[1]{#1}
-
\DeclareRobustCommand{\LWR@HTML@textsl}[1]{%
{%
\slshape%
@@ -12332,174 +13415,30 @@ color:\LWR@origpound\LWR@tempcolor%
\LWR@formatted{textsl}
-\newcommand{\LWR@null@textsl}[1]{#1}
+\newrobustcmd{\LWR@HTML@textssc}[1]{\textsc{#1}}
+\LWR@formatted{textssc}
\DeclareRobustCommand{\LWR@HTML@textnormal}[1]{\textmd{\textrm{\textup{#1}}}}
\LWR@formatted{textnormal}
-\newcommand{\LWR@null@textnormal}[1]{#1}
-
-\newcommand{\LWR@null@rmfamily}{}
-\newcommand{\LWR@null@sffamily}{}
-\newcommand{\LWR@null@ttfamily}{}
-\newcommand{\LWR@null@bfseries}{}
-\newcommand{\LWR@null@ebweight}{}
-\newcommand{\LWR@null@lgweight}{}
-\newcommand{\LWR@null@mdseries}{}
-\newcommand{\LWR@null@upshape}{}
-\newcommand{\LWR@null@slshape}{}
-\newcommand{\LWR@null@scshape}{}
-\newcommand{\LWR@null@itshape}{}
-\newcommand{\LWR@null@normalfont}{}
-\newcommand{\LWR@null@em}{}
-
-\catcode`\$=\active% redefining $ below
-\catcode`\_=12% redefining \_ below
-\newcommand*{\LWR@nullfonts}{%
-\LetLtxMacro\emph\LWR@null@emph%
-\LetLtxMacro\textmd\LWR@null@textmd%
-\LetLtxMacro\textbf\LWR@null@textbf%
-\LetLtxMacro\textrm\LWR@null@textrm%
-\LetLtxMacro\textsf\LWR@null@textsf%
-\LetLtxMacro\texttt\LWR@null@texttt%
-\LetLtxMacro\textup\LWR@null@textup%
-\LetLtxMacro\textit\LWR@null@textit%
-\LetLtxMacro\textsc\LWR@null@textsc%
-\LetLtxMacro\textulc\LWR@null@textulc%
-\LetLtxMacro\textsi\LWR@null@textsi%
-\LetLtxMacro\textsl\LWR@null@textsl%
-\LetLtxMacro\textnormal\LWR@null@textnormal%
-\LetLtxMacro\rmfamily\LWR@null@rmfamily%
-\LetLtxMacro\sffamily\LWR@null@sffamily%
-\LetLtxMacro\ttfamily\LWR@null@ttfamily%
-\LetLtxMacro\bfseries\LWR@null@bfseries%
-\LetLtxMacro\mdseries\LWR@null@mdseries%
-\LetLtxMacro\upshape\LWR@null@upshape%
-\LetLtxMacro\slshape\LWR@null@slshape%
-\LetLtxMacro\scshape\LWR@null@scshape%
-\LetLtxMacro\ulcshape\LWR@null@ulcshape%
-\LetLtxMacro\sishape\LWR@null@sishape%
-\LetLtxMacro\itshape\LWR@null@itshape%
-\LetLtxMacro\normalfont\LWR@null@normalfont%
-\LetLtxMacro\em\LWR@null@em%
-\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}{}%
-\renewcommand*{\HTMLunicode}[1]{}%
-\renewcommand*{\HTMLentity}[1]{}%
-\renewcommand{\textsuperscript}[1]{##1}%
-\renewcommand{\textsubscript}[1]{##1}%
-\renewcommand{\underline}[1]{##1}%
-\RenewDocumentCommand{\hspace}{s m}{}%
-\RenewDocumentCommand{\LWR@htmlspanclass}{o m +m}{##3}%
-\DeclareExpandableDocumentCommand{\InlineClass}{D{(}{)}{} o m +m}{##4}%
-\def\(##1\){}%
-\def\[##1\]{}%
-\RenewDocumentCommand{\LWR@subsingledollar}{s m m m}{}%
-\protected\def$##1${}%
-\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}%
-\let\texorpdfstring\relax%
-\newcommand{\texorpdfstring}[2]{##2}%
-}
-\catcode`\$=3%
-\catcode`\_=8%
-\newcommand*{\FilenameNullify}[1]{%
- \appto{\LWR@nullfonts}{#1}%
+\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%
}
\newcommand*{\LWR@f@family}{rm}
@@ -12540,74 +13479,135 @@ color:\LWR@origpound\LWR@tempcolor%
}%
}{\endBlockClass\LWR@startpars}
-\newrobustcmd*{\LWR@HTML@mdseries}{\renewcommand*{\LWR@f@series}{md}}
+\newrobustcmd*{\LWR@HTML@mdseries}{%
+ \LWR@print@mdseries%
+ \renewcommand*{\LWR@f@series}{md}%
+}
\LWR@formatted{mdseries}
-\newrobustcmd*{\LWR@HTML@bfseries}{\renewcommand*{\LWR@f@series}{bf}}
+\newrobustcmd*{\LWR@HTML@bfseries}{%
+ \LWR@print@bfseries%
+ \renewcommand*{\LWR@f@series}{bf}%
+}
\LWR@formatted{bfseries}
-\newrobustcmd*{\LWR@HTML@ebweight}{\renewcommand*{\LWR@f@series}{eb}}
+\newrobustcmd*{\LWR@HTML@ebweight}{%
+ \LWR@print@ebweight%
+ \renewcommand*{\LWR@f@series}{eb}%
+}
\LWR@formatted{ebweight}
-\newrobustcmd*{\LWR@HTML@lgweight}{\renewcommand*{\LWR@f@series}{lg}}
+\newrobustcmd*{\LWR@HTML@lgweight}{%
+ \LWR@print@lgweight%
+ \renewcommand*{\LWR@f@series}{lg}%
+}
\LWR@formatted{lgweight}
-\newrobustcmd*{\LWR@HTML@rmfamily}{\renewcommand*{\LWR@f@family}{rm}}
+\newrobustcmd*{\LWR@HTML@rmfamily}{%
+ \LWR@print@rmfamily%
+ \renewcommand*{\LWR@f@family}{rm}%
+}
\LWR@formatted{rmfamily}
-\newrobustcmd*{\LWR@HTML@sffamily}{\renewcommand*{\LWR@f@family}{sf}}
+\newrobustcmd*{\LWR@HTML@sffamily}{%
+ \LWR@print@sffamily%
+ \renewcommand*{\LWR@f@family}{sf}%
+}
\LWR@formatted{sffamily}
-\newrobustcmd*{\LWR@HTML@ttfamily}{\renewcommand*{\LWR@f@family}{tt}}
+\newrobustcmd*{\LWR@HTML@ttfamily}{%
+ \LWR@print@ttfamily%
+ \renewcommand*{\LWR@f@family}{tt}%
+}
\LWR@formatted{ttfamily}
+\newrobustcmd*{\LWR@HTML@upshape}{%
+ \LWR@print@upshape%
+ \renewcommand*{\LWR@f@shape}{up}%
+}
+\AtBeginDocument{\LWR@formatted{upshape}}
-\newrobustcmd*{\LWR@HTML@upshape}{\renewcommand*{\LWR@f@shape}{up}}
-\LWR@formatted{upshape}
-
-\newrobustcmd*{\LWR@HTML@itshape}{\renewcommand*{\LWR@f@shape}{it}}
-\LWR@formatted{itshape}
+\newrobustcmd*{\LWR@HTML@itshape}{%
+ \LWR@print@itshape%
+ \renewcommand*{\LWR@f@shape}{it}%
+}
+\AtBeginDocument{\LWR@formatted{itshape}}
-\newrobustcmd*{\LWR@HTML@scshape}{\renewcommand*{\LWR@f@shapecaps}{sc}}
-\LWR@formatted{scshape}
+\newrobustcmd*{\LWR@HTML@scshape}{%
+ \ifbool{FixSmallCaps}{}{%
+ \LWR@print@scshape%
+ }%
+ \renewcommand*{\LWR@f@shapecaps}{sc}%
+}
+\AtBeginDocument{\LWR@formatted{scshape}}
\@ifundefined{ulcshape}{
\LetLtxMacro\ulcshape\upshape
}{}
-\newrobustcmd*{\LWR@HTML@ulcshape}{\renewcommand*{\LWR@f@shapecaps}{ulc}}
-\LWR@formatted{ulcshape}
+\newrobustcmd*{\LWR@HTML@ulcshape}{%
+ \LWR@print@ulcshape%
+ \renewcommand*{\LWR@f@shapecaps}{ulc}%
+}
+\AtBeginDocument{\LWR@formatted{ulcshape}}
\@ifundefined{sishape}{
\LetLtxMacro\sishape\scshape
}{}
\newrobustcmd*{\LWR@HTML@sishape}{%
+ \ifbool{FixSmallCaps}{}{%
+ \LWR@print@sishape%
+ }%
\renewcommand*{\LWR@f@shape}{it}
\renewcommand*{\LWR@f@shapecaps}{sc}%
}
-\LWR@formatted{sishape}
+\AtBeginDocument{\LWR@formatted{sishape}}
-\newrobustcmd*{\LWR@HTML@slshape}{\renewcommand*{\LWR@f@shape}{sl}}
-\LWR@formatted{slshape}
+\newrobustcmd*{\LWR@HTML@slshape}{%
+ \LWR@print@slshape%
+ \renewcommand*{\LWR@f@shape}{sl}%
+}
+\AtBeginDocument{\LWR@formatted{slshape}}
+
+\newrobustcmd{\LWR@HTML@sscshape}{\LWR@HTML@scshape}
+\AtBeginDocument{\LWR@formatted{sscshape}}
\newrobustcmd*{\LWR@HTML@normalfont}{\rmfamily\mdseries\upshape\ulcshape}
\LWR@formatted{normalfont}
+\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%
+}
+
\renewcommand{\sp}[1]{\text{<sup>#1</sup>}{}}
\renewcommand{\sb}[1]{\text{<sub>#1</sub>}{}}
-\renewrobustcmd{\textsuperscript}[1]{\LWR@htmlspan{sup}{#1}}
+\newrobustcmd{\LWR@HTML@textsuperscript}[1]{\LWR@htmlspan{sup}{#1}}
+\LWR@formatted{textsuperscript}
-\renewcommand{\@textsuperscript}[1]{\LWR@htmlspan{sup}{#1}}
+\newcommand{\LWR@HTML@@textsuperscript}[1]{\LWR@htmlspan{sup}{#1}}
+\LWR@formatted{@textsuperscript}
-\AtBeginDocument{
-\renewrobustcmd{\textsubscript}[1]{\LWR@htmlspan{sub}{#1}}
-}
+ \newrobustcmd{\LWR@HTML@textsubscript}[1]{\LWR@htmlspan{sub}{#1}}
+ \LWR@formatted{textsubscript}
-\AtBeginDocument{
-\renewcommand{\@textsubscript}[1]{\LWR@htmlspan{sub}{#1}}
-}
+ \newcommand{\LWR@HTML@@textsubscript}[1]{\LWR@htmlspan{sub}{#1}}
+ \LWR@formatted{@textsubscript}
\AtBeginDocument{\let\up\textsuperscript}
@@ -12656,6 +13656,7 @@ color:\LWR@origpound\LWR@tempcolor%
\renewrobustcmd*{\negthinspace}{\HTMLunicode{202f}} % HTML thin non-breakable space
\renewrobustcmd*{~}{\HTMLentity{nbsp}}
\renewrobustcmd*{\textellipsis}{\HTMLunicode{2026}}
+\renewrobustcmd*{\vdots}{\HTMLunicode{22EE}}
}
\newcommand*{\LWR@font@size}{normalsize}
@@ -12699,7 +13700,24 @@ color:\LWR@origpound\LWR@tempcolor%
\newcommand*{\LWR@HTML@hfill}{\qquad}
\LWR@formatted{hfill}
-\newcommand*{\LWR@HTML@hrulefill}{\rule{1in}{1pt}}
+\newcommand*{\LWR@HTML@hrulefill}{%
+ \ifbool{LWR@doingapar}%
+ {\rule{1in}{1pt}}%
+ {%
+ \LWR@findcurrenttextcolor%
+ \ifdefstring{\LWR@tempcolor}{000000}%
+ {%
+ \begin{BlockClass}{hrule}%
+ \end{BlockClass}%
+ }%
+ {%
+ \begin{BlockClass}[%
+ border-top: 1px solid \LWR@origpound\LWR@tempcolor % space
+ ]{hrule}%
+ \end{BlockClass}%
+ }%
+ }%
+}%
\LWR@formatted{hrulefill}
\newcommand*{\LWR@HTML@dotfill}{\dots}
@@ -12721,25 +13739,25 @@ color:\LWR@origpound\LWR@tempcolor%
}
\newcommand*{\LWR@minipagestartpars}{%
-\ifbool{LWR@minipagethispar}{\LWR@startpars}{}%
+ \ifbool{LWR@minipagethispar}{\LWR@startpars}{}%
}
\newcommand*{\LWR@minipagestoppars}{%
-\ifbool{LWR@minipagethispar}{\LWR@stoppars}{}%
+ \ifbool{LWR@minipagethispar}{\LWR@stoppars}{}%
}
\renewrobustcmd*{\quad}{%
-\LWR@minipagestoppars%
-\HTMLunicode{2003}%
-\LWR@minipagestartpars%
+ \LWR@minipagestoppars%
+ \HTMLunicode{2003}%
+ \LWR@minipagestartpars%
}
\renewrobustcmd*{\qquad}{\quad\quad}
\renewrobustcmd*{\enskip}{%
-\LWR@minipagestoppars%
-\HTMLunicode{2002}%
-\LWR@minipagestartpars%
+ \LWR@minipagestoppars%
+ \HTMLunicode{2002}%
+ \LWR@minipagestartpars%
}
\newlength{\LWR@tempwidth}
@@ -12760,8 +13778,8 @@ color:\LWR@origpound\LWR@tempcolor%
}%
{%
\LWR@htmltagc{%
- span style="width:\LWR@printlength{\LWR@tempwidth}; % extra space
- display:inline-block"%
+ span style=\textquotedbl{}width:\LWR@printlength{\LWR@tempwidth}; % extra space
+ display:inline-block\textquotedbl%
}%
\ifbool{FormatWP}{%
\setlength{\LWR@templengthone}{\LWR@tempwidth}%
@@ -12826,7 +13844,7 @@ color:\LWR@origpound\LWR@tempcolor%
\LWR@findcurrenttextcolor%
\LWR@htmltagc{%
span\LWR@indentHTML%
- style="%
+ style=\textquotedbl%
\ifbool{FormatWP}{}{background:\LWR@currenttextcolor ; }%
width:\LWR@printlength{\LWR@tempwidth} ; %
height:\LWR@printlength{\LWR@tempheight} ; %
@@ -12843,7 +13861,7 @@ color:\LWR@origpound\LWR@tempcolor%
transform: translate(0pt,\LWR@printlength{\LWR@tempraise}); %
\LWR@indentHTML%
}%
- display:inline-block;"\LWR@orignewline%
+ display:inline-block;\textquotedbl\LWR@orignewline%
}%
\ifbool{FormatWP}{%
\setlength{\LWR@templengthone}{\LWR@tempwidth}%
@@ -12864,30 +13882,40 @@ color:\LWR@origpound\LWR@tempcolor%
\begin{warpHTML}
-\DeclareDocumentCommand{\phantomsection}{}{%
-\begingroup%
-\boolfalse{LWR@forcinghtmltoc}%
-\section*{}%
-\endgroup%
+\newrobustcmd*{\LWR@phantomsection}{%
+ \begingroup%
+ \boolfalse{LWR@forcinghtmltoc}%
+ \section*{}%
+ \endgroup%
}
\end{warpHTML}
\begin{warpall}
+\newbool{LWR@warnXe}
+\boolfalse{LWR@warnXe}
+
\newrobustcmd*{\Xe}
- {X\hspace{-.1667em}\raisebox{-.5ex}{E}}
+ {%
+ X\hspace{-.1667em}\raisebox{-.5ex}{E}%
+ \global\booltrue{LWR@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@warnXe}{
+ \PackageWarningNoLine{lwarp}{Load graphicx or graphics
+ for improved XeTeX logo}
+ }{}
}
\providerobustcmd*{\XeTeX}{\mbox{\Xe\hspace{-.125em}\TeX}}
@@ -13003,11 +14031,39 @@ color:\LWR@origpound\LWR@tempcolor%
\end{warpHTML}
\begin{warpHTML}
+\AtBeginDocument{
+ \@ifpackageloaded{everyshi}{
+ \RequirePackage{lwarp-everyshi}
+ }{}
+}
+\end{warpHTML}
+
+\begin{warpHTML}
+\RequirePackage{lwarp-textcomp}
+\end{warpHTML}
+
+\begin{warpHTML}
+\@ifpackageloaded{amsthm}{
+ \RequirePackage{lwarp-amsthm}
+}{}
+\@ifpackageloaded{amsmath}{
+ \RequirePackage{lwarp-amsmath}
+}{}
+\@ifpackageloaded{centernot}{
+ \RequirePackage{lwarp-centernot}
+}{}
+\end{warpHTML}
+
+\begin{warpHTML}
\@ifclassloaded{scrbook}{\RequirePackage{lwarp-patch-komascript}}{}
\@ifclassloaded{scrartcl}{\RequirePackage{lwarp-patch-komascript}}{}
\@ifclassloaded{scrreprt}{\RequirePackage{lwarp-patch-komascript}}{}
\end{warpHTML}
+\begin{warpprint}
+\@ifclassloaded{memoir}{\LWR@origRequirePackage{xcolor}}{}
+\end{warpprint}
+
\begin{warpHTML}
\@ifclassloaded{memoir}{\RequirePackage{lwarp-patch-memoir}}{}
\end{warpHTML}
@@ -13029,6 +14085,7 @@ color:\LWR@origpound\LWR@tempcolor%
\quad%
}
}
+ \renewcommand*{\LWR@printchaptername}{}
\renewcommand{\thepart}{\@Roman\c@part}
\@ifundefined{chapter}{
\renewcommand{\thesection}{\@arabic\c@section}
@@ -13087,6 +14144,8 @@ color:\LWR@origpound\LWR@tempcolor%
\LWR@isolate{\CTEX@chaptername}~%
\CTEX@chapter@aftername%
}%
+
+ \renewcommand*{\LWR@printchaptername}{}
}{}
}
\end{warpHTML}
@@ -13124,7 +14183,7 @@ color:\LWR@origpound\LWR@tempcolor%
\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{---}
@@ -13160,60 +14219,117 @@ color:\LWR@origpound\LWR@tempcolor%
}{}%
}
+\newcommand*{\LWR@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%
+ }
+ }%
+ }{}%
+}
+\newcommand*{\LWR@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%
+}
\AtBeginDocument{
\ifbool{mathjax}{
+ \LWR@nomathjaxwarn{aligned-overset}{}
+ \LWR@nomathjaxwarn{amscdx}
+ {\LWR@forceSVGmessage{amscdx}}
\LWR@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@nomathjaxwarn{autoaligne}{}
\LWR@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@mathjaxwarn{backnaur}
- {You may enclose its uses inside\MessageBreak
- lateximage environments to force SVG output,\MessageBreak
- but this also changes the print output}
\LWR@mathjaxwarn{bigdelim}
{Delimiters appear only of the first line}
+ \LWR@nomathjaxwarn{boldtensors}{}
\LWR@mathjaxwarn{booktabs}
- {In a math array, do not use (trim) for \protect\cmidrule}
+ {\protect\cmidrule\space is not displayed}
\LWR@mathjaxwarn{breqn}
{Each environment becomes an SVG image}
+ \LWR@mathjaxwarn{colortbl}
+ {Colors are ignored in MathJax.\MessageBreak
+ (Text mode tabular does support colortbl.)\MessageBreak
+ \LWR@forceSVGmessage{colortbl}}
\LWR@mathjaxwarn{delarray}
- {Enclose its uses inside lateximage\MessageBreak
- environments to force SVG output}
- \LWR@mathjaxwarn{jkmath}{}
- \LWR@mathjaxwarn{mathspec}{}
+ {\LWR@forceSVGmessage{delarray}}
+ \LWR@nomathjaxwarn{gauss}
+ {\LWR@forceSVGmessage{gauss}}
+ \LWR@mathjaxwarn{hhline}
+ {A simple \protect\hline\space is used}
+ \LWR@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@nomathjaxwarn{jkmath}
+ {\LWR@forceSVGmessage{jkmath}}
+ \LWR@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@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@mathjaxwarn{mathspec}
+ {Double quotes are removed, even inside \protect\text}
\LWR@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@mathjaxwarn{pb-diagram}
- {Enclose its uses inside lateximage environments\MessageBreak
- to force SVG output}
- \LWR@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@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@forceSVGmessage{nicematrix}%
+ }
+ \LWR@nomathjaxwarn{pb-diagram}
+ {\LWR@forceSVGmessage{pb-diagram}}
+ \LWR@nomathjaxwarn{tensind}{}
\LWR@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@nomathjaxwarn{unitsdef}{}
\LWR@mathjaxwarn{witharrows}
{Arrows can only point to the next line.\MessageBreak
Text is only placed on a single line}
- \LWR@mathjaxwarn{xy}
- {xy works in text, but in math you must\MessageBreak
- enclose its uses inside lateximage\MessageBreak
- environments to force SVG output}
+ \LWR@nomathjaxwarn{xy}
+ {In text, xy works as-is. SVG images will be generated.\MessageBreak
+ \LWR@forceSVGmessage{xy}}
}{}
}
\endinput