texlive[48617] trunk: lwarp (7sep18)

commits+karl at tug.org commits+karl at tug.org
Fri Sep 7 23:00:41 CEST 2018


Revision: 48617
          http://tug.org/svn/texlive?view=revision&revision=48617
Author:   karl
Date:     2018-09-07 23:00:41 +0200 (Fri, 07 Sep 2018)
Log Message:
-----------
lwarp (7sep18)

Modified Paths:
--------------
    trunk/Build/source/texk/texlive/linked_scripts/lwarp/lwarpmk.lua
    trunk/Build/source/texk/texlive/linked_scripts/texlive/tlmgr.pl
    trunk/Master/texmf-dist/doc/latex/lwarp/README.txt
    trunk/Master/texmf-dist/doc/latex/lwarp/lwarp.pdf
    trunk/Master/texmf-dist/scripts/lwarp/lwarpmk.lua
    trunk/Master/texmf-dist/source/latex/lwarp/lwarp.dtx
    trunk/Master/texmf-dist/source/latex/lwarp/lwarp.ins
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-chemmacros.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-epstopdf-base.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-epstopdf.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-graphics.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-nicefrac.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp.sty

Added Paths:
-----------
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-SIunits.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-accsupp.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-amsmath.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-asymptote.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-axessibility.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-breqn.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-bxpapersize.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-canoniclayout.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-draftcopy.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-fnbreak.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-nccfancyhdr.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-pdftricks.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-pst-eps.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-pstricks.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-units.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-xunicode.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp_baseline_marker.eps

Modified: trunk/Build/source/texk/texlive/linked_scripts/lwarp/lwarpmk.lua
===================================================================
--- trunk/Build/source/texk/texlive/linked_scripts/lwarp/lwarpmk.lua	2018-09-07 21:00:01 UTC (rev 48616)
+++ trunk/Build/source/texk/texlive/linked_scripts/lwarp/lwarpmk.lua	2018-09-07 21:00:41 UTC (rev 48617)
@@ -2,7 +2,8 @@
 
 -- Copyright 2016-2018 Brian Dunn
 
-printversion = "v0.58"
+printversion = "v0.59"
+requiredconfversion = "1" -- also at *lwarpmk.conf
 
 function printhelp ()
 print ("lwarpmk: Use lwarpmk -h or lwarpmk --help for help.") ;
@@ -29,6 +30,7 @@
     Converts project_html.pdf to project_html.html and individual HTML files.
     Finishes the HTML conversion even if there was a compile error.
 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*
 lwarpmk cleanall [-p project]: Remove auxiliary files and also project.pdf, *.html
 lwarpmk cleanlimages: Removes all images from the "lateximages" directory.
@@ -39,37 +41,6 @@
 -- printconf ()
 end
 
--- function printconf ()
--- --
--- -- Print the format of the configuration file lwarpmk.conf:
--- --
--- print ( [[
--- An example lwarpmk.conf or <project>.lwarpmkconf project file:
--- --
--- opsystem = "Unix"   (or "Windows")
--- latexname = "pdflatex"  (or "lualatex", or "xelatex")
--- sourcename = "projectname"  (the source-code filename w/o .tex)
--- homehtmlfilename = "index"  (or perhaps the project name)
--- htmlfilename = ""  (or "projectname" - filename prefix)
--- latexmk = "false"  (or "true" to use latexmk to build PDFs)
--- shellescape = "false"
--- printindexcmd = "makeindex -s lwarp.ist <name>.idx"
--- HTMLindexcmd = "makeindex -s lwarp.ist <name>_html.idx"
--- latexmkindexcmd = "makeindex -s lwarp.ist"
--- -- indexprog = "makeindex" or "xindy"
--- -- makeindexstyle = "lwarp.ist" (or a custom file based on lwarp.ist)
--- -- xindylanguge = "english"  (use a language supported by xindy)
--- -- xindycodepage = "utf8"  (use a codepage supported by xindy)
--- -- xindystyle = "lwarp.xdy" (or a custom file based on lwarp.xdy)
--- glossarycmd = "makeglossaries"
--- pdftotextenc = "UTF-8"  (use an encoding supported by pdftotext)
--- --
--- Filenames must contain only letters, numbers, underscore, or dash.
--- Values must be in upright "quotes".
---
--- ]] ) ;
--- end
-
 function splitfile (destfile,sourcefile)
 --
 -- Split one large sourcefile into a number of files,
@@ -107,6 +78,11 @@
     os.exit(1) ;
 end
 
+function ignoreconf ()
+-- Global argument index
+argindex = 2
+end
+
 function loadconf ()
 --
 -- Load settings from the project's "lwarpmk.conf" file:
@@ -124,9 +100,11 @@
     argindex = argindex + 1
 end
 -- Additional defaults:
+confversion = "0"
 opsystem = "Unix"
 latexmk = "false"
-shellescape = "false"
+printlatexcmd = ""
+HTMLlatexcmd = ""
 printindexcmd = ""
 HTMLindexcmd = ""
 latexmkindexcmd = ""
@@ -159,11 +137,11 @@
 -- Read the file:
 print ("lwarpmk: Reading " .. conffile ..".")
 local cfile = io.open(conffile)
--- Scan each line:
+-- Scan each line, parsing each line as: name = [[string]]
 local linenum = 0
 for line in cfile:lines() do -- scan lines
 linenum = linenum + 1
-i,j,cvarname,cvalue = string.find (line,"([%w-_]*)%s*=%s*\"([^\"]*)\"") ;
+i,j,cvarname,cvalue = string.find (line,"([%w-_]*)%s*=%s*%[%[([^%]]*)%]%]") ;
 -- Error if incorrect enclosing characters:
 if ( i == nil ) then
     print ("lwarpmk: ===")
@@ -173,7 +151,9 @@
 --    printconf () ;
     os.exit(1) ;
 end -- nil
-if ( cvarname == "opsystem" ) then
+if ( cvarname == "confversion" ) then
+    confversion = cvalue
+elseif ( cvarname == "opsystem" ) then
     -- Verify choice of opsystem:
     if ( (cvalue == "Unix") or (cvalue == "Windows") ) then
         opsystem = cvalue
@@ -180,41 +160,16 @@
     else
         cvalueerror ( line, linenum , cvalue )
     end
-elseif ( cvarname == "latexname" ) then
-    -- Verify choice of LaTeX compiler:
-    if (
-        (cvalue == "pdflatex") or
-        (cvalue == "xelatex") or
-        (cvalue == "lualatex")
-    ) then
-        latexname = cvalue
-    else
-        cvalueerror ( line, linenum , cvalue )
-    end
 elseif ( cvarname == "sourcename" ) then sourcename = cvalue
 elseif ( cvarname == "homehtmlfilename" ) then homehtmlfilename = cvalue
 elseif ( cvarname == "htmlfilename" ) then htmlfilename = cvalue
 elseif ( cvarname == "latexmk" ) then latexmk = cvalue
-elseif ( cvarname == "shellescape" ) then shellescape = cvalue
+elseif ( cvarname == "printlatexcmd" ) then printlatexcmd = cvalue
+elseif ( cvarname == "HTMLlatexcmd" ) then HTMLlatexcmd = cvalue
 elseif ( cvarname == "printindexcmd" ) then printindexcmd = cvalue
 elseif ( cvarname == "HTMLindexcmd" ) then HTMLindexcmd = cvalue
 elseif ( cvarname == "latexmkindexcmd" ) then latexmkindexcmd = cvalue
 elseif ( cvarname == "glossarycmd" ) then glossarycmd = cvalue
--- to be removed:
--- elseif ( cvarname == "indexprog" ) then
---     -- Verify choice of indexing program:
---     if (
---         (cvalue == "makeindex") or
---         (cvalue == "xindy")
---     ) then
---         indexprog = cvalue
---     else
---         cvalueerror ( line, linenum , cvalue )
---     end
--- elseif ( cvarname == "makeindexstyle" ) then makeindexstyle = cvalue
--- elseif ( cvarname == "xindylanguage" ) then xindylanguage = cvalue
--- elseif ( cvarname == "xindycodepage" ) then xindycodepage = cvalue
--- elseif ( cvarname == "xindystyle" ) then xindystyle = cvalue
 elseif ( cvarname == "pdftotextenc" ) then pdftotextenc = cvalue
 else
     print ("lwarpmk: ===")
@@ -234,7 +189,7 @@
 -- This could happen if a local copy of lwarp has recently been recompiled.
 if sourcename=="lwarp" then
     print ("lwarpmk: ===")
-    print ("lwarpmk: Lwarp has recently been recompiled in this directory,")
+    print ("lwarpmk: lwarp.sty has recently been recompiled in this directory,")
     print ("lwarpmk: and \"lwarpmk.conf\" is no longer set for your own project.")
     print ("lwarpmk: Recompile your own project using pdf/lua/xelatex <projectname>.")
     print ("lwarpmk: After a recompile, \"lwarpmk.conf\" will be set for your project,")
@@ -269,9 +224,33 @@
     cmdgroupclosename = ""
     seqname = " & "
     bgname = ""
-else print ( "lwarpmk: Select Unix or Windows for opsystem" )
+else
+    print ("lwarpmk: ===")
+    print ("lwarpmk: Select Unix or Windows for opsystem." )
+    print ("lwarpmk: ===")
+    os.exit(1)
 end --- for Windows
-
+-- Warning if the operating system does not appear to be correct,
+-- in case files were transferred to another system.
+if ( (package.config:sub(1,1)) ~= dirslash ) then
+    print ("lwarpmk: ===")
+    print ("lwarpmk: It appears that lwarpmk.conf is for a different operating system." )
+    print ("lwarpmk: To adjust lwarpmk.conf for the current operating system," )
+    print ("lwarpmk:   recompile the original document using xe/lua/pdflatex." )
+    print ("lwarpmk: ")
+    print ("lwarpmk: lwarpmk shall attempt to continue...")
+    print ("lwarpmk: ===")
+end
+-- Error if the configuration file's version is not current:
+if ( confversion ~= requiredconfversion ) then
+    print ("lwarpmk: ===")
+    print ("lwarpmk: The configuration files lwarpmk.conf and "..sourcename..".lwarpmkconf" )
+    print ("lwarpmk:   must be updated.  To update the configuration files," )
+    print ("lwarpmk:   recompile "..sourcename..".tex using xe/lua/pdflatex," )
+    print ("lwarpmk:   then use lwarpmk again.")
+    print ("lwarpmk: ===")
+    os.exit(1)
+end
 end -- loadconf
 
 function executecheckerror ( executecommands , errormessage )
@@ -310,35 +289,29 @@
 return false
 end
 
-function onetime (fsuffix)
+function onetime (latexcmd, fsuffix)
 --
 -- Compile one time, return true if should compile again.
 -- fsuffix is "" for print, "_html" for HTML output.
 --
-print("lwarpmk: Compiling with " .. latexname .. " " .. sourcename..fsuffix)
-local thisshellescape = " "
-if ( shellescape == "true" ) then
-    thisshellescape = " -shell-escape "
-else
-    thisshellescape = " "
-end
+print("lwarpmk: Compiling with: " .. latexcmd)
 executecheckerror (
-    latexname .. thisshellescape .. sourcename..fsuffix ,
+    latexcmd ,
     "Compile error."
 )
 return (reruntoget(sourcename .. fsuffix .. ".log") ) ;
 end
 
-function manytimes (fsuffix)
+function manytimes (latexcmd, fsuffix)
 --
 -- Compile up to five times.
 -- fsuffix is "" for print, "_html" for HTML output
 --
-if onetime(fsuffix) == true then
-if onetime(fsuffix) == true then
-if onetime(fsuffix) == true then
-if onetime(fsuffix) == true then
-if onetime(fsuffix) == true then
+if onetime(latexcmd, fsuffix) == true then
+if onetime(latexcmd, fsuffix) == true then
+if onetime(latexcmd, fsuffix) == true then
+if onetime(latexcmd, fsuffix) == true then
+if onetime(latexcmd, fsuffix) == true then
 end end end end end
 end
 
@@ -370,7 +343,7 @@
 function removeaux ()
 --
 -- Remove auxiliary files:
--- All aux files are removed since there may be many bbl*.aux files.
+-- All .aux files are removed since there may be many bbl*.aux files.
 --
 os.execute ( rmname .. " *.aux " ..
     sourcename ..".toc " .. sourcename .. "_html.toc " ..
@@ -378,6 +351,7 @@
     sourcename ..".lot " .. sourcename .. "_html.lot " ..
     " *.idx " ..
     " *.ind " ..
+    sourcename ..".ps " .. sourcename .."_html.ps " ..
     sourcename ..".log " .. sourcename .. "_html.log " ..
     sourcename ..".gl* " .. sourcename .. "_html.gl* " ..
     " *_html_inc.* "
@@ -603,34 +577,22 @@
 end -- pagezerowarning
 end -- function
 
-function compilelatexmk ( fsuffix )
+function convertepstopdf ()
 --
--- Use latexmk to compile source and index:
--- fsuffix is "" for print, or "_html" for HTML
+-- Converts EPS files to PDF files.
+-- The filenames are arg[argindex] and up.
+-- arg[1] is the command "pdftosvg".
 --
--- Maybe select the shell-escape option:
-local thisshellescape = " "
-if ( shellescape == "true" ) then
-    thisshellescape = " -shell-escape "
-else
-    thisshellescape = " "
-end
--- The recorder option is required to detect changes in <project>.tex
--- while we are loading <project>_html.tex.
-executecheckerror (
-    "latexmk -pdf -dvi- -ps- -recorder "
-    .. "-e "
-    .. opquote
-    .. "$makeindex = q/" -- $
-    .. latexmkindexcmd
-    .. " /"
-    .. opquote
-    .. " -pdflatex=\"" .. latexname .. thisshellescape .." %O %S\" "
-    .. sourcename..fsuffix ..".tex"
-    ,
-    "Compile error."
-)
-end -- function
+ignoreconf ()
+for i = argindex , #arg do
+    if (lfs.attributes(arg[i],"mode")==nil) then
+        print ("lwarpmk: File \"" .. arg[i] .. "\" does not exist.")
+    else
+        print ("lwarpmk: Converting \"" .. arg[i] .. "\"")
+        os.execute ( "epstopdf " .. arg[i] )
+    end -- if
+end -- do
+end --function
 
 function convertpdftosvg ()
 --
@@ -638,6 +600,7 @@
 -- The filenames are arg[argindex] and up.
 -- arg[1] is the command "pdftosvg".
 --
+ignoreconf ()
 for i = argindex , #arg do
     if (lfs.attributes(arg[i],"mode")==nil) then
         print ("lwarpmk: File \"" .. arg[i] .. "\" does not exist.")
@@ -674,7 +637,11 @@
 if arg[1] == "print" then
 loadconf ()
 if ( latexmk == "true" ) then
-    compilelatexmk ("")
+    print ("lwarpmk: Compiling with: " .. printlatexcmd)
+    executecheckerror (
+        printlatexcmd ,
+        "Compile error."
+    )
     print ("lwarpmk: Done.")
 else -- not latexmk
     verifyfileexists (sourcename .. ".tex") ;
@@ -687,7 +654,7 @@
         )
     ) then
         -- Recompile if not yet up to date:
-        manytimes("")
+        manytimes(printlatexcmd, "")
         print ("lwarpmk: Done.") ;
     else
         print ("lwarpmk: " .. sourcename .. ".pdf is up to date.") ;
@@ -699,7 +666,7 @@
 elseif arg[1] == "print1" then
     loadconf ()
     verifyfileexists (sourcename .. ".tex") ;
-    onetime("")
+    onetime(printlatexcmd, "")
     print ("lwarpmk: Done.") ;
 
 -- lwarpmk printindex:
@@ -728,7 +695,11 @@
 elseif arg[1] == "html" then
 loadconf ()
 if ( latexmk == "true" ) then
-    compilelatexmk ("_html")
+    print ("lwarpmk: Compiling with: " .. HTMLlatexcmd)
+    executecheckerror (
+        HTMLlatexcmd ,
+        "Compile error."
+    )
     pdftohtml ()
     print ("lwarpmk: Done.")
 else -- not latexmk
@@ -742,7 +713,7 @@
         )
     ) then
         -- Recompile if not yet up to date:
-        manytimes("_html")
+        manytimes(HTMLlatexcmd, "_html")
         pdftohtml ()
         print ("lwarpmk: Done.")
     else
@@ -755,7 +726,7 @@
 elseif arg[1] == "html1" then
     loadconf ()
     verifyfileexists ( sourcename .. ".tex" ) ;
-    onetime("_html")
+    onetime(HTMLlatexcmd, "_html")
     pdftohtml ()
     print ("lwarpmk: Done.")
 
@@ -811,7 +782,7 @@
 
 -- lwarpmk cleanall
 -- Remove project.aux, .toc, .lof, .lot, .log, *.idx, *.ind, *_html_inc.*, .gl*
---    and also project.pdf, *.html
+--    and also project.pdf, project.dvi, *.html
 
 elseif arg[1] == "cleanall" then
 loadconf ()
@@ -818,6 +789,7 @@
 removeaux ()
 os.execute ( rmname .. " " ..
     sourcename .. ".pdf " .. sourcename .. "_html.pdf " ..
+    sourcename .. ".dvi " .. sourcename .. "_html.dvi " ..
     "*.html"
     )
 print ("lwarpmk: Done.")
@@ -830,8 +802,14 @@
 os.execute ( rmname .. " lateximages/*" )
 print ("lwarpmk: Done.")
 
+-- lwarpmk epstopdf <list of file names>
+-- Convert EPS files to PDF using epstopdf
+elseif arg[1] == "epstopdf" then
+convertepstopdf ()
+print ("lwarpmk: Done.")
+
 -- lwarpmk pdftosvg <list of file names>
--- Convert PDf files to SVG using pdftocairo
+-- Convert PDF files to SVG using pdftocairo
 elseif arg[1] == "pdftosvg" then
 convertpdftosvg ()
 print ("lwarpmk: Done.")

Modified: trunk/Build/source/texk/texlive/linked_scripts/texlive/tlmgr.pl
===================================================================
--- trunk/Build/source/texk/texlive/linked_scripts/texlive/tlmgr.pl	2018-09-07 21:00:01 UTC (rev 48616)
+++ trunk/Build/source/texk/texlive/linked_scripts/texlive/tlmgr.pl	2018-09-07 21:00:41 UTC (rev 48617)
@@ -1,12 +1,12 @@
 #!/usr/bin/env perl
-# $Id: tlmgr.pl 48522 2018-08-31 04:03:37Z preining $
+# $Id: tlmgr.pl 48598 2018-09-06 15:01:34Z preining $
 #
 # Copyright 2008-2018 Norbert Preining
 # This file is licensed under the GNU General Public License version 2
 # or any later version.
 
-my $svnrev = '$Revision: 48522 $';
-my $datrev = '$Date: 2018-08-31 06:03:37 +0200 (Fri, 31 Aug 2018) $';
+my $svnrev = '$Revision: 48598 $';
+my $datrev = '$Date: 2018-09-06 17:01:34 +0200 (Thu, 06 Sep 2018) $';
 my $tlmgrrevision;
 my $tlmgrversion;
 my $prg;
@@ -9228,46 +9228,44 @@
    /var/www/norbert/tlnet
 
 Ok.  Let's add the C<tlcontrib> repository (this is a real
-repository, hosted at L<http://tlcontrib.metatex.org>, maintained by
-Taco Hoekwater et al.), with the tag C<tlcontrib>:
+repository hosted at L<http://contrib.texlive.info>) with the tag C<tlcontrib>:
 
- $ tlmgr repository add http://tlcontrib.metatex.org/2012 tlcontrib
+ $ tlmgr repository add http://contrib.texlive.info/current tlcontrib
 
 Check the repository list again:
 
  $ tlmgr repository list
  List of repositories (with tags if set):
-    http://tlcontrib.metatex.org/2012 (tlcontrib)
+    http://contrib.texlive.info/current (tlcontrib)
     /var/www/norbert/tlnet (main)
 
-Now we specify a pinning entry to get the package C<context> from
+Now we specify a pinning entry to get the package C<classico> from
 C<tlcontrib>:
 
- $ tlmgr pinning add tlcontrib context
+ $ tlmgr pinning add tlcontrib classico
 
-Check that we can find C<context>:
+Check that we can find C<classico>:
 
- $ tlmgr show context
- tlmgr: package repositories:
+ $ tlmgr show classico
+ package:     classico
  ...
- package:     context
- repository:  tlcontrib/26867
+ shortdesc:   URW Classico fonts
  ...
 
-- install C<context>:
+- install C<classico>:
 
- $ tlmgr install context
+ $ tlmgr install classico
  tlmgr: package repositories:
  ...
- [1/1,  ??:??/??:??] install: context @tlcontrib [
+ [1/1,  ??:??/??:??] install: classico @tlcontrib [737k]
 
-In the output here you can see that the C<context> package has been
+In the output here you can see that the C<classico> package has been
 installed from the C<tlcontrib> repository (C<@tlcontrib>).
 
 Finally, C<tlmgr pinning> also supports removing certain or all packages
 from a given repository:
 
-  $ tlmgr pinning remove tlcontrib context  # remove just context
+  $ tlmgr pinning remove tlcontrib classico # remove just classico
   $ tlmgr pinning remove tlcontrib --all    # take nothing from tlcontrib
 
 A summary of the C<tlmgr pinning> actions is given above.
@@ -9743,7 +9741,7 @@
 distribution (L<http://tug.org/texlive>) and both are licensed under the
 GNU General Public License Version 2 or later.
 
-$Id: tlmgr.pl 48522 2018-08-31 04:03:37Z preining $
+$Id: tlmgr.pl 48598 2018-09-06 15:01:34Z preining $
 =cut
 
 # test HTML version: pod2html --cachedir=/tmp tlmgr.pl >/tmp/tlmgr.html

Modified: trunk/Master/texmf-dist/doc/latex/lwarp/README.txt
===================================================================
--- trunk/Master/texmf-dist/doc/latex/lwarp/README.txt	2018-09-07 21:00:01 UTC (rev 48616)
+++ trunk/Master/texmf-dist/doc/latex/lwarp/README.txt	2018-09-07 21:00:41 UTC (rev 48617)
@@ -1,5 +1,5 @@
 
-LaTeX lwarp package v0.58   README.txt
+LaTeX lwarp package v0.59   README.txt
 
 Files included are:
 

Modified: trunk/Master/texmf-dist/doc/latex/lwarp/lwarp.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/scripts/lwarp/lwarpmk.lua
===================================================================
--- trunk/Master/texmf-dist/scripts/lwarp/lwarpmk.lua	2018-09-07 21:00:01 UTC (rev 48616)
+++ trunk/Master/texmf-dist/scripts/lwarp/lwarpmk.lua	2018-09-07 21:00:41 UTC (rev 48617)
@@ -2,7 +2,8 @@
 
 -- Copyright 2016-2018 Brian Dunn
 
-printversion = "v0.58"
+printversion = "v0.59"
+requiredconfversion = "1" -- also at *lwarpmk.conf
 
 function printhelp ()
 print ("lwarpmk: Use lwarpmk -h or lwarpmk --help for help.") ;
@@ -29,6 +30,7 @@
     Converts project_html.pdf to project_html.html and individual HTML files.
     Finishes the HTML conversion even if there was a compile error.
 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*
 lwarpmk cleanall [-p project]: Remove auxiliary files and also project.pdf, *.html
 lwarpmk cleanlimages: Removes all images from the "lateximages" directory.
@@ -39,37 +41,6 @@
 -- printconf ()
 end
 
--- function printconf ()
--- --
--- -- Print the format of the configuration file lwarpmk.conf:
--- --
--- print ( [[
--- An example lwarpmk.conf or <project>.lwarpmkconf project file:
--- --
--- opsystem = "Unix"   (or "Windows")
--- latexname = "pdflatex"  (or "lualatex", or "xelatex")
--- sourcename = "projectname"  (the source-code filename w/o .tex)
--- homehtmlfilename = "index"  (or perhaps the project name)
--- htmlfilename = ""  (or "projectname" - filename prefix)
--- latexmk = "false"  (or "true" to use latexmk to build PDFs)
--- shellescape = "false"
--- printindexcmd = "makeindex -s lwarp.ist <name>.idx"
--- HTMLindexcmd = "makeindex -s lwarp.ist <name>_html.idx"
--- latexmkindexcmd = "makeindex -s lwarp.ist"
--- -- indexprog = "makeindex" or "xindy"
--- -- makeindexstyle = "lwarp.ist" (or a custom file based on lwarp.ist)
--- -- xindylanguge = "english"  (use a language supported by xindy)
--- -- xindycodepage = "utf8"  (use a codepage supported by xindy)
--- -- xindystyle = "lwarp.xdy" (or a custom file based on lwarp.xdy)
--- glossarycmd = "makeglossaries"
--- pdftotextenc = "UTF-8"  (use an encoding supported by pdftotext)
--- --
--- Filenames must contain only letters, numbers, underscore, or dash.
--- Values must be in upright "quotes".
---
--- ]] ) ;
--- end
-
 function splitfile (destfile,sourcefile)
 --
 -- Split one large sourcefile into a number of files,
@@ -107,6 +78,11 @@
     os.exit(1) ;
 end
 
+function ignoreconf ()
+-- Global argument index
+argindex = 2
+end
+
 function loadconf ()
 --
 -- Load settings from the project's "lwarpmk.conf" file:
@@ -124,9 +100,11 @@
     argindex = argindex + 1
 end
 -- Additional defaults:
+confversion = "0"
 opsystem = "Unix"
 latexmk = "false"
-shellescape = "false"
+printlatexcmd = ""
+HTMLlatexcmd = ""
 printindexcmd = ""
 HTMLindexcmd = ""
 latexmkindexcmd = ""
@@ -159,11 +137,11 @@
 -- Read the file:
 print ("lwarpmk: Reading " .. conffile ..".")
 local cfile = io.open(conffile)
--- Scan each line:
+-- Scan each line, parsing each line as: name = [[string]]
 local linenum = 0
 for line in cfile:lines() do -- scan lines
 linenum = linenum + 1
-i,j,cvarname,cvalue = string.find (line,"([%w-_]*)%s*=%s*\"([^\"]*)\"") ;
+i,j,cvarname,cvalue = string.find (line,"([%w-_]*)%s*=%s*%[%[([^%]]*)%]%]") ;
 -- Error if incorrect enclosing characters:
 if ( i == nil ) then
     print ("lwarpmk: ===")
@@ -173,7 +151,9 @@
 --    printconf () ;
     os.exit(1) ;
 end -- nil
-if ( cvarname == "opsystem" ) then
+if ( cvarname == "confversion" ) then
+    confversion = cvalue
+elseif ( cvarname == "opsystem" ) then
     -- Verify choice of opsystem:
     if ( (cvalue == "Unix") or (cvalue == "Windows") ) then
         opsystem = cvalue
@@ -180,41 +160,16 @@
     else
         cvalueerror ( line, linenum , cvalue )
     end
-elseif ( cvarname == "latexname" ) then
-    -- Verify choice of LaTeX compiler:
-    if (
-        (cvalue == "pdflatex") or
-        (cvalue == "xelatex") or
-        (cvalue == "lualatex")
-    ) then
-        latexname = cvalue
-    else
-        cvalueerror ( line, linenum , cvalue )
-    end
 elseif ( cvarname == "sourcename" ) then sourcename = cvalue
 elseif ( cvarname == "homehtmlfilename" ) then homehtmlfilename = cvalue
 elseif ( cvarname == "htmlfilename" ) then htmlfilename = cvalue
 elseif ( cvarname == "latexmk" ) then latexmk = cvalue
-elseif ( cvarname == "shellescape" ) then shellescape = cvalue
+elseif ( cvarname == "printlatexcmd" ) then printlatexcmd = cvalue
+elseif ( cvarname == "HTMLlatexcmd" ) then HTMLlatexcmd = cvalue
 elseif ( cvarname == "printindexcmd" ) then printindexcmd = cvalue
 elseif ( cvarname == "HTMLindexcmd" ) then HTMLindexcmd = cvalue
 elseif ( cvarname == "latexmkindexcmd" ) then latexmkindexcmd = cvalue
 elseif ( cvarname == "glossarycmd" ) then glossarycmd = cvalue
--- to be removed:
--- elseif ( cvarname == "indexprog" ) then
---     -- Verify choice of indexing program:
---     if (
---         (cvalue == "makeindex") or
---         (cvalue == "xindy")
---     ) then
---         indexprog = cvalue
---     else
---         cvalueerror ( line, linenum , cvalue )
---     end
--- elseif ( cvarname == "makeindexstyle" ) then makeindexstyle = cvalue
--- elseif ( cvarname == "xindylanguage" ) then xindylanguage = cvalue
--- elseif ( cvarname == "xindycodepage" ) then xindycodepage = cvalue
--- elseif ( cvarname == "xindystyle" ) then xindystyle = cvalue
 elseif ( cvarname == "pdftotextenc" ) then pdftotextenc = cvalue
 else
     print ("lwarpmk: ===")
@@ -234,7 +189,7 @@
 -- This could happen if a local copy of lwarp has recently been recompiled.
 if sourcename=="lwarp" then
     print ("lwarpmk: ===")
-    print ("lwarpmk: Lwarp has recently been recompiled in this directory,")
+    print ("lwarpmk: lwarp.sty has recently been recompiled in this directory,")
     print ("lwarpmk: and \"lwarpmk.conf\" is no longer set for your own project.")
     print ("lwarpmk: Recompile your own project using pdf/lua/xelatex <projectname>.")
     print ("lwarpmk: After a recompile, \"lwarpmk.conf\" will be set for your project,")
@@ -269,9 +224,33 @@
     cmdgroupclosename = ""
     seqname = " & "
     bgname = ""
-else print ( "lwarpmk: Select Unix or Windows for opsystem" )
+else
+    print ("lwarpmk: ===")
+    print ("lwarpmk: Select Unix or Windows for opsystem." )
+    print ("lwarpmk: ===")
+    os.exit(1)
 end --- for Windows
-
+-- Warning if the operating system does not appear to be correct,
+-- in case files were transferred to another system.
+if ( (package.config:sub(1,1)) ~= dirslash ) then
+    print ("lwarpmk: ===")
+    print ("lwarpmk: It appears that lwarpmk.conf is for a different operating system." )
+    print ("lwarpmk: To adjust lwarpmk.conf for the current operating system," )
+    print ("lwarpmk:   recompile the original document using xe/lua/pdflatex." )
+    print ("lwarpmk: ")
+    print ("lwarpmk: lwarpmk shall attempt to continue...")
+    print ("lwarpmk: ===")
+end
+-- Error if the configuration file's version is not current:
+if ( confversion ~= requiredconfversion ) then
+    print ("lwarpmk: ===")
+    print ("lwarpmk: The configuration files lwarpmk.conf and "..sourcename..".lwarpmkconf" )
+    print ("lwarpmk:   must be updated.  To update the configuration files," )
+    print ("lwarpmk:   recompile "..sourcename..".tex using xe/lua/pdflatex," )
+    print ("lwarpmk:   then use lwarpmk again.")
+    print ("lwarpmk: ===")
+    os.exit(1)
+end
 end -- loadconf
 
 function executecheckerror ( executecommands , errormessage )
@@ -310,35 +289,29 @@
 return false
 end
 
-function onetime (fsuffix)
+function onetime (latexcmd, fsuffix)
 --
 -- Compile one time, return true if should compile again.
 -- fsuffix is "" for print, "_html" for HTML output.
 --
-print("lwarpmk: Compiling with " .. latexname .. " " .. sourcename..fsuffix)
-local thisshellescape = " "
-if ( shellescape == "true" ) then
-    thisshellescape = " -shell-escape "
-else
-    thisshellescape = " "
-end
+print("lwarpmk: Compiling with: " .. latexcmd)
 executecheckerror (
-    latexname .. thisshellescape .. sourcename..fsuffix ,
+    latexcmd ,
     "Compile error."
 )
 return (reruntoget(sourcename .. fsuffix .. ".log") ) ;
 end
 
-function manytimes (fsuffix)
+function manytimes (latexcmd, fsuffix)
 --
 -- Compile up to five times.
 -- fsuffix is "" for print, "_html" for HTML output
 --
-if onetime(fsuffix) == true then
-if onetime(fsuffix) == true then
-if onetime(fsuffix) == true then
-if onetime(fsuffix) == true then
-if onetime(fsuffix) == true then
+if onetime(latexcmd, fsuffix) == true then
+if onetime(latexcmd, fsuffix) == true then
+if onetime(latexcmd, fsuffix) == true then
+if onetime(latexcmd, fsuffix) == true then
+if onetime(latexcmd, fsuffix) == true then
 end end end end end
 end
 
@@ -370,7 +343,7 @@
 function removeaux ()
 --
 -- Remove auxiliary files:
--- All aux files are removed since there may be many bbl*.aux files.
+-- All .aux files are removed since there may be many bbl*.aux files.
 --
 os.execute ( rmname .. " *.aux " ..
     sourcename ..".toc " .. sourcename .. "_html.toc " ..
@@ -378,6 +351,7 @@
     sourcename ..".lot " .. sourcename .. "_html.lot " ..
     " *.idx " ..
     " *.ind " ..
+    sourcename ..".ps " .. sourcename .."_html.ps " ..
     sourcename ..".log " .. sourcename .. "_html.log " ..
     sourcename ..".gl* " .. sourcename .. "_html.gl* " ..
     " *_html_inc.* "
@@ -603,34 +577,22 @@
 end -- pagezerowarning
 end -- function
 
-function compilelatexmk ( fsuffix )
+function convertepstopdf ()
 --
--- Use latexmk to compile source and index:
--- fsuffix is "" for print, or "_html" for HTML
+-- Converts EPS files to PDF files.
+-- The filenames are arg[argindex] and up.
+-- arg[1] is the command "pdftosvg".
 --
--- Maybe select the shell-escape option:
-local thisshellescape = " "
-if ( shellescape == "true" ) then
-    thisshellescape = " -shell-escape "
-else
-    thisshellescape = " "
-end
--- The recorder option is required to detect changes in <project>.tex
--- while we are loading <project>_html.tex.
-executecheckerror (
-    "latexmk -pdf -dvi- -ps- -recorder "
-    .. "-e "
-    .. opquote
-    .. "$makeindex = q/" -- $
-    .. latexmkindexcmd
-    .. " /"
-    .. opquote
-    .. " -pdflatex=\"" .. latexname .. thisshellescape .." %O %S\" "
-    .. sourcename..fsuffix ..".tex"
-    ,
-    "Compile error."
-)
-end -- function
+ignoreconf ()
+for i = argindex , #arg do
+    if (lfs.attributes(arg[i],"mode")==nil) then
+        print ("lwarpmk: File \"" .. arg[i] .. "\" does not exist.")
+    else
+        print ("lwarpmk: Converting \"" .. arg[i] .. "\"")
+        os.execute ( "epstopdf " .. arg[i] )
+    end -- if
+end -- do
+end --function
 
 function convertpdftosvg ()
 --
@@ -638,6 +600,7 @@
 -- The filenames are arg[argindex] and up.
 -- arg[1] is the command "pdftosvg".
 --
+ignoreconf ()
 for i = argindex , #arg do
     if (lfs.attributes(arg[i],"mode")==nil) then
         print ("lwarpmk: File \"" .. arg[i] .. "\" does not exist.")
@@ -674,7 +637,11 @@
 if arg[1] == "print" then
 loadconf ()
 if ( latexmk == "true" ) then
-    compilelatexmk ("")
+    print ("lwarpmk: Compiling with: " .. printlatexcmd)
+    executecheckerror (
+        printlatexcmd ,
+        "Compile error."
+    )
     print ("lwarpmk: Done.")
 else -- not latexmk
     verifyfileexists (sourcename .. ".tex") ;
@@ -687,7 +654,7 @@
         )
     ) then
         -- Recompile if not yet up to date:
-        manytimes("")
+        manytimes(printlatexcmd, "")
         print ("lwarpmk: Done.") ;
     else
         print ("lwarpmk: " .. sourcename .. ".pdf is up to date.") ;
@@ -699,7 +666,7 @@
 elseif arg[1] == "print1" then
     loadconf ()
     verifyfileexists (sourcename .. ".tex") ;
-    onetime("")
+    onetime(printlatexcmd, "")
     print ("lwarpmk: Done.") ;
 
 -- lwarpmk printindex:
@@ -728,7 +695,11 @@
 elseif arg[1] == "html" then
 loadconf ()
 if ( latexmk == "true" ) then
-    compilelatexmk ("_html")
+    print ("lwarpmk: Compiling with: " .. HTMLlatexcmd)
+    executecheckerror (
+        HTMLlatexcmd ,
+        "Compile error."
+    )
     pdftohtml ()
     print ("lwarpmk: Done.")
 else -- not latexmk
@@ -742,7 +713,7 @@
         )
     ) then
         -- Recompile if not yet up to date:
-        manytimes("_html")
+        manytimes(HTMLlatexcmd, "_html")
         pdftohtml ()
         print ("lwarpmk: Done.")
     else
@@ -755,7 +726,7 @@
 elseif arg[1] == "html1" then
     loadconf ()
     verifyfileexists ( sourcename .. ".tex" ) ;
-    onetime("_html")
+    onetime(HTMLlatexcmd, "_html")
     pdftohtml ()
     print ("lwarpmk: Done.")
 
@@ -811,7 +782,7 @@
 
 -- lwarpmk cleanall
 -- Remove project.aux, .toc, .lof, .lot, .log, *.idx, *.ind, *_html_inc.*, .gl*
---    and also project.pdf, *.html
+--    and also project.pdf, project.dvi, *.html
 
 elseif arg[1] == "cleanall" then
 loadconf ()
@@ -818,6 +789,7 @@
 removeaux ()
 os.execute ( rmname .. " " ..
     sourcename .. ".pdf " .. sourcename .. "_html.pdf " ..
+    sourcename .. ".dvi " .. sourcename .. "_html.dvi " ..
     "*.html"
     )
 print ("lwarpmk: Done.")
@@ -830,8 +802,14 @@
 os.execute ( rmname .. " lateximages/*" )
 print ("lwarpmk: Done.")
 
+-- lwarpmk epstopdf <list of file names>
+-- Convert EPS files to PDF using epstopdf
+elseif arg[1] == "epstopdf" then
+convertepstopdf ()
+print ("lwarpmk: Done.")
+
 -- lwarpmk pdftosvg <list of file names>
--- Convert PDf files to SVG using pdftocairo
+-- Convert PDF files to SVG using pdftocairo
 elseif arg[1] == "pdftosvg" then
 convertpdftosvg ()
 print ("lwarpmk: Done.")

Modified: trunk/Master/texmf-dist/source/latex/lwarp/lwarp.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/lwarp/lwarp.dtx	2018-09-07 21:00:01 UTC (rev 48616)
+++ trunk/Master/texmf-dist/source/latex/lwarp/lwarp.dtx	2018-09-07 21:00:41 UTC (rev 48617)
@@ -16,7 +16,7 @@
 % \iffalse
 %<package>\NeedsTeXFormat{LaTeX2e}[1999/12/01]
 %<package>\ProvidesPackage{lwarp}
-%<package>    [2018/07/07 v0.58  Allows LaTeX to directly produce HTML5 output.]
+%<package>    [2018/09/07 v0.59  Allows LaTeX to directly produce HTML5 output.]
 %
 %<*driver>
 \documentclass{ltxdoc}
@@ -297,8 +297,11 @@
 \newrobustcmd{\ODT}{\acro{ODT}}
 \newrobustcmd{\SVG}{\acro{SVG}}
 \newrobustcmd{\PNG}{\acro{PNG}}
+\newrobustcmd{\GIF}{\acro{GIF}}
 \newrobustcmd{\JPG}{\acro{JPG}}
+\newrobustcmd{\EPS}{\acro{EPS}}
 \newrobustcmd{\PDF}{\acro{PDF}}
+\newrobustcmd{\DVI}{\acro{DVI}}
 \newrobustcmd{\tikz}{Ti\textit{k}z}
 \newrobustcmd{\MathML}{Math\acro{ML}}
 \newrobustcmd{\CTAN}{\acro{CTAN}}
@@ -1032,7 +1035,7 @@
 \index{font>size --- math, SVG}%
 \index{math>font size --- SVG}%
 \index{lateximages>font size}%
-by setting \cs{LateximageFontSizeName} to a font size name --- \emph{without the backslash},
+by setting \cs{LateximageFontSizeName} to a font size name \Dash \emph{without the backslash},
 which defaults to:
 \begin{sourcedisplay}
 \cs{renewcommand}\{\cs{LateximageFontSizeName}\}\{\textred{normalsize}\}
@@ -1062,8 +1065,8 @@
 An example is an elaborate \tikz\ picture, which will not render in \brand{MathJax} and
 will not make sense as an \HTML\ \attribute{alt} tag.
 In this mode, \brand{MathJax} is turned off,
-math display environments become \SVG\ images, even for 
-\brand{MathJax}, and the \HTML\ \attribute{alt} tags become simple messages.
+math display environments become \SVG\ images, even if \brand{MathJax} is selected,
+and the \HTML\ \attribute{alt} tags become simple messages.
 The contents are internally processed as an environment instead of a macro argument,
 so complicated objects such as \tikz\ pictures are more likely to compile successfully.
 }
@@ -1297,56 +1300,79 @@
 \optn{thref} option.
 }
 
-
 \newcommand{\limitsgraphics}{%
-For \cs{includegraphics} with \texttt{.pdf} files,
-\index{graphics>PDF files}
+For \cs{includegraphics} with \filenm{.pdf} or \filenm{.eps} files,
+\index{graphics>formats}
+\index{includegraphics=\cs{includegraphics}>using}
 \index{PDF images>using}
-\index{images>PDF>using}
-\watchout[\texttt{.pdf} image files]
-the user should provide a \texttt{.pdf} image file, and also
-a \texttt{.svg}, \texttt{.png}, or \texttt{.jpg} version of the same image.
-\textred{These should be referred to without a file extension:}
-\watchout[no file extension]
+\index{EPS images>using}
+\index{images>PDF or EPS>using}
+\margintag{\cs{includegraphics} file formats}
+the user must provide a \filenm{.pdf} or \filenm{.eps} image file for use
+in print mode, and also a \filenm{.svg}, \filenm{.png}, or \filenm{.jpg} version
+of the same image for use in \HTML.
 \begin{sourcedisplay}
-\cs{includegraphics}\{filename\}    \% print:.pdf,  HTML:.svg or other
+\cs{includegraphics}\{filename\}    \% print:.pdf/.eps  HTML:.svg, etc.
 \end{sourcedisplay}
-For print output, \pkg{lwarp} will automatically choose the \texttt{.pdf} if available,
-or some other format otherwise.
+For print output, \pkg{lwarp} will automatically choose the \filenm{.pdf} or \filenm{.eps}
+format if available, or some other format otherwise.
 For \HTML, one of the other formats is used instead.
 
+If a \filenm{.pdf} or \filenm{.eps} image is referred to with its file extension,
+the extension will be changed to \filenm{.svg} for \HTML:
+\begin{sourcedisplay}
+\cs{includegraphics}\{filename.pdf\} \% uses .svg in \HTML \\
+\cs{includegraphics}\{filename.eps\} \% uses .svg in \HTML \\
+\end{sourcedisplay}
+
 \DescribeProgram{pdftocairo}
-To convert a \PDF\ image to \SVG, use the utility \texttt{pdftocairo}:
+\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}:
+\DescribeProgram{lwarpmk pdftosvg}
 \userentry{lwarpmk pdftosvg *.pdf \qquad \textrm{(or a list of filenames)}}
 
-If a \texttt{.pdf} file is referred to with its file extension,
-a link to the \texttt{.pdf} file will appear in the \HTML\ output.
-\begin{sourcedisplay}
-\cs{includegraphics}\{filename.pdf\} \% creates a link in HTML
-\end{sourcedisplay}
+\DescribeProgram{lwarpmk epstopdf}
+\DescribeProgram{epstopdf}
+\margintag{\pkg{epstopdf} package}
+For \EPS\ images converted to \PDF\ using the package \pkg{epstopdf},
+use \userentry{lwarpmk pdftosvg *.PDF} to convert to \SVG\ images.
 
-\DescribePackage{epstopdf}
-For \texttt{.eps} files, use \pkg{epstopdf} to provide a \PDF\ version,
-and also provide a \SVG\ version as well.
-\index{graphics>EPS files}
-\index{EPS images}
-\index{images>EPS}
+When using \DVI\ \prog{latex},
+\margintag{DVI latex}
+it is necessary to convert \EPS\ to \PDF\ and then to \SVG:
+\index{images>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 \texttt{.png}, \texttt{.jpg}, or \texttt{.gif} image files,
-\margintag{other image files}
-the same file may be used in
-both print or \HTML\ versions, and may be used with a file extension,
+For \PNG\ or \JPG
+\margintag{PNG and JPG}
+\index{images>PNG and JPG}
+\index{PNG images}
+\index{JPG images}
+while using \prog{pdflatex}, \prog{lualatex}, or \prog{xelatex},
+the same file may be used in both print or \HTML\ versions, and may be used with a file extension,
 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}
+\index{images>GIF}
+\index{GIF images}
+but another format must also be provided for print output.
+
+If a file extension is not used,
+\margintag{file extension priorities}
+\index{images>format priorities}
+for \HTML\ the file extension priorities
+are: \SVG, \GIF, \PNG, then \JPG.
+
 If using the older \pkg{graphics} syntax, use both optional arguments
 \watchout[\pkg{graphics} vs. \pkg{graphicx}]
 for \cs{includegraphics}.
 A single optional parameter is interpreted as the newer \pkg{graphicx} syntax.
-Note that viewports are not supported by \pkg{warp};
+Note that viewports are not supported by \pkg{lwarp} \Dash
 \watchout[viewports]
 the entire image will be shown.
 
@@ -1401,10 +1427,10 @@
 will inform so with an error message.%
 
 If \HTML\ appears where an \SVG\ image should be,\watchout[\HTML\ instead of images]%
-\index{math>appearing as \HTML}%
-\index{images>appearing as \HTML}%
-\index{SVG>images appearing as \HTML}%
-\index{HTML>appearing in \SVG\ images}
+\index{math>appearing as \HTML code}%
+\index{images>appearing as \HTML code}%
+\index{SVG>images appearing as \HTML code}%
+\index{HTML>appearing instead of images}
 recompile the document one more
 time to get the page numbers back in sync, then remake the images one more time.
 
@@ -1491,13 +1517,26 @@
 }
 
 \newcommand{\limitsepstopdf}{%
-When using \pkg{epstopdf} to convert images to \PDF,
-use the \prog{pdftocairo} utility to also provide an \SVG\ version as well.
-In the document, refer to the image filename without a suffix.  The
-\PDF\ version will be used in print output, and the \SVG\ version will
-be used for \HTML.
+Images with an \filenm{.eps} extension will be converted to \filenm{.pdf}.
+The \HTML\ output uses the \filenm{.svg} version, so
+\watchout[convert to \filenm{.svg}]
+use \userentry{lwarpmk pdftosvg <listofPDFfiles>} to generate \filenm{.svg} versions.
 }
 
+\newcommand{\limitspstricks}{%
+All \pkg{pstricks} content should be
+\watchout[use \env{pspicture}]
+contained inside a \env{pspicture} environment.
+}
+
+\newcommand{\limitspdftricks}{%
+The \pkg{pdftricks} image files \filenm{<jobname>-fig*.pdf} must be converted
+\watchout[convert image files]
+to \filenm{.svg}, or else a missing file error will occur.
+The image files must also be converted again whenever they change.
+To convert the images:\userentry{lwarpmk pdftosvg <jobname>-fig*.pdf}
+}
+
 \newcommand{\limitsoverpic}{%
 The macros \cs{overpicfontsize} and \cs{overpicfontskip} are used during
 \watchout[scaling]
@@ -2240,6 +2279,17 @@
 \end{sourcedisplay}
 }
 
+
+% For use in the documentation update section:
+\newcommand*{\newlwarpmkconf}{
+Due to changes in \prog{lwarpmk},
+\watchout[Reset the configuration]
+\textred{recompile any existing project a single time}
+using \cmds{pdflatex filename.tex} or similar, after which
+\prog{lwarpmk} may then be used with the new configuration files.
+}
+
+
 \newcommand*{\describehashing}{%
 If starred, a hashed filename is used.\margintag{image filename hashing}
 \index{hash>SVG image filename}
@@ -2276,7 +2326,7 @@
 \DescribeOption{OSWindows}
 
 When detected or specified, the operating-system path separator used by \pkg{lwarp}
-is modified, the boolean \texttt{usingOSWindows} is set true.
+is modified, and the boolean \texttt{usingOSWindows} is set \texttt{true}.
 This boolean may be tested by the user for later use.
 }
 
@@ -2302,7 +2352,7 @@
 %<*package>
 % \fi
 %
-% \CheckSum{25214}
+% \CheckSum{25635}
 %
 % \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
@@ -2403,6 +2453,7 @@
 % \changes{v0.57}{2018/06/06}{\ 2018/06/06}
 % \changes{v0.58}{2018/07/07}{\ 2018/07/07}
 % \changes{v0.58}{2018/06/07}{Replaced each \cs{csuse} with \cs{@nameuse} to force error if undefined.}
+% \changes{v0.59}{2018/09/07}{\ 2018/09/07}
 
 
 
@@ -2427,7 +2478,7 @@
 %
 % \bigskip
 %
-% \fileversion{} --- \filedate
+% \fileversion{} \Dash \filedate
 %
 % \bigskip
 %
@@ -2462,8 +2513,8 @@
 %
 % A modular package-loading system uses the \pkg{lwarp} version of a package for
 % \HTML\ when available.
-% Almost 300 \LaTeX\ packages are supported with these high-level source
-% compatibility replacements, and many others work as-is.
+% More than 300 \LaTeX\ packages are supported with these
+% high-level source-compatibility replacements, and many others work as-is.
 %
 % A tutorial is provided to quickly introduce the user to the major components
 % of the package.
@@ -2530,7 +2581,7 @@
 % \item help drive education, public and private research, and commercial activity;
 % \item are used in the fields of mathematics, science, engineering, and humanities;
 % \item span decades of development;
-% \item are enduring --- many older packages are still actively used and maintained;
+% \item are enduring \Dash many older packages are still actively used and maintained;
 % \item are largely backwards compatible;
 % \item are portable across all the major computing platforms;
 % \item are usable even on older computers and away from internet access;
@@ -2548,7 +2599,7 @@
 % Donations may be directed towards individual projects:
 % \begin{description}[nosep]
 % \item[TUG Bursary Fund:] Assistance for attending annual TUG meetings.
-% \item[CTAN:] The Comprehensive \TeX\ Archive Network --- Central storage for \TeX.
+% \item[CTAN:] The Comprehensive \TeX\ Archive Network \Dash Central storage for \TeX.
 % \item[TeX Development Fund:] Support for specific projects.
 % \item[EduTeX:] Teaching and using \TeX\ in schools and universities.
 % \item[GUST e-foundry fonts:] Enhanced for math and additional language groups.
@@ -2600,16 +2651,54 @@
 %
 % \begin{description}
 % \needspace{2\baselineskip}
+% \item[v0.59:] \DVI\ \prog{latex}, \brand{MathJax}, \pkg{asymptote},
+%       \pkg{pdftricks} and \pkg{pstricks}, \pkg{epstopdf}, \pkg{brqen}.
+%   \begin{itemize}
+%       \item \newlwarpmkconf
+%       \item Added an error if \filenm{lwarpmk.conf}'s format has changed and
+%           \margintag{\prog{lwarpmk}}
+%           the document must be recompiled.
+%       \item Added a warning if the \filenm{lwarpmk.conf} configuration file appears
+%           to be for the wrong operating system, in case files are transferred between
+%           systems.
+%       \item Added
+%           \begin{sourcedisplay}
+%           lwarpmk epstopdf <list-of-EPS-files>
+%           \end{sourcedisplay}
+%           to quickly convert a document's \EPS\ images to \PDF\ or \SVG.
+%           See \cref{sec:limitsgraphics}.
+%       \item Added support for \DVI\ \prog{latex}.  See \cref{sec:loading}.
+%           \margintag{\DVI\ \prog{latex}}
+%       \item Fix for \optn{--shell-escape} with \prog{latexmk}.
+%           \margintag{\prog{latexmk}}
+%       \item Updated 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 for \cs{[} and \cs{]} with \cs{displaymathnormal}.
+%       \item Fix for \cs{includegraphics} filename expansion.
+%           \margintag{images}
+%       \item \cs{includegraphics} now works with
+%           \filenm{.pdf} and \filenm{.eps} filename extensions.
+%       \item Moved \pkg{amsmath} out of the \pkg{lwarp} core.
+%           \margintag{packages}
+%       \item Fix for \pkg{chemformula} \cs{NMR}.
+%       \item Added \pkg{asymptote}, \pkg{pdftricks}, \pkg{pstricks}, \pkg{pst-eps}.
+%       \item Added \pkg{breqn}, \pkg{SIunits}.
+%       \item Added \pkg{bxpapersize}, \pkg{canoniclayout}, \pkg{draftcopy},
+%           \pkg{fnbreak}, \pkg{nccfancyhdr}.
+%       \item Added \pkg{accsupp}, \pkg{axessibility}.
+%       \item Added \pkg{xunicode}.
+%       \item Improved and now supports \pkg{epstopdf}.
+%       \item Tested to work as-is: \pkg{eepic}, \pkg{sepfootnotes}.
+%       \item Added information about setting up a development version of \pkg{lwarp}.
+%           \margintag{docs}
+%   \end{itemize}
+% \needspace{2\baselineskip}
 % \item[v0.58:] Extensive improvements in indexing, glossaries.
 %   Adds \PDF-inclusion packages.
 %   \begin{itemize}
-%       \item Due to changes in \prog{lwarpmk} and the configuration files
-%       \watchout[recompile from scratch]
-%       \filenm{lwarpmk.conf} and \filenm{*.lwarpmkconf},
-%       \textred{it is necessary to recompile an existing project a single time}
-%       using \cmds{pdflatex filename.tex}, or similar for \prog{xelatex} or \prog{lualatex}.
-%       After this single recompile, the configuration files will work with the
-%       new version of \prog{lwarpmk}.
+%       \item \newlwarpmkconf
 %       \item \prog{lwarpmk}: Added the |-p| option to specify the project name.
 %           \margintag{\prog{lwarpmk}}
 %       \item \prog{lwarpmk}: Now uses \prog{makeglossaries} for glossary generation,
@@ -2736,6 +2825,7 @@
 % \needspace{2\baselineskip}
 % \item[v0.54:] Float \cs{centering}, improved image checks.
 %   \begin{itemize}
+%       \item \newlwarpmkconf
 %       \item \progcode{lwarpmk limages} checks for the presence of the \HTML\ version
 %           \margintag{\prog{lwarpmk}}
 %           of the document and valid image references before attempting
@@ -2771,11 +2861,6 @@
 %           to process documents in an encoding other than UTF-8.
 %           See \cref{sec:fonts}.
 %
-%           \textred{For an existing document, \watchout[Reset the configuration]
-%           recompile the print version with \prog{pdflatex}, \prog{xelatex}, or
-%           \prog{lualatex} a single time,
-%           to readjust the \filenm{lwarpmk.conf} configuration file,
-%           before recompiling the \HTML\ version.}
 %       \item Floats now honor \cs{centering}, \cs{raggedright}, \cs{raggedleft},
 %           \margintag{floats with \cs{centering}, etc.}
 %           and their \pkg{ragged2e} equivalents,
@@ -3745,7 +3830,7 @@
 %
 % ^^A *supported features
 %
-% \begin{longtable}{>{\raggedright}m{.3\linewidth}m{.6\linewidth}}
+% \begin{longtable}{>{\raggedright}p{.3\linewidth}p{.6\linewidth}}
 % \caption{\protect\LaTeX--HTML generation ---
 % \pkg{lwarp} package ---
 % Supported features\label{tab:supported}} \endfirsthead
@@ -3758,7 +3843,7 @@
 %
 % \midrule
 %
-% Engines: & pdf\LaTeX, \XeLaTeX, \LuaLaTeX \\
+% Engines: & \DVI\ \LaTeX, pdf\LaTeX, \XeLaTeX, \LuaLaTeX \\
 %
 % \midrule
 %
@@ -3774,14 +3859,17 @@
 %
 % Page layout: & \pkg{a4}, \pkg{a4wide}, \pkg{a5comb},
 %       \pkg{addlines}, \pkg{anysize}, \pkg{atbegshi},
-%       \pkg{blowup}, \pkg{clrdblpg}, \pkg{continue}, \pkg{draftwatermark},
+%       \pkg{blowup}, \pkg{bxpapersize}, \pkg{canoniclayout}, \pkg{clrdblpg},
+%       \pkg{continue}, \pkg{draftcopy}, \pkg{draftwatermark},
 %       \pkg{ebook}, \pkg{everyshi},
 %       \pkg{fancyhdr}, \pkg{fwlw}, \pkg{geometry}, \pkg{grid}, \pkg{gridset},
-%       \pkg{ltxgrid}, \pkg{pagegrid}, \pkg{pagesel}, \pkg{preview},
+%       \pkg{ltxgrid}, \pkg{nccfancyhdr}, \pkg{pagegrid}, \pkg{pagesel}, \pkg{preview},
 %       \pkg{scrlayer-scrpage}, \pkg{textarea}, \pkg{titleps}, \pkg{tocenter},
 %       \pkg{turnthepage}, \pkg{typearea}, \pkg{vmargin},
-%       \pkg{watermark}, \pkg{zwpagelayout}. \\
+%       \pkg{watermark}, \pkg{zwpagelayout}.
 %
+%       Tested to work as-is: \pkg{underlin}.\\
+%
 % Sectioning: & Adds \progcode{FileDepth} for splitting the \HTML\ output.
 % 	Files may be numbered sequentially or named according to section name.
 % 	Common short words and punctuation are removed from the filenames. 
@@ -3800,7 +3888,7 @@
 %
 %   \pkg{idxlayout}, \pkg{imakeidx}, \pkg{index}, \pkg{makeidx}, \pkg{repeatindex}, \pkg{splitidx}.
 %
-%   Tested to work as-is: \pkg{hvindex}.\\
+%   Tested to work as-is: \pkg{hvindex}, \pkg{sepfootnotes}.\\
 %
 % Glossary: & \pkg{glossaries} and \prog{xindy} are used. \\
 %
@@ -3823,9 +3911,11 @@
 % Margin notes: & \pkg{marginfit}, \pkg{marginfix}, \pkg{scrlayer-notecolumn}. \\
 %
 % Footnotes: & Adds \progcode{FootnoteDepth} to print footnotes at section breaks.
-%   \pkg{endheads}, \pkg{endnotes}, 
+%   \pkg{dblfnote},
+%   \pkg{endheads}, \pkg{endnotes}, \pkg{fnbreak}, \pkg{fnpos},
 %   \pkg{footmisc}, \pkg{footnote}, \pkg{footnpag}, 
-%	\pkg{marginnote}, \pkg{nccfoots}, \pkg{pagenote}, \pkg{parnotes}, \pkg{sidenote}. \\
+%	\pkg{marginnote}, \pkg{nccfoots}, \pkg{pagenote},
+%   \pkg{parnotes}, \pkg{pfnote}, \pkg{sidenote}. \\
 %
 % \midrule
 %
@@ -3832,7 +3922,7 @@
 % Math: & Converted to \SVG\ images with \HTML\ \element{alt} tags containing the
 % 	\LaTeX\ source for the math expression.
 %	\brand{MathJax} supported as an alternative.
-% 	\AmS\ environments are supported.
+% 	\pkg{amsmath}: \AmS\ environments are supported.
 % 	User-defined macros are available during converson,
 % 	due to native \LaTeX\ processing.\\
 %
@@ -3839,7 +3929,7 @@
 % Theorems: & Native \LaTeX\ theorems,
 %	\pkg{amsthm}, \pkg{ntheorem}, \pkg{theorem}. \\
 %
-% Additional math: & Math fonts via \SVG\ images, \pkg{cases}, \pkg{resizegather}, \pkg{xy}.
+% Additional math: & Math fonts via \SVG\ images, \pkg{breqn}, \pkg{cases}, \pkg{resizegather}, \pkg{xy}.
 %
 %   Tested to work as-is:
 %   \pkg{amscd}, \pkg{bm}, \pkg{braket}, \pkg{delarray}, \pkg{guass}, \pkg{nicematrix},
@@ -3850,7 +3940,7 @@
 %
 % \midrule
 %
-% Units and fractions: & \pkg{nicefrac}, \pkg{siunitx}, \pkg{units}, \pkg{xfrac}.
+% Units and fractions: & \pkg{nicefrac}, \pkg{SIunits}, \pkg{siunitx}, \pkg{units}, \pkg{xfrac}.
 %
 %   Tested to work as-is: \pkg{SIunits}. \\
 %
@@ -3884,10 +3974,11 @@
 %   \pkg{rotating} is emulated but all objects are unrotated.
 %   \pkg{picture}, \pkg{tikz}, and \pkg{xy} are converted to an \SVG\ image.
 %
-%   \pkg{epstopdf}, \pkg{figsize}, \pkg{grffile}, \pkg{overpic}.
+%   \pkg{asymptote}, \pkg{epstopdf}, \pkg{figsize}, \pkg{grffile}, \pkg{overpic},
+%   \pkg{pdftricks}, \pkg{pst-eps}, \pkg{pstricks}.
 %
 %   Tested to work as-is:
-%   \pkg{tikz-3dplot}. \\
+%   \pkg{eepic}, \pkg{tikz-3dplot}. \\
 %
 %
 %
@@ -3966,7 +4057,7 @@
 % Fonts: & Used as-is.  Appear in \SVG\ math expressions or embedded image environments. \\
 %
 % Symbols: & Native \LaTeX\ diacriticals,
-%   \pkg{chemgreek}, \pkg{textalpha}, \pkg{textcomp}, \pkg{textgreek}. \\
+%   \pkg{chemgreek}, \pkg{textalpha}, \pkg{textcomp}, \pkg{textgreek}, \pkg{xunicode}. \\
 %
 % \midrule
 %
@@ -3998,6 +4089,10 @@
 %
 % \midrule
 %
+% Accessibility: & Nullified: \pkg{accsupp}, \pkg{axessibility}. \\
+%
+% \midrule
+%
 % Working as-is: & 
 %   Various utility, calculation, file, and text-only packags, such as
 %   \pkg{calc},
@@ -4005,7 +4100,7 @@
 %   \pkg{somedefs},
 %   \pkg{trace},
 %   \pkg{xspace}.
-%   Also, any math-only packages, including specialized typesetting for
+%   Also, most math-only packages, including specialized typesetting for
 %   various fields of science and engineering. \\
 %
 % \bottomrule
@@ -4031,7 +4126,7 @@
 %
 % The closest to \pkg{lwarp} in design principle is the
 % \DescribeClass{internet}
-% \verb+internet+ class by Andrew Stacey ---
+% \verb+internet+ class by Andrew Stacey \Dash
 % an interesting project which directly produces several versions
 % of markdown, and also \HTML\ and \EPUB.
 % \url{https://github.com/loopspace/latex-to-internet}
@@ -4641,7 +4736,8 @@
 % \item Compile the project: \userentry{pdflatex tutorial.tex}
 %				\quad (several times)
 %
-% (\prog{xelatex} or \prog{lualatex} may be used as well.)
+% (\prog{xelatex} or \prog{lualatex} may be used as well.
+%   \pkg{lwarp} also supports \DVI\ \prog{latex} for use with \filenm{.eps} images.)
 %
 % \item View the resulting |tutorial.pdf| with a \PDF\ viewer.
 %
@@ -4655,7 +4751,7 @@
 % (Two of the new files are configuration files for the helper program \prog{lwarpmk}.
 % Whenever a print version of the document is created,
 % the configuration files for \prog{lwarpmk} are updated to
-% record the operating system, \LaTeX\ program (\prog{pdflatex}, \prog{xelatex}, or \prog{lualatex}),
+% record the operating system, \LaTeX\ engine (\prog{latex}, \prog{pdflatex}, \prog{xelatex}, or \prog{lualatex}),
 % the filenames of the source code and \HTML\ output, and whether
 % the additional helper program \prog{latexmk} will be used to compile the document.)
 %
@@ -5038,7 +5134,20 @@
 % \end{enumerate}
 %
 %
+% \subsection{Using DVI LaTeX}
 %
+% Traditional \DVI\ LaTeX may also be used along with \filenm{.eps} image files.
+% An \SVG\ version of each image must also be provided.
+% \prog{lwarpmk} may be used to convert image formats.
+%
+% To convert \EPS\ files to \PDF:
+% \userentry{lwarpmk epstopdf *.eps \qquad \textrm{(or a list of files)}}
+%
+% To convert \PDF\ files to \SVG:
+% \userentry{lwarpmk pdftosvg *.pdf \qquad \textrm{(or a list of files)}}
+%
+%
+%
 % \clearpage
 %
 % \subsection{Using a glossary}
@@ -5092,17 +5201,21 @@
 %   \userentry{lwarpmk cleanlimages}
 %
 %
-% \subsection{Converting PDF images to SVG}
+% \subsection{Converting PDF or EPS images to SVG}
 % \changes{v0.56}{2018/04/29}{Docs: \cmds{lwarpmk pdftosvg}.}
+% \changes{v0.59}{2018/09/05}{Docs: \cmds{lwarpmk epstopdf}.}
 %
-% \HTML\ cannot display \PDF\ images, so any external \PDF\ graphics images must
+% \HTML\ cannot display \PDF\ or \EPS\ images, so any external \PDF\ graphics images must
 % be converted to \SVG\ format.
-% \prog{pdftocairo} may be used one image at a time,
-% but \prog{lwarpmk} provides a way to convert images in bulk:
+% \index{SVG>converting from PDF or EPS}
+% \index{PDF images>converting}
+% \index{EPS images>converting}
+% \index{images>PDF or EPS>converting}
+% \prog{pdftocairo} and \prog{epstopdf} may be used one image at a time,
+% but \prog{lwarpmk} also provides a way to convert \PDF\ or \EPS\ images in bulk:
+% \userentry{lwarpmk epstopdf *.eps \qquad \textrm{(or a list of files)}}
 % \userentry{lwarpmk pdftosvg *.pdf \qquad \textrm{(or a list of files)}}
-% \index{SVG>converting from PDF}
-% \index{PDF images>converting to SVG}
-% \index{images>PDF>converting to SVG}
+% Be sure to always provide \SVG\ files for \HTML\ output.
 %
 %
 % \subsection{Creating HTML from an incomplete compile}
@@ -5169,16 +5282,16 @@
 %   \item Load \pkg{lwarp}.
 %   \item Load remaining packages.
 % \end{enumerate}
-% \item Also modify the document:
+% \item Modify the document:
 % \begin{enumerate}
-%   \item Remove \filenm{.pdf} file extensions.  Change:
-%       \begin{sourcedisplay}
-%       \cs{includegraphics}\{filename.pdf\}
-%       \end{sourcedisplay} to:
-%       \begin{sourcedisplay}
-%       \cs{includegraphics}\{filename\}
-%       \end{sourcedisplay}
-%       Other image formats may have a file extension.
+% ^^A  \item Remove \filenm{.pdf} file extensions.  Change:
+% ^^A      \begin{sourcedisplay}
+% ^^A      \cs{includegraphics}\{filename.pdf\}
+% ^^A      \end{sourcedisplay} to:
+% ^^A      \begin{sourcedisplay}
+% ^^A      \cs{includegraphics}\{filename\}
+% ^^A      \end{sourcedisplay}
+% ^^A      Other image formats may have a file extension.
 %   \item Avoid the \optn{scale} option.  Change:
 %       \begin{sourcedisplay}
 %       \cs{includegraphics}[scale=<xx>]
@@ -5197,7 +5310,7 @@
 %   \item Other changes as per \nameref{sec:limitations}, \cref{sec:limitations}.
 % \end{enumerate}
 % \item Convert any \PDF\ images to \SVG.  See \cref{sec:limitsgraphics}.
-% \item Manually compile the print version with \prog{pdflatex},
+% \item Manually compile the print version with \prog{latex}, \prog{pdflatex},
 %           \prog{lualatex}, or \prog{xelatex}.
 % \item |lwarpmk print| to finish the print version.
 % \item |lwarpmk html| to create the \HTML\ version.
@@ -5275,7 +5388,7 @@
 % \watchout[\prog{xelatex} and \prog{lualatex}]
 % Do NOT use \pkg{fontenc}!
 %
-% Place \pkg{fontspec} or \pkg{fontenc} and other font and UTF-8 related commands
+% Place \pkg{fontspec} or \pkg{fontenc}, \pkg{xunicode}, and other font and UTF-8 related commands
 % after the \cs{documentclass} command and before |\usepackage{lwarp}|.
 %
 % In some cases, \watchout[package conflicts]
@@ -5384,7 +5497,10 @@
 % Option & Description \\ \midrule
 % mathsvg & Show math using \SVG\ images. \\
 % mathjax & Show math using \brand{MathJax}. \\
-% latexmk & Boolean for \prog{lwarpmk} to use \prog{latexmk} for compiling documents. \\
+% latexmk & Use \prog{latexmk} for compiling documents. \\
+% dvips & Use \prog{dvips} and \prog{ps2pdf} to convert \DVI\ documents. \\
+% dvipdfm & Use \prog{dvipdfm} to convert \DVI\ documents. \\
+% dvipdfmx & Use \prog{dvipdfmx} to convert \DVI\ documents. \\
 % HomeHTMLFilename & The filename of the home page. \\
 % HTMLFilename & A prefix for the filenames of the remaining web pages. \\
 % \midrule
@@ -5444,7 +5560,22 @@
 %   Otherwise, \prog{lwarpmk} attempts to determing for itself whether to recompile.
 %   See \cref{sec:htmlsettings}.
 %
+% \item[\optn{dvips}:]
+% \DescribeOption{dvips}
+% \DescribeDefault{false} Tells \prog{lwarpmk} to use \prog{dvips} and \prog{ps2pdf} to convert
+%   \DVI\ output to \PDF.
 %
+% \item[\optn{dvipdfm}:]
+% \DescribeOption{dvipdfm}
+% \DescribeDefault{false} Tells \prog{lwarpmk} to use \prog{dvipdfm} to convert
+%   \DVI\ output to \PDF.
+%
+% \item[\optn{dvipdfmx}:]
+% \DescribeOption{dvipdfmx}
+% \DescribeDefault{false} Tells \prog{lwarpmk} to use \prog{dvipdfmx} to convert
+%   \DVI\ output to \PDF.
+%
+%
 % \item[\optn{HomeHTMLFilename}:]
 % \DescribeOption{HomeHTMLFilename}
 % \DescribeDefault{\{\}}
@@ -7464,11 +7595,8 @@
 % \subsection{Graphics}
 % \label{sec:limitsgraphics}
 %
-% \DescribePackage{graphics}
-% \DescribePackage{graphicx}
-% \index{SVG>converting from PDF}
-% \index{PDF images>converting to SVG}
-% \index{images>PDF>converting to SVG}
+% \DescribePackage{graphics}%
+% \DescribePackage{graphicx}%
 % \limitsgraphics
 %
 %
@@ -7504,6 +7632,18 @@
 % \limitsepstopdf
 %
 %
+% \subsubsection{\pkg{pstricks} package}
+%
+% \DescribePackage{pstricks}
+% \limitspstricks
+%
+%
+% \subsubsection{\pkg{pdftricks} package}
+%
+% \DescribePackage{pdftricks}
+% \limitspdftricks
+%
+%
 % \subsubsection{\pkg{overpic} package}
 %
 % \DescribePackage{overpic}
@@ -8150,6 +8290,74 @@
 % \end{Verbatim}
 %
 %
+% \subsection{Creating a development system}
+%
+% The following creates a local development system for \pkg{lwarp} on a TeXLive system
+% in a Unix-like environment.
+% Doing so allows anything requesting \pkg{lwarp} to use the development version
+% instead of whichever version is installed in TeXLive.
+%
+% \begin{description}
+% \item [Create a development directory:] \
+%
+%   Place into this directory \filenm{lwarp.dtx} and \filenm{lwarp.ins}.
+%
+%   To create \filenm{lwarp.sty},
+%   execute \userentry{pdflatex lwarp.ins} which creates \filenm{lwarp.sty} and several
+%   hundred additional \filenm{lwarp-*.sty} files for the various packages which are
+%   supported.
+%
+%   To create the documentation \filenm{lwarp.pdf},
+%   execute \userentry{pdflatex lwarp.dtx}
+%
+% \item[To make the development files visible to other projects:] \
+%
+%   Create the directory
+%   \begin{quote}
+%   \filenm{/usr/local/texlive/texmf-local/tex/latex/local/lwarp}
+%   \end{quote}
+%
+%   Inside this directory, create the file \filenm{update}, containing:
+% \begin{Verbatim}[gobble=2,obeytabs,tabsize=4,frame=lines]
+% 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 .
+% mktexlsr
+% \end{Verbatim}
+%   Run ./update now, and whenever a new lwarp-* package is added.
+
+% \item[To make the development version of \prog{lwarpmk} visible to other projects:] \
+%
+% \begin{Verbatim}[gobble=2,obeytabs,tabsize=4,frame=lines]
+% cd /opt
+% ln -s /usr/local/texlive/texmf-local/bin/x86_64-linux texbin_local
+% cd texbin_local
+% ln -s ../../scripts/lwarp/lwarpmk.lua lwarpmk
+% cd /usr/local/texlive/texmf-local/scripts/
+% mkdir lwarp
+% cd lwarp
+% ln -s /path_to_dev_directory/lwarpmk.lua lwarpmk
+% \end{Verbatim}
+% Verify that the correct version is found with \userentry{which lwarpmk}
+%
+% \item [To make the local versions visible to the shell:] \
+%
+%   Paths must be set by the shell startup, such as in \filenm{.bashrc} and \filenm{.cshrc}:
+%
+%   In \filenm{.bashrc}:
+% \begin{Verbatim}[gobble=2,obeytabs,tabsize=4,frame=lines]
+% PATH=/opt/texbin_local:/opt/texbin:$PATH
+% \end{Verbatim}
+%
+%   In \filenm{.cshrc}:
+% \begin{Verbatim}[gobble=2,obeytabs,tabsize=4,frame=lines]
+% setenv PATH ${HOME}/bin:/opt/texbin_local:/opt/texbin:${PATH}
+% \end{Verbatim}
+%
+% \end{description}
+% 
+%
+%
 % \subsection{Modifying a package for \pkg{lwarp}}
 %
 % \index{package>modifying for \pkg{lwarp}}
@@ -8226,6 +8434,8 @@
 % \end{sourcedisplay}
 % to |lwarp.dtx| in \cref{sec:loadafter}.  This causes \pkg{lwarp} to stop with
 % an error if \pkg{packagename} is loaded before \pkg{lwarp}.
+% Finally, add an entry in \cref{tab:supported}, \nameref{tab:supported},
+% and also the Updates section.
 %
 %
 % \subsection{Modifying a class for \pkg{lwarp}}
@@ -8303,15 +8513,8 @@
 % \item Use \filenm{mymake.lua} instead of \filenm{lwarpmk.lua}.
 % \end{enumerate}
 %
-% To adjust the command-line arguments for compiling the document,
-% look in \filenm{mymake.lua} for ``|latexname|''.
 %
-% To adjust the command-line arguments for processing the index,
-% look for ``|xindy|''.
 %
-%
-%
-%
 % \clearpage
 %
 % ^^A *troubleshooting
@@ -8498,12 +8701,6 @@
 %		the captions |above| or |below| to match their use in the source code.
 %	\end{description}
 %
-% \item [Print document contains \HTML\ tags:] ~
-%	\begin{itemize}
-%	\item Be sure that the document
-%		selects |\usepackage[warpprint]{lwarp}| instead of |[warpHTML]|.
-%	\end{itemize}
-
 % \item [Images are appearing in strange places:] ~
 % \index{images>in strange places}
 %	\begin{itemize}
@@ -8597,7 +8794,7 @@
 %   \label{sec:changesend}
 %   \PrintIndex
 %   \vfill
-%   For the most recent changes and the start of the Index,
+%   For the most recent changes, followed by the start of the Index,
 %   see page \pageref{sec:changesend}.
 % }
 %
@@ -8753,6 +8950,8 @@
 \ifLuaTeX
 \RequirePackage{luatex85}% until the geometry package is updated
 \fi
+
+\RequirePackage{ifpdf}
 %    \end{macrocode}
 %
 %
@@ -8826,7 +9025,6 @@
 % the source code, even though they are not printed in the following
 % listing.
 %    \begin{macrocode}
-
 \RequirePackage{newunicodechar}
 
 \newunicodechar{⨯}{\texttimes}
@@ -8848,7 +9046,6 @@
 %    \end{macrocode}
 %
 %
-%macrocode
 %
 % \section{Miscellaneous tools}
 %
@@ -8934,13 +9131,14 @@
 %
 % \subsection{Common portability code}
 %
-% \DescribeBoolean{usingOSWindows} Set if the \optn{OSWindows} option is used.
+% \DescribeBoolean{usingOSWindows} Set if the \optn{OSWindows} option is used,
+% or if \brand{Windows} is automatically detected.
 %    \begin{macrocode}
 \newbool{usingOSWindows}
 \boolfalse{usingOSWindows}
 %    \end{macrocode}
 
-%
+
 % \subsection{Unix, Linux, and Mac\,OS}
 
 % \begin{macro}{\OSPathSymbol}
@@ -9288,21 +9486,51 @@
 %    \end{macrocode}
 
 
+% \DescribeOption{latexmk}
+% Option \optn{latexmk} tells \prog{lwarpmk} to use \prog{latexmk} when compiling documents.
+%
+% \changes{v0.30}{2017/04/29}{Option \prog{latexmk} replaces macro \cs{UseLatexmk}.}
+%
+%    \begin{macrocode}
+\DeclareBoolOption[false]{latexmk}
+%    \end{macrocode}
 
 
+% \DescribeOption{dvips}
+% Option \optn{dvips} tells \prog{lwarpmk} to use \prog{dvips}
+% when compiling \DVI\ \prog{latex} documents.
+%
+% \changes{v0.59}{2018/09/02}{Added option \optn{dvips}.}
+%
+%    \begin{macrocode}
+\DeclareBoolOption[false]{dvips}
+%    \end{macrocode}
 
 
+% \DescribeOption{dvipdfm}
+% Option \optn{dvipdfm} tells \prog{lwarpmk} to use \prog{dvipdfm}
+% when compiling \DVI\ \prog{latex} documents.
+%
+% \changes{v0.59}{2018/09/02}{Added option \optn{dvipdfm}.}
+%
+%    \begin{macrocode}
+\DeclareBoolOption[false]{dvipdfm}
+%    \end{macrocode}
 
-% \DescribeOption{latexmk}
-% Option \optn{latexmk} tells \prog{lwarpmk} to use \prog{latexmk} when compiling documents.
+
+% \DescribeOption{dvipdfmx}
+% Option \optn{dvipdfmx} tells \prog{lwarpmk} to use \prog{dvipdfmx}
+% when compiling \DVI\ \prog{latex} documents.
 %
-% \changes{v0.30}{2017/04/29}{Option \prog{latexmk} replaces macro \cs{UseLatexmk}.}
+% \changes{v0.59}{2018/09/02}{Added option \optn{dvipdfmx}.}
 %
 %    \begin{macrocode}
-\DeclareBoolOption[false]{latexmk}
+\DeclareBoolOption[false]{dvipdfmx}
 %    \end{macrocode}
 
 
+
+
 % Execute the package options, with the defaults which have been set just above:
 % \margintag{Execute options}
 %    \begin{macrocode}
@@ -9406,6 +9634,9 @@
 %
 % \DescribePackage{comment} Provides conditional code blocks.
 %
+% Attempts to use \pkg{versions} or \pkg{verbatim} fail in some cases, and do not
+% provide much of a speed benefit even when they do work.
+%
 %    \begin{macrocode}
 \RequirePackage{comment}
 %    \end{macrocode}
@@ -9633,6 +9864,7 @@
 \LWR at loadafter{a4wide}
 \LWR at loadafter{a5comb}
 \LWR at notmemoirloadafter{abstract}
+\LWR at loadafter{accsupp}
 \LWR at loadafter{acro}
 \LWR at loadafter{acronym}
 \LWR at loadafter{adjmulticol}
@@ -9650,10 +9882,13 @@
 \LWR at notmemoirloadafter{appendix}
 \LWR at loadafter{arabicfront}
 \LWR at notmemoirloadafter{array}
+\LWR at loadafter{arydshln}
+\LWR at loadafter{asymptote}
 % \LWR at loadafter{atbegshi}% used by morewrites
 \LWR at loadafter{attachfile}
 \LWR at loadafter{attachfile2}
 \LWR at loadafter{authblk}
+\LWR at loadafter{axessibility}
 \LWR at loadafter{axodraw2}
 \LWR at loadafter{backref}
 \LWR at loadafter{balance}
@@ -9665,8 +9900,11 @@
 \LWR at loadafter{boxedminipage}
 \LWR at loadafter{boxedminipage2e}
 \LWR at loadafter{breakurl}
+\LWR at loadafter{breqn}
+\LWR at loadafter{bxpapersize}
 \LWR at loadafter{bytefield}
 \LWR at loadafter{cancel}
+\LWR at loadafter{canoniclayout}
 \LWR at loadafter{caption}
 \LWR at loadafter{caption2}
 \LWR at loadafter{cases}
@@ -9692,6 +9930,7 @@
 \LWR at loadafter{dblfnote}
 \LWR at notmemoirloadafter{dcolumn}
 \LWR at loadafter{diagbox}
+\LWR at loadafter{draftcopy}
 \LWR at loadafter{draftwatermark}
 \LWR at loadafter{easy-todo}
 \LWR at loadafter{ebook}
@@ -9727,6 +9966,7 @@
 \LWR at loadafter{floatrow}
 \LWR at loadafter{fltrace}
 \LWR at loadafter{flushend}
+\LWR at loadafter{fnbreak}
 \LWR at loadafter{fncychap}
 \LWR at loadafter{fnlineno}
 \LWR at loadafter{fnpos}
@@ -9804,6 +10044,7 @@
 \LWR at loadafter{multitoc}
 \LWR at loadafter{nameref}
 \LWR at loadafter{natbib}
+\LWR at notmemoirloadafter{nccfancyhdr}
 \LWR at notmemoirloadafter{needspace}
 % newclude must be loaded before lwarp
 \LWR at loadafter{newtxmath}
@@ -9827,6 +10068,7 @@
 \LWR at loadafter{pdflscape}
 \LWR at loadafter{pdfpages}
 \LWR at loadafter{pdfsync}
+\LWR at loadafter{pdftricks}
 \LWR at loadafter{pdfx}
 \LWR at loadafter{pfnote}
 \LWR at loadafter{phfqit}
@@ -9834,6 +10076,8 @@
 \LWR at loadafter{prelim2e}
 \LWR at loadafter{prettyref}
 \LWR at loadafter{preview}
+\LWR at loadafter{pst-eps}
+\LWR at loadafter{pstricks}
 \LWR at loadafter{quotchap}
 \LWR at loadafter{quoting}
 \LWR at loadafter{ragged2e}
@@ -9863,6 +10107,7 @@
 \LWR at loadafter{showkeys}
 \LWR at loadafter{sidecap}
 \LWR at loadafter{sidenotes}
+\LWR at loadafter{SIunits}
 \LWR at loadafter{siunitx}
 \LWR at loadafter{soul}
 \LWR at loadafter{soulpos}
@@ -9905,6 +10150,7 @@
 % \LWR at loadafter{typearea}% preloaded by koma-script classes
 \LWR at loadafter{ulem}
 \LWR at loadafter{underscore}
+\LWR at loadafter{units}
 \LWR at loadafter{upref}
 \LWR at loadafter{url}
 \LWR at loadafter{varioref}% no lwarp package provided
@@ -9925,6 +10171,7 @@
 \LWR at loadafter{xmpincl}
 \LWR at loadafter{xpiano}
 \LWR at loadafter{xtab}
+% xunicode must be loaded before lwarp
 \LWR at loadafter{xurl}
 \LWR at loadafter{xy}
 \LWR at loadafter{zwpagelayout}
@@ -10337,33 +10584,6 @@
 %    \end{macrocode}
 
 
-% \DescribePackage{amsmath}
-% Preloaded to avoid options clash and to add patches.
-%
-% ^^A \changes{v0.16}{2016/04/09}{Fix: amsmath options clash}
-%
-% ^^A \pkg{newtxmath} automatically loads \pkg{amsmath},
-% ^^A so the option \optn{leqno} is passed beforehand to be
-% ^^A picked up both here and by \pkg{newtxmath} if it is used.
-% ^^A \changes{v0.16}{2016/04/11}{Fix: newtxmath compatibility.}
-% \changes{v0.33}{2016/06/21}{\pkg{amsmath}: Removed \optn{fleqn} option.}
-%
-% ^^A *8* remove leqno and references
-%    \begin{macrocode}
-% \PassOptionsToPackage{leqno}{amsmath}% disabled to test centered display math
-\RequirePackage{amsmath}
-%    \end{macrocode}
-%
-% Patches to allow \cs{eqref} inside a caption:
-% \changes{v0.49}{2018/02/18}{\pkg{amsmath}: Fix: Patches for \cs{eqref}.}
-% \changes{v0.50}{2018/03/02}{\pkg{amsmath}: Fix: Upright tags for \SVG math.}
-%    \begin{macrocode}
-\def\maketag@@@#1{\text{#1}}
-\def\tagform@#1{\maketag@@@{(\ignorespaces#1\unskip)}}
-%    \end{macrocode}
-
-
-
 % \changes{v0.40}{2017/09/07}{No longer preloads \pkg{xfrac}.}
 
 
@@ -10995,8 +11215,8 @@
 % are processed by the print or \HTML\ version.
 %
 % Expandable versions are also provided as well.
-% These areusually necessary for anything which could appear inside a \env{tabular},
-% without which an |Misplaced \omit| error may occur.
+% These usually are necessary for anything which could appear inside a \env{tabular},
+% without which a ``|Misplaced \omit|'' error may occur.
 % \watchout[Misplaced \cs{omit} error]
 % \begin{sourcedisplay}
 % \cs{LWR at expandableformatted} \\
@@ -11558,9 +11778,379 @@
 %    \end{macrocode}
 
 
+% \subsection{\prog{lwarpmk} configuration files}
 % ^^A *lwarpmk.conf
-% \subsection{lwarpmk.conf}
+
+% \codeprint
+%    \begin{macrocode}
+\begin{warpprint}
+%    \end{macrocode}
+
+
+% \begin{macro}{\LWR at lwarpconfversion}
+% The version number of the configuration file, allowing \prog{lwarpmk} to detect
+% an obsolete configuration file format.
+% Incremented by one each time the configuration file format changes.
+% (This is NOT the same as the \pkg{lwarp} version number.)
+%    \begin{macrocode}
+\newcommand*{\LWR at lwarpconfversion}{1}% also in lwarpmk.lua
+%    \end{macrocode}
+% \end{macro}
 %
+%
+% The literal dollar sign character, with a plain catcode,
+% allowing it to be written to a file as-is.
+%    \begin{macrocode}
+\catcode`\$=12
+\def\LWR at dollarchar{$}
+\catcode`\$=3
+%    \end{macrocode}
+%
+%
+% The literal ampersand character, with a plain catcode,
+% allowing it to be written to a file as-is.
+%    \begin{macrocode}
+\catcode`\&=12
+\def\LWR at ampersand{&}
+\catcode`\&=4
+%    \end{macrocode}
+%
+%
+% \begin{macro}{\LWR at opquote}
+% The operating system's quote mark:
+%    \begin{macrocode}
+\ifbool{usingOSWindows}{
+    \def\LWR at opquote{"}
+}{
+    \def\LWR at opquote{'}
+}
+%    \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\LWR at opsequence}
+% The operating system's sequential execution command:
+%    \begin{macrocode}
+\ifbool{usingOSWindows}{
+    \def\LWR at opsequence{\LWR at ampersand}
+}{
+    \def\LWR at opsequence{\LWR at ampersand\LWR at ampersand}
+}
+%    \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\LWR at shellescapecmd}
+% The LaTeX compile option for shell escape, if used.
+%    \begin{macrocode}
+\ifshellescape
+    \def\LWR at shellescapecmd{--shell-escape }
+\else
+    \def\LWR at shellescapecmd{}
+\fi
+%    \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\LWR at compilecmd} \marg{engine} \marg{suffix}
+%
+% Used to form the basic compilation command for a document, adding
+% the optional shell escape.
+%
+% Engine is \prog{pdflatex}, etc.  Suffix is empty or \filenm{\_html}
+%    \begin{macrocode}
+\newcommand*{\LWR at compilecmd}[2]{%
+    #1 \LWR at shellescapecmd \jobname#2%
+}
+%    \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\LWR at addcompilecmd} \marg{cmd} \marg{suffix}
+%
+% Adds to the compilation command.
+%
+% Cmd is \prog{dvipdfmx}, etc.  Suffix is empty or \filenm{\_html}
+%    \begin{macrocode}
+\newcommand*{\LWR at addcompilecmd}[2]{%
+    \space \LWR at opsequence \space\space
+    #1 \jobname#2%
+}
+%    \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\LWR at unknownengine}
+% Error message if not sure which \LaTeX\ engine is being used.
+%    \begin{macrocode}
+\newcommand*{\LWR at unknownengine}{%
+    \PackageError{lwarp}
+    {Unknown LaTeX engine.}
+    {Lwarp only knows about pdflatex, dvi latex, xelatex, and lualatex.}
+}
+%    \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\LWR at latexmkvar} \marg{varname} \marg{value}
+%
+% Adds a \prog{latexmk} variable assignment.
+%    \begin{macrocode}
+\newcommand*{\LWR at latexmkvar}[2]{%
+    -e
+    \LWR at opquote%
+    \LWR at dollarchar #1=q/#2/%
+    \LWR at opquote
+}
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\LWR at latexmkcmd} \marg{\prog{latexmk} options}
+%
+% Sets a call to \prog{latexmk} with the given options, possibly adding
+% \optn{-\/-shell-escape}, and also adding the indexing program.
+% \changes{v0.59}{2018/09/05}{Fix: \optn{--shell-escape} with \prog{latexmk}.}
+%    \begin{macrocode}
+\newcommand*{\LWR at latexmkcmd}[1]{%
+    latexmk  \space \LWR at shellescapecmd \space  #1 \space
+    -recorder \space
+    \LWR at latexmkvar{makeindex}{\LWR at LatexmkIndexCmd}
+}
+%    \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\LWR at latexmkdvipdfm} \marg{\prog{dvipdfm} or \prog{dvipdfmx}}
+%
+% Adds the options settings for \prog{dvipdfm} or \prog{dvipdfmx}.
+%    \begin{macrocode}
+\newcommand*{\LWR at latexmkdvipdfm}[1]{%
+    -pdfdvi \space
+    \LWR at latexmkvar{dvipdf}{%
+        #1
+        \@percentchar O
+        -o \@percentchar D
+        \@percentchar S%
+    }
+}
+%    \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\LWR at printlatexcmd}
+% \begin{macro}{\LWR at HTMLlatexcmd}
+%
+% The following sets the command to use to compile the source to \PDF\ form.
+%
+% If using \prog{latexmk}, a complicated string is created,
+% eventually resulting in something such as:
+%
+% For \prog{xelatex} with \optn{--shell-escape}:
+%   \begin{Verbatim}[tabsize=4,gobble=2,frame=lines]
+% [[latexmk   -xelatex   --shell-escape  -recorder
+%     -e '$makeindex = q/makeindex -s lwarp.ist/'  <jobname>_html]]
+%   \end{Verbatim}
+%
+% For \prog{dvipdfmx}:
+%   \begin{Verbatim}[tabsize=4,gobble=2,frame=lines]
+% [[latexmk   -pdfdvi  -e '$dvipdf=q/dvipdfmx %O -o %D %S/'
+%     -recorder
+%     -e '$makeindex=q/makeindex -s lwarp.ist/'   <jobname>_html]]
+%   \end{Verbatim}
+%
+%    \begin{macrocode}
+\ifbool{LWR at latexmk}{
+%    \end{macrocode}
+% For \prog{latexmk} with \prog{pdflatex} or \prog{lualatex}:
+%    \begin{macrocode}
+    \ifpdf
+%    \end{macrocode}
+% For \prog{latexmk} with \prog{pdflatex}:
+%    \begin{macrocode}
+        \ifPDFTeX
+            \def\LWR at latexcmd{\LWR at latexmkcmd{-pdf -dvi- -ps-}}
+        \else
+%    \end{macrocode}
+% For \prog{latexmk} with \prog{lualatex}:
+%    \begin{macrocode}
+            \ifLuaTeX
+                \def\LWR at latexcmd{\LWR at latexmkcmd{-lualatex}}
+            \else
+                \LWR at unknownengine
+            \fi
+        \fi
+    \else% \ifpdf
+%    \end{macrocode}
+% For \prog{latexmk} with \prog{xelatex} or \DVI\ \prog{latex}:
+%    \begin{macrocode}
+        \ifXeTeX
+%    \end{macrocode}
+% For \prog{latexmk} with \prog{xelatex}:
+%    \begin{macrocode}
+            \def\LWR at latexcmd{\LWR at latexmkcmd{-xelatex}}
+        \else% \ifXeTeX
+%    \end{macrocode}
+% For \prog{latexmk} with \DVI\ \prog{latex}:
+%    \begin{macrocode}
+            \ifbool{LWR at dvipdfm}{
+                \def\LWR at latexcmd{%
+                    \LWR at latexmkcmd{%
+                        \LWR at latexmkdvipdfm{dvipdfm}%
+                    }
+                }
+            }{
+                \ifbool{LWR at dvipdfmx}{
+                    \def\LWR at latexcmd{%
+                        \LWR at latexmkcmd{%
+                            \LWR at latexmkdvipdfm{dvipdfmx}%
+                        }
+                    }
+                }{
+                    \def\LWR at latexcmd{\LWR at latexmkcmd{-pdfps}}
+                }
+            }
+        \fi
+    \fi% \ifpdf
+%    \end{macrocode}
+% The final assignment if \prog{latexmk}:
+%    \begin{macrocode}
+    \def\LWR at printlatexcmd{\LWR at latexcmd \space \jobname}
+    \def\LWR at HTMLlatexcmd{\LWR at latexcmd \space \jobname_html}
+}% latexmk
+%    \end{macrocode}
+% Without \prog{latexmk}, the compiling command is simply the compiler name
+% and the optional shell escape:
+%    \begin{macrocode}
+{% not latexmk
+    \ifpdf
+%    \end{macrocode}
+% For \prog{pdflatex} or \prog{lualatex}:
+%    \begin{macrocode}
+        \ifPDFTeX
+%    \end{macrocode}
+% For \prog{pdflatex}:
+%    \begin{macrocode}
+            \def\LWR at printlatexcmd{\LWR at compilecmd{pdflatex}{}}
+            \def\LWR at HTMLlatexcmd{\LWR at compilecmd{pdflatex}{_html}}
+        \else
+            \ifLuaTeX
+%    \end{macrocode}
+% For \prog{lualatex}:
+%    \begin{macrocode}
+                \def\LWR at printlatexcmd{\LWR at compilecmd{lualatex}{}}
+                \def\LWR at HTMLlatexcmd{\LWR at compilecmd{lualatex}{_html}}
+            \else
+                \LWR at unknownengine
+            \fi
+        \fi
+    \else% \ifpdf
+%    \end{macrocode}
+% For \DVI\ \prog{latex} or \prog{xelatex}:
+%    \begin{macrocode}
+        \ifXeTeX
+%    \end{macrocode}
+% For \prog{xelatex}:
+%    \begin{macrocode}
+            \def\LWR at printlatexcmd{\LWR at compilecmd{xelatex}{}}
+            \def\LWR at HTMLlatexcmd{\LWR at compilecmd{xelatex}{_html}}
+        \else
+%    \end{macrocode}
+% For \DVI\ \prog{latex}.  Default to \prog{dvips}, unless
+% told to use \prog{dvipdfm} or \prog{dvipdfmx}:
+%    \begin{macrocode}
+            \ifbool{LWR at dvipdfm}{
+%    \end{macrocode}
+% For \DVI\ \prog{latex} with \prog{dvipdfm}:
+%    \begin{macrocode}
+                \def\LWR at printlatexcmd{%
+                    \LWR at compilecmd{latex}{}
+                    \LWR at addcompilecmd{dvipdfm}{}
+                }
+                \def\LWR at HTMLlatexcmd{%
+                    \LWR at compilecmd{latex}{_html}
+                    \LWR at addcompilecmd{dvipdfm}{_html}
+                }
+            }{
+                \ifbool{LWR at dvipdfmx}{
+%    \end{macrocode}
+% For \DVI\ \prog{latex} with \prog{dvipdfmx}:
+%    \begin{macrocode}
+                    \def\LWR at printlatexcmd{%
+                        \LWR at compilecmd{latex}{}
+                        \LWR at addcompilecmd{dvipdfmx}{}
+                    }
+                    \def\LWR at HTMLlatexcmd{%
+                        \LWR at compilecmd{latex}{_html}
+                        \LWR at addcompilecmd{dvipdfmx}{_html}
+                    }
+                }{% dvips
+%    \end{macrocode}
+% For \DVI\ \prog{latex} with \prog{dvips} and \prog{ps2pdf}:
+%    \begin{macrocode}
+                    \def\LWR at printlatexcmd{%
+                        \LWR at compilecmd{latex}{}
+                        \LWR at addcompilecmd{dvips}{}
+                        \LWR at addcompilecmd{ps2pdf}{}.ps
+                    }
+                    \def\LWR at HTMLlatexcmd{%
+                        \LWR at compilecmd{latex}{_html}
+                        \LWR at addcompilecmd{dvips}{_html}
+                        \LWR at addcompilecmd{ps2pdf}{_html}.ps
+                    }
+                }
+            }
+        \fi% \ifXeTeX
+    \fi% \ifpdf
+}% latexmk
+%    \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+%
+% \begin{macro}{\LWR at writeconf} \marg{filename}
+%
+% Common code for each of \filenm{lwarpmk.conf} and \filenm{<project>.lwarpmkconf}.
+% Each entry is a variable name, the equal sign, and a quoted string
+% inside |[[| and |]]|, which are \prog{lua}'s long quote characters, allowing the
+% use of single and double quotes inside.
+%
+% \changes{v0.59}{2018/08/21}{Compilation commands now preassigned by \pkg{lwarp} instead
+%   of being computed by \prog{lwarpmk}.}
+%    \begin{macrocode}
+\newcommand{\LWR at writeconf}[1]{%
+\ifcsdef{LWR at quickfile}{}{\newwrite{\LWR at quickfile}}
+\immediate\openout\LWR at quickfile=#1
+\immediate\write\LWR at quickfile{confversion = [[\LWR at lwarpconfversion]]}
+\ifbool{usingOSWindows}{
+    \immediate\write\LWR at quickfile{opsystem = [[Windows]]}
+}{
+    \immediate\write\LWR at quickfile{opsystem = [[Unix]]}
+}
+\immediate\write\LWR at quickfile{sourcename = [[\jobname]]}
+\immediate\write\LWR at quickfile{homehtmlfilename = [[\HomeHTMLFilename]]}
+\immediate\write\LWR at quickfile{htmlfilename = [[\HTMLFilename]]}
+\immediate\write\LWR at quickfile{latexmk = [[\ifbool{LWR at latexmk}{true}{false}]]}
+\immediate\write\LWR at quickfile{printlatexcmd = [[\LWR at printlatexcmd]]}
+\immediate\write\LWR at quickfile{HTMLlatexcmd = [[\LWR at HTMLlatexcmd]]}
+\immediate\write\LWR at quickfile{printindexcmd = [[\LWR at PrintIndexCmd]]}
+\immediate\write\LWR at quickfile{HTMLindexcmd = [[\LWR at HTMLIndexCmd]]}
+\immediate\write\LWR at quickfile{latexmkindexcmd = [[\LWR at LatexmkIndexCmd]]}
+\immediate\write\LWR at quickfile{glossarycmd = [[\LWR at GlossaryCmd]]}
+\immediate\write\LWR at quickfile{pdftotextenc = [[\LWR at pdftotextEnc]]}
+\immediate\closeout\LWR at quickfile
+}
+
+%    \end{macrocode}
+% \end{macro}
+
+%    \begin{macrocode}
+\end{warpprint}
+%    \end{macrocode}
+
+
+
+% \subsubsection{lwarpmk.conf}
+%
 % \DescribeFile{lwarpmk.conf}
 % |lwarpmk.conf| is automatically (re-)created by the \pkg{lwarp} package when
 % executing\\
@@ -11583,49 +12173,15 @@
 % \codeprint
 %    \begin{macrocode}
 \begin{warpprint}
-\AtBeginDocument{
-\ifcsdef{LWR at quickfile}{}{\newwrite{\LWR at quickfile}}
-\immediate\openout\LWR at quickfile=lwarpmk.conf
-\ifbool{usingOSWindows}{
-\immediate\write\LWR at quickfile{opsystem = "Windows"}
-}{
-\immediate\write\LWR at quickfile{opsystem = "Unix"}
-}
-\ifPDFTeX
-\immediate\write\LWR at quickfile{latexname = "pdflatex"}
-\fi
-\ifXeTeX
-\immediate\write\LWR at quickfile{latexname = "xelatex"}
-\fi
-\ifLuaTeX
-\immediate\write\LWR at quickfile{latexname = "lualatex"}
-\fi
-\immediate\write\LWR at quickfile{sourcename = "\jobname"}
-\immediate\write\LWR at quickfile{%
-homehtmlfilename = "\HomeHTMLFilename"%
-}
-\immediate\write\LWR at quickfile{htmlfilename = "\HTMLFilename"}
-\immediate\write\LWR at quickfile{latexmk = "\ifbool{LWR at latexmk}{true}{false}"}
-\immediate\write\LWR at quickfile{shellescape = "\ifshellescape true\else false\fi"}
-\immediate\write\LWR at quickfile{printindexcmd = "\LWR at PrintIndexCmd"}
-\immediate\write\LWR at quickfile{HTMLindexcmd = "\LWR at HTMLIndexCmd"}
-\immediate\write\LWR at quickfile{latexmkindexcmd = "\LWR at LatexmkIndexCmd"}
-\immediate\write\LWR at quickfile{glossarycmd = "\LWR at GlossaryCmd"}
-%    \end{macrocode}
-% ^^A \immediate\write\LWR at quickfile{makeindexstyle = "\LWR at makeindexStyle"}
-% ^^A  \immediate\write\LWR at quickfile{xindylanguage = "\LWR at xindyLanguage"}
-% ^^A  \immediate\write\LWR at quickfile{xindycodepage = "\LWR at xindyCodepage"}
-% ^^A  \immediate\write\LWR at quickfile{xindystyle = "\LWR at xindyStyle"}
-%    \begin{macrocode}
-\immediate\write\LWR at quickfile{pdftotextenc = "\LWR at pdftotextEnc"}
-\immediate\closeout\LWR at quickfile
-}% AtBeginDocument
+
+\AtBeginDocument{\LWR at writeconf{lwarpmk.conf}}
+
 \end{warpprint}
 %    \end{macrocode}
 
 
 
-% \subsection{project.lwarpmkconf}
+% \subsubsection{<project>.lwarpmkconf}
 %
 % \DescribeFile{project.lwarpmkconf} A project-specific configuration file for \prog{lwarpmk}.
 %
@@ -11640,47 +12196,13 @@
 % \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 previously been handled
+% The \optn{makeindex} and \optn{xindy} options have already been handled
 %   for \filenm{lwarp.conf}.
 %    \begin{macrocode}
 \begin{warpprint}
-\AtBeginDocument{
-\ifcsdef{LWR at quickfile}{}{\newwrite{\LWR at quickfile}}
-\immediate\openout\LWR at quickfile=\jobname.lwarpmkconf
-\ifbool{usingOSWindows}{
-\immediate\write\LWR at quickfile{opsystem = "Windows"}
-}{
-\immediate\write\LWR at quickfile{opsystem = "Unix"}
-}
-\ifPDFTeX
-\immediate\write\LWR at quickfile{latexname = "pdflatex"}
-\fi
-\ifXeTeX
-\immediate\write\LWR at quickfile{latexname = "xelatex"}
-\fi
-\ifLuaTeX
-\immediate\write\LWR at quickfile{latexname = "lualatex"}
-\fi
-\immediate\write\LWR at quickfile{sourcename = "\jobname"}
-\immediate\write\LWR at quickfile{%
-homehtmlfilename = "\HomeHTMLFilename"%
-}
-\immediate\write\LWR at quickfile{htmlfilename = "\HTMLFilename"}
-\immediate\write\LWR at quickfile{latexmk = "\ifbool{LWR at latexmk}{true}{false}"}
-\immediate\write\LWR at quickfile{shellescape = "\ifshellescape true\else false\fi"}
-\immediate\write\LWR at quickfile{printindexcmd = "\LWR at PrintIndexCmd"}
-\immediate\write\LWR at quickfile{HTMLindexcmd = "\LWR at HTMLIndexCmd"}
-\immediate\write\LWR at quickfile{latexmkindexcmd = "\LWR at LatexmkIndexCmd"}
-\immediate\write\LWR at quickfile{glossarycmd = "\LWR at GlossaryCmd"}
-%    \end{macrocode}
-%  ^^A \immediate\write\LWR at quickfile{makeindexstyle = "\LWR at makeindexStyle"}
-%  ^^A \immediate\write\LWR at quickfile{xindylanguage = "\LWR at xindyLanguage"}
-%  ^^A \immediate\write\LWR at quickfile{xindycodepage = "\LWR at xindyCodepage"}
-%  ^^A \immediate\write\LWR at quickfile{xindystyle = "\LWR at xindyStyle"}
-%    \begin{macrocode}
-\immediate\write\LWR at quickfile{pdftotextenc = "\LWR at pdftotextEnc"}
-\immediate\closeout\LWR at quickfile
-}% AtBeginDocument
+
+\AtBeginDocument{\LWR at writeconf{\jobname.lwarpmkconf}}
+
 \end{warpprint}
 %    \end{macrocode}
 
@@ -13830,6 +14352,8 @@
 % \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.}
 %
 %
 % ^^A *lwarp_mathjax.txt
@@ -13856,11 +14380,11 @@
         seteqsection.num = AMS.number;
         var n = this.GetArgument(name);
         if (n === "") {
-        seteqsection = seteqsectionDefault;
+            seteqsection = seteqsectionDefault;
         } else {
-        if (!seteqsections["_"+n])
-            seteqsections["_"+n] = {name:n, num:0};
-        seteqsection = seteqsections["_"+n];
+            if (!seteqsections["_"+n])
+                seteqsections["_"+n] = {name:n, num:0};
+            seteqsection = seteqsections["_"+n];
         }
         AMS.number = seteqsection.num;
     },
@@ -13867,7 +14391,9 @@
     mySetEqNumber: function (name) {
         var n = this.GetArgument(name);
         if (!n || !n.match(/^ *[0-9]+ *$/))
-            n = ""; else n = parseInt(n)-1;
+            n = "";
+        else
+            n = parseInt(n)-1;
         <!-- $ syntax highlighting -->
         if (n === "" || n < 1)
             TEX.Error
@@ -13878,14 +14404,20 @@
     MathJax.Hub.Config({
     TeX: {
         equationNumbers: {
-        formatTag: function (n)
-            {return "("+(seteqsection.name+"."+n).replace(/^\./,"")+")"},
-        formatID: function (n) {
-            n = (seteqsection.name+'.'+n).replace
-                (/[:"'<>&]/g,"").replace(/^\./,"");
-            return 'mjx-eqn-' + n;
+            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;
+            }
         }
-        }
     }
     });
 });
@@ -13924,7 +14456,7 @@
 
 <!-- Alternative CDN provider: -->
 <script type="text/javascript" async
-src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS_HTML-full">
+src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.4/MathJax.js?config=TeX-AMS_HTML-full">
 </script>
 
 <!-- No longer supported after April 30, 2017: -->
@@ -14007,6 +14539,11 @@
 % \changes{v0.58}{2018/06/18}{\prog{lwarpmk}: Glossary generation now uses \prog{makeglossaries}.}
 % \changes{v0.58}{2018/06/20}{\prog{lwarpmk}: Added \optn{makeindex} and \optn{xindy} options.}
 % \changes{v0.58}{2018/06/20}{\prog{lwarpmk}: \cmds{lwarpmk clean} removes all \filenm{*.ind} and \filenm{*.idx} files.}
+% \changes{v0.59}{2018/07/29}{\prog{lwarpmk}: Warning if operating system changed.}
+% \changes{v0.59}{2018/07/29}{\prog{lwarpmk}: Error if \filenm{lwarpmk.conf} format changed.}
+% \changes{v0.59}{2018/08/05}{\prog{lwarpmk}: Double insead of single-dashed \optn{--shell-escape} option.}
+% \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}.}
 %
 % The following is only generated if the \optn{lwarpmk} option
 %   was given to \pkg{lwarp}.
@@ -14022,9 +14559,9 @@
 -- Copyright 2016-2018 Brian Dunn
 
 
-printversion = "v0.58"
+printversion = "v0.59"
+requiredconfversion = "1" -- also at *lwarpmk.conf
 
-
 function printhelp ()
 print ("lwarpmk: Use lwarpmk -h or lwarpmk --help for help.") ;
 end
@@ -14051,6 +14588,7 @@
     Converts project_html.pdf to project_html.html and individual HTML files.
     Finishes the HTML conversion even if there was a compile error.
 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*
 lwarpmk cleanall [-p project]: Remove auxiliary files and also project.pdf, *.html
 lwarpmk cleanlimages: Removes all images from the "lateximages" directory.
@@ -14062,39 +14600,6 @@
 end
 
 
--- function printconf ()
--- --
--- -- Print the format of the configuration file lwarpmk.conf:
--- --
--- print ( [[
--- An example lwarpmk.conf or <project>.lwarpmkconf project file:
--- --
--- opsystem = "Unix"   (or "Windows")
--- latexname = "pdflatex"  (or "lualatex", or "xelatex")
--- sourcename = "projectname"  (the source-code filename w/o .tex)
--- homehtmlfilename = "index"  (or perhaps the project name)
--- htmlfilename = ""  (or "projectname" - filename prefix)
--- latexmk = "false"  (or "true" to use latexmk to build PDFs)
--- shellescape = "false"
--- printindexcmd = "makeindex -s lwarp.ist <name>.idx"
--- HTMLindexcmd = "makeindex -s lwarp.ist <name>_html.idx"
--- latexmkindexcmd = "makeindex -s lwarp.ist"
--- -- indexprog = "makeindex" or "xindy"
--- -- makeindexstyle = "lwarp.ist" (or a custom file based on lwarp.ist)
--- -- xindylanguge = "english"  (use a language supported by xindy)
--- -- xindycodepage = "utf8"  (use a codepage supported by xindy)
--- -- xindystyle = "lwarp.xdy" (or a custom file based on lwarp.xdy)
--- glossarycmd = "makeglossaries"
--- pdftotextenc = "UTF-8"  (use an encoding supported by pdftotext)
--- --
--- Filenames must contain only letters, numbers, underscore, or dash.
--- Values must be in upright "quotes".
--- 
--- ]] ) ;
--- end
-
-
-
 function splitfile (destfile,sourcefile)
 --
 -- Split one large sourcefile into a number of files,
@@ -14134,6 +14639,11 @@
 end
 
 
+function ignoreconf ()
+-- Global argument index
+argindex = 2
+end
+
 function loadconf ()
 --
 -- Load settings from the project's "lwarpmk.conf" file:
@@ -14151,9 +14661,11 @@
     argindex = argindex + 1
 end
 -- Additional defaults:
+confversion = "0"
 opsystem = "Unix"
 latexmk = "false"
-shellescape = "false"
+printlatexcmd = ""
+HTMLlatexcmd = ""
 printindexcmd = ""
 HTMLindexcmd = ""
 latexmkindexcmd = ""
@@ -14186,11 +14698,11 @@
 -- Read the file:
 print ("lwarpmk: Reading " .. conffile ..".")
 local cfile = io.open(conffile)
--- Scan each line:
+-- Scan each line, parsing each line as: name = [[string]]
 local linenum = 0
 for line in cfile:lines() do -- scan lines
 linenum = linenum + 1
-i,j,cvarname,cvalue = string.find (line,"([%w-_]*)%s*=%s*\"([^\"]*)\"") ;
+i,j,cvarname,cvalue = string.find (line,"([%w-_]*)%s*=%s*%[%[([^%]]*)%]%]") ;
 -- Error if incorrect enclosing characters:
 if ( i == nil ) then
     print ("lwarpmk: ===")
@@ -14200,7 +14712,9 @@
 --    printconf () ;
     os.exit(1) ;
 end -- nil
-if ( cvarname == "opsystem" ) then
+if ( cvarname == "confversion" ) then
+    confversion = cvalue
+elseif ( cvarname == "opsystem" ) then
     -- Verify choice of opsystem:
     if ( (cvalue == "Unix") or (cvalue == "Windows") ) then
         opsystem = cvalue
@@ -14207,41 +14721,16 @@
     else
         cvalueerror ( line, linenum , cvalue )
     end
-elseif ( cvarname == "latexname" ) then
-    -- Verify choice of LaTeX compiler:
-    if (
-        (cvalue == "pdflatex") or
-        (cvalue == "xelatex") or
-        (cvalue == "lualatex")
-    ) then
-        latexname = cvalue
-    else
-        cvalueerror ( line, linenum , cvalue )
-    end
 elseif ( cvarname == "sourcename" ) then sourcename = cvalue
 elseif ( cvarname == "homehtmlfilename" ) then homehtmlfilename = cvalue
 elseif ( cvarname == "htmlfilename" ) then htmlfilename = cvalue
 elseif ( cvarname == "latexmk" ) then latexmk = cvalue
-elseif ( cvarname == "shellescape" ) then shellescape = cvalue
+elseif ( cvarname == "printlatexcmd" ) then printlatexcmd = cvalue
+elseif ( cvarname == "HTMLlatexcmd" ) then HTMLlatexcmd = cvalue
 elseif ( cvarname == "printindexcmd" ) then printindexcmd = cvalue
 elseif ( cvarname == "HTMLindexcmd" ) then HTMLindexcmd = cvalue
 elseif ( cvarname == "latexmkindexcmd" ) then latexmkindexcmd = cvalue
 elseif ( cvarname == "glossarycmd" ) then glossarycmd = cvalue
--- to be removed:
--- elseif ( cvarname == "indexprog" ) then
---     -- Verify choice of indexing program:
---     if (
---         (cvalue == "makeindex") or
---         (cvalue == "xindy")
---     ) then
---         indexprog = cvalue
---     else
---         cvalueerror ( line, linenum , cvalue )
---     end
--- elseif ( cvarname == "makeindexstyle" ) then makeindexstyle = cvalue
--- elseif ( cvarname == "xindylanguage" ) then xindylanguage = cvalue
--- elseif ( cvarname == "xindycodepage" ) then xindycodepage = cvalue
--- elseif ( cvarname == "xindystyle" ) then xindystyle = cvalue
 elseif ( cvarname == "pdftotextenc" ) then pdftotextenc = cvalue
 else
     print ("lwarpmk: ===")
@@ -14261,7 +14750,7 @@
 -- This could happen if a local copy of lwarp has recently been recompiled.
 if sourcename=="lwarp" then
     print ("lwarpmk: ===")
-    print ("lwarpmk: Lwarp has recently been recompiled in this directory,")
+    print ("lwarpmk: lwarp.sty has recently been recompiled in this directory,")
     print ("lwarpmk: and \"lwarpmk.conf\" is no longer set for your own project.")
     print ("lwarpmk: Recompile your own project using pdf/lua/xelatex <projectname>.")
     print ("lwarpmk: After a recompile, \"lwarpmk.conf\" will be set for your project,")
@@ -14296,9 +14785,33 @@
     cmdgroupclosename = ""
     seqname = " & "
     bgname = ""
-else print ( "lwarpmk: Select Unix or Windows for opsystem" )
+else
+    print ("lwarpmk: ===")
+    print ("lwarpmk: Select Unix or Windows for opsystem." )
+    print ("lwarpmk: ===")
+    os.exit(1)
 end --- for Windows
-
+-- Warning if the operating system does not appear to be correct,
+-- in case files were transferred to another system.
+if ( (package.config:sub(1,1)) ~= dirslash ) then
+    print ("lwarpmk: ===")
+    print ("lwarpmk: It appears that lwarpmk.conf is for a different operating system." )
+    print ("lwarpmk: To adjust lwarpmk.conf for the current operating system," )
+    print ("lwarpmk:   recompile the original document using xe/lua/pdflatex." )
+    print ("lwarpmk: ")
+    print ("lwarpmk: lwarpmk shall attempt to continue...")
+    print ("lwarpmk: ===")
+end
+-- Error if the configuration file's version is not current:
+if ( confversion ~= requiredconfversion ) then
+    print ("lwarpmk: ===")
+    print ("lwarpmk: The configuration files lwarpmk.conf and "..sourcename..".lwarpmkconf" )
+    print ("lwarpmk:   must be updated.  To update the configuration files," )
+    print ("lwarpmk:   recompile "..sourcename..".tex using xe/lua/pdflatex," )
+    print ("lwarpmk:   then use lwarpmk again.")
+    print ("lwarpmk: ===")
+    os.exit(1)
+end
 end -- loadconf
 
 
@@ -14343,20 +14856,14 @@
 
 
 
-function onetime (fsuffix)
+function onetime (latexcmd, fsuffix)
 --
 -- Compile one time, return true if should compile again.
 -- fsuffix is "" for print, "_html" for HTML output.
 --
-print("lwarpmk: Compiling with " .. latexname .. " " .. sourcename..fsuffix)
-local thisshellescape = " "
-if ( shellescape == "true" ) then
-    thisshellescape = " -shell-escape "
-else
-    thisshellescape = " "
-end
+print("lwarpmk: Compiling with: " .. latexcmd)
 executecheckerror (
-    latexname .. thisshellescape .. sourcename..fsuffix ,
+    latexcmd ,
     "Compile error."
 )
 return (reruntoget(sourcename .. fsuffix .. ".log") ) ;
@@ -14363,16 +14870,16 @@
 end
 
 
-function manytimes (fsuffix)
+function manytimes (latexcmd, fsuffix)
 --
 -- Compile up to five times.
 -- fsuffix is "" for print, "_html" for HTML output
 --
-if onetime(fsuffix) == true then
-if onetime(fsuffix) == true then
-if onetime(fsuffix) == true then
-if onetime(fsuffix) == true then
-if onetime(fsuffix) == true then
+if onetime(latexcmd, fsuffix) == true then
+if onetime(latexcmd, fsuffix) == true then
+if onetime(latexcmd, fsuffix) == true then
+if onetime(latexcmd, fsuffix) == true then
+if onetime(latexcmd, fsuffix) == true then
 end end end end end
 end
 
@@ -14408,7 +14915,7 @@
 function removeaux ()
 --
 -- Remove auxiliary files:
--- All aux files are removed since there may be many bbl*.aux files.
+-- All .aux files are removed since there may be many bbl*.aux files.
 --
 os.execute ( rmname .. " *.aux " ..
     sourcename ..".toc " .. sourcename .. "_html.toc " ..
@@ -14416,6 +14923,7 @@
     sourcename ..".lot " .. sourcename .. "_html.lot " ..
     " *.idx " ..
     " *.ind " ..
+    sourcename ..".ps " .. sourcename .."_html.ps " ..
     sourcename ..".log " .. sourcename .. "_html.log " ..
     sourcename ..".gl* " .. sourcename .. "_html.gl* " ..
     " *_html_inc.* "
@@ -14648,34 +15156,22 @@
 end -- function
 
 
-function compilelatexmk ( fsuffix )
+function convertepstopdf ()
 --
--- Use latexmk to compile source and index:
--- fsuffix is "" for print, or "_html" for HTML
+-- Converts EPS files to PDF files.
+-- The filenames are arg[argindex] and up.
+-- arg[1] is the command "pdftosvg".
 --
--- Maybe select the shell-escape option:
-local thisshellescape = " "
-if ( shellescape == "true" ) then
-    thisshellescape = " -shell-escape "
-else
-    thisshellescape = " "
-end
--- The recorder option is required to detect changes in <project>.tex
--- while we are loading <project>_html.tex.
-executecheckerror (
-    "latexmk -pdf -dvi- -ps- -recorder "
-    .. "-e "
-    .. opquote
-    .. "$makeindex = q/" -- $
-    .. latexmkindexcmd
-    .. " /"
-    .. opquote
-    .. " -pdflatex=\"" .. latexname .. thisshellescape .." %O %S\" "
-    .. sourcename..fsuffix ..".tex"
-    ,
-    "Compile error."
-)
-end -- function
+ignoreconf ()
+for i = argindex , #arg do
+    if (lfs.attributes(arg[i],"mode")==nil) then
+        print ("lwarpmk: File \"" .. arg[i] .. "\" does not exist.")
+    else
+        print ("lwarpmk: Converting \"" .. arg[i] .. "\"")
+        os.execute ( "epstopdf " .. arg[i] )
+    end -- if
+end -- do
+end --function
 
 
 function convertpdftosvg ()
@@ -14684,6 +15180,7 @@
 -- The filenames are arg[argindex] and up.
 -- arg[1] is the command "pdftosvg".
 --
+ignoreconf ()
 for i = argindex , #arg do
     if (lfs.attributes(arg[i],"mode")==nil) then
         print ("lwarpmk: File \"" .. arg[i] .. "\" does not exist.")
@@ -14725,7 +15222,11 @@
 if arg[1] == "print" then
 loadconf ()
 if ( latexmk == "true" ) then
-    compilelatexmk ("")
+    print ("lwarpmk: Compiling with: " .. printlatexcmd)
+    executecheckerror (
+        printlatexcmd ,
+        "Compile error."
+    )
     print ("lwarpmk: Done.")
 else -- not latexmk
     verifyfileexists (sourcename .. ".tex") ;
@@ -14738,7 +15239,7 @@
         )
     ) then
         -- Recompile if not yet up to date:
-        manytimes("")
+        manytimes(printlatexcmd, "")
         print ("lwarpmk: Done.") ;
     else
         print ("lwarpmk: " .. sourcename .. ".pdf is up to date.") ;
@@ -14751,7 +15252,7 @@
 elseif arg[1] == "print1" then
     loadconf ()
     verifyfileexists (sourcename .. ".tex") ;
-    onetime("")
+    onetime(printlatexcmd, "")
     print ("lwarpmk: Done.") ;
 
 
@@ -14783,7 +15284,11 @@
 elseif arg[1] == "html" then
 loadconf ()
 if ( latexmk == "true" ) then
-    compilelatexmk ("_html")
+    print ("lwarpmk: Compiling with: " .. HTMLlatexcmd)
+    executecheckerror (
+        HTMLlatexcmd ,
+        "Compile error."
+    )
     pdftohtml ()
     print ("lwarpmk: Done.")
 else -- not latexmk
@@ -14797,7 +15302,7 @@
         )
     ) then
         -- Recompile if not yet up to date:
-        manytimes("_html")
+        manytimes(HTMLlatexcmd, "_html")
         pdftohtml ()
         print ("lwarpmk: Done.")
     else
@@ -14811,7 +15316,7 @@
 elseif arg[1] == "html1" then
     loadconf ()
     verifyfileexists ( sourcename .. ".tex" ) ;
-    onetime("_html")
+    onetime(HTMLlatexcmd, "_html")
     pdftohtml ()
     print ("lwarpmk: Done.")
 
@@ -14874,7 +15379,7 @@
 
 -- lwarpmk cleanall
 -- Remove project.aux, .toc, .lof, .lot, .log, *.idx, *.ind, *_html_inc.*, .gl*
---    and also project.pdf, *.html
+--    and also project.pdf, project.dvi, *.html
 
 elseif arg[1] == "cleanall" then
 loadconf ()
@@ -14881,6 +15386,7 @@
 removeaux ()
 os.execute ( rmname .. " " ..
     sourcename .. ".pdf " .. sourcename .. "_html.pdf " ..
+    sourcename .. ".dvi " .. sourcename .. "_html.dvi " ..
     "*.html"
     )
 print ("lwarpmk: Done.")
@@ -14894,8 +15400,15 @@
 os.execute ( rmname .. " lateximages/*" )
 print ("lwarpmk: Done.")
 
+-- lwarpmk epstopdf <list of file names>
+-- Convert EPS files to PDF using epstopdf
+elseif arg[1] == "epstopdf" then
+convertepstopdf ()
+print ("lwarpmk: Done.")
+
+
 -- lwarpmk pdftosvg <list of file names>
--- Convert PDf files to SVG using pdftocairo
+-- Convert PDF files to SVG using pdftocairo
 elseif arg[1] == "pdftosvg" then
 convertpdftosvg ()
 print ("lwarpmk: Done.")
@@ -17674,7 +18187,7 @@
 \newcommand{\LWR at customizeMathJax}{%
 \ifbool{mathjax}{
 \LWR at stoppars
-\LWR at htmlcomment{Nullify \textbackslash{}ensuremath for MathJax:}
+\LWR at htmlcomment{Nullify \textbackslash{}ensuremath, footnotes for MathJax:}
 
 \(\newcommand\ensuremath[1]{##1}\)
 
@@ -23517,7 +24030,6 @@
 % |\@ifpackageloaded{multirow}| determines if v2.0 or later of
 % \pkg{multirow} was used, which included the \cs{ProvidesPackage} macro.
 %
-%    \begin{macrocode}
 % The print version:
 %    \begin{macrocode}
 \@ifpackageloaded{multirow}{% v2.0 or newer
@@ -26499,6 +27011,7 @@
 
 
 % \DescribeFile{lwarp_baseline_marker.png}
+% \DescribeFile{lwarp_baseline_marker.eps}
 % A marker to be used to help \prog{pdfcrop} identify the inline math baseline
 % and width.  If either \pkg{graphicx} or \pkg{graphics} is loaded, this marker is
 % placed at the lower left and lower right corners of the inline math.
@@ -26525,36 +27038,41 @@
 % \changes{v0.51}{2018/03/16}{Improved \SVG\ math baseline.}
 % \changes{v0.52}{2018/03/24}{Warnings if \filenm{lwarp\_baseline\_marker.png} is not present
 %               or if graphicx/s not loaded.}
+% \changes{v0.59}{2018/09/02}{Uses \filenm{.eps} if \DVI\ \prog{latex}.}
 %    \begin{macrocode}
 \AtBeginDocument{
 
-\IfFileExists{lwarp_baseline_marker.png}%
+\ifpdf
+    \newcommand*{\LWR at baselinename}{lwarp_baseline_marker.png}
+\else
+    \ifXeTeX
+        \newcommand*{\LWR at baselinename}{lwarp_baseline_marker.png}
+    \else
+        \newcommand*{\LWR at baselinename}{lwarp_baseline_marker.eps}
+    \fi
+\fi
+
+\IfFileExists{\LWR at baselinename}%
 {
     \@ifpackageloaded{graphicx}{
         \newcommand*{\LWR at addbaselinemarker}{%
-            \LWR at origincludegraphics[%
-                width=10sp,height=10sp%
-            ]{lwarp_baseline_marker.png}%
+            \LWR at origincludegraphics{\LWR at baselinename}%
         }
     }{
         \@ifpackageloaded{graphics}{
             \newcommand*{\LWR at addbaselinemarker}{%
-                \LWR at origincludegraphics{lwarp_baseline_marker.png}%
+                \LWR at origincludegraphics{\LWR at baselinename}%
             }
         }{
             \PackageWarning{lwarp}{Load graphicx or graphics
                 for improved SVG math baselines,}
-            \newcommand*{\LWR at addbaselinemarker}{%
-                \hspace*{10sp}%
-            }
+            \newcommand*{\LWR at addbaselinemarker}{}
         }
     }
-}{% lwarp_baseline_marker.png not present
-    \PackageWarning{lwarp}{File lwarp_baseline_marker.png is not installed alongside
+}{% lwarp_baseline_marker.png or .eps is not present
+    \PackageWarning{lwarp}{File \LWR at baselinename\space is not installed alongside
         the lwarp-*.sty files, so SVG math baselines may not be accurate,}
-    \newcommand*{\LWR at addbaselinemarker}{%
-        \hspace*{10sp}%
-    }
+    \newcommand*{\LWR at addbaselinemarker}{}
 }
 
 }% AtBeginDocument
@@ -26698,7 +27216,6 @@
 %    \begin{macrocode}
     \global\sbox{\LWR at singledollarbox}{%
         \usebox{\LWR at singledollarbox}%
-        \hspace*{-10sp}%
         \raisebox{-\dp\LWR at singledollarbox}{%
             \LWR at addbaselinemarker%
         }%
@@ -26836,7 +27353,6 @@
 % \changes{v0.51}{2018/03/10}{SVG math baseline improved with invisible rule at corner.}
 %    \begin{macrocode}
     \LWR at addbaselinemarker%
-    \hspace*{-10sp}%
 %    \end{macrocode}
 % Typeset the contents:
 %    \begin{macrocode}
@@ -26844,7 +27360,6 @@
 %    \end{macrocode}
 % The closing baseline marker:
 %    \begin{macrocode}
-    \hspace*{-10sp}%
     \LWR at addbaselinemarker%
 %    \end{macrocode}
 %    \begin{macrocode}
@@ -26966,16 +27481,22 @@
 
 
 % \begin{macro}{\(}
-% \begin{macro}{\)}
+% \begin{macro}{\[}
 % Redefine to the above dollar macros.
 %    \begin{macrocode}
+\AtBeginDocument{
 \protected\gdef\(#1\){$#1$}
 \protected\gdef\[#1\]{$$#1$$}
+}
 
 \endgroup
-
+%    \end{macrocode}
+% \changes{v0.59}{2018/08/23}{Fix with \cs{displaymathnormal}.}
+%    \begin{macrocode}
+\AtBeginDocument{
 \LetLtxMacro\LWR at openbracketnormal\[
 \LetLtxMacro\LWR at closebracketnormal\]
+}
 %    \end{macrocode}
 % \end{macro}
 % \end{macro}
@@ -27243,10 +27764,12 @@
 %
 % Remember existing \env{equation} environment:
 %    \begin{macrocode}
+\AtBeginDocument{
 \let\LWR at origequation\equation
 \let\LWR at origendequation\endequation
 \csletcs{LWR at origequation*}{equation*}
 \csletcs{LWR at origendequation*}{endequation*}
+}
 %    \end{macrocode}
 %
 %
@@ -27352,10 +27875,12 @@
 
 % Remove existing \env{equation} environment:
 %    \begin{macrocode}
+\AtBeginDocument{
 \let\equation\relax
 \let\endequation\relax
 \csletcs{equation*}{relax}
 \csletcs{endequation*}{relax}
+}
 %    \end{macrocode}
 
 
@@ -27365,12 +27890,14 @@
 % which stores the contents of its environment in a
 % macro called \cs{BODY}.
 %    \begin{macrocode}
+\AtBeginDocument{
 \NewEnviron{equation}%
 {\LWR at doequation{\BODY}{equation}}%
 [\LWR at doendequation{equation}]
 
 \LetLtxMacro\LWR at equationnormal\equation
-\LetLtxMacro\LWR at endequationnormal\endequation
+\LetLtxMacro\endLWR at equationnormal\endequation
+}
 %    \end{macrocode}
 % \end{environment}
 
@@ -27377,6 +27904,7 @@
 
 % \begin{environment}{equation*}
 %    \begin{macrocode}
+\AtBeginDocument{
 \NewEnviron{equation*}%
 {\LWR at doequation{\BODY}{equation*}}%
 [\LWR at doendequation{equation*}]
@@ -27383,18 +27911,21 @@
 
 \csletcs{LWR at equationnormalstar}{equation*}
 \csletcs{LWR at endequationnormalstar}{endequation*}
+}
 %    \end{macrocode}
 % \end{environment}
 
 
-% Remember the ``less'' version of \env{equation}, which use \brand{MathJax}
+% Remember the ``less'' version of \env{equation}, which uses \brand{MathJax}
 % and \attribute{alt} tags, but does not support complicated contents such as
 % some \tikz\ expressions.
 %    \begin{macrocode}
+\AtBeginDocument{
 \LetLtxMacro\LWR at equationless\equation
-\LetLtxMacro\LWR at endequationless\endequation
+\LetLtxMacro\endLWR at equationless\endequation
 \csletcs{LWR at equationlessstar}{equation*}
 \csletcs{LWR at endequationlessstar}{endequation*}
+}
 %    \end{macrocode}
 
 
@@ -27414,7 +27945,7 @@
 \LetLtxMacro\displaymath\LWR at displaymathnormal%
 \LetLtxMacro\enddisplaymath\endLWR at displaymathnormal%
 \LetLtxMacro\equation\LWR at equationnormal%
-\LetLtxMacro\endequation\LWR at endequationnormal%
+\LetLtxMacro\endequation\endLWR at equationnormal%
 \csletcs{equation*}{LWR at equationnormalstar}%
 \csletcs{endequation*}{LWR at endequationnormalstar}%
 }
@@ -27572,7 +28103,7 @@
 % \changes{v0.33}{2017/06/20}{Fix: Incorrectly-inline math environments.}
 % \changes{v0.34}{2017/07/29}{Fix: Added the \env{eqnarray} environments.}
 %
-% The following \pkg{amsmath} environments already collect their contents
+% 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.
 %
@@ -27718,336 +28249,7 @@
 % \end{environment}
 %
 %
-% The following \AmS\ environments are more easily patched in-place:
-%
-% \changes{v0.44}{2017/11/16}{AMS environments: Fix: Groups for \env{lateximage}s.}
-% \changes{v0.50}{2018/03/01}{AMS environments: Improved \SVG\ math display.}
-% \changes{v0.51}{2018/03/11}{AMS environments: Fix: \cs{addcontentsline} inside \SVG\ math.  Provides an autoid anchor.}
-%
-% \begin{environment}{multline}
 %    \begin{macrocode}
-\BeforeBeginEnvironment{multline}{
-
-\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
-{
-    \LWR at syncmathjax
-    \booltrue{LWR at amsmultline}
-    \LWR at beginhideamsmath
-}
-{
-    \begin{BlockClass}{displaymathnumbered}
-    \LWR at newautoidanchor%
-    \booltrue{LWR at indisplaymathimage}%
-    \begin{lateximage}[\LWR at amsmathbodynumbered{multline}]
-}
-}
-
-\AfterEndEnvironment{multline}{
-
-\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
-{
-    \LWR at endhideamsmath
-    \boolfalse{LWR at amsmultline}
-    \LWR at addmathjax{multline}{\the\@envbody}
-}
-{\end{lateximage}\end{BlockClass}}
-
-}
-%    \end{macrocode}
-% \end{environment}
-
-
-% \begin{environment}{multline*}
-%    \begin{macrocode}
-\BeforeBeginEnvironment{multline*}{
-
-\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
-{
-    \LWR at syncmathjax
-    \booltrue{LWR at amsmultline}
-    \LWR at beginhideamsmath
-}
-{
-    \begin{BlockClass}{displaymath}
-    \LWR at newautoidanchor
-    \booltrue{LWR at indisplaymathimage}%
-    \begin{lateximage}[\LWR at amsmathbody{multline*}]
-}
-}
-
-\AfterEndEnvironment{multline*}{
-
-\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
-{
-    \LWR at endhideamsmath
-    \boolfalse{LWR at amsmultline}
-    \LWR at addmathjax{multline*}{\the\@envbody}
-}
-{\end{lateximage}\end{BlockClass}}
-
-}
-
-%    \end{macrocode}
-% \end{environment}
-
-
-% \begin{environment}{gather}
-%    \begin{macrocode}
-\BeforeBeginEnvironment{gather}{
-
-\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
-{
-    \LWR at syncmathjax
-    \boolfalse{LWR at amsmultline}
-    \LWR at beginhideamsmath
-}
-{
-    \begin{BlockClass}{displaymathnumbered}
-    \LWR at newautoidanchor%
-    \booltrue{LWR at indisplaymathimage}%
-    \begin{lateximage}[\LWR at amsmathbodynumbered{gather}]
-}
-}
-
-\AfterEndEnvironment{gather}{
-
-\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
-{
-    \LWR at endhideamsmath
-    \LWR at addmathjax{gather}{\the\@envbody}
-}
-{\end{lateximage}\end{BlockClass}}
-
-}
-%    \end{macrocode}
-% \end{environment}
-
-% \begin{environment}{gather*}
-%    \begin{macrocode}
-\BeforeBeginEnvironment{gather*}{
-
-\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
-{
-    \LWR at syncmathjax
-    \boolfalse{LWR at amsmultline}
-    \LWR at beginhideamsmath
-}
-{
-    \begin{BlockClass}{displaymath}
-    \LWR at newautoidanchor%
-    \booltrue{LWR at indisplaymathimage}%
-    \begin{lateximage}[\LWR at amsmathbody{gather*}]
-}
-}
-
-\AfterEndEnvironment{gather*}{
-
-\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
-{
-    \LWR at endhideamsmath
-    \LWR at addmathjax{gather*}{\the\@envbody}
-}
-{\end{lateximage}\end{BlockClass}}
-
-}
-%    \end{macrocode}
-% \end{environment}
-
-
-% \begin{environment}{align}
-%    \begin{macrocode}
-\BeforeBeginEnvironment{align}{
-
-\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
-{
-    \LWR at syncmathjax
-    \boolfalse{LWR at amsmultline}
-    \LWR at beginhideamsmath
-}
-{
-    \begin{BlockClass}{displaymathnumbered}
-    \LWR at newautoidanchor%
-    \booltrue{LWR at indisplaymathimage}%
-    \begin{lateximage}[\LWR at amsmathbodynumbered{align}]
-}
-}
-
-\AfterEndEnvironment{align}{
-
-\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
-{
-    \LWR at endhideamsmath
-    \LWR at addmathjax{align}{\the\@envbody}
-}
-{\end{lateximage}\end{BlockClass}}
-
-}
-%    \end{macrocode}
-% \end{environment}
-
-
-% \begin{environment}{align*}
-%    \begin{macrocode}
-\BeforeBeginEnvironment{align*}{
-
-\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
-{
-    \LWR at syncmathjax
-    \boolfalse{LWR at amsmultline}
-    \LWR at beginhideamsmath
-}
-{
-    \begin{BlockClass}{displaymath}
-    \LWR at newautoidanchor%
-    \booltrue{LWR at indisplaymathimage}%
-    \begin{lateximage}[\LWR at amsmathbody{align*}]
-}
-}
-
-\AfterEndEnvironment{align*}{
-
-\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
-{
-    \LWR at endhideamsmath
-    \LWR at addmathjax{align*}{\the\@envbody}
-}
-{\end{lateximage}\end{BlockClass}}
-
-}
-%    \end{macrocode}
-% \end{environment}
-
-
-% \begin{environment}{flalign}
-%    \begin{macrocode}
-\BeforeBeginEnvironment{flalign}{
-
-\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
-{
-    \LWR at syncmathjax
-    \boolfalse{LWR at amsmultline}
-    \LWR at beginhideamsmath
-}
-{
-    \begin{BlockClass}{displaymathnumbered}
-    \LWR at newautoidanchor%
-    \booltrue{LWR at indisplaymathimage}%
-    \begin{lateximage}[\LWR at amsmathbodynumbered{flalign}]
-}
-}
-
-\AfterEndEnvironment{flalign}{
-
-\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
-{
-    \LWR at endhideamsmath
-    \LWR at addmathjax{flalign}{\the\@envbody}
-}
-{\end{lateximage}\end{BlockClass}}
-
-}
-%    \end{macrocode}
-% \end{environment}
-
-
-% \begin{environment}{flalign*}
-%    \begin{macrocode}
-\BeforeBeginEnvironment{flalign*}{
-
-\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
-{
-    \LWR at syncmathjax
-    \boolfalse{LWR at amsmultline}
-    \LWR at beginhideamsmath
-}
-{
-    \begin{BlockClass}{displaymath}
-    \LWR at newautoidanchor%
-    \booltrue{LWR at indisplaymathimage}%
-    \begin{lateximage}[\LWR at amsmathbody{flalign*}]
-}
-}
-
-\AfterEndEnvironment{flalign*}{
-
-\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
-{
-    \LWR at endhideamsmath
-    \LWR at addmathjax{flalign*}{\the\@envbody}
-}
-{\end{lateximage}\end{BlockClass}}
-
-}
-%    \end{macrocode}
-% \end{environment}
-
-
-% \begin{environment}{alignat}
-% \changes{v0.51}{2018/03/11}{Fix: Added.}
-%    \begin{macrocode}
-\BeforeBeginEnvironment{alignat}{
-
-\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
-{
-    \LWR at syncmathjax
-    \boolfalse{LWR at amsmultline}
-    \LWR at beginhideamsmath
-}
-{
-    \begin{BlockClass}{displaymathnumbered}
-    \LWR at newautoidanchor%
-    \booltrue{LWR at indisplaymathimage}%
-    \begin{lateximage}[\LWR at amsmathbodynumbered{alignat}]
-}
-}
-
-\AfterEndEnvironment{alignat}{
-
-\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
-{
-    \LWR at endhideamsmath
-    \LWR at addmathjax{alignat}{\the\@envbody}
-}
-{\end{lateximage}\end{BlockClass}}
-
-}
-%    \end{macrocode}
-% \end{environment}
-
-
-% \begin{environment}{alignat*}
-%    \begin{macrocode}
-\BeforeBeginEnvironment{alignat*}{
-
-\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
-{
-    \LWR at syncmathjax
-    \boolfalse{LWR at amsmultline}
-    \LWR at beginhideamsmath
-}
-{
-    \begin{BlockClass}{displaymath}
-    \LWR at newautoidanchor%
-    \booltrue{LWR at indisplaymathimage}%
-    \begin{lateximage}[\LWR at amsmathbody{alignat*}]
-}
-}
-
-\AfterEndEnvironment{alignat*}{
-
-\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
-{
-    \LWR at endhideamsmath
-    \LWR at addmathjax{alignat*}{\the\@envbody}
-}
-{\end{lateximage}\end{BlockClass}}
-
-}
-%    \end{macrocode}
-% \end{environment}
-
-
-%    \begin{macrocode}
 \end{warpHTML}
 %    \end{macrocode}
 
@@ -28365,21 +28567,7 @@
 %    \end{macrocode}
 % \end{macro}
 
-% Patches for \AmS\ math \cs{tag} macro to remember the first tag:
 %    \begin{macrocode}
-\LetLtxMacro\LWR at origmake@df at tag@@\make at df@tag@@
-\LetLtxMacro\LWR at origmake@df at tag@@@\make at df@tag@@@
-
-\renewcommand*{\make at df@tag@@}[1]{%
-\LWR at remembertag{#1}%
-\LWR at origmake@df at tag@@{#1}%
-}
-
-\renewcommand*{\make at df@tag@@@}[1]{%
-\LWR at remembertag{#1}%
-\LWR at origmake@df at tag@@@{#1}%
-}
-
 }% not mathjax
 }% AtBeginDocument
 %    \end{macrocode}
@@ -28869,21 +29057,21 @@
 % perhaps as part of the font-related packages,
 % explicitly load the lwarp patches now:
 %    \begin{macrocode}
-\@ifpackageloaded{textcomp}
-{
-\LWR at origRequirePackage{lwarp-textcomp}
-}
-{}
+\@ifpackageloaded{textcomp}{\LWR at origRequirePackage{lwarp-textcomp}}{}
 %    \end{macrocode}
 
+% If \pkg{xunicode} was loaded before \pkg{lwarp},
+% perhaps as part of the font-related packages,
+% explicitly load the lwarp patches now:
+%    \begin{macrocode}
+\@ifpackageloaded{xunicode}{\LWR at origRequirePackage{lwarp-xunicode}}{}
+%    \end{macrocode}
+
 % If \pkg{graphics} or \pkg{graphicx} were loaded before \pkg{lwarp},
 % perhaps by \pkg{xunicode}, explicitly load the lwarp patches now:
 %    \begin{macrocode}
-\@ifpackageloaded{graphics}
-{
-\LWR at origRequirePackage{lwarp-graphics}
-}
-{}
+\@ifpackageloaded{graphics}{\LWR at origRequirePackage{lwarp-graphics}}{}
+\@ifpackageloaded{graphicx}{\LWR at origRequirePackage{lwarp-graphicx}}{}
 %    \end{macrocode}
 
 %    \begin{macrocode}
@@ -29456,8 +29644,9 @@
 % \changes{v0.24}{2017/03/13}{Fix for inline images.}
 % \changes{v0.26}{2017/03/30}{Fix for \cs{makebox} in \env{picture}.}
 % \changes{v0.44}{2017/11/16}{\pkg{overpic}: Fix: Groups for lateximages.}
+% \changes{v0.59}{2018/09/05}{Added an \attribute{alt} tag.}
 %    \begin{macrocode}
-\BeforeBeginEnvironment{picture}{\begin{lateximage}}
+\BeforeBeginEnvironment{picture}{\begin{lateximage}[(picture)]}
 
 \AfterEndEnvironment{picture}{\end{lateximage}}
 %    \end{macrocode}
@@ -31413,7 +31602,7 @@
 %
 % \changes{v0.20}{2016/12/12}{Code factored into independent \filenm{lwarp\_html} files.}
 %
-% The following adjustments apply to the lwarp-* package listings:
+% ^^A The following adjustments apply to the lwarp-* package listings:
 %
 % \titleformat{\part}[hang]
 %     {\hrule\nopagebreak[4]\large\ttfamily\bfseries}{}{0pt}{}[\marginpar{\hfill{}File\,\thepart}]
@@ -31663,6 +31852,36 @@
 %
 %
 % \iffalse
+%<*accsupp>
+% \fi
+%
+% \part{lwarp-accsupp.sty}
+%
+% \section{accsupp}
+%
+% \DescribePackage{accsupp}
+% \pkg{accsupp} is ignored.
+%
+% \changes{v0.59}{2018/07/25}{\pkg{accsupp}: Added.}
+%
+% \codehtml
+%
+%    \begin{macrocode}
+\LWR at ProvidesPackageDrop{accsupp}
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\newcommand*{\BeginAccSupp}[1]{}
+\newcommand*{\EndAccSupp}[1]{}
+%    \end{macrocode}
+%
+% \iffalse
+%</accsupp>
+% \fi
+%
+%
+%
+% \iffalse
 %<*acro>
 % \fi
 %
@@ -32401,7 +32620,395 @@
 %
 %
 %
+%
 % \iffalse
+%<*amsmath>
+% \fi
+%
+% \part{lwarp-amsmath.sty}
+%
+% \section{amsmath}
+%
+% \credits{American Mathematical Society, \LaTeX3 Project}
+%
+% \DescribePackage{amsmath}
+% \pkg{amsmath} is patched for use by \pkg{lwarp}.
+%
+% \changes{v0.33}{2016/06/21}{\pkg{amsmath}: Removed \optn{fleqn} option.}
+% \changes{v0.59}{2018/07/13}{\pkg{amsmath}: Moved from the \pkg{lwarp} core.}
+%
+% \codehtml
+%
+%    \begin{macrocode}
+\LWR at ProvidesPackagePass{amsmath}
+%    \end{macrocode}
+%
+% Patches to allow \cs{eqref} inside a caption:
+%
+% \changes{v0.49}{2018/02/18}{\pkg{amsmath}: Fix: Patches for \cs{eqref}.}
+% \changes{v0.50}{2018/03/02}{\pkg{amsmath}: Fix: Upright tags for \SVG math.}
+%    \begin{macrocode}
+\def\maketag@@@#1{\text{#1}}
+\def\tagform@#1{\maketag@@@{(\ignorespaces#1\unskip)}}
+%    \end{macrocode}
+
+% Patches for \AmS\ math \cs{tag} macro to remember the first tag:
+%    \begin{macrocode}
+\ifbool{mathjax}{}{% not mathjax
+
+\LetLtxMacro\LWR at origmake@df at tag@@\make at df@tag@@
+\LetLtxMacro\LWR at origmake@df at tag@@@\make at df@tag@@@
+
+\renewcommand*{\make at df@tag@@}[1]{%
+\LWR at remembertag{#1}%
+\LWR at origmake@df at tag@@{#1}%
+}
+
+\renewcommand*{\make at df@tag@@@}[1]{%
+\LWR at remembertag{#1}%
+\LWR at origmake@df at tag@@@{#1}%
+}
+
+}% not mathjax
+%    \end{macrocode}
+%
+% The following \AmS\ environments are more easily patched in-place:
+%
+% \changes{v0.44}{2017/11/16}{AMS environments: Fix: Groups for \env{lateximage}s.}
+% \changes{v0.50}{2018/03/01}{AMS environments: Improved \SVG\ math display.}
+% \changes{v0.51}{2018/03/11}{AMS environments: Fix: \cs{addcontentsline} inside \SVG\ math.  Provides an autoid anchor.}
+%
+% \begin{environment}{multline}
+%    \begin{macrocode}
+\BeforeBeginEnvironment{multline}{
+
+\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
+{
+    \LWR at syncmathjax
+    \booltrue{LWR at amsmultline}
+    \LWR at beginhideamsmath
+}
+{
+    \begin{BlockClass}{displaymathnumbered}
+    \LWR at newautoidanchor%
+    \booltrue{LWR at indisplaymathimage}%
+    \begin{lateximage}[\LWR at amsmathbodynumbered{multline}]
+}
+}
+
+\AfterEndEnvironment{multline}{
+
+\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
+{
+    \LWR at endhideamsmath
+    \boolfalse{LWR at amsmultline}
+    \LWR at addmathjax{multline}{\the\@envbody}
+}
+{\end{lateximage}\end{BlockClass}}
+
+}
+%    \end{macrocode}
+% \end{environment}
+
+
+% \begin{environment}{multline*}
+%    \begin{macrocode}
+\BeforeBeginEnvironment{multline*}{
+
+\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
+{
+    \LWR at syncmathjax
+    \booltrue{LWR at amsmultline}
+    \LWR at beginhideamsmath
+}
+{
+    \begin{BlockClass}{displaymath}
+    \LWR at newautoidanchor
+    \booltrue{LWR at indisplaymathimage}%
+    \begin{lateximage}[\LWR at amsmathbody{multline*}]
+}
+}
+
+\AfterEndEnvironment{multline*}{
+
+\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
+{
+    \LWR at endhideamsmath
+    \boolfalse{LWR at amsmultline}
+    \LWR at addmathjax{multline*}{\the\@envbody}
+}
+{\end{lateximage}\end{BlockClass}}
+
+}
+
+%    \end{macrocode}
+% \end{environment}
+
+
+% \begin{environment}{gather}
+%    \begin{macrocode}
+\BeforeBeginEnvironment{gather}{
+
+\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
+{
+    \LWR at syncmathjax
+    \boolfalse{LWR at amsmultline}
+    \LWR at beginhideamsmath
+}
+{
+    \begin{BlockClass}{displaymathnumbered}
+    \LWR at newautoidanchor%
+    \booltrue{LWR at indisplaymathimage}%
+    \begin{lateximage}[\LWR at amsmathbodynumbered{gather}]
+}
+}
+
+\AfterEndEnvironment{gather}{
+
+\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
+{
+    \LWR at endhideamsmath
+    \LWR at addmathjax{gather}{\the\@envbody}
+}
+{\end{lateximage}\end{BlockClass}}
+
+}
+%    \end{macrocode}
+% \end{environment}
+
+% \begin{environment}{gather*}
+%    \begin{macrocode}
+\BeforeBeginEnvironment{gather*}{
+
+\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
+{
+    \LWR at syncmathjax
+    \boolfalse{LWR at amsmultline}
+    \LWR at beginhideamsmath
+}
+{
+    \begin{BlockClass}{displaymath}
+    \LWR at newautoidanchor%
+    \booltrue{LWR at indisplaymathimage}%
+    \begin{lateximage}[\LWR at amsmathbody{gather*}]
+}
+}
+
+\AfterEndEnvironment{gather*}{
+
+\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
+{
+    \LWR at endhideamsmath
+    \LWR at addmathjax{gather*}{\the\@envbody}
+}
+{\end{lateximage}\end{BlockClass}}
+
+}
+%    \end{macrocode}
+% \end{environment}
+
+
+% \begin{environment}{align}
+%    \begin{macrocode}
+\BeforeBeginEnvironment{align}{
+
+\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
+{
+    \LWR at syncmathjax
+    \boolfalse{LWR at amsmultline}
+    \LWR at beginhideamsmath
+}
+{
+    \begin{BlockClass}{displaymathnumbered}
+    \LWR at newautoidanchor%
+    \booltrue{LWR at indisplaymathimage}%
+    \begin{lateximage}[\LWR at amsmathbodynumbered{align}]
+}
+}
+
+\AfterEndEnvironment{align}{
+
+\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
+{
+    \LWR at endhideamsmath
+    \LWR at addmathjax{align}{\the\@envbody}
+}
+{\end{lateximage}\end{BlockClass}}
+
+}
+%    \end{macrocode}
+% \end{environment}
+
+
+% \begin{environment}{align*}
+%    \begin{macrocode}
+\BeforeBeginEnvironment{align*}{
+
+\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
+{
+    \LWR at syncmathjax
+    \boolfalse{LWR at amsmultline}
+    \LWR at beginhideamsmath
+}
+{
+    \begin{BlockClass}{displaymath}
+    \LWR at newautoidanchor%
+    \booltrue{LWR at indisplaymathimage}%
+    \begin{lateximage}[\LWR at amsmathbody{align*}]
+}
+}
+
+\AfterEndEnvironment{align*}{
+
+\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
+{
+    \LWR at endhideamsmath
+    \LWR at addmathjax{align*}{\the\@envbody}
+}
+{\end{lateximage}\end{BlockClass}}
+
+}
+%    \end{macrocode}
+% \end{environment}
+
+
+% \begin{environment}{flalign}
+%    \begin{macrocode}
+\BeforeBeginEnvironment{flalign}{
+
+\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
+{
+    \LWR at syncmathjax
+    \boolfalse{LWR at amsmultline}
+    \LWR at beginhideamsmath
+}
+{
+    \begin{BlockClass}{displaymathnumbered}
+    \LWR at newautoidanchor%
+    \booltrue{LWR at indisplaymathimage}%
+    \begin{lateximage}[\LWR at amsmathbodynumbered{flalign}]
+}
+}
+
+\AfterEndEnvironment{flalign}{
+
+\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
+{
+    \LWR at endhideamsmath
+    \LWR at addmathjax{flalign}{\the\@envbody}
+}
+{\end{lateximage}\end{BlockClass}}
+
+}
+%    \end{macrocode}
+% \end{environment}
+
+
+% \begin{environment}{flalign*}
+%    \begin{macrocode}
+\BeforeBeginEnvironment{flalign*}{
+
+\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
+{
+    \LWR at syncmathjax
+    \boolfalse{LWR at amsmultline}
+    \LWR at beginhideamsmath
+}
+{
+    \begin{BlockClass}{displaymath}
+    \LWR at newautoidanchor%
+    \booltrue{LWR at indisplaymathimage}%
+    \begin{lateximage}[\LWR at amsmathbody{flalign*}]
+}
+}
+
+\AfterEndEnvironment{flalign*}{
+
+\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
+{
+    \LWR at endhideamsmath
+    \LWR at addmathjax{flalign*}{\the\@envbody}
+}
+{\end{lateximage}\end{BlockClass}}
+
+}
+%    \end{macrocode}
+% \end{environment}
+
+
+% \begin{environment}{alignat}
+% \changes{v0.51}{2018/03/11}{Fix: Added.}
+%    \begin{macrocode}
+\BeforeBeginEnvironment{alignat}{
+
+\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
+{
+    \LWR at syncmathjax
+    \boolfalse{LWR at amsmultline}
+    \LWR at beginhideamsmath
+}
+{
+    \begin{BlockClass}{displaymathnumbered}
+    \LWR at newautoidanchor%
+    \booltrue{LWR at indisplaymathimage}%
+    \begin{lateximage}[\LWR at amsmathbodynumbered{alignat}]
+}
+}
+
+\AfterEndEnvironment{alignat}{
+
+\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
+{
+    \LWR at endhideamsmath
+    \LWR at addmathjax{alignat}{\the\@envbody}
+}
+{\end{lateximage}\end{BlockClass}}
+
+}
+%    \end{macrocode}
+% \end{environment}
+
+
+% \begin{environment}{alignat*}
+%    \begin{macrocode}
+\BeforeBeginEnvironment{alignat*}{
+
+\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
+{
+    \LWR at syncmathjax
+    \boolfalse{LWR at amsmultline}
+    \LWR at beginhideamsmath
+}
+{
+    \begin{BlockClass}{displaymath}
+    \LWR at newautoidanchor%
+    \booltrue{LWR at indisplaymathimage}%
+    \begin{lateximage}[\LWR at amsmathbody{alignat*}]
+}
+}
+
+\AfterEndEnvironment{alignat*}{
+
+\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
+{
+    \LWR at endhideamsmath
+    \LWR at addmathjax{alignat*}{\the\@envbody}
+}
+{\end{lateximage}\end{BlockClass}}
+
+}
+%    \end{macrocode}
+% \end{environment}
+%
+% \iffalse
+%</amsmath>
+% \fi
+%
+%
+%
+%
+%
+% \iffalse
 %<*amsthm>
 % \fi
 
@@ -32409,7 +33016,7 @@
 
 % \section{amsthm}
 %
-% \credits{Publications Technical Group --- American Mathematical Society}
+% \credits{Publications Technical Group \Dash American Mathematical Society}
 %
 % The original source code is located in |amsclass.dtx|, and printed in
 % |amsclass.pdf|.
@@ -32421,7 +33028,7 @@
 %
 % \begin{table}[ht]
 % \hrule\smallskip
-% \caption{AMSthm package --- CSS styling of theorems and proofs}
+% \caption{AMSthm package \Dash CSS styling of theorems and proofs}
 % \begin{description}
 % \item [Theorem:] \element{div} of class |amsthmbody<theoremstyle>|
 % \item [Theorem Name:] \element{span} of class |amsthmname<theoremtyle>|
@@ -32943,7 +33550,53 @@
 %
 %
 %
+%
 % \iffalse
+%<*asymptote>
+% \fi
+%
+% \part{lwarp-asymptote.sty}
+%
+% \section{asymptote}
+%
+% \credits{Andy Hammerlindl, John Bowman, Tom Prince}
+%
+% \DescribePackage{asymptote}
+% \pkg{asymptote} is patched for use by \pkg{lwarp}.
+%
+% \changes{v0.59}{2018/07/10}{\pkg{asymptote}: Added.}
+%
+% \codehtml
+%
+%    \begin{macrocode}
+\LWR at ProvidesPackagePass{asymptote}
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\BeforeBeginEnvironment{asy}{\begin{lateximage}}
+\AfterEndEnvironment{asy}{\end{lateximage}}
+
+\xpatchcmd{\asyinclude}
+    {\begingroup}
+    {\begin{lateximage}}
+    {}
+    {\LWR at patcherror{asymptote}{asyinclude-begingroup}}
+
+\xpatchcmd{\asyinclude}
+    {\endgroup}
+    {\end{lateximage}}
+    {}
+    {\LWR at patcherror{asymptote}{asyinclude-endgroup}}
+%    \end{macrocode}
+%
+% \iffalse
+%</asymptote>
+% \fi
+%
+%
+%
+%
+% \iffalse
 %<*atbegshi>
 % \fi
 %
@@ -33265,6 +33918,34 @@
 %
 %
 % \iffalse
+%<*axessibility>
+% \fi
+%
+% \part{lwarp-axessibility.sty}
+%
+% \section{axessibility}
+%
+% \DescribePackage{axessibility}
+% \pkg{axessibility} is ignored.
+%
+% \changes{v0.59}{2018/07/25}{\pkg{axessibility}: Added.}
+%
+% \codehtml
+%
+%    \begin{macrocode}
+\LWR at ProvidesPackageDrop{axessibility}
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\newcommand{\wrap}[1]{}
+%    \end{macrocode}
+%
+% \iffalse
+%</axessibility>
+% \fi
+%
+%
+% \iffalse
 %<*axodraw2>
 % \fi
 %
@@ -33804,6 +34485,143 @@
 %
 %
 % \iffalse
+%<*breqn>
+% \fi
+%
+% \part{lwarp-breqn.sty}
+%
+% \section{breqn}
+%
+% \credits{Michael J. Downes, Morten Høgholm}
+%
+% \DescribePackage{breqn}
+% \pkg{breqn} is patched for use by \pkg{lwarp}.
+%
+% \env{darray} is not supported.
+% \watchout
+%
+% MathJax does not support \pkg{breqn}.
+% \watchout
+%
+% \changes{v0.59}{2018/07/25}{\pkg{breqn}: Added.}
+%
+% \codehtml
+%
+%    \begin{macrocode}
+\LWR at ProvidesPackagePass{breqn}
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\setkeys{breqn}{spread={5pt}}
+
+\def\eqnumside{R}
+% \def\eqnumplace{T}
+
+\BeforeBeginEnvironment{dmath}{
+    \begin{BlockClass}{displaymathnumbered}
+    \LWR at newautoidanchor%
+    \booltrue{LWR at indisplaymathimage}%
+    \begin{lateximage}[-breqn dmath- \mathimagename]
+}
+
+\AfterEndEnvironment{dmath}{
+    \end{lateximage}\end{BlockClass}
+}
+
+\BeforeBeginEnvironment{dmath*}{
+    \begin{BlockClass}{displaymath}
+    \LWR at newautoidanchor%
+    \booltrue{LWR at indisplaymathimage}%
+    \begin{lateximage}[-breqn dmath*- \mathimagename]
+}
+
+\AfterEndEnvironment{dmath*}{
+    \end{lateximage}\end{BlockClass}
+}
+
+\BeforeBeginEnvironment{dseries}{
+    \begin{BlockClass}{displaymathnumbered}
+    \LWR at newautoidanchor%
+    \booltrue{LWR at indisplaymathimage}%
+    \begin{lateximage}[-breqn dseries- \mathimagename]
+}
+
+\AfterEndEnvironment{dseries}{
+    \end{lateximage}\end{BlockClass}
+}
+
+\BeforeBeginEnvironment{dseries*}{
+    \begin{BlockClass}{displaymath}
+    \LWR at newautoidanchor%
+    \booltrue{LWR at indisplaymathimage}%
+    \begin{lateximage}[-breqn dseries*- \mathimagename]
+}
+
+\AfterEndEnvironment{dseries*}{
+    \end{lateximage}\end{BlockClass}
+}
+
+\BeforeBeginEnvironment{dgroup}{
+    \begin{BlockClass}{displaymath}
+    \LWR at newautoidanchor%
+    \booltrue{LWR at indisplaymathimage}%
+    \begin{lateximage}[-breqn dgroup- \mathimagename]
+}
+
+\AfterEndEnvironment{dgroup}{
+    \end{lateximage}\end{BlockClass}
+}
+
+\BeforeBeginEnvironment{dgroup*}{
+    \begin{BlockClass}{displaymath}
+    \LWR at newautoidanchor%
+    \booltrue{LWR at indisplaymathimage}%
+    \begin{lateximage}[-breqn dgroup*- \mathimagename]
+}
+
+\AfterEndEnvironment{dgroup*}{
+    \end{lateximage}\end{BlockClass}
+}
+%    \end{macrocode}
+%
+% \iffalse
+%</breqn>
+% \fi
+%
+%
+%
+% \iffalse
+%<*bxpapersize>
+% \fi
+%
+% \part{lwarp-bxpapersize.sty}
+%
+% \section{bxpapersize}
+%
+% \DescribePackage{bxpapersize}
+% \pkg{bxpapersize} is ignored.
+%
+% \changes{v0.59}{2018/09/06}{\pkg{bxpapersize}: Added.}
+%
+% \codehtml
+%
+%    \begin{macrocode}
+\LWR at ProvidesPackageDrop{bxpapersize}
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\providecommand*\papersizesetup{\bxpapersizesetup}
+\newcommand*\bxpapersizesetup[1]{}
+%    \end{macrocode}
+%
+% \iffalse
+%</bxpapersize>
+% \fi
+%
+%
+%
+%
+% \iffalse
 %<*bytefield>
 % \fi
 %
@@ -33909,7 +34727,40 @@
 %
 %
 %
+%
+%
 % \iffalse
+%<*canoniclayout>
+% \fi
+%
+% \part{lwarp-canoniclayout.sty}
+%
+% \section{canoniclayout}
+%
+% \DescribePackage{canoniclayout}
+% \pkg{canoniclayout} is ignored.
+%
+% \changes{v0.59}{2018/07/10}{\pkg{canoniclayout}: Added.}
+%
+% \codehtml
+s%
+%    \begin{macrocode}
+\LWR at ProvidesPackageDrop{canoniclayout}
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\newcommand*{\currentfontletters}{}
+\newcommand*{\charactersperpage}{}
+%    \end{macrocode}
+%
+% \iffalse
+%</canoniclayout>
+% \fi
+%
+%
+%
+%
+% \iffalse
 %<*caption>
 % \fi
 %
@@ -34132,6 +34983,11 @@
 % \DescribePackage{cases}
 % \pkg{cases} is patched for use by \pkg{lwarp}.
 %
+% 
+%
+% MathJax does not support \pkg{cases}.
+% \watchout
+%
 % \changes{v0.58}{2018/06/08}{\pkg{cases}: Added.}
 %
 % \codehtml
@@ -35434,7 +36290,7 @@
 %    \begin{macrocode}
 \AtBeginDocument{
 \@ifchemmacrosmoduleloaded{reactions}{
-\PackageInfo{lwarp}{Patching~chemmacros~module~orbital}
+\PackageInfo{lwarp}{Patching~chemmacros~module~reactions}
 
 \cs_gset_protected:Npn \chemmacros_declare_reaction_env:nnnn #1#2#3#4
   {
@@ -35710,7 +36566,11 @@
             \bool_if:NT \l__chemmacros_nmr_solvent_bool
                 {
                 \bool_if:NTF \l__chemmacros_nmr_parse_bool
-                    { \chemformula_ch:nn { } {#4} }
+%    \end{macrocode}
+% \changes{v0.59}{2018/08/30}{\pkg{chemformula}: Fix for \cs{NMR}.}
+%    \begin{macrocode}
+%                     { \chemformula_ch:nn { } {#4} }%  original
+                    {\ch{#4}}%  lwarp
                     {#4}
                 }
             \bool_if:NT \l__chemmacros_nmr_delimiters_bool
@@ -36533,8 +37393,48 @@
 %
 %
 %
+% \iffalse
+%<*draftcopy>
+% \fi
 %
+% \part{lwarp-draftcopy.sty}
+%
+% \section{draftcopy}
+%
+% \DescribePackage{draftcopy}
+% \pkg{draftcopy} is ignored.
+%
+% \changes{v0.59}{2018/09/06}{\pkg{draftcopy}: Added.}
+%
+% \codehtml
+%
+%    \begin{macrocode}
+\LWR at ProvidesPackageDrop{draftcopy}
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\newcommand{\draftcopyVersion}[1]{}
+\newcommand{\draftcopySetGrey}[1]{}
+\newcommand{\draftcopySetScale}[1]{}
+\newcommand{\draftcopySetScaleFactor}[1]{}
+\newcommand{\draftcopyFirstPage}[1]{}
+\newcommand{\draftcopyLastPage}[1]{}
+\newcommand{\draftcopyName}[2]{}
+\newcommand{\draftcopyPageTransform}[1]{}
+\newcommand{\draftcopyBottomTransform}[1]{}
+\newcommand{\draftcopyPageX}[1]{}
+\newcommand{\draftcopyPageY}[1]{}
+\newcommand{\draftcopyBottomX}[1]{}
+\newcommand{\draftcopyBottomY}[1]{}
+%    \end{macrocode}
+%
 % \iffalse
+%</draftcopy>
+% \fi
+%
+%
+%
+% \iffalse
 %<*draftwatermark>
 % \fi
 
@@ -37088,25 +37988,22 @@
 % \section{epstopdf}
 %
 % \DescribePackage{epstopdf}
-% \pkg{epstopdf} is ignored.
+% Previous versions of \pkg{lwarp} had a nullfied verison, but
+% now \pkg{epstopdf-base} is supported.
+% \pkg{lwarp-epstopdf} becomes a placeholder to overwrite
+% previous versions.
 %
-% Filenames should be used without a suffix so that
-% \SVG, \PNG, or \JPG\ versions of the file will be used for \HTML\ output.
+% See package \pkg{epstopdf-base} for details.
 %
 % \changes{v0.50}{2018/02/21}{\pkg{epstopdf}: Added.}
+% \changes{v0.59}{2018/08/27}{\pkg{epstopdf}: Improved.}
 %
 % \codehtml
 %
 %    \begin{macrocode}
-\LWR at ProvidesPackageDrop{epstopdf}
+\LWR at ProvidesPackagePass{epstopdf}[2016/05/15]
 %    \end{macrocode}
 %
-%    \begin{macrocode}
-\providecommand*{\epstopdfsetup}[1]{}
-\providecommand*{\epstopdfcall}[1]{}
-\providecommand*{\epstopdfDeclareGraphicsRule}[4]{}
-%    \end{macrocode}
-%
 % \iffalse
 %</epstopdf>
 % \fi
@@ -37122,25 +38019,59 @@
 % \section{epstopdf-base}
 %
 % \DescribePackage{epstopdf-base}
-% \pkg{epstopdf-base} is ignored.
 %
-% Filenames should be used without a suffix so that
-% \SVG, \PNG, or \JPG\ versions of the file will be used for \HTML\ output.
+% \limitsepstopdf
 %
 % \changes{v0.51}{2018/03/03}{\pkg{epstopdf-base}: Added.}
+% \changes{v0.59}{2018/08/27}{\pkg{epstopdf-base}: Improved.}
 %
 % \codehtml
 %
 %    \begin{macrocode}
-\LWR at ProvidesPackageDrop{epstopdf-base}[2016/05/15]
+\LWR at ProvidesPackagePass{epstopdf-base}[2016/05/15]
 %    \end{macrocode}
 %
+% Redefine to remember the image filename, replacing |.pdf| with |.svg|.
+% Use the \pkg{epstopdf} print version inside a \env{lateximage}.
 %    \begin{macrocode}
-\providecommand*{\epstopdfsetup}[1]{}
-\providecommand*{\epstopdfcall}[1]{}
-\providecommand*{\epstopdfDeclareGraphicsRule}[4]{}
+\newcommand*{\LWR at HTML@ETE at OrgGin@setfile}[3]{%
+    \edef\LWR at tempone{#3}%
+    \StrSubstitute{\LWR at tempone}{.pdf}{.svg}[\LWR at tempone]%
+    \StrSubstitute{\LWR at tempone}{.PDF}{.SVG}[\LWR at tempone]%
+    \xdef\LWR at parsedfilename{\LWR at tempone}%
+}
+
+\LWR at formatted{ETE at OrgGin@setfile}
 %    \end{macrocode}
 %
+% \cs{includegraphics} in \HTML\ mode redefines \cs{Gin at setfile} to
+% be \cs{LWR at HTML@Gin at setfile}, which is now redirected to \pkg{epstopdf}'s version:
+%    \begin{macrocode}
+\renewcommand*{\LWR at HTML@Gin at setfile}[3]{%
+    \ETE at Gin@setfile{#1}{#2}{#3}%
+}
+%    \end{macrocode}
+%
+% Allow \filenm{.eps} images to be found if a suffix is not provided:
+%    \begin{macrocode}
+\AtBeginDocument{
+\DeclareGraphicsExtensions{%
+    .eps,.EPS,.svg,.SVG,.gif,.GIF,.png,.PNG,.jpg,.JPG,.jpeg,.JPEG%
+}
+\DeclareGraphicsRule{.svg}{svg}{.svg}{}
+\DeclareGraphicsRule{.SVG}{svg}{.SVG}{}
+}
+%    \end{macrocode}
+%
+% Likewise when inside a \env{lateximage}:
+%    \begin{macrocode}
+\appto\LWR at restoreorigformatting{%
+\DeclareGraphicsExtensions{%
+    .eps,.EPS,.pdf,.PDF,.gif,.GIF,.png,.PNG,.jpg,.JPG,.jpeg,.JPEG%
+}%
+}
+%    \end{macrocode}
+%
 % \iffalse
 %</epstopdf-base>
 % \fi
@@ -39070,7 +40001,7 @@
 % Discard all options for \pkg{lwarp-flushend}:
 %    \begin{macrocode}
 \LWR at ProvidesPackageDrop{flushend}
-%    \end{ma-crocode}
+%    \end{macrocode}
 %
 %    \begin{macrocode}
 \newcommand*{\flushend}{}
@@ -39089,8 +40020,41 @@
 %
 %
 %
+% \iffalse
+%<*fnbreak>
+% \fi
 %
+% \part{lwarp-fnbreak.sty}
+%
+% \section{fnbreak}
+%
+% \DescribePackage{fnbreak}
+% \pkg{fnbreak} is ignored.
+%
+% \changes{v0.59}{2018/07/09}{\pkg{fnbreak}: Added.}
+%
+% \codehtml
+%
+%    \begin{macrocode}
+\LWR at ProvidesPackageDrop{fnbreak}
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\newcommand*{\fnbreakverbose}{}
+\newcommand*{\fnbreaknonverbose}{}
+\newcommand*{\fnbreaklabel}{}
+\newcommand*{\fnbreaknolabel}{}
+%    \end{macrocode}
+%
 % \iffalse
+%</fnbreak>
+% \fi
+%
+%
+%
+%
+%
+% \iffalse
 %<*fncychap>
 % \fi
 
@@ -40236,6 +41200,7 @@
 \boolfalse{LWR at infloatrow}
 %    \end{macrocode}
 
+
 % \begin{macro}{\LWR at opacity} For \HTML, used only for \cs{includegraphics}.
 %
 % \cs{LWR at opacity} may be set by the \pkg{transparent} package.
@@ -40253,9 +41218,12 @@
 % \end{macro}
 
 
-% \begin{macro}{\Gin at setfile} Sets the parsed filename.
+% \begin{macro}{\LWR at HTML@Gin at setfile} \marg{w} \marg{h} \marg{filename}
+% Sets the parsed filename for \HTML output.
 %    \begin{macrocode}
-\let\LWR at origGin@setfile\Gin at setfile
+\newcommand*{\LWR at HTML@Gin at setfile}[3]{%
+    \xdef\LWR at parsedfilename{#3}%
+}
 %    \end{macrocode}
 % \end{macro}
 
@@ -40272,6 +41240,27 @@
 %    \end{macrocode}
 
 
+% \begin{macro}{\LWR at replaceEPSSVG}
+%
+% Usually, references to \EPS\ files become \SVG\ files,
+% but if the \pkg{epstopdf} package is being used, it automatically
+% converts \EPS\ to \PDF, and the following must NOT be done.
+%    \begin{macrocode}
+\AtBeginDocument{
+\@ifpackageloaded{epstopdf}
+{
+    \newcommand*{\LWR at replaceEPSSVG}{}
+}{%
+    \newcommand*{\LWR at replaceEPSSVG}{%
+        \StrSubstitute{\LWR at tempone}{.eps}{.svg}[\LWR at tempone]%
+        \StrSubstitute{\LWR at tempone}{.EPS}{.SVG}[\LWR at tempone]%
+    }
+}%
+}
+%    \end{macrocode}
+% \end{macro}
+
+
 % \begin{macro}{\LWR at includegraphicsb} * \oarg{2: options} \oarg{3: options} \marg{4: filename}
 %
 % \pkg{graphics} syntax is \cs{includegraphics} * \oarg{llx,lly} \oarg{urx,ury} \marg{file}
@@ -40292,6 +41281,8 @@
 % \changes{v0.40}{2017/09/08}{Add: Full \cs{graphicspath} support.}
 % \changes{v0.42}{2017/10/26}{Fix: Filename expansion.}
 % \changes{v0.45}{2017/12/29}{Improved URLs with underscores.}
+% \changes{v0.59}{2018/09/07}{Now works with \filenm{.pdf} and \filenm{.eps}
+%                               filename extensions.}
 %    \begin{macrocode}
 \NewDocumentCommand{\LWR at includegraphicsb}{s o o m}
 {%
@@ -40317,13 +41308,18 @@
     }%
 }{}%
 %    \end{macrocode}
+% Fully expand and detokenize the filename,
+% changing the file extension to \filenm{.svg} if necessary.
+% \changes{v0.59}{2018/08/28}{Fix: Expand filename.}
 %    \begin{macrocode}
 \begingroup%
-\renewcommand*{\Gin at setfile}[3]{%
-\LWR at traceinfo{Gin at setfile ##3}%
-\xdef\LWR at parsedfilename{##3}%
-}%
-\Ginclude at graphics{\detokenize\expandafter{#4}}%
+\LetLtxMacro\Gin at setfile\LWR at HTML@Gin at setfile%
+\edef\LWR at tempone{#4}%
+\StrSubstitute{\LWR at tempone}{.pdf}{.svg}[\LWR at tempone]%
+\StrSubstitute{\LWR at tempone}{.PDF}{.SVG}[\LWR at tempone]%
+\LWR at replaceEPSSVG%
+\xdef\LWR at parsedfilename{\LWR at tempone}%
+\Ginclude at graphics{\detokenize\expandafter{\LWR at tempone}}%
 \endgroup%
 \filename at parse{\LWR at parsedfilename}%
 \LWR at traceinfo{LWR at parsedfilename is \LWR at parsedfilename}%
@@ -45275,10 +46271,71 @@
 %
 %
 %
+% \iffalse
+%<*nccfancyhdr>
+% \fi
 %
+% \part{lwarp-nccfancyhdr.sty}
 %
+% \section{nccfancyhdr}
 %
+% \credits{Alexander I. Rozhenko}
+%
+% \DescribePackage{nccfancyhdr}
+% \pkg{nccfancyhdr} is ignored.
+%
+% \changes{v0.59}{2018/08/06}{\pkg{nccfancyhdr}: Added.}
+%
+% \codehtml
+%
+%    \begin{macrocode}
+\LWR at ProvidesPackageDrop{nccfancyhdr}
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\newcommand*{\headrulewidth}{}
+\newcommand*{\footrulewidth}{}
+\newcommand{\headstrutheight}{}
+\newcommand{\footstrutheight}{}
+\newcommand*{\headrule}{}
+\newcommand*{\footrule}{}
+
+\newdimen\headwidth
+\newcommand*{\extendedheaders}{}
+\newcommand*{\normalheaders}{}
+
+\newcommand*{\fancyhead}[2][]{}
+\newcommand*{\fancyfoot}[2][]{}
+\newcommand*{\fancyhf}[2][]{}
+\newcommand*{\fancypagestyle}[2]{}
+\newcommand*{\lhead}[2][]{}
+\newcommand*{\chead}[2][]{}
+\newcommand*{\rhead}[2][]{}
+\newcommand*{\lfoot}[2][]{}
+\newcommand*{\cfoot}[2][]{}
+\newcommand*{\rfoot}[2][]{}
+
+\newcommand{\nouppercase}[1]{#1}
+
+\NewDocumentCommand{\fancycenter}{o o m m m}{}
+
+\NewDocumentCommand{\newpagestyle}{m o m}{}
+
+\newcommand*{\iffloatpage}[2]{#2}
+\newcommand*{\ifftopfloat}[2]{#2}
+\newcommand*{\iffbotfloat}[2]{#2}
+%    \end{macrocode}
+%
 % \iffalse
+%</nccfancyhdr>
+% \fi
+%
+%
+%
+%
+%
+%
+% \iffalse
 %<*needspace>
 % \fi
 
@@ -45445,6 +46502,11 @@
 \endgroup%
 }
 %    \end{macrocode}
+%
+% For Mathjax:
+%    \begin{macrocode}
+\CustomizeMathJax{\newcommand{\nicefrac}[3][]{#2/#3}}
+%    \end{macrocode}
 
 % \iffalse
 %</nicefrac>
@@ -45615,7 +46677,7 @@
 % \begin{table}[ht]
 % \hrule
 % \smallskip
-% \caption{Ntheorem package --- CSS styling of theorems and proofs}\unskip
+% \caption{Ntheorem package \Dash CSS styling of theorems and proofs}\unskip
 % \begin{description}
 % \item [Theorem:] \element{div} of class |theorembody<theoremstyle>|
 % \item [Theorem Header:] \element{span} of class |theoremheader<style>|
@@ -46877,6 +47939,59 @@
 %
 %
 % \iffalse
+%<*pdftricks>
+% \fi
+%
+% \part{lwarp-pdftricks.sty}
+%
+% \section{pdftricks}
+%
+% \credits{C. V. Rad­hakr­ish­nan, C. V. Ra­jagopal, Antoine Chambert-Loir}
+%
+% \DescribePackage{pdftricks}
+% \pkg{pdftricks} is patched for use by \pkg{lwarp}.
+%
+% \limitspdftricks
+%
+% \changes{v0.59}{2018/08/29}{\pkg{pdftricks}: Added.}
+%
+% \codehtml
+%
+%    \begin{macrocode}
+\LWR at ProvidesPackagePass{pdftricks}
+%    \end{macrocode}
+%
+% Reuse the print-mode images:
+%    \begin{macrocode}
+\def\PDFTfigname{\BaseJobname-fig\thepsfig}
+%    \end{macrocode}
+%
+% If the \filenm{.pdf} images have not yet been converted to \filenm{.svg} then
+% an error about a missing file will occur.
+% Warn the user to convert the images.
+%    \begin{macrocode}
+\PackageWarning{lwarp-pdftricks}{
+When the pdftricks images change,
+remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
+}
+
+\AfterEndDocument{\typeout{***}}
+\AfterEndDocument{\typeout{*** Note: If pdftricks images are not found, new, or updated,}}
+\AfterEndDocument{\typeout{*** \space use 'lwarpmk pdftosvg \BaseJobname-fig*.pdf'}}
+\AfterEndDocument{\typeout{***}}
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+%    \end{macrocode}
+%
+% \iffalse
+%</pdftricks>
+% \fi
+%
+%
+%
+%
+% \iffalse
 %<*pdfx>
 % \fi
 %
@@ -47113,8 +48228,74 @@
 %
 %
 %
+% \iffalse
+%<*pst-eps>
+% \fi
 %
+% \part{lwarp-pst-eps.sty}
+%
+% \section{pst-eps}
+%
+% \credits{Herbert Voß}
+%
+% \DescribePackage{pst-eps}
+% \pkg{pst-eps} is patched for use by \pkg{lwarp}.
+%
+% \changes{v0.59}{2018/09/05}{\pkg{pst-eps}: Added.}
+%
+% \codehtml
+%
+%    \begin{macrocode}
+\LWR at ProvidesPackagePass{pst-eps}
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\renewenvironment{TeXtoEPS}{}{}
+\renewcommand{\PSTtoEPS}[3][]{}
+%    \end{macrocode}
+%
 % \iffalse
+%</pst-eps>
+% \fi
+%
+%
+%
+% \iffalse
+%<*pstricks>
+% \fi
+%
+% \part{lwarp-pstricks.sty}
+%
+% \section{pstricks}
+%
+% \credits{Timothy Van Zandt}
+%
+% \DescribePackage{pstricks}
+% \pkg{pstricks} is patched for use by \pkg{lwarp}.
+%
+% \limitspstricks
+%
+% \changes{v0.59}{2018/09/05}{\pkg{pstricks}: Added.}
+%
+% \codehtml
+%
+%    \begin{macrocode}
+\LWR at ProvidesPackagePass{pstricks}
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\BeforeBeginEnvironment{pspicture}{\begin{lateximage}[(pspicture)]}
+\AfterEndEnvironment{pspicture}{\end{lateximage}}
+%    \end{macrocode}
+%
+% \iffalse
+%</pstricks>
+% \fi
+%
+%
+%
+%
+% \iffalse
 %<*quotchap>
 % \fi
 %
@@ -48762,8 +49943,62 @@
 %
 %
 %
+% \iffalse
+%<*SIunits>
+% \fi
 %
+% \part{lwarp-SIunits.sty}
+%
+% \section{SIunits}
+%
+% \credits{Marcel Heldoorn}
+%
+% \DescribePackage{SIunits}
+% \pkg{SIunits} is patched for use by \pkg{lwarp}.
+%
+% It is recommended to use \cs{unit} where possible, which
+% combines the entire expression into a single \env{lateximage},
+% and adds the \attribute{alt} tag containing the \LaTeX\ code, allowing for
+% copy/paste.  When units are used outside of the \cs{unit} macro,
+% each unit macro will have its own \env{lateximage},
+% and each will have the \attribute{alt} tag set to ``|(|<\cs{mathimagename}>|)|'',
+% which defaults to ``|(math image)|''.
+%
+% \changes{v0.59}{2018/07/11}{\pkg{SIunits}: Added.}
+%
+% \codehtml
+%
+%    \begin{macrocode}
+\LWR at ProvidesPackagePass{SIunits}
+%    \end{macrocode}
+%
+% Patched for copy/paste with the \HTML\ \attribute{alt} tag:
+%    \begin{macrocode}
+\DeclareRobustCommand{\unit}[2]{%
+\@inunitcommandtrue%    original
+\LWR at subsingledollar*%  lwarp
+{% alt tag
+    \textbackslash{}unit\{\LWR at HTMLsanitize{#1}\}%
+        \{ \LWR at HTMLsanitize{#2}\}% extra space
+}%
+{SIunits}% add'l hashing
+{%
+    \LWR at origensuredmath{%  lwarp modification
+        \SI at fstyle{#1\@qsk\period at active{#2}}%  original
+    }%
+}% contents
+\@inunitcommandfalse%   original
+}
+%    \end{macrocode}
+%
 % \iffalse
+%</SIunits>
+% \fi
+%
+%
+%
+%
+% \iffalse
 %<*siunitx>
 % \fi
 %
@@ -50078,7 +51313,7 @@
 % \credits{Alexander I. Rozhenko}
 %
 % \DescribePackage{textarea}
-% \pkg{textarea} is emulated.
+% \pkg{textarea} is ignored.
 %
 % \changes{v0.39}{2017/08/27}{\pkg{textarea}: Added.}
 %
@@ -50398,7 +51633,7 @@
 % \begin{table}[ht]
 % \hrule
 % \smallskip
-% \caption{Theorem package --- CSS styling of theorems and proofs}
+% \caption{Theorem package \Dash CSS styling of theorems and proofs}
 % \begin{description}
 % \item [Theorem:] \element{div} of class |theorembody<theoremstyle>|
 % \item [Theorem Header:] \element{span} of class |theoremheader|
@@ -52922,6 +54157,39 @@
 %
 %
 % \iffalse
+%<*units>
+% \fi
+%
+% \part{lwarp-units.sty}
+
+% \section{units}
+%
+% \credits{Axel Reichert}
+%
+% \DescribePackage{units}
+% \pkg{units} is patched for use by \pkg{lwarp}.
+%
+% \changes{v0.59}{2018/07/13}{\pkg{units}: Added support for \pkg{MathJax.}}
+%
+% \codehtml
+%
+%    \begin{macrocode}
+\LWR at ProvidesPackagePass{units}[1998/08/04]
+%    \end{macrocode}
+%
+% For Mathjax:
+%    \begin{macrocode}
+\CustomizeMathJax{\newcommand{\unit}[2][]{#1 #2}}
+\CustomizeMathJax{\newcommand{\unitfrac}[3][]{#1 #2/#3}}
+%    \end{macrocode}
+
+% \iffalse
+%</units>
+% \fi
+%
+%
+%
+% \iffalse
 %<*upref>
 % \fi
 %
@@ -54747,6 +56015,44 @@
 %
 %
 % \iffalse
+%<*xunicode>
+% \fi
+%
+% \part{lwarp-xunicode.sty}
+%
+% \section{xunicode}
+%
+% \DescribePackage{xunicode}
+% Error if \pkg{xunicode} is loaded after \pkg{lwarp}.
+%
+% \changes{v0.59}{2018/08/03}{\pkg{xunicode}: Added.}
+
+% Patch \pkg{lwarp-xunicode}, but also verify that is was loaded before \pkg{lwarp}:
+%
+% \codehtml
+%    \begin{macrocode}
+\@ifpackageloaded{lwarp}{\LWR at loadbefore{xunicode}}{}
+
+\LWR at ProvidesPackagePass{xunicode}[2011/09/09]
+%    \end{macrocode}
+%
+% \cs{textcircled} becomes a span with a rounded border:
+%    \begin{macrocode}
+\newcommand*{\LWR at HTML@textcircled}[1]{%
+\InlineClass[border: 1px solid \LWR at currenttextcolor]{textcircled}{#1}%
+}
+
+\LWR at formatted{textcircled}
+%    \end{macrocode}
+
+% \iffalse
+%</xunicode>
+% \fi
+%
+%
+%
+%
+% \iffalse
 %<*xurl>
 % \fi
 %
@@ -56518,7 +57824,7 @@
 % \part{Change History and Index}
 % \label{sec:changehistory}
 %
-%   For the most recent changes and the start of the Index,
+%   For the most recent changes, followed by the start of the Index,
 %   see page \pageref{sec:changesend}.
 %
 % \pagestyle{plain}

Modified: trunk/Master/texmf-dist/source/latex/lwarp/lwarp.ins
===================================================================
--- trunk/Master/texmf-dist/source/latex/lwarp/lwarp.ins	2018-09-07 21:00:01 UTC (rev 48616)
+++ trunk/Master/texmf-dist/source/latex/lwarp/lwarp.ins	2018-09-07 21:00:41 UTC (rev 48617)
@@ -37,6 +37,7 @@
 \file{lwarp-a4wide.sty}{\from{lwarp.dtx}{a4wide}}
 \file{lwarp-a5comb.sty}{\from{lwarp.dtx}{a5comb}}
 \file{lwarp-abstract.sty}{\from{lwarp.dtx}{abstract}}
+\file{lwarp-accsupp.sty}{\from{lwarp.dtx}{accsupp}}
 \file{lwarp-acro.sty}{\from{lwarp.dtx}{acro}}
 \file{lwarp-acronym.sty}{\from{lwarp.dtx}{acronym}}
 \file{lwarp-adjmulticol.sty}{\from{lwarp.dtx}{adjmulticol}}
@@ -47,6 +48,7 @@
 \file{lwarp-algorithm2e.sty}{\from{lwarp.dtx}{algorithm2e}}
 \file{lwarp-algorithmicx.sty}{\from{lwarp.dtx}{algorithmicx}}
 \file{lwarp-alltt.sty}{\from{lwarp.dtx}{alltt}}
+\file{lwarp-amsmath.sty}{\from{lwarp.dtx}{amsmath}}
 \file{lwarp-amsthm.sty}{\from{lwarp.dtx}{amsthm}}
 \file{lwarp-anonchap.sty}{\from{lwarp.dtx}{anonchap}}
 \file{lwarp-anysize.sty}{\from{lwarp.dtx}{anysize}}
@@ -54,10 +56,12 @@
 \file{lwarp-arabicfront.sty}{\from{lwarp.dtx}{arabicfront}}
 \file{lwarp-array.sty}{\from{lwarp.dtx}{array}}
 \file{lwarp-arydshln.sty}{\from{lwarp.dtx}{arydshln}}
+\file{lwarp-asymptote.sty}{\from{lwarp.dtx}{asymptote}}
 \file{lwarp-atbegshi.sty}{\from{lwarp.dtx}{atbegshi}}
 \file{lwarp-attachfile.sty}{\from{lwarp.dtx}{attachfile}}
 \file{lwarp-attachfile2.sty}{\from{lwarp.dtx}{attachfile2}}
 \file{lwarp-authblk.sty}{\from{lwarp.dtx}{authblk}}
+\file{lwarp-axessibility.sty}{\from{lwarp.dtx}{axessibility}}
 \file{lwarp-axodraw2.sty}{\from{lwarp.dtx}{axodraw2}}
 \file{lwarp-backref.sty}{\from{lwarp.dtx}{backref}}
 \file{lwarp-balance.sty}{\from{lwarp.dtx}{balance}}
@@ -70,8 +74,11 @@
 \file{lwarp-boxedminipage.sty}{\from{lwarp.dtx}{boxedminipage}}
 \file{lwarp-boxedminipage2e.sty}{\from{lwarp.dtx}{boxedminipage2e}}
 \file{lwarp-breakurl.sty}{\from{lwarp.dtx}{breakurl}}
+\file{lwarp-breqn.sty}{\from{lwarp.dtx}{breqn}}
+\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-caption2.sty}{\from{lwarp.dtx}{caption2}}
 \file{lwarp-cases.sty}{\from{lwarp.dtx}{cases}}
@@ -98,6 +105,7 @@
 \file{lwarp-dblfnote.sty}{\from{lwarp.dtx}{dblfnote}}
 \file{lwarp-dcolumn.sty}{\from{lwarp.dtx}{dcolumn}}
 \file{lwarp-diagbox.sty}{\from{lwarp.dtx}{diagbox}}
+\file{lwarp-draftcopy.sty}{\from{lwarp.dtx}{draftcopy}}
 \file{lwarp-draftwatermark.sty}{\from{lwarp.dtx}{draftwatermark}}
 \file{lwarp-easy-todo.sty}{\from{lwarp.dtx}{easy-todo}}
 \file{lwarp-ebook.sty}{\from{lwarp.dtx}{ebook}}
@@ -133,6 +141,7 @@
 \file{lwarp-floatrow.sty}{\from{lwarp.dtx}{floatrow}}
 \file{lwarp-fltrace.sty}{\from{lwarp.dtx}{fltrace}}
 \file{lwarp-flushend.sty}{\from{lwarp.dtx}{flushend}}
+\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-fnpos.sty}{\from{lwarp.dtx}{fnpos}}
@@ -210,6 +219,7 @@
 \file{lwarp-multitoc.sty}{\from{lwarp.dtx}{multitoc}}
 \file{lwarp-nameref.sty}{\from{lwarp.dtx}{nameref}}
 \file{lwarp-natbib.sty}{\from{lwarp.dtx}{natbib}}
+\file{lwarp-nccfancyhdr.sty}{\from{lwarp.dtx}{nccfancyhdr}}
 \file{lwarp-needspace.sty}{\from{lwarp.dtx}{needspace}}
 \file{lwarp-newclude.sty}{\from{lwarp.dtx}{newclude}}
 \file{lwarp-newunicodechar.sty}{\from{lwarp.dtx}{newunicodechar}}
@@ -232,6 +242,7 @@
 \file{lwarp-pdflscape.sty}{\from{lwarp.dtx}{pdflscape}}
 \file{lwarp-pdfpages.sty}{\from{lwarp.dtx}{pdfpages}}
 \file{lwarp-pdfsync.sty}{\from{lwarp.dtx}{pdfsync}}
+\file{lwarp-pdftricks.sty}{\from{lwarp.dtx}{pdftricks}}
 \file{lwarp-pdfx.sty}{\from{lwarp.dtx}{pdfx}}
 \file{lwarp-pfnote.sty}{\from{lwarp.dtx}{pfnote}}
 \file{lwarp-phfqit.sty}{\from{lwarp.dtx}{phfqit}}
@@ -239,6 +250,8 @@
 \file{lwarp-prelim2e.sty}{\from{lwarp.dtx}{prelim2e}}
 \file{lwarp-prettyref.sty}{\from{lwarp.dtx}{prettyref}}
 \file{lwarp-preview.sty}{\from{lwarp.dtx}{preview}}
+\file{lwarp-pst-eps.sty}{\from{lwarp.dtx}{pst-eps}}
+\file{lwarp-pstricks.sty}{\from{lwarp.dtx}{pstricks}}
 \file{lwarp-quotchap.sty}{\from{lwarp.dtx}{quotchap}}
 \file{lwarp-quoting.sty}{\from{lwarp.dtx}{quoting}}
 \file{lwarp-ragged2e.sty}{\from{lwarp.dtx}{ragged2e}}
@@ -268,6 +281,7 @@
 \file{lwarp-showkeys.sty}{\from{lwarp.dtx}{showkeys}}
 \file{lwarp-sidecap.sty}{\from{lwarp.dtx}{sidecap}}
 \file{lwarp-sidenotes.sty}{\from{lwarp.dtx}{sidenotes}}
+\file{lwarp-SIunits.sty}{\from{lwarp.dtx}{SIunits}}
 \file{lwarp-siunitx.sty}{\from{lwarp.dtx}{siunitx}}
 \file{lwarp-soul.sty}{\from{lwarp.dtx}{soul}}
 \file{lwarp-soulpos.sty}{\from{lwarp.dtx}{soulpos}}
@@ -309,6 +323,7 @@
 \file{lwarp-typearea.sty}{\from{lwarp.dtx}{typearea}}
 \file{lwarp-ulem.sty}{\from{lwarp.dtx}{ulem}}
 \file{lwarp-underscore.sty}{\from{lwarp.dtx}{underscore}}
+\file{lwarp-units.sty}{\from{lwarp.dtx}{units}}
 \file{lwarp-upref.sty}{\from{lwarp.dtx}{upref}}
 \file{lwarp-url.sty}{\from{lwarp.dtx}{url}}
 \file{lwarp-verse.sty}{\from{lwarp.dtx}{verse}}
@@ -328,6 +343,7 @@
 \file{lwarp-xmpincl.sty}{\from{lwarp.dtx}{xmpincl}}
 \file{lwarp-xpiano.sty}{\from{lwarp.dtx}{xpiano}}
 \file{lwarp-xtab.sty}{\from{lwarp.dtx}{xtab}}
+\file{lwarp-xunicode.sty}{\from{lwarp.dtx}{xunicode}}
 \file{lwarp-xurl.sty}{\from{lwarp.dtx}{xurl}}
 \file{lwarp-xy.sty}{\from{lwarp.dtx}{xy}}
 \file{lwarp-zwpagelayout.sty}{\from{lwarp.dtx}{zwpagelayout}}

Added: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-SIunits.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-SIunits.sty	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-SIunits.sty	2018-09-07 21:00:41 UTC (rev 48617)
@@ -0,0 +1,36 @@
+%%
+%% This is file `lwarp-SIunits.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx  (with options: `SIunits')
+%% This is a generated file.
+%% Copyright 2016-2018 Brian Dunn
+%% 
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%%   http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+\LWR at ProvidesPackagePass{SIunits}
+\DeclareRobustCommand{\unit}[2]{%
+\@inunitcommandtrue%    original
+\LWR at subsingledollar*%  lwarp
+{% alt tag
+    \textbackslash{}unit\{\LWR at HTMLsanitize{#1}\}%
+        \{ \LWR at HTMLsanitize{#2}\}% extra space
+}%
+{SIunits}% add'l hashing
+{%
+    \LWR at origensuredmath{%  lwarp modification
+        \SI at fstyle{#1\@qsk\period at active{#2}}%  original
+    }%
+}% contents
+\@inunitcommandfalse%   original
+}
+\endinput
+%%
+%% End of file `lwarp-SIunits.sty'.


Property changes on: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-SIunits.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-accsupp.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-accsupp.sty	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-accsupp.sty	2018-09-07 21:00:41 UTC (rev 48617)
@@ -0,0 +1,23 @@
+%%
+%% This is file `lwarp-accsupp.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx  (with options: `accsupp')
+%% This is a generated file.
+%% Copyright 2016-2018 Brian Dunn
+%% 
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%%   http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+\LWR at ProvidesPackageDrop{accsupp}
+\newcommand*{\BeginAccSupp}[1]{}
+\newcommand*{\EndAccSupp}[1]{}
+\endinput
+%%
+%% End of file `lwarp-accsupp.sty'.


Property changes on: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-accsupp.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-amsmath.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-amsmath.sty	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-amsmath.sty	2018-09-07 21:00:41 UTC (rev 48617)
@@ -0,0 +1,312 @@
+%%
+%% This is file `lwarp-amsmath.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx  (with options: `amsmath')
+%% This is a generated file.
+%% Copyright 2016-2018 Brian Dunn
+%% 
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%%   http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+\LWR at ProvidesPackagePass{amsmath}
+\def\maketag@@@#1{\text{#1}}
+\def\tagform@#1{\maketag@@@{(\ignorespaces#1\unskip)}}
+
+\ifbool{mathjax}{}{% not mathjax
+
+\LetLtxMacro\LWR at origmake@df at tag@@\make at df@tag@@
+\LetLtxMacro\LWR at origmake@df at tag@@@\make at df@tag@@@
+
+\renewcommand*{\make at df@tag@@}[1]{%
+\LWR at remembertag{#1}%
+\LWR at origmake@df at tag@@{#1}%
+}
+
+\renewcommand*{\make at df@tag@@@}[1]{%
+\LWR at remembertag{#1}%
+\LWR at origmake@df at tag@@@{#1}%
+}
+
+}% not mathjax
+\BeforeBeginEnvironment{multline}{
+
+\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
+{
+    \LWR at syncmathjax
+    \booltrue{LWR at amsmultline}
+    \LWR at beginhideamsmath
+}
+{
+    \begin{BlockClass}{displaymathnumbered}
+    \LWR at newautoidanchor%
+    \booltrue{LWR at indisplaymathimage}%
+    \begin{lateximage}[\LWR at amsmathbodynumbered{multline}]
+}
+}
+
+\AfterEndEnvironment{multline}{
+
+\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
+{
+    \LWR at endhideamsmath
+    \boolfalse{LWR at amsmultline}
+    \LWR at addmathjax{multline}{\the\@envbody}
+}
+{\end{lateximage}\end{BlockClass}}
+
+}
+
+\BeforeBeginEnvironment{multline*}{
+
+\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
+{
+    \LWR at syncmathjax
+    \booltrue{LWR at amsmultline}
+    \LWR at beginhideamsmath
+}
+{
+    \begin{BlockClass}{displaymath}
+    \LWR at newautoidanchor
+    \booltrue{LWR at indisplaymathimage}%
+    \begin{lateximage}[\LWR at amsmathbody{multline*}]
+}
+}
+
+\AfterEndEnvironment{multline*}{
+
+\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
+{
+    \LWR at endhideamsmath
+    \boolfalse{LWR at amsmultline}
+    \LWR at addmathjax{multline*}{\the\@envbody}
+}
+{\end{lateximage}\end{BlockClass}}
+
+}
+
+
+\BeforeBeginEnvironment{gather}{
+
+\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
+{
+    \LWR at syncmathjax
+    \boolfalse{LWR at amsmultline}
+    \LWR at beginhideamsmath
+}
+{
+    \begin{BlockClass}{displaymathnumbered}
+    \LWR at newautoidanchor%
+    \booltrue{LWR at indisplaymathimage}%
+    \begin{lateximage}[\LWR at amsmathbodynumbered{gather}]
+}
+}
+
+\AfterEndEnvironment{gather}{
+
+\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
+{
+    \LWR at endhideamsmath
+    \LWR at addmathjax{gather}{\the\@envbody}
+}
+{\end{lateximage}\end{BlockClass}}
+
+}
+
+\BeforeBeginEnvironment{gather*}{
+
+\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
+{
+    \LWR at syncmathjax
+    \boolfalse{LWR at amsmultline}
+    \LWR at beginhideamsmath
+}
+{
+    \begin{BlockClass}{displaymath}
+    \LWR at newautoidanchor%
+    \booltrue{LWR at indisplaymathimage}%
+    \begin{lateximage}[\LWR at amsmathbody{gather*}]
+}
+}
+
+\AfterEndEnvironment{gather*}{
+
+\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
+{
+    \LWR at endhideamsmath
+    \LWR at addmathjax{gather*}{\the\@envbody}
+}
+{\end{lateximage}\end{BlockClass}}
+
+}
+
+\BeforeBeginEnvironment{align}{
+
+\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
+{
+    \LWR at syncmathjax
+    \boolfalse{LWR at amsmultline}
+    \LWR at beginhideamsmath
+}
+{
+    \begin{BlockClass}{displaymathnumbered}
+    \LWR at newautoidanchor%
+    \booltrue{LWR at indisplaymathimage}%
+    \begin{lateximage}[\LWR at amsmathbodynumbered{align}]
+}
+}
+
+\AfterEndEnvironment{align}{
+
+\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
+{
+    \LWR at endhideamsmath
+    \LWR at addmathjax{align}{\the\@envbody}
+}
+{\end{lateximage}\end{BlockClass}}
+
+}
+
+\BeforeBeginEnvironment{align*}{
+
+\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
+{
+    \LWR at syncmathjax
+    \boolfalse{LWR at amsmultline}
+    \LWR at beginhideamsmath
+}
+{
+    \begin{BlockClass}{displaymath}
+    \LWR at newautoidanchor%
+    \booltrue{LWR at indisplaymathimage}%
+    \begin{lateximage}[\LWR at amsmathbody{align*}]
+}
+}
+
+\AfterEndEnvironment{align*}{
+
+\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
+{
+    \LWR at endhideamsmath
+    \LWR at addmathjax{align*}{\the\@envbody}
+}
+{\end{lateximage}\end{BlockClass}}
+
+}
+
+\BeforeBeginEnvironment{flalign}{
+
+\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
+{
+    \LWR at syncmathjax
+    \boolfalse{LWR at amsmultline}
+    \LWR at beginhideamsmath
+}
+{
+    \begin{BlockClass}{displaymathnumbered}
+    \LWR at newautoidanchor%
+    \booltrue{LWR at indisplaymathimage}%
+    \begin{lateximage}[\LWR at amsmathbodynumbered{flalign}]
+}
+}
+
+\AfterEndEnvironment{flalign}{
+
+\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
+{
+    \LWR at endhideamsmath
+    \LWR at addmathjax{flalign}{\the\@envbody}
+}
+{\end{lateximage}\end{BlockClass}}
+
+}
+
+\BeforeBeginEnvironment{flalign*}{
+
+\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
+{
+    \LWR at syncmathjax
+    \boolfalse{LWR at amsmultline}
+    \LWR at beginhideamsmath
+}
+{
+    \begin{BlockClass}{displaymath}
+    \LWR at newautoidanchor%
+    \booltrue{LWR at indisplaymathimage}%
+    \begin{lateximage}[\LWR at amsmathbody{flalign*}]
+}
+}
+
+\AfterEndEnvironment{flalign*}{
+
+\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
+{
+    \LWR at endhideamsmath
+    \LWR at addmathjax{flalign*}{\the\@envbody}
+}
+{\end{lateximage}\end{BlockClass}}
+
+}
+
+\BeforeBeginEnvironment{alignat}{
+
+\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
+{
+    \LWR at syncmathjax
+    \boolfalse{LWR at amsmultline}
+    \LWR at beginhideamsmath
+}
+{
+    \begin{BlockClass}{displaymathnumbered}
+    \LWR at newautoidanchor%
+    \booltrue{LWR at indisplaymathimage}%
+    \begin{lateximage}[\LWR at amsmathbodynumbered{alignat}]
+}
+}
+
+\AfterEndEnvironment{alignat}{
+
+\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
+{
+    \LWR at endhideamsmath
+    \LWR at addmathjax{alignat}{\the\@envbody}
+}
+{\end{lateximage}\end{BlockClass}}
+
+}
+
+\BeforeBeginEnvironment{alignat*}{
+
+\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
+{
+    \LWR at syncmathjax
+    \boolfalse{LWR at amsmultline}
+    \LWR at beginhideamsmath
+}
+{
+    \begin{BlockClass}{displaymath}
+    \LWR at newautoidanchor%
+    \booltrue{LWR at indisplaymathimage}%
+    \begin{lateximage}[\LWR at amsmathbody{alignat*}]
+}
+}
+
+\AfterEndEnvironment{alignat*}{
+
+\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
+{
+    \LWR at endhideamsmath
+    \LWR at addmathjax{alignat*}{\the\@envbody}
+}
+{\end{lateximage}\end{BlockClass}}
+
+}
+\endinput
+%%
+%% End of file `lwarp-amsmath.sty'.


Property changes on: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-amsmath.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-asymptote.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-asymptote.sty	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-asymptote.sty	2018-09-07 21:00:41 UTC (rev 48617)
@@ -0,0 +1,35 @@
+%%
+%% This is file `lwarp-asymptote.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx  (with options: `asymptote')
+%% This is a generated file.
+%% Copyright 2016-2018 Brian Dunn
+%% 
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%%   http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+\LWR at ProvidesPackagePass{asymptote}
+\BeforeBeginEnvironment{asy}{\begin{lateximage}}
+\AfterEndEnvironment{asy}{\end{lateximage}}
+
+\xpatchcmd{\asyinclude}
+    {\begingroup}
+    {\begin{lateximage}}
+    {}
+    {\LWR at patcherror{asymptote}{asyinclude-begingroup}}
+
+\xpatchcmd{\asyinclude}
+    {\endgroup}
+    {\end{lateximage}}
+    {}
+    {\LWR at patcherror{asymptote}{asyinclude-endgroup}}
+\endinput
+%%
+%% End of file `lwarp-asymptote.sty'.


Property changes on: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-asymptote.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-axessibility.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-axessibility.sty	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-axessibility.sty	2018-09-07 21:00:41 UTC (rev 48617)
@@ -0,0 +1,22 @@
+%%
+%% This is file `lwarp-axessibility.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx  (with options: `axessibility')
+%% This is a generated file.
+%% Copyright 2016-2018 Brian Dunn
+%% 
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%%   http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+\LWR at ProvidesPackageDrop{axessibility}
+\newcommand{\wrap}[1]{}
+\endinput
+%%
+%% End of file `lwarp-axessibility.sty'.


Property changes on: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-axessibility.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-breqn.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-breqn.sty	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-breqn.sty	2018-09-07 21:00:41 UTC (rev 48617)
@@ -0,0 +1,90 @@
+%%
+%% This is file `lwarp-breqn.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx  (with options: `breqn')
+%% This is a generated file.
+%% Copyright 2016-2018 Brian Dunn
+%% 
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%%   http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+\LWR at ProvidesPackagePass{breqn}
+\setkeys{breqn}{spread={5pt}}
+
+\def\eqnumside{R}
+
+\BeforeBeginEnvironment{dmath}{
+    \begin{BlockClass}{displaymathnumbered}
+    \LWR at newautoidanchor%
+    \booltrue{LWR at indisplaymathimage}%
+    \begin{lateximage}[-breqn dmath- \mathimagename]
+}
+
+\AfterEndEnvironment{dmath}{
+    \end{lateximage}\end{BlockClass}
+}
+
+\BeforeBeginEnvironment{dmath*}{
+    \begin{BlockClass}{displaymath}
+    \LWR at newautoidanchor%
+    \booltrue{LWR at indisplaymathimage}%
+    \begin{lateximage}[-breqn dmath*- \mathimagename]
+}
+
+\AfterEndEnvironment{dmath*}{
+    \end{lateximage}\end{BlockClass}
+}
+
+\BeforeBeginEnvironment{dseries}{
+    \begin{BlockClass}{displaymathnumbered}
+    \LWR at newautoidanchor%
+    \booltrue{LWR at indisplaymathimage}%
+    \begin{lateximage}[-breqn dseries- \mathimagename]
+}
+
+\AfterEndEnvironment{dseries}{
+    \end{lateximage}\end{BlockClass}
+}
+
+\BeforeBeginEnvironment{dseries*}{
+    \begin{BlockClass}{displaymath}
+    \LWR at newautoidanchor%
+    \booltrue{LWR at indisplaymathimage}%
+    \begin{lateximage}[-breqn dseries*- \mathimagename]
+}
+
+\AfterEndEnvironment{dseries*}{
+    \end{lateximage}\end{BlockClass}
+}
+
+\BeforeBeginEnvironment{dgroup}{
+    \begin{BlockClass}{displaymath}
+    \LWR at newautoidanchor%
+    \booltrue{LWR at indisplaymathimage}%
+    \begin{lateximage}[-breqn dgroup- \mathimagename]
+}
+
+\AfterEndEnvironment{dgroup}{
+    \end{lateximage}\end{BlockClass}
+}
+
+\BeforeBeginEnvironment{dgroup*}{
+    \begin{BlockClass}{displaymath}
+    \LWR at newautoidanchor%
+    \booltrue{LWR at indisplaymathimage}%
+    \begin{lateximage}[-breqn dgroup*- \mathimagename]
+}
+
+\AfterEndEnvironment{dgroup*}{
+    \end{lateximage}\end{BlockClass}
+}
+\endinput
+%%
+%% End of file `lwarp-breqn.sty'.


Property changes on: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-breqn.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-bxpapersize.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-bxpapersize.sty	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-bxpapersize.sty	2018-09-07 21:00:41 UTC (rev 48617)
@@ -0,0 +1,23 @@
+%%
+%% This is file `lwarp-bxpapersize.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx  (with options: `bxpapersize')
+%% This is a generated file.
+%% Copyright 2016-2018 Brian Dunn
+%% 
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%%   http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+\LWR at ProvidesPackageDrop{bxpapersize}
+\providecommand*\papersizesetup{\bxpapersizesetup}
+\newcommand*\bxpapersizesetup[1]{}
+\endinput
+%%
+%% End of file `lwarp-bxpapersize.sty'.


Property changes on: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-bxpapersize.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-canoniclayout.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-canoniclayout.sty	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-canoniclayout.sty	2018-09-07 21:00:41 UTC (rev 48617)
@@ -0,0 +1,24 @@
+%%
+%% This is file `lwarp-canoniclayout.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx  (with options: `canoniclayout')
+%% This is a generated file.
+%% Copyright 2016-2018 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.
+s%
+\LWR at ProvidesPackageDrop{canoniclayout}
+\newcommand*{\currentfontletters}{}
+\newcommand*{\charactersperpage}{}
+\endinput
+%%
+%% End of file `lwarp-canoniclayout.sty'.


Property changes on: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-canoniclayout.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-chemmacros.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-chemmacros.sty	2018-09-07 21:00:01 UTC (rev 48616)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-chemmacros.sty	2018-09-07 21:00:41 UTC (rev 48617)
@@ -484,7 +484,7 @@
 }% AtBeginDocument
 \AtBeginDocument{
 \@ifchemmacrosmoduleloaded{reactions}{
-\PackageInfo{lwarp}{Patching~chemmacros~module~orbital}
+\PackageInfo{lwarp}{Patching~chemmacros~module~reactions}
 
 \cs_gset_protected:Npn \chemmacros_declare_reaction_env:nnnn #1#2#3#4
   {
@@ -734,7 +734,7 @@
             \bool_if:NT \l__chemmacros_nmr_solvent_bool
                 {
                 \bool_if:NTF \l__chemmacros_nmr_parse_bool
-                    { \chemformula_ch:nn { } {#4} }
+                    {\ch{#4}}%  lwarp
                     {#4}
                 }
             \bool_if:NT \l__chemmacros_nmr_delimiters_bool

Added: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-draftcopy.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-draftcopy.sty	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-draftcopy.sty	2018-09-07 21:00:41 UTC (rev 48617)
@@ -0,0 +1,34 @@
+%%
+%% This is file `lwarp-draftcopy.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx  (with options: `draftcopy')
+%% This is a generated file.
+%% Copyright 2016-2018 Brian Dunn
+%% 
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%%   http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+\LWR at ProvidesPackageDrop{draftcopy}
+\newcommand{\draftcopyVersion}[1]{}
+\newcommand{\draftcopySetGrey}[1]{}
+\newcommand{\draftcopySetScale}[1]{}
+\newcommand{\draftcopySetScaleFactor}[1]{}
+\newcommand{\draftcopyFirstPage}[1]{}
+\newcommand{\draftcopyLastPage}[1]{}
+\newcommand{\draftcopyName}[2]{}
+\newcommand{\draftcopyPageTransform}[1]{}
+\newcommand{\draftcopyBottomTransform}[1]{}
+\newcommand{\draftcopyPageX}[1]{}
+\newcommand{\draftcopyPageY}[1]{}
+\newcommand{\draftcopyBottomX}[1]{}
+\newcommand{\draftcopyBottomY}[1]{}
+\endinput
+%%
+%% End of file `lwarp-draftcopy.sty'.


Property changes on: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-draftcopy.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-epstopdf-base.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-epstopdf-base.sty	2018-09-07 21:00:01 UTC (rev 48616)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-epstopdf-base.sty	2018-09-07 21:00:41 UTC (rev 48617)
@@ -15,10 +15,30 @@
 %%   http://www.latex-project.org/lppl.txt
 %% and version 1.3 or later is part of all distributions of LaTeX
 %% version 2005/12/01 or later.
-\LWR at ProvidesPackageDrop{epstopdf-base}[2016/05/15]
-\providecommand*{\epstopdfsetup}[1]{}
-\providecommand*{\epstopdfcall}[1]{}
-\providecommand*{\epstopdfDeclareGraphicsRule}[4]{}
+\LWR at ProvidesPackagePass{epstopdf-base}[2016/05/15]
+\newcommand*{\LWR at HTML@ETE at OrgGin@setfile}[3]{%
+    \edef\LWR at tempone{#3}%
+    \StrSubstitute{\LWR at tempone}{.pdf}{.svg}[\LWR at tempone]%
+    \StrSubstitute{\LWR at tempone}{.PDF}{.SVG}[\LWR at tempone]%
+    \xdef\LWR at parsedfilename{\LWR at tempone}%
+}
+
+\LWR at formatted{ETE at OrgGin@setfile}
+\renewcommand*{\LWR at HTML@Gin at setfile}[3]{%
+    \ETE at Gin@setfile{#1}{#2}{#3}%
+}
+\AtBeginDocument{
+\DeclareGraphicsExtensions{%
+    .eps,.EPS,.svg,.SVG,.gif,.GIF,.png,.PNG,.jpg,.JPG,.jpeg,.JPEG%
+}
+\DeclareGraphicsRule{.svg}{svg}{.svg}{}
+\DeclareGraphicsRule{.SVG}{svg}{.SVG}{}
+}
+\appto\LWR at restoreorigformatting{%
+\DeclareGraphicsExtensions{%
+    .eps,.EPS,.pdf,.PDF,.gif,.GIF,.png,.PNG,.jpg,.JPG,.jpeg,.JPEG%
+}%
+}
 \endinput
 %%
 %% End of file `lwarp-epstopdf-base.sty'.

Modified: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-epstopdf.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-epstopdf.sty	2018-09-07 21:00:01 UTC (rev 48616)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-epstopdf.sty	2018-09-07 21:00:41 UTC (rev 48617)
@@ -15,10 +15,7 @@
 %%   http://www.latex-project.org/lppl.txt
 %% and version 1.3 or later is part of all distributions of LaTeX
 %% version 2005/12/01 or later.
-\LWR at ProvidesPackageDrop{epstopdf}
-\providecommand*{\epstopdfsetup}[1]{}
-\providecommand*{\epstopdfcall}[1]{}
-\providecommand*{\epstopdfDeclareGraphicsRule}[4]{}
+\LWR at ProvidesPackagePass{epstopdf}[2016/05/15]
 \endinput
 %%
 %% End of file `lwarp-epstopdf.sty'.

Added: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-fnbreak.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-fnbreak.sty	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-fnbreak.sty	2018-09-07 21:00:41 UTC (rev 48617)
@@ -0,0 +1,25 @@
+%%
+%% This is file `lwarp-fnbreak.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx  (with options: `fnbreak')
+%% This is a generated file.
+%% Copyright 2016-2018 Brian Dunn
+%% 
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%%   http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+\LWR at ProvidesPackageDrop{fnbreak}
+\newcommand*{\fnbreakverbose}{}
+\newcommand*{\fnbreaknonverbose}{}
+\newcommand*{\fnbreaklabel}{}
+\newcommand*{\fnbreaknolabel}{}
+\endinput
+%%
+%% End of file `lwarp-fnbreak.sty'.


Property changes on: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-fnbreak.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-graphics.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-graphics.sty	2018-09-07 21:00:01 UTC (rev 48616)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-graphics.sty	2018-09-07 21:00:41 UTC (rev 48617)
@@ -130,12 +130,26 @@
 
 \newsavebox{\LWR at imagesizebox}
 
-\let\LWR at origGin@setfile\Gin at setfile
+\newcommand*{\LWR at HTML@Gin at setfile}[3]{%
+    \xdef\LWR at parsedfilename{#3}%
+}
 
 \AtBeginDocument{
 \define at key{Gin}{class}{}
 }
 
+\AtBeginDocument{
+\@ifpackageloaded{epstopdf}
+{
+    \newcommand*{\LWR at replaceEPSSVG}{}
+}{%
+    \newcommand*{\LWR at replaceEPSSVG}{%
+        \StrSubstitute{\LWR at tempone}{.eps}{.svg}[\LWR at tempone]%
+        \StrSubstitute{\LWR at tempone}{.EPS}{.SVG}[\LWR at tempone]%
+    }
+}%
+}
+
 \NewDocumentCommand{\LWR at includegraphicsb}{s o o m}
 {%
 \LWR at traceinfo{LWR at includegraphicsb #4}%
@@ -152,11 +166,13 @@
     }%
 }{}%
 \begingroup%
-\renewcommand*{\Gin at setfile}[3]{%
-\LWR at traceinfo{Gin at setfile ##3}%
-\xdef\LWR at parsedfilename{##3}%
-}%
-\Ginclude at graphics{\detokenize\expandafter{#4}}%
+\LetLtxMacro\Gin at setfile\LWR at HTML@Gin at setfile%
+\edef\LWR at tempone{#4}%
+\StrSubstitute{\LWR at tempone}{.pdf}{.svg}[\LWR at tempone]%
+\StrSubstitute{\LWR at tempone}{.PDF}{.SVG}[\LWR at tempone]%
+\LWR at replaceEPSSVG%
+\xdef\LWR at parsedfilename{\LWR at tempone}%
+\Ginclude at graphics{\detokenize\expandafter{\LWR at tempone}}%
 \endgroup%
 \filename at parse{\LWR at parsedfilename}%
 \LWR at traceinfo{LWR at parsedfilename is \LWR at parsedfilename}%

Added: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-nccfancyhdr.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-nccfancyhdr.sty	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-nccfancyhdr.sty	2018-09-07 21:00:41 UTC (rev 48617)
@@ -0,0 +1,52 @@
+%%
+%% This is file `lwarp-nccfancyhdr.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx  (with options: `nccfancyhdr')
+%% This is a generated file.
+%% Copyright 2016-2018 Brian Dunn
+%% 
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%%   http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+\LWR at ProvidesPackageDrop{nccfancyhdr}
+\newcommand*{\headrulewidth}{}
+\newcommand*{\footrulewidth}{}
+\newcommand{\headstrutheight}{}
+\newcommand{\footstrutheight}{}
+\newcommand*{\headrule}{}
+\newcommand*{\footrule}{}
+
+\newdimen\headwidth
+\newcommand*{\extendedheaders}{}
+\newcommand*{\normalheaders}{}
+
+\newcommand*{\fancyhead}[2][]{}
+\newcommand*{\fancyfoot}[2][]{}
+\newcommand*{\fancyhf}[2][]{}
+\newcommand*{\fancypagestyle}[2]{}
+\newcommand*{\lhead}[2][]{}
+\newcommand*{\chead}[2][]{}
+\newcommand*{\rhead}[2][]{}
+\newcommand*{\lfoot}[2][]{}
+\newcommand*{\cfoot}[2][]{}
+\newcommand*{\rfoot}[2][]{}
+
+\newcommand{\nouppercase}[1]{#1}
+
+\NewDocumentCommand{\fancycenter}{o o m m m}{}
+
+\NewDocumentCommand{\newpagestyle}{m o m}{}
+
+\newcommand*{\iffloatpage}[2]{#2}
+\newcommand*{\ifftopfloat}[2]{#2}
+\newcommand*{\iffbotfloat}[2]{#2}
+\endinput
+%%
+%% End of file `lwarp-nccfancyhdr.sty'.


Property changes on: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-nccfancyhdr.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-nicefrac.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-nicefrac.sty	2018-09-07 21:00:01 UTC (rev 48616)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-nicefrac.sty	2018-09-07 21:00:41 UTC (rev 48617)
@@ -25,6 +25,7 @@
 \LWR at origUnitsNiceFrac[#1]{#2}{#3}%
 \endgroup%
 }
+\CustomizeMathJax{\newcommand{\nicefrac}[3][]{#2/#3}}
 
 \endinput
 %%

Added: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-pdftricks.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-pdftricks.sty	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-pdftricks.sty	2018-09-07 21:00:41 UTC (rev 48617)
@@ -0,0 +1,31 @@
+%%
+%% This is file `lwarp-pdftricks.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx  (with options: `pdftricks')
+%% This is a generated file.
+%% Copyright 2016-2018 Brian Dunn
+%% 
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%%   http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+\LWR at ProvidesPackagePass{pdftricks}
+\def\PDFTfigname{\BaseJobname-fig\thepsfig}
+\PackageWarning{lwarp-pdftricks}{
+When the pdftricks images change,
+remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
+}
+
+\AfterEndDocument{\typeout{***}}
+\AfterEndDocument{\typeout{*** Note: If pdftricks images are not found, new, or updated,}}
+\AfterEndDocument{\typeout{*** \space use 'lwarpmk pdftosvg \BaseJobname-fig*.pdf'}}
+\AfterEndDocument{\typeout{***}}
+\endinput
+%%
+%% End of file `lwarp-pdftricks.sty'.


Property changes on: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-pdftricks.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-pst-eps.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-pst-eps.sty	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-pst-eps.sty	2018-09-07 21:00:41 UTC (rev 48617)
@@ -0,0 +1,23 @@
+%%
+%% This is file `lwarp-pst-eps.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx  (with options: `pst-eps')
+%% This is a generated file.
+%% Copyright 2016-2018 Brian Dunn
+%% 
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%%   http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+\LWR at ProvidesPackagePass{pst-eps}
+\renewenvironment{TeXtoEPS}{}{}
+\renewcommand{\PSTtoEPS}[3][]{}
+\endinput
+%%
+%% End of file `lwarp-pst-eps.sty'.


Property changes on: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-pst-eps.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-pstricks.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-pstricks.sty	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-pstricks.sty	2018-09-07 21:00:41 UTC (rev 48617)
@@ -0,0 +1,23 @@
+%%
+%% This is file `lwarp-pstricks.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx  (with options: `pstricks')
+%% This is a generated file.
+%% Copyright 2016-2018 Brian Dunn
+%% 
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%%   http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+\LWR at ProvidesPackagePass{pstricks}
+\BeforeBeginEnvironment{pspicture}{\begin{lateximage}[(pspicture)]}
+\AfterEndEnvironment{pspicture}{\end{lateximage}}
+\endinput
+%%
+%% End of file `lwarp-pstricks.sty'.


Property changes on: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-pstricks.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-units.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-units.sty	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-units.sty	2018-09-07 21:00:41 UTC (rev 48617)
@@ -0,0 +1,25 @@
+%%
+%% This is file `lwarp-units.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx  (with options: `units')
+%% This is a generated file.
+%% Copyright 2016-2018 Brian Dunn
+%% 
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%%   http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+
+\LWR at ProvidesPackagePass{units}[1998/08/04]
+\CustomizeMathJax{\newcommand{\unit}[2][]{#1 #2}}
+\CustomizeMathJax{\newcommand{\unitfrac}[3][]{#1 #2/#3}}
+
+\endinput
+%%
+%% End of file `lwarp-units.sty'.


Property changes on: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-units.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-xunicode.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-xunicode.sty	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-xunicode.sty	2018-09-07 21:00:41 UTC (rev 48617)
@@ -0,0 +1,30 @@
+%%
+%% This is file `lwarp-xunicode.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx  (with options: `xunicode')
+%% This is a generated file.
+%% Copyright 2016-2018 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.
+
+\@ifpackageloaded{lwarp}{\LWR at loadbefore{xunicode}}{}
+
+\LWR at ProvidesPackagePass{xunicode}[2011/09/09]
+\newcommand*{\LWR at HTML@textcircled}[1]{%
+\InlineClass[border: 1px solid \LWR at currenttextcolor]{textcircled}{#1}%
+}
+
+\LWR at formatted{textcircled}
+
+\endinput
+%%
+%% End of file `lwarp-xunicode.sty'.


Property changes on: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-xunicode.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp.sty	2018-09-07 21:00:01 UTC (rev 48616)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp.sty	2018-09-07 21:00:41 UTC (rev 48617)
@@ -17,7 +17,7 @@
 %% version 2005/12/01 or later.
 \NeedsTeXFormat{LaTeX2e}[1999/12/01]
 \ProvidesPackage{lwarp}
-    [2018/07/07 v0.58  Allows LaTeX to directly produce HTML5 output.]
+    [2018/09/07 v0.59  Allows LaTeX to directly produce HTML5 output.]
 
 
 
@@ -38,6 +38,8 @@
 \ifLuaTeX
 \RequirePackage{luatex85}% until the geometry package is updated
 \fi
+
+\RequirePackage{ifpdf}
 \newcommand{\LWR at mdfive}[1]{%
 \PackageError{lwarp}
 {No MD5 macro was found.}
@@ -68,7 +70,6 @@
     }
 }
 \fi
-
 \RequirePackage{newunicodechar}
 
 \newunicodechar{⨯}{\texttimes}
@@ -194,6 +195,12 @@
 
 \DeclareBoolOption[false]{latexmk}
 
+\DeclareBoolOption[false]{dvips}
+
+\DeclareBoolOption[false]{dvipdfm}
+
+\DeclareBoolOption[false]{dvipdfmx}
+
 \ProcessKeyvalOptions*\relax
 
 \providecommand*{\BaseJobname}{\LWR at BaseJobname}
@@ -334,6 +341,7 @@
 \LWR at loadafter{a4wide}
 \LWR at loadafter{a5comb}
 \LWR at notmemoirloadafter{abstract}
+\LWR at loadafter{accsupp}
 \LWR at loadafter{acro}
 \LWR at loadafter{acronym}
 \LWR at loadafter{adjmulticol}
@@ -351,9 +359,12 @@
 \LWR at notmemoirloadafter{appendix}
 \LWR at loadafter{arabicfront}
 \LWR at notmemoirloadafter{array}
+\LWR at loadafter{arydshln}
+\LWR at loadafter{asymptote}
 \LWR at loadafter{attachfile}
 \LWR at loadafter{attachfile2}
 \LWR at loadafter{authblk}
+\LWR at loadafter{axessibility}
 \LWR at loadafter{axodraw2}
 \LWR at loadafter{backref}
 \LWR at loadafter{balance}
@@ -365,8 +376,11 @@
 \LWR at loadafter{boxedminipage}
 \LWR at loadafter{boxedminipage2e}
 \LWR at loadafter{breakurl}
+\LWR at loadafter{breqn}
+\LWR at loadafter{bxpapersize}
 \LWR at loadafter{bytefield}
 \LWR at loadafter{cancel}
+\LWR at loadafter{canoniclayout}
 \LWR at loadafter{caption}
 \LWR at loadafter{caption2}
 \LWR at loadafter{cases}
@@ -391,6 +405,7 @@
 \LWR at loadafter{dblfnote}
 \LWR at notmemoirloadafter{dcolumn}
 \LWR at loadafter{diagbox}
+\LWR at loadafter{draftcopy}
 \LWR at loadafter{draftwatermark}
 \LWR at loadafter{easy-todo}
 \LWR at loadafter{ebook}
@@ -426,6 +441,7 @@
 \LWR at loadafter{floatrow}
 \LWR at loadafter{fltrace}
 \LWR at loadafter{flushend}
+\LWR at loadafter{fnbreak}
 \LWR at loadafter{fncychap}
 \LWR at loadafter{fnlineno}
 \LWR at loadafter{fnpos}
@@ -495,6 +511,7 @@
 \LWR at loadafter{multitoc}
 \LWR at loadafter{nameref}
 \LWR at loadafter{natbib}
+\LWR at notmemoirloadafter{nccfancyhdr}
 \LWR at notmemoirloadafter{needspace}
 \LWR at loadafter{newtxmath}
 \LWR at notmemoirloadafter{nextpage}
@@ -516,6 +533,7 @@
 \LWR at loadafter{pdflscape}
 \LWR at loadafter{pdfpages}
 \LWR at loadafter{pdfsync}
+\LWR at loadafter{pdftricks}
 \LWR at loadafter{pdfx}
 \LWR at loadafter{pfnote}
 \LWR at loadafter{phfqit}
@@ -523,6 +541,8 @@
 \LWR at loadafter{prelim2e}
 \LWR at loadafter{prettyref}
 \LWR at loadafter{preview}
+\LWR at loadafter{pst-eps}
+\LWR at loadafter{pstricks}
 \LWR at loadafter{quotchap}
 \LWR at loadafter{quoting}
 \LWR at loadafter{ragged2e}
@@ -551,6 +571,7 @@
 \LWR at loadafter{showkeys}
 \LWR at loadafter{sidecap}
 \LWR at loadafter{sidenotes}
+\LWR at loadafter{SIunits}
 \LWR at loadafter{siunitx}
 \LWR at loadafter{soul}
 \LWR at loadafter{soulpos}
@@ -587,6 +608,7 @@
 \LWR at loadafter{turnthepage}
 \LWR at loadafter{ulem}
 \LWR at loadafter{underscore}
+\LWR at loadafter{units}
 \LWR at loadafter{upref}
 \LWR at loadafter{url}
 \LWR at loadafter{varioref}% no lwarp package provided
@@ -704,11 +726,7 @@
 
 \RequirePackage{zref}
 
-\RequirePackage{amsmath}
-\def\maketag@@@#1{\text{#1}}
-\def\tagform@#1{\maketag@@@{(\ignorespaces#1\unskip)}}
 
-
 \RequirePackage{printlen}
 
 \newrobustcmd*{\LWR at printlength}[1]{%
@@ -1236,76 +1254,193 @@
 \immediate\closeout\LWR at quickfile
 \end{warpprint}
 
+
 \begin{warpprint}
-\AtBeginDocument{
-\ifcsdef{LWR at quickfile}{}{\newwrite{\LWR at quickfile}}
-\immediate\openout\LWR at quickfile=lwarpmk.conf
+
+\newcommand*{\LWR at lwarpconfversion}{1}% also in lwarpmk.lua
+\catcode`\$=12
+\def\LWR at dollarchar{$}
+\catcode`\$=3
+\catcode`\&=12
+\def\LWR at ampersand{&}
+\catcode`\&=4
 \ifbool{usingOSWindows}{
-\immediate\write\LWR at quickfile{opsystem = "Windows"}
+    \def\LWR at opquote{"}
 }{
-\immediate\write\LWR at quickfile{opsystem = "Unix"}
+    \def\LWR at opquote{'}
 }
-\ifPDFTeX
-\immediate\write\LWR at quickfile{latexname = "pdflatex"}
+\ifbool{usingOSWindows}{
+    \def\LWR at opsequence{\LWR at ampersand}
+}{
+    \def\LWR at opsequence{\LWR at ampersand\LWR at ampersand}
+}
+\ifshellescape
+    \def\LWR at shellescapecmd{--shell-escape }
+\else
+    \def\LWR at shellescapecmd{}
 \fi
-\ifXeTeX
-\immediate\write\LWR at quickfile{latexname = "xelatex"}
-\fi
-\ifLuaTeX
-\immediate\write\LWR at quickfile{latexname = "lualatex"}
-\fi
-\immediate\write\LWR at quickfile{sourcename = "\jobname"}
-\immediate\write\LWR at quickfile{%
-homehtmlfilename = "\HomeHTMLFilename"%
+\newcommand*{\LWR at compilecmd}[2]{%
+    #1 \LWR at shellescapecmd \jobname#2%
 }
-\immediate\write\LWR at quickfile{htmlfilename = "\HTMLFilename"}
-\immediate\write\LWR at quickfile{latexmk = "\ifbool{LWR at latexmk}{true}{false}"}
-\immediate\write\LWR at quickfile{shellescape = "\ifshellescape true\else false\fi"}
-\immediate\write\LWR at quickfile{printindexcmd = "\LWR at PrintIndexCmd"}
-\immediate\write\LWR at quickfile{HTMLindexcmd = "\LWR at HTMLIndexCmd"}
-\immediate\write\LWR at quickfile{latexmkindexcmd = "\LWR at LatexmkIndexCmd"}
-\immediate\write\LWR at quickfile{glossarycmd = "\LWR at GlossaryCmd"}
-\immediate\write\LWR at quickfile{pdftotextenc = "\LWR at pdftotextEnc"}
-\immediate\closeout\LWR at quickfile
-}% AtBeginDocument
-\end{warpprint}
-
-\begin{warpprint}
-\AtBeginDocument{
+\newcommand*{\LWR at addcompilecmd}[2]{%
+    \space \LWR at opsequence \space\space
+    #1 \jobname#2%
+}
+\newcommand*{\LWR at unknownengine}{%
+    \PackageError{lwarp}
+    {Unknown LaTeX engine.}
+    {Lwarp only knows about pdflatex, dvi latex, xelatex, and lualatex.}
+}
+\newcommand*{\LWR at latexmkvar}[2]{%
+    -e
+    \LWR at opquote%
+    \LWR at dollarchar #1=q/#2/%
+    \LWR at opquote
+}
+\newcommand*{\LWR at latexmkcmd}[1]{%
+    latexmk  \space \LWR at shellescapecmd \space  #1 \space
+    -recorder \space
+    \LWR at latexmkvar{makeindex}{\LWR at LatexmkIndexCmd}
+}
+\newcommand*{\LWR at latexmkdvipdfm}[1]{%
+    -pdfdvi \space
+    \LWR at latexmkvar{dvipdf}{%
+        #1
+        \@percentchar O
+        -o \@percentchar D
+        \@percentchar S%
+    }
+}
+\ifbool{LWR at latexmk}{
+    \ifpdf
+        \ifPDFTeX
+            \def\LWR at latexcmd{\LWR at latexmkcmd{-pdf -dvi- -ps-}}
+        \else
+            \ifLuaTeX
+                \def\LWR at latexcmd{\LWR at latexmkcmd{-lualatex}}
+            \else
+                \LWR at unknownengine
+            \fi
+        \fi
+    \else% \ifpdf
+        \ifXeTeX
+            \def\LWR at latexcmd{\LWR at latexmkcmd{-xelatex}}
+        \else% \ifXeTeX
+            \ifbool{LWR at dvipdfm}{
+                \def\LWR at latexcmd{%
+                    \LWR at latexmkcmd{%
+                        \LWR at latexmkdvipdfm{dvipdfm}%
+                    }
+                }
+            }{
+                \ifbool{LWR at dvipdfmx}{
+                    \def\LWR at latexcmd{%
+                        \LWR at latexmkcmd{%
+                            \LWR at latexmkdvipdfm{dvipdfmx}%
+                        }
+                    }
+                }{
+                    \def\LWR at latexcmd{\LWR at latexmkcmd{-pdfps}}
+                }
+            }
+        \fi
+    \fi% \ifpdf
+    \def\LWR at printlatexcmd{\LWR at latexcmd \space \jobname}
+    \def\LWR at HTMLlatexcmd{\LWR at latexcmd \space \jobname_html}
+}% latexmk
+{% not latexmk
+    \ifpdf
+        \ifPDFTeX
+            \def\LWR at printlatexcmd{\LWR at compilecmd{pdflatex}{}}
+            \def\LWR at HTMLlatexcmd{\LWR at compilecmd{pdflatex}{_html}}
+        \else
+            \ifLuaTeX
+                \def\LWR at printlatexcmd{\LWR at compilecmd{lualatex}{}}
+                \def\LWR at HTMLlatexcmd{\LWR at compilecmd{lualatex}{_html}}
+            \else
+                \LWR at unknownengine
+            \fi
+        \fi
+    \else% \ifpdf
+        \ifXeTeX
+            \def\LWR at printlatexcmd{\LWR at compilecmd{xelatex}{}}
+            \def\LWR at HTMLlatexcmd{\LWR at compilecmd{xelatex}{_html}}
+        \else
+            \ifbool{LWR at dvipdfm}{
+                \def\LWR at printlatexcmd{%
+                    \LWR at compilecmd{latex}{}
+                    \LWR at addcompilecmd{dvipdfm}{}
+                }
+                \def\LWR at HTMLlatexcmd{%
+                    \LWR at compilecmd{latex}{_html}
+                    \LWR at addcompilecmd{dvipdfm}{_html}
+                }
+            }{
+                \ifbool{LWR at dvipdfmx}{
+                    \def\LWR at printlatexcmd{%
+                        \LWR at compilecmd{latex}{}
+                        \LWR at addcompilecmd{dvipdfmx}{}
+                    }
+                    \def\LWR at HTMLlatexcmd{%
+                        \LWR at compilecmd{latex}{_html}
+                        \LWR at addcompilecmd{dvipdfmx}{_html}
+                    }
+                }{% dvips
+                    \def\LWR at printlatexcmd{%
+                        \LWR at compilecmd{latex}{}
+                        \LWR at addcompilecmd{dvips}{}
+                        \LWR at addcompilecmd{ps2pdf}{}.ps
+                    }
+                    \def\LWR at HTMLlatexcmd{%
+                        \LWR at compilecmd{latex}{_html}
+                        \LWR at addcompilecmd{dvips}{_html}
+                        \LWR at addcompilecmd{ps2pdf}{_html}.ps
+                    }
+                }
+            }
+        \fi% \ifXeTeX
+    \fi% \ifpdf
+}% latexmk
+\newcommand{\LWR at writeconf}[1]{%
 \ifcsdef{LWR at quickfile}{}{\newwrite{\LWR at quickfile}}
-\immediate\openout\LWR at quickfile=\jobname.lwarpmkconf
+\immediate\openout\LWR at quickfile=#1
+\immediate\write\LWR at quickfile{confversion = [[\LWR at lwarpconfversion]]}
 \ifbool{usingOSWindows}{
-\immediate\write\LWR at quickfile{opsystem = "Windows"}
+    \immediate\write\LWR at quickfile{opsystem = [[Windows]]}
 }{
-\immediate\write\LWR at quickfile{opsystem = "Unix"}
+    \immediate\write\LWR at quickfile{opsystem = [[Unix]]}
 }
-\ifPDFTeX
-\immediate\write\LWR at quickfile{latexname = "pdflatex"}
-\fi
-\ifXeTeX
-\immediate\write\LWR at quickfile{latexname = "xelatex"}
-\fi
-\ifLuaTeX
-\immediate\write\LWR at quickfile{latexname = "lualatex"}
-\fi
-\immediate\write\LWR at quickfile{sourcename = "\jobname"}
-\immediate\write\LWR at quickfile{%
-homehtmlfilename = "\HomeHTMLFilename"%
+\immediate\write\LWR at quickfile{sourcename = [[\jobname]]}
+\immediate\write\LWR at quickfile{homehtmlfilename = [[\HomeHTMLFilename]]}
+\immediate\write\LWR at quickfile{htmlfilename = [[\HTMLFilename]]}
+\immediate\write\LWR at quickfile{latexmk = [[\ifbool{LWR at latexmk}{true}{false}]]}
+\immediate\write\LWR at quickfile{printlatexcmd = [[\LWR at printlatexcmd]]}
+\immediate\write\LWR at quickfile{HTMLlatexcmd = [[\LWR at HTMLlatexcmd]]}
+\immediate\write\LWR at quickfile{printindexcmd = [[\LWR at PrintIndexCmd]]}
+\immediate\write\LWR at quickfile{HTMLindexcmd = [[\LWR at HTMLIndexCmd]]}
+\immediate\write\LWR at quickfile{latexmkindexcmd = [[\LWR at LatexmkIndexCmd]]}
+\immediate\write\LWR at quickfile{glossarycmd = [[\LWR at GlossaryCmd]]}
+\immediate\write\LWR at quickfile{pdftotextenc = [[\LWR at pdftotextEnc]]}
+\immediate\closeout\LWR at quickfile
 }
-\immediate\write\LWR at quickfile{htmlfilename = "\HTMLFilename"}
-\immediate\write\LWR at quickfile{latexmk = "\ifbool{LWR at latexmk}{true}{false}"}
-\immediate\write\LWR at quickfile{shellescape = "\ifshellescape true\else false\fi"}
-\immediate\write\LWR at quickfile{printindexcmd = "\LWR at PrintIndexCmd"}
-\immediate\write\LWR at quickfile{HTMLindexcmd = "\LWR at HTMLIndexCmd"}
-\immediate\write\LWR at quickfile{latexmkindexcmd = "\LWR at LatexmkIndexCmd"}
-\immediate\write\LWR at quickfile{glossarycmd = "\LWR at GlossaryCmd"}
-\immediate\write\LWR at quickfile{pdftotextenc = "\LWR at pdftotextEnc"}
-\immediate\closeout\LWR at quickfile
-}% AtBeginDocument
+
+
 \end{warpprint}
 
+\begin{warpprint}
 
+\AtBeginDocument{\LWR at writeconf{lwarpmk.conf}}
+
+\end{warpprint}
+
 \begin{warpprint}
+
+\AtBeginDocument{\LWR at writeconf{\jobname.lwarpmkconf}}
+
+\end{warpprint}
+
+
+\begin{warpprint}
 \begin{filecontents*}{lwarp.css}
 /*
   CSS stylesheet for the LaTeX lwarp package
@@ -3225,11 +3360,11 @@
         seteqsection.num = AMS.number;
         var n = this.GetArgument(name);
         if (n === "") {
-        seteqsection = seteqsectionDefault;
+            seteqsection = seteqsectionDefault;
         } else {
-        if (!seteqsections["_"+n])
-            seteqsections["_"+n] = {name:n, num:0};
-        seteqsection = seteqsections["_"+n];
+            if (!seteqsections["_"+n])
+                seteqsections["_"+n] = {name:n, num:0};
+            seteqsection = seteqsections["_"+n];
         }
         AMS.number = seteqsection.num;
     },
@@ -3236,7 +3371,9 @@
     mySetEqNumber: function (name) {
         var n = this.GetArgument(name);
         if (!n || !n.match(/^ *[0-9]+ *$/))
-            n = ""; else n = parseInt(n)-1;
+            n = "";
+        else
+            n = parseInt(n)-1;
         <!-- $ syntax highlighting -->
         if (n === "" || n < 1)
             TEX.Error
@@ -3247,14 +3384,20 @@
     MathJax.Hub.Config({
     TeX: {
         equationNumbers: {
-        formatTag: function (n)
-            {return "("+(seteqsection.name+"."+n).replace(/^\./,"")+")"},
-        formatID: function (n) {
-            n = (seteqsection.name+'.'+n).replace
-                (/[:"'<>&]/g,"").replace(/^\./,"");
-            return 'mjx-eqn-' + n;
+            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;
+            }
         }
-        }
     }
     });
 });
@@ -3293,7 +3436,7 @@
 
 <!-- Alternative CDN provider: -->
 <script type="text/javascript" async
-src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS_HTML-full">
+src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.4/MathJax.js?config=TeX-AMS_HTML-full">
 </script>
 
 <!-- No longer supported after April 30, 2017: -->
@@ -3313,7 +3456,8 @@
 
 -- Copyright 2016-2018 Brian Dunn
 
-printversion = "v0.58"
+printversion = "v0.59"
+requiredconfversion = "1" -- also at *lwarpmk.conf
 
 function printhelp ()
 print ("lwarpmk: Use lwarpmk -h or lwarpmk --help for help.") ;
@@ -3340,6 +3484,7 @@
     Converts project_html.pdf to project_html.html and individual HTML files.
     Finishes the HTML conversion even if there was a compile error.
 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*
 lwarpmk cleanall [-p project]: Remove auxiliary files and also project.pdf, *.html
 lwarpmk cleanlimages: Removes all images from the "lateximages" directory.
@@ -3350,37 +3495,6 @@
 -- printconf ()
 end
 
--- function printconf ()
--- --
--- -- Print the format of the configuration file lwarpmk.conf:
--- --
--- print ( [[
--- An example lwarpmk.conf or <project>.lwarpmkconf project file:
--- --
--- opsystem = "Unix"   (or "Windows")
--- latexname = "pdflatex"  (or "lualatex", or "xelatex")
--- sourcename = "projectname"  (the source-code filename w/o .tex)
--- homehtmlfilename = "index"  (or perhaps the project name)
--- htmlfilename = ""  (or "projectname" - filename prefix)
--- latexmk = "false"  (or "true" to use latexmk to build PDFs)
--- shellescape = "false"
--- printindexcmd = "makeindex -s lwarp.ist <name>.idx"
--- HTMLindexcmd = "makeindex -s lwarp.ist <name>_html.idx"
--- latexmkindexcmd = "makeindex -s lwarp.ist"
--- -- indexprog = "makeindex" or "xindy"
--- -- makeindexstyle = "lwarp.ist" (or a custom file based on lwarp.ist)
--- -- xindylanguge = "english"  (use a language supported by xindy)
--- -- xindycodepage = "utf8"  (use a codepage supported by xindy)
--- -- xindystyle = "lwarp.xdy" (or a custom file based on lwarp.xdy)
--- glossarycmd = "makeglossaries"
--- pdftotextenc = "UTF-8"  (use an encoding supported by pdftotext)
--- --
--- Filenames must contain only letters, numbers, underscore, or dash.
--- Values must be in upright "quotes".
---
--- ]] ) ;
--- end
-
 function splitfile (destfile,sourcefile)
 --
 -- Split one large sourcefile into a number of files,
@@ -3418,6 +3532,11 @@
     os.exit(1) ;
 end
 
+function ignoreconf ()
+-- Global argument index
+argindex = 2
+end
+
 function loadconf ()
 --
 -- Load settings from the project's "lwarpmk.conf" file:
@@ -3435,9 +3554,11 @@
     argindex = argindex + 1
 end
 -- Additional defaults:
+confversion = "0"
 opsystem = "Unix"
 latexmk = "false"
-shellescape = "false"
+printlatexcmd = ""
+HTMLlatexcmd = ""
 printindexcmd = ""
 HTMLindexcmd = ""
 latexmkindexcmd = ""
@@ -3470,11 +3591,11 @@
 -- Read the file:
 print ("lwarpmk: Reading " .. conffile ..".")
 local cfile = io.open(conffile)
--- Scan each line:
+-- Scan each line, parsing each line as: name = [[string]]
 local linenum = 0
 for line in cfile:lines() do -- scan lines
 linenum = linenum + 1
-i,j,cvarname,cvalue = string.find (line,"([%w-_]*)%s*=%s*\"([^\"]*)\"") ;
+i,j,cvarname,cvalue = string.find (line,"([%w-_]*)%s*=%s*%[%[([^%]]*)%]%]") ;
 -- Error if incorrect enclosing characters:
 if ( i == nil ) then
     print ("lwarpmk: ===")
@@ -3484,7 +3605,9 @@
 --    printconf () ;
     os.exit(1) ;
 end -- nil
-if ( cvarname == "opsystem" ) then
+if ( cvarname == "confversion" ) then
+    confversion = cvalue
+elseif ( cvarname == "opsystem" ) then
     -- Verify choice of opsystem:
     if ( (cvalue == "Unix") or (cvalue == "Windows") ) then
         opsystem = cvalue
@@ -3491,41 +3614,16 @@
     else
         cvalueerror ( line, linenum , cvalue )
     end
-elseif ( cvarname == "latexname" ) then
-    -- Verify choice of LaTeX compiler:
-    if (
-        (cvalue == "pdflatex") or
-        (cvalue == "xelatex") or
-        (cvalue == "lualatex")
-    ) then
-        latexname = cvalue
-    else
-        cvalueerror ( line, linenum , cvalue )
-    end
 elseif ( cvarname == "sourcename" ) then sourcename = cvalue
 elseif ( cvarname == "homehtmlfilename" ) then homehtmlfilename = cvalue
 elseif ( cvarname == "htmlfilename" ) then htmlfilename = cvalue
 elseif ( cvarname == "latexmk" ) then latexmk = cvalue
-elseif ( cvarname == "shellescape" ) then shellescape = cvalue
+elseif ( cvarname == "printlatexcmd" ) then printlatexcmd = cvalue
+elseif ( cvarname == "HTMLlatexcmd" ) then HTMLlatexcmd = cvalue
 elseif ( cvarname == "printindexcmd" ) then printindexcmd = cvalue
 elseif ( cvarname == "HTMLindexcmd" ) then HTMLindexcmd = cvalue
 elseif ( cvarname == "latexmkindexcmd" ) then latexmkindexcmd = cvalue
 elseif ( cvarname == "glossarycmd" ) then glossarycmd = cvalue
--- to be removed:
--- elseif ( cvarname == "indexprog" ) then
---     -- Verify choice of indexing program:
---     if (
---         (cvalue == "makeindex") or
---         (cvalue == "xindy")
---     ) then
---         indexprog = cvalue
---     else
---         cvalueerror ( line, linenum , cvalue )
---     end
--- elseif ( cvarname == "makeindexstyle" ) then makeindexstyle = cvalue
--- elseif ( cvarname == "xindylanguage" ) then xindylanguage = cvalue
--- elseif ( cvarname == "xindycodepage" ) then xindycodepage = cvalue
--- elseif ( cvarname == "xindystyle" ) then xindystyle = cvalue
 elseif ( cvarname == "pdftotextenc" ) then pdftotextenc = cvalue
 else
     print ("lwarpmk: ===")
@@ -3545,7 +3643,7 @@
 -- This could happen if a local copy of lwarp has recently been recompiled.
 if sourcename=="lwarp" then
     print ("lwarpmk: ===")
-    print ("lwarpmk: Lwarp has recently been recompiled in this directory,")
+    print ("lwarpmk: lwarp.sty has recently been recompiled in this directory,")
     print ("lwarpmk: and \"lwarpmk.conf\" is no longer set for your own project.")
     print ("lwarpmk: Recompile your own project using pdf/lua/xelatex <projectname>.")
     print ("lwarpmk: After a recompile, \"lwarpmk.conf\" will be set for your project,")
@@ -3580,9 +3678,33 @@
     cmdgroupclosename = ""
     seqname = " & "
     bgname = ""
-else print ( "lwarpmk: Select Unix or Windows for opsystem" )
+else
+    print ("lwarpmk: ===")
+    print ("lwarpmk: Select Unix or Windows for opsystem." )
+    print ("lwarpmk: ===")
+    os.exit(1)
 end --- for Windows
-
+-- Warning if the operating system does not appear to be correct,
+-- in case files were transferred to another system.
+if ( (package.config:sub(1,1)) ~= dirslash ) then
+    print ("lwarpmk: ===")
+    print ("lwarpmk: It appears that lwarpmk.conf is for a different operating system." )
+    print ("lwarpmk: To adjust lwarpmk.conf for the current operating system," )
+    print ("lwarpmk:   recompile the original document using xe/lua/pdflatex." )
+    print ("lwarpmk: ")
+    print ("lwarpmk: lwarpmk shall attempt to continue...")
+    print ("lwarpmk: ===")
+end
+-- Error if the configuration file's version is not current:
+if ( confversion ~= requiredconfversion ) then
+    print ("lwarpmk: ===")
+    print ("lwarpmk: The configuration files lwarpmk.conf and "..sourcename..".lwarpmkconf" )
+    print ("lwarpmk:   must be updated.  To update the configuration files," )
+    print ("lwarpmk:   recompile "..sourcename..".tex using xe/lua/pdflatex," )
+    print ("lwarpmk:   then use lwarpmk again.")
+    print ("lwarpmk: ===")
+    os.exit(1)
+end
 end -- loadconf
 
 function executecheckerror ( executecommands , errormessage )
@@ -3621,35 +3743,29 @@
 return false
 end
 
-function onetime (fsuffix)
+function onetime (latexcmd, fsuffix)
 --
 -- Compile one time, return true if should compile again.
 -- fsuffix is "" for print, "_html" for HTML output.
 --
-print("lwarpmk: Compiling with " .. latexname .. " " .. sourcename..fsuffix)
-local thisshellescape = " "
-if ( shellescape == "true" ) then
-    thisshellescape = " -shell-escape "
-else
-    thisshellescape = " "
-end
+print("lwarpmk: Compiling with: " .. latexcmd)
 executecheckerror (
-    latexname .. thisshellescape .. sourcename..fsuffix ,
+    latexcmd ,
     "Compile error."
 )
 return (reruntoget(sourcename .. fsuffix .. ".log") ) ;
 end
 
-function manytimes (fsuffix)
+function manytimes (latexcmd, fsuffix)
 --
 -- Compile up to five times.
 -- fsuffix is "" for print, "_html" for HTML output
 --
-if onetime(fsuffix) == true then
-if onetime(fsuffix) == true then
-if onetime(fsuffix) == true then
-if onetime(fsuffix) == true then
-if onetime(fsuffix) == true then
+if onetime(latexcmd, fsuffix) == true then
+if onetime(latexcmd, fsuffix) == true then
+if onetime(latexcmd, fsuffix) == true then
+if onetime(latexcmd, fsuffix) == true then
+if onetime(latexcmd, fsuffix) == true then
 end end end end end
 end
 
@@ -3681,7 +3797,7 @@
 function removeaux ()
 --
 -- Remove auxiliary files:
--- All aux files are removed since there may be many bbl*.aux files.
+-- All .aux files are removed since there may be many bbl*.aux files.
 --
 os.execute ( rmname .. " *.aux " ..
     sourcename ..".toc " .. sourcename .. "_html.toc " ..
@@ -3689,6 +3805,7 @@
     sourcename ..".lot " .. sourcename .. "_html.lot " ..
     " *.idx " ..
     " *.ind " ..
+    sourcename ..".ps " .. sourcename .."_html.ps " ..
     sourcename ..".log " .. sourcename .. "_html.log " ..
     sourcename ..".gl* " .. sourcename .. "_html.gl* " ..
     " *_html_inc.* "
@@ -3914,34 +4031,22 @@
 end -- pagezerowarning
 end -- function
 
-function compilelatexmk ( fsuffix )
+function convertepstopdf ()
 --
--- Use latexmk to compile source and index:
--- fsuffix is "" for print, or "_html" for HTML
+-- Converts EPS files to PDF files.
+-- The filenames are arg[argindex] and up.
+-- arg[1] is the command "pdftosvg".
 --
--- Maybe select the shell-escape option:
-local thisshellescape = " "
-if ( shellescape == "true" ) then
-    thisshellescape = " -shell-escape "
-else
-    thisshellescape = " "
-end
--- The recorder option is required to detect changes in <project>.tex
--- while we are loading <project>_html.tex.
-executecheckerror (
-    "latexmk -pdf -dvi- -ps- -recorder "
-    .. "-e "
-    .. opquote
-    .. "$makeindex = q/" -- $
-    .. latexmkindexcmd
-    .. " /"
-    .. opquote
-    .. " -pdflatex=\"" .. latexname .. thisshellescape .." %O %S\" "
-    .. sourcename..fsuffix ..".tex"
-    ,
-    "Compile error."
-)
-end -- function
+ignoreconf ()
+for i = argindex , #arg do
+    if (lfs.attributes(arg[i],"mode")==nil) then
+        print ("lwarpmk: File \"" .. arg[i] .. "\" does not exist.")
+    else
+        print ("lwarpmk: Converting \"" .. arg[i] .. "\"")
+        os.execute ( "epstopdf " .. arg[i] )
+    end -- if
+end -- do
+end --function
 
 function convertpdftosvg ()
 --
@@ -3949,6 +4054,7 @@
 -- The filenames are arg[argindex] and up.
 -- arg[1] is the command "pdftosvg".
 --
+ignoreconf ()
 for i = argindex , #arg do
     if (lfs.attributes(arg[i],"mode")==nil) then
         print ("lwarpmk: File \"" .. arg[i] .. "\" does not exist.")
@@ -3985,7 +4091,11 @@
 if arg[1] == "print" then
 loadconf ()
 if ( latexmk == "true" ) then
-    compilelatexmk ("")
+    print ("lwarpmk: Compiling with: " .. printlatexcmd)
+    executecheckerror (
+        printlatexcmd ,
+        "Compile error."
+    )
     print ("lwarpmk: Done.")
 else -- not latexmk
     verifyfileexists (sourcename .. ".tex") ;
@@ -3998,7 +4108,7 @@
         )
     ) then
         -- Recompile if not yet up to date:
-        manytimes("")
+        manytimes(printlatexcmd, "")
         print ("lwarpmk: Done.") ;
     else
         print ("lwarpmk: " .. sourcename .. ".pdf is up to date.") ;
@@ -4010,7 +4120,7 @@
 elseif arg[1] == "print1" then
     loadconf ()
     verifyfileexists (sourcename .. ".tex") ;
-    onetime("")
+    onetime(printlatexcmd, "")
     print ("lwarpmk: Done.") ;
 
 -- lwarpmk printindex:
@@ -4039,7 +4149,11 @@
 elseif arg[1] == "html" then
 loadconf ()
 if ( latexmk == "true" ) then
-    compilelatexmk ("_html")
+    print ("lwarpmk: Compiling with: " .. HTMLlatexcmd)
+    executecheckerror (
+        HTMLlatexcmd ,
+        "Compile error."
+    )
     pdftohtml ()
     print ("lwarpmk: Done.")
 else -- not latexmk
@@ -4053,7 +4167,7 @@
         )
     ) then
         -- Recompile if not yet up to date:
-        manytimes("_html")
+        manytimes(HTMLlatexcmd, "_html")
         pdftohtml ()
         print ("lwarpmk: Done.")
     else
@@ -4066,7 +4180,7 @@
 elseif arg[1] == "html1" then
     loadconf ()
     verifyfileexists ( sourcename .. ".tex" ) ;
-    onetime("_html")
+    onetime(HTMLlatexcmd, "_html")
     pdftohtml ()
     print ("lwarpmk: Done.")
 
@@ -4122,7 +4236,7 @@
 
 -- lwarpmk cleanall
 -- Remove project.aux, .toc, .lof, .lot, .log, *.idx, *.ind, *_html_inc.*, .gl*
---    and also project.pdf, *.html
+--    and also project.pdf, project.dvi, *.html
 
 elseif arg[1] == "cleanall" then
 loadconf ()
@@ -4129,6 +4243,7 @@
 removeaux ()
 os.execute ( rmname .. " " ..
     sourcename .. ".pdf " .. sourcename .. "_html.pdf " ..
+    sourcename .. ".dvi " .. sourcename .. "_html.dvi " ..
     "*.html"
     )
 print ("lwarpmk: Done.")
@@ -4141,8 +4256,14 @@
 os.execute ( rmname .. " lateximages/*" )
 print ("lwarpmk: Done.")
 
+-- lwarpmk epstopdf <list of file names>
+-- Convert EPS files to PDF using epstopdf
+elseif arg[1] == "epstopdf" then
+convertepstopdf ()
+print ("lwarpmk: Done.")
+
 -- lwarpmk pdftosvg <list of file names>
--- Convert PDf files to SVG using pdftocairo
+-- Convert PDF files to SVG using pdftocairo
 elseif arg[1] == "pdftosvg" then
 convertpdftosvg ()
 print ("lwarpmk: Done.")
@@ -5313,7 +5434,7 @@
 \newcommand{\LWR at customizeMathJax}{%
 \ifbool{mathjax}{
 \LWR at stoppars
-\LWR at htmlcomment{Nullify \textbackslash{}ensuremath for MathJax:}
+\LWR at htmlcomment{Nullify \textbackslash{}ensuremath, footnotes for MathJax:}
 
 \(\newcommand\ensuremath[1]{##1}\)
 
@@ -8955,33 +9076,37 @@
 
 \AtBeginDocument{
 
-\IfFileExists{lwarp_baseline_marker.png}%
+\ifpdf
+    \newcommand*{\LWR at baselinename}{lwarp_baseline_marker.png}
+\else
+    \ifXeTeX
+        \newcommand*{\LWR at baselinename}{lwarp_baseline_marker.png}
+    \else
+        \newcommand*{\LWR at baselinename}{lwarp_baseline_marker.eps}
+    \fi
+\fi
+
+\IfFileExists{\LWR at baselinename}%
 {
     \@ifpackageloaded{graphicx}{
         \newcommand*{\LWR at addbaselinemarker}{%
-            \LWR at origincludegraphics[%
-                width=10sp,height=10sp%
-            ]{lwarp_baseline_marker.png}%
+            \LWR at origincludegraphics{\LWR at baselinename}%
         }
     }{
         \@ifpackageloaded{graphics}{
             \newcommand*{\LWR at addbaselinemarker}{%
-                \LWR at origincludegraphics{lwarp_baseline_marker.png}%
+                \LWR at origincludegraphics{\LWR at baselinename}%
             }
         }{
             \PackageWarning{lwarp}{Load graphicx or graphics
                 for improved SVG math baselines,}
-            \newcommand*{\LWR at addbaselinemarker}{%
-                \hspace*{10sp}%
-            }
+            \newcommand*{\LWR at addbaselinemarker}{}
         }
     }
-}{% lwarp_baseline_marker.png not present
-    \PackageWarning{lwarp}{File lwarp_baseline_marker.png is not installed alongside
+}{% lwarp_baseline_marker.png or .eps is not present
+    \PackageWarning{lwarp}{File \LWR at baselinename\space is not installed alongside
         the lwarp-*.sty files, so SVG math baselines may not be accurate,}
-    \newcommand*{\LWR at addbaselinemarker}{%
-        \hspace*{10sp}%
-    }
+    \newcommand*{\LWR at addbaselinemarker}{}
 }
 
 }% AtBeginDocument
@@ -9041,7 +9166,6 @@
     \fi%
     \global\sbox{\LWR at singledollarbox}{%
         \usebox{\LWR at singledollarbox}%
-        \hspace*{-10sp}%
         \raisebox{-\dp\LWR at singledollarbox}{%
             \LWR at addbaselinemarker%
         }%
@@ -9124,9 +9248,7 @@
         }%
     }%
     \LWR at addbaselinemarker%
-    \hspace*{-10sp}%
     \usebox{\LWR at singledollarbox}%
-    \hspace*{-10sp}%
     \LWR at addbaselinemarker%
     \end{lateximage}%
 }% not mathjax
@@ -9195,13 +9317,16 @@
 }% not mathjax
 }
 
+\AtBeginDocument{
 \protected\gdef\(#1\){$#1$}
 \protected\gdef\[#1\]{$$#1$$}
+}
 
 \endgroup
-
+\AtBeginDocument{
 \LetLtxMacro\LWR at openbracketnormal\[
 \LetLtxMacro\LWR at closebracketnormal\]
+}
 
 \LetLtxMacro\LWR at origensuredmath\@ensuredmath
 
@@ -9314,10 +9439,12 @@
 \LWR at orignewline
 }
 
+\AtBeginDocument{
 \let\LWR at origequation\equation
 \let\LWR at origendequation\endequation
 \csletcs{LWR at origequation*}{equation*}
 \csletcs{LWR at origendequation*}{endequation*}
+}
 \newcommand*{\LWR at doequation}[2]{%
 
 \ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
@@ -9361,18 +9488,23 @@
 
 }
 
+\AtBeginDocument{
 \let\equation\relax
 \let\endequation\relax
 \csletcs{equation*}{relax}
 \csletcs{endequation*}{relax}
+}
 
+\AtBeginDocument{
 \NewEnviron{equation}%
 {\LWR at doequation{\BODY}{equation}}%
 [\LWR at doendequation{equation}]
 
 \LetLtxMacro\LWR at equationnormal\equation
-\LetLtxMacro\LWR at endequationnormal\endequation
+\LetLtxMacro\endLWR at equationnormal\endequation
+}
 
+\AtBeginDocument{
 \NewEnviron{equation*}%
 {\LWR at doequation{\BODY}{equation*}}%
 [\LWR at doendequation{equation*}]
@@ -9379,11 +9511,14 @@
 
 \csletcs{LWR at equationnormalstar}{equation*}
 \csletcs{LWR at endequationnormalstar}{endequation*}
+}
 
+\AtBeginDocument{
 \LetLtxMacro\LWR at equationless\equation
-\LetLtxMacro\LWR at endequationless\endequation
+\LetLtxMacro\endLWR at equationless\endequation
 \csletcs{LWR at equationlessstar}{equation*}
 \csletcs{LWR at endequationlessstar}{endequation*}
+}
 
 \newcommand*{\displaymathnormal}{%
 \ifbool{LWR at origmathjax}{\booltrue{mathjax}}{\boolfalse{mathjax}}%
@@ -9392,7 +9527,7 @@
 \LetLtxMacro\displaymath\LWR at displaymathnormal%
 \LetLtxMacro\enddisplaymath\endLWR at displaymathnormal%
 \LetLtxMacro\equation\LWR at equationnormal%
-\LetLtxMacro\endequation\LWR at endequationnormal%
+\LetLtxMacro\endequation\endLWR at equationnormal%
 \csletcs{equation*}{LWR at equationnormalstar}%
 \csletcs{endequation*}{LWR at endequationnormalstar}%
 }
@@ -9515,279 +9650,6 @@
 
 }
 \csgpreto{eqnarray*}{\boolfalse{LWR at numbereqnarray}}
-\BeforeBeginEnvironment{multline}{
-
-\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
-{
-    \LWR at syncmathjax
-    \booltrue{LWR at amsmultline}
-    \LWR at beginhideamsmath
-}
-{
-    \begin{BlockClass}{displaymathnumbered}
-    \LWR at newautoidanchor%
-    \booltrue{LWR at indisplaymathimage}%
-    \begin{lateximage}[\LWR at amsmathbodynumbered{multline}]
-}
-}
-
-\AfterEndEnvironment{multline}{
-
-\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
-{
-    \LWR at endhideamsmath
-    \boolfalse{LWR at amsmultline}
-    \LWR at addmathjax{multline}{\the\@envbody}
-}
-{\end{lateximage}\end{BlockClass}}
-
-}
-
-\BeforeBeginEnvironment{multline*}{
-
-\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
-{
-    \LWR at syncmathjax
-    \booltrue{LWR at amsmultline}
-    \LWR at beginhideamsmath
-}
-{
-    \begin{BlockClass}{displaymath}
-    \LWR at newautoidanchor
-    \booltrue{LWR at indisplaymathimage}%
-    \begin{lateximage}[\LWR at amsmathbody{multline*}]
-}
-}
-
-\AfterEndEnvironment{multline*}{
-
-\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
-{
-    \LWR at endhideamsmath
-    \boolfalse{LWR at amsmultline}
-    \LWR at addmathjax{multline*}{\the\@envbody}
-}
-{\end{lateximage}\end{BlockClass}}
-
-}
-
-
-\BeforeBeginEnvironment{gather}{
-
-\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
-{
-    \LWR at syncmathjax
-    \boolfalse{LWR at amsmultline}
-    \LWR at beginhideamsmath
-}
-{
-    \begin{BlockClass}{displaymathnumbered}
-    \LWR at newautoidanchor%
-    \booltrue{LWR at indisplaymathimage}%
-    \begin{lateximage}[\LWR at amsmathbodynumbered{gather}]
-}
-}
-
-\AfterEndEnvironment{gather}{
-
-\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
-{
-    \LWR at endhideamsmath
-    \LWR at addmathjax{gather}{\the\@envbody}
-}
-{\end{lateximage}\end{BlockClass}}
-
-}
-
-\BeforeBeginEnvironment{gather*}{
-
-\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
-{
-    \LWR at syncmathjax
-    \boolfalse{LWR at amsmultline}
-    \LWR at beginhideamsmath
-}
-{
-    \begin{BlockClass}{displaymath}
-    \LWR at newautoidanchor%
-    \booltrue{LWR at indisplaymathimage}%
-    \begin{lateximage}[\LWR at amsmathbody{gather*}]
-}
-}
-
-\AfterEndEnvironment{gather*}{
-
-\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
-{
-    \LWR at endhideamsmath
-    \LWR at addmathjax{gather*}{\the\@envbody}
-}
-{\end{lateximage}\end{BlockClass}}
-
-}
-
-\BeforeBeginEnvironment{align}{
-
-\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
-{
-    \LWR at syncmathjax
-    \boolfalse{LWR at amsmultline}
-    \LWR at beginhideamsmath
-}
-{
-    \begin{BlockClass}{displaymathnumbered}
-    \LWR at newautoidanchor%
-    \booltrue{LWR at indisplaymathimage}%
-    \begin{lateximage}[\LWR at amsmathbodynumbered{align}]
-}
-}
-
-\AfterEndEnvironment{align}{
-
-\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
-{
-    \LWR at endhideamsmath
-    \LWR at addmathjax{align}{\the\@envbody}
-}
-{\end{lateximage}\end{BlockClass}}
-
-}
-
-\BeforeBeginEnvironment{align*}{
-
-\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
-{
-    \LWR at syncmathjax
-    \boolfalse{LWR at amsmultline}
-    \LWR at beginhideamsmath
-}
-{
-    \begin{BlockClass}{displaymath}
-    \LWR at newautoidanchor%
-    \booltrue{LWR at indisplaymathimage}%
-    \begin{lateximage}[\LWR at amsmathbody{align*}]
-}
-}
-
-\AfterEndEnvironment{align*}{
-
-\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
-{
-    \LWR at endhideamsmath
-    \LWR at addmathjax{align*}{\the\@envbody}
-}
-{\end{lateximage}\end{BlockClass}}
-
-}
-
-\BeforeBeginEnvironment{flalign}{
-
-\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
-{
-    \LWR at syncmathjax
-    \boolfalse{LWR at amsmultline}
-    \LWR at beginhideamsmath
-}
-{
-    \begin{BlockClass}{displaymathnumbered}
-    \LWR at newautoidanchor%
-    \booltrue{LWR at indisplaymathimage}%
-    \begin{lateximage}[\LWR at amsmathbodynumbered{flalign}]
-}
-}
-
-\AfterEndEnvironment{flalign}{
-
-\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
-{
-    \LWR at endhideamsmath
-    \LWR at addmathjax{flalign}{\the\@envbody}
-}
-{\end{lateximage}\end{BlockClass}}
-
-}
-
-\BeforeBeginEnvironment{flalign*}{
-
-\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
-{
-    \LWR at syncmathjax
-    \boolfalse{LWR at amsmultline}
-    \LWR at beginhideamsmath
-}
-{
-    \begin{BlockClass}{displaymath}
-    \LWR at newautoidanchor%
-    \booltrue{LWR at indisplaymathimage}%
-    \begin{lateximage}[\LWR at amsmathbody{flalign*}]
-}
-}
-
-\AfterEndEnvironment{flalign*}{
-
-\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
-{
-    \LWR at endhideamsmath
-    \LWR at addmathjax{flalign*}{\the\@envbody}
-}
-{\end{lateximage}\end{BlockClass}}
-
-}
-
-\BeforeBeginEnvironment{alignat}{
-
-\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
-{
-    \LWR at syncmathjax
-    \boolfalse{LWR at amsmultline}
-    \LWR at beginhideamsmath
-}
-{
-    \begin{BlockClass}{displaymathnumbered}
-    \LWR at newautoidanchor%
-    \booltrue{LWR at indisplaymathimage}%
-    \begin{lateximage}[\LWR at amsmathbodynumbered{alignat}]
-}
-}
-
-\AfterEndEnvironment{alignat}{
-
-\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
-{
-    \LWR at endhideamsmath
-    \LWR at addmathjax{alignat}{\the\@envbody}
-}
-{\end{lateximage}\end{BlockClass}}
-
-}
-
-\BeforeBeginEnvironment{alignat*}{
-
-\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
-{
-    \LWR at syncmathjax
-    \boolfalse{LWR at amsmultline}
-    \LWR at beginhideamsmath
-}
-{
-    \begin{BlockClass}{displaymath}
-    \LWR at newautoidanchor%
-    \booltrue{LWR at indisplaymathimage}%
-    \begin{lateximage}[\LWR at amsmathbody{alignat*}]
-}
-}
-
-\AfterEndEnvironment{alignat*}{
-
-\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
-{
-    \LWR at endhideamsmath
-    \LWR at addmathjax{alignat*}{\the\@envbody}
-}
-{\end{lateximage}\end{BlockClass}}
-
-}
-
 \end{warpHTML}
 
 \begin{warpHTML}
@@ -9881,19 +9743,6 @@
 \xdef\LWR at equationtag{#1}%
 }%
 
-\LetLtxMacro\LWR at origmake@df at tag@@\make at df@tag@@
-\LetLtxMacro\LWR at origmake@df at tag@@@\make at df@tag@@@
-
-\renewcommand*{\make at df@tag@@}[1]{%
-\LWR at remembertag{#1}%
-\LWR at origmake@df at tag@@{#1}%
-}
-
-\renewcommand*{\make at df@tag@@@}[1]{%
-\LWR at remembertag{#1}%
-\LWR at origmake@df at tag@@@{#1}%
-}
-
 }% not mathjax
 }% AtBeginDocument
 
@@ -10106,18 +9955,13 @@
 \end{warpHTML}
 
 \begin{warpHTML}
-\@ifpackageloaded{textcomp}
-{
-\LWR at origRequirePackage{lwarp-textcomp}
-}
-{}
+\@ifpackageloaded{textcomp}{\LWR at origRequirePackage{lwarp-textcomp}}{}
 
-\@ifpackageloaded{graphics}
-{
-\LWR at origRequirePackage{lwarp-graphics}
-}
-{}
+\@ifpackageloaded{xunicode}{\LWR at origRequirePackage{lwarp-xunicode}}{}
 
+\@ifpackageloaded{graphics}{\LWR at origRequirePackage{lwarp-graphics}}{}
+\@ifpackageloaded{graphicx}{\LWR at origRequirePackage{lwarp-graphicx}}{}
+
 \end{warpHTML}
 
 
@@ -10385,7 +10229,7 @@
 
 \begin{warpHTML}
 
-\BeforeBeginEnvironment{picture}{\begin{lateximage}}
+\BeforeBeginEnvironment{picture}{\begin{lateximage}[(picture)]}
 
 \AfterEndEnvironment{picture}{\end{lateximage}}
 

Added: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp_baseline_marker.eps
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp_baseline_marker.eps	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp_baseline_marker.eps	2018-09-07 21:00:41 UTC (rev 48617)
@@ -0,0 +1,32 @@
+%!PS-Adobe-3.0 EPSF-3.0
+%%Creator: GIMP PostScript file plugin V 1.17 by Peter Kirchgessner
+%%Title: lwarp_baseline_marker.eps
+%%CreationDate: Sun Sep  2 17:10:42 2018
+%%DocumentData: Clean7Bit
+%%LanguageLevel: 2
+%%Pages: 1
+%%BoundingBox: 0 0 1 1
+%%EndComments
+%%BeginProlog
+% Use own dictionary to avoid conflicts
+10 dict begin
+%%EndProlog
+%%Page: 1 1
+% Translate for offset
+0 0 translate
+% Translate to begin of first scanline
+0 0.22677165354330711 translate
+0.22677165354330711 -0.22677165354330711 scale
+% Image geometry
+1 1 8
+% Transformation matrix
+[ 1 0 0 1 0 0 ]
+currentfile /ASCII85Decode filter /RunLengthDecode filter
+%%BeginData:           13 ASCII Bytes
+image
+!<%E~>
+%%EndData
+showpage
+%%Trailer
+end
+%%EOF



More information about the tex-live-commits mailing list