texlive[48904] trunk: lwarp (13oct18)

commits+karl at tug.org commits+karl at tug.org
Sat Oct 13 23:03:22 CEST 2018


Revision: 48904
          http://tug.org/svn/texlive?view=revision&revision=48904
Author:   karl
Date:     2018-10-13 23:03:22 +0200 (Sat, 13 Oct 2018)
Log Message:
-----------
lwarp (13oct18)

Modified Paths:
--------------
    trunk/Build/source/texk/texlive/linked_scripts/lwarp/lwarpmk.lua
    trunk/Master/texmf-dist/doc/latex/lwarp/README.txt
    trunk/Master/texmf-dist/doc/latex/lwarp/lwarp.pdf
    trunk/Master/texmf-dist/doc/latex/lwarp/lwarp_tutorial.txt
    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-graphics.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-patch-memoir.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-preview.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-register.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-supertabular.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-textcomp.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-xpiano.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-xtab.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp.sty

Added Paths:
-----------
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-chkfloat.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-cmdtrack.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-copyrightbox.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-dprogress.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-epsfig.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-lua-visual-debug.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-pdfprivacy.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-psfrag.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-psfragx.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-pstool.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-refcheck.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-srcltx.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-srctex.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-thinsp.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-threadcol.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-uspace.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-vpe.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-xbmks.sty

Removed Paths:
-------------
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-twoup-gen.sty

Modified: trunk/Build/source/texk/texlive/linked_scripts/lwarp/lwarpmk.lua
===================================================================
--- trunk/Build/source/texk/texlive/linked_scripts/lwarp/lwarpmk.lua	2018-10-13 21:02:42 UTC (rev 48903)
+++ trunk/Build/source/texk/texlive/linked_scripts/lwarp/lwarpmk.lua	2018-10-13 21:03:22 UTC (rev 48904)
@@ -2,7 +2,7 @@
 
 -- Copyright 2016-2018 Brian Dunn
 
-printversion = "v0.60"
+printversion = "v0.61"
 requiredconfversion = "1" -- also at *lwarpmk.conf
 
 function printhelp ()

Modified: trunk/Master/texmf-dist/doc/latex/lwarp/README.txt
===================================================================
--- trunk/Master/texmf-dist/doc/latex/lwarp/README.txt	2018-10-13 21:02:42 UTC (rev 48903)
+++ trunk/Master/texmf-dist/doc/latex/lwarp/README.txt	2018-10-13 21:03:22 UTC (rev 48904)
@@ -1,5 +1,5 @@
 
-LaTeX lwarp package v0.60   README.txt
+LaTeX lwarp package v0.61   README.txt
 
 Files included are:
 

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

Modified: trunk/Master/texmf-dist/doc/latex/lwarp/lwarp_tutorial.txt
===================================================================
--- trunk/Master/texmf-dist/doc/latex/lwarp/lwarp_tutorial.txt	2018-10-13 21:02:42 UTC (rev 48903)
+++ trunk/Master/texmf-dist/doc/latex/lwarp/lwarp_tutorial.txt	2018-10-13 21:03:22 UTC (rev 48904)
@@ -8,7 +8,7 @@
 % --- LOAD FONT SELECTION AND ENCODING BEFORE LOADING LWARP ---
 
 \ifPDFTeX
-\usepackage{lmodern}            % pdflatex
+\usepackage{lmodern}            % pdflatex or dvi latex
 \usepackage[T1]{fontenc}
 \usepackage[utf8]{inputenc}
 \else

Modified: trunk/Master/texmf-dist/scripts/lwarp/lwarpmk.lua
===================================================================
--- trunk/Master/texmf-dist/scripts/lwarp/lwarpmk.lua	2018-10-13 21:02:42 UTC (rev 48903)
+++ trunk/Master/texmf-dist/scripts/lwarp/lwarpmk.lua	2018-10-13 21:03:22 UTC (rev 48904)
@@ -2,7 +2,7 @@
 
 -- Copyright 2016-2018 Brian Dunn
 
-printversion = "v0.60"
+printversion = "v0.61"
 requiredconfversion = "1" -- also at *lwarpmk.conf
 
 function printhelp ()

Modified: trunk/Master/texmf-dist/source/latex/lwarp/lwarp.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/lwarp/lwarp.dtx	2018-10-13 21:02:42 UTC (rev 48903)
+++ trunk/Master/texmf-dist/source/latex/lwarp/lwarp.dtx	2018-10-13 21:03:22 UTC (rev 48904)
@@ -16,7 +16,7 @@
 % \iffalse
 %<package>\NeedsTeXFormat{LaTeX2e}[1999/12/01]
 %<package>\ProvidesPackage{lwarp}
-%<package>    [2018/09/19 v0.60  Allows LaTeX to directly produce HTML5 output.]
+%<package>    [2018/10/13 v0.61  Allows LaTeX to directly produce HTML5 output.]
 %
 %<*driver>
 \documentclass{ltxdoc}
@@ -219,6 +219,19 @@
 \makeatother
 
 
+\usepackage{splitidx}
+
+\newindex[Index of Objects]{idx}
+\newindex[General Index]{gen}
+\newindex[Troubleshooting Index]{trb}
+\newindex[Index of Indexes]{meta}
+
+\makeindex
+
+\newcommand*{\gindex}[1]{\sindex[gen]{#1}}
+
+
+
 \usepackage{microtype}
 
 \usepackage[all,defaultlines=2]{nowidow}
@@ -322,6 +335,7 @@
 \newcommand{\codehtml}{\leavevmode\marginpar{\footnotesize\raggedleft\textcolor{codecolor}{\textbf{for HTML output:~}}}\vspace{-5.25ex}}
 \newcommand{\codeprint}{\leavevmode\marginpar{\footnotesize\raggedleft\textcolor{codecolor}{\textbf{for PRINT output:~}}}\vspace{-5.25ex}}
 \newcommand{\codeall}{\leavevmode\marginpar{\footnotesize\raggedleft\textcolor{codecolor}{\textbf{for HTML \& PRINT:~}}}\vspace{-5.25ex}}
+\newcommand{\codeconfig}{\leavevmode\marginpar{\footnotesize\raggedleft\textcolor{codecolor}{\textbf{Config file:~}}}\vspace{-5.25ex}}
 
 \newcommand*{\testthis}{\textcolor{blue}{Please send bug reports!}\watchout[Not fully tested!]}
 
@@ -398,6 +412,16 @@
 % }
 
 
+% \trouble[watchout phrase]{index entry}
+\newcommand*{\trouble}[2][]{%
+\ifblank{#1}{}{%
+    \watchout[#1]%
+}%
+\sindex[trb]{#2}%
+\ignorespaces%
+}
+
+
 % The following text is used in multiple places in the documentation:
 
 \newcommand{\needhelp}{
@@ -454,7 +478,7 @@
 \newcommand{\describemathimagename}{%
 When creating an \SVG\ math image, its \attribute{alt} tag may be set
 to the math expression, which may be hashed for image reuse.
-In the case of \cs{ensuremath} or after \cs{StartDynamicMath},
+In the case of \cs{ensuremath} or after \cs{inlinemathother},
 where the contents require a unique image for each instance of the same expression,
 the \attribute{alt} tag is set to \cs{mathimagename}, and the image is not reused.
 
@@ -479,8 +503,10 @@
 where it will affect the following \env{lateximage}s.
 }
 
-\newcommand{\limitscpageref}{\pkg{cleveref} and \pkg{varioref} are supported,
-\watchout[\pkg{cleveref} page numbers]
+\newcommand{\limitscpageref}{%
+\pkg{cleveref} and \pkg{varioref} are supported,
+\trouble[\pkg{cleveref} page numbers]{page numbers}
+\trouble{reference>page number}
 but printed page numbers do not map to \HTML,
 so a section name or a text phrase
 are used for \cs{cpageref} and \cs{cpagerefrange}.
@@ -504,7 +530,7 @@
 but does not require that \pkg{hyperref} be loaded by the document.
 
 Do not place a comment with a \texttt{\%} character between arguments
-\watchout[\texttt{\%}]
+\trouble[comments between arguments]{hyperref=\pkg{hyperref}>comments between arguments}
 for \cs{hyperref}, etc., as it is neutralized for inclusion in \HTML\ \acro{URL}s.
 
 \pkg{lwarp} can also load \pkg{url}, but \pkg{url} should not be used at the
@@ -513,13 +539,14 @@
 during \HTML\ output, nor does \pkg{url} create hyperlinks during print output.
 
 When generating \HTML, \pkg{lwarp}'s emulation of \pkg{hyperref} does not
-\watchout[backref]
+\trouble[\pkg{backref}]{hyperref=\pkg{hyperref}>backref=\pkg{backref}}
+\trouble{backref=\pkg{backref}}
 automatically load \pkg{backref}, so \pkg{backref} must be loaded explicitly.
 }
 
 \newcommand{\limitsabstract}{%
 If using the \optn{number} option with file splits,
-\watchout[missing \acro{TOC}]
+\trouble[missing \acro{TOC}]{abstract>missing \acro{TOC}}
 be sure to place the table of contents before the abstract.
 The \optn{number} option causes a section break which
 may cause a file split, which would put a table of contents out
@@ -530,7 +557,8 @@
 \pkg{lwarp} supports the native \LaTeX\ titling commands, and also
 \margintag{package support}
 supports the packages \pkg{authblk} and \pkg{titling}.  If both are
-\watchout[load order]
+\trouble[load order]{authblk=\pkg{authblk}>titling=\pkg{titling}}
+\trouble{titling=\pkg{titling}>authblk=\pkg{authblk}}
 used, \pkg{authblk} should be loaded before \pkg{titling}.
 
 If using the \pkg{titling} package, additional titlepage fields
@@ -542,7 +570,7 @@
 
 \newcommand{\limitsappendix}{%
 During \HTML\ conversion, the option \optn{toc} without
-\watchout[incorrect \acro{TOC} link]
+\trouble[incorrect \acro{TOC} link]{appendix>incorrect \acro{TOC} link}
 the option \optn{page} results in a \acro{TOC} link to
 whichever section was before the \texttt{appendices} environment.
 It is recommended to use both \texttt{toc} and also \texttt{page} at the same time.
@@ -577,6 +605,10 @@
 \newcommand{\limitsbibtex}{%
 When enough authors are cited for a source,
 \watchout[Modify *.bib]
+\trouble{Improper \cs{prevdepth}>bibtex=\pkg{bibtex}}
+\trouble{bibtex=\pkg{bibtex}>Improper \cs{prevdepth}}
+\trouble{bibtex=\pkg{bibtex}>\cs{etalchar}}
+\trouble{etalchar=\cs{etalchar}}
 \BibTeX\ may use the \cs{etalchar} command
 to display a math superscript with a $+$ character to indicate ``and others''.
 Without modification, this will result in an ``Improper \cs{prevdepth}'' error.
@@ -602,7 +634,8 @@
 The print or \HTML\ glossary filename is appended to this command.
 
 In some situations it may be required to modify the default command,
-\watchout[\cmds{makeglossaries} not found]
+\trouble[\cmds{makeglossaries} not found]{makeglossaries=\prog{makeglossaries}>not found}
+\trouble{glossaries=\pkg{glossaries}>makeglossaries=\prog{makeglossaries} not found}
 such as to add the \cmds{perl} command in front:
 \begin{sourcedisplay}
 \cs{usepackage}[ \\
@@ -648,11 +681,11 @@
 \end{description}
 
 The default \optn{style=item} option for \pkg{glossaries} conflicts
-\watchout[glossary style]
+\trouble[glossary style]{glossaries=\pkg{glossaries}>style}
 with \pkg{lwarp}, so the style is forced to \texttt{index} instead.
 
 The page number list in the printed form would become \cs{nameref}s in \HTML,
-\watchout[number list]
+\trouble[number list]{glossaries=\pkg{glossaries}>page numbers}
 which could become a very long string if many items are referenced.
 For now, the number list is simply turned off.
 
@@ -667,8 +700,8 @@
 \newcommand{\limitstocbibind}{%
 An index may be placed inline with other \HTML\ text, or on its own \HTML\ page:
 \margintag{placement and \acro{TOC} options}
-\index{index>placement and \acro{TOC} options}
-\index{index>table of contents}
+\gindex{index>placement and \acro{TOC} options}
+\gindex{index>table of contents}
 
 \begin{description}
 
@@ -737,7 +770,7 @@
 \cmds{lwarpmk printindex} and \cmds{lwarpmk htmlindex} will still be required.
 
 When using \cs{AtWriteToIndex} or \cs{AtNextWriteToIndex}, the user must not
-\watchout[\cs{thepage}]
+\trouble[\cs{thepage}]{splitidx=\pkg{splitidx}>\cs{thepage} and \cs{AtWriteToIndex}}
 refer to \cs{thepage} during \HTML\ output, as the concept of a page number is
 meaningless.  Instead, do
 \begin{sourcedisplay}
@@ -755,7 +788,7 @@
 \newcommand{\limitsimakeidx}{%
 When using \prog{makeindex}, to match the print and \HTML\ output's
 \margintag{letter headings}
-\index{index>letter headings}
+\gindex{index>letter headings}
 display of index letter headings, specify the \filenm{lwarp.ist} style:
 \begin{sourcedisplay}
 \cs{makeindex}[options=\{-s lwarp.ist\}]
@@ -772,7 +805,7 @@
 \newcommand{\limitstocloft}{%
 If using \pkg{tocloft} with \pkg{tocbibind}, \pkg{anonchap},
 \DescribePackage{tocloft}
-\watchout[\pkg{tocloft} \& other packages]
+\trouble[\pkg{tocloft} \& other packages]{tocloft=\pkg{tocloft}>chapter titles}
 \pkg{fncychap}, or other packages which change chapter title formatting,
 load \pkg{tocloft} with its \optn{titles} option, which
 tells \pkg{tocloft} to use standard \LaTeX\ commands to create the titles,
@@ -804,22 +837,37 @@
 
 \newcommand{\limitstext}{%
 \cs{textbf}, etc.\ are supported,
-\watchout[\cs{bfseries}, etc.]
+\trouble[\cs{bfseries}, etc.]{text>\cs{bfseries} etc.}
+\trouble{formatting>\cs{bfseries} etc.}
 but \cs{bfseries}, etc.\ work only in some situations.
 
 \texttt{\&}, \texttt{\textless}, and \texttt{\textgreater}
-\watchout[HTML special chars]
+\trouble[HTML special chars]{HTML>entities}
+\trouble{HTML>\&, \textless, \textgreater}
+\trouble{text>\&, \textless, \textgreater}
 have special meanings in \HTML.
-If \cs{\&}, \cs{textless}, and \cs{textgreater} are used, the proper result
-should occur in \HTML, but there may be \HTML\ parsing problems
+If \cs{\&}, \cs{textless}, and \cs{textgreater} are used, proper
+\HTML\ entities will be used, but there may be \HTML\ parsing problems
 if these special characters occur unescaped in program listings
 or other verbatim text.
+
+For program listings, the \pkg{listings} package is supported,
+\margintag{program listings}
+and its \optn{literate} option is used to convert
+\texttt{\&}, \texttt{\textless}, and \texttt{\textgreater}
+to proper \HTML\ entities.
+
+The various \env{verbatim}-related environments do not convert
+\texttt{\&}, \texttt{\textless}, and \texttt{\textgreater},
+\margintag{verbatim}
+so care must be taken to avoid accidentally including valid \HTML\ code inside
+these environments.  Adding a space on either side may be sufficient.
 }
 
 \newcommand{\limitshspace}{%
 \DescribeMacro{\hspace}%
-\index{space>horizontal}%
-\index{horizontal space}%
+\gindex{space>horizontal}%
+\gindex{horizontal space}%
 \cs{hspace} is converted to an inline \HTML\ span of the given width,
 except that \texttt{0} width is ignored,
 a width of \texttt{.16667em} is converted to
@@ -826,7 +874,8 @@
 an \HTML\ thin breakable space (\texttt{U+2009}),
 and a \cs{fill} is converted to a \cs{qquad}.
 
-\index{\texttt{\textasciitilde}}%
+\gindex{\texttt{\textasciitilde}}%
+\gindex{\cs{,}}%
 \DescribeMacro{\,}%
 \texttt{\~} and \cs{,} are converted to \HTML\ entities.
 
@@ -841,8 +890,9 @@
 are not supported.
 
 Many \pkg{textcomp} symbols are not supported by many fonts.
-\watchout[missing symbols]
-Try using more complete fonts in the \CSS, but expect to see gaps in coverage.
+\trouble[missing symbols]{textcomp=\pkg{textcomp}>missing symbols}
+\trouble{font>missing symbols}
+In the CSS try referencing fonts which are more complete, but expect to see gaps in coverage.
 }
 
 \newcommand{\limitsaccents}{%
@@ -851,7 +901,7 @@
 }
 
 \newcommand{\limitsrelsize}{%
-For \HTML\, only the inline macros are supported: \cs{textlarger}, \cs{textsmaller}, and
+For \HTML, only the inline macros are supported: \cs{textlarger}, \cs{textsmaller}, and
 \cs{textscale}.  Each becomes an inline span of a modified \attribute{font-size}.
 
 \cs{relsize}, \cs{larger}, \cs{smaller}, and \cs{relscale} are ignored.
@@ -867,21 +917,24 @@
 \newcommand{\limitsreferences}{%
 Labels with special characters may be a problem.
 \margintag{labels}
+\trouble[label characters]{label>characters}
+\trouble{reference>label characters}
 It is best to stick with alpha-numeric, hyphen, underscore, and perhaps the colon (if not French).
-\watchout[underscores]
 
 \cs{nameref} refers to the most recently-used section where the \cs{label}
 \margintag{\cs{nameref}}
 was defined.
 If no section has been defined before the \cs{label},
-\watchout[empty link]
+\trouble[empty link]{label>\cs{nameref} empty}
 the link will be empty.
 Index entries also use \cs{nameref} and have the same limitation.
+\trouble{index>empty link}
+\trouble{reference>empty link}
 }
 
 \newcommand{\limitspfnote}{
 While emulating \pkg{pfnote}, \pkg{lwarp} is not able to reset \HTML\ footnote
-\watchout[\pkg{pfnote} numbers]
+\trouble[\pkg{pfnote} numbers]{pfnote=\pkg{pfnote}>numbering}
 numbers per page number to match the printed version,
 as \HTML\ has no concept of page numbers.
 \pkg{lwarp} therefore uses continuous footnote numbering even for \pkg{pfnote}.
@@ -893,7 +946,8 @@
 
 The \pkg{footmisc} \optn{stable} option is emulated by \pkg{lwarp}.
 
-When using footnotes in sectioning commands, \watchout[sectioning commands]
+When using footnotes in sectioning commands,
+\trouble[sectioning commands]{footnote>sectioning, \pkg{footmisc}}
 to generate consistent results between print and \HTML, use
 the \pkg{footmisc} package with the \optn{stable} option,
 provide a short \TOC\ entry, and \cs{protect} the \cs{footnote}:
@@ -905,6 +959,7 @@
 \end{sourcedisplay}
 If using \pkg{memoir} class, with which \pkg{lwarp} preloads \pkg{footmisc}, the
 \optn{stable} option must be declared before \pkg{lwarp} is loaded:
+\trouble[\pkg{memoir}]{footnote>memoir=\pkg{memoir}}
 \begin{sourcedisplay}
 \cs{PassOptionsToPackage}\{\textred{stable}\}\{footmisc\} \\
 \cs{usepackage}\{lwarp\} \\
@@ -919,9 +974,14 @@
 
 \newcommand{\limitsverbatimfootnotes}{%
 If using \pkg{fancybox} or \pkg{fancyvrb} with \cs{VerbatimFootnotes},
-\watchout[\cs{VerbatimFootnotes}]
+\trouble[\cs{VerbatimFootnotes}]{footnote>VerbatimFootnotes=\cs{VerbatimFootnotes}}
 and using footnotes in a sectioning command or display math,
-\watchout[sectioning or displaymath]
+\trouble[sectioning or displaymath]{footnote>sectioning, verbatim}
+\trouble{footnote>displaymath}
+\trouble{VerbatimFootnotes}
+\trouble{fancybox=\pkg{fancybox}>VerbatimFootnotes=\cs{VerbatimFootnotes}}
+\trouble{fancyvrb=\pkg{fancyvrb}>VerbatimFootnotes=\cs{VerbatimFootnotes}}
+\trouble{footnote>paragraph tags}
 use \cs{footnotemark} and \cs{footnotetext}:
 \begin{sourcedisplay}
 \cs{subsection}[Subsection Name]\\
@@ -951,7 +1011,8 @@
 While emulating \pkg{memoir}, \pkg{lwarp} pre-loads
 a number of packages (\cref{sec:patch-memoir-packages}).
 This can cause an options clash when the user's document later loads the same
-\watchout[options clash]
+\trouble[options clash]{memoir=\pkg{memoir}>options clash}
+\trouble{options clash>memoir=\pkg{memoir}}
 packages with options.  To fix this problem, specify the options before
 loading \pkg{lwarp}:
 \begin{sourcedisplay}
@@ -1018,7 +1079,7 @@
 The default is wide enough for a stanza number.
 
 Horizontal spacing relies on \prog{pdftotext}'s ability to discern the layout
-\watchout[spacing]
+\trouble[spacing]{verse>spacing}
 (\optn{-layout} option) of the
 text in the \HTML-tagged \PDF\ output.  For some settings of
 \cs{HTMLleftmargini} or \cs{HTMLleftskip} the horizontal alignment may not work out
@@ -1031,10 +1092,10 @@
 the size of the math and text used
 \margintag{SVG image font size}
 in the \SVG\ image may be adjusted
-\index{font>size --- lateximage}%
-\index{font>size --- math, SVG}%
-\index{math>font size --- SVG}%
-\index{lateximages>font size}%
+\gindex{font>size --- lateximage}%
+\gindex{font>size --- math, SVG}%
+\gindex{math>font size --- SVG}%
+\gindex{lateximage>font size}%
 by setting \cs{LateximageFontSizeName} to a font size name \Dash \emph{without the backslash},
 which defaults to:
 \begin{sourcedisplay}
@@ -1049,48 +1110,7 @@
 }
 
 
-\newcommand*{\describedisplaymathother}{
-\DescribeMacro{\displaymathnormal}
-By default, or when selecting \cs{displaymathnormal},
-math display environments print their contents in \brand{Mathjax},
-and render their contents in \SVG\ math as well as
-use their contents in the \attribute{alt} tag of \HTML\ output.
-To do so, the contents are loaded into a macro for reuse.
-In some cases, such as complicated \tikz\ pictures, compilation will fail.
 
-\DescribeMacro{\displaymathother}
-When selecting \cs{displaymathother},
-it is assumed that the contents are more complicated than ``pure''
-math.
-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 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.
-}
-
-
-\newcommand{\limitscustomizemathjax}{%
-\brand{MathJax} does not have preexisting support every possible math function.
-Additional \brand{MathJax} function definitions may be
-defined.  These will be declared at the start of each \HTML\ page,
-and thus will have a global effect.
-
-Examples:
-\begin{sourcedisplay}
-\cs{CustomizeMathJax}\{ \\
-    \fqquad\cs{newcommand}\{\cs{expval}\}[1]\{\cs{langle}\#1\cs{rangle}\} \\
-    \fqquad\cs{newcommand}\{\cs{abs}\}[1]\{\cs{lvert}\#1\cs{rvert}\} \\
-\} \\
-\cs{CustomizeMathJax}\{\cs{newcommand}\{\cs{arsinh}\}\{\cs{text}\{arsinh\}\}\} \\
-\cs{CustomizeMathJax}\{\cs{newcommand}\{\cs{arcosh}\}\{\cs{text}\{arcosh\}\}\}
-\cs{CustomizeMathJax}\{\cs{newcommand}\{\cs{NN}\}\{\cs{mathbb}\{N\}\}\}
-\end{sourcedisplay}
-}
-
-
 \newcommand{\limitsmath}{%
 \subsubsection{Rendering tradeoffs}
 
@@ -1097,7 +1117,7 @@
 Math may be rendered
 \margintag{Math rendering}
 as \SVG\ graphics or using the \brand{MathJax} JavaScript display engine.
-\index{JavaScript>MathJax}
+\gindex{JavaScript=\brand{JavaScript}>MathJax=\brand{MathJax}}
 
 Rendering math as images creates a new \SVG\ file for each expression, \margintag{SVG files}
 except that an MD5 hash is used to combine identical duplicates of the same
@@ -1128,8 +1148,8 @@
 For \SVG\ math,
 \margintag{SVG math option}
 math is rendered as usual by \LaTeX{} into the initial \PDF\ file using the
-\index{math>SVG summary}%
-\index{SVG>math summary}%
+\gindex{math>SVG summary}%
+\gindex{SVG>math summary}%
 current font\footnote{See \cref{sec:xfrac} regarding fonts and fractions.},
 then is captured from the \PDF\ and converted to \SVG\ graphics
 via a number of utility programs.
@@ -1151,7 +1171,7 @@
 macro will still appear inside the \LaTeX\ math expression.
 
 SVG math does not work inside \TeX\ boxes, since a \cs{newpage} is required
-\watchout[SVG math in \TeX\ boxes]
+\trouble[SVG math in \TeX\ boxes]{math>in \TeX\ boxes}
 before and after each image.
 
 \subsubsection{\brand{MathJax} option}
@@ -1159,8 +1179,8 @@
 The popular \brand{MathJax} alternative (\url{mathjax.org}) may be used to display math.
 \margintag{\brand{MathJax} math option}
 \DescribeProgram{MathJax}
-\index{math>MathJax summary}
-\index{MathJax>summary}
+\gindex{math>MathJax=\brand{MathJax} summary}
+\gindex{MathJax=\brand{MathJax}>summary}
 
 When \brand{MathJax} is enabled, math is rendered twice:
 \begin{enumerate}
@@ -1174,8 +1194,8 @@
 \end{enumerate}
 
 \subsubsection{Customizing \brand{MathJax}}
-\index{MathJax>custom functions}
-\index{math>MathJax custom functions}
+\gindex{MathJax=\brand{MathJax}>custom functions}
+\gindex{math>MathJax=\brand{MathJax} custom functions}
 \limitscustomizemathjax
 
 \subsubsection{\brand{MathJax} limitations}
@@ -1183,22 +1203,10 @@
 \margintag{\brand{MathJax} limitations}
 \DescribeProgram{MathJax}
 \begin{itemize}
-\item In document classes which have chapters,
-    \margintag{chapter numbers}%
-    \index{MathJax>tagged equations}%
-    \index{tagged equations>Mathjax}%
-    \cs{tag}ged equations have the chapter number prepended in \HTML\ output, unlike \LaTeX.
-    \cs{tag*} equations (correctly) do not.
-    This may be improved with future versions of the \brand{MathJax} support script.
-
-    \href{https://groups.google.com/forum/\#!topic/mathjax-users/jUtewUcE2bY}
-        {\texttt{https://groups.google.com/forum/\#!topic/\\
-            \fqquad\ mathjax-users/jUtewUcE2bY}}
-
 \item \brand{MathJax} itself does not support subequations.
     \margintag{subequations}
-\index{MathJax>subequations}%
-\index{subequations>MathJax}%
+\trouble{MathJax=\brand{MathJax}>subequations}%
+\trouble{math>subequations}%
     This may be improved by parsing the \LaTeX{}
     math expression to manually insert tags, but this has not yet been done.
 \item Footnotes inside equations are not yet supported while using \brand{MathJax}.
@@ -1212,7 +1220,8 @@
     is supported via a third-party \brand{MathJax} extension.
     While inside a math expression, do not use \cs{SI} or \cs{si} inside \cs{text},
     where it will be rendered as normal text.
-    \watchout[siunitx inside an equation]
+    \trouble[siunitx inside an equation]{siunitx=\pkg{siunitx}>MathJax=\brand{MathJax}}
+    \trouble{MathJax=\brand{MathJax}>siunitx=\pkg{siunitx}}
 
     \href{https://github.com/burnpanck/MathJax-siunitx}
         {\texttt{https://github.com/burnpanck/MathJax-siunitx}}
@@ -1225,9 +1234,10 @@
     render the horizontal alignment of the math and text following after on the same line.
 
 \item Other math-related macros and packages are not supported by \brand{MathJax},
-    \watchout[other macros and packages]
-    including \cs{ensuremath}, \pkg{bigdelim}, \pkg{units}, and \pkg{nicefrac},
-    along with occasionally-used macros such as \cs{footnote} and \cs{relax}.
+    \trouble[other macros and packages]{MathJax=\brand{MathJax}>unsupported packages}
+    including \cs{ensuremath} and \pkg{bigdelim},
+    along with occasionally-used macros such as \cs{relax}.
+    \pkg{lwarp} emulates footnotes, \pkg{units}, and \pkg{nicefrac} for MathJax.
 \end{itemize}
 }
 
@@ -1251,22 +1261,75 @@
 package.
 }
 
-\newcommand{\limitsmathdynamic}{
+\newcommand{\limitsmathinline}{
+\DescribeMacro{\inlinemathnormal}
+\DescribeMacro{\inlinemathother}
 An inline math expression is usually converted to a reusable hashed \SVG\ math
-\margintag{inline dynamic math}
 image, or a MathJax expression.  The hash or expression depends on the contents
 of the math expression.  In most cases this math expression is static, such as \texttt{\$x+1\$},
 so the image can be reused for multiples instances of the same expression.
-In some cases, the math expression includes a counter or other object which may
-change between uses.  The macro \cs{StartDynamicMath} may be used before a dynamic
-math expression, and \cs{StopDynamicMath} after.  Doing so tells \pkg{lwarp} to
+In some cases,
+\margintag{changing contents}
+the math expression includes a counter or other object which may
+change between uses.
+Another problem is complicated contents
+\margintag{complicated \attribute{alt} tag}
+which do not expand well in an \attribute{alt} tag.
+The macro \cs{inlinemathother} may be used before a dynamic
+math expression, and \cs{inlinemathnormal} after.  Doing so tells \pkg{lwarp} to
 use an unhashed \SVG\ math image, even if MathJax is in use.
 See \cref{sec:localizingdynamicmath}.
 }
 
+\newcommand*{\limitsmathdisplay}{
+\DescribeMacro{\displaymathnormal}
+By default, or when selecting \cs{displaymathnormal},
+\brand{Mathjax} math display environments print their contents
+as text into \HTML,
+and \SVG\ display math environments render their contents as \SVG\ images
+and use their contents as the \attribute{alt} tag of \HTML\ output.
+To do so, the contents are loaded into a macro for reuse.
+In some cases, such as complicated \tikz\ pictures, compilation will fail.
+
+\DescribeMacro{\displaymathother}
+When selecting \cs{displaymathother},
+it is assumed that the contents are more complicated than ``pure''
+math.
+An example is an elaborate \tikz\ picture,
+\margintag{MathJax unsupported}
+which will not render in \brand{MathJax} and
+will not make sense as an \HTML\ \attribute{alt} tag.
+\margintag{complicated \attribute{alt} tag}
+In this mode, \brand{MathJax} is turned off,
+math display environments become \SVG\ images, even if \brand{MathJax} is selected,
+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.
+}
+
+
+\newcommand{\limitscustomizemathjax}{%
+\brand{MathJax} does not have preexisting support every possible math function.
+Additional \brand{MathJax} function definitions may be
+defined.  These will be declared at the start of each \HTML\ page,
+and thus will have a global effect.
+
+Examples:
+\begin{sourcedisplay}
+\cs{CustomizeMathJax}\{ \\
+    \fqquad\cs{newcommand}\{\cs{expval}\}[1]\{\cs{langle}\#1\cs{rangle}\} \\
+    \fqquad\cs{newcommand}\{\cs{abs}\}[1]\{\cs{lvert}\#1\cs{rvert}\} \\
+\} \\
+\cs{CustomizeMathJax}\{\cs{newcommand}\{\cs{arsinh}\}\{\cs{text}\{arsinh\}\}\} \\
+\cs{CustomizeMathJax}\{\cs{newcommand}\{\cs{arcosh}\}\{\cs{text}\{arcosh\}\}\}
+\cs{CustomizeMathJax}\{\cs{newcommand}\{\cs{NN}\}\{\cs{mathbb}\{N\}\}\}
+\end{sourcedisplay}
+}
+
 \newcommand{\limitschemformula}{%
 \pkg{chemformula} works best without \brand{MathJax}.
-\watchout[\pkg{chemformula} with \brand{MathJax}]
+\trouble[\pkg{chemformula} with \brand{MathJax}]{MathJax=\brand{MathJax}>chemformula=\pkg{chemformula}}
+\trouble{chemformula=\pkg{chemformula}>MathJax=\brand{MathJax}}
 If \brand{MathJax} is used,
 \cs{displaymathother} must be used before \env{array}, and then
 \cs{displaymathnormal} may be used after.
@@ -1280,7 +1343,7 @@
 
 \newcommand{\limitsntheorem}{%
 This conversion is not total.
-\watchout[Font control]
+\trouble[Font control]{ntheorem=\pkg{ntheorem}>font}
 Font control is via \CSS, and the custom \LaTeX\ font settings
 are ignored.
 
@@ -1289,10 +1352,9 @@
 
 \newcommand{\limitsntheoremnumbering}{%
 \pkg{ntheorem} has a bug with equation numbering in \AmS\ environments%
-\watchout[Equation numbering]%
-\index{equation>miss-numbered}%
-\index{split>miss-numbered}%
-\index{AMSmath>split miss-numbered}
+\trouble[Equation numbering]{ntheorem=\pkg{ntheorem}>numbering}
+\trouble{math>equation numbering>ntheorem=\pkg{ntheorem}}
+\trouble{AMSmath>ntheorem=\pkg{ntheorem}>numbering}
 when the option \optn{thref} is used.  \pkg{lwarp} does not share
 this bug, so equations with \cs{split}, etc, are numbered correctly
 with \pkg{lwarp}'s \HTML\ output, but not with the print output.
@@ -1302,11 +1364,11 @@
 
 \newcommand{\limitsgraphics}{%
 For \cs{includegraphics} with \filenm{.pdf} or \filenm{.eps} files,
-\index{graphics>formats}
-\index{includegraphics=\cs{includegraphics}>using}
-\index{PDF images>using}
-\index{EPS images>using}
-\index{images>PDF or EPS>using}
+\gindex{graphics>formats}
+\gindex{includegraphics=\cs{includegraphics}>using}
+\gindex{PDF image>using}
+\gindex{EPS image>using}
+\gindex{image>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
@@ -1342,15 +1404,15 @@
 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}
+\gindex{image>PDF or EPS>converting}
 \userentry{lwarpmk epstopdf *.eps\qquad \textrm{(or a list of filenames)}}
 \userentry{lwarpmk pdftosvg *.pdf\qquad \textrm{(or a list of filenames)}}
 
 For \PNG\ or \JPG
 \margintag{PNG and JPG}
-\index{images>PNG and JPG}
-\index{PNG images}
-\index{JPG images}
+\gindex{image>PNG and JPG}
+\gindex{PNG images}
+\gindex{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
@@ -1358,22 +1420,26 @@
 
 GIF files may be used for \HTML,
 \margintag{GIF}
-\index{images>GIF}
-\index{GIF images}
+\gindex{image>GIF}
+\gindex{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}
+\trouble{image>format priorities}
+\trouble{graphics>image 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}]
+\trouble[\pkg{graphics} vs. \pkg{graphicx}]{graphics>optional arguments}
+\trouble{includegraphics=\cs{includegraphics}>optional arguments}
 for \cs{includegraphics}.
 A single optional parameter is interpreted as the newer \pkg{graphicx} syntax.
 Note that viewports are not supported by \pkg{lwarp} \Dash
-\watchout[viewports]
+\trouble[viewport]{graphics>viewport}
+\trouble[viewport]{image>viewport}
+\trouble{viewport}
 the entire image will be shown.
 
 For \cs{includegraphics}, avoid \texttt{px} and \% units for width and height, or
@@ -1402,7 +1468,7 @@
 \margintag{\cs{rotatebox}}
 
 \cs{rotatebox}, \cs{scalebox}, and \cs{reflectbox} depend
-\watchout[browser support]
+\trouble[browser support]{graphics>\cs{rotatebox}, \cs{scalebox}, \cs{reflectbox}}
 on modern browser support.
 The \CSSthree\ standard declares that when an object is transformed
 the whitespace which they occupied is preserved,
@@ -1412,7 +1478,8 @@
 
 \newcommand{\limitssvgimages}{%
 When a math expression, \env{picture}, or \tikz\ environment is added or
-\watchout[adding/removing]
+\trouble[adding/removing]{SVG image>out of order}
+\trouble{graphics>images out of order}
 removed, the \SVG\ images must be re-created by entering \cmds{lwarpmk limages}
 to maintain the proper image-file associations.
 Inline \SVG\ math may be hashed and thus not need to be recreated, but
@@ -1426,21 +1493,26 @@
 If it is necessary to recompile the document's \HTML\ version, \prog{lwarpmk}
 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 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
+If \HTML\ appears where an \SVG\ image should be,%
+\trouble[\HTML\ instead of images]{image>appears as \HTML\ code}%
+\trouble{math>appears as \HTML\ code}%
+\trouble{SVG image>appears as \HTML\ code}%
+\trouble{image>appears as \HTML\ code}%
+\trouble{HTML>image appear as \HTML\ code}
+ recompile the document one more
 time to get the page numbers back in sync, then remake the images one more time.
+\prog{lwarpmk} attempts to detect this situation and print a warning.
 
 Incorrect \SVG\ images will also occur if the document
-changes the \progcode{page} counter:\watchout[page counter]
+changes the \progcode{page} counter:
+\trouble[page counter]{page counter>SVG images}
+\trouble{SVG image>incorrect}
+\trouble{math>incorrect}
+\trouble{image>incorrect}
 \begin{sourcedisplay}
 \cs{setcounter}\{page\}\{<value>\}
 \end{sourcedisplay}
 The \texttt{page} counter must \emph{not} be adjusted by the user.
-\index{page>counter}
 
 Expressing math as \SVG\ images has the advantage of representing
 the math exactly as \LaTeX\ would, but has the disadvantage of requiring
@@ -1457,7 +1529,7 @@
 
 \newcommand{\limitstikz}{%
 If using display math with \env{tikzpicture} or \cs{tikz}, along
-\watchout[displaymath and matrices]
+\trouble[displaymath and matrices]{tikz>matrices, \&}
 with matrices with the \texttt{\&} character, the document must be modified as follows:
 \begin{sourcedisplay}
 \cs{usepackage}\{tikz\} \\
@@ -1471,7 +1543,7 @@
 \pkg{grffile} is supported as-is.
 File types known to the browser are displayed, and unknown file types are given a link.
 Each \PDF\ image for print mode should be accompanied
-\watchout[matching \PDF\ and \SVG]
+\trouble[matching \PDF\ and \SVG]{grffile=\pkg{grffile}}
 by an \SVG, \PNG, or \JPG\ version for \HTML.
 }
 
@@ -1478,10 +1550,7 @@
 \newcommand{\limitscolor}{%
 \pkg{color} is superceded by \pkg{xcolor}, and
 \pkg{lwarp} requires several of the features of \pkg{xcolor}.
-
-It should be sufficient for the user's document to load \pkg{color} then
-\watchout[missing colors]
-load \pkg{xcolor} as well.
+When \pkg{color} is requested, \pkg{xcolor} is loaded as well.
 }
 
 \newcommand{\limitsxcolor}{%
@@ -1519,27 +1588,49 @@
 \newcommand{\limitsepstopdf}{%
 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}]
+\trouble[convert to \filenm{.svg}]{epstopdf=\pkg{epstopdf}}
 use \userentry{lwarpmk pdftosvg <listofPDFfiles>} to generate \filenm{.svg} versions.
 }
 
 \newcommand{\limitspstricks}{%
 All \pkg{pstricks} content should be
-\watchout[use \env{pspicture}]
+\trouble[use \env{pspicture}]{pstricks=\pkg{pstricks}}
 contained inside a \env{pspicture} environment.
 }
 
 \newcommand{\limitspdftricks}{%
 The \pkg{pdftricks} image files \filenm{<jobname>-fig*.pdf} must be converted
-\watchout[convert image files]
+\trouble[convert image files]{pdftricks=\pkg{pdftricks}}
 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{\limitspsfrag}{%
+The \env{psfrags} environment is modified to use \env{lateximage} to encapsulate
+\watchout[use \env{psfrags}]
+the image.
+Always use a \env{psfrags} environment to contain any local \cs{psfrag} macros and
+the associated \cs{includegraphics} or \cs{epsfig} calls.
+Outside of a \env{psfrags} environment, \pkg{psfrags} adjustments will not be seen
+by \pkg{lwarp}.
+
+Tip: Use a mono-spaced font for the tags in the \EPS\ file.
+\watchout
+}
+
+\newcommand{\limitspstool}{%
+\cs{graphicspath} is ignored, and the file directory must be stated.
+
+The filename must not have a file extension.
+\trouble[path and filename]{pstool=\pkg{pstool}}
+
+Use \userentry{lwarpmk html} followed by \userentry{lwarpmk limages}.
+}
+
 \newcommand{\limitsoverpic}{%
 The macros \cs{overpicfontsize} and \cs{overpicfontskip} are used during
-\watchout[scaling]
+\trouble[scaling]{overpic=\pkg{overpic}}
 \HTML\ generation.  These are sent to \cs{fontsize} to adjust the font
 size for scaling differences between the print and \HTML\ versions of the
 document.  Renew these macros before using the \env{overpic} and \env{Overpic}
@@ -1550,7 +1641,9 @@
 The \env{tabbing} environment works, except that \SVG\ math and \env{lateximage}s
 do not yet work inside the environment.
 
-If math is used inside \env{tabbing}, \margintag{math in \env{tabbing}}
+If math is used inside \env{tabbing},
+\trouble[math in \env{tabbing}]{tabbing=\env{tabbing}>math}
+\trouble{math>tabbing=\env{tabbing}}
 place \env{tabbing} inside
 a \env{lateximage} environment, which will render the entire environment as
 a single \SVG\ image.
@@ -1564,11 +1657,10 @@
 \begin{description}
 \item [Defining environments:] \
     \begin{itemize}
-    \item When defining environments or macros which include \env{tabular}
-        and\watchout[misplaced alignment alignment tab character \&]
-        \index{alignment tab character \&, misplaced}
-        \index{misplaced alignment tab character \&}
-        \index{tabular>misplaced alignment tab character \&}
+    \item When defining environments or macros which include \env{tabular} and
+        \trouble[Misplaced alignment tab character \&]%
+            {Misplaced alignment tab character \&>tabular>macros}
+        \trouble{tabular>Misplaced alignment tab character \&>macros}
         instances of the \texttt{\&} character, it may be
         necessary to make \texttt{\&} active before the environment or macro is defined,
         then restore \texttt{\&} to its default catcode after, using the following commands.
@@ -1579,7 +1671,7 @@
         \textred{\cs{StopDefiningTabulars}}
         \end{sourcedisplay}
         This includes before and after defining any macro
-        \watchout[floatrow]
+        \trouble[floatrow]{floatrow=\pkg{floatrow}>ttabbox=\cs{ttabbox}}
         which used \cs{ttabbox} from \pkg{floatrow}.
     \item \limitsresumetabular
     \end{itemize}
@@ -1586,11 +1678,9 @@
 
 \item [Cell contents:] \
     \begin{itemize}
-    \item Multiple paragraphs in one cell of a \texttt{p}, \texttt{b}, \texttt{m} column
-        \watchout[paragraphs]
-        must have \cs{newline} between paragraphs.
     \item For \pkg{multirow}, insert \cs{mrowcell} into any empty multi-row cells.
-        \watchout[\cs{multirow}]
+        \trouble[\cs{multirow}]{tabular>multirow=\pkg{multirow}}
+        \trouble{multirow=\pkg{multirow}}
         This will be a null function for the print output, and is a placeholder for
         parsing the table for \HTML\ output.
         \begin{sourcedisplay}
@@ -1613,9 +1703,9 @@
         \limitsmulticolumnrow
 
     \item Using a custom macro inside a tabular data cell
-        \watchout[macro in a table]\margintag{custom macros}
-        \index{tabular>row corruption}%
-        \index{tabular>macros inside}%
+        \trouble[macro in a table]{tabular>macro inside}
+        \trouble{tabular>row corruption}
+        \gindex{tabular>macros inside}
         may result in an extra \HTML\ data cell tag, corrupting the \HTML\ table.
         To avoid this, use \cs{TabularMacro} just before the macro.
         This is ignored in print mode.
@@ -1628,7 +1718,7 @@
 \item [Column specifiers:] \
     \begin{itemize}
     \item \texttt{*} in a column specification is not used (so far).
-        \watchout[* column specification]
+        \trouble[* column specification]{tabular>*=\texttt{*} column specification}
         Repeat the column type the correct number of times.
 
     \item Only one each of \texttt{@} and \texttt{!}
@@ -1642,7 +1732,7 @@
         which do not appear in the \HTML\ version.
 
     \item \cs{newcolumntype} is ignored; unknown column types are set to \texttt{l}.
-        \watchout[\cs{newcolumntype}]
+        \trouble[\cs{newcolumntype}]{tabular>newcolumntype=\cs{newcolumntype}}
     \end{itemize}
 
 \item [Rules:] \
@@ -1672,16 +1762,15 @@
         \cs{cmidrule}\{2-3\} \textbackslash\textbackslash[-2ex] \\
         \cs{bottomrule}
         \end{sourcedisplay}
-        The optional \texttt{-2ex} is ignored in \HTML\, but improves the
+        The optional \texttt{-2ex} is ignored in \HTML, but improves the
         visual formatting in the print output.
 
     \item For \cs{toprule} and \cs{bottomrule},
-        \watchout[\cs{warpprintonly}]
+        \trouble[\cs{warpprintonly}]{Misplaced \cs{noalign}>tabular>rules}
+        \trouble{tabular>rules}
         when combined with a \env{warpprint} or \env{warpHTML} environment,
-        \margintag{misplaced \cs{noalign}}%
-        \index{tabular>misplaced \protect\cs{noalign}}%
-        \index{misplaced \protect\cs{noalign}}
-        if a ``misplaced \cs{noalign}'' error occurs,
+        \trouble[Misplaced \cs{noalign}]{tabular>Misplaced \protect\cs{noalign}}%
+        if a ``Misplaced \cs{noalign}'' error occurs,
         change
         \begin{sourcedisplay}
         This \& That \cs{endhead}
@@ -1707,7 +1796,8 @@
         \margintag{\env{longtable} headings}
         do not apply to \HTML\ inside \cs{warpprintonly\{\}}.
     \item For S columns (from the \pkg{siunitx} package),
-        \watchout[S columns]
+        \trouble[S columns]{siunitx=\pkg{siunitx}>S column}
+        \trouble{tabular>S column}
         while producing print output,
         anything non-numeric must be placed
         inside \{ \} braces, including commands such as \cs{multirow}.
@@ -1724,7 +1814,7 @@
 
 \newcommand{\limitsmulticolumnrow}{%
 \pkg{lwarp} does not support
-\watchout[\cs{multicolumn} \& \cs{multirow}]
+\trouble[\cs{multicolumn} \& \cs{multirow}]{multirow=\cs{multirow} and \cs{multicolumn}}
 directly combining \cs{multicolumn} and \cs{multirow}.
 Use \cs{multicolumnrow} instead.
 To create a 2 column, 3 row cell:
@@ -1760,7 +1850,8 @@
 
 \newcommand{\limitsresumetabular}{%
 When creating a new environment
-\watchout[\env{tabular} inside another environment]
+\trouble[\env{tabular} inside another environment]{tabular>inside an environment}
+\trouble{tabular>corrupt rows}
 which contains a \env{tabular} environment,
 \pkg{lwarp}'s emulation of the tabular does not automatically resume
 when the containing enviroment ends, resulting in corrupted \HTML\ rows.
@@ -1785,7 +1876,8 @@
 \newcommand{\limitslongtable}{%
 Longtable \cs{endhead}, \cs{endfoot}, and \cs{endlastfoot} rows are
 not used for \HTML, and these rows should be disabled.
-\watchout
+\trouble[Misplaced \cs{noalign}]{Misplaced \cs{noalign}}
+\trouble{tabular>endhead=\cs{endhead}, \cs{endfoot}, \cs{endlastfoot}}
 Use
     \begin{sourcedisplay}
     \cs{warpprintonly}\{row contents\}
@@ -1799,18 +1891,20 @@
 Keep the \cs{endfirsthead} row, which is still relevent to \HTML\ output.
 
 \cs{kill} is ignored, place a \cs{kill} line inside
-\watchout
+\trouble[\cs{kill}]{tabular>kill=\cs{kill}}
     \begin{sourcedisplay}
     \cs{begin}\{warpprint\} \ldots\  \cs{end}\{warpprint\}
     \end{sourcedisplay}
 or place it inside \cs{warpingprintonly}.
 
-\pkg{longtable} is not supported inside a \env{lateximage}.\watchout[lateximage]
+\pkg{longtable} is not supported inside a \env{lateximage}.%
+\watchout[lateximage]
 }
 
 \newcommand{\limitssupertabular}{%
 For \cs{tablefirsthead}, etc., enclose them as follows:
-\watchout[misplaced alignment alignment tab character \&]
+\trouble[Misplaced alignment tab character \&]%
+    {Misplaced alignment tab character \&>supertabular=\pkg{supertabular}}
 \begin{sourcedisplay}
 \textred{\cs{StartDefiningTabulars}} \\
 \cs{tablefirsthead} \\
@@ -1825,7 +1919,7 @@
 
 \newcommand{\limitsbigdelim}{%
 \cs{ldelim} and \cs{rdelim} use \cs{multirow}, so
-\watchout[use \cs{mrowcell}]
+\trouble[use \cs{mrowcell}]{bigdelim=\pkg{bigdelim}}
 \cs{mrowcell} must be used in the proper number of empty cells in the
 same column below \cs{ldelim} or \cs{rdelim}, but not in cells which
 are above or below the delimiter:
@@ -1850,7 +1944,8 @@
 
 \newcommand{\limitscolortbl}{%
 Only use \cs{rowcolor} and \cs{cellcolor} at the start of a row,
-in that order.\watchout[row/cell color]
+in that order.
+\trouble[row/cell color]{colortbl=\pkg{colortbl}}
 
 \pkg{colortbl} ignores the overhang arguments.
 }
@@ -1862,7 +1957,8 @@
 \cs{makelabel} for print mode while \HTML\ mode ignores those commands.
 
 When defining \cs{makelabel} in a \env{list} environment, use
-\watchout[label font]
+\trouble[label font]{lists>label formatting}
+\trouble{makelabel=\cs{makelabel}}
 \cs{textbf} etc. instead of \cs{bfseries}.
 }
 
@@ -1872,6 +1968,7 @@
 \newcommand{\limitsmarginpars}{%
 \DescribeMacro{\marginpar} \oarg{left} \marg{right}
 \qquad
+\trouble{marginpar=\cs{marginpar}}
 \cs{marginpar} may contains paragraphs, but in order to remain inline with
 the surrounding text \pkg{lwarp} nullifies block-related macros inside the
 \cs{marginpar}.  Paragraph breaks are converted to \element{br /} tags.
@@ -1884,7 +1981,9 @@
 }
 
 \newcommand{\limitssaveboxes}{%
-\LaTeX\ boxes are placed inline and do not allow line breaks, so boxes
+\trouble{boxes}
+\trouble{HTML>corrupted}
+\TeX\ boxes are placed inline and do not allow line breaks, so boxes
 with long contents may overflow the line during \HTML\ conversion.
 This is mostly a problem when the boxes contain objects which themselves
 hold large \HTML\ tags, such as rotation commands with long contents.
@@ -1894,7 +1993,7 @@
 
 \newcommand{\limitsminipage}{%
 A line of text with an inline minipage
-\watchout[inline]
+\trouble[inline]{minipage>inline}
 or parbox will have the minipage or parbox placed onto its own line,
 because a paragraph is a block element and cannot be made \attribute{inline-block}.
 
@@ -1912,6 +2011,7 @@
 
 There is limited support for minipages inside an \HTML\ \element{span}.
 \margintag{in a span}
+\trouble{minipage>in a span}
 An \HTML\ \element{div} cannot appear inside a \element{span}.
 While in a \element{span}, minipages, and parboxes, and any enclosed lists
 have limited \HTML\ tags, resulting in an ``inline'' format, without markup
@@ -1934,7 +2034,7 @@
 
 Nested minipages adopt their parent's text alignment in \HTML,
 whereas in regular \LaTeX{} \PDF\ output they do not.
-\watchout[text alignment]
+\trouble[text alignment]{minipage>alignment}
 Use a \env{flushleft} or similar environment in the child minipage
 to force a text alignment.
 }
@@ -1982,7 +2082,7 @@
 \end{sourcedisplay}
 
 \pkg{lwarp} does not support the \env{verbatim} environment inside a span, box,
-\margintag{framed verbatim}
+\trouble[framed verbatim]{verbatim>framed}
 or \pkg{fancybox}'s \cs{Sbox}, but a \env{verbatim} may be placed inside
 a \env{fminipage}.  The \pkg{fancybox} documentation's example \env{FramedVerb}
 may be defined as:
@@ -2047,6 +2147,7 @@
 
 \newcommand{\limitscaption}{%
 To pass options to caption, select the options before loading \pkg{lwarp}:
+\trouble[options]{caption>options}
 \begin{sourcedisplay}
 \cs{documentclass}\{article\} \\
 \dots \\
@@ -2055,10 +2156,11 @@
 \cs{usepackage\{lwarp\}} \\
 \dots \\
 \cs{usepackage\{caption\}}
-\end{sourcedisplay}\watchout[options]
+\end{sourcedisplay}
 
 To ensure proper float numbering, set caption positions
 such as:
+\trouble[numbering]{caption>numbering}
 \begin{sourcedisplay}
 \cs{captionsetup}[table]\{position=top\} \\
 \cs{captionsetup}[figure]\{position=bottom\}
@@ -2080,12 +2182,12 @@
 % therefore \pkg{lwarp} does not place subfigures in the LOF/LOT.
 
 At present, the package options for \optn{lofdepth} and \optn{lotdepth}
-\watchout[\optn{lof/lotdepth}]
+\trouble[\optn{lof/lotdepth}]{subfig=\pkg{subfig}>options}
 are not working.  These counters must be set separately after the
 package has been loaded.
 
 In the document source, use \cs{hfill} and \cs{hspace*}
-\margintag{horizontal spacing}
+\trouble{horizontal spacing}{subfig>inline}
 between subfigures to spread them
 apart horizontally.  The use of other forms of whitespace may
 cause paragraph tags to be generated, resulting in subfigures
@@ -2094,7 +2196,7 @@
 
 \newcommand{\limitsfloatalignment}{%
 \cs{centering}, etc. are honored in a \env{figure} or \env{table} if
-\margintag{\env{figure} \& \env{table} alignment}
+\trouble[\env{figure} \& \env{table} alignment]{float>alignment}
 they are the first command inside the float:
 \begin{sourcedisplay}
 \cs{begin}\{table*\} \\
@@ -2106,18 +2208,20 @@
 
 \newcommand{\limitsfloatrow}{%
 Use \cs{StartDefiningTabulars} and \cs{StopDefiningTabulars} before and after
-\watchout[misplaced alignment alignment tab character \&]
+\trouble[Misplaced alignment tab character \&]%
+    {Misplaced alignment tab character \&>floatrow=\pkg{floatrow}}
 defining macros using \cs{ttabbox} with a tabular inside.
 See \cref{sec:limitstabular}.
 
 When combined with the \pkg{subfig} package,
-\watchout[\pkg{subfig} package]
+\trouble[\pkg{subfig} package]{floatrow>with \pkg{subfig}}
+\trouble{subfig=\pkg{subfig}>with \pkg{floatrow}}
 while inside a \env{subfloatrow} \cs{ffigbox} and \cs{ttabbox}
 must have the caption in the first of the two of the mandatory arguments.
 
 The emulation of \pkg{floatrow} does not support \cs{FBwidth} or \cs{FBheight}.
 These values are pre-set to \texttt{.3\cs{linewidth}} and \texttt{2in}.
-\watchout[\cs{FBwidth}, \cs{FBheight}]
+\trouble[\cs{FBwidth}, \cs{FBheight}]{floatrow>\cs{FBwidth} and \cs{FBheight}}
 Possible solutions include:
 \begin{itemize}
 \item Use fixed lengths.  \pkg{lwarp} will scale the \HTML\ lengths appropriately.
@@ -2133,6 +2237,7 @@
 }
 
 \newcommand{\limitskeyfloat}{%
+\trouble{keyfloat=\pkg{keyfloat}}
 If placing a \cs{keyfig}\optn{[H]} inside a \env{keywrap},
 \watchout[\env{keywrap}]
 use an absolute width for
@@ -2142,13 +2247,15 @@
 }
 
 \newcommand{\limitssiunitx}{%
-Due to \prog{pdftolatex} limitations, fraction output is replaced by symbol
+Due to \prog{pdftotext} limitations, fraction output is replaced by symbol
 \margintag{fractions}
 output for \optn{per-mode} and \optn{quotient-mode}.
 
 Some units will require that the expression be placed inside math mode.
-\watchout[math mode required]
+\trouble[math mode required]{siunitx=\pkg{siunitx}}
 
+\trouble{siunitx>MathJax=\brand{MathJax}}
+\trouble{MathJax=\brand{MathJax}>siunitx=\pkg{siunitx}}
 \textred{NOTE: As of this writing, the \pkg{siunitx} extension
 for \brand{MathJax} is not currently hosted at any public CDN,
 thus \pkg{siunitx} is not usable with \brand{MathJax} unless a local copy
@@ -2155,7 +2262,7 @@
 of this extension is created first.}
 
 Tabular \texttt{S} columns are rendered as simple \texttt{c} columns,
-\watchout[\env{tabular}]
+\trouble[\env{tabular}]{siunitx=\pkg{siunitx}>tabular S and s columns}
 and tabular \texttt{s} columns are not supported.
 These may be replaced by \texttt{c} columns with each cell contained in
 \cs{num} or \cs{si}.
@@ -2162,6 +2269,8 @@
 }
 
 \newcommand{\limitsnicefrac}{%
+\trouble{nicefrac=\pkg{nicefrac}}
+\trouble{units=\pkg{units}}
 \pkg{units} and \pkg{nicefrac} work with \pkg{lwarp}, but
 \brand{MathJax} does not have an extension for \pkg{units} or \pkg{nicefrac}.
 These packages do work with \pkg{lwarp}'s option \optn{svgmath}.
@@ -2179,7 +2288,7 @@
 
 \newcommand{\limitsbabeltwo}{%
 When French is used, the caption separator is
-\margintag{\cs{CaptionSeparator}}
+\trouble[\cs{CaptionSeparator}]{babel=\pkg{babel}>French}
 changed to a dash.  The following may be used to restore it to a colon:
 \begin{sourcedisplay}
 \cs{renewcommand}*\{\cs{CaptionSeparator}\}\{:\textasciitilde\}
@@ -2199,6 +2308,8 @@
 }
 
 \newcommand{\limitspolyglossia}{%
+\trouble{Undefined control sequence>polyglossia=\pkg{polyglossia}}
+\trouble{polyglossia=\pkg{polyglossia}>Undefined control sequence}
 \pkg{lwarp} uses \pkg{cleveref}, which has some limitations when using
 \pkg{polyglossia}, possibly resulting in the error
 \begin{sourcedisplay}
@@ -2225,7 +2336,7 @@
 \newcommand{\limitsnewclude}{%
 \pkg{newclude} modifies \cs{label} in a non-adaptive way, so
 \pkg{newclude} must be loaded before \pkg{lwarp} is loaded:
-\watchout[loading]
+\trouble[loading]{newclude=\pkg{newclude}}
 
 \begin{docsidebar}
 \raggedright
@@ -2238,6 +2349,7 @@
 }
 
 \newcommand{\limitstodonotes}{%
+\trouble{todonotes=\pkg{todonotes}}
 The documentation for \pkg{todonotes} and \pkg{luatodonotes} have an
 example with a todo inside a caption.  If this example does not work
 it will be necessary to move the todo outside of the caption.
@@ -2244,7 +2356,8 @@
 }
 
 \newcommand{\limitsfixme}{%
-External layouts (\cs{fxloadlayouts}) are not supported.\watchout[external layouts]
+External layouts (\cs{fxloadlayouts}) are not supported.
+\trouble[external layouts]{fixme=\pkg{fixme}}
 
 User control is provided for setting the \HTML\ styling of the ``faces''.
 The defaults are as follows, and may be changed in the preamble after
@@ -2259,6 +2372,7 @@
 }
 
 \newcommand{\limitsxparse}{%
+\trouble{xparse=\pkg{xparse}}
 To remove from the log any warnings about redeclaring objects,
 place the following before \pkg{lwarp} is loaded:
 \begin{sourcedisplay}
@@ -2268,7 +2382,7 @@
 
 \newcommand{\limitsnewtxmath}{%
 The proper load order is:
-\watchout[loading sequence]
+\trouble[loading sequence]{newtxmath=\pkg{newtxmath}}
 \begin{sourcedisplay}
 \textrm{\dots} \\
 \cs{usepackage}\{lwarp\} \\
@@ -2292,10 +2406,10 @@
 
 \newcommand*{\describehashing}{%
 If starred, a hashed filename is used.\margintag{image filename hashing}
-\index{hash>SVG image filename}
-\index{file>hashed name}
-\index{images>hashed filenames}
-\index{MD5 hash>SVG image filename}
+\gindex{hash>SVG image filename}
+\gindex{file>hashed name}
+\gindex{image>hashed filename}
+\gindex{MD5 hash>SVG image filename}
 If so, the hash is based on the \attribute{alt} tag and also the additional hashing argument.
 
 This may be used to provide an expression with a simple \attribute{alt} tag
@@ -2314,6 +2428,10 @@
 
 
 \newcommand{\osportabilityusage}{%
+\trouble{operating system}
+\trouble{Mac OS=\brand{Mac OS}}
+\trouble{Linux=\brand{Linux}}
+\trouble{Unix=\brand{Unix}}
 \pkg{lwarp} tries to detect which operating system is being used.
 \DescribeProgram{Unix}\DescribeProgram{Mac OS}\DescribeProgram{Linux}
 \brand{Unix}~/ \brand{Mac~OS}~/ \brand{Linux} is the default
@@ -2320,6 +2438,8 @@
 (collectively referred to as ``\brand{Unix}'' in the configuration files),
 and \brand{MS-Windows} is supported as well.
 
+\trouble{MS-Windows=\brand{MS-Windows}}
+\trouble{Windows=\brand{Windows}}
 If \brand{MS-Windows} is not correctly detected,
 \DescribeProgram{MS-Windows} \DescribeProgram{Windows}
 use the \pkg{lwarp} option \optn{OSWindows}.
@@ -2352,7 +2472,7 @@
 %<*package>
 % \fi
 %
-% \CheckSum{25889}
+% \CheckSum{26157}
 %
 % \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
@@ -2455,6 +2575,7 @@
 % \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}
 % \changes{v0.60}{2018/09/19}{\ 2018/09/19}
+% \changes{v0.61}{2018/10/13}{\ 2018/10/13}
 
 
 
@@ -2652,12 +2773,54 @@
 %
 % \begin{description}
 % \needspace{2\baselineskip}
+% \item[v0.61:] Custom compilation, \EPS-related packages, documentation, indexes.
+%   \begin{itemize}
+%       \item Split index into multiple indexes.  See \cpageref{sec:indexmeta}.
+%           \margintag{docs}
+%       \item Improved documentation regarding font selection.  See \cref{sec:fonts}.
+%       \item Added documentation regarding debugging options.
+%           See \cref{sec:debuggingmessages}.
+%       \item Added documentation regarding \HTML\ entities inside program listings.
+%           See \cref{sec:avoidtextformatting}.
+%       \item Added options to specify the shell commands to execute for
+%           \margintag{custom compiling}
+%           \cmds{lwarpmk print} and \cmds{lwarpmk html}, allowing
+%           the use of \pkg{lwarp} with \pkg{perltex}, \pkg{pythontex}, etc.
+%           If not specified, these are set automatically depending on the \LaTeX\ engine,
+%           \optn{-\/-shell-escape}, and \pkg{lwarp} options.
+%           See \cref{sec:customcompiling}.
+%       \item Changed macro names to match
+%           \watchout[changed names]
+%           \cs{displaymathother}, \cs{displaymathnormal}: \\
+%           \begin{tabular}{cc}
+%           \toprule
+%           Old & New \\
+%           \midrule
+%           \cs{StartDynamicMath} & \cs{inlinemathother} \\
+%           \cs{StopDynamicMath} & \cs{inlinemathnormal} \\
+%           \bottomrule
+%           \end{tabular}
+%       \item Fix: Paragraph tags in a \env{tabular}.
+%           \margintag{fixes}
+%       \item Fix: \pkg{supertabular} and \pkg{xtab} captions.
+%       \item Fix: DVI \LaTeX\ \cs{includegraphics} \EPS\ images.
+%       \item Fix: \pkg{newfloat} lists.
+%       \item Fix: CSS footnotes text align, minipage tabular and footnote margins.
+%       \item Added \pkg{epsfig}, \pkg{psfrag}, \pkg{psfragx}, \pkg{pstool}.
+%           \margintag{packages}
+%       \item Added \pkg{copyrightbox}, \pkg{pdfprivacy}, \pkg{thinsp},
+%           \pkg{threadcol}, \pkg{uspace}.
+%       \item Added \pkg{chkfloat}, \pkg{cmdtrack}, \pkg{dprogress},
+%           \pkg{lua-visual-debug}, \pkg{refcheck},
+%           \pkg{srcltx}, \pkg{srctex}, \pkg{vpe}, \pkg{xbmks}.
+%   \end{itemize}
 % \item[v0.60:] Fixes for \pkg{longtable}, \pkg{listings}.
 %   \begin{itemize}
 %       \item \pkg{longtable}, etc.: Fixes for slowdown and memory management for very long tables.
+%           \margintag{fixes}
 %       \item \pkg{listings}: Fix for \HTML\ entities, and also when used inside a list.
 %       \item \pkg{diagbox}: Fix for incorrect \HTML\ par tags.
-%       \item Added \pkg{2up}, \pkg{twoup-gen}, \pkg{booklet}.
+%       \item Added \pkg{2up}, \pkg{booklet}.
 %           \margintag{packages}
 %       \item Added \pkg{bophook}, \pkg{draftfigure}, \pkg{fullminipage},
 %           \pkg{grid-system}, \pkg{layaureo}.
@@ -2683,7 +2846,7 @@
 %           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}.
+%       \item Fix for \optn{-\/-shell-escape} with \prog{latexmk}.
 %           \margintag{\prog{latexmk}}
 %       \item Updated MathJax script to v2.7.4.
 %           \margintag{math}
@@ -2759,7 +2922,7 @@
 %           \margintag{math macros}
 %           use when defining macros in the preamble which contain \$.
 %           See \cref{sec:mathcatcode}.
-%       \item Added \cs{StartDynamicMath} and \cs{StopDynamicMath} to
+%       \item Added \cs{inlinemathother} and \cs{inlinemathnormal} to
 %           \margintag{dynamic math}
 %           delimit math expressions which depend on a variable condition
 %           such as a counter.  Such expressions will not be hashed for reuse,
@@ -2804,7 +2967,7 @@
 %           \end{sourcedisplay}
 %           to quickly convert a document's \PDF\ images to \SVG, for use with \HTML.
 %           See \cref{sec:limitsgraphics}.
-%       \item Added support for |-shell-escape|.  See \cref{sec:shellescape}.
+%       \item Added support for \optn{-\/-shell-escape}.  See \cref{sec:shellescape}.
 %       \item Added support for \pkg{array} |w| and |W| columns.
 %           \margintag{\env{tabular}}
 %       \item Fix: \cs{multicolumn} parameter handling.
@@ -3859,6 +4022,8 @@
 %
 % Engines: & \DVI\ \LaTeX, pdf\LaTeX, \XeLaTeX, \LuaLaTeX \\
 %
+% Compiling: & %   \pkg{latexmk}, \pkg{perltex}, \pkg{pythontex}, \prog{make}, etc. \\
+%
 % \midrule
 %
 % Classes: & \pkg{article}, \pkg{book}, \pkg{report},
@@ -3880,10 +4045,11 @@
 %       \pkg{fancyhdr}, \pkg{fancytabs}, \pkg{fullminipage}, \pkg{fullpage},
 %       \pkg{fwlw}, \pkg{geometry}, \pkg{grid}, \pkg{grid-system}, \pkg{gridset},
 %       \pkg{layaureo}, \pkg{leading},
-%       \pkg{ltxgrid}, \pkg{nccfancyhdr}, \pkg{pagegrid}, \pkg{pagesel}, \pkg{preview},
-%       \pkg{scrlayer-scrpage},
-%       \pkg{textarea}, \pkg{thumb}, \pkg{thumbs}, \pkg{titleps}, \pkg{tocenter},
-%       \pkg{turnthepage}, \pkg{twoup-gen}, \pkg{typearea}, \pkg{vmargin},
+%       \pkg{ltxgrid}, \pkg{nccfancyhdr}, \pkg{pagegrid},
+%       \pkg{pdfprivacy}, \pkg{pagesel}, \pkg{preview},
+%       \pkg{scrlayer-scrpage}, \pkg{textarea}, \pkg{threadcol},
+%       \pkg{thumb}, \pkg{thumbs}, \pkg{titleps}, \pkg{tocenter},
+%       \pkg{turnthepage}, \pkg{typearea}, \pkg{vmargin},
 %       \pkg{watermark}, \pkg{zwpagelayout}.
 %
 %       Tested to work as-is: \pkg{underlin}.\\
@@ -3994,8 +4160,9 @@
 %   \pkg{rotating} is emulated but all objects are unrotated.
 %   \pkg{picture}, \pkg{tikz}, and \pkg{xy} are converted to an \SVG\ image.
 %
-%   \pkg{asymptote}, \pkg{epstopdf}, \pkg{figsize}, \pkg{grffile}, \pkg{overpic},
-%   \pkg{pdftricks}, \pkg{pst-eps}, \pkg{pstricks}.
+%   \pkg{asymptote}, \pkg{epsfig}, \pkg{epstopdf}, \pkg{figsize},
+%   \pkg{grffile}, \pkg{overpic},
+%   \pkg{psfrag}, \pkg{psfragx}, \pkg{pst-eps}, \pkg{pstool}, \pkg{pstricks}.
 %
 %   Tested to work as-is:
 %   \pkg{eepic}, \pkg{tikz-3dplot}. \\
@@ -4024,7 +4191,8 @@
 % \env{minipage}, \cs{parbox}: & Some \HTMLfive-imposed limitations.
 %	Nested minipages are supported. \pkg{pbox}.\\
 %
-% Quotations: & \pkg{csquotes}, \pkg{epigraph}, \pkg{quoting}, \pkg{verse}. \\
+% Quotations: & \pkg{copyrightbox}, \pkg{csquotes}, \pkg{epigraph},
+%   \pkg{quoting}, \pkg{verse}. \\
 %
 % Verbatim: &
 %   \pkg{fancyvrb}, \pkg{moreverb}, \pkg{shortvrb}, \pkg{verbatim}. \\
@@ -4042,7 +4210,7 @@
 %
 % Acronyms: & \pkg{acro}, \pkg{acronym}. \\
 %
-% Todo notes: & \pkg{changebar}, \pkg{easy-todo}, \pkg{errata}, \pkg{fixme},
+% Editorial: & \pkg{changebar}, \pkg{easy-todo}, \pkg{errata}, \pkg{fixme},
 %   \pkg{fixmetodonotes}, \pkg{todo}, \pkg{todonotes}. \\
 %
 % \midrule
@@ -4054,7 +4222,7 @@
 %   \pkg{lua-check-hyphen}, \pkg{luacolor},
 %   \pkg{magaz}, \pkg{nowidow}, \pkg{pdfrender}, \pkg{realscripts}, \pkg{relsize},
 %   \pkg{scalefnt}, \pkg{soul}, \pkg{soulpos}, \pkg{soulutf8},
-%   \pkg{textfit}, \pkg{trimclip}, \pkg{ulem}, \pkg{underscore},
+%   \pkg{textfit}, \pkg{thinsp}, \pkg{trimclip}, \pkg{ulem}, \pkg{underscore}, \pkg{uspace},
 %   \pkg{widows-and-orphans}, \pkg{xellipsis}. \\
 %
 % Ordinals: & \pkg{engord}, \pkg{fmtcount}, \pkg{nth}. \\
@@ -4113,10 +4281,16 @@
 %
 % \midrule
 %
-% Accessibility: & Nullified: \pkg{accsupp}, \pkg{axessibility}. \\
+% Accessibility: & \pkg{accsupp}, \pkg{axessibility}. \\
 %
 % \midrule
 %
+% Debug: & \pkg{chkfloat}, \pkg{cmdtrack}, \pkg{dprogress},
+%   \pkg{lua-visual-debug}, \pkg{refcheck},
+%   \pkg{srcltx}, \pkg{srctex}, \pkg{vpe}, \pkg{xbmks}. \\
+%
+% \midrule
+%
 % Working as-is: & 
 %   Various utility, calculation, file, and text-only packags, such as
 %   \pkg{calc},
@@ -4168,7 +4342,7 @@
 % In some cases \pkg{lwarp} provides a better \HTML\ conversion, and it supports
 % a different set of packages.
 % TeX4ht produces several other forms of output beyond \HTML, including \ODT\ and
-% a direct path to \EPUB.
+% a direct path to \EPUB, and is still being developed.
 %
 % \subsection{Translators}
 %
@@ -4246,7 +4420,7 @@
 % and \brand{Madcap} \prog{Flare}\,\texttrademark.
 %
 % \subsection{Comparisons}
-% \index{markup languages}
+% \gindex{markup languages}
 %
 % AsciiDoc, Pandoc, and various other markup languages typically have a syntax which tries to be
 % natural and human-readable, but the use of advanced features tends to require
@@ -4300,8 +4474,8 @@
 %
 % Detailed installation instructions follow.
 %
-% \index{utility>programs}
-% \index{programs>utility}
+% \gindex{utility>programs}
+% \gindex{programs>utility}
 %
 % \begin{table}[hbp]
 % \changes{v0.45}{2017/11/30}{Docs: Moved table so doesn't interfere with install docs.}
@@ -4348,7 +4522,7 @@
 % \begin{description}
 %
 % \item[\prog{pdftotext}:] Used to convert \PDF\ to text.
-%	\DescribeProgram[requirement]{pdftotext}\index{Poppler}
+%	\DescribeProgram[requirement]{pdftotext}\gindex{Poppler=\brand{Poppler}}
 %
 % \item[\prog{pdfseparate}:] Used to pull images out of the \LaTeX{} \PDF.
 %	\DescribeProgram[requirement]{pdfseparate}
@@ -4657,7 +4831,7 @@
 %
 %
 % \item [To install the \brand{Poppler} utilities to a Unix/Linux system:] \
-%	\DescribeProgram[requirement]{pdftotext}\index{Poppler}
+%	\DescribeProgram[requirement]{pdftotext}\gindex{Poppler=\brand{Poppler}}
 %	\DescribeProgram[requirement]{pdfseparate}
 %	\DescribeProgram[requirement]{pdftocairo}
 %
@@ -4697,7 +4871,7 @@
 %
 % \needspace{2\baselineskip}
 % \item [To install \prog{Perl} to a \brand{Windows} machine:] \
-% \DescribeProgram[requirement]{perl}\index{Perl}
+% \DescribeProgram[requirement]{perl}\gindex{Perl=\brand{Perl}}
 % \begin{enumerate}
 % \item Download and install a version of \prog{Perl}, such as \brand{Straweberry Perl},
 %	to a directory without a space in its name, such as |C:\Strawberry|.
@@ -4918,7 +5092,7 @@
 %	Although, when using the utility \prog{latexmk} (introduced later), the changed date is
 %	ignored and an actual change in contents must occur to cause a recompile.}
 %
-% \item Process the index.\index{index>processing}%
+% \item Process the index.\gindex{index>processing}%
 %   \footnote{The command \cmds{lwarpmk printglossary} is also
 %	    available to process a glossary produced with the \textsf{glossaries} package.
 %	    See \cref{sec:glossaries}.}%
@@ -4984,7 +5158,7 @@
 %	\userentry{lwarpmk html}
 %	\userentry{lwarpmk print}
 %
-% \item Process the \HTML\ index and recompile:\index{index>processing}
+% \item Process the \HTML\ index and recompile:\gindex{index>processing}
 %   \footnote{The command \cmds{lwarpmk htmlglossary} is also
 %	available to process a glossary produced with the \textsf{glossaries} package.
 %	See \cref{sec:glossaries}.}\footnote{Also see \cref{sec:indexsetup} for index options.}
@@ -5167,6 +5341,8 @@
 %
 % \subsection{Using DVI LaTeX}
 %
+% \gindex{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.
@@ -5177,6 +5353,9 @@
 % To convert \PDF\ files to \SVG:
 % \userentry{lwarpmk pdftosvg *.pdf \qquad \textrm{(or a list of files)}}
 %
+% See \cref{sec:fonts} regarding font selection
+% \watchout[bitmapped fonts]
+% to avoid the use of bitmapped fonts.
 %
 %
 % \clearpage
@@ -5189,9 +5368,9 @@
 % does not supply an example.
 %
 %
-% \index{glossary>processing}
+% \gindex{glossary>processing}
 % To process the glossary for the print version:
-% \index{glossary>processing}
+% \gindex{glossary>processing}
 %	\userentry{lwarpmk printglossary}
 %
 % \fquad (If \cmds{makeglossaries} is not found, see \cref{sec:glossaries}.)\watchout
@@ -5238,10 +5417,10 @@
 %
 % \HTML\ cannot display \PDF\ or \EPS\ images, so any external \PDF\ graphics images must
 % be converted to \SVG\ format.
-% \index{SVG>converting from PDF or EPS}
-% \index{PDF images>converting}
-% \index{EPS images>converting}
-% \index{images>PDF or EPS>converting}
+% \gindex{SVG>converting from PDF or EPS}
+% \gindex{PDF image>converting}
+% \gindex{EPS image>converting}
+% \gindex{image>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)}}
@@ -5295,10 +5474,10 @@
 % \section{Converting an existing document}
 % \label{sec:convertexisting}
 %
-% \index{modifying>document}
-% \index{adapting>document}
-% \index{converting>document}
-% \index{document>convert existing}
+% \gindex{modifying>document}
+% \gindex{adapting>document}
+% \gindex{converting>document}
+% \gindex{document>convert existing}
 %
 % \changes{v0.48}{2018/02/05}{Docs: Converting an existing document.}
 % \changes{v0.51}{2018/03/04}{Docs: Updated Converting an existing document.}
@@ -5357,11 +5536,11 @@
 %
 % \subsection{Shell escape}
 % \label{sec:shellescape}
-% \index{shell escape}
+% \gindex{shell escape}
 %
-% \DescribeOption{-shell-escape}
+% \DescribeOption{-\/-shell-escape}
 % Some documents require the use of an external program,
-% which is allowed when using the |-shell-escape| command-line option.
+% which is allowed when using the \optn{-\/-shell-escape} command-line option.
 % When the document is first compiled manually,
 % and also whenever the print version is recompiled,
 % \pkg{lwarp} detects and remembers
@@ -5371,58 +5550,84 @@
 %
 % \subsection{Font and UTF-8 support}
 % \label{sec:fonts}
-% \index{font>selection}
-% \index{Unicode>selection}
-% \index{UTF-8>selection}
+% \trouble{font>UTF-8}
+% \trouble{text>corrupted}
+% \trouble{font>selection}
+% \trouble{Unicode}
+% \gindex{font>selection}
+% \gindex{font>type 3 bitmapped}
+% \gindex{font>type 1 vector}
+% \gindex{type 1 vector fonts}
+% \gindex{type 3 bitmapped fonts}
+% \gindex{vector fonts}
+% \gindex{bitmapped fonts}
+% \gindex{Unicode>selection}
+% \gindex{UTF-8>selection}
+% \gindex{Computer Modern}
+% \gindex{Latin Modern font}
+% \gindex{DVI \LaTeX}
 % \changes{v0.16}{2016/04/08}{Docs: Font and UTF-8 support.}
 % \changes{v0.16}{2016/04/08}{Lwarp no longer selects fonts.}
+% \changes{v0.61}{2018/09/25}{Docs: Fonts.}
 %
 % \pkg{lwarp} uses \prog{pdftotext} to convert \PDF\ output into UTF-8-encoded
+% \watchout[type 3 bitmapped fonts]
 % text.  This process requires that UTF-8 information be embedded in the \PDF\
-% file, which usually prevents the use of older bit-mapped fonts,
+% file, which may prevent the use of older ``type 3'' bit-mapped fonts,
 % and of older packages such as \pkg{ae}.
-% \index{font>bitmapped}
-% The \pkg{lwarp} option \optn{pdftotextEnc} may also be useful in some situations.
+% The \pkg{lwarp} option \optn{pdftotextEnc} may be useful in some situations.
 % See \cref{sec:loading}.
 %
-% While using \prog{pdflatex},
-% \margintag{pdflatex, T1, UTF8}
-% \pkg{fontenc} is automatically loaded with T1 encoding.
-% \pkg{fontenc} may be loaded with an additional encoding after \pkg{lwarp}.
-% \pkg{inputenc} is automatically loaded with UTF8 encoding if if has not yet been loaded,
-% but may also be specified with another encoding such as |latin1|.
-% See the next section regarding index encoding.
-%
-% While using \prog{pdflatex}, if no font-related package is specified, the default
+% While using \DVI\ \prog{latex} or \PDF\ \prog{pdflatex},
 % \margintag{vector fonts}
-% bit-mapped Computer Modern font is used,
+% if no font-related package is specified then the default
+% Computer Modern font is used, which may be a ``type 3'' bit-mapped font which may not
+% convert well to plain text.  A ``type 1'' vector font is required.
 % \margintag{Computer Modern}%
-% \index{font>Computer Modern}\index{Computer Modern}%
+% \gindex{font>Computer Modern}\gindex{Computer Modern}%
 % \watchout[\prog{pdflatex}]%
-% so simply add
+% \watchout[DVI \prog{latex}]%
+%
+% \DescribePackage{cm-super}
+% To use the updated \pkg{cm-super}'s type 1 fonts instead of Computer Modern,
+% install the \pkg{cm-super} font package.
+%
+% \DescribePackage{lmodern}
+% To use Latin Modern instead, add
 %	\begin{sourcedisplay}
 %	|usepackage{lmodern}|
 %	\end{sourcedisplay}
-% to the preamble to enable the related vector font instead, or use
+% to the preamble.
+%
+% \DescribePackage{dejavu}
+% Another useful option is the Deja Vu series of fonts, which have
+% an increased coverage of language and glyphs:
 %	\begin{sourcedisplay}
 % |\usepackage{dejavu}|
 %	\end{sourcedisplay}
+% \gindex{Deja Vu}%
+% \gindex{font>Deja Vu}%
+% \gindex{Unicode>enhanced coverage}%
+% \gindex{UTF-8>enhanced coverage}%
 %
-% \index{Deja Vu}%
-% \index{font>Deja Vu}%
-% \index{Unicode>enhanced coverage}%
-% \index{UTF-8>enhanced coverage}%
-% or other font packages, which may provide an increased coverage of Unicode mappings.
-% Avoid bit-mapped fonts.
+% While using \DVI\ \prog{latex} or \PDF\ \prog{pdflatex},
+% \margintag{\prog{latex}, \prog{pdflatex}, T1, UTF8}
+% \pkg{fontenc} is automatically loaded with T1 encoding.
+% \pkg{fontenc} may be loaded with an additional encoding after \pkg{lwarp}.
+% \pkg{inputenc} is automatically loaded with UTF8 encoding if if has not yet been loaded,
+% but may also be specified with another encoding such as |latin1|.
+% See the next section regarding index encoding.
 %
 % \XeLaTeX{} and \LuaLaTeX{} users must use the \pkg{fontspec} package.
-% \watchout[\prog{xelatex} and \prog{lualatex}]
+% \trouble[\prog{xelatex} and \prog{lualatex}]{xelatex=xe\LaTeX}
+% \trouble{lualatex=lua\LaTeX}
+% \trouble{fontspec=\pkg{fontspec}}
 % Do NOT use \pkg{fontenc}!
 %
 % 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]
+% In some cases, \trouble[package conflicts]{font>package conflicts}
 % a package conflict may require that a font package be loaded
 % after \pkg{lwarp}, which should work as well:
 % \begin{enumerate}
@@ -5440,7 +5645,9 @@
 % the generation of \HTML\ tags, and turn off common ligatures
 % in regular text, since older browsers may not display them correctly
 % and newer browsers can automatically re-create them.
-%	\index{ligatures}\index{font>ligatures}
+% \gindex{ligatures}
+% \gindex{font>ligatures}
+% \trouble{font>ligatures}
 % \vspace{-1ex}
 % \begin{Verbatim}[gobble=2,obeytabs,tabsize=4,frame=lines]
 % \defaultfontfeatures[\rmfamily]{Ligatures={NoCommon,TeX}}
@@ -5452,7 +5659,7 @@
 % \begin{enumerate}
 % \item |\usepackage{lmodern}|, or other font-related packages
 %	\DescribePackage{lmodern}
-%	\index{font>packages}
+%	\gindex{font>packages}
 % \item |\usepackage[T1]{fontenc}|
 % \DescribePackage{fontenc}
 % \item |\usepackage[utf8]{inputenc}|, or |latin1|, etc.  Or use \pkg{inputenx}.
@@ -5479,7 +5686,7 @@
 % ^^A \margintag{ligatures}
 % ^^A browser-related reasons shown above.  Also, the monospaced font is used
 % ^^A during \HTML\ tag generation to turn off \TeX{} ligatures.
-% ^^A \index{ligatures}\index{font>ligatures}
+% ^^A \gindex{ligatures}\gindex{font>ligatures}
 % \end{enumerate}
 % \end{itemize}
 % \item |\usepackage{lwarp}| (\cref{sec:loading}) goes after any of the above, followed by:
@@ -5487,7 +5694,9 @@
 %       Many of these load \pkg{amsmath}, which must be loaded after \pkg{lwarp},
 %       so they must also be loaded after \pkg{lwarp}.
 % \item |\setmonofont{TeX Gyre Cursor}| or similar may be required if using
-%       \watchout[\pkg{fontspec} with traditional font packages]
+%       \trouble[\pkg{fontspec} with traditional font packages]{font>monospace}
+%       \trouble{font>ligatures}
+%       \trouble{ligatures}
 %       \XeLaTeX\ or \LuaLaTeX\ and \pkg{fontspec} along with
 %       traditional font packages such as \pkg{txfonts}, \pkg{newtxtext}, etc.
 %       This is required to turn off the monospaced font's ligatures
@@ -5499,8 +5708,8 @@
 %
 %
 % \subsubsection{Indexes, glossaries, and encoding}
-% \index{UTF-8>index}
-% \index{index>UTF-8}
+% \gindex{UTF-8>index}
+% \gindex{index>UTF-8}
 %
 % \pkg{lwarp} uses the \prog{xindy} program to processes indexes.
 % \prog{xelatex} and \prog{lualatex} use \prog{xindy} and
@@ -5519,7 +5728,7 @@
 %
 % \subsection{\pkg{lwarp} package loading and options}
 % \label{sec:loading}
-% \index{settings>lwarp package options}
+% \gindex{settings>lwarp=\pkg{lwarp} package options}
 % 
 % \begin{table}
 % \caption{\pkg{lwarp} package options\label{tab:options}}
@@ -5534,6 +5743,8 @@
 % 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. \\
+% PrintLatexCmd & The shell commands for \cmds{lwarpmk print}. \\
+% HTMLLatexCmd & The shell commands for \cmds{lwarpmk html}. \\
 % \midrule
 % \multicolumn{2}{l}{\small For indexing (\cref{sec:indexsetup}) and glossaries (\cref{sec:glossaries}):} \\
 % makeindex & Use \prog{makeindex} to generate indices. \\
@@ -5570,10 +5781,17 @@
 % as well as the equivalent Koma-script classes and \pkg{memoir}.
 %
 % Load the \pkg{lwarp} package immediately after the font and UTF-8 setup commands.
+%
+% Package options may be set while loading \pkg{lwarp}, or later with
+% \begin{sourcedisplay}
+% \cs{lwarpsetup}\{\meta{key=value, \dots}\}
+% \end{sourcedisplay}
+%
 % \changes{v0.16}{2016/04/08}{Docs: Moved location of \cs{usepackage\{lwarp\}}.}
 % \changes{v0.19}{2016/05/25}{Docs: Math options.}
 % \DescribePackage{lwarp}
-% \index{lwarp>loading}\index{lwarp>options}
+% \gindex{lwarp=\pkg{lwarp}>loading}
+% \gindex{lwarp=\pkg{lwarp}>options}
 %
 % \begin{description}
 %
@@ -5619,6 +5837,20 @@
 % See \cref{sec:htmlsettings}.
 %
 %
+% \item[\optn{PrintLatexCmd}:]
+% \DescribeOption{PrintLatexCmd}
+% \DescribeDefault{<automatic>} Sets the shell commands executed by \cmds{lwarpmk print}.
+%   If not specified, will automatically be set according to the detected \LaTeX\ engine
+%   and the use of \optn{-\/-shell-escape}.
+%
+%
+% \item[\optn{HTMLLatexCmd}:]
+% \DescribeOption{HTMLLatexCmd}
+% \DescribeDefault{<automatic>} Sets the shell commands executed by \cmds{lwarpmk html}.
+%   If not specified, will automatically be set according to the detected \LaTeX\ engine
+%   and the use of \optn{-\/-shell-escape}.
+%
+%
 % \item[\optn{makeindex}:]
 % \DescribeOption{makeindex}
 % \DescribeDefault{makeindex} Sets \optn{PrintIndexCmd}, \optn{HTMLIndexCmd},
@@ -5685,7 +5917,8 @@
 % \optn{xindyLanuage}, and \optn{xindyCodepage} options will be used if specified.
 %
 % If specifying \optn{PrintIndexCmd} manually,
-% \watchout[xindy]
+% \trouble{PrintIndexCmd}
+% \trouble[xindy]{xindy=\pkg{xindy}>options>PrintIndexCmd=\optn{PrintIndexCmd}}
 % be sure to assign an \prog{xindy}
 % language and codepage with the |-L| and |-C| \prog{xindy} options, as the
 % \prog{lwarp} \optn{xindyLanguage} and \optn{xindyCodepage} options are not
@@ -5710,7 +5943,7 @@
 %
 % \needspace{2\baselineskip}
 % Example settings are similar to \optn{PrintIndexCmd},
-% \watchout[filenames]
+% \trouble[filenames]{HTMLIndexCmd>filenames}
 % but append |_html| to the filenames:
 % \begin{sourcedisplay}
 % \small
@@ -5725,7 +5958,7 @@
 % \optn{xindyLanuage}, and \optn{xindyCodepage} options will be used if specified.
 %
 % If specifying \optn{HTMLIndexCmd} manually,
-% \watchout[xindy]
+% \trouble[xindy]{xindy=\pkg{xindy}>options>HTMLIndexCmd=\optn{HTMLIndexCmd}}
 % be sure to assign an \prog{xindy}
 % language and codepage with the |-L| and |-C| \prog{xindy} options, as the
 % \prog{lwarp} \optn{xindyLanguage} and \optn{xindyCodepage} options are not
@@ -5760,7 +5993,7 @@
 % shown above to compile each of multiple indexes if necessary.
 %
 % If specifying \optn{LatexmkIndexCmd} manually,
-% \watchout[xindy]
+% \trouble[xindy]{xindy=\pkg{xindy}>options>LatexmkIndexCmd=\optn{LatexmkIndexCmd}}
 % be sure to assign an \prog{xindy}
 % language and codepage with the |-L| and |-C| \prog{xindy} options, as the
 % \prog{lwarp} \optn{xindyLanguage} and \optn{xindyCodepage} options are not
@@ -5831,11 +6064,12 @@
 %
 % \subsection{Customizing the HTML output}
 % \label{sec:htmlsettings}
-% \index{settings>HTML conversion}
-% \index{HTML>conversion settings}
+% \gindex{settings>HTML conversion}
+% \gindex{HTML>conversion settings}
 %
 % \changes{v0.43}{2017/11/04}{Docs: HTML settings table.}
 % \changes{v0.43}{2017/11/06}{Docs: Reorganized HTML customization.}
+% \changes{v0.61}{2018/09/25}{Docs: HTMLDebugComments}
 % \begin{table}[p]
 % \caption{HTML settings}
 % \label{tab:htmlsettings}
@@ -5858,6 +6092,7 @@
 % \cs{HTMLFirstPageTop} & Heading for the home page. \\
 % \cs{HTMLPageTop} & Heading for the other pages. \\
 % \cs{HTMLPageBottom} & Footing for all pages. \\
+% HTMLDebugComments & Boolean to generate \HTML\ comments. \\
 % \bottomrule
 % \end{tabular}
 % \end{table}
@@ -5868,6 +6103,7 @@
 %
 % Note that if changes are made,
 % \watchout[Changes!]
+% \trouble{HTML>settings>changed}
 % it is best to first:
 % \begin{enumerate}
 % \item Clear all the \HTML, \PDF, and auxiliary files: \userentry{lwarpmk clearall}
@@ -5895,7 +6131,7 @@
 %   \margintag{filename underscores}
 %   \optn{HomeHTMLFilename} and \optn{HTMLFilename} options, but may need to be escaped
 %   elsewhere, such as when appearing in a list:
-%   \index{underscore>filename}\index{file>underscore in name}
+%   \gindex{underscore>filename}\gindex{file>underscore in name}
 %   \changes{v0.24}{2017/03/13}{Docs: Filename underscore.}
 %   \begin{sourcedisplay}
 %        \cs{item} [\cs{href}\{file\textred{\textbackslash\_}name.pdf\}\{text\}] \textbackslash
@@ -5956,12 +6192,13 @@
 %   \end{sourcedisplay}
 %
 %   If |SideTOCDepth|\,<\,|FileDepth|,
-%       \watchout[inaccessible pages]
+%       \trouble[inaccessible pages]%
+%           {HTML>missing pages>Side=\optn{SideTOCDepth} and \optn{FileDepth}}
 %       web pages will be inaccessible via the side\TOC.
-%   \index{file>inaccessible}
-%   \index{page>inacessible}
-%   \index{missing sections}
-%   \index{section>missing}
+%       \trouble{file>inaccessible}
+%       \trouble{page>inacessible}
+%       \trouble{HTML>inaccessible pages}
+%       \trouble{sectioning>missing}
 %
 % \ItemDescribeCounter{FileDepth}  \DescribeDefault{-5}
 %   Sectioning depth of file splits.
@@ -5982,10 +6219,10 @@
 %       \begin{sourcedisplay}
 %       tocdepth\,>=\,FileDepth
 %       \end{sourcedisplay}
-%       \index{file>inaccessible}
-%       \index{page>inacessible}
-%       \index{missing sections}
-%       \index{section>missing}
+%       \trouble{file>inaccessible}
+%       \trouble{page>inacessible}
+%       \trouble{HTML>inaccessible pages}
+%       \trouble{sectioning>missing}
 %   \end{itemize}
 %
 % \ItemDescribeBoolean{CombineHigherDepths}  \DescribeDefault{true}
@@ -6002,12 +6239,13 @@
 %   in this tutorial where the page which opens the chapter also contains the
 %   first section.
 %   Be careful to set |tocdepth| and |SideTOCDepth| to allow
-%   \watchout[Inaccesible pages!]
+%   \trouble[Inaccesible pages!]%
+%       {HTML>missing pages>Side=\optn{SideTOCDepth} and \optn{tocdepth}}
 %   access to each page of the website.  Set |tocdepth| and |SideTOCDepth| to be
 %   greater than or equal to |FileDepth|.
 %
 %   When making changes to the file structure,
-%   \watchout[Lost in an old page!]
+%   \trouble[Lost in an old page!]{HTML>page did not update}
 %   it is possible to end up
 %   with the web browser pointing to an old file which is no longer in use.
 %   When this occurs, changes to the web site will not appear in the browser,
@@ -6021,10 +6259,11 @@
 %   of the section names.  If false, web pages are numbered.
 %   Either way, the \optn{HTMLFilename} option is used as a prefix.
 %   See \cref{sec:filenameexamples} for examples of naming and numbering \HTML\ files.
-%   The user must ensure that filenames are unique after begin sanitized. \watchout[Unique filename!]
+%   The user must ensure that filenames are unique after begin sanitized.
+%   \trouble[Unique filename!]{HTML>missing pages>filename not unique}
 %   For example, math in the section name is removed before creating the filename,
 %   so the rest of the filename must be sufficiently unique to avoid name collisions.
-%   \index{file>unique names}
+%   \gindex{file>unique names}
 %
 % \ItemDescribeCounter{FootnoteDepth} \DescribeDefault{3}
 %   Determines where to place pending footnotes.
@@ -6033,6 +6272,10 @@
 %   Any pending footnotes are also placed at the bottom of each page
 %   before each file break.
 %
+% \ItemDescribeBoolean{HTMLDebugComments} \DescribeDefault{false}
+%   Set |true| to generate \HTML\ comments, such as which section or \element{div}
+%   is being opened or closed.
+%
 % \ItemDescribeMacro{\abstractname}  \DescribeDefault{Abstract}
 %   The name of the abstract.
 %   This may also be over-written
@@ -6113,7 +6356,8 @@
 % \ItemDescribeMacro{\tableofcontents}
 % Used to place a table of contents on the home page.
 % This command must be used before the first file split,
-% \watchout[TOC on the homepage!]
+% \trouble[TOC on the homepage!]{Table of Contents>missing}
+% \trouble{HTML>inaccessible pages}
 % so that a way is available to navigate to other files from the homepage.
 %
 % Links to each chapter/section are provided, as selected by |tocdepth|.
@@ -6124,6 +6368,7 @@
 % \item[Placed in the document wherever necessary:] \
 %
 % \begin{description}
+%
 % \ItemDescribeMacro{\mathimagename}  \DescribeDefault{math image}
 % \label{sec:mathimagename}
 %   \describemathimagename
@@ -6162,7 +6407,7 @@
 %
 % \subsubsection{Example HTML file naming}
 % \label{sec:filenameexamples}
-% \index{HTML>filename generation}
+% \gindex{HTML>filename generation}
 % \changes{v0.20}{2016/09/11}{Docs: Examples for generating \HTML\ file names.}
 %
 %   Examples of ways to name or number \HTML\ files:
@@ -6222,9 +6467,9 @@
 %       \chapter{Another Chapter}
 %       ...
 %   \end{Verbatim}
-% \index{CSS>file selection}
-% \index{CSS>per HTML page}
-% \index{settings>CSS selection}
+% \gindex{CSS>file selection}
+% \gindex{CSS>per HTML page}
+% \gindex{settings>CSS selection}
 %
 % The styles provided by \pkg{lwarp} include:
 % \begin{description}
@@ -6248,7 +6493,8 @@
 %
 % Note that |sample_project.css| is overwritten whenever \pkg{lwarp}
 % is loaded in print mode.
-% It is therefore important to rename the file \watchout[Rename it!]
+% It is therefore important to rename the file
+% \trouble[Rename it!]{sample=\filenm{sample\_projects.css}>overwritten}
 % to something like |<project>.css| before
 % using it, so that your own changes are not overwritten.
 %
@@ -6262,8 +6508,8 @@
 % It is best to make a local project-specific \CSS\ file such as |project.css|, containing only
 % things which are different from |lwarp.css|.
 % The file |project.css| should refer to |lwarp.css| as follows:
-%   \index{CSS>project-specific changes}\index{CSS>lwarp.css}
-%   \index{settings>\CSS\ project-specific}
+%   \gindex{CSS>project-specific changes}\gindex{CSS>lwarp.css=\filenm{lwarp.css}}
+%   \gindex{settings>CSS project-specific}
 % \vspace{-2ex}
 % \VerbatimInput[frame=lines]{sample_project.css}
 %
@@ -6279,7 +6525,7 @@
 % 
 % \subsection{Selecting actions for print or HTML output}
 % \label{sec:selectingoutput}
-% \index{settings>selecting output}
+% \gindex{settings>selecting output}
 % \changes{v0.15}{2016/04/05}{Docs: Clarify print/\HTML\ output.}
 %
 % The following environments and macros are used to select actions which only apply
@@ -6305,7 +6551,7 @@
 % \end{warpHTML}
 % \end{Verbatim}
 % Do \emph{not} place anything else on the same line as |\end{warpHTML}|.
-% \watchout[\texttt{\cs{end}\{warpHTML\}}]
+% \trouble[\texttt{\cs{end}\{warpHTML\}}]{warpHTML}
 % The exact phrase is used to mark the end of the environment.
 %
 % \DescribeEnv{warpprint}
@@ -6317,6 +6563,7 @@
 % \end{warpprint}
 % \end{Verbatim}
 % As above, do not place anything else on the line with |\end{warpprint}|.
+% \trouble[\texttt{\cs{end}\{warpprint\}}]{warpprint}
 %
 % \DescribeEnv{warpall}
 % Anything which is to be done for any output
@@ -6355,6 +6602,8 @@
 % \item Paragraph formatting: \cs{parindent} \cs{parskip}
 % \item Manual page positions such as the \pkg{textpos} package, which is
 %	emulated but only in a limited way.
+% \item Anything changing the |page| counter.  \pkg{lwarp} requires that the
+% |page| counter not be adjusted during \HTML\ output.
 % \end{itemize}
 %
 % Some packages require additional setup commands.  Where these packages are emulated
@@ -6370,7 +6619,7 @@
 %
 % \subsection{Title page}
 % \label{sec:settitle}
-% \index{settings>title page}
+% \gindex{settings>title page}
 %
 % In the preamble, place an additional block of code to set the following:
 % \vspace{-2em}
@@ -6403,7 +6652,8 @@
 % 
 % Avoid newlines in the \cs{title}; these will interfere with the
 % file break and \CSS\ detection.
-% \watchout
+% \trouble[newlines]{title>newlines}
+% \trouble{HTML>corrupted}
 % Use a \cs{subtitle} command instead (\cref{sec:publishedsubtitle}).
 % The title will appear in the document \cs{maketitle} as a heading \element{h1}.
 % The \HTML\ meta |title| tag will also have this title, unless \cs{HTMLTitle}
@@ -6411,8 +6661,8 @@
 %
 % \DescribeMacro{\author} \marg{author}
 %
-% In \cs{author}, use \cs{protect} before formatting commands such as \cs{textsc}.
-% \watchout
+% In \cs{author}, \cs{protect} may be needed before some formatting commands.
+% \trouble{author>formatting}
 % In \HTML, the author will appear in a \element{div} of class |author| in the
 % \cs{maketitle}.
 % If the \pkg{titling} package is used, the author will also appear in a \HTML\ meta tag, but
@@ -6435,9 +6685,9 @@
 % \subsection{HTML page meta descriptions}
 %
 % \label{sec:htmldescription}
-% \index{HTML>meta tag>description}
-% \index{description>HTML meta tag}
-% \index{meta tag, HTML>description}
+% \gindex{HTML>meta tag>description}
+% \gindex{description>HTML meta tag}
+% \gindex{meta tag, HTML>description}
 % \DescribeMacro{\HTMLDescription} \marg{A description of the web page.}
 % \quad The default is no description.
 %
@@ -6467,9 +6717,9 @@
 %
 % \subsection{HTML page meta title}
 %
-% \index{HTML>meta tag>title}
-% \index{title>HTML meta tag}
-% \index{meta tag, HTML>title}
+% \gindex{HTML>meta tag>title}
+% \gindex{title>HTML meta tag}
+% \gindex{meta tag, HTML>title}
 % \DescribeMacro{\HTMLTitle} \marg{title} \quad Sets the contents
 %   of the web page \element{meta name="title"} element.
 %   Defaults to |\HTMLtitle{\thetitle}|.
@@ -6478,9 +6728,9 @@
 %
 % \subsection{HTML page meta author}
 %
-% \index{HTML>meta tag>author}
-% \index{author>HTML meta tag}
-% \index{meta tag, HTML>author}
+% \gindex{HTML>meta tag>author}
+% \gindex{author>HTML meta tag}
+% \gindex{meta tag, HTML>author}
 % \DescribeMacro{\HTMLAuthor} \marg{author} \quad Sets the contents
 %	of the web page \element{meta name="author"} element.
 %	Defaults to |\HTMLAuthor{\theauthor}|.
@@ -6497,7 +6747,7 @@
 % \label{sec:limitations}
 %
 % \label{sec:successfulcommands}
-% \index{HTML>commands for a successful conversion}
+% \gindex{HTML>conversion suggestions}
 %
 % \changes{v0.14}{2016/03/26}{Docs: Commands for a successful \HTML\ conversion.}
 % \changes{v0.36}{2017/08/11}{Docs: Reorganized: Special cases and limitations.}
@@ -6540,7 +6790,16 @@
 % \subsection{Formatting}
 %
 % \subsubsection{Text formatting}
+% \label{sec:avoidtextformatting}
+% \gindex{code listings}
+% \gindex{program listings}
+% \gindex{listings, program code}
+% \gindex{HTML>entities, conversion}
+% \gindex{HTML>verbatim, in}
+% \gindex{verbatim>code and \HTML\ tags}
 %
+% \changes{v0.61}{2018/09/25}{Docs: HTML entities.}
+%
 % \limitstext
 %
 % \subsubsection{Horizontal space}
@@ -6565,8 +6824,6 @@
 %
 % \DescribePackage{textcomp}
 % \limitstextcomp
-% \index{font>missing symbols}
-% \index{textcomp>missing symbols}
 %
 % \subsubsection{Superscripts and other non-math uses of math mode}
 %
@@ -6576,13 +6833,13 @@
 %
 %	Use a trailing backslash: |\item[label] \|
 %   \margintag{lists}
-%	\index{item>empty}\index{list>empty item}
+%   \trouble{list>empty item}
 %
 %
 % \subsubsection{Filenames and URLs in lists or footnotes}
 %
-%	\index{underscore>filename}\index{file>underscore in name}
-%   \index{list>filename}
+%	\gindex{underscore>filename}\gindex{file>underscore in name}
+%   \gindex{list>filename}
 %	\changes{v0.24}{2017/03/13}{Docs: Filename underscore.}
 %	Escape underscores in
 %	\margintag{filename underscore}
@@ -6636,9 +6893,9 @@
 %	\DescribeMacro{\fbox}
 %	\DescribeMacro{\fboxBlock}
 %	\DescribeEnv{fminipage}
-%	\index{fbox>around a minipage}
-%	\index{minipage>framed}
-%	\index{framed objects}
+%	\gindex{minipage>framed}
+%	\gindex{framed objects}
+%   \trouble{frames}
 %	\begin{description}[style=unboxed]
 %	\item [To remove the frame in HTML output:] Place the \cs{fbox} command and
 %		its closing brace inside \env{warpprint} environments.
@@ -6668,7 +6925,7 @@
 %		in \HTML\ is problematic since a table is a \element{div} not a \element{span},
 %		so use \cs{fboxBlock} around a \env{tabular}, or else place the \env{tabular}
 %		inside a \env{minipage}, or use \env{fminipage}, described next.
-%		Also see below regarding the ``Misplaced alignment tab character \&'' error.
+%		Also see below regarding the ``Misplaced alignment tab character \&.'' error.
 %	\item [To create a framed minipage in both print and HTML:] A new environment \env{fminipage}
 %		\margintag{For display \env{tabular}, minipages, and lists:}
 %		is included.  For print output, this is identical to \env{minipage}, except that
@@ -6675,7 +6932,7 @@
 %		it is also framed.
 %		For \HTML\ output, this forms a \element{div} of class |framed|, the contents
 %		preserve their \HTML\ formatting, and valid \HTML\ is created for a \env{tabular}.
-%		Also see below regarding the ``Misplaced alignment tab character \&'' error.
+%		Also see below regarding the ``Misplaced alignment tab character \&.'' error.
 %	\item [To create colored frames and boxes:] See \cref{sec:xcolor} for \pkg{xcolor}'s
 %		\margintag{colored boxes and frames:}
 %		\cs{colorbox} and \cs{fcolorbox},
@@ -6683,7 +6940,8 @@
 %	\item [To frame tables or verbatim environments:] Place the contents
 %		inside a \env{fminipage}, or perhaps a \cs{fboxBlock} for a \env{tabular}.
 %		Also, if using \cs{fboxblock} with \env{tabular},
-%		\watchout[Misplaced alignment tab character \&]
+%		\trouble[Misplaced alignment tab character \&]
+%           {Misplaced alignment tab character \&>frames}
 %		you will have to use \cs{StartDefiningTabulars}
 %		before the start of the macro which uses \cs{fboxBlock} and the \env{tabular},
 %		and \cs{StopDefiningTabulars} afterwards.
@@ -6722,13 +6980,11 @@
 %
 % \subsection{Cross-references}
 %
-% \index{math>labels --- valid characters}
-% \index{label>valid characters}
 % \limitsreferences
 %
 % \subsubsection{Page references} The printed page does not translate
 % to the \HTML\
-% \watchout[\LaTeX\ page numbers]
+% \trouble[\LaTeX\ page numbers]{page counter>references}
 % page, so \cs{pageref} references are converted to parentheses containing
 % \cs{pagerefPageFor}, which defaults to ``see~'',
 % followed by a hyperlink to the appropriate
@@ -6765,16 +7021,15 @@
 % \subsubsection{Footnotes and page notes}
 % \label{sec:limitsfootnotes}
 %
-% \index{footnotes>misnumbered}
-% \index{footnotes>in sectioning commands}
+% \trouble{footnote>misnumbered}
+% \trouble{footnote>in sectioning command}
 %
 % \limitsfootnotes
 %
-% \index{footnotes>verbatim}
-% \index{verbatim>footnotes}
-% \index{footnotes>in sectioning commands}
-% \index{footnotes>in math}
-% \index{math>footnotes}
+% \trouble{footnote>verbatim}
+% \trouble{verbatim>footnote}
+% \trouble{footnote>in math}
+% \trouble{math>footnote}
 % \limitsverbatimfootnotes
 %
 % \limitspfnote
@@ -6789,7 +7044,7 @@
 % \changes{v0.51}{2018/03/04}{Docs: Multiple authors and affiliations.}
 %
 % Some classes allow multiple authors and affiliations.
-% \index{author>multiple}\index{affiliation>multiple authors}
+% \gindex{author>multiple}\gindex{affiliation>multiple authors}
 % Often it is possible to emulate these using a standard class
 % along with \pkg{authblk}:
 % \begin{sourcedisplay}
@@ -6833,7 +7088,8 @@
 % webpage after the \acro{TOC} entry is created, or when creating an \EPUB\ where
 % the \acro{TOC} entry will point to the page before the starred section.
 % If the starred section has its own \HTML\ page but no correct \acro{TOC} entry
-% \watchout[inaccessible \HTML\ page]
+% \trouble[inaccessible \HTML\ page]{HTML>inaccessible pages>starred section}
+% \trouble{sectioning>starred section}
 % pointing to that page, the page will be inaccessible unless some other link is created.
 %
 % \DescribeMacro{\ForceHTMLTOC}
@@ -6887,9 +7143,6 @@
 %
 % \subsubsection{BibTeX}
 % \label{sec:limitsbibtex}
-% \index{BibTeX>\cs{etalchar} error}
-% \index{error>Improper \cs{prevdepth}.}
-% \index{Improper \cs{prevdepth}.}
 % \DescribeMacro{\etalchar} Displays a superscript ``+'' to indicate ``and others''.
 % \changes{v0.54}{2018/03/09}{Docs: BibTeX.}
 %
@@ -6900,9 +7153,9 @@
 % \label{sec:glossaries}
 %
 % \DescribePackage{glossaries}
-% \index{glossary>options}
-% \index{language>glossary}
-% \index{glossary>language}
+% \gindex{glossary>options}
+% \gindex{language>glossary}
+% \gindex{glossary>language}
 % \limitsglossaries
 %
 %
@@ -6937,7 +7190,7 @@
 %
 % See \cref{sec:index} for \pkg{lwarp}'s core index and glossary code,
 % \margintag{source code}
-% \index{index>source code}
+% \gindex{index>source code}
 % \cref{sec:indexpkg} for \pkg{index},
 % \cref{sec:splitidx} for \pkg{splitidx},
 % \cref{sec:imakeidx} for \pkg{imakeidx},
@@ -6951,12 +7204,12 @@
 % \changes{v0.38}{2017/08/24}{Docs: Index, \pkg{tocbibind}.}
 % \changes{v0.58}{2018/06/14}{Docs: Index, \prog{makeindex}, \pkg{imakeidx}.}
 %
-% \index{xindy>and hyperref}
-% \index{hyperref>and xindy}
-% \index{index>xindy and hyperref}
-% \index{index>missing entries}
-% \index{index>see, seealso, ranges}
-% \index{index>processing}
+% \gindex{xindy=\pkg{xindy}>and \pkg{hyperref}}
+% \gindex{hyperref=\pkg{hyperref}>and \pkg{xindy}}
+% \gindex{index>xindy=\pkg{xindy} and \pkg{hyperref}}
+% \trouble{index>missing entries}
+% \gindex{index>see, seealso, ranges}
+% \gindex{index>processing}
 %
 % The following allow the user to process indexes automatically, or
 % \margintag{\prog{lwarpmk} processing}
@@ -7184,7 +7437,7 @@
 %     Shell escape is required while using \prog{splitindex}.
 %     For the first compile, use
 %       \watchout[enable shell escape]
-%     \userentry{pdflatex \textred{-shell-escape} projectname.tex}
+%     \userentry{pdflatex \textred{-\/-shell-escape} projectname.tex}
 %     \userentry{pdflatex \textred{-\/-enable-write18} projectname.tex \quad \textrm{(MikTeX)}}
 %     or similar with \prog{xelatex} or \prog{lualatex}.
 %     \prog{lwarp} will remember that shell escape was used.
@@ -7219,7 +7472,7 @@
 %     \end{sourcedisplay}
 %     For the first compile, use
 %       \watchout[enable shell escape]
-%     \userentry{pdflatex \textred{-shell-escape} projectname.tex}
+%     \userentry{pdflatex \textred{-\/-shell-escape} projectname.tex}
 %     \userentry{pdflatex \textred{-\/-enable-write18} projectname.tex \quad \textrm{(MikTeX)}}
 %     or similar with \prog{xelatex} or \prog{lualatex}.
 %     \prog{lwarp} will remember that shell escape was used.
@@ -7439,9 +7692,9 @@
 % \DescribeProgram{makeindex}
 % \DescribeFile{lwarp.ist}
 % When using \prog{makeindex}, \prog{lwarpmk} uses the file |lwarp.ist| to process the index.
-% \index{lwarp.ist>customizing}
-% \index{makeindex>customizing}
-% \index{index>custom \pkg{makeindex} style file}
+% \gindex{lwarp.ist=\filenm{lwarp.ist}>customizing}
+% \gindex{makeindex>customizing}
+% \gindex{index>custom \pkg{makeindex} style file}
 % This file is over-written by \pkg{lwarp} whenever a print version of
 % the document is processed.
 %
@@ -7475,9 +7728,9 @@
 % \DescribeProgram{xindy}
 % \DescribeFile{lwarp.xdy}
 % When using \prog{xindy}, \prog{lwarpmk} uses the file |lwarp.xdy| to process the index.
-% \index{lwarp.xdy>customizing}
-% \index{xindy>customizing}
-% \index{index>custom \pkg{xindy} style file}
+% \gindex{lwarp.xdy=\filenm{lwarp.xdy}>customizing}
+% \gindex{xindy=\pkg{xindy}>customizing}
+% \gindex{index>custom \pkg{xindy} style file}
 % This file is over-written by \pkg{lwarp} whenever a print version of
 % the document is processed.
 %
@@ -7515,7 +7768,11 @@
 % 
 % \subsubsection{Additional indexing limitations}
 % \prog{xindy} and \pkg{hyperref} may not work well together for print output
-% \margintag{\pkg{xindy} with \pkg{hyperref}}
+% \trouble[\pkg{xindy} with \pkg{hyperref}]{xindy=\pkg{xindy}>hyperref=\pkg{hyperref}}
+% \trouble{index>xindy=\pkg{xindy} and \pkg{hyperref}}
+% \trouble{index>see and seealso}
+% \trouble{index>reference ranges}
+% \trouble{index>styling references}
 % with ``see'', ``see also'', reference ranges, or stylized index references.
 % It may be necessary to turn off hyper-referencing for indexes:
 % \begin{sourcedisplay}
@@ -7523,9 +7780,9 @@
 % \end{sourcedisplay}
 % 
 % If an \HTML\ index is empty, it may be necessary to add the following
-% \watchout[empty index]
+% \trouble[empty index]{index>empty}
+% \trouble{morewrites=\pkg{morewrites}}
 % before \pkg{lwarp} is loaded:
-% \index{index>empty}
 % \begin{sourcedisplay}
 % \textred{\cs{usepackage}\{morewrites\}} \\
 % \textred{\cs{morewritessetup}\{allocate=10\}} \\
@@ -7534,7 +7791,7 @@
 % \end{sourcedisplay}
 % 
 % When using \prog{makeindex}, custom display styles are possible:
-% \index{index>custom display styles}
+% \gindex{index>custom display styles}
 % \margintag{\prog{makeindex} custom display styles}
 % \begin{sourcedisplay}
 % \cs{begin}\{warpprint\} \\
@@ -7572,26 +7829,32 @@
 % \label{sec:mathcatcode}
 % \limitsmathcatcode
 %
-% \subsubsection{Dynamic math}
+% \subsubsection{Complicated inline math objects}
 % \label{sec:mathdynamic}
-% \limitsmathdynamic
+% \gindex{inline math>complicated objects}
+% \gindex{math>inline with complicated objects}
+% \gindex{math>dynamic}
+% \gindex{dynamic math}
+% \limitsmathinline
 %
-% \subsubsection{Display math}
+% \subsubsection{Complicated display math objects}
 % \label{sec:displaymathother}
-% \index{math>\cs{displayingmath}}\index{math>\cs{displayingmore}}
-% \index{display math>complicated objects}
-% \index{math>display with complicated objects}
-% \index{tikz>in display math}
-% \index{math>\tikz}\index{equation>with \tikz}
-% \index{MathJax>errors}\index{HTML>alt tags}\index{alt tags}
+% \gindex{display math>complicated objects}
+% \gindex{math>display with complicated objects}
+% \gindex{math>dynamic}
+% \gindex{dynamic math}
+% \trouble{math>\tikz}
+% \trouble{tikz>in math}
+% \trouble{MathJax=\brand{MathJax}>errors}
+% \trouble{HTML>alt tags}
+% \trouble{alt tags}
 %
-% \describedisplaymathother
+% \limitsmathdisplay
 %
 % \subsubsection{\pkg{chemformula} package}
 % \limitschemformula
-% \index{chemformula>troubleshooting}
-% \index{array>\pkg{chemformula}}
-% \index{math>\pkg{chemformula}}
+% \trouble{array>chemformula=\pkg{chemformula}}
+% \trouble{math>chemformula=\pkg{chemformula}}
 %
 % \subsubsection{\pkg{mhchem} package}
 %
@@ -7675,6 +7938,20 @@
 % \limitspdftricks
 %
 %
+% \subsubsection{\pkg{psfrag} package}
+%
+% \DescribePackage{psfrag}
+% \trouble{psfrag=\pkg{psfrag}}
+% \limitspsfrag
+%
+%
+% \subsubsection{\pkg{pstool} package}
+%
+% \DescribePackage{pstool}
+% \trouble{pstool=\pkg{pstool}}
+% \limitspstool
+%
+%
 % \subsubsection{\pkg{overpic} package}
 %
 % \DescribePackage{overpic}
@@ -7683,8 +7960,6 @@
 %
 % \subsection{Tabbing}
 % \limitstabbing
-% \index{tabbing>and math}
-% \index{math>\env{tabbing}}
 %
 %
 % \subsection{Tabular}
@@ -7715,10 +7990,6 @@
 %
 % \subsubsection{Float contents alignment}
 %
-% \index{float>text alignment}
-% \index{figure>text alignment}
-% \index{table>text alignment}
-% \index{alignment>figure or table}
 % \limitsfloatalignment
 %
 %
@@ -7768,14 +8039,10 @@
 %
 % \DescribeClass{memoir}
 % \limitsmemoir
-% \index{memoir>options clash}
-% \index{options clash, memoir}
-% \index{error>Options clash, memoir}
 %
 %
-% \subsection{Miscellaneous}
+% \subsection{Miscellaneous packages}
 %
-%
 % \subsubsection{\pkg{verse} and \pkg{memoir}}
 %
 % \DescribePackage{verse}
@@ -7825,11 +8092,212 @@
 % \changes{v0.45}{2017/12/09}{Docs: \pkg{xparse} warnings.}
 % \DescribePackage{xparse}
 % \limitsxparse
-% \index{xparse>warnings}
+% \gindex{xparse=\pkg{xparse}>warnings}
 %
 %
+%
 % \clearpage
 %
+% \section{Compiling using custom shell commands}
+% \label{sec:customcompiling}
+% \gindex{compiling>custom}
+%
+% \changes{v0.61}{2018/09/21}{Docs: Compiling using custom shell commands.}
+%
+% \pkg{lwarp} and \prog{lwarpmk} try to make it easy to process
+% print and \HTML\ compilation tasks in most situations.
+% Depending on the operating system, command-line options, \TeX\ engine,
+% and \pkg{lwarp} options, the commands \cmds{lwarpmk print} and
+% \cmds{lwarpmk html} are automatically set up to correctly recompile the project.
+% These actions may be overridden using \pkg{lwarp} options, thus allowing the use
+% of packages such as \pkg{perltex} and \pkg{pythontex}.
+%
+% \subsection{Command options}
+%
+% \DescribeOption{PrintLatexCmd}
+% \DescribeOption{HTMLLatexCmd}
+% The \pkg{lwarp} options \optn{PrintLatexCmd} and \optn{HTMLLatexCmd}
+% are used to set customized commands to be executed by
+% \cmds{lwarpmk print} and \cmds{lwarpmk html}.
+% \begin{description}
+% \item [\optn{PrintLatexCmd}] should be set to shell commands which take \filenm{project.tex}
+%     and generate \filenm{project.pdf}.
+% \item[\optn{HTMLLatexCmd}] should be set to take \filenm{project\_html.tex} and
+%     generate \filenm{project\_html.pdf}.
+%     \prog{lwarpmk} will then take \filenm{project\_html.pdf} and
+%     automatically convert it and generate \filenm{project.html}.
+% \end{description}
+%
+% \subsection{Literal character macros}
+% The \pkg{lwarp} package options are parsed by \TeX, and so some characters
+% require the use of a special macro to represent them.  See \cref{tab:literalchars}.
+% \cs{LWRopquote} and \cs{LWRopseq} may be used to increase operating-system portability.
+% \cs{jobname} must have |_html| appended for processing \HTML.
+% \cs{space} may be necessary between other macros.
+%
+% To use these macros, either \pkg{kvoptions-patch} must be loaded before \pkg{lwarp}:
+% \trouble[macro not found]{LWRopseq=\cs{LWRopseq}}
+% \trouble{LWRpercent=\cs{LWRpercent}}
+% \trouble{LWRdollar=\cs{LWRdollar}}
+% \trouble{LWRhash=\cs{LWRhash}}
+% \trouble{LWRbackslash=\cs{LWRbackslash}}
+% \trouble{LWRopquote=\cs{LWRopquote}}
+% \begin{Verbatim}[gobble=2,obeytabs,tabsize=4,frame=lines]
+% \usepackage{kvoptions-patch}
+% \usepackage[
+%     PrintLatexCmd={ ... } ,
+%     HTMLLatexCmd={ ... }
+% ]{lwarp}
+% \end{Verbatim}
+% \needspace{18\baselineskip}
+% or \cs{lwarpsetup} must be used to set \optn{PrintLatexCmd} and \optn{HTMLLatexCmd}:
+% \begin{Verbatim}[gobble=2,obeytabs,tabsize=4,frame=lines]
+% \usepackage[...]{lwarp}
+% \lwarpsetup{
+%   PrintLatexCmd=
+%       {
+%           latex tm \LWRopseq
+%           dvips -o tm-pics.ps tm.dvi \LWRopseq
+%           ps2pdf tm-pics.ps \LWRopseq
+%           pdflatex tm.tex
+%       } ,
+%   HTMLLatexCmd=
+%       {
+%           latex tm_html \LWRopseq
+%           dvips -o tm_html-pics.ps tm_html.dvi \LWRopseq
+%           ps2pdf tm_html-pics.ps \LWRopseq
+%           pdflatex tm_html.tex
+%       }
+% }
+% \end{Verbatim}
+%
+% \begin{table}
+% \centering
+% \caption{Literal character macros}
+% \label{tab:literalchars}
+% \begin{tabular}{cll}
+% Character & Macro & Comment \\
+% |%| & \cs{LWRpercent} & \\
+% |$| & \cs{LWRdollar} & \\
+% |&| & \cs{LWRamp} & \\
+% |%| & \cs{LWRhash} & \\
+% |\| & \cs{LWRbackslash} & \\
+% \texttt{\textquotesingle} or |"| & \cs{LWRopquote} & Depends on the operating system. \\
+% |&| or |&&| & \cs{LWRopseq} & Depends on the operating system. \\
+% (space) & \cs{space} & Forces an extra space. \\
+% (jobname) & \cs{jobname} & Without file extension. \\
+% \end{tabular}
+% \hrule
+% \end{table}
+%
+%
+% \needspace{6\baselineskip}
+%
+% \subsection{\prog{latexmk}}
+%
+% \DescribeProgram{latexmk}
+% If \prog{latexmk} is used for a project, it may be easiest to continue
+% using it.
+% \begin{description}
+% \item[\cmds{latexmk project.tex}] would create \filenm{project.pdf} as normal.
+% \item[\cmds{latexmk project\_html.tex}] would create \filenm{project\_html.pdf},
+%   then
+% \item [\cmds{lwarpmk pdftohtml project\_html.pdf}] would take
+%   \filenm{project\_html.pdf} and convert it to \filenm{project.html}.
+% \end{description}
+%
+% \prog{latexmk} may simplify the use of packages such as \pkg{sagetex}.
+% \DescribePackage{sagetex}
+%
+%
+% \subsection{\pkg{perltex} package}
+%
+% The \pkg{lwarp} package option settings to use \pkg{perltex} would be similar to:
+% \DescribePackage{perltex}
+% \begin{sourcedisplay}
+% \cs{usepackage}[ \\
+% \fquad \dots \\
+% \fquad PrintLatexCmd=\{perltex -latex=pdflatex project.tex\} , \\
+% \fquad HTMLLatexCmd=\{perltex -latex=pdflatex project\textgreen{\_html}.tex\} , \\
+% \fquad \dots \\
+% ]\{lwarp\}
+% \end{sourcedisplay}
+%
+% Place \pkg{perltex} math expressions between
+% \trouble[``impure'' math]{perltex=\pkg{perltex}}
+% \cs{displaymathother} and \cs{displaymathnormal}, or
+% \cs{inlinemathother} and \cs{inlinemathnormal}.
+% See \cref{sec:displaymathother}.
+%
+%
+% \subsection{\pkg{pythontex} package}
+%
+% \DescribePackage{pythontex}
+% An example using \pkg{pythontex}:
+% \begin{sourcedisplay}
+% \cs{usepackage}[ \\
+% \fquad \dots \\
+% \fquad PrintLatexCmd=\{ \\
+%     \fqquad pdflatex project.tex \cs{LWRopseq} \\
+%     \fqquad pythontex project \cs{LWRopseq} \\
+%     \fqquad pdflatex project.tex \\
+% \fquad \} , \\
+% \fquad HTMLLatexCmd=\{ \\
+%     \fqquad pdflatex project\textgreen{\_html}.tex \cs{LWRopseq} \\
+%     \fqquad pythontex project\textgreen{\_html} \cs{LWRopseq} \\
+%     \fqquad pdflatex project\textgreen{\_html}.tex \\
+% \fquad \} , \\
+% \fquad \dots \\
+% ]\{lwarp\}
+% \end{sourcedisplay}
+%
+% Another possibility is to use \prog{latexmk}, placing the
+% \cmds{latexmk \dots} commands in the \optn{PrintLatexCmd} and \optn{HTMLLatexCmd}
+% options.
+% While using these options, the \pkg{lwarp} option \optn{latexmk} would not be used.
+%
+% No attempt has yet been made to make \pkg{pythontex} robust with \HTML\ output.
+% Some math objects must be surrounded by
+% \trouble[``impure'' math]{pythontex=\pkg{pythontex}}
+% \cs{displaymathother} \dots \cs{displaymathnormal},
+% or \cs{inlinemathother} \dots \cs{inlinemathnormal}.
+% Displays of code may have to be
+% enclosed inside a \env{lateximage} environment
+% \watchout[HTML look-alike]
+% to prevent |<|, |>| and similar from being interpreted by the browser
+% as \HTML\ entities.
+%
+%
+% \subsection{Other packages}
+%
+% \DescribePackage{sympytex}
+% \DescribePackage{rterface}
+% Other packages such as \pkg{sympytex} and \pkg{rterface} would be set up
+% similar to \pkg{pythontex}, and the same warnings would apply.
+% \trouble{sympytex=\pkg{sympytex}}
+% \trouble{rterface=\pkg{rterface}}
+%
+%
+% \subsection{\prog{make} program}
+% \gindex{make utility}
+%
+% \DescribeProgram{make}
+% To use \pkg{lwarp} with the \prog{make} program,
+% have the \filenm{makefile} take \filenm{project.tex} and
+% generate the print version \filenm{project.pdf}, as normal.
+% |\usepackage{lwarp}| must be used, and it generates \filenm{lwarpmk.conf}
+% when the print version is created.
+%
+% To generate \HTML, first have \filenm{project\_html.tex} be compiled to
+% generate \filenm{project\_html.pdf}.
+% This must be in \PDF\ format.
+% Finally, have \filenm{project\_html.pdf} be converted to \HTML\ using
+% \cmds{lwarpmk pdftohtml project\_html.pdf},
+% and convert \SVG\ math with \cmds{lwarpmk limages}.
+%
+%
+% \clearpage
+%
 % \section{EPUB conversion}
 % \label{sec:epub}
 %
@@ -7856,8 +8324,8 @@
 %	via an external program. Removes per-file headers, footers, and nav.
 %	Adds footnotes per chapter/section.
 % \end{docsidebar}
-%	\index{EPUB>HTML conversion settings}
-%	\index{HTML>conversion settings>EPUB}
+%	\gindex{EPUB>HTML conversion settings}
+%	\gindex{HTML>conversion settings>EPUB}
 %
 % To help convert \pkg{lwarp} \HTML\ output to \EPUB, add
 %	\begin{sourcedisplay}
@@ -7878,11 +8346,14 @@
 %
 % The resulting files will be ready to be loaded into an \EPUB\ conversion
 % program, such as the open-source program \prog{Calibre} (\url{https://calibre-ebook.com/}).
-% \index{Calibre}\index{EPUB>conversion software}\margintag{\prog{Calibre}}
+% \gindex{Calibre=\prog{Calibre}}
+% \gindex{EPUB>conversion software}\margintag{\prog{Calibre}}
 %
 % The \EPUB\ conversion program must know what order the files are included.
 % For \pkg{lwarp} projects, set the \EPUB\ conversion software to
-% \watchout[search order]
+% \trouble[search order]{EPUB>search order}
+% \trouble{EPUB>page order}
+% \trouble{Calibre=\prog{Calibre}>EPUB conversion}
 % do a breadth-first search of the files.
 % For \prog{Calibre}, this option is found in
 % \begin{UIdisplay}
@@ -7889,12 +8360,12 @@
 %	\textsf{Preferences $\to$ Plugins $\to$ File type plugins $\to$ HTML to Zip}
 % \end{UIdisplay}
 % Check the box \textsf{Add linked files in breadth first order.}
-% Set the document encoding as |utf-8|\watchout[encoding],
+% Set the document encoding as |utf-8|\trouble[encoding]{EPUB>encoding},
 % which is what \pkg{lwarp} generates for \HTML,
 % even if the original printed document uses some other encoding.
 % 
 % The \EPUB-conversion program must also know where the section breaks are located.
-% \watchout[section breaks]
+% \trouble[section breaks]{EPUB>section breaks}
 % For a list of \pkg{lwarp}'s section headings,
 % see \cref{tab:depthsheadings}.
 % For example, an |article|
@@ -7946,10 +8417,12 @@
 %
 % \section{Word-processor conversion}
 % \label{sec:wordprocessorconversion}
-%   \index{word processor>HTML conversion settings}
-%   \index{HTML>conversion settings>word processor}
-%   \index{LibreOffice>import into}
-%   \index{export>to word processor}
+%   \gindex{word processor>HTML conversion settings}
+%   \gindex{HTML>conversion settings>word processor}
+%   \gindex{LibreOffice=\brand{LibreOffice}>import into}
+%   \gindex{export>to word processor}
+%   \trouble{word processor>import}
+%   \trouble{LibreOffice=\prog{LibreOffice}>import}
 %
 % \pkg{lwarp} may be told to modify its \HTML\ output to make it
 % easier to import the \HTML\ document into a word processor.
@@ -8132,6 +8605,8 @@
 %
 % \DescribeBoolean{WPMarkMath} \DescribeDefault{false}
 % \DescribeProgram{TeXMaths}
+% \trouble{TeXMaths}
+% \trouble{siunitx>with TeXMaths}
 %   \margintag{siunitx}
 %   \begin{docsidebar}[\texttt{WPMarkMath}]
 %   \raggedright
@@ -8144,8 +8619,8 @@
 %   in the \prog{TeXMaths} preamble.
 %   Equation numbering is problematic for \AmS\ math environments.
 %   \end{docsidebar}
-%   \index{siunitx>with \prog{TeXMaths}}
-%   \index{math>word processor conversion}
+%   \gindex{siunitx>with \prog{TeXMaths}}
+%   \gindex{math>word processor conversion}
 %
 %
 % \newcommand*{\describeWPTitleHeading}{
@@ -8165,10 +8640,12 @@
 %   \raggedright
 %   \describeWPTitleHeading
 %   \end{docsidebar}
-% \index{section>heading, word processor}
-% \index{heading, word processor}
-% \index{word processor>section headings}
-% \index{LibreOffice>section headings}
+% \gindex{section>heading, word processor}
+% \gindex{heading, word processor}
+% \gindex{word processor>section headings}
+% \gindex{LibreOffice=\brand{LibreOffice}>section headings}
+% \trouble{sectioning>word processor import}
+% \trouble{word processor>sectioning headings}
 %
 % \begin{table}
 % \centering
@@ -8203,8 +8680,8 @@
 % \end{table}
 %
 % \subsection{Recommendations}
-%   \index{word processor>conversion recommendations}
-%   \index{LibreOffice>conversion recommendations}
+%   \gindex{word processor>conversion recommendations}
+%   \gindex{LibreOffice=\brand{LibreOffice}>conversion recommendations}
 %
 % For use with \prog{LibreOffice Writer}, it is recommended to:
 % \margintag{TOC, LOF, LOT}
@@ -8317,7 +8794,7 @@
 % \margintag{index recreation}
 % \begin{Verbatim}[gobble=2,obeytabs,tabsize=4,frame=lines]
 % makeindex -s gglo.ist -o lwarp.gls lwarp.glo
-% makeindex -s gind.ist lwarp.idx
+% splitindex lwarp.idx -- -s gind.ist
 % \end{Verbatim}
 %
 %
@@ -8391,10 +8868,10 @@
 %
 % \subsection{Modifying a package for \pkg{lwarp}}
 %
-% \index{package>modifying for \pkg{lwarp}}
-% \index{modifying>package}
-% \index{adapting>package}
-% \index{converting>package}
+% \gindex{package>modifying for \pkg{lwarp}}
+% \gindex{modifying>package}
+% \gindex{adapting>package}
+% \gindex{converting>package}
 %
 % If a class loads additional packages, it will be required to modify the
 % class for \pkg{lwarp}, since \pkg{lwarp} must be loaded before most other packages.
@@ -8471,10 +8948,10 @@
 %
 % \subsection{Modifying a class for \pkg{lwarp}}
 %
-% \index{class>modifying for \pkg{lwarp}}
-% \index{modifying>class}
-% \index{adapting>class}
-% \index{converting>class}
+% \gindex{class>modifying for \pkg{lwarp}}
+% \gindex{modifying>class}
+% \gindex{adapting>class}
+% \gindex{converting>class}
 %
 % If a class loads additional packages, it will be required to modify the
 % class for \pkg{lwarp}, since \pkg{lwarp} must be loaded before most other packages.
@@ -8527,7 +9004,7 @@
 % \DescribeProgram{lwarpmk}
 % \DescribeFile{lwarpmk.lua}
 % In most installations, \filenm{lwarpmk.lua} is an executable file located somewhere
-% \index{lwarpmk>customizing}
+% \gindex{lwarpmk=\prog{lwarpmk}>customizing}
 % the operating system knows about, and it is called by typing ``|lwarpmk|'' into
 % a terminal.
 %
@@ -8551,9 +9028,9 @@
 % ^^A *troubleshooting
 % \section{Troubleshooting}
 % \label{sec:troubleshooting}
-% \index{FAQ}\index{Frequently Asked Questions}\index{bugs}
-% \index{troubleshooting}\index{problems}\index{error messages}
-% \index{debugging}
+% \gindex{FAQ}\gindex{Frequently Asked Questions}\gindex{bugs}
+% \gindex{troubleshooting}\gindex{problems}\gindex{error messages}
+% \gindex{debugging}
 %
 % \subsection{Using the \pkg{lwarp.sty} package}
 %
@@ -8569,13 +9046,17 @@
 %
 % \begin{description}
 %
-% \item [Text is not converting:] ~
+% \item [Text is not converting correctly / corrupted \HTML\ tags:] ~
+%   \trouble{HTML>corrupted}
 %	\begin{itemize}
 %	\item Font-related UTF-8 information must be embedded in the \PDF\ file.
-%		See \cref{sec:fonts} regarding vector fonts.
+%		See \cref{sec:fonts} regarding bitmapped vs. vector fonts.
+%   \item See \cref{sec:avoidtextformatting} regarding \HTML\ entities and
+%       the characters |&|, |<|, and |>|.
 %	\end{itemize}
 %
 % \item [Undefined HTML settings:] \
+%   \trouble{HTML>settings>undefined}
 %	\begin{itemize}
 %	\item See the warning regarding the placement of the \HTML\ settings
 %		at \cref{sec:htmlsettings}.
@@ -8591,14 +9072,14 @@
 %		    to generate an \HTML\ version.
 %
 %       \item [\texttt{\cs{end}\{warpHTML\}, \cs{end}\{warpprint\}, \cs{end}\{warpall\}}:]
+%           \trouble{warpHTML}\trouble{warpprint}\trouble{warpall}
 %           Each of these must be without any other characters on the same line.
 %
 %       \item [Options clash:] If using \pkg{memoir}, see \cref{sec:limitsmemoir}.
 %
 %       \item [``No room for a new \cs{write}.'':] Before |\usepackage{lwarp}|, add:
-%           \index{error>No Room for a new \cs{write}.}
-%           \index{No room for a new \cs{write}.}
-%           \index{morewrites>No room for a new \cs{write}.}
+%           \trouble{No room for a new \cs{write}}
+%           \trouble{morewrites}
 %           \begin{sourcedisplay}
 %           \cs{usepackage}\{morewrites\} \\
 %           \cs{morewritessetup}\{allocate=10\}
@@ -8606,8 +9087,9 @@
 %
 %       \item [``Missing \$ inserted.'':] If using a filename or URL in a
 %           footnote or \cs{item}, escape underscores with \cs{\_}.
-%           \index{error>Missing \$ inserted.}
-%           \index{Missing \$ inserted.}
+%           \trouble{Missing \$ inserted>filename or URL}
+%           \trouble{URL>Missing \$ inserted}
+%           \trouble{filename>Missing \$ inserted}
 %
 %       \item [``Label(s) may have changed. Rerun to get cross-references right.'':] \
 %
@@ -8616,18 +9098,15 @@
 %           \begin{sourcedisplay}
 %           \cs{textit}\{X\}\cs{,}=\cs{,}1
 %           \end{sourcedisplay}
-%           \index{error>Label(s) may have changed.}
-%           \index{Label(s) may have changed}
+%           \trouble{Label(s) may have changed}
 %
 %         \item [``Leaders not followed by proper glue'':] This can be caused by
 %         a missing |l@<floattype>| or |l@<sectiontype>| definition.
 %         See \pkg{lwarp}'s definitions for examples.
-%           \index{error>Leaders not followed by proper glue.}
-%           \index{Leaders not followed by proper glue.}
+%           \trouble{Leaders not followed by proper glue}
 % 
 %         \item [``Improper \cs{prevdepth}'':]
-%           \index{error>Improper \cs{prevdepth}.}
-%           \index{Improper \cs{prevdepth}.}
+%           \trouble{Improper \cs{prevdepth}>boxes}
 %           \env{lateximage}s and \SVG\ math require \cs{newpage}, which
 %           cannot work inside \TeX\ boxes or \cs{ensuremath}.
 %           Anything using \cs{newsavebox}, \cs{newbox}, \env{lrbox},
@@ -8634,13 +9113,17 @@
 %           \cs{savebox}, \cs{hbox}, \cs{vbox}, \cs{usebox}, \cs{sbox},
 %           etc., must be modified to work without box commands.
 %
-%         If you find something using \cs{ensuremath}, have it temporarily set:
-%         \begin{sourcedisplay}
-%         \cs{LetLtxMacro}\cs{@ensuredmath}\cs{LWR at origensuredmath}
-%         \end{sourcedisplay}
-%         inside a group first.
+%           \trouble{ensuremath=\cs{ensuremath}}
+%           If you find something using \cs{ensuremath}, have it temporarily set:
+%           \begin{sourcedisplay}
+%           \cs{LetLtxMacro}\cs{@ensuredmath}\cs{LWR at origensuredmath}
+%           \end{sourcedisplay}
+%           inside a group first.
 %
-%           Also, custom macros which appear inside a section, \watchout[custom macros in section names]
+%           Also, custom macros which appear inside a section,
+%           \trouble[macros in section,table,figure names]{sectioning>macro in name}
+%           \trouble{table>macro in name}
+%           \trouble{figure>macro in name}
 %           figure, or table name should be
 %           made robust since they appear inside the \filenm{.toc}, \filenm{.lof}, or
 %           \filenm{.lot} files.
@@ -8654,7 +9137,7 @@
 %           if using \pkg{polyglossia}.
 %
 %       \item[``\texttt{\cs{begin}\{equation\} ended by \cs{end}\{document\}}'':] Do not
-%           \watchout[custom macros for environments]
+%           \trouble[custom macros for environments]{math>custom macros}
 %           use custom macros such as \cs{beq} and \cs{eeq} to replace
 %           \begin{sourcedisplay}
 %           \cs{begin}\{equation\} \\
@@ -8667,24 +9150,34 @@
 %           define new macros for print and \HTML\ modes, see \cref{sec:definingprinthtml}
 %           regarding \cs{LWR at expandableformatted}.
 %
-%       \item[Complicated objects inside display math:] Some objects, such as \tikz,
-%           \watchout[display math]
-%           may not compile in \pkg{lwarp}'s normal display math emulation.
+%       \item[Complicated objects inside math:] Some objects, such as \tikz,
+%           \trouble[``impure'' math objects]{math>non-math contents}
+%           may not compile in \pkg{lwarp}'s normal math emulation.
 %           Insert
 %           \begin{sourcedisplay}
-%           \cs{displaymathother}
+%           \cs{displaymathother} \textrm{-or-} \cs{inlinemathother}
 %           \end{sourcedisplay}
-%           before  the display math environment, and then
+%           before the math, and then
 %           \begin{sourcedisplay}
-%           \cs{displaymathnormal}
+%           \cs{displaymathnormal} \textrm{-or-} \cs{inlinemathnormal}
 %           \end{sourcedisplay}
 %           when displaying ``normal'' math.
 %           See \cref{sec:displaymathother}.
+%       \item[Slow compliation of math objects:] Complicated math objects
+%           \trouble{math>slow or failed compile}
+%           \trouble{math>alt tags}
+%           \trouble{alt tags}
+%           can also cause problems with \attribute{alt} tags, resulting in
+%           very slow compilation, large \attribute{alt} tags, and possible
+%           crashes.  Use \cs{inlinemathother} \dots \cs{inlinemathnormal} or
+%           \cs{displaymathother} \dots \cs{displaymathnormal} around the
+%           math expression.
 %   \end{description}
 %
 % \needspace{3\baselineskip}
 % \item [Incorrect \brand{MathJax}:] Some objects do not convert to \brand{Mathjax}.
-%   \watchout[MathJax]
+%   \trouble[\brand{MathJax}]{MathJax=\brand{MathJax}>errors}
+%   \trouble[\brand{MathJax}]{MathJax=\brand{MathJax}>unsupported packages}
 %   Use \cs{displaymathother} before these objects, then \cs{displaymathnormal} to return
 %   to ``normal'' display math.
 %   See \cref{sec:displaymathother}.
@@ -8705,7 +9198,8 @@
 %   \end{itemize}
 %
 % \item [Missing / incorrect cross-references:] ~
-% \index{cross-references>missing or incorrect}
+% \trouble{reference>missing or incorrect}
+% \trouble{cross reference>missing}
 %	\begin{itemize}
 %	\item Use |lwarpmk again| followed
 % 		by |lwarpmk html| or |lwarpmk print| to compile the document one more time.
@@ -8716,7 +9210,10 @@
 % \item [BibTeX errors with \cs{etalchar}:] See \cref{sec:limitsbibtex}.
 %
 % \item [Malformed URLs:] Do not use the \texttt{\%} character between
-%   \index{hyperref>incorrect links}
+%   \trouble{hyperref=\pkg{hyperref}>incorrect link}
+%   \trouble{reference>incorrect link}
+%   \trouble{cross reference>incorrect link}
+%   \trouble{reference>\% character between arguments}
 %   arguments of \cs{hyperref}, etc., as this character is among those which
 %   is neutralized for inclusion in \HTML\ \acro{URL}s.
 %
@@ -8723,8 +9220,10 @@
 % \item [Em-dashes or En-dashes in listing captions and titles:] \
 %
 %	Use	\XeLaTeX\ or \LuaLaTeX.
+%   \trouble{listings=\pkg{listings}}
 %
 % \item [Floats out of sequence:] ~
+%   \trouble{float>out of sequence}
 %	\begin{description}
 %	\item [Mixed ``Here'' and floating:] Floats [H]ere and regular floats may
 %		become out of order.  \cs{clearpage} if necessary.
@@ -8733,7 +9232,8 @@
 %	\end{description}
 %
 % \item [Images are appearing in strange places:] ~
-% \index{images>in strange places}
+% \trouble{image>incorrect}
+% \trouble{SVG image>incorrect}
 %	\begin{itemize}
 %	\item Enter \cmds{lwarpmk limages} to refresh the \env{lateximage} images.
 %	\end{itemize}
@@ -8744,6 +9244,7 @@
 %
 % \needspace{3\baselineskip}
 % \item [Plain-looking document:] \
+%   \trouble{CSS}
 %	\begin{itemize}
 %	\item The document's \CSS\ stylesheet may not be available, or may be
 %		linked incorrectly.  Verify any \cs{CSSFilename} statements point to
@@ -8751,6 +9252,7 @@
 %	\end{itemize}
 %
 % \item [Broken fragments of HTML:] ~
+%   \trouble{HTML>corrupted}
 %	\begin{itemize}
 %	\item Check the \PDF\ file used to create \HTML\
 %		to see if the tags overflowed the margin.
@@ -8758,6 +9260,8 @@
 %	\end{itemize}
 %
 % \item [Changes do not seem to be taking effect:] ~
+%   \trouble{HTML>page did not update}
+%   \trouble{HTML>missing pages>recompile}
 %	\begin{itemize}
 %	\item Be sure to |lwarpmk clean|, recompile, then start by reloading the home page.
 %		You may have been looking at an older version of the document.
@@ -8781,6 +9285,7 @@
 % \subsubsection{Debug tracing output}
 %
 % \DescribeMacro{\tracinglwarp}
+%   \trouble{tracing lwarp}
 %	When \cs{tracinglwarp} is used, \pkg{lwarp} will add extra
 %	tracing messages to the |.log| file.  The last several messages
 %	may help track down errors.
@@ -8818,18 +9323,117 @@
 %
 % 
 %
+% \changes{v0.61}{2018/09/27}{Docs: Multiple indexes.}
 %
+% \makeatletter
+%
 % \StopEventually{
+% ^^A \part{Change History and Index}
+% ^^A  \part{Change History}
+%
+%
+% \pagestyle{plain}
+%
+% ^^A Each index has a prologue which creates its own \part, label,
+% ^^A and meta index entry.
+%   \GlossaryPrologue{
+%       \part{Change History}
+%       \label{sec:changehistory}
+%       \sindex[meta]{Change History}
+%       \markboth{{Change History}}{{Change History}}
+%
+%       For the most recent changes, see page \pageref{sec:changesend}.
+%
+%   }
 %   \PrintChanges
 %   \phantomsection
 %   \label{sec:changesend}
-%   \PrintIndex
-%   \vfill
-%   For the most recent changes, followed by the start of the Index,
-%   see page \pageref{sec:changesend}.
+%
+%
+% ^^A The instructions for the Index of Objects:
+%   \IndexPrologue{
+%       \clearpage
+%       \part{\indexname}
+%       \label{sec:index\indexshortcut}
+%       \sindex[meta]{\indexname}
+%         \markboth{Index of Objects}{Index of Objects}%
+%
+%       This is an index of macros, environments, booleans, counters, lengths,
+%       packages, classes, options, keys, files, and various other programming objects.
+%       Each is listed by itself, and also by category.
+%       In some cases, they are further subdivided by [class].
+%
+%       Numbers written in italic refer to the page
+%       where the corresponding entry is described;
+%       numbers underlined refer to the
+%       \ifcodeline at index
+%       code line of the
+%       \fi
+%       definition.
+% ^^A        ; numbers in roman refer to the
+% ^^A         \ifcodeline at index
+% ^^A         code lines
+% ^^A         \else
+% ^^A         pages
+% ^^A         \fi
+% ^^A         where the entry is used.
+%   }
+%
+%   \printindex[idx][Index of Objects]
+%
+%
+% ^^A The instructions for the General Index:
+%   \IndexPrologue{
+%       \clearpage
+%       \part{\indexname}
+%       \label{sec:index\indexshortcut}
+%       \sindex[meta]{\indexname}
+%
+%       This is an index of instructions and concepts.
+%       Look here when wondering how to do something, and
+%       check the Troubleshooting Index when something goes wrong.
+%
+%       Entries in \textbf{bold} are package, class, or program names.
+%   }
+%
+%   \printindex[gen][General Index]
+%
+%
+% ^^A The instructions for the Troubleshooting Index:
+%   \IndexPrologue{
+%       \clearpage
+%       \part{\indexname}
+%       \label{sec:index\indexshortcut}
+%       \sindex[meta]{\indexname}
+%
+%       This index is a sorted reference of problems and solutions.
+%       In order to make it easier to locate a solution,
+%       the same issue may be addressed by more than one entry.
+%
+%       Entries with higher page numbers are often duplicates of entries with
+%       lower page numbers, as the same warning may occur within the user manual
+%       and again within the source code for a given package.
+%
+%       Entries in \textbf{bold} are package, class, or program names.
+%   }
+%
+%   \printindex[trb][Troubleshooting Index]
+%
+%
+% ^^A The meta index does not get a meta index entry pointing  to itself:
+%   \IndexPrologue{
+
+%       \clearpage
+%       \part{\indexname}
+%       \label{sec:index\indexshortcut}
+%   }
+%
+%   \printindex[meta][Index of Indexes]
 % }
 %
+% \makeatother
 %
+%
 % \clearpage
 %
 % \part{lwarp.sty}
@@ -8872,8 +9476,8 @@
 %
 % \section{Section depths and HTML headings}
 % \label{sec:stackdepths}
-% \index{HTML>headings}
-% \index{section>depths}\index{stack depths}
+% \gindex{HTML>headings}
+% \gindex{section>depths}\gindex{stack depths}
 %
 % Stacks are created to track depth inside the \LaTeX{} document structure.
 % This depth is translated to \HTML\ headings as shown
@@ -8940,11 +9544,10 @@
 % continuing through the following sections all the way to the
 % change log and index at the end of this document.
 %
-% \index{numbers>left margin}\index{line numbers}
-% \index{margin>numbers}\index{margin>tags}
+% \gindex{numbers>left margin}\gindex{line numbers}
+% \gindex{margin>numbers}\gindex{margin>tags}
 % \documentationnotes
-% \index{warning icon}\index{danger icon}\index{icon>warning}
-% \index{for>HTML output}\index{for>PRINT output}\index{for>HTML \& PRINT}
+% \gindex{warning icon}\gindex{danger icon}\gindex{icon>warning}
 % \changes{v0.15}{2016/04/05}{Docs: Added warning icons for items needing
 % 	special attention.}
 %
@@ -8964,7 +9567,7 @@
 % See: \url{http://tex.stackexchange.com/a/47579}.
 %
 % Detects \XeTeX{} and \LuaLaTeX:
-% \index{XeLaTeX>detection}\index{LuaLaTeX>detection}
+% \gindex{Xe\LaTeX>detection}\gindex{Lua\LaTeX>detection}
 %    \begin{macrocode}
 \RequirePackage{iftex}
 \newif\ifxetexorluatex
@@ -8997,7 +9600,7 @@
 {Lwarp must find the macros pdfmdfivesum or mdfivesum.}
 }
 
-\ifPDFTeX
+\ifPDFTeX% pdflatex or dvi latex
 \let\LWR at mdfive\pdfmdfivesum
 \fi
 
@@ -9028,7 +9631,7 @@
 % \changes{v0.52}{2018/03/26}{If pdfLaTeX, allow other input encoding.}
 %
 %    \begin{macrocode}
-\ifPDFTeX
+\ifPDFTeX% pdflatex or dvi latex
 \RequirePackage[T1]{fontenc}
 
 \@ifpackageloaded{inputenc}{}{
@@ -9043,7 +9646,7 @@
 %
 % \section{Unicode input characters}
 % \changes{v0.18}{2016/05/17}{PDF Unicode input characters.}
-% \index{Unicode>input characters}
+% \gindex{Unicode>input characters}
 %
 % \codeall
 %
@@ -9060,7 +9663,7 @@
 
 \newunicodechar{⨯}{\texttimes}
 
-\ifPDFTeX
+\ifPDFTeX% pdflatex or dvi latex
 \newunicodechar{ff}{ff}% the first arguments are ligatures
 \newunicodechar{fi}{fi}
 \newunicodechar{fl}{fl}
@@ -9160,6 +9763,72 @@
 %
 %
 %
+% \subsection{Literal characters}
+%
+% Literal characters to be used in \optn{PrintLatexCmd} and \optn{HTMLLatexCmd}.
+% These are defined without |@| to easily allow their inclusion in the user's document.
+%
+% The literal |%| character:
+%    \begin{macrocode}
+\let\LWRpercent\@percentchar
+%    \end{macrocode}
+%
+%
+% The literal |$| character:
+%    \begin{macrocode}
+\catcode`\$=12
+\def\LWRdollar{$}
+\catcode`\$=3
+%    \end{macrocode}
+%
+%
+% The literal |&| character:
+%    \begin{macrocode}
+\catcode`\&=12
+\def\LWRamp{&}
+\catcode`\&=4
+%    \end{macrocode}
+%
+%
+% The literal |\| character.
+% The ampersand is temporarily set to the escape character during the
+% definition of the backslash macro.
+%    \begin{macrocode}
+\catcode`\&=0
+&catcode`&\=12
+&def&LWRbackslash{\}
+&catcode`&\=0
+\catcode`\&=4
+%    \end{macrocode}
+%
+%
+% The literal |#| character:
+%    \begin{macrocode}
+\catcode`\#=12
+\def\LWRhash{#}
+\catcode`\#=6
+%    \end{macrocode}
+%
+%
+% \begin{macro}{\LWRopquote}
+% The operating system's quote mark, \brand{Unix} default.
+% For \brand{Windows}, see \cs{LWR at setOSWindows}, below.
+%    \begin{macrocode}
+\def\LWRopquote{'}
+%    \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\LWRopseq}
+% The operating system's sequential execution command, \brand{Unix} default.
+% For \brand{Windows}, see \cs{LWR at setOSWindows}, below.
+% \changes{v0.61}{2018/10/06}{Added spaces.}
+%    \begin{macrocode}
+\def\LWRopseq{\space\LWRamp\LWRamp\space\space}
+%    \end{macrocode}
+% \end{macro}
+%
+%
 % \subsection{Common portability code}
 %
 % \DescribeBoolean{usingOSWindows} Set if the \optn{OSWindows} option is used,
@@ -9197,6 +9866,8 @@
 {
 \booltrue{usingOSWindows}
 \renewcommand*{\OSPathSymbol}{\@backslashchar}
+\def\LWRopquote{"}
+\def\LWRopseq{\space\LWRamp\space\space}
 }
 %    \end{macrocode}
 % \end{macro}
@@ -9228,7 +9899,15 @@
 %    \end{macrocode}
 
 
+% \begin{macro}{\lwarpsetup}
+% A user interface to set the keys:
+% \changes{v0.61}{2018/09/21}{Added.}
+%    \begin{macrocode}
+\newcommand{\lwarpsetup}[1]{\setkeys{LWR}{#1}}
+%    \end{macrocode}
+% \end{macro}
 
+
 % \DescribeBoolean{warpingprint}
 % \DescribeBoolean{warpingHTML}
 % \DescribeBoolean{mathjax}
@@ -9297,8 +9976,8 @@
 % \changes{v0.19}{2016/05/25}{Options: mathsvg and mathjax}
 % \DescribeOption{mathsvg}
 % Option \optn{mathsvg} selects \SVG\ math display:
-% \index{math>\optn{mathsvg} option}
-% \index{SVG>\optn{mathsvg} option}
+% \gindex{math>\optn{mathsvg} option}
+% \gindex{SVG>\optn{mathsvg} option}
 % If the \optn{mathsvg} option is given, boolean |mathjax| is false,
 % and may be used for \cs{ifbool} tests.
 %    \begin{macrocode}
@@ -9311,8 +9990,8 @@
 %
 % \DescribeOption{mathjax}
 % Option \optn{mathjax} selects \brand{MathJax} math display:
-% \index{math>\optn{mathjax} option}
-% \index{MathJax>\optn{mathjax} option}
+% \gindex{math>\optn{mathjax} option}
+% \gindex{MathJax=\brand{MathJax}>mathjax=\optn{mathjax} option}
 % If the \optn{mathjax} option is given, boolean |mathjax| is true, may be used for \cs{ifbool} tests.
 %    \begin{macrocode}
 \DeclareVoidOption{mathjax}{%
@@ -9459,7 +10138,21 @@
 \DeclareStringOption[]{HTMLFilename}
 %    \end{macrocode}
 
+% \DescribeOption{PrintLatexCmd} \DescribeDefault{<automatic>}
+% The shell commands to use to compile the print document.
+%
+% \changes{v0.61}{2018/09/20}{Added \optn{PrintLatexCmd} option.}
+%    \begin{macrocode}
+\DeclareStringOption[]{PrintLatexCmd}
+%    \end{macrocode}
 
+% \DescribeOption{HTMLLatexCmd} \DescribeDefault{<automatic>}
+% The shell commands to use to compile the \HTML\ document.
+%
+% \changes{v0.61}{2018/09/20}{Added \optn{HTMLLatexCmd} option.}
+%    \begin{macrocode}
+\DeclareStringOption[]{HTMLLatexCmd}
+%    \end{macrocode}
 
 % \DescribeOption{PrintIndexCmd} \DescribeDefault{<empty>}
 % The shell commands to use to compile the print indexes.
@@ -9864,10 +10557,12 @@
 %
 % \subsection{Error for disallowed packages loaded before lwarp}
 % \changes{v0.54}{2018/04/06}{Added early check for disallowed packages.}
+% \changes{v0.54}{2018/09/26}{Never load \pkg{aecompl}.}
 %
 %    \begin{macrocode}
-\LWR at earlyloadnever{ae}{lmodern}
-\LWR at earlyloadnever{aecc}{lmodern}
+\LWR at earlyloadnever{ae}{cm-super, lmodern}
+\LWR at earlyloadnever{aecompl}{cm-super, lmodern}
+\LWR at earlyloadnever{aecc}{cm-super, lmodern}
 \LWR at earlyloadnever{boxedminipage}{boxedminipage2e}
 \LWR at earlyloadnever{caption2}{caption}
 % \LWR at earlyloadnever{ccaption}{caption}% might be preloaded by memoir
@@ -9953,10 +10648,13 @@
 \LWR at loadafter{chemgreek}
 \LWR at loadafter{chemmacros}
 \LWR at loadafter{chemnum}
+\LWR at loadafter{chkfloat}
 \LWR at loadafter{cite}
+\LWR at loadafter{cmdtrack}
 \LWR at loadafter{color}
 \LWR at loadafter{colortbl}
 \LWR at loadafter{continue}
+\LWR at loadafter{copyrightbox}
 \LWR at notmemoirloadafter{crop}
 \LWR at loadafter{cuted}
 \LWR at loadafter{cutwin}
@@ -9964,6 +10662,7 @@
 \LWR at loadafter{dblfnote}
 \LWR at notmemoirloadafter{dcolumn}
 \LWR at loadafter{diagbox}
+\LWR at loadafter{dprogress}
 \LWR at loadafter{draftcopy}
 \LWR at loadafter{draftfigure}
 \LWR at loadafter{draftwatermark}
@@ -9977,6 +10676,7 @@
 \LWR at notmemoirloadafter{enumerate}
 \LWR at loadafter{enumitem}
 \LWR at notmemoirloadafter{epigraph}
+\LWR at loadafter{epsfig}
 \LWR at loadafter{epstopdf}
 \LWR at loadafter{epstopdf-base}
 \LWR at loadafter{errata}
@@ -10060,6 +10760,7 @@
 \LWR at loadafter{ltxgrid}
 \LWR at loadafter{ltxtable}
 \LWR at loadafter{lua-check-hyphen}
+\LWR at loadafter{lua-visual-debug}
 \LWR at loadafter{luacolor}
 \LWR at loadafter{luatodonotes}
 \LWR at loadafter{magaz}
@@ -10107,6 +10808,7 @@
 \LWR at loadafter{pdfrender}
 \LWR at loadafter{pdflscape}
 \LWR at loadafter{pdfpages}
+\LWR at loadafter{pdfprivacy}
 \LWR at loadafter{pdfsync}
 \LWR at loadafter{pdftricks}
 \LWR at loadafter{pdfx}
@@ -10116,12 +10818,16 @@
 \LWR at loadafter{prelim2e}
 \LWR at loadafter{prettyref}
 \LWR at loadafter{preview}
+\LWR at loadafter{psfrag}
+\LWR at loadafter{psfragx}
 \LWR at loadafter{pst-eps}
+\LWR at loadafter{pstool}
 \LWR at loadafter{pstricks}
 \LWR at loadafter{quotchap}
 \LWR at loadafter{quoting}
 \LWR at loadafter{ragged2e}
 \LWR at loadafter{realscripts}
+\LWR at loadafter{refcheck}
 \LWR at loadafter{register}
 \LWR at loadafter{relsize}
 \LWR at loadafter{repeatindex}
@@ -10153,6 +10859,8 @@
 \LWR at loadafter{soulpos}
 \LWR at loadafter{soulutf8}
 \LWR at loadafter{splitidx}
+\LWR at loadafter{srcltx}
+\LWR at loadafter{srctex}
 \LWR at loadafter{stabular}
 \LWR at loadafter{stfloats}
 \LWR at loadafter{subfig}
@@ -10167,6 +10875,8 @@
 \LWR at loadafter{textfit}
 \LWR at loadafter{textpos}
 \LWR at loadafter{theorem}
+\LWR at loadafter{thinsp}
+\LWR at loadafter{threadcol}
 \LWR at loadafter{threeparttable}
 \LWR at loadafter{thumb}
 \LWR at loadafter{thumbs}
@@ -10186,7 +10896,6 @@
 \LWR at loadafter{trimclip}
 \LWR at loadafter{trivfloat}
 \LWR at loadafter{turnthepage}
-\LWR at loadafter{twoup-gen}
 %    \end{macrocode}
 % \changes{v0.44}{2017/11/19}{Adjustment for \pkg{koma-script}.}
 %    \begin{macrocode}
@@ -10196,11 +10905,13 @@
 \LWR at loadafter{units}
 \LWR at loadafter{upref}
 \LWR at loadafter{url}
+\LWR at loadafter{uspace}
 \LWR at loadafter{varioref}% no lwarp package provided
 \LWR at notmemoirloadafter{verse}
 \LWR at loadafter{vertbars}
 \LWR at loadafter{vmargin}
 \LWR at loadafter{vowel}
+\LWR at loadafter{vpe}
 \LWR at loadafter{vwcol}
 \LWR at loadafter{wallpaper}
 \LWR at loadafter{wasysym}
@@ -10207,6 +10918,7 @@
 \LWR at loadafter{watermark}
 \LWR at loadafter{widows-and-orphans}
 \LWR at loadafter{wrapfig}
+\LWR at loadafter{xbmks}
 \LWR at loadafter{xcolor}
 \LWR at loadafter{xellipsis}
 \LWR at loadafter{xfrac}
@@ -10227,7 +10939,7 @@
 % ^^A *required
 % \section{Required packages}
 % \label{sec:requiredpackages}
-% \index{package>required}
+% \gindex{package>required}
 % \changes{v0.16}{2016/04/08}{Lwarp no longer selects fonts.}
 
 % These packages are automatically loaded by \pkg{lwarp} when generating
@@ -10249,9 +10961,9 @@
 % ^^A %	{http://tex.stackexchange.com/questions/2984/\\
 % ^^A %		\hspace*{.25in}frequently-loaded-packages-differences-between-pdflatex-and-xelatex}
 % ^^A %
-% ^^A % \index{font>during conversion}
+% ^^A % \gindex{font>during conversion}
 % ^^A % For \XeLaTeX{} and \LuaLaTeX, uses DejaVu Serif for enhanced Cyrillic and Greek coverage.
-% ^^A % \index{Unicode>XeLaTeX \& LuaLaTeX}
+% ^^A % \gindex{Unicode>XeLaTeX \& LuaLaTeX}
 % ^^A 
 % ^^A 
 %
@@ -10277,8 +10989,8 @@
 %    \end{macrocode}
 % ^^A % For \prog{pdflatex}, use \pkg{fontenc} and \pkg{lmodern}:
 % ^^A % \marginpar{\textcolor{blue}{\prog{pdflatex} only:}}
-% ^^A % \index{Unicode>pdfLaTeX}
-% ^^A % \index{pdfLaTeX>Unicode support}
+% ^^A % \gindex{Unicode>pdfLaTeX}
+% ^^A % \gindex{pdfLaTeX>Unicode support}
 % ^^A %    \begin{macrocode}
 % ^^A     \RequirePDFTeX % error if not pdflatex
 % ^^A 
@@ -10327,7 +11039,7 @@
 % \changes{v0.18}{2016/05/18}{Microtype disabled during \HTML\ generation}
 %
 % Older browsers don't
-% \index{ligatures}
+% \gindex{ligatures}
 % display ligatures.
 % \margintag{ligatures}
 % Turn off letter ligatures, keeping
@@ -10558,12 +11270,6 @@
 %    \end{macrocode}
 
 
-% \DescribePackage{xstring}
-%    \begin{macrocode}
-\RequirePackage{xstring}
-%    \end{macrocode}
-
-
 % \DescribePackage{verbatim}
 %    \begin{macrocode}
 \RequirePackage{verbatim}
@@ -10603,6 +11309,12 @@
 %    \end{macrocode}
 
 
+% \DescribePackage{xstring}
+%    \begin{macrocode}
+\RequirePackage{xstring}
+%    \end{macrocode}
+
+
 % \DescribePackage{environ}
 % Used to encapsulate math environments for re-use in \HTML\ \element{alt} text.
 %
@@ -10795,7 +11507,9 @@
 %    \begin{macrocode}
 \RenewDocumentCommand{\RequirePackage}{o m o}{%
 %    \end{macrocode}
-% Redirect up to nine names:
+% Redirect up to twenty names:\footnote{This was originally nine names, but
+% then I came across a package which used twelve...}
+% \changes{v0.61}{2018/10/02}{Support up to 20 packages.}
 %    \begin{macrocode}
 \renewcommand*{\LWR at requirepackagenames}{#2}%
 \renewcommand*{\LWR at parsedrequirepackagenames}{}%
@@ -10808,6 +11522,17 @@
 \LWR at lookforpackagename{7}%
 \LWR at lookforpackagename{8}%
 \LWR at lookforpackagename{9}%
+\LWR at lookforpackagename{10}%
+\LWR at lookforpackagename{11}%
+\LWR at lookforpackagename{12}%
+\LWR at lookforpackagename{13}%
+\LWR at lookforpackagename{14}%
+\LWR at lookforpackagename{15}%
+\LWR at lookforpackagename{16}%
+\LWR at lookforpackagename{17}%
+\LWR at lookforpackagename{18}%
+\LWR at lookforpackagename{19}%
+\LWR at lookforpackagename{20}%
 %    \end{macrocode}
 % \cs{RequirePackage} depending on the options and version:
 %    \begin{macrocode}
@@ -11055,7 +11780,33 @@
 
 
 % \section{Debugging messages}
-
+% \label{sec:debuggingmessages}
+%
+% \gindex{HTML>conversion settings>debug comments}
+% \gindex{tracing log}
+% \gindex{debugging>HTML debug comments}
+% \gindex{debugging>tracing log}
+% \gindex{troubleshooting>HTML debug comments}
+% \gindex{troubleshooting>tracing log}
+%
+% \changes{v0.61}{2018/09/25}{Docs: HTMLDebugComments}
+%
+% To have the \HTML\ output include additional \HTML\ comments, such as
+% \margintag{HTML comments}
+% which \element{div} is closing, use
+% \begin{sourcedisplay}
+% \cs{booltrue\{HTMLDebugComments\}}
+% \end{sourcedisplay}
+%
+% \changes{v0.61}{2018/09/25}{Docs: \cs{tracinglwarp}}
+%
+% To have debug information written to the log,
+% \margintag{debugging information}
+% use
+% \begin{sourcedisplay}
+% \cs{tracinglwarp}
+% \end{sourcedisplay}
+%
 % \codeall
 %    \begin{macrocode}
 \begin{warpall}
@@ -11090,9 +11841,6 @@
 % \DescribeBoolean{HTMLDebugComments}  \DescribeDefault{false}
 %	Add comments in \HTML\
 %	about closing \element{div}s, sections, etc.
-%	\index{HTML>conversion settings>debug comments}
-%	\index{debugging>HTML debug comments}
-%	\index{troubleshooting>HTML debug comments}
 %
 % \changes{v0.28}{2017/04/09}{Added boolean \progcode{HTMLDebugComments}.}
 %
@@ -11122,8 +11870,8 @@
 
 % \section{Defining print and HTML versions of macros and environments}
 % \label{sec:definingprinthtml}
-% \index{print>selecting print/HTML definitions}
-% \index{HTML>selecting print/HTML definitions}
+% \gindex{print>selecting print/HTML definitions}
+% \gindex{HTML>selecting print/HTML definitions}
 %
 % The following refers to defining objects inside \pkg{lwarp}, and is not
 % for the user's document.
@@ -11261,7 +12009,7 @@
 % Expandable versions are also provided as well.
 % 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]
+% \trouble[Misplaced \cs{omit} error]{Misplaced \cs{omit}>tabular}
 % \begin{sourcedisplay}
 % \cs{LWR at expandableformatted} \\
 % \cs{LWR at expandableformattedenv}
@@ -11399,8 +12147,8 @@
 %	Changes \HTML\ output for easy \EPUB\ conversion
 %	via an external program. Removes per-file headers, footers, and nav.
 %	Adds footnotes per chapter/section.
-%	\index{EPUB>HTML conversion settings}
-%	\index{HTML>conversion settings>EPUB}
+%	\gindex{EPUB>HTML conversion settings}
+%	\gindex{HTML>conversion settings>EPUB}
 %
 % \changes{v0.28}{2017/04/09}{Added boolean \progcode{FormatEPUB}.}
 %
@@ -11416,8 +12164,8 @@
 %	Removes headers and nav, prints footnotes per section,
 %	and also forces single-file output and turns off \HTML\ debug
 %	comments.
-%	\index{word processor>HTML conversion settings}
-%	\index{HTML>conversion settings>word processor}
+%	\gindex{word processor>HTML conversion settings}
+%	\gindex{HTML>conversion settings>word processor}
 %
 % \changes{v0.28}{2017/04/09}{Added boolean \progcode{FormatWP}.}
 %
@@ -11432,8 +12180,8 @@
 %	\footnote{Perhaps some day word processors will have \HTML\ import options
 %	for identifying \element{figure} and \element{figcaption} tags
 %   for figures and tables.}
-%	\index{word processor>HTML conversion settings}
-%	\index{HTML>conversion settings>word processor}
+%	\gindex{word processor>HTML conversion settings}
+%	\gindex{HTML>conversion settings>word processor}
 %
 % \changes{v0.28}{2017/04/09}{Added boolean \progcode{HTMLMarkFloats}, changed
 %   to \progcode{WPMarkFloats} as of v0.42.}
@@ -11597,6 +12345,7 @@
 %    \begin{macrocode}
 \let\LWR at origcomma\,
 \let\LWR at origthinspace\thinspace
+\let\LWR at orignegthinspace\negthinspace
 \let\LWR at origtilde~
 \let\LWR at origenskip\enskip
 \let\LWR at origquad\quad
@@ -11723,7 +12472,7 @@
 %    \end{macrocode}
 % For pdf\LaTeX, additional work is required:
 %    \begin{macrocode}
-\ifPDFTeX
+\ifPDFTeX% pdflatex or dvi latex
 \LetLtxMacro\LWR at origequalaccent\=
 \LetLtxMacro\LWR at origdotaccent\.
 \LetLtxMacro\LWR at origu\u
@@ -11754,7 +12503,7 @@
 % \begin{macro}{\LWR at restoreorigaccents}
 % Called from \cs{restoreoriginalformatting} when a \env{lateximage} is begun.
 %    \begin{macrocode}
-\ifPDFTeX
+\ifPDFTeX% pdflatex or dvi latex
 \newcommand*{\LWR at restoreorigaccents}{%
 \LetLtxMacro\=\LWR at origequalaccent%
 \LetLtxMacro\.\LWR at origdotaccent%
@@ -11786,17 +12535,40 @@
 
 % \section{Configuration Files}
 
-
 % \changes{v0.20}{2016/12/20}{\pkg{lwarp-newproject}: Added.}
 % \changes{v0.30}{2017/04/27}{\pkg{lwarp-newproject} removed, and combined with \pkg{lwarp}.}
 
 
 
+% \subsection{Decide whether to generate configuration files}
 
-
+% Configuration files are only written if processing the print version of the document,
+% and not processing a \pkg{pstool} image.
+% \pkg{pstool} uses an additional compile for each image using the original
+% document's preamble, which includes \pkg{lwarp}, so the \pkg{lwarp}
+% configuration files are turned off if \filenm{-pstool} is part of the \cs{jobname}.
+%
+% Default to no configuration files:
+% \changes{v0.61}{2018/10/02}{Don't write configuration files if processing \pkg{pstool} image.}
 %    \begin{macrocode}
+\excludecomment{LWRwriteconf}
+%    \end{macrocode}
+%
+% Generate configuration files if print mode and not \filenm{-pstool}:
+%
+% \codeprint
+%    \begin{macrocode}
 \begin{warpprint}
-\typeout{lwarp: generating configuration files}
+\fullexpandarg%
+\IfSubStr*{\jobname}{-pstool}
+    {
+        \typeout{lwarp: jobname with -pstool is found,}%
+        \typeout{lwarp: \space\space not generating configuration files.}%
+    }
+    {
+        \typeout{lwarp: generating configuration files}
+        \includecomment{LWRwriteconf}
+    }
 \end{warpprint}
 %    \end{macrocode}
 
@@ -11806,9 +12578,9 @@
 % \DescribeFile{project_html.tex} Used to allow an \HTML\ version of the
 % document to exist alongside the print version.
 %
-% Only write |\jobname_html.tex| if generating the print version.
+% \codeconfig
 %    \begin{macrocode}
-\begin{warpprint}
+\begin{LWRwriteconf}
 \immediate\openout\LWR at quickfile=\jobname_html.tex
 \immediate\write\LWR at quickfile{%
 \detokenize{\PassOptionsToPackage}%
@@ -11818,7 +12590,7 @@
 \detokenize{\input}\string{\jobname.tex\string }%
 }
 \immediate\closeout\LWR at quickfile
-\end{warpprint}
+\end{LWRwriteconf}
 %    \end{macrocode}
 
 
@@ -11825,9 +12597,9 @@
 % \subsection{\prog{lwarpmk} configuration files}
 % ^^A *lwarpmk.conf
 
-% \codeprint
+% \codeconfig
 %    \begin{macrocode}
-\begin{warpprint}
+\begin{LWRwriteconf}
 %    \end{macrocode}
 
 
@@ -11842,48 +12614,9 @@
 % \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}
 %
+% \subsubsection{Helper macros}
 %
-% 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}
@@ -11915,9 +12648,10 @@
 % Adds to the compilation command.
 %
 % Cmd is \prog{dvipdfmx}, etc.  Suffix is empty or \filenm{\_html}
+% \changes{v0.61}{2018/10/06}{Removed spaces.}
 %    \begin{macrocode}
 \newcommand*{\LWR at addcompilecmd}[2]{%
-    \space \LWR at opsequence \space\space
+    \LWRopseq
     #1 \jobname#2%
 }
 %    \end{macrocode}
@@ -11942,9 +12676,9 @@
 %    \begin{macrocode}
 \newcommand*{\LWR at latexmkvar}[2]{%
     -e
-    \LWR at opquote%
-    \LWR at dollarchar #1=q/#2/%
-    \LWR at opquote
+    \LWRopquote%
+    \LWRdollar #1=q/#2/%
+    \LWRopquote
 }
 %    \end{macrocode}
 % \end{macro}
@@ -11953,7 +12687,7 @@
 %
 % 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}.}
+% \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
@@ -11981,15 +12715,16 @@
 % \end{macro}
 %
 %
-% \begin{macro}{\LWR at printlatexcmd}
-% \begin{macro}{\LWR at HTMLlatexcmd}
+% \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 not set by the user,
+% 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}:
+% 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]]
@@ -12002,6 +12737,8 @@
 %     -e '$makeindex=q/makeindex -s lwarp.ist/'   <jobname>_html]]
 %   \end{Verbatim}
 %
+% For the following, temporary values are computed, but the permanent
+% values are only set if the originals were not assigned by the user.
 %    \begin{macrocode}
 \ifbool{LWR at latexmk}{
 %    \end{macrocode}
@@ -12058,8 +12795,8 @@
 %    \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}
+    \def\LWR at tempprintlatexcmd{\LWR at latexcmd \space \jobname}
+    \def\LWR at tempHTMLlatexcmd{\LWR at latexcmd \space \jobname_html}
 }% latexmk
 %    \end{macrocode}
 % Without \prog{latexmk}, the compiling command is simply the compiler name
@@ -12074,15 +12811,15 @@
 %    \end{macrocode}
 % For \prog{pdflatex}:
 %    \begin{macrocode}
-            \def\LWR at printlatexcmd{\LWR at compilecmd{pdflatex}{}}
-            \def\LWR at HTMLlatexcmd{\LWR at compilecmd{pdflatex}{_html}}
+            \def\LWR at tempprintlatexcmd{\LWR at compilecmd{pdflatex}{}}
+            \def\LWR at tempHTMLlatexcmd{\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}}
+                \def\LWR at tempprintlatexcmd{\LWR at compilecmd{lualatex}{}}
+                \def\LWR at tempHTMLlatexcmd{\LWR at compilecmd{lualatex}{_html}}
             \else
                 \LWR at unknownengine
             \fi
@@ -12095,8 +12832,8 @@
 %    \end{macrocode}
 % For \prog{xelatex}:
 %    \begin{macrocode}
-            \def\LWR at printlatexcmd{\LWR at compilecmd{xelatex}{}}
-            \def\LWR at HTMLlatexcmd{\LWR at compilecmd{xelatex}{_html}}
+            \def\LWR at tempprintlatexcmd{\LWR at compilecmd{xelatex}{}}
+            \def\LWR at tempHTMLlatexcmd{\LWR at compilecmd{xelatex}{_html}}
         \else
 %    \end{macrocode}
 % For \DVI\ \prog{latex}.  Default to \prog{dvips}, unless
@@ -12106,11 +12843,11 @@
 %    \end{macrocode}
 % For \DVI\ \prog{latex} with \prog{dvipdfm}:
 %    \begin{macrocode}
-                \def\LWR at printlatexcmd{%
+                \def\LWR at tempprintlatexcmd{%
                     \LWR at compilecmd{latex}{}
                     \LWR at addcompilecmd{dvipdfm}{}
                 }
-                \def\LWR at HTMLlatexcmd{%
+                \def\LWR at tempHTMLlatexcmd{%
                     \LWR at compilecmd{latex}{_html}
                     \LWR at addcompilecmd{dvipdfm}{_html}
                 }
@@ -12119,11 +12856,11 @@
 %    \end{macrocode}
 % For \DVI\ \prog{latex} with \prog{dvipdfmx}:
 %    \begin{macrocode}
-                    \def\LWR at printlatexcmd{%
+                    \def\LWR at tempprintlatexcmd{%
                         \LWR at compilecmd{latex}{}
                         \LWR at addcompilecmd{dvipdfmx}{}
                     }
-                    \def\LWR at HTMLlatexcmd{%
+                    \def\LWR at tempHTMLlatexcmd{%
                         \LWR at compilecmd{latex}{_html}
                         \LWR at addcompilecmd{dvipdfmx}{_html}
                     }
@@ -12131,12 +12868,12 @@
 %    \end{macrocode}
 % For \DVI\ \prog{latex} with \prog{dvips} and \prog{ps2pdf}:
 %    \begin{macrocode}
-                    \def\LWR at printlatexcmd{%
+                    \def\LWR at tempprintlatexcmd{%
                         \LWR at compilecmd{latex}{}
                         \LWR at addcompilecmd{dvips}{}
                         \LWR at addcompilecmd{ps2pdf}{}.ps
                     }
-                    \def\LWR at HTMLlatexcmd{%
+                    \def\LWR at tempHTMLlatexcmd{%
                         \LWR at compilecmd{latex}{_html}
                         \LWR at addcompilecmd{dvips}{_html}
                         \LWR at addcompilecmd{ps2pdf}{_html}.ps
@@ -12147,6 +12884,17 @@
     \fi% \ifpdf
 }% latexmk
 %    \end{macrocode}
+% Only make the setting permanent if the original was empty:
+% \changes{v0.61}{2018/09/20}{Added \optn{PrintLatexCmd} option.}
+% \changes{v0.61}{2018/09/20}{Added \optn{HTMLLatexCmd} option.}
+%    \begin{macrocode}
+    \ifdefempty{\LWR at PrintLatexCmd}{
+        \def\LWR at PrintLatexCmd{\LWR at tempprintlatexcmd}
+    }{}
+    \ifdefempty{\LWR at HTMLLatexCmd}{
+        \def\LWR at HTMLLatexCmd{\LWR at tempHTMLlatexcmd}
+    }{}
+%    \end{macrocode}
 % \end{macro}
 % \end{macro}
 %
@@ -12161,7 +12909,7 @@
 % \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]{%
+\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]]}
@@ -12174,8 +12922,8 @@
 \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{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]]}
@@ -12188,7 +12936,7 @@
 % \end{macro}
 
 %    \begin{macrocode}
-\end{warpprint}
+\end{LWRwriteconf}
 %    \end{macrocode}
 
 
@@ -12209,18 +12957,18 @@
 % \changes{v0.54}{2018/04/06}{\filenm{lwarpmk.conf}: Option \optn{IndexLanguage} changed to \optn{xindyLanguage}.}
 % \changes{v0.54}{2018/04/06}{\filenm{lwarpmk.conf}: Option \optn{xindyCodepage} added.}
 % \changes{v0.54}{2018/04/06}{\filenm{lwarpmk.conf}: Option \optn{pdftotextEnc} added.}
-% \changes{v0.56}{2018/05/11}{\filenm{lwarpmk.conf}: Records \texttt{-shell-escape}.}
+% \changes{v0.56}{2018/05/11}{\filenm{lwarpmk.conf}: Records \texttt{-\/-shell-escape}.}
 % \changes{v0.58}{2018/06/20}{\filenm{lwarpmk.conf}: Generated \cs{AtBeginDocument}.}
 % \changes{v0.58}{2018/06/20}{\filenm{lwarpmk.conf}: Added options \optn{makeindex} and \optn{xindy}.}
 % \changes{v0.58}{2018/06/21}{\filenm{lwarpmk.conf}: Added option \optn{makeindexstyle}.}
 %
-% \codeprint
+% \codeconfig
 %    \begin{macrocode}
-\begin{warpprint}
+\begin{LWRwriteconf}
 
 \AtBeginDocument{\LWR at writeconf{lwarpmk.conf}}
 
-\end{warpprint}
+\end{LWRwriteconf}
 %    \end{macrocode}
 
 
@@ -12235,7 +12983,7 @@
 % \changes{v0.54}{2018/04/06}{\filenm{*.lwarpmkconf}: Option \optn{IndexLanguage} changed to \optn{xindyLanguage}.}
 % \changes{v0.54}{2018/04/06}{\filenm{*.lwarpmkconf}: Option \optn{xindyCodepage} added.}
 % \changes{v0.54}{2018/04/06}{\filenm{*.lwarpmkconf}: Option \optn{pdftotextEnc} added.}
-% \changes{v0.56}{2018/05/11}{\filenm{*.lwarpmkconf}: Records \texttt{-shell-escape}.}
+% \changes{v0.56}{2018/05/11}{\filenm{*.lwarpmkconf}: Records \texttt{-\/-shell-escape}.}
 % \changes{v0.58}{2018/06/20}{\filenm{*.lwarpmkconf}: Generated \cs{AtBeginDocument}.}
 % \changes{v0.58}{2018/06/20}{\filenm{*.lwarpmkconf}: Added options \optn{makeindex} and \optn{xindy}.}
 % \changes{v0.58}{2018/06/21}{\filenm{*.lwarpmkconf}: Added option \optn{makeindexstyle}.}
@@ -12242,12 +12990,14 @@
 %
 % The \optn{makeindex} and \optn{xindy} options have already been handled
 %   for \filenm{lwarp.conf}.
+%
+% \codeconfig
 %    \begin{macrocode}
-\begin{warpprint}
+\begin{LWRwriteconf}
 
 \AtBeginDocument{\LWR at writeconf{\jobname.lwarpmkconf}}
 
-\end{warpprint}
+\end{LWRwriteconf}
 %    \end{macrocode}
 
 
@@ -12272,10 +13022,14 @@
 % \changes{v0.56}{2018/05/09}{\filenm{lwarp.css}: Added \attribute{div.textbf}, etc.}
 % \changes{v0.57}{2018/05/21}{\filenm{lwarp.css}: Added ruled, boxed, boxruled floats.}
 % \changes{v0.57}{2018/05/21}{\filenm{lwarp.css}: Increased float vertical margins.}
+% \changes{v0.61}{2018/10/05}{\filenm{lwarp.css}: Footnotes text align left.}
+% \changes{v0.61}{2018/10/05}{\filenm{lwarp.css}: Minipage table and footnotes: tighter margin.}
 %
 % ^^A *lwarp.css
+%
+% \codeconfig
 %    \begin{macrocode}
-\begin{warpprint}
+\begin{LWRwriteconf}
 \begin{filecontents*}{lwarp.css}
 /*
   CSS stylesheet for the LaTeX lwarp package
@@ -12494,8 +13248,6 @@
     max-width: 27em ;
 }
 
-
-
 div.epigraphsource, div.dictumauthor {
     text-align:right ;
     margin-left:auto ;
@@ -12510,6 +13262,12 @@
 div.dictumauthor { font-style:italic }
 
 
+/* copyrightbox package */
+div.copyrightbox { margin: .5ex .5em }
+div.copyrightbox p {margin: 0px .5em ; padding: 0px}
+div.copyrightboxnote {text-align: left ; font-size: 60%}
+
+
 /* lettrine package: */
 span.lettrine { font-size: 4ex ; float: left ; }
 span.lettrinetext { font-variant: small-caps ; }
@@ -12653,6 +13411,7 @@
 }
 
 .footnotes {
+    text-align: left ;
     font-size: .85em ;
     margin: 3ex 2em 0ex 2em ;
     border-top: 1px solid silver ;
@@ -13130,6 +13889,8 @@
 figcaption .minipage { margin:0 ; padding: 0 }
 
 div.minipage figure { border: none ; box-shadow: none ; }
+div.minipage figure.table { margin: 0ex }
+div.minipage div.footnotes { margin: 1ex 2em 0ex 2em }
 
 div.floatrow { text-align: center; }
 
@@ -13728,7 +14489,7 @@
 }
 \end{filecontents*}
 % \end{Verbatim}% for syntax highlighting
-\end{warpprint}
+\end{LWRwriteconf}
 %    \end{macrocode}
 
 
@@ -13744,8 +14505,10 @@
 % and also when distributing the \HTML\ files.
 %
 % ^^A *lwarp_sagebrush.css
+%
+% \codeconfig
 %    \begin{macrocode}
-\begin{warpprint}
+\begin{LWRwriteconf}
 \begin{filecontents*}{lwarp_sagebrush.css}
 @import url("lwarp.css") ;
 
@@ -13993,7 +14756,7 @@
 
 \end{filecontents*}
 % \end{Verbatim}% for syntax highlighting
-\end{warpprint}
+\end{LWRwriteconf}
 %    \end{macrocode}
 
 
@@ -14009,8 +14772,10 @@
 % and also when distributing the \HTML\ files.
 %
 % ^^A *lwarp_formal.css
+%
+% \codeconfig
 %    \begin{macrocode}
-\begin{warpprint}
+\begin{LWRwriteconf}
 \begin{filecontents*}{lwarp_formal.css}
 @import url("lwarp.css") ;
 
@@ -14218,7 +14983,7 @@
 }
 \end{filecontents*}
 % \end{Verbatim}% for syntax highlighting
-\end{warpprint}
+\end{LWRwriteconf}
 %    \end{macrocode}
 
 
@@ -14232,8 +14997,10 @@
 % and also when distributing the \HTML\ files.
 %
 % ^^A *sample_project.css
+%
+% \codeconfig
 %    \begin{macrocode}
-\begin{warpprint}
+\begin{LWRwriteconf}
 \begin{filecontents*}{sample_project.css}
 /* ( --- Start of project.css --- ) */
 /* ( --- A sample project-specific CSS file for lwarp --- ) */
@@ -14249,7 +15016,7 @@
 /* ( --- End of project.css --- ) */
 \end{filecontents*}
 % \end{Verbatim}% for syntax highlighting
-\end{warpprint}
+\end{LWRwriteconf}
 %    \end{macrocode}
 
 
@@ -14267,8 +15034,10 @@
 % \changes{v0.58}{2018/06/17}{\filenm{lwarp\_html.ist}: Added.}
 %
 % ^^A *lwarp.ist
+%
+% \codeconfig
 %    \begin{macrocode}
-\begin{warpprint}
+\begin{LWRwriteconf}
 \begin{filecontents*}{lwarp.ist}
 preamble
 "\\begin{theindex}
@@ -14291,7 +15060,7 @@
 page_compositor "."
 \end{filecontents*}
 % \end{Verbatim}% for syntax highlighting
-\end{warpprint}
+\end{LWRwriteconf}
 %    \end{macrocode}
 
 
@@ -14315,8 +15084,10 @@
 % \changes{v0.58}{2018/06/21}{\filenm{lwarp.xdy}: Supports bold, italic.}
 %
 % ^^A *lwarp.xdy
+%
+% \codeconfig
 %    \begin{macrocode}
-\begin{warpprint}
+\begin{LWRwriteconf}
 \begin{filecontents*}{lwarp.xdy}
 (require "tex/inputenc/latin.xdy")
 (merge-rule "\\PS *" "Postscript")
@@ -14340,7 +15111,7 @@
                   "seealso"))
 \end{filecontents*}
 % \end{Verbatim}% for syntax highlighting
-\end{warpprint}
+\end{LWRwriteconf}
 %    \end{macrocode}
 
 
@@ -14365,8 +15136,10 @@
 % \changes{v0.51}{2018/03/16}{\filenm{lwarp\_one\_limage.txt}: \prog{pdftocairo} \optn{-noshrink} added.}
 %
 % ^^A *lwarp_one_limage.txt
+%
+% \codeconfig
 %    \begin{macrocode}
-\begin{warpprint}
+\begin{LWRwriteconf}
 \begin{filecontents*}{lwarp_one_limage.txt}
 @echo off
 pdfseparate -f %1 -l %1 %4_html.pdf lateximages\lateximagetemp-%%d.pdf
@@ -14376,7 +15149,7 @@
 del lateximages\lateximagetemp-%1.pdf
 exit
 \end{filecontents*}
-\end{warpprint}
+\end{LWRwriteconf}
 %    \end{macrocode}
 
 
@@ -14401,8 +15174,10 @@
 %
 %
 % ^^A *lwarp_mathjax.txt
+%
+% \codeconfig
 %    \begin{macrocode}
-\begin{warpprint}
+\begin{LWRwriteconf}
 \begin{filecontents*}{lwarp_mathjax.txt}
 <!-- https://groups.google.com/forum/#!topic/
                                mathjax-users/jUtewUcE2bY -->
@@ -14512,7 +15287,7 @@
 
 \end{filecontents*}
 % \end{Verbatim}% for syntax highlighting
-\end{warpprint}
+\end{LWRwriteconf}
 %    \end{macrocode}
 
 
@@ -14525,9 +15300,9 @@
 %
 % \env{lateximage}s and \SVG\ math images are generated using
 % \margintag{parallel processing}
-% \index{images>processing}
-% \index{lateximages>processing}
-% \index{SVG>image processing}
+% \gindex{image>processing}
+% \gindex{lateximage>processing}
+% \gindex{SVG>image processing}
 % multiple processes in parallel.
 % For \brand{Unix} and \brand{Linux}, every 32 images the |wait| command is
 % issued to wait for the previous batch of images to finish processing before
@@ -14575,7 +15350,7 @@
 % \changes{v0.54}{2018/04/11}{\prog{lwarpmk}: Verifies \HTML\ version exists before \progcode{lwarpmk limages}.}
 % \changes{v0.54}{2018/04/19}{\prog{lwarpmk}: Improved error if configuration file does not exist.}
 % \changes{v0.56}{2018/04/29}{\prog{lwarpmk}: Added \progcode{lwarpmk pdftosvg}.}
-% \changes{v0.56}{2018/05/11}{\prog{lwarpmk}: Supports \texttt{-shell-escape}.}
+% \changes{v0.56}{2018/05/11}{\prog{lwarpmk}: Supports \texttt{-\/-shell-escape}.}
 % \changes{v0.57}{2018/05/20}{\prog{lwarpmk}: Improved code factoring.}
 % \changes{v0.57}{2018/05/20}{\prog{lwarpmk}: Improved error handling.}
 % \changes{v0.58}{2018/06/14}{\prog{lwarpmk}: Added \texttt{-p} option for project name.}
@@ -14585,7 +15360,7 @@
 % \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/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}.}
 %
@@ -14603,7 +15378,7 @@
 -- Copyright 2016-2018 Brian Dunn
 
 
-printversion = "v0.60"
+printversion = "v0.61"
 requiredconfversion = "1" -- also at *lwarpmk.conf
 
 function printhelp ()
@@ -15730,18 +16505,19 @@
 %    \end{macrocode}
 %
 % Place \cs{StartDefiningTabulars} and
-%   \cs{StopDefiningTabulars}\watchout[misplaced alignment tab character \&]
-%   \index{alignment tab character \&, misplaced}
-%   \index{misplaced alignment tab character \&}
+%   \cs{StopDefiningTabulars}
+%   \trouble[Misplaced alignment tab character \&]
+%       {Misplaced alignment tab character \&>tabular>macros}
+%   \trouble{tabular>Misplaced alignment tab character \&>rules}
 % before and after defining macros or environments which include
 % the tabular |&| character in their definitions.
 %
 % The catcode of |&| must be changed before the definitions begin,
 %   and must be restored afterwards.  Doing so avoids the error\\
-%   \hspace*{.5in}\texttt{misplaced alignment tab character \&}
+%   \hspace*{.5in}\texttt{Misplaced alignment tab character \&.}
 %
 % \begin{macro}{\StartDefiningTabulars} Place before defining something with |&| in it.
-% \changes{v0.33}{2017/06/20}{Add: Avoids error: \protect\texttt{misplaced alignment tab character \&}.}
+% \changes{v0.33}{2017/06/20}{Add: Avoids error: \protect\texttt{Misplaced alignment tab character \&}.}
 %    \begin{macrocode}
 \newcommand{\StartDefiningTabulars}{%
 \LWR at traceinfo{StartDefiningTabulars}%
@@ -15797,17 +16573,19 @@
 
 % \section{Localizing dynamic math}
 % \label{sec:localizingdynamicmath}
-% \index{SVG>math incorrect images}
-% \index{SVG>dynamic math}
-% \index{math>images incorrect}
-% \index{math>dynamic}
-% \index{dynamic math expressions}
+% \trouble{SVG image>math incorrect}
+% \gindex{SVG>dynamic math}
+% \trouble{math>incorrect}
+% \trouble{math>dynamic}
+% \trouble{MathJax=\brand{MathJax}>errors}
+% \gindex{math>dynamic}
+% \gindex{dynamic math expressions}
 %
 % Inline \SVG\ math usually uses a hash of its contents to generate \env{lateximage}s
 % which are reusable for multiple instances with the same contents.
 % If the contents may change for each use, such as depending on the current
-% value of a counter, then \cs{StartDynamicMath} must be used before the
-% inline math expression, and \cs{StopDynamicMath} must be used after.
+% value of a counter, then \cs{inlinemathother} must be used before the
+% inline math expression, and \cs{inlinemathnormal} must be used after.
 %
 % For MathJax, the inline math expression is usually printed for MathJax to
 % interpret.  When marked as dynamic math, the following inline math expression
@@ -15819,7 +16597,7 @@
 % \begin{Verbatim}[gobble=2,obeytabs,tabsize=4,frame=lines]
 % \xpatchcmd{\macroname}
 %     {$math expression$}
-%     {\StartDynamicMath$math expression$\StopDynamicMath}
+%     {\inlinemathother$math expression$\inlinemathnormal}
 %     {}
 %     {\typeout{Error patching macroname.}}
 % \end{Verbatim}
@@ -15838,22 +16616,24 @@
 \boolfalse{LWR at dynamicmath}
 %    \end{macrocode}
 %
-% \begin{macro}{\StartDynamicMath} Place before using |$| \dots\ |$| or \cs{(} \dots \cs{)}
+% \begin{macro}{\inlinemathother} Place before using |$| \dots\ |$| or \cs{(} \dots \cs{)}
 % if the contents of the math are not static, depending on counters or dynamic macros.
 % \changes{v0.57}{2018/05/23}{Added.}
+% \changes{v0.61}{2018/09/20}{Changed name from \cs{StartDynamicMath} to \cs{inlinemathother}.}
 %    \begin{macrocode}
-\newcommand{\StartDynamicMath}{%
-\LWR at traceinfo{StartDynamicMath}%
+\newcommand{\inlinemathother}{%
+\LWR at traceinfo{inlinemathother}%
 \booltrue{LWR at dynamicmath}%
 }
 %    \end{macrocode}
 % \end{macro}
 %
-% \begin{macro}{\StopDynamicMath} Place after using |$| \dots\ |$| or \cs{(} \dots \cs{)}
+% \begin{macro}{\inlinemathnormal} Place after using |$| \dots\ |$| or \cs{(} \dots \cs{)}
 % with dynamic contents.
+% \changes{v0.61}{2018/09/20}{Changed name from \cs{StopDynamicMath} to \cs{inlinemathnormal}.}
 %    \begin{macrocode}
-\newcommand{\StopDynamicMath}{%
-\LWR at traceinfo{StopDynamicMath}%
+\newcommand{\inlinemathnormal}{%
+\LWR at traceinfo{inlinemathnormal}%
 \boolfalse{LWR at dynamicmath}%
 }
 %    \end{macrocode}
@@ -17272,7 +18052,7 @@
     {%
 %    \end{macrocode}
 %	At the start of each paragraph, generate an opening tag:
-% \index{par=\cs{par}>hooks}
+% \gindex{par=\cs{par}>hooks}
 %    \begin{macrocode}
         \PushPreHook{par}{\LWR at openparagraph}%
 %    \end{macrocode}
@@ -17482,9 +18262,9 @@
 %
 % \begin{macro}{\title} \marg{title}
 % Modified to remember \cs{thetitle}, which is used to set the \HTML\ page titles.
-% \index{HTML>meta tag>title}
-% \index{title>HTML meta tag}
-% \index{meta tag, HTML>title}
+% \gindex{HTML>meta tag>title}
+% \gindex{title>HTML meta tag}
+% \gindex{meta tag, HTML>title}
 % \changes{v0.44}{2017/11/18}{Added \cs{thetitle}.}
 %    \begin{macrocode}
 \let\LWR at origtitle\title
@@ -17513,9 +18293,9 @@
 %   The Title to place into an \HTML\ meta tag.
 %   The default is to use the document \cs{title}'s setting.
 %
-% \index{HTML>meta tag>Title}
-% \index{Title>HTML meta tag}
-% \index{meta tag, HTML>Title}
+% \gindex{HTML>meta tag>title}
+% \gindex{title>HTML meta tag}
+% \gindex{meta tag, HTML>title}
 %
 % \changes{v0.44}{2017/11/18}{Added.}
 %
@@ -17535,9 +18315,9 @@
 %   If none given, the default is \cs{theauthor}, which is empty unless
 %   the \pkg{titling} package is used.
 %
-% \index{HTML>meta tag>author}
-% \index{author>HTML meta tag}
-% \index{meta tag, HTML>author}
+% \gindex{HTML>meta tag>author}
+% \gindex{author>HTML meta tag}
+% \gindex{meta tag, HTML>author}
 %
 % \changes{v0.28}{2017/04/06}{Added \cs{HTMLauthor}. (Renamed in v0.30.)}
 % \changes{v0.30}{2017/04/28}{Renamed from \cs{HTMLauthor}.}
@@ -17558,14 +18338,16 @@
 % allowing different \HTML\ descriptions to be used
 % for different sections of the document.
 %
-% Do not use double quotes, and do not exceed 150 characters.\watchout
+% Do not use double quotes, and do not exceed 150 characters.
+% \trouble[HTML author]{HTMLAuthor=\cs{HTMLAuthor}}
+% \trouble{HTML>author}
 
 % \begin{macro}{\HTMLDescription} \marg{New \HTML\ meta description.} \qquad
 % Assigns the \HTML\ file's description meta tag.
 %
-% \index{HTML>meta tag>description}
-% \index{description>HTML meta tag}
-% \index{meta tag, HTML>description}
+% \gindex{HTML>meta tag>description}
+% \gindex{description>HTML meta tag}
+% \gindex{meta tag, HTML>description}
 %
 % \changes{v0.20}{2016/06/27}{Added \cs{NewHTMLdescription}.  (Renamed in v0.30.)}
 % \changes{v0.30}{2017/04/28}{Renamed from \cs{NewHTMLdescription}.}
@@ -17586,7 +18368,7 @@
 % \section{Footnotes}
 % \label{sec:footnotes}
 %
-% \index{footnotes}
+% \gindex{footnotes}
 %
 % \limitsfootnotes
 %
@@ -18060,8 +18842,9 @@
 % store result in \\ |\LWR at thisfilename|.
 %
 % Be sure that this does not result in filename collisions!
-% \watchout
+% \trouble[filename collision]{filename>collision}
 % Use the optional TOC caption entry parameter for formatting.
+% \trouble[section names]{sectioning>names}
 % Remember to \cs{protect} \LaTeX\ commands which appear in
 % section names and TOC captions.
 %    \begin{macrocode}
@@ -18160,7 +18943,7 @@
 % If pdf\LaTeX\ and not \optn{utf8} encoding, don't try to convert emdash, endash:
 % \changes{v0.52}{2018/04/01}{Fix: \cs{FileDepth} with non-utf8 encoding.}
 %    \begin{macrocode}
-\ifPDFTeX%
+\ifPDFTeX% pdflatex or dvi latex
 \ifdefstring{\inputencodingname}{utf8}{%
 \StrSubstitute{\LWR at thisnewfilename}{—}{-}[\LWR at thisnewfilename]
 %     emdash
@@ -18375,7 +19158,7 @@
 % If pdf\LaTeX\ and not \optn{utf8} encoding, use a hyphen instead of an emdash:
 % \changes{v0.52}{2018/04/01}{Fix: \cs{FileDepth} with non-utf8 encoding.}
 %    \begin{macrocode}
-\ifPDFTeX%
+\ifPDFTeX% pdflatex or dvi latex
 \ifdefstring{\inputencodingname}{utf8}{%
 \LWR at filestart{ — #1}% there is an EMdash in front of the #1
 }{
@@ -18478,14 +19261,19 @@
 % are partially supported, depending on the ability of
 % \prog{pdflatex} to generate characters and \prog{pdftotext} to read them.
 % If extra symbols appear in the text,
-% \watchout
+% \trouble[accents in filenames]{filename>accents}
+% \trouble{sectioning>accents}
+% \gindex{file>accent in name}
+% \gindex{accents>in section \& file names}
 % it may be that \prog{pdflatex} is actually producing a symbol over or under a
 % character, resulting in \prog{pdftotext} picking up the accent symbol separately.
 %
 % \XeLaTeX{} and \LuaLaTeX{} directly support accented section and file names.
-% \index{accents}\index{Unicode>file \& section names}\index{UTF-8>file \& section names}
-% \index{XeLaTeX>file \& section names}
-% \index{LuaLaTeX>file \& section names}
+% \gindex{accents>in section \& file names}
+% \gindex{Unicode>file \& section names}
+% \gindex{UTF-8>file \& section names}
+% \gindex{Xe\LaTeX>file \& section names}
+% \gindex{Lua\LaTeX>file \& section names}
 %
 %
 % \codehtml
@@ -19163,7 +19951,7 @@
 %    \end{macrocode}
 
 % \begin{macro}{\HTMLLanguage} Default language for the \HTML\ |lang| tag.
-% \index{language HTML metadata}
+% \gindex{language HTML metadata}
 %
 % \changes{v0.30}{2017/04/28}{Renamed from \cs{MetaLanguage}.}
 %
@@ -19229,9 +20017,9 @@
 %    \end{macrocode}
 %
 % \pkg{lwarp} is the generator:
-% \index{HTML>meta tag>generator}
-% \index{generator>HTML meta tag}
-% \index{meta tag, HTML>generator}
+% \gindex{HTML>meta tag>generator}
+% \gindex{generator>HTML meta tag}
+% \gindex{meta tag, HTML>generator}
 %    \begin{macrocode}
 \LWR at htmltag{meta name="generator" content="LaTeX lwarp package" /}%
     \LWR at orignewline
@@ -19245,9 +20033,9 @@
 }%
 %    \end{macrocode}
 % Mobile-friendly viewport:
-% \index{HTML>meta tag>viewport}
-% \index{viewport>HTML meta tag}
-% \index{meta tag, HTML>viewport}
+% \gindex{HTML>meta tag>viewport}
+% \gindex{viewport>HTML meta tag}
+% \gindex{meta tag, HTML>viewport}
 %    \begin{macrocode}
 \LWR at htmltag{meta name="viewport" %
 content="width=device-width, initial-scale=1.0" /}%
@@ -19414,7 +20202,7 @@
 % Labels:
 % \cs{ltx at label} is used in \pkg{amsmath} environments and is also
 % patched by \pkg{cleveref}.
-% \index{label>in HTML}
+% \gindex{label>in HTML}
 % \margintag{Label in \HTML}
 % \changes{v0.20}{2017/01/30}{Fix: math cross references.}
 %    \begin{macrocode}
@@ -19618,7 +20406,8 @@
 % \cs{and} is replaced to generate a simple inline list of authors separated
 % by commas.
 % Note: \cs{theauthor} does not work well
-% \watchout[\cs{theauthor}, \pkg{authblk}]
+% \trouble[\cs{theauthor}, \pkg{authblk}]{theauthor=\cs{theauthor} and \pkg{authblk}}
+% \trouble{authblk=\pkg{authblk}>theauthor=\cs{theauthor}}
 % with \pkg{authblk} unless the traditional \LaTeX\ syntax is used.
 %
 % \cs{printtitle}, \cs{printauthor}, etc., are provided for use inside a custom
@@ -19631,7 +20420,8 @@
 % a \env{titlingpage} environment when \cs{maketitle} is not used.
 %
 % Inside a \cs{titlepage} or \cs{titlingpage} environment, use
-% \watchout
+% \trouble[\cs{thanks}]{title>thanks=\cs{thanks}}
+% \trouble{footnote>title}
 % \cs{thanks} instead of \cs{footnote} for acknowledgements, etc.
 %
 %
@@ -19663,7 +20453,7 @@
 % and are used by \cs{maketitle}.
 % The author is printed inside a single-column \env{tabular},
 % which becomes multiple single-column \env{tabular}s if multiples authors are included.
-% For \HTML\, these \env{tabular}s become side-by-side \element{div}s
+% For \HTML, these \env{tabular}s become side-by-side \element{div}s
 % of class \attribute{oneauthor}, all of which are combined into one \element{div}
 % of class \attribute{author}.
 %
@@ -19696,13 +20486,16 @@
 % \end{Verbatim}
 %
 % \cs{theauthor} does not work well if \pkg{authblk} is used.
-% \watchout[\cs{theauthor}]
+% \trouble[\cs{theauthor}, \pkg{authblk}]{theauthor=\cs{theauthor} and \pkg{authblk}}
+% \trouble{authblk=\pkg{authblk}>theauthor=\cs{theauthor}}
 % If \cs{theauthor} is important, it is recommended to use the standard
 % \LaTeX\ syntax for \cs{author}, optionally with
 % \pkg{lwarp}'s \cs{affiliation} macro as well.
 %
 % After \cs{maketitle} has completed, \cs{theauthor} retains the definition of
-% \watchout[affiliations]
+% \trouble[affiliations]{author>affiliation}
+% \trouble{title>affiliation}
+% \trouble{affiliation}
 % the author, but \cs{and} is changed to become a comma and a space, intending to
 % print the authors names separated by spaces.  This fails when affiliations are
 % included on their own table rows.
@@ -20194,7 +20987,9 @@
 %
 % To add \cs{subtitle} and \cs{published} to the titlepage,
 % \margintag{\cs{subtitle} and \cs{published}}
-% \index{subtitle}\index{published}\index{titlepage>subtitle and published}
+% \gindex{subtitle=\cs{subtitle}}%
+% \gindex{published=\cs{published}}
+% \gindex{titlepage>subtitle=\cs{subtitle} and \cs{published}}
 % load the \pkg{titling} package and use \cs{AddSubtitlePublished}
 % in the preamble.
 %
@@ -20205,7 +21000,8 @@
 % If \pkg{titling} is not loaded, \cs{AddSubtitlePublished} creates null macros.
 %
 % Do not use \cs{AddSubtitlePublished} if the user has patched the \pkg{titling}
-% \watchout[\pkg{titling} hooks]
+% \trouble[\pkg{titling} hooks]{titling=\pkg{titling}>hooks}
+% \trouble{AddSubtitlePublished=\cs{AddSubtitlePublished}}
 % hooks for some other reason.
 % Portions are marked \cs{warpprintonly} to reduce extra tags in \HTML.
 % Similarly, \env{BlockClass} has no effect in print mode.
@@ -20709,9 +21505,11 @@
 % The \LaTeX\ source for |itemize| and |enumerate| are found in |source2e|, but
 % the source for |description| is found in |article.cls|, etc.
 %
-% To have an empty
-% item,\margintag{empty item}\index{item>empty}\index{list>empty item} use
-% |\mbox{}| or a trailing backslash.
+% To have an empty item,\margintag{empty item}
+% \gindex{item>empty}%
+% \gindex{list>empty item}%
+% \trouble{list>empty item}%
+% use |\mbox{}| or a trailing backslash.
 % This forces a new line in print output, matching the new line which
 % will appear in \HTML\ output.
 % Ex:
@@ -21456,9 +22254,11 @@
 % Otherwise, close any paragraphs, then close the data tag.
 %
 % \changes{v0.41}{2017/10/02}{Add: Mute \progcode{\protect\textgreater} for \cs{bottomrule}.}
+% \changes{v0.61}{2018/09/23}{Fix: Par tags in \env{tabular}.}
 %
 %    \begin{macrocode}
 \newcommand*{\LWR at closetabledatacell}{%
+\LWR at stoppars%
 \global\booltrue{LWR at intabularmetadata}%
 \ifbool{LWR at exitingtabular}{}%
 {% not exiting tabular
@@ -22111,7 +22911,7 @@
 
 % HTML \CSS\ cannot exactly match the \LaTeX{} concept of a baseline for
 % a table row.
-% \watchout
+% \trouble[tabular baselines]{tabular>baselines}
 % \Cref{tab:baseline} shows the \LaTeX{} results for various
 % vertical-alignment choices, with the baseline of the first column drawn across
 % all the columns for comparison.
@@ -22119,7 +22919,7 @@
 %
 % \begin{table}
 % \caption{Tabular baseline\label{tab:baseline}}
-% \index{tabular>baseline}\index{baseline>tabular}
+% \gindex{tabular>baseline}\gindex{baseline>tabular}
 % \centering
 % \smallskip
 % \begin{tabular}{lp{.25in}m{.25in}b{.25in}r}
@@ -22140,8 +22940,8 @@
 %
 % \begin{table}
 % \caption{Tabular HTML column conversions\label{tab:columnconversions}}
-% \index{tabular>HTML colummn conversion}
-% \index{HTML>tabular column conversion}
+% \gindex{tabular>HTML colummn conversion}
+% \gindex{HTML>tabular column conversion}
 %
 % \medskip
 %
@@ -24446,7 +25246,7 @@
 % \begin{macro}{\mrowcell}
 % The user must insert \cs{mrowcell} into any \cs{multirow} cells which must be skipped.
 % This command has no action during print output.
-% \watchout
+% \trouble[multirow cells]{tabular>multirow=\cs{multirow}}
 %    \begin{macrocode}
 \newcommand*{\mrowcell}{}
 %    \end{macrocode}
@@ -24468,7 +25268,7 @@
 % The user must insert \cs{mcolrowcell} into any \cs{multicolumnrow} cells
 % which must be skipped.
 % This command has no action during print output.
-% \watchout
+% \trouble[multirow cells]{tabular>multirow=\cs{multirow}}
 % \changes{v0.41}{2017/10/05}{Added for \cs{multicolumrow} cells.}
 %    \begin{macrocode}
 \newcommand*{\mcolrowcell}{}
@@ -25348,8 +26148,6 @@
 % which will probably break something, and the emulation already handles
 % whatever may be emulated anyhow.
 %
-% Any reference to |\usepackage{hyperref}| must be placed inside a \env{warpprint} environment.
-% \watchout
 %    \begin{macrocode}
 % DO NOT TELL OTHER PACKAGES TO ASSUME HYPERREF, lest they attempt to patch it:
 % \EmulatesPackage{hyperref}[2015/08/01]% Disabled.  Do not do this.
@@ -26278,10 +27076,11 @@
 % the standard \LaTeX{} \cs{listoffigures} and \cs{listoftables} commands.
 %
 % \changes{v0.57}{2018/05/26}{Fix: Provide \cs{l at name} if not defined.}
+% \changes{v0.61}{2018/09/26}{Fix: \pkg{newfloat} lists.}
 %    \begin{macrocode}
 \NewDocumentCommand{\listof}{m +m}{%
 \@ifundefined{l@#1}{%
-    \csdef{l@#1}[2]{\hypertocfloat{1}{#1}{\@nameuse{ext@#1}}{##1}{##2}}%
+    \csdef{l@#1}##1##2{\hypertocfloat{1}{#1}{\@nameuse{ext@#1}}{##1}{##2}}%
 }{}%
 \LWR at subtableofcontents{\@nameuse{ext@#1}}{#2}
 \expandafter\newwrite\csname tf@\csname ext@#1\endcsname\endcsname
@@ -26712,17 +27511,18 @@
 % \end{sourcedisplay}
 %
 % \changes{v0.58}{2018/06/17}{Adds support for \cs{see}, \cs{seealso}, \cs{emph}, \cs{textbf}, etc.}
+% \changes{v0.61}{2018/09/27}{Made robust,}
 %    \begin{macrocode}
 \newcommand{\LWR at hyperindexrefnullified}{%
-\renewcommand{\emph}[1]{\LWR at HTMLemph{\LWR at doindexentry{##1}}}%
-\renewcommand{\textbf}[1]{\LWR at HTMLtextbf{\LWR at doindexentry{##1}}}%
-\renewcommand{\textrm}[1]{\LWR at HTMLtextrm{\LWR at doindexentry{##1}}}%
-\renewcommand{\textsf}[1]{\LWR at HTMLtextsf{\LWR at doindexentry{##1}}}%
-\renewcommand{\texttt}[1]{\LWR at HTMLtexttt{\LWR at doindexentry{##1}}}%
-\renewcommand{\textup}[1]{\LWR at HTMLtextup{\LWR at doindexentry{##1}}}%
-\renewcommand{\textsc}[1]{\LWR at HTMLtextsc{\LWR at doindexentry{##1}}}%
-\renewcommand{\textit}[1]{\LWR at HTMLtextit{\LWR at doindexentry{##1}}}%
-\renewcommand{\textsl}[1]{\LWR at HTMLtextsl{\LWR at doindexentry{##1}}}%
+\renewrobustcmd{\emph}[1]{\LWR at HTMLemph{\LWR at doindexentry{##1}}}%
+\renewrobustcmd{\textbf}[1]{\LWR at HTMLtextbf{\LWR at doindexentry{##1}}}%
+\renewrobustcmd{\textrm}[1]{\LWR at HTMLtextrm{\LWR at doindexentry{##1}}}%
+\renewrobustcmd{\textsf}[1]{\LWR at HTMLtextsf{\LWR at doindexentry{##1}}}%
+\renewrobustcmd{\texttt}[1]{\LWR at HTMLtexttt{\LWR at doindexentry{##1}}}%
+\renewrobustcmd{\textup}[1]{\LWR at HTMLtextup{\LWR at doindexentry{##1}}}%
+\renewrobustcmd{\textsc}[1]{\LWR at HTMLtextsc{\LWR at doindexentry{##1}}}%
+\renewrobustcmd{\textit}[1]{\LWR at HTMLtextit{\LWR at doindexentry{##1}}}%
+\renewrobustcmd{\textsl}[1]{\LWR at HTMLtextsl{\LWR at doindexentry{##1}}}%
 }
 %    \end{macrocode}
 % \end{macro}
@@ -26918,6 +27718,7 @@
 %    \begin{macrocode}
 \let\,\LWR at origcomma% disable HTML short unbreakable space
 \let\thinspace\LWR at origthinspace% disable HTML short unbreakable space
+\let\negthinspace\LWR at orignegthinspace% disable HTML negative short unbreakable space
 \let\textellipsis\LWR at origtextellipsis%
 \let\textless\LWR at origtextless%
 \let\textgreater\LWR at origtextgreater%
@@ -26995,12 +27796,12 @@
 % \subsubsection{Catcode changes}
 % \limitsmathcatcode
 %
-% \subsubsection{Dynamic math}
-% \limitsmathdynamic
+% \subsubsection{Complicated inline math objects}
+% \limitsmathinline
 %
-% \subsubsection{Display math}
+% \subsubsection{Complicated display math objects}
 %
-% \describedisplaymathother
+% \limitsmathdisplay
 
 
 % \subsection{HTML \attribute{alt} tag names}
@@ -28001,7 +28802,7 @@
 
 % \subsection{\cs{displaymathnormal} and \cs{displaymathother}}
 %
-% \describedisplaymathother
+% \limitsmathdisplay
 %
 % \begin{macro}{\displaymathnormal} Use when display math environments have simple
 % math which is to sent to \brand{MathJax} or included in \HTML\ \attribute{alt} tags.
@@ -28089,7 +28890,7 @@
 
 
 % \begin{macro}{\LWR at htmlmathlabel} \marg{label}
-% \index{label>math environment}
+% \gindex{label>math environment}
 %
 % \pkg{lwarp} points \cs{ltx at label} here.
 % This is used by \cs{label} when inside a
@@ -28424,7 +29225,7 @@
 % should blend well with the surrounding \HTML\ text size.
 %
 % \emph{Do not include the leading backslash in the name.}
-% \watchout[no backslash]
+% \trouble[no backslash]{LateximageFontSizeName=\cs{LateximageFontSizeName}}
 %
 % \changes{v0.19}{2016/05/29}{Add: User-adjustable math/lateximage font size.}
 % \changes{v0.54}{2018/04/16}{Defaults to \progcode{normalsize}.}
@@ -29206,7 +30007,7 @@
 
 % \section{Graphics print-mode modifications}
 %
-% \index{images>graphicx package}
+% \gindex{image>graphicx package}
 %
 % \subsection{General limitations}
 % \limitsgraphics
@@ -30840,23 +31641,23 @@
 %    \begin{macrocode}
 \begin{warpHTML}
 %    \end{macrocode}
-
-% |\,| must be redefined after |\RequirePackage{printlen}|
-
+%
+% \cs{,} and \cs{thinspace} may be redefined by other packages, so
+% are redefined \cs{AtBeginDocument} here.
+%
+% Direct-formatting space commands become \HTML\ entities:
+%
 % \changes{v0.45}{2017/12/29}{Improved: Robust \cs{\,}, \cs{~}, and \cs{textellipsis} commands.}
 % \changes{v0.56}{2018/05/09}{Added \cs{thinspace}.}
-% Direct-formatting space commands become \HTML\ entities:
+% \changes{v0.61}{2018/09/23}{Spaces redefined \cs{AtBeginDocument}.}
 %    \begin{macrocode}
+\AtBeginDocument{
 \renewrobustcmd*{\,}{\HTMLunicode{202f}}	% HTML thin non-breakable space
 \renewrobustcmd*{\thinspace}{\HTMLunicode{202f}}    % HTML thin non-breakable space
-%    \end{macrocode}
-% ^^A \renewcommand*{\,}{\HTMLunicode{2009}}	% HTML thin wrappable space
-% ^^A \renewcommand*{\,}{\HTMLentity{nbsp}}	% regular-width non-breakable space
-%    \begin{macrocode}
-
+\renewrobustcmd*{\negthinspace}{\HTMLunicode{202f}}    % HTML thin non-breakable space
 \renewrobustcmd*{~}{\HTMLentity{nbsp}}
-
 \renewrobustcmd*{\textellipsis}{\HTMLunicode{2026}}
+}
 %    \end{macrocode}
 %
 % Direct-formatting font sizes are ignored:
@@ -30977,9 +31778,10 @@
 
 % \begin{macro}{\LWR at minipagestartpars}
 % \changes{v0.19}{2016/05/31}{Surpresses paragraph tags between minipages.}
-% \index{minipage>horizontal space between}
-% \index{space>horizontal>between minipages}
-% \index{horizontal space>between minipages}
+% \gindex{minipage>horizontal space between}
+% \gindex{space>horizontal>between minipages}
+% \gindex{horizontal space>between minipages}
+% \trouble{minipage>horizontal space between}
 % Minipages are often placed side-by-side inside figures, with a bit of
 % horizontal space to separate them.  Since \HTML\ does not allow
 % a \element{div} to be inside a |p|, paragraphs must be turned off during the
@@ -32107,7 +32909,8 @@
 % \pkg{acronym} is patched for use by \pkg{lwarp}.
 %
 % \cs{acresetall} does not work with \pkg{cleveref},
-% \watchout
+% \trouble[multiply-defined labels]{multiply-defined labels>acronym=\pkg{acronym}}
+% \trouble{acronym=\pkg{acronym}>multiply-defined labels}
 % causing multiply-defined labels.
 % \pkg{lwarp} patches \pkg{acronym} for \HTML, but not for print mode.
 %
@@ -34108,7 +34911,7 @@
 % \pkg{backref} is patched for use by \pkg{lwarp}.
 %
 % Note that \pkg{backref} must be explicitly loaded,
-% \watchout[loading]
+% \trouble[loading]{backref}
 % and is not automatically loaded by \pkg{hyperref} when
 % generating \HTML\ output.
 %
@@ -34692,10 +35495,11 @@
 % \pkg{breqn} is patched for use by \pkg{lwarp}.
 %
 % \env{darray} is not supported.
-% \watchout
+% \trouble[\env{darray}]{breqn=\pkg{breqn}>darray}
 %
 % MathJax does not support \pkg{breqn}.
-% \watchout
+% \trouble[\brand{MathJax}]{breqn=\pkg{breqn}>MathJax=\brand{MathJax}}
+% \trouble{MathJax=\brand{MathJax}>breqn=\pkg{breqn}}
 %
 % \changes{v0.59}{2018/07/25}{\pkg{breqn}: Added.}
 %
@@ -35138,6 +35942,8 @@
 %
 %
 %
+%
+%
 % \iffalse
 %<*caption2>
 % \fi
@@ -35180,7 +35986,8 @@
 % 
 %
 % MathJax does not support \pkg{cases}.
-% \watchout
+% \trouble[\brand{MathJax}]{cases=\pkg{cases}>MathJax=\brand{MathJax}}
+% \trouble{MathJax=\brand{MathJax}>cases=\pkg{cases}}
 %
 % \changes{v0.58}{2018/06/08}{\pkg{cases}: Added.}
 %
@@ -35823,14 +36630,17 @@
 %
 % To use text-mode symbols, \margintag{Greek symbols}
 % use packages \pkg{textalpha} or \pkg{textgreek}.
-% Using the other packages supported by \pkg{chemgreek} \watchout[package selection]
+% Using the other packages supported by \pkg{chemgreek}
+% \trouble[package selection]{Greek packages}
+% \trouble{chemgreek=\pkg{chemgreek}>text-mode symbols}
 % will result in math-mode greek characters,
 % which will result in \SVG\ images being used.
 % These images will be hashed.
-% \index{chemistry>Greek symbols}
-% \index{Greek>chemistry symbols}
+% \gindex{chemistry>Greek symbols}
+% \gindex{Greek>chemistry symbols}
 %
-% If using \XeLaTeX\ or \LuaLaTeX, select the |fontspec| mapping:\watchout[\XeLaTeX, \LuaLaTeX]
+% If using \XeLaTeX\ or \LuaLaTeX, select the |fontspec| mapping:
+% \trouble[\XeLaTeX, \LuaLaTeX]{chemgreek=\pkg{chemgreek}>fontspec mapping}
 % \begin{sourcedisplay}
 % \cs{selectchemgreekmapping}\{fontspec\}
 % \end{sourcedisplay}
@@ -35890,7 +36700,8 @@
 %
 % \subsection{Changes to the user's document}
 %
-% When using \cs{makepolymerdelims}, \watchout[\cs{makepolymerdelims}]
+% When using \cs{makepolymerdelims},
+% \trouble[\cs{makepolymerdelims}]{chemmacros=\pkg{chemmacros}>makepolymerdelims=\cs{makepolymerdelims}}
 % enclose the entire expression inside a \env{polymerdelims} environment,
 % such as (from the \pkg{chemmacros} manual):
 %
@@ -35904,7 +36715,8 @@
 % \hrule
 %
 % Redox reactions must be enclosed inside
-% a \env{redoxreaction} environment. \watchout[redox reactions]
+% a \env{redoxreaction} environment.
+% \trouble[redox reactions]{chemmacros=\pkg{chemmacros}>redox reactions}
 % For print output, extra space must be included above and/or below the result,
 % so they are declared as arguments to the environment, instead of
 % being manually entered as per the \pkg{chemmacros} manual.
@@ -36985,6 +37797,33 @@
 %
 %
 % \iffalse
+%<*chkfloat>
+% \fi
+%
+% \part{lwarp-chkfloat.sty}
+%
+% \section{chkfloat}
+%
+% \DescribePackage{chkfloat}
+% \pkg{chkfloat} is ignored.
+%
+% \changes{v0.61}{2018/10/05}{\pkg{chkfloat}: Added.}
+%
+% \codehtml
+%
+%    \begin{macrocode}
+\LWR at ProvidesPackageDrop{chkfloat}[2012/08/19]
+%    \end{macrocode}
+%
+% \iffalse
+%</chkfloat>
+% \fi
+%
+%
+%
+%
+%
+% \iffalse
 %<*cite>
 % \fi
 %
@@ -37056,6 +37895,38 @@
 %
 %
 % \iffalse
+%<*cmdtrack>
+% \fi
+%
+% \part{lwarp-cmdtrack.sty}
+%
+% \section{cmdtrack}
+%
+% \DescribePackage{cmdtrack}
+% \pkg{cmdtrack} is ignored.
+%
+% \changes{v0.61}{2018/10/05}{\pkg{cmdtrack}: Added.}
+%
+% \codehtml
+%
+%    \begin{macrocode}
+\LWR at ProvidesPackageDrop{cmdtrack}[2012/12/18]
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\newcommand{\untrack}[1]{}
+%    \end{macrocode}
+%
+% \iffalse
+%</cmdtrack>
+% \fi
+%
+%
+%
+%
+%
+%
+% \iffalse
 %<*color>
 % \fi
 %
@@ -37253,8 +38124,60 @@
 %
 %
 %
+% \iffalse
+%<*copyrightbox>
+% \fi
 %
+% \part{lwarp-copyrightbox.sty}
+%
+% \section{copyrightbox}
+%
+% \credits{Thomas Fischer, Ives van der Flaas}
+%
+% \DescribePackage{copyrightbox}
+% \pkg{copyrightbox} is emulated for use by \pkg{lwarp}.
+%
+% The entire copyright box is placed inside a \element{div} of class \attribute{copyrightbox}.
+%
+% The contents are placed inside a \element{div} of class \attribute{copyrightboxcontents}.
+%
+% The copyright notice is placed inside a \element{div} of class \attribute{copyrightboxnote}.
+%
+% \changes{v0.61}{2018/09/23}{\pkg{copyrightbox}: Added.}
+%
+% \codehtml
+%
+%    \begin{macrocode}
+\LWR at ProvidesPackageDrop{copyrightbox}
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\newcommand{\copyrightbox}[3][r]{%
+\begin{BlockClass}[
+    display: inline-flex;
+    flex-direction: column ;
+]{copyrightbox}
+\begin{BlockClass}{copyrightboxcontents}
+#2
+\end{BlockClass}
+\begin{BlockClass}{copyrightboxnote}
+#3
+\end{BlockClass}
+\end{BlockClass}
+}
+
+\newcommand{\CRB at setcopyrightfont}{}
+\newcommand{\CRB at setcopyrightparagraphstyle}{}
+%    \end{macrocode}
+%
 % \iffalse
+%</copyrightbox>
+% \fi
+%
+%
+%
+%
+% \iffalse
 %<*crop>
 % \fi
 %
@@ -37591,6 +38514,31 @@
 %
 %
 % \iffalse
+%<*dprogress>
+% \fi
+%
+% \part{lwarp-dprogress.sty}
+%
+% \section{dprogress}
+%
+% \DescribePackage{dprogress}
+% \pkg{dprogress} is ignored.
+%
+% \changes{v0.61}{2018/10/05}{\pkg{dprogress}: Added.}
+%
+% \codehtml
+%
+%    \begin{macrocode}
+\LWR at ProvidesPackageDrop{dprogress}[2008/02/21]
+%    \end{macrocode}
+%
+% \iffalse
+%</dprogress>
+% \fi
+%
+%
+%
+% \iffalse
 %<*draftcopy>
 % \fi
 %
@@ -38215,6 +39163,60 @@
 %
 %
 % \iffalse
+%<*epsfig>
+% \fi
+%
+% \part{lwarp-epsfig.sty}
+%
+% \section{epsfig}
+%
+% \DescribePackage{epsfig}
+% \pkg{epsfig} is emulated for use by \pkg{lwarp}.
+%
+% Only the \LaTeX 2e syntax is emulated.
+% \watchout
+%
+% \changes{v0.61}{2018/10/01}{\pkg{epsfig}: Added.}
+%
+% \codehtml
+%
+%    \begin{macrocode}
+\LWR at ProvidesPackageDrop{epsfig}[2017/06/25]
+%    \end{macrocode}
+%
+% A few additional keys to capture the filename:
+%    \begin{macrocode}
+\RequirePackage{graphics}
+
+\define at key{igraph}{file}{%
+    \xdef\LWR at epsfig@filename{#1}%
+}
+
+\define at key{igraph}{figure}{%
+    \xdef\LWR at epsfig@filename{#1}%
+}
+
+\define at key{igraph}{prolog}{}
+
+\define at key{igraph}{silent}[]{}
+%    \end{macrocode}
+%
+% The captured filename is used as the argument to \cs{includegraphics}:
+%    \begin{macrocode}
+\newcommand{\epsfig}[1]{\includegraphics[#1]{\LWR at epsfig@filename}}
+
+\newcommand{\psfig}[1]{\includegraphics[#1]{\LWR at epsfig@filename}}
+%    \end{macrocode}
+%
+% \iffalse
+%</epsfig>
+% \fi
+%
+%
+%
+%
+%
+% \iffalse
 %<*epstopdf>
 % \fi
 %
@@ -38350,7 +39352,7 @@
 %    \begin{macrocode}
 \xpatchcmd{\erratumAdd}
     {$_a^{\arabic{erratum}}$}
-%     {\StartDynamicMath$_a^{\arabic{erratum}}$\StopDynamicMath}
+%     {\inlinemathother$_a^{\arabic{erratum}}$\inlinemathnormal}
     {\textsubscript{a}\textsuperscript{\arabic{erratum}}}
     {}
     {\LWR at patcherror{erratum}{erratumAdd}}
@@ -38357,7 +39359,7 @@
 
 \xpatchcmd{\erratumDelete}
     {$_d^{\arabic{erratum}}$}
-%     {\StartDynamicMath$_d^{\arabic{erratum}}$\StopDynamicMath}
+%     {\inlinemathother$_d^{\arabic{erratum}}$\inlinemathnormal}
     {\textsubscript{d}\textsuperscript{\arabic{erratum}}}
     {}
     {\LWR at patcherror{erratum}{erratumDelete}}
@@ -38364,7 +39366,7 @@
 
 \xpatchcmd{\erratumReplace}
     {$_r^{\arabic{erratum}}$}
-%     {\StartDynamicMath$_r^{\arabic{erratum}}$\StopDynamicMath}
+%     {\inlinemathother$_r^{\arabic{erratum}}$\inlinemathnormal}
     {\textsubscript{r}\textsuperscript{\arabic{erratum}}}
     {}
     {\LWR at patcherror{erratum}{erratumReplace}}
@@ -38371,7 +39373,7 @@
 
 \xpatchcmd{\erratum}
     {$_a$}
-%     {\StartDynamicMath$_a$\StopDynamicMath}
+%     {\inlinemathother$_a$\inlinemathnormal}
     {\textsubscript{a}}
     {}
     {\LWR at patcherror{erratum}{erratumDelete}}
@@ -38378,7 +39380,7 @@
 
 \xpatchcmd{\erratum}
     {$_d^{\@thefnmark}$}
-%     {\StartDynamicMath$_d^{\@thefnmark}$\StopDynamicMath}
+%     {\inlinemathother$_d^{\@thefnmark}$\inlinemathnormal}
     {\textsubscript{d}\textsuperscript{\@thefnmark}}
     {}
     {\LWR at patcherror{erratum}{eDelete}}
@@ -38385,7 +39387,7 @@
 
 \xpatchcmd{\erratum}
     {$_r^{\@thefnmark}$}
-%     {\StartDynamicMath$_r^{\@thefnmark}$\StopDynamicMath}
+%     {\inlinemathother$_r^{\@thefnmark}$\inlinemathnormal}
     {\textsubscript{r}\textsuperscript{\@thefnmark}}
     {}
     {\LWR at patcherror{erratum}{eReplace}}
@@ -40742,7 +41744,7 @@
 % \pkg{forest} is patched for use by \pkg{lwarp}.
 %
 % The starred version of the macro \cs{Forest*} is not supported.
-% \watchout[\cs{Forest*}]
+% \trouble[\cs{Forest*}]{forest=\pkg{forest}}
 % \pkg{lwarp} encases each \env{lateximage} in an environment, so the
 % global results of the starred \cs{Forest*} are lost.
 %
@@ -41181,7 +42183,7 @@
 %    \end{macrocode}
 % In the original, the \acro{TOC} entry was made before the section,
 % thus linking to the phantomsection in the printed version, but for
-% \HTML\, this caused the link to point to the page before the glossaries,
+% \HTML, this caused the link to point to the page before the glossaries,
 % which could be a different \HTML\ file.
 % Here, the \acro{TOC} entry is made after the section is created:
 %    \begin{macrocode}
@@ -41302,10 +42304,23 @@
 }
 %    \end{macrocode}
 % Inside a \env{lateximage}, allow \PDF\ instead of \SVG:
+% \changes{v0.61}{2018/10/06}{Fix: EPS for \DVI\ \LaTeX.}
 %    \begin{macrocode}
+\ifpdf
 \appto\LWR at restoreorigformatting{%
 \DeclareGraphicsExtensions{.pdf,.PDF,.gif,.GIF,.png,.PNG,.jpg,.JPG,.jpeg,.JPEG}%
 }
+\else% \ifpdf
+        \ifXeTeX
+\appto\LWR at restoreorigformatting{%
+\DeclareGraphicsExtensions{.pdf,.PDF,.gif,.GIF,.png,.PNG,.jpg,.JPG,.jpeg,.JPEG}%
+}
+        \else
+\appto\LWR at restoreorigformatting{%
+\DeclareGraphicsExtensions{.eps,.EPS,.gif,.GIF,.png,.PNG,.jpg,.JPG,.jpeg,.JPEG}%
+}
+        \fi
+\fi
 %    \end{macrocode}
 % \end{macro}
 
@@ -41315,7 +42330,7 @@
 % A scaled image in \LaTeX{} by default takes only as much space
 % on the page as it
 % requires, but \HTML\ browsers use as much space as the
-% \watchout[whitespace]
+% \trouble[whitespace]{graphics>scaled}
 % original unscaled image would have taken,
 % with the scaled image over- or under-flowing the area.
 
@@ -41402,7 +42417,7 @@
 % \changes{v0.52}{2018/03/27}{pkg{graphics}: Added defaults.}
 %    \begin{macrocode}
 \define at key{igraph}{origin}[c]{%
-\renewcommand*{\LWR at igorigin}{#1}%
+    \renewcommand*{\LWR at igorigin}{#1}%
 }
 %    \end{macrocode}
 %
@@ -41424,8 +42439,9 @@
 % |xscale| and |yscale|.  |scale| adjusts both at the same time.
 %    \begin{macrocode}
 \define at key{igraph}{scale}{%
-\renewcommand*{\LWR at igxscale}{#1}%
-\renewcommand*{\LWR at igyscale}{#1}}
+    \renewcommand*{\LWR at igxscale}{#1}%
+    \renewcommand*{\LWR at igyscale}{#1}%
+}
 %    \end{macrocode}
 %
 % Numerous ignored keys:
@@ -41575,6 +42591,10 @@
 %
 % If |#3| is empty, only one optional argument was given, thus \pkg{graphicx} syntax.
 %
+% If using \cs{epsfig} or \cs{psfig} from the \pkg{epsfig} package,
+% |#4| will be \cs{LWR at epsfig@filename}, which will have been set by the |file| or |figure| keys.
+% Therefore, |#4| must not be used until after the keys have been processed.
+%
 % \changes{v0.18}{2016/04/14}{Improved \HTML\ output linebreaks.}
 % \changes{v0.18}{2016/05/17}{Fix: \cs{linewidth}, \cs{textwidth}, \cs{textheight}
 %   inside a minipage.}
@@ -41592,7 +42612,6 @@
 %    \begin{macrocode}
 \NewDocumentCommand{\LWR at includegraphicsb}{s o o m}
 {%
-\LWR at traceinfo{LWR at includegraphicsb #4}%
 %    \end{macrocode}
 % Start the image tag on a new line, allow \PDF\ output word wrap:
 %    \begin{macrocode}
@@ -41614,24 +42633,6 @@
     }%
 }{}%
 %    \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%
-\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}%
-% \LWR at sanitize{\LWR at parsedfilename}%
-%    \end{macrocode}
-%
 % For correct em sizing during the width and height conversions:
 %    \begin{macrocode}
 \large%
@@ -41658,13 +42659,47 @@
 }%
 %    \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.}
+% \changes{v0.61}{2018/10/01}{Set keys before using filename, for \pkg{epsfig}.}
+%    \begin{macrocode}
+\begingroup%
+\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}%
+% \LWR at sanitize{\LWR at parsedfilename}%
+%    \end{macrocode}
+%
 % If formatting for a word processor, find and set the actual image size,
 % without rotation, using \PDF\ instead of \SVG\ to find the original bounding box:
 % \changes{v0.42}{2017/10/24}{If \progcode{FormatWP}, use explicit size.}
+% \changes{v0.61}{2018/10/06}{Fix: EPS for \DVI\ \LaTeX.}
 %    \begin{macrocode}
 \ifbool{FormatWP}{%
     \begingroup%
+    \ifpdf
+    \appto\LWR at restoreorigformatting{%
     \DeclareGraphicsExtensions{.pdf,.PDF,.gif,.GIF,.png,.PNG,.jpg,.JPG,.jpeg,.JPEG}%
+    }
+    \else% \ifpdf
+            \ifXeTeX
+    \appto\LWR at restoreorigformatting{%
+    \DeclareGraphicsExtensions{.pdf,.PDF,.gif,.GIF,.png,.PNG,.jpg,.JPG,.jpeg,.JPEG}%
+    }
+            \else
+    \appto\LWR at restoreorigformatting{%
+    \DeclareGraphicsExtensions{.eps,.EPS,.gif,.GIF,.png,.PNG,.jpg,.JPG,.jpeg,.JPEG}%
+    }
+            \fi
+    \fi
     \define at key{Gin}{angle}{}%
     \IfBooleanTF{#1}%
     {% starred
@@ -44701,7 +45736,8 @@
 % \pkg{ltxtable} is emulated.
 %
 % The print version does not seem to honor \env{longtable*} from the
-% \watchout[table numbering]
+% \trouble[table numbering]{ltxtable=\pkg{ltxtable}>numbering}
+% \trouble{table>numbering}
 % \pkg{caption} package, while \pkg{lwarp} does.
 %
 % \changes{v0.44}{2017/11/15}{\pkg{ltxtable}: Added.}
@@ -44758,6 +45794,33 @@
 %
 %
 % \iffalse
+%<*lua-visual-debug>
+% \fi
+%
+% \part{lwarp-lua-visual-debug.sty}
+%
+% \section{lua-visual-debug}
+%
+% \DescribePackage{lua-visual-debug}
+% \pkg{lua-visual-debug} is ignored.
+%
+% \changes{v0.61}{2018/10/05}{\pkg{lua-visual-debug}: Added.}
+%
+% \codehtml
+%
+%    \begin{macrocode}
+\LWR at ProvidesPackageDrop{lua-visual-debug}[2016/05/30]
+%    \end{macrocode}
+%
+% \iffalse
+%</lua-visual-debug>
+% \fi
+%
+%
+%
+%
+%
+% \iffalse
 %<*luacolor>
 % \fi
 %
@@ -45846,7 +46909,8 @@
 % and assume that any \pkg{mhchem} options are global.
 %
 % The \brand{MathJax} \pkg{mhchem} extension is not yet used.
-% \watchout[\brand{MathJax} and \pkg{mhchem}]
+% \trouble[\brand{MathJax} and \pkg{mhchem}]{MathJax=\brand{MathJax}>mhchem=\pkg{mhchem}}
+% \trouble{mhchem=\pkg{mhchem}>MathJax=\brand{MathJax}}
 % If \brand{MathJax} is used for math in the rest of the document,
 % \pkg{lwarp} converts standalone \pkg{mhchem}
 % expressions into \SVG\ math images, but expressions inside math
@@ -45857,11 +46921,11 @@
 % \cs{displaymathnormal}
 % \end{sourcedisplay}
 %
-% When producing \HTML\ output, \pkg{lwarp} does not support \watchout[nested math]
+% When producing \HTML\ output, \pkg{lwarp} does not support
+% \trouble[nested math]{mhchem=\pkg{mhchem}>nested dollar signs}
 % the use of nested dollar signs in \pkg{mhchem} expressions.
-% \index{mhchem>troubleshooting}
-% \index{array>\pkg{mhchem}}
-% \index{math>\pkg{mhchem}}
+% \gindex{array>\pkg{mhchem}}
+% \gindex{math>\pkg{mhchem}}
 %
 % For some examples from the \pkg{mhchem} manual, change as follows:
 % \begin{Verbatim}[gobble=2,frame=leftline, xleftmargin=.5in,obeytabs,tabsize=4]
@@ -46527,9 +47591,10 @@
 % \label{sec:multicolumnmultirow}
 %
 % \limitsmulticolumnrow
-% \index{multicolumn>with multirow}
-% \index{multirow>with multicolumn}
-% \index{tabular>multicolumn with multirow}
+% \gindex{multicolumn=\cs{multicolumn}>with \cs{multirow}}
+% \gindex{multirow=\cs{multirow}>with \cs{multicolumn}}
+% \gindex{tabular>multicolumn=\cs{multicolumn} with \cs{multirow}}
+% \trouble{tabular>multicolumn=\cs{multicolumn} with \cs{multirow}}
 %
 %
 % \begin{macro}{\multicolumnrow}
@@ -47135,7 +48200,7 @@
 % to initialize.
 %
 % The options |thmmarks| and |amsmath| are disabled, since they
-% \watchout[Disabled options]
+% \trouble[Disabled options]{ntheorem=\pkg{ntheorem}}
 % heavily modify the underlying math code.  Theorem marks are emulated.
 % The AMS-math modifications are not done.
 %
@@ -48311,6 +49376,31 @@
 %
 %
 % \iffalse
+%<*pdfprivacy>
+% \fi
+%
+% \part{lwarp-pdfprivacy.sty}
+%
+% \section{pdfprivacy}
+%
+% \DescribePackage{pdfprivacy}
+% \pkg{pdfprivacy} is ignored.
+%
+% \changes{v0.61}{2018/09/23}{\pkg{pdfprivacy}: Added.}
+%
+% \codehtml
+%
+%    \begin{macrocode}
+\LWR at ProvidesPackageDrop{pdfprivacy}
+%    \end{macrocode}
+%
+% \iffalse
+%</pdfprivacy>
+% \fi
+%
+%
+%
+% \iffalse
 %<*pdfrender>
 % \fi
 %
@@ -48644,7 +49734,7 @@
 % \codehtml
 %
 %    \begin{macrocode}
-\LWR at ProvidesPackageDrop{preview}
+\LWR at ProvidesPackageDrop{preview}[2017/04/24]
 %    \end{macrocode}
 %
 %    \begin{macrocode}
@@ -48666,6 +49756,92 @@
 %
 %
 % \iffalse
+%<*psfrag>
+% \fi
+%
+% \part{lwarp-psfrag.sty}
+%
+% \section{psfrag}
+%
+% \credits{Michael C. Grant, David Carlisle}
+%
+% \DescribePackage{psfrag}
+% \pkg{psfrag} is patched for use by \pkg{lwarp}.
+%
+% \limitspsfrag
+%
+% \changes{v0.61}{2018/10/01}{\pkg{psfrag}: Added.}
+%
+% \codehtml
+%
+%    \begin{macrocode}
+\LWR at ProvidesPackagePass{psfrag}[1998/04/11]
+%    \end{macrocode}
+%
+% A \env{lateximage} captures the modified image from the document.
+%    \begin{macrocode}
+\BeforeBeginEnvironment{psfrags}{%
+    \begin{lateximage}[(-psfrags-~\packagediagramname)]%
+}
+
+\AfterEndEnvironment{psfrags}{\end{lateximage}}
+%    \end{macrocode}
+%
+% \iffalse
+%</psfrag>
+% \fi
+%
+%
+%
+%
+%
+% \iffalse
+%<*psfragx>
+% \fi
+%
+% \part{lwarp-psfragx.sty}
+%
+% \section{psfragx}
+%
+% \credits{Pascal Kockaert}
+%
+% \DescribePackage{psfragx}
+% \pkg{psfragx} is patched for use by \pkg{lwarp}.
+%
+% \changes{v0.61}{2018/10/03}{\pkg{psfragx}: Added.}
+%
+% \codehtml
+%
+%    \begin{macrocode}
+\LWR at ProvidesPackagePass{psfragx}[2012/05/02]
+%    \end{macrocode}
+%
+% A \env{lateximage} captures the modified image from the document.
+%    \begin{macrocode}
+\def\pfx at includegraphicx#1#2{%
+    \begin{lateximage}[(-psfragx-~\packagediagramname)]%
+    \mbox{\pfx at overpix{#1}{#2}\endpfx at overpix}%
+    \end{lateximage}%
+}
+
+\def\@@@overpix[#1]<#2>[#3]#4{%
+    \begin{lateximage}[(-psfragx-~\packagediagramname)]%
+    \pfx at overpix{#1,ovpfgd={#2},ovpbgd={#3}}{#4}%
+}
+
+\def\endoverpix{%
+    \endpfx at overpix%
+    \end{lateximage}%
+}
+%    \end{macrocode}
+%
+% \iffalse
+%</psfragx>
+% \fi
+%
+%
+%
+% \iffalse
 %<*pst-eps>
 % \fi
 %
@@ -48697,7 +49873,55 @@
 %
 %
 %
+%
 % \iffalse
+%<*pstool>
+% \fi
+%
+% \part{lwarp-pstool.sty}
+%
+% \section{pstool}
+%
+% \credits{Zebb Prime, Will Robertson}
+%
+% \DescribePackage{pstool}
+% \pkg{pstool} is patched for use by \pkg{lwarp}.
+%
+% \changes{v0.61}{2018/10/02}{\pkg{pstool}: Added.}
+%
+% \limitspstool
+%
+% \codehtml
+%
+%    \begin{macrocode}
+\LWR at ProvidesPackagePass{pstool}
+%    \end{macrocode}
+%
+% Each image is placed inside a \env{lateximage} to capture the results of \pkg{psfrag}.
+%
+%    \begin{macrocode}
+\renewcommand\pstool at alwaysprocess[3][]{%
+    \begin{lateximage}[(-pstool-~\packagediagramname)]%
+    \includegraphics{#2.pdf}%
+    \end{lateximage}%
+}
+\LetLtxMacro\pstool at neverprocess\pstool at alwaysprocess
+\LetLtxMacro\pstool at maybeprocess\pstool at alwaysprocess
+
+\renewcommand\pstool@@psfragfig[4]{%
+    \begin{lateximage}[(-pstool-~\packagediagramname)]%
+    \includegraphics{#2.pdf}%
+    \end{lateximage}%
+}
+%    \end{macrocode}
+%
+% \iffalse
+%</pstool>
+% \fi
+%
+%
+%
+% \iffalse
 %<*pstricks>
 % \fi
 %
@@ -48976,8 +50200,44 @@
 %
 %
 %
+% \iffalse
+%<*refcheck>
+% \fi
 %
+% \part{lwarp-refcheck.sty}
+%
+% \section{refcheck}
+%
+% \DescribePackage{refcheck}
+% \pkg{refcheck} is ignored.
+%
+% \changes{v0.61}{2018/10/05}{\pkg{refcheck}: Added.}
+%
+% \codehtml
+%
+%    \begin{macrocode}
+\LWR at ProvidesPackageDrop{refcheck}[2013/02/14]
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\def\showrefnames{}
+\def\norefnames{}
+\def\showcitenames{}
+\def\nocitenames{}
+\def\setonmsgs{}
+\def\setoffmsgs{}
+\def\checkunlbld{}
+\def\ignoreunlbld{}
+\newcommand*{\refcheckxrdoc}[2][]{}
+%    \end{macrocode}
+%
 % \iffalse
+%</refcheck>
+% \fi
+%
+%
+%
+% \iffalse
 %<*register>
 % \fi
 %
@@ -49001,7 +50261,7 @@
 %    \begin{macrocode}
 \xpatchcmd{\register}
     {\centering}
-    {\begin{center}\begin{lateximage}[-register-~\packagediagramname]}
+    {\begin{center}\begin{lateximage}[(-register-~\packagediagramname)]}
     {}
     {\LWR at patcherror{register}{register}}
 
@@ -51023,8 +52283,73 @@
 %
 %
 %
+% \iffalse
+%<*srcltx>
+% \fi
 %
+% \part{lwarp-srcltx.sty}
+%
+% \section{srcltx}
+%
+% \DescribePackage{srcltx}
+% \pkg{srcltx} is ignored.
+%
+% \changes{v0.61}{2018/10/05}{\pkg{srcltx}: Added.}
+%
+% \codehtml
+%
+%    \begin{macrocode}
+\LWR at ProvidesPackageDrop{srcltx}[2006/11/12]
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\newif\ifSRCOK \SRCOKfalse
+\newcommand*\srcIncludeHook[1]{}
+\newcommand*\srcInputHook[1]{}
+\newcommand*\MainFile{}
+\def\MainFile{\jobname.tex}
+\newcommand*\CurrentInput{}
+\gdef\CurrentInput{\MainFile}
+\newcommand\Input{}
+\let\Input\input
+%    \end{macrocode}
+%
 % \iffalse
+%</srcltx>
+% \fi
+%
+%
+%
+%
+% \iffalse
+%<*srctex>
+% \fi
+%
+% \part{lwarp-srctex.sty}
+%
+% \section{srctex}
+%
+% \DescribePackage{srctex}
+% \pkg{srctex} is ignored.
+%
+% \changes{v0.61}{2018/10/05}{\pkg{srctex}: Added.}
+%
+% \codehtml
+%
+%    \begin{macrocode}
+\LWR at ProvidesPackageDrop{srctex}[2006/11/12]
+\LWR at origRequirePackage{lwarp-srcltx}
+%    \end{macrocode}
+%
+% \iffalse
+%</srctex>
+% \fi
+%
+%
+%
+%
+%
+% \iffalse
 %<*stabular>
 % \fi
 %
@@ -51501,14 +52826,19 @@
 \newcommand{\tablelasttail}[1]{%
     \long\gdef\LWRST at lasttail{#1}%
 }
-
+%    \end{macrocode}
+% \changes{v0.61}{2018/10/05}{\pkg{supertabular}: Fix for caption w/o opt arg.}
+%    \begin{macrocode}
 \newcommand{\tablecaption}[2][]{%
-    \long\gdef\LWRST at caption{\caption[#1]{#2}}%
+    \long\gdef\LWRST at caption{%
+        \ifblank{#1}%
+            {\caption{#2}}%
+            {\caption[#1]{#2}}%
+    }%
 }
 
 \let\topcaption\tablecaption
 \let\bottomcaption\tablecaption
-
 %    \end{macrocode}
 % \changes{v0.44}{2017/11/19}{\pkg{supertabular}: Fix for caption.}
 %    \begin{macrocode}
@@ -51519,7 +52849,7 @@
 \NewDocumentEnvironment{supertabular}{s o m}
 {%
 \LWR at traceinfo{supertabular}%
-\table%
+\begin{table}%
 \LWRST at caption%
 \begin{tabular}{#3}%
 \TabularMacro\ifdefvoid{\LWRST at firsthead}%
@@ -51534,7 +52864,7 @@
 \LWRST at lasttail%
 }%
 \end{tabular}%
-\endtable%
+\end{table}%
 \LWR at traceinfo{supertabular done}%
 }
 
@@ -51822,7 +53152,7 @@
 %
 %    \begin{macrocode}
 \AtBeginDocument{
-\ifPDFTeX
+\ifPDFTeX% pdflatex or dvi latex
 \newcommand*{\LWR at HTML@textdegree}{\HTMLentity{deg}}
 \newcommand*{\LWR at HTML@textcelsius}{\HTMLunicode{2103}}
 \newcommand*{\LWR at HTML@textohm}{\HTMLunicode{2126}}
@@ -52282,9 +53612,73 @@
 %
 %
 %
+% \iffalse
+%<*thinsp>
+% \fi
 %
+% \part{lwarp-thinsp.sty}
 %
+% \section{thinsp}
+%
+% \DescribePackage{thinsp}
+% \pkg{thinsp} is emulated.
+%
+% \changes{v0.61}{2018/08/23}{\pkg{thinsp}: Added.}
+%
+% \codehtml
+%
+%    \begin{macrocode}
+\LWR at ProvidesPackageDrop{thinsp}
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\AtBeginDocument{
+\let\thinthinspace\relax% defined by some packages
+\newcommand*{\thinthinspace}{\thinspace}
+}
+
+\newcommand*{\stretchthinspace}{\thinspace}
+\newcommand*{\stretchthinthinspace}{\thinthinspace}
+\newcommand*{\stretchnegthinspace}{\negthinspace}
+%    \end{macrocode}
+%
 % \iffalse
+%</thinsp>
+% \fi
+%
+%
+%
+% \iffalse
+%<*threadcol>
+% \fi
+%
+% \part{lwarp-threadcol.sty}
+%
+% \section{threadcol}
+%
+% \DescribePackage{threadcol}
+% \pkg{threadcol} is ignored.
+%
+% \changes{v0.61}{2018/09/23}{\pkg{threadcol}: Added.}
+%
+% \codehtml
+%
+%    \begin{macrocode}
+\LWR at ProvidesPackageDrop{threadcol}
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\newcommand{\setthreadname}[1]{}
+%    \end{macrocode}
+%
+% \iffalse
+%</threadcol>
+% \fi
+%
+%
+%
+%
+% \iffalse
 %<*threeparttable>
 % \fi
 
@@ -52461,8 +53855,8 @@
 % \margintag{catcodes}
 % The \tikz{} |babel| library temporarily changes catcodes
 % back to normal for \tikz's use.
-% \index{tikz>dollar redefined}
-% \index{tikz>catcodes}
+% \gindex{tikz=\pkg{tikz}>dollar redefined}
+% \gindex{tikz=\pkg{tikz}>catcodes}
 % \pkg{tikz} v3.0.0 introduced the |babel| library which handles catcode changes.
 % For older versions, \pkg{lwarp} must change |$|'s catcode itself.
 %
@@ -54239,7 +55633,8 @@
 % \cs{texttransparent} works for inline objects.
 % \cs{transparent} only works for \cs{includegraphics}.
 %
-% Note that \pkg{transparent} does not work with \XeLaTeX.\watchout[Not \XeLaTeX!]
+% Note that \pkg{transparent} does not work with \XeLaTeX.
+% \trouble[Not \XeLaTeX!]{transparent=\pkg{transparent}}
 %
 % \changes{v0.36}{2017/08/09}{\pkg{transparent}: Added.}
 %
@@ -54372,9 +55767,9 @@
 
 % \subsection{Combining \cs{newfloat}, \cs{trivfloat}, and \pkg{algorithmicx}}
 % \label{sec:combiningfloats}
-% \index{newfloat>with trivfloat, algorithmic}
-% \index{trivfloat>with newfloat, algorithmic}
-% \index{algorithmic>with newfloat, trivfloat}
+% \gindex{newfloat=\pkg{newfloat}>with \pkg{trivfloat}, \pkg{algorithmic}}
+% \gindex{trivfloat=\pkg{trivfloat}>with \pkg{newfloat}, \pkg{algorithmic}}
+% \gindex{algorithmic=\pkg{algorithmic}>with \pkg{newfloat}, \pkg{trivfloat}}
 %
 % \codeall
 %    \begin{macrocode}
@@ -54450,36 +55845,6 @@
 %
 %
 % \iffalse
-%<*twoup-gen>
-% \fi
-%
-% \part{lwarp-twoup-gen.sty}
-%
-% \section{twoup-gen}
-%
-% \DescribePackage{twoup-gen}
-% \pkg{twoup-gen} is ignored.
-%
-% This package is used by MikTeX for \pkg{lwarp-2up}.
-%
-% \changes{v0.60}{2018/09/18}{\pkg{twoup-gen}: Added.}
-%
-% \codehtml
-%
-%    \begin{macrocode}
-\LWR at ProvidesPackageDrop{twoup-gen}
-
-\LWR at origRequirePackage{lwarp-2up}
-%    \end{macrocode}
-%
-%
-% \iffalse
-%</twoup-gen>
-% \fi
-%
-%
-%
-% \iffalse
 %<*typearea>
 % \fi
 %
@@ -54792,8 +56157,33 @@
 %
 %
 %
+% \iffalse
+%<*uspace>
+% \fi
 %
+% \part{lwarp-uspace.sty}
+%
+% \section{uspace}
+%
+% \DescribePackage{uspace}
+% \pkg{uspace} is ignored.
+%
+% \changes{v0.61}{2018/09/23}{\pkg{uspace}: Added.}
+%
+% \codehtml
+%
+%    \begin{macrocode}
+\LWR at ProvidesPackageDrop{uspace}
+%    \end{macrocode}
+%
 % \iffalse
+%</uspace>
+% \fi
+%
+%
+%
+%
+% \iffalse
 %<*verse>
 % \fi
 %
@@ -54837,7 +56227,7 @@
 %    \begin{macrocode}
 \LWR at restoreoriglists%
 %    \end{macrocode}
-% \DescribePackage{verse}\DescribeClass{memoir}\index{memoir>verse}
+% \DescribePackage{verse}\DescribeClass{memoir}\gindex{memoir=\pkg{memoir}>verse}
 % The \pkg{verse} or \pkg{memoir} packages can place stanza numbers to the left
 % with their \cs{flagverse} command. \DescribeMacro{\flagverse}
 % Do not allow them to go into the left margin, which would cause \prog{pdfcrop}
@@ -55022,6 +56412,31 @@
 %
 %
 % \iffalse
+%<*vpe>
+% \fi
+%
+% \part{lwarp-vpe.sty}
+%
+% \section{vpe}
+%
+% \DescribePackage{vpe}
+% \pkg{vpe} is ignored.
+%
+% \changes{v0.61}{2018/10/05}{\pkg{vpe}: Added.}
+%
+% \codehtml
+%
+%    \begin{macrocode}
+\LWR at ProvidesPackageDrop{vpe}[2012/04/18]
+%    \end{macrocode}
+%
+% \iffalse
+%</vpe>
+% \fi
+%
+%
+%
+% \iffalse
 %<*vwcol>
 % \fi
 %
@@ -55399,9 +56814,40 @@
 %
 %
 %
+% \iffalse
+%<*xbmks>
+% \fi
 %
+% \part{lwarp-xbmks.sty}
 %
+% \section{xbmks}
+%
+% \DescribePackage{xbmks}
+% \pkg{xbmks} is ignored.
+%
+% \changes{v0.61}{2018/10/05}{\pkg{xbmks}: Added.}
+%
+% \codehtml
+%
+%    \begin{macrocode}
+\LWR at ProvidesPackageDrop{xbmks}[2018/07/04]
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\newcommand{\xbmksetup}[1]{}
+\NewDocumentCommand{\pdfbookmarkx}{o m o m}{}
+\NewDocumentCommand{\currentpdfbookmarkx}{m o m}{}
+\NewDocumentCommand{\subpdfbookmarkx}{m o m}{}
+\NewDocumentCommand{\belowpdfbookmarkx}{m o m}{}
+%    \end{macrocode}
+%
 % \iffalse
+%</xbmks>
+% \fi
+%
+%
+%
+% \iffalse
 %<*xcolor>
 % \fi
 
@@ -55429,7 +56875,7 @@
 % \subsection{Xcolor definitions: location and timing}
 %
 % The \pkg{lwarp} core and its \pkg{lwarp-xcolor} package are tightly integrated
-% to allow comparable results for print, \HTML\,
+% to allow comparable results for print, \HTML,
 % and print inside an \HTML\ \env{lateximage}.
 % This requires a number of definitions and redefintions depending on whether
 % each of \pkg{xcolor} and \env{lateximage} is being used, and whether print
@@ -56128,7 +57574,7 @@
 
 % In the user's document preamble, \pkg{lwarp} should be loaded
 % after font-related setup.
-% \watchout[font size]
+% \trouble[font size]{xfrac=\pkg{xfrac}}
 % During \HTML\ conversion, this font is used by \pkg{lwarp}
 % to generate its initial \PDF\ output containing \HTML\ tags,
 % later to be converted by \prog{pdftotext} to a plain text file.
@@ -56160,7 +57606,7 @@
 
 % \begin{macro}{\xfracHTMLfontsize}
 % \changes{v0.19}{2016/06/06}{Added.}
-% \index{font>size --- xfrac}
+% \gindex{font>size --- \pkg{xfrac}}
 % User-redefinable macro which controls the font size of the fraction.
 %    \begin{macrocode}
 \newcommand*{\xfracHTMLfontsize}{.6em}
@@ -56321,7 +57767,8 @@
 % Relies on \pkg{tabularx}.
 %
 % At present, an \env{xltabular} without a caption or with only a \cs{caption*}
-% \watchout[table numbering]
+% \trouble[table numbering]{tabular>numbering}
+% \trouble{xltabular=\pkg{xltabular}>numbering}
 % may be misnumbered in \HTML, so it may be necessary to place at the end
 % of the table:
 % \begin{sourcedisplay}
@@ -56464,7 +57911,7 @@
 \NewDocumentCommand{\LWR at HTML@keyboard}{ O{}m }
 {
 \begin{lateximage}*
-    [-xpiano-~\packagediagramname{}: \detokenize\expandafter{#2}]
+    [(-xpiano-~\packagediagramname{}: \detokenize\expandafter{#2})]
     [\detokenize\expandafter{#1}]
 \xpiano_keyboard:nn { #1 } { #2 }
 \end{lateximage}
@@ -56526,14 +57973,19 @@
 \newcommand{\tablelasttail}[1]{%
     \long\gdef\LWRXT at lasttail{#1}%
 }
-
+%    \end{macrocode}
+% \changes{v0.61}{2018/10/05}{\pkg{xtab}: Fix for caption w/o opt arg.}
+%    \begin{macrocode}
 \newcommand{\tablecaption}[2][]{%
-    \long\gdef\LWRXT at caption{\caption[#1]{#2}}%
+    \long\gdef\LWRXT at caption{%
+        \ifblank{#1}%
+            {\caption{#2}}%
+            {\caption[#1]{#2}}%
+    }%
 }
 
 \let\topcaption\tablecaption
 \let\bottomcaption\tablecaption
-
 %    \end{macrocode}
 % \changes{v0.44}{2017/11/19}{\pkg{xtab}: Fix for caption.}
 %    \begin{macrocode}
@@ -56657,7 +58109,8 @@
 % \DescribePackage{xy}
 % \pkg{xy} is patched for use by \pkg{lwarp}.
 %
-% \cs{xypolygon} must be used inside the \env{xy} environment, \watchout
+% \cs{xypolygon} must be used inside the \env{xy} environment,
+% \trouble[\cs{xypolygon}]{xy=\pkg{xy}}
 %   or inside \cs{xy} \dots \cs{endxy}.
 %
 % \changes{v0.50}{2018/02/21}{\pkg{xy}: Added.}
@@ -58168,7 +59621,7 @@
 \catcode`\_=12%
 \renewcommand*{\makeindex}[1][\BaseJobname]{%
   \if at filesw
-    \def\index{\@bsphack%
+    \def\gindex{\@bsphack%
       \@ifnextchar [{\@index}{\@index[\BaseJobname]}}
     \def\specialindex{\@bsphack\@spindex}%
     \makememindexhook
@@ -58386,14 +59839,6 @@
 %     {\Large\rmfamily\bfseries}{}{0pt}{}[\marginpar{\hfill\textsection\,\thesection}\smallskip\hrule]
 % 
 %
-% \part{Change History and Index}
-% \label{sec:changehistory}
-%
-%   For the most recent changes, followed by the start of the Index,
-%   see page \pageref{sec:changesend}.
-%
-% \pagestyle{plain}
-%
 % \Finale
 %
 %

Modified: trunk/Master/texmf-dist/source/latex/lwarp/lwarp.ins
===================================================================
--- trunk/Master/texmf-dist/source/latex/lwarp/lwarp.ins	2018-10-13 21:02:42 UTC (rev 48903)
+++ trunk/Master/texmf-dist/source/latex/lwarp/lwarp.ins	2018-10-13 21:03:22 UTC (rev 48904)
@@ -96,11 +96,14 @@
 \file{lwarp-chemgreek.sty}{\from{lwarp.dtx}{chemgreek}}
 \file{lwarp-chemmacros.sty}{\from{lwarp.dtx}{chemmacros}}
 \file{lwarp-chemnum.sty}{\from{lwarp.dtx}{chemnum}}
+\file{lwarp-chkfloat.sty}{\from{lwarp.dtx}{chkfloat}}
 \file{lwarp-cite.sty}{\from{lwarp.dtx}{cite}}
 \file{lwarp-clrdblpg.sty}{\from{lwarp.dtx}{clrdblpg}}
+\file{lwarp-cmdtrack.sty}{\from{lwarp.dtx}{cmdtrack}}
 \file{lwarp-color.sty}{\from{lwarp.dtx}{color}}
 \file{lwarp-colortbl.sty}{\from{lwarp.dtx}{colortbl}}
 \file{lwarp-continue.sty}{\from{lwarp.dtx}{continue}}
+\file{lwarp-copyrightbox.sty}{\from{lwarp.dtx}{copyrightbox}}
 \file{lwarp-crop.sty}{\from{lwarp.dtx}{crop}}
 \file{lwarp-cuted.sty}{\from{lwarp.dtx}{cuted}}
 \file{lwarp-cutwin.sty}{\from{lwarp.dtx}{cutwin}}
@@ -108,6 +111,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-dprogress.sty}{\from{lwarp.dtx}{dprogress}}
 \file{lwarp-draftcopy.sty}{\from{lwarp.dtx}{draftcopy}}
 \file{lwarp-draftfigure.sty}{\from{lwarp.dtx}{draftfigure}}
 \file{lwarp-draftwatermark.sty}{\from{lwarp.dtx}{draftwatermark}}
@@ -121,6 +125,7 @@
 \file{lwarp-enumerate.sty}{\from{lwarp.dtx}{enumerate}}
 \file{lwarp-enumitem.sty}{\from{lwarp.dtx}{enumitem}}
 \file{lwarp-epigraph.sty}{\from{lwarp.dtx}{epigraph}}
+\file{lwarp-epsfig.sty}{\from{lwarp.dtx}{epsfig}}
 \file{lwarp-epstopdf.sty}{\from{lwarp.dtx}{epstopdf}}
 \file{lwarp-epstopdf-base.sty}{\from{lwarp.dtx}{epstopdf-base}}
 \file{lwarp-errata.sty}{\from{lwarp.dtx}{errata}}
@@ -204,6 +209,7 @@
 \file{lwarp-ltxgrid.sty}{\from{lwarp.dtx}{ltxgrid}}
 \file{lwarp-ltxtable.sty}{\from{lwarp.dtx}{ltxtable}}
 \file{lwarp-lua-check-hyphen.sty}{\from{lwarp.dtx}{lua-check-hyphen}}
+\file{lwarp-lua-visual-debug.sty}{\from{lwarp.dtx}{lua-visual-debug}}
 \file{lwarp-luacolor.sty}{\from{lwarp.dtx}{luacolor}}
 \file{lwarp-luatodonotes.sty}{\from{lwarp.dtx}{luatodonotes}}
 \file{lwarp-magaz.sty}{\from{lwarp.dtx}{magaz}}
@@ -250,6 +256,7 @@
 \file{lwarp-pdfrender.sty}{\from{lwarp.dtx}{pdfrender}}
 \file{lwarp-pdflscape.sty}{\from{lwarp.dtx}{pdflscape}}
 \file{lwarp-pdfpages.sty}{\from{lwarp.dtx}{pdfpages}}
+\file{lwarp-pdfprivacy.sty}{\from{lwarp.dtx}{pdfprivacy}}
 \file{lwarp-pdfsync.sty}{\from{lwarp.dtx}{pdfsync}}
 \file{lwarp-pdftricks.sty}{\from{lwarp.dtx}{pdftricks}}
 \file{lwarp-pdfx.sty}{\from{lwarp.dtx}{pdfx}}
@@ -259,12 +266,16 @@
 \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-psfrag.sty}{\from{lwarp.dtx}{psfrag}}
+\file{lwarp-psfragx.sty}{\from{lwarp.dtx}{psfragx}}
 \file{lwarp-pst-eps.sty}{\from{lwarp.dtx}{pst-eps}}
+\file{lwarp-pstool.sty}{\from{lwarp.dtx}{pstool}}
 \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}}
 \file{lwarp-realscripts.sty}{\from{lwarp.dtx}{realscripts}}
+\file{lwarp-refcheck.sty}{\from{lwarp.dtx}{refcheck}}
 \file{lwarp-register.sty}{\from{lwarp.dtx}{register}}
 \file{lwarp-relsize.sty}{\from{lwarp.dtx}{relsize}}
 \file{lwarp-repeatindex.sty}{\from{lwarp.dtx}{repeatindex}}
@@ -296,6 +307,8 @@
 \file{lwarp-soulpos.sty}{\from{lwarp.dtx}{soulpos}}
 \file{lwarp-soulutf8.sty}{\from{lwarp.dtx}{soulutf8}}
 \file{lwarp-splitidx.sty}{\from{lwarp.dtx}{splitidx}}
+\file{lwarp-srcltx.sty}{\from{lwarp.dtx}{srcltx}}
+\file{lwarp-srctex.sty}{\from{lwarp.dtx}{srctex}}
 \file{lwarp-stabular.sty}{\from{lwarp.dtx}{stabular}}
 \file{lwarp-stfloats.sty}{\from{lwarp.dtx}{stfloats}}
 \file{lwarp-subfig.sty}{\from{lwarp.dtx}{subfig}}
@@ -311,6 +324,8 @@
 \file{lwarp-textfit.sty}{\from{lwarp.dtx}{textfit}}
 \file{lwarp-textpos.sty}{\from{lwarp.dtx}{textpos}}
 \file{lwarp-theorem.sty}{\from{lwarp.dtx}{theorem}}
+\file{lwarp-thinsp.sty}{\from{lwarp.dtx}{thinsp}}
+\file{lwarp-threadcol.sty}{\from{lwarp.dtx}{threadcol}}
 \file{lwarp-threeparttable.sty}{\from{lwarp.dtx}{threeparttable}}
 \file{lwarp-thumb.sty}{\from{lwarp.dtx}{thumb}}
 \file{lwarp-thumbs.sty}{\from{lwarp.dtx}{thumbs}}
@@ -331,7 +346,6 @@
 \file{lwarp-trimclip.sty}{\from{lwarp.dtx}{trimclip}}
 \file{lwarp-trivfloat.sty}{\from{lwarp.dtx}{trivfloat}}
 \file{lwarp-turnthepage.sty}{\from{lwarp.dtx}{turnthepage}}
-\file{lwarp-twoup-gen.sty}{\from{lwarp.dtx}{twoup-gen}}
 \file{lwarp-typearea.sty}{\from{lwarp.dtx}{typearea}}
 \file{lwarp-ulem.sty}{\from{lwarp.dtx}{ulem}}
 \file{lwarp-underscore.sty}{\from{lwarp.dtx}{underscore}}
@@ -338,10 +352,12 @@
 \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-uspace.sty}{\from{lwarp.dtx}{uspace}}
 \file{lwarp-verse.sty}{\from{lwarp.dtx}{verse}}
 \file{lwarp-vertbars.sty}{\from{lwarp.dtx}{vertbars}}
 \file{lwarp-vmargin.sty}{\from{lwarp.dtx}{vmargin}}
 \file{lwarp-vowel.sty}{\from{lwarp.dtx}{vowel}}
+\file{lwarp-vpe.sty}{\from{lwarp.dtx}{vpe}}
 \file{lwarp-vwcol.sty}{\from{lwarp.dtx}{vwcol}}
 \file{lwarp-wallpaper.sty}{\from{lwarp.dtx}{wallpaper}}
 \file{lwarp-wasysym.sty}{\from{lwarp.dtx}{wasysym}}
@@ -348,6 +364,7 @@
 \file{lwarp-watermark.sty}{\from{lwarp.dtx}{watermark}}
 \file{lwarp-widows-and-orphans.sty}{\from{lwarp.dtx}{widows-and-orphans}}
 \file{lwarp-wrapfig.sty}{\from{lwarp.dtx}{wrapfig}}
+\file{lwarp-xbmks.sty}{\from{lwarp.dtx}{xbmks}}
 \file{lwarp-xcolor.sty}{\from{lwarp.dtx}{xcolor}}
 \file{lwarp-xellipsis.sty}{\from{lwarp.dtx}{xellipsis}}
 \file{lwarp-xfrac.sty}{\from{lwarp.dtx}{xfrac}}

Added: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-chkfloat.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-chkfloat.sty	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-chkfloat.sty	2018-10-13 21:03:22 UTC (rev 48904)
@@ -0,0 +1,21 @@
+%%
+%% This is file `lwarp-chkfloat.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx  (with options: `chkfloat')
+%% 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{chkfloat}[2012/08/19]
+\endinput
+%%
+%% End of file `lwarp-chkfloat.sty'.


Property changes on: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-chkfloat.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-cmdtrack.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-cmdtrack.sty	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-cmdtrack.sty	2018-10-13 21:03:22 UTC (rev 48904)
@@ -0,0 +1,22 @@
+%%
+%% This is file `lwarp-cmdtrack.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx  (with options: `cmdtrack')
+%% 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{cmdtrack}[2012/12/18]
+\newcommand{\untrack}[1]{}
+\endinput
+%%
+%% End of file `lwarp-cmdtrack.sty'.


Property changes on: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-cmdtrack.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-copyrightbox.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-copyrightbox.sty	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-copyrightbox.sty	2018-10-13 21:03:22 UTC (rev 48904)
@@ -0,0 +1,37 @@
+%%
+%% This is file `lwarp-copyrightbox.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx  (with options: `copyrightbox')
+%% 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{copyrightbox}
+\newcommand{\copyrightbox}[3][r]{%
+\begin{BlockClass}[
+    display: inline-flex;
+    flex-direction: column ;
+]{copyrightbox}
+\begin{BlockClass}{copyrightboxcontents}
+#2
+\end{BlockClass}
+\begin{BlockClass}{copyrightboxnote}
+#3
+\end{BlockClass}
+\end{BlockClass}
+}
+
+\newcommand{\CRB at setcopyrightfont}{}
+\newcommand{\CRB at setcopyrightparagraphstyle}{}
+\endinput
+%%
+%% End of file `lwarp-copyrightbox.sty'.


Property changes on: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-copyrightbox.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-dprogress.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-dprogress.sty	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-dprogress.sty	2018-10-13 21:03:22 UTC (rev 48904)
@@ -0,0 +1,21 @@
+%%
+%% This is file `lwarp-dprogress.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx  (with options: `dprogress')
+%% 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{dprogress}[2008/02/21]
+\endinput
+%%
+%% End of file `lwarp-dprogress.sty'.


Property changes on: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-dprogress.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-epsfig.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-epsfig.sty	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-epsfig.sty	2018-10-13 21:03:22 UTC (rev 48904)
@@ -0,0 +1,37 @@
+%%
+%% This is file `lwarp-epsfig.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx  (with options: `epsfig')
+%% 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{epsfig}[2017/06/25]
+\RequirePackage{graphics}
+
+\define at key{igraph}{file}{%
+    \xdef\LWR at epsfig@filename{#1}%
+}
+
+\define at key{igraph}{figure}{%
+    \xdef\LWR at epsfig@filename{#1}%
+}
+
+\define at key{igraph}{prolog}{}
+
+\define at key{igraph}{silent}[]{}
+\newcommand{\epsfig}[1]{\includegraphics[#1]{\LWR at epsfig@filename}}
+
+\newcommand{\psfig}[1]{\includegraphics[#1]{\LWR at epsfig@filename}}
+\endinput
+%%
+%% End of file `lwarp-epsfig.sty'.


Property changes on: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-epsfig.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-10-13 21:02:42 UTC (rev 48903)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-graphics.sty	2018-10-13 21:03:22 UTC (rev 48904)
@@ -25,9 +25,21 @@
 \DeclareGraphicsRule{.svg}{svg}{.svg}{}
 \DeclareGraphicsRule{.SVG}{svg}{.SVG}{}
 }
+\ifpdf
 \appto\LWR at restoreorigformatting{%
 \DeclareGraphicsExtensions{.pdf,.PDF,.gif,.GIF,.png,.PNG,.jpg,.JPG,.jpeg,.JPEG}%
 }
+\else% \ifpdf
+        \ifXeTeX
+\appto\LWR at restoreorigformatting{%
+\DeclareGraphicsExtensions{.pdf,.PDF,.gif,.GIF,.png,.PNG,.jpg,.JPG,.jpeg,.JPEG}%
+}
+        \else
+\appto\LWR at restoreorigformatting{%
+\DeclareGraphicsExtensions{.eps,.EPS,.gif,.GIF,.png,.PNG,.jpg,.JPG,.jpeg,.JPEG}%
+}
+        \fi
+\fi
 
 
 \newlength{\LWR at igwidth}
@@ -81,14 +93,15 @@
 }{}% end of length > 0pt
 }
 \define at key{igraph}{origin}[c]{%
-\renewcommand*{\LWR at igorigin}{#1}%
+    \renewcommand*{\LWR at igorigin}{#1}%
 }
 \define at key{igraph}{angle}{\renewcommand*{\LWR at igangle}{#1}}
 \define at key{igraph}{class}{\renewcommand*{\LWR at igclass}{#1}}
 
 \define at key{igraph}{scale}{%
-\renewcommand*{\LWR at igxscale}{#1}%
-\renewcommand*{\LWR at igyscale}{#1}}
+    \renewcommand*{\LWR at igxscale}{#1}%
+    \renewcommand*{\LWR at igyscale}{#1}%
+}
 \define at key{igraph}{bb}{}
 \define at key{igraph}{bbllx}{}
 \define at key{igraph}{bblly}{}
@@ -152,7 +165,6 @@
 
 \NewDocumentCommand{\LWR at includegraphicsb}{s o o m}
 {%
-\LWR at traceinfo{LWR at includegraphicsb #4}%
 \LWR at origtilde \LWR at orignewline%
 \begingroup%
 \ifthenelse{\cnttest{\value{LWR at minipagedepth}}{=}{0}}%
@@ -165,17 +177,6 @@
         \setlength{\textheight}{9in}%
     }%
 }{}%
-\begingroup%
-\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}%
 \large%
 \setlength{\LWR at igwidth}{0pt}%
 \setlength{\LWR at igheight}{0pt}%
@@ -191,9 +192,34 @@
         {\setkeys{igraph}{#2}}%
         {\setkeys{igraph}{}}%
 }%
+\begingroup%
+\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}%
 \ifbool{FormatWP}{%
     \begingroup%
+    \ifpdf
+    \appto\LWR at restoreorigformatting{%
     \DeclareGraphicsExtensions{.pdf,.PDF,.gif,.GIF,.png,.PNG,.jpg,.JPG,.jpeg,.JPEG}%
+    }
+    \else% \ifpdf
+            \ifXeTeX
+    \appto\LWR at restoreorigformatting{%
+    \DeclareGraphicsExtensions{.pdf,.PDF,.gif,.GIF,.png,.PNG,.jpg,.JPG,.jpeg,.JPEG}%
+    }
+            \else
+    \appto\LWR at restoreorigformatting{%
+    \DeclareGraphicsExtensions{.eps,.EPS,.gif,.GIF,.png,.PNG,.jpg,.JPG,.jpeg,.JPEG}%
+    }
+            \fi
+    \fi
     \define at key{Gin}{angle}{}%
     \IfBooleanTF{#1}%
     {% starred

Added: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-lua-visual-debug.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-lua-visual-debug.sty	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-lua-visual-debug.sty	2018-10-13 21:03:22 UTC (rev 48904)
@@ -0,0 +1,21 @@
+%%
+%% This is file `lwarp-lua-visual-debug.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx  (with options: `lua-visual-debug')
+%% 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{lua-visual-debug}[2016/05/30]
+\endinput
+%%
+%% End of file `lwarp-lua-visual-debug.sty'.


Property changes on: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-lua-visual-debug.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-patch-memoir.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-patch-memoir.sty	2018-10-13 21:02:42 UTC (rev 48903)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-patch-memoir.sty	2018-10-13 21:03:22 UTC (rev 48904)
@@ -944,7 +944,7 @@
 \catcode`\_=12%
 \renewcommand*{\makeindex}[1][\BaseJobname]{%
   \if at filesw
-    \def\index{\@bsphack%
+    \def\gindex{\@bsphack%
       \@ifnextchar [{\@index}{\@index[\BaseJobname]}}
     \def\specialindex{\@bsphack\@spindex}%
     \makememindexhook

Added: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-pdfprivacy.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-pdfprivacy.sty	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-pdfprivacy.sty	2018-10-13 21:03:22 UTC (rev 48904)
@@ -0,0 +1,21 @@
+%%
+%% This is file `lwarp-pdfprivacy.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx  (with options: `pdfprivacy')
+%% 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{pdfprivacy}
+\endinput
+%%
+%% End of file `lwarp-pdfprivacy.sty'.


Property changes on: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-pdfprivacy.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-preview.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-preview.sty	2018-10-13 21:02:42 UTC (rev 48903)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-preview.sty	2018-10-13 21:03:22 UTC (rev 48904)
@@ -15,7 +15,7 @@
 %%   http://www.latex-project.org/lppl.txt
 %% and version 1.3 or later is part of all distributions of LaTeX
 %% version 2005/12/01 or later.
-\LWR at ProvidesPackageDrop{preview}
+\LWR at ProvidesPackageDrop{preview}[2017/04/24]
 \newenvironment{preview}{}{}
 \newenvironment{nopreview}{}{}
 \NewDocumentCommand{\PreviewMacro}{s o o +m}{}

Added: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-psfrag.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-psfrag.sty	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-psfrag.sty	2018-10-13 21:03:22 UTC (rev 48904)
@@ -0,0 +1,26 @@
+%%
+%% This is file `lwarp-psfrag.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx  (with options: `psfrag')
+%% 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{psfrag}[1998/04/11]
+\BeforeBeginEnvironment{psfrags}{%
+    \begin{lateximage}[(-psfrags-~\packagediagramname)]%
+}
+
+\AfterEndEnvironment{psfrags}{\end{lateximage}}
+\endinput
+%%
+%% End of file `lwarp-psfrag.sty'.


Property changes on: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-psfrag.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-psfragx.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-psfragx.sty	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-psfragx.sty	2018-10-13 21:03:22 UTC (rev 48904)
@@ -0,0 +1,36 @@
+%%
+%% This is file `lwarp-psfragx.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx  (with options: `psfragx')
+%% 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{psfragx}[2012/05/02]
+\def\pfx at includegraphicx#1#2{%
+    \begin{lateximage}[(-psfragx-~\packagediagramname)]%
+    \mbox{\pfx at overpix{#1}{#2}\endpfx at overpix}%
+    \end{lateximage}%
+}
+
+\def\@@@overpix[#1]<#2>[#3]#4{%
+    \begin{lateximage}[(-psfragx-~\packagediagramname)]%
+    \pfx at overpix{#1,ovpfgd={#2},ovpbgd={#3}}{#4}%
+}
+
+\def\endoverpix{%
+    \endpfx at overpix%
+    \end{lateximage}%
+}
+\endinput
+%%
+%% End of file `lwarp-psfragx.sty'.


Property changes on: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-psfragx.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-pstool.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-pstool.sty	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-pstool.sty	2018-10-13 21:03:22 UTC (rev 48904)
@@ -0,0 +1,34 @@
+%%
+%% This is file `lwarp-pstool.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx  (with options: `pstool')
+%% 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{pstool}
+\renewcommand\pstool at alwaysprocess[3][]{%
+    \begin{lateximage}[(-pstool-~\packagediagramname)]%
+    \includegraphics{#2.pdf}%
+    \end{lateximage}%
+}
+\LetLtxMacro\pstool at neverprocess\pstool at alwaysprocess
+\LetLtxMacro\pstool at maybeprocess\pstool at alwaysprocess
+
+\renewcommand\pstool@@psfragfig[4]{%
+    \begin{lateximage}[(-pstool-~\packagediagramname)]%
+    \includegraphics{#2.pdf}%
+    \end{lateximage}%
+}
+\endinput
+%%
+%% End of file `lwarp-pstool.sty'.


Property changes on: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-pstool.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-refcheck.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-refcheck.sty	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-refcheck.sty	2018-10-13 21:03:22 UTC (rev 48904)
@@ -0,0 +1,30 @@
+%%
+%% This is file `lwarp-refcheck.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx  (with options: `refcheck')
+%% 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{refcheck}[2013/02/14]
+\def\showrefnames{}
+\def\norefnames{}
+\def\showcitenames{}
+\def\nocitenames{}
+\def\setonmsgs{}
+\def\setoffmsgs{}
+\def\checkunlbld{}
+\def\ignoreunlbld{}
+\newcommand*{\refcheckxrdoc}[2][]{}
+\endinput
+%%
+%% End of file `lwarp-refcheck.sty'.


Property changes on: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-refcheck.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-register.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-register.sty	2018-10-13 21:02:42 UTC (rev 48903)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-register.sty	2018-10-13 21:03:22 UTC (rev 48904)
@@ -20,7 +20,7 @@
 
 \xpatchcmd{\register}
     {\centering}
-    {\begin{center}\begin{lateximage}[-register-~\packagediagramname]}
+    {\begin{center}\begin{lateximage}[(-register-~\packagediagramname)]}
     {}
     {\LWR at patcherror{register}{register}}
 

Added: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-srcltx.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-srcltx.sty	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-srcltx.sty	2018-10-13 21:03:22 UTC (rev 48904)
@@ -0,0 +1,30 @@
+%%
+%% This is file `lwarp-srcltx.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx  (with options: `srcltx')
+%% 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{srcltx}[2006/11/12]
+\newif\ifSRCOK \SRCOKfalse
+\newcommand*\srcIncludeHook[1]{}
+\newcommand*\srcInputHook[1]{}
+\newcommand*\MainFile{}
+\def\MainFile{\jobname.tex}
+\newcommand*\CurrentInput{}
+\gdef\CurrentInput{\MainFile}
+\newcommand\Input{}
+\let\Input\input
+\endinput
+%%
+%% End of file `lwarp-srcltx.sty'.


Property changes on: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-srcltx.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-srctex.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-srctex.sty	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-srctex.sty	2018-10-13 21:03:22 UTC (rev 48904)
@@ -0,0 +1,22 @@
+%%
+%% This is file `lwarp-srctex.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx  (with options: `srctex')
+%% 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{srctex}[2006/11/12]
+\LWR at origRequirePackage{lwarp-srcltx}
+\endinput
+%%
+%% End of file `lwarp-srctex.sty'.


Property changes on: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-srctex.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-supertabular.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-supertabular.sty	2018-10-13 21:02:42 UTC (rev 48903)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-supertabular.sty	2018-10-13 21:03:22 UTC (rev 48904)
@@ -32,14 +32,16 @@
 \newcommand{\tablelasttail}[1]{%
     \long\gdef\LWRST at lasttail{#1}%
 }
-
 \newcommand{\tablecaption}[2][]{%
-    \long\gdef\LWRST at caption{\caption[#1]{#2}}%
+    \long\gdef\LWRST at caption{%
+        \ifblank{#1}%
+            {\caption{#2}}%
+            {\caption[#1]{#2}}%
+    }%
 }
 
 \let\topcaption\tablecaption
 \let\bottomcaption\tablecaption
-
 \newcommand*{\LWRST at caption}{}
 
 \newcommand*{\shrinkheight}[1]{}
@@ -47,7 +49,7 @@
 \NewDocumentEnvironment{supertabular}{s o m}
 {%
 \LWR at traceinfo{supertabular}%
-\table%
+\begin{table}%
 \LWRST at caption%
 \begin{tabular}{#3}%
 \TabularMacro\ifdefvoid{\LWRST at firsthead}%
@@ -62,7 +64,7 @@
 \LWRST at lasttail%
 }%
 \end{tabular}%
-\endtable%
+\end{table}%
 \LWR at traceinfo{supertabular done}%
 }
 

Modified: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-textcomp.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-textcomp.sty	2018-10-13 21:02:42 UTC (rev 48903)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-textcomp.sty	2018-10-13 21:03:22 UTC (rev 48904)
@@ -19,7 +19,7 @@
 
 \LWR at ProvidesPackagePass{textcomp}
 \AtBeginDocument{
-\ifPDFTeX
+\ifPDFTeX% pdflatex or dvi latex
 \newcommand*{\LWR at HTML@textdegree}{\HTMLentity{deg}}
 \newcommand*{\LWR at HTML@textcelsius}{\HTMLunicode{2103}}
 \newcommand*{\LWR at HTML@textohm}{\HTMLunicode{2126}}

Added: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-thinsp.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-thinsp.sty	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-thinsp.sty	2018-10-13 21:03:22 UTC (rev 48904)
@@ -0,0 +1,29 @@
+%%
+%% This is file `lwarp-thinsp.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx  (with options: `thinsp')
+%% 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{thinsp}
+\AtBeginDocument{
+\let\thinthinspace\relax% defined by some packages
+\newcommand*{\thinthinspace}{\thinspace}
+}
+
+\newcommand*{\stretchthinspace}{\thinspace}
+\newcommand*{\stretchthinthinspace}{\thinthinspace}
+\newcommand*{\stretchnegthinspace}{\negthinspace}
+\endinput
+%%
+%% End of file `lwarp-thinsp.sty'.


Property changes on: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-thinsp.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-threadcol.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-threadcol.sty	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-threadcol.sty	2018-10-13 21:03:22 UTC (rev 48904)
@@ -0,0 +1,22 @@
+%%
+%% This is file `lwarp-threadcol.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx  (with options: `threadcol')
+%% 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{threadcol}
+\newcommand{\setthreadname}[1]{}
+\endinput
+%%
+%% End of file `lwarp-threadcol.sty'.


Property changes on: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-threadcol.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Deleted: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-twoup-gen.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-twoup-gen.sty	2018-10-13 21:02:42 UTC (rev 48903)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-twoup-gen.sty	2018-10-13 21:03:22 UTC (rev 48904)
@@ -1,23 +0,0 @@
-%%
-%% This is file `lwarp-twoup-gen.sty',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% lwarp.dtx  (with options: `twoup-gen')
-%% 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{twoup-gen}
-
-\LWR at origRequirePackage{lwarp-2up}
-\endinput
-%%
-%% End of file `lwarp-twoup-gen.sty'.

Added: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-uspace.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-uspace.sty	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-uspace.sty	2018-10-13 21:03:22 UTC (rev 48904)
@@ -0,0 +1,21 @@
+%%
+%% This is file `lwarp-uspace.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx  (with options: `uspace')
+%% 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{uspace}
+\endinput
+%%
+%% End of file `lwarp-uspace.sty'.


Property changes on: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-uspace.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-vpe.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-vpe.sty	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-vpe.sty	2018-10-13 21:03:22 UTC (rev 48904)
@@ -0,0 +1,21 @@
+%%
+%% This is file `lwarp-vpe.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx  (with options: `vpe')
+%% 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{vpe}[2012/04/18]
+\endinput
+%%
+%% End of file `lwarp-vpe.sty'.


Property changes on: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-vpe.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-xbmks.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-xbmks.sty	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-xbmks.sty	2018-10-13 21:03:22 UTC (rev 48904)
@@ -0,0 +1,26 @@
+%%
+%% This is file `lwarp-xbmks.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx  (with options: `xbmks')
+%% 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{xbmks}[2018/07/04]
+\newcommand{\xbmksetup}[1]{}
+\NewDocumentCommand{\pdfbookmarkx}{o m o m}{}
+\NewDocumentCommand{\currentpdfbookmarkx}{m o m}{}
+\NewDocumentCommand{\subpdfbookmarkx}{m o m}{}
+\NewDocumentCommand{\belowpdfbookmarkx}{m o m}{}
+\endinput
+%%
+%% End of file `lwarp-xbmks.sty'.


Property changes on: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-xbmks.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-xpiano.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-xpiano.sty	2018-10-13 21:02:42 UTC (rev 48903)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-xpiano.sty	2018-10-13 21:03:22 UTC (rev 48904)
@@ -27,7 +27,7 @@
 \NewDocumentCommand{\LWR at HTML@keyboard}{ O{}m }
 {
 \begin{lateximage}*
-    [-xpiano-~\packagediagramname{}: \detokenize\expandafter{#2}]
+    [(-xpiano-~\packagediagramname{}: \detokenize\expandafter{#2})]
     [\detokenize\expandafter{#1}]
 \xpiano_keyboard:nn { #1 } { #2 }
 \end{lateximage}

Modified: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-xtab.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-xtab.sty	2018-10-13 21:02:42 UTC (rev 48903)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-xtab.sty	2018-10-13 21:03:22 UTC (rev 48904)
@@ -37,14 +37,16 @@
 \newcommand{\tablelasttail}[1]{%
     \long\gdef\LWRXT at lasttail{#1}%
 }
-
 \newcommand{\tablecaption}[2][]{%
-    \long\gdef\LWRXT at caption{\caption[#1]{#2}}%
+    \long\gdef\LWRXT at caption{%
+        \ifblank{#1}%
+            {\caption{#2}}%
+            {\caption[#1]{#2}}%
+    }%
 }
 
 \let\topcaption\tablecaption
 \let\bottomcaption\tablecaption
-
 \newcommand*{\LWRXT at caption}{}
 
 \newcommand*{\shrinkheight}[1]{}

Modified: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp.sty	2018-10-13 21:02:42 UTC (rev 48903)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp.sty	2018-10-13 21:03:22 UTC (rev 48904)
@@ -17,12 +17,13 @@
 %% version 2005/12/01 or later.
 \NeedsTeXFormat{LaTeX2e}[1999/12/01]
 \ProvidesPackage{lwarp}
-    [2018/09/19 v0.60  Allows LaTeX to directly produce HTML5 output.]
+    [2018/10/13 v0.61  Allows LaTeX to directly produce HTML5 output.]
 
 
 
 
 
+
 \RequirePackage{iftex}
 \newif\ifxetexorluatex
 \ifXeTeX
@@ -46,7 +47,7 @@
 {Lwarp must find the macros pdfmdfivesum or mdfivesum.}
 }
 
-\ifPDFTeX
+\ifPDFTeX% pdflatex or dvi latex
 \let\LWR at mdfive\pdfmdfivesum
 \fi
 
@@ -61,7 +62,7 @@
 \@ifundefined{mdfivesum}{}
     {\let\LWR at mdfive\mdfivesum}
 \fi
-\ifPDFTeX
+\ifPDFTeX% pdflatex or dvi latex
 \RequirePackage[T1]{fontenc}
 
 \@ifpackageloaded{inputenc}{}{
@@ -74,7 +75,7 @@
 
 \newunicodechar{⨯}{\texttimes}
 
-\ifPDFTeX
+\ifPDFTeX% pdflatex or dvi latex
 \newunicodechar{ff}{ff}% the first arguments are ligatures
 \newunicodechar{fi}{fi}
 \newunicodechar{fl}{fl}
@@ -102,6 +103,23 @@
 \RequirePackage{ifplatform}% sense op-system platform
 \RequirePackage{letltxmacro}
 
+\let\LWRpercent\@percentchar
+\catcode`\$=12
+\def\LWRdollar{$}
+\catcode`\$=3
+\catcode`\&=12
+\def\LWRamp{&}
+\catcode`\&=4
+\catcode`\&=0
+&catcode`&\=12
+&def&LWRbackslash{\}
+&catcode`&\=0
+\catcode`\&=4
+\catcode`\#=12
+\def\LWRhash{#}
+\catcode`\#=6
+\def\LWRopquote{'}
+\def\LWRopseq{\space\LWRamp\LWRamp\space\space}
 \newbool{usingOSWindows}
 \boolfalse{usingOSWindows}
 
@@ -113,6 +131,8 @@
 {
 \booltrue{usingOSWindows}
 \renewcommand*{\OSPathSymbol}{\@backslashchar}
+\def\LWRopquote{"}
+\def\LWRopseq{\space\LWRamp\space\space}
 }
 \ifwindows
 \LWR at setOSWindows
@@ -122,6 +142,8 @@
 \RequirePackage{kvoptions}
 \SetupKeyvalOptions{family=LWR,prefix=LWR@}
 
+\newcommand{\lwarpsetup}[1]{\setkeys{LWR}{#1}}
+
 \newbool{warpingprint}
 \newbool{warpingHTML}
 \newbool{mathjax}
@@ -181,6 +203,10 @@
 
 \DeclareStringOption[]{HTMLFilename}
 
+\DeclareStringOption[]{PrintLatexCmd}
+
+\DeclareStringOption[]{HTMLLatexCmd}
+
 \DeclareStringOption[]{PrintIndexCmd}
 
 \DeclareStringOption[]{HTMLIndexCmd}
@@ -329,8 +355,9 @@
 For a possible alternative, see package(s) #2.}
 }{}%
 }
-\LWR at earlyloadnever{ae}{lmodern}
-\LWR at earlyloadnever{aecc}{lmodern}
+\LWR at earlyloadnever{ae}{cm-super, lmodern}
+\LWR at earlyloadnever{aecompl}{cm-super, lmodern}
+\LWR at earlyloadnever{aecc}{cm-super, lmodern}
 \LWR at earlyloadnever{boxedminipage}{boxedminipage2e}
 \LWR at earlyloadnever{caption2}{caption}
 \LWR at earlyloadnever{fancyheadings}{fancyhdr}
@@ -397,10 +424,13 @@
 \LWR at loadafter{chemgreek}
 \LWR at loadafter{chemmacros}
 \LWR at loadafter{chemnum}
+\LWR at loadafter{chkfloat}
 \LWR at loadafter{cite}
+\LWR at loadafter{cmdtrack}
 \LWR at loadafter{color}
 \LWR at loadafter{colortbl}
 \LWR at loadafter{continue}
+\LWR at loadafter{copyrightbox}
 \LWR at notmemoirloadafter{crop}
 \LWR at loadafter{cuted}
 \LWR at loadafter{cutwin}
@@ -408,6 +438,7 @@
 \LWR at loadafter{dblfnote}
 \LWR at notmemoirloadafter{dcolumn}
 \LWR at loadafter{diagbox}
+\LWR at loadafter{dprogress}
 \LWR at loadafter{draftcopy}
 \LWR at loadafter{draftfigure}
 \LWR at loadafter{draftwatermark}
@@ -421,6 +452,7 @@
 \LWR at notmemoirloadafter{enumerate}
 \LWR at loadafter{enumitem}
 \LWR at notmemoirloadafter{epigraph}
+\LWR at loadafter{epsfig}
 \LWR at loadafter{epstopdf}
 \LWR at loadafter{epstopdf-base}
 \LWR at loadafter{errata}
@@ -498,6 +530,7 @@
 \LWR at loadafter{ltxgrid}
 \LWR at loadafter{ltxtable}
 \LWR at loadafter{lua-check-hyphen}
+\LWR at loadafter{lua-visual-debug}
 \LWR at loadafter{luacolor}
 \LWR at loadafter{luatodonotes}
 \LWR at loadafter{magaz}
@@ -541,6 +574,7 @@
 \LWR at loadafter{pdfrender}
 \LWR at loadafter{pdflscape}
 \LWR at loadafter{pdfpages}
+\LWR at loadafter{pdfprivacy}
 \LWR at loadafter{pdfsync}
 \LWR at loadafter{pdftricks}
 \LWR at loadafter{pdfx}
@@ -550,12 +584,16 @@
 \LWR at loadafter{prelim2e}
 \LWR at loadafter{prettyref}
 \LWR at loadafter{preview}
+\LWR at loadafter{psfrag}
+\LWR at loadafter{psfragx}
 \LWR at loadafter{pst-eps}
+\LWR at loadafter{pstool}
 \LWR at loadafter{pstricks}
 \LWR at loadafter{quotchap}
 \LWR at loadafter{quoting}
 \LWR at loadafter{ragged2e}
 \LWR at loadafter{realscripts}
+\LWR at loadafter{refcheck}
 \LWR at loadafter{register}
 \LWR at loadafter{relsize}
 \LWR at loadafter{repeatindex}
@@ -586,6 +624,8 @@
 \LWR at loadafter{soulpos}
 \LWR at loadafter{soulutf8}
 \LWR at loadafter{splitidx}
+\LWR at loadafter{srcltx}
+\LWR at loadafter{srctex}
 \LWR at loadafter{stabular}
 \LWR at loadafter{stfloats}
 \LWR at loadafter{subfig}
@@ -599,6 +639,8 @@
 \LWR at loadafter{textfit}
 \LWR at loadafter{textpos}
 \LWR at loadafter{theorem}
+\LWR at loadafter{thinsp}
+\LWR at loadafter{threadcol}
 \LWR at loadafter{threeparttable}
 \LWR at loadafter{thumb}
 \LWR at loadafter{thumbs}
@@ -617,17 +659,18 @@
 \LWR at loadafter{trimclip}
 \LWR at loadafter{trivfloat}
 \LWR at loadafter{turnthepage}
-\LWR at loadafter{twoup-gen}
 \LWR at loadafter{ulem}
 \LWR at loadafter{underscore}
 \LWR at loadafter{units}
 \LWR at loadafter{upref}
 \LWR at loadafter{url}
+\LWR at loadafter{uspace}
 \LWR at loadafter{varioref}% no lwarp package provided
 \LWR at notmemoirloadafter{verse}
 \LWR at loadafter{vertbars}
 \LWR at loadafter{vmargin}
 \LWR at loadafter{vowel}
+\LWR at loadafter{vpe}
 \LWR at loadafter{vwcol}
 \LWR at loadafter{wallpaper}
 \LWR at loadafter{wasysym}
@@ -634,6 +677,7 @@
 \LWR at loadafter{watermark}
 \LWR at loadafter{widows-and-orphans}
 \LWR at loadafter{wrapfig}
+\LWR at loadafter{xbmks}
 \LWR at loadafter{xcolor}
 \LWR at loadafter{xellipsis}
 \LWR at loadafter{xfrac}
@@ -716,8 +760,6 @@
 
 \RequirePackage{xifthen}
 
-\RequirePackage{xstring}
-
 \RequirePackage{verbatim}
 
 \RequirePackage{calc}
@@ -731,6 +773,8 @@
 
 \begin{warpall}
 
+\RequirePackage{xstring}
+
 \RequirePackage{environ}
 
 \end{warpall}
@@ -813,6 +857,17 @@
 \LWR at lookforpackagename{7}%
 \LWR at lookforpackagename{8}%
 \LWR at lookforpackagename{9}%
+\LWR at lookforpackagename{10}%
+\LWR at lookforpackagename{11}%
+\LWR at lookforpackagename{12}%
+\LWR at lookforpackagename{13}%
+\LWR at lookforpackagename{14}%
+\LWR at lookforpackagename{15}%
+\LWR at lookforpackagename{16}%
+\LWR at lookforpackagename{17}%
+\LWR at lookforpackagename{18}%
+\LWR at lookforpackagename{19}%
+\LWR at lookforpackagename{20}%
 \IfValueTF{#1}%
 {% options given
     \IfValueTF{#3}% version given?
@@ -940,7 +995,6 @@
 
 \end{warpHTML}
 
-
 \begin{warpall}
 
 \newbool{LWR at tracinglwarp}
@@ -1117,6 +1171,7 @@
 \chardef\LWR at origpound=`\#
 \let\LWR at origcomma\,
 \let\LWR at origthinspace\thinspace
+\let\LWR at orignegthinspace\negthinspace
 \let\LWR at origtilde~
 \let\LWR at origenskip\enskip
 \let\LWR at origquad\quad
@@ -1212,7 +1267,7 @@
 \begin{warpHTML}
 \AtBeginDocument{
 \LetLtxMacro\LWR at origt\t
-\ifPDFTeX
+\ifPDFTeX% pdflatex or dvi latex
 \LetLtxMacro\LWR at origequalaccent\=
 \LetLtxMacro\LWR at origdotaccent\.
 \LetLtxMacro\LWR at origu\u
@@ -1230,7 +1285,7 @@
 \fi
 \def\LWR at t#1#2{#1\HTMLunicode{0361}#2}
 \renewcommand*{\t}[1]{\LWR at t#1}
-\ifPDFTeX
+\ifPDFTeX% pdflatex or dvi latex
 \newcommand*{\LWR at restoreorigaccents}{%
 \LetLtxMacro\=\LWR at origequalaccent%
 \LetLtxMacro\.\LWR at origdotaccent%
@@ -1251,11 +1306,22 @@
 
 
 
+
+\excludecomment{LWRwriteconf}
 \begin{warpprint}
-\typeout{lwarp: generating configuration files}
+\fullexpandarg%
+\IfSubStr*{\jobname}{-pstool}
+    {
+        \typeout{lwarp: jobname with -pstool is found,}%
+        \typeout{lwarp: \space\space not generating configuration files.}%
+    }
+    {
+        \typeout{lwarp: generating configuration files}
+        \includecomment{LWRwriteconf}
+    }
 \end{warpprint}
 
-\begin{warpprint}
+\begin{LWRwriteconf}
 \immediate\openout\LWR at quickfile=\jobname_html.tex
 \immediate\write\LWR at quickfile{%
 \detokenize{\PassOptionsToPackage}%
@@ -1265,28 +1331,12 @@
 \detokenize{\input}\string{\jobname.tex\string }%
 }
 \immediate\closeout\LWR at quickfile
-\end{warpprint}
+\end{LWRwriteconf}
 
 
-\begin{warpprint}
+\begin{LWRwriteconf}
 
 \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}{
-    \def\LWR at opquote{"}
-}{
-    \def\LWR at opquote{'}
-}
-\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
@@ -1296,7 +1346,7 @@
     #1 \LWR at shellescapecmd \jobname#2%
 }
 \newcommand*{\LWR at addcompilecmd}[2]{%
-    \space \LWR at opsequence \space\space
+    \LWRopseq
     #1 \jobname#2%
 }
 \newcommand*{\LWR at unknownengine}{%
@@ -1306,9 +1356,9 @@
 }
 \newcommand*{\LWR at latexmkvar}[2]{%
     -e
-    \LWR at opquote%
-    \LWR at dollarchar #1=q/#2/%
-    \LWR at opquote
+    \LWRopquote%
+    \LWRdollar #1=q/#2/%
+    \LWRopquote
 }
 \newcommand*{\LWR at latexmkcmd}[1]{%
     latexmk  \space \LWR at shellescapecmd \space  #1 \space
@@ -1358,18 +1408,18 @@
             }
         \fi
     \fi% \ifpdf
-    \def\LWR at printlatexcmd{\LWR at latexcmd \space \jobname}
-    \def\LWR at HTMLlatexcmd{\LWR at latexcmd \space \jobname_html}
+    \def\LWR at tempprintlatexcmd{\LWR at latexcmd \space \jobname}
+    \def\LWR at tempHTMLlatexcmd{\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}}
+            \def\LWR at tempprintlatexcmd{\LWR at compilecmd{pdflatex}{}}
+            \def\LWR at tempHTMLlatexcmd{\LWR at compilecmd{pdflatex}{_html}}
         \else
             \ifLuaTeX
-                \def\LWR at printlatexcmd{\LWR at compilecmd{lualatex}{}}
-                \def\LWR at HTMLlatexcmd{\LWR at compilecmd{lualatex}{_html}}
+                \def\LWR at tempprintlatexcmd{\LWR at compilecmd{lualatex}{}}
+                \def\LWR at tempHTMLlatexcmd{\LWR at compilecmd{lualatex}{_html}}
             \else
                 \LWR at unknownengine
             \fi
@@ -1376,35 +1426,35 @@
         \fi
     \else% \ifpdf
         \ifXeTeX
-            \def\LWR at printlatexcmd{\LWR at compilecmd{xelatex}{}}
-            \def\LWR at HTMLlatexcmd{\LWR at compilecmd{xelatex}{_html}}
+            \def\LWR at tempprintlatexcmd{\LWR at compilecmd{xelatex}{}}
+            \def\LWR at tempHTMLlatexcmd{\LWR at compilecmd{xelatex}{_html}}
         \else
             \ifbool{LWR at dvipdfm}{
-                \def\LWR at printlatexcmd{%
+                \def\LWR at tempprintlatexcmd{%
                     \LWR at compilecmd{latex}{}
                     \LWR at addcompilecmd{dvipdfm}{}
                 }
-                \def\LWR at HTMLlatexcmd{%
+                \def\LWR at tempHTMLlatexcmd{%
                     \LWR at compilecmd{latex}{_html}
                     \LWR at addcompilecmd{dvipdfm}{_html}
                 }
             }{
                 \ifbool{LWR at dvipdfmx}{
-                    \def\LWR at printlatexcmd{%
+                    \def\LWR at tempprintlatexcmd{%
                         \LWR at compilecmd{latex}{}
                         \LWR at addcompilecmd{dvipdfmx}{}
                     }
-                    \def\LWR at HTMLlatexcmd{%
+                    \def\LWR at tempHTMLlatexcmd{%
                         \LWR at compilecmd{latex}{_html}
                         \LWR at addcompilecmd{dvipdfmx}{_html}
                     }
                 }{% dvips
-                    \def\LWR at printlatexcmd{%
+                    \def\LWR at tempprintlatexcmd{%
                         \LWR at compilecmd{latex}{}
                         \LWR at addcompilecmd{dvips}{}
                         \LWR at addcompilecmd{ps2pdf}{}.ps
                     }
-                    \def\LWR at HTMLlatexcmd{%
+                    \def\LWR at tempHTMLlatexcmd{%
                         \LWR at compilecmd{latex}{_html}
                         \LWR at addcompilecmd{dvips}{_html}
                         \LWR at addcompilecmd{ps2pdf}{_html}.ps
@@ -1414,7 +1464,13 @@
         \fi% \ifXeTeX
     \fi% \ifpdf
 }% latexmk
-\newcommand{\LWR at writeconf}[1]{%
+    \ifdefempty{\LWR at PrintLatexCmd}{
+        \def\LWR at PrintLatexCmd{\LWR at tempprintlatexcmd}
+    }{}
+    \ifdefempty{\LWR at HTMLLatexCmd}{
+        \def\LWR at HTMLLatexCmd{\LWR at tempHTMLlatexcmd}
+    }{}
+\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]]}
@@ -1427,8 +1483,8 @@
 \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{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]]}
@@ -1438,22 +1494,22 @@
 }
 
 
-\end{warpprint}
+\end{LWRwriteconf}
 
-\begin{warpprint}
+\begin{LWRwriteconf}
 
 \AtBeginDocument{\LWR at writeconf{lwarpmk.conf}}
 
-\end{warpprint}
+\end{LWRwriteconf}
 
-\begin{warpprint}
+\begin{LWRwriteconf}
 
 \AtBeginDocument{\LWR at writeconf{\jobname.lwarpmkconf}}
 
-\end{warpprint}
+\end{LWRwriteconf}
 
 
-\begin{warpprint}
+\begin{LWRwriteconf}
 \begin{filecontents*}{lwarp.css}
 /*
   CSS stylesheet for the LaTeX lwarp package
@@ -1681,6 +1737,11 @@
 div.epigraphsource p, div.dictumauthor p { padding: .5ex 0ex 0ex 0ex ; margin: 0ex ;}
 div.dictumauthor { font-style:italic }
 
+/* copyrightbox package */
+div.copyrightbox { margin: .5ex .5em }
+div.copyrightbox p {margin: 0px .5em ; padding: 0px}
+div.copyrightboxnote {text-align: left ; font-size: 60%}
+
 /* lettrine package: */
 span.lettrine { font-size: 4ex ; float: left ; }
 span.lettrinetext { font-variant: small-caps ; }
@@ -1818,6 +1879,7 @@
 }
 
 .footnotes {
+    text-align: left ;
     font-size: .85em ;
     margin: 3ex 2em 0ex 2em ;
     border-top: 1px solid silver ;
@@ -2272,6 +2334,8 @@
 figcaption .minipage { margin:0 ; padding: 0 }
 
 div.minipage figure { border: none ; box-shadow: none ; }
+div.minipage figure.table { margin: 0ex }
+div.minipage div.footnotes { margin: 1ex 2em 0ex 2em }
 
 div.floatrow { text-align: center; }
 
@@ -2834,10 +2898,10 @@
     nav.botnavigation { display:block }
 }
 \end{filecontents*}
-\end{warpprint}
+\end{LWRwriteconf}
 
 
-\begin{warpprint}
+\begin{LWRwriteconf}
 \begin{filecontents*}{lwarp_sagebrush.css}
 @import url("lwarp.css") ;
 
@@ -3067,10 +3131,10 @@
 }
 
 \end{filecontents*}
-\end{warpprint}
+\end{LWRwriteconf}
 
 
-\begin{warpprint}
+\begin{LWRwriteconf}
 \begin{filecontents*}{lwarp_formal.css}
 @import url("lwarp.css") ;
 
@@ -3267,10 +3331,10 @@
     border-top: 1px solid black ;
 }
 \end{filecontents*}
-\end{warpprint}
+\end{LWRwriteconf}
 
 
-\begin{warpprint}
+\begin{LWRwriteconf}
 \begin{filecontents*}{sample_project.css}
 /* ( --- Start of project.css --- ) */
 /* ( --- A sample project-specific CSS file for lwarp --- ) */
@@ -3285,10 +3349,10 @@
 
 /* ( --- End of project.css --- ) */
 \end{filecontents*}
-\end{warpprint}
+\end{LWRwriteconf}
 
 
-\begin{warpprint}
+\begin{LWRwriteconf}
 \begin{filecontents*}{lwarp.ist}
 preamble
 "\\begin{theindex}
@@ -3310,10 +3374,10 @@
 delim_t "}"
 page_compositor "."
 \end{filecontents*}
-\end{warpprint}
+\end{LWRwriteconf}
 
 
-\begin{warpprint}
+\begin{LWRwriteconf}
 \begin{filecontents*}{lwarp.xdy}
 (require "tex/inputenc/latin.xdy")
 (merge-rule "\\PS *" "Postscript")
@@ -3336,9 +3400,9 @@
                   "see"
                   "seealso"))
 \end{filecontents*}
-\end{warpprint}
+\end{LWRwriteconf}
 
-\begin{warpprint}
+\begin{LWRwriteconf}
 \begin{filecontents*}{lwarp_one_limage.txt}
 @echo off
 pdfseparate -f %1 -l %1 %4_html.pdf lateximages\lateximagetemp-%%d.pdf
@@ -3348,10 +3412,10 @@
 del lateximages\lateximagetemp-%1.pdf
 exit
 \end{filecontents*}
-\end{warpprint}
+\end{LWRwriteconf}
 
 
-\begin{warpprint}
+\begin{LWRwriteconf}
 \begin{filecontents*}{lwarp_mathjax.txt}
 <!-- https://groups.google.com/forum/#!topic/
                                mathjax-users/jUtewUcE2bY -->
@@ -3460,7 +3524,7 @@
 -->
 
 \end{filecontents*}
-\end{warpprint}
+\end{LWRwriteconf}
 
 
 \begin{LWR at createlwarpmk}
@@ -3469,7 +3533,7 @@
 
 -- Copyright 2016-2018 Brian Dunn
 
-printversion = "v0.60"
+printversion = "v0.61"
 requiredconfversion = "1" -- also at *lwarpmk.conf
 
 function printhelp ()
@@ -4448,12 +4512,12 @@
 \begin{warpall}
 \newbool{LWR at dynamicmath}
 \boolfalse{LWR at dynamicmath}
-\newcommand{\StartDynamicMath}{%
-\LWR at traceinfo{StartDynamicMath}%
+\newcommand{\inlinemathother}{%
+\LWR at traceinfo{inlinemathother}%
 \booltrue{LWR at dynamicmath}%
 }
-\newcommand{\StopDynamicMath}{%
-\LWR at traceinfo{StopDynamicMath}%
+\newcommand{\inlinemathnormal}{%
+\LWR at traceinfo{inlinemathnormal}%
 \boolfalse{LWR at dynamicmath}%
 }
 \end{warpall}
@@ -5413,7 +5477,7 @@
 \StrSubstitute{\LWR at thisnewfilename}{----}{-}[\LWR at thisnewfilename]
 \StrSubstitute{\LWR at thisnewfilename}{---}{-}[\LWR at thisnewfilename]
 \StrSubstitute{\LWR at thisnewfilename}{--}{-}[\LWR at thisnewfilename]
-\ifPDFTeX%
+\ifPDFTeX% pdflatex or dvi latex
 \ifdefstring{\inputencodingname}{utf8}{%
 \StrSubstitute{\LWR at thisnewfilename}{—}{-}[\LWR at thisnewfilename]
 \StrSubstitute{\LWR at thisnewfilename}{–}{-}[\LWR at thisnewfilename]
@@ -5520,7 +5584,7 @@
 
 \LWR at stoppars
 
-\ifPDFTeX%
+\ifPDFTeX% pdflatex or dvi latex
 \ifdefstring{\inputencodingname}{utf8}{%
 \LWR at filestart{ — #1}% there is an EMdash in front of the #1
 }{
@@ -6685,6 +6749,7 @@
 }
 
 \newcommand*{\LWR at closetabledatacell}{%
+\LWR at stoppars%
 \global\booltrue{LWR at intabularmetadata}%
 \ifbool{LWR at exitingtabular}{}%
 {% not exiting tabular
@@ -8767,7 +8832,7 @@
 
 \NewDocumentCommand{\listof}{m +m}{%
 \@ifundefined{l@#1}{%
-    \csdef{l@#1}[2]{\hypertocfloat{1}{#1}{\@nameuse{ext@#1}}{##1}{##2}}%
+    \csdef{l@#1}##1##2{\hypertocfloat{1}{#1}{\@nameuse{ext@#1}}{##1}{##2}}%
 }{}%
 \LWR at subtableofcontents{\@nameuse{ext@#1}}{#2}
 \expandafter\newwrite\csname tf@\csname ext@#1\endcsname\endcsname
@@ -8945,15 +9010,15 @@
 }
 
 \newcommand{\LWR at hyperindexrefnullified}{%
-\renewcommand{\emph}[1]{\LWR at HTMLemph{\LWR at doindexentry{##1}}}%
-\renewcommand{\textbf}[1]{\LWR at HTMLtextbf{\LWR at doindexentry{##1}}}%
-\renewcommand{\textrm}[1]{\LWR at HTMLtextrm{\LWR at doindexentry{##1}}}%
-\renewcommand{\textsf}[1]{\LWR at HTMLtextsf{\LWR at doindexentry{##1}}}%
-\renewcommand{\texttt}[1]{\LWR at HTMLtexttt{\LWR at doindexentry{##1}}}%
-\renewcommand{\textup}[1]{\LWR at HTMLtextup{\LWR at doindexentry{##1}}}%
-\renewcommand{\textsc}[1]{\LWR at HTMLtextsc{\LWR at doindexentry{##1}}}%
-\renewcommand{\textit}[1]{\LWR at HTMLtextit{\LWR at doindexentry{##1}}}%
-\renewcommand{\textsl}[1]{\LWR at HTMLtextsl{\LWR at doindexentry{##1}}}%
+\renewrobustcmd{\emph}[1]{\LWR at HTMLemph{\LWR at doindexentry{##1}}}%
+\renewrobustcmd{\textbf}[1]{\LWR at HTMLtextbf{\LWR at doindexentry{##1}}}%
+\renewrobustcmd{\textrm}[1]{\LWR at HTMLtextrm{\LWR at doindexentry{##1}}}%
+\renewrobustcmd{\textsf}[1]{\LWR at HTMLtextsf{\LWR at doindexentry{##1}}}%
+\renewrobustcmd{\texttt}[1]{\LWR at HTMLtexttt{\LWR at doindexentry{##1}}}%
+\renewrobustcmd{\textup}[1]{\LWR at HTMLtextup{\LWR at doindexentry{##1}}}%
+\renewrobustcmd{\textsc}[1]{\LWR at HTMLtextsc{\LWR at doindexentry{##1}}}%
+\renewrobustcmd{\textit}[1]{\LWR at HTMLtextit{\LWR at doindexentry{##1}}}%
+\renewrobustcmd{\textsl}[1]{\LWR at HTMLtextsl{\LWR at doindexentry{##1}}}%
 }
 
 \newcommand{\hyperindexref}[1]{%
@@ -9023,6 +9088,7 @@
 \let\hfilneg\LWR at orighfilneg%
 \let\,\LWR at origcomma% disable HTML short unbreakable space
 \let\thinspace\LWR at origthinspace% disable HTML short unbreakable space
+\let\negthinspace\LWR at orignegthinspace% disable HTML negative short unbreakable space
 \let\textellipsis\LWR at origtextellipsis%
 \let\textless\LWR at origtextless%
 \let\textgreater\LWR at origtextgreater%
@@ -10725,14 +10791,13 @@
 
 
 \begin{warpHTML}
-
-
+\AtBeginDocument{
 \renewrobustcmd*{\,}{\HTMLunicode{202f}} % HTML thin non-breakable space
 \renewrobustcmd*{\thinspace}{\HTMLunicode{202f}}    % HTML thin non-breakable space
-
+\renewrobustcmd*{\negthinspace}{\HTMLunicode{202f}}    % HTML thin non-breakable space
 \renewrobustcmd*{~}{\HTMLentity{nbsp}}
-
 \renewrobustcmd*{\textellipsis}{\HTMLunicode{2026}}
+}
 \newrobustcmd*{\LWR at HTML@normalsize}{}
 \LWR at formatted{normalsize}
 



More information about the tex-live-commits mailing list