texlive[49196] trunk: lwarp (19nov18)

commits+karl at tug.org commits+karl at tug.org
Mon Nov 19 22:54:31 CET 2018


Revision: 49196
          http://tug.org/svn/texlive?view=revision&revision=49196
Author:   karl
Date:     2018-11-19 22:54:31 +0100 (Mon, 19 Nov 2018)
Log Message:
-----------
lwarp (19nov18)

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/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-algorithm2e.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-asymptote.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-cancel.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-changebar.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-chngpage.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-easy-todo.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-fancybox.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-fancyvrb.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-graphics.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-listings.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-nicefrac.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-patch-memoir.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-register.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-soul.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-subfig.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-textcomp.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-tocbibind.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-ulem.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-units.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-xcolor.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-xfrac.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-xunicode.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp.sty

Added Paths:
-----------
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-2in1.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-CJK.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-CJKutf8.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-bitpattern.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-ctex.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-flippdf.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-musicography.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-notespages.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-octave.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-pdfcomment.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-pdfmarginpar.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-rviewport.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-semantic-markup.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-tram.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-twoup.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-unitsdef.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-xeCJK.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-xechangebar.sty

Modified: trunk/Build/source/texk/texlive/linked_scripts/lwarp/lwarpmk.lua
===================================================================
--- trunk/Build/source/texk/texlive/linked_scripts/lwarp/lwarpmk.lua	2018-11-19 21:53:15 UTC (rev 49195)
+++ trunk/Build/source/texk/texlive/linked_scripts/lwarp/lwarpmk.lua	2018-11-19 21:54:31 UTC (rev 49196)
@@ -2,7 +2,7 @@
 
 -- Copyright 2016-2018 Brian Dunn
 
-printversion = "v0.61"
+printversion = "v0.62"
 requiredconfversion = "1" -- also at *lwarpmk.conf
 
 function printhelp ()
@@ -31,8 +31,9 @@
     Finishes the HTML conversion even if there was a compile error.
 lwarpmk pdftosvg <list of file names>: Converts each PDF file to SVG.
 lwarpmk epstopdf <list of file names>: Converts each EPS file to PDF.
-lwarpmk clean [-p project]: Remove .aux, .toc, .lof/t, .idx, .ind, .log, *_html_inc.*, .gl*
-lwarpmk cleanall [-p project]: Remove auxiliary files and also project.pdf, *.html
+lwarpmk clean [-p project]: Remove *.aux, *.toc, *.lof/t,
+    *.idx, *.ind, *.log, *_html_inc.*, .gl*
+lwarpmk cleanall [-p project]: Remove auxiliary files, project.pdf, *.html
 lwarpmk cleanlimages: Removes all images from the "lateximages" directory.
 lwarpmk -h: Print this help message.
 lwarpmk --help: Print this help message.

Modified: trunk/Master/texmf-dist/doc/latex/lwarp/README.txt
===================================================================
--- trunk/Master/texmf-dist/doc/latex/lwarp/README.txt	2018-11-19 21:53:15 UTC (rev 49195)
+++ trunk/Master/texmf-dist/doc/latex/lwarp/README.txt	2018-11-19 21:54:31 UTC (rev 49196)
@@ -1,5 +1,5 @@
 
-LaTeX lwarp package v0.61   README.txt
+LaTeX lwarp package v0.62   README.txt
 
 Files included are:
 

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

Modified: trunk/Master/texmf-dist/scripts/lwarp/lwarpmk.lua
===================================================================
--- trunk/Master/texmf-dist/scripts/lwarp/lwarpmk.lua	2018-11-19 21:53:15 UTC (rev 49195)
+++ trunk/Master/texmf-dist/scripts/lwarp/lwarpmk.lua	2018-11-19 21:54:31 UTC (rev 49196)
@@ -2,7 +2,7 @@
 
 -- Copyright 2016-2018 Brian Dunn
 
-printversion = "v0.61"
+printversion = "v0.62"
 requiredconfversion = "1" -- also at *lwarpmk.conf
 
 function printhelp ()
@@ -31,8 +31,9 @@
     Finishes the HTML conversion even if there was a compile error.
 lwarpmk pdftosvg <list of file names>: Converts each PDF file to SVG.
 lwarpmk epstopdf <list of file names>: Converts each EPS file to PDF.
-lwarpmk clean [-p project]: Remove .aux, .toc, .lof/t, .idx, .ind, .log, *_html_inc.*, .gl*
-lwarpmk cleanall [-p project]: Remove auxiliary files and also project.pdf, *.html
+lwarpmk clean [-p project]: Remove *.aux, *.toc, *.lof/t,
+    *.idx, *.ind, *.log, *_html_inc.*, .gl*
+lwarpmk cleanall [-p project]: Remove auxiliary files, project.pdf, *.html
 lwarpmk cleanlimages: Removes all images from the "lateximages" directory.
 lwarpmk -h: Print this help message.
 lwarpmk --help: Print this help message.

Modified: trunk/Master/texmf-dist/source/latex/lwarp/lwarp.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/lwarp/lwarp.dtx	2018-11-19 21:53:15 UTC (rev 49195)
+++ trunk/Master/texmf-dist/source/latex/lwarp/lwarp.dtx	2018-11-19 21:54:31 UTC (rev 49196)
@@ -16,7 +16,7 @@
 % \iffalse
 %<package>\NeedsTeXFormat{LaTeX2e}[1999/12/01]
 %<package>\ProvidesPackage{lwarp}
-%<package>    [2018/10/13 v0.61  Allows LaTeX to directly produce HTML5 output.]
+%<package>    [2018/11/19 v0.62  Allows LaTeX to directly produce HTML5 output.]
 %
 %<*driver>
 \documentclass{ltxdoc}
@@ -99,9 +99,28 @@
 
 \titlespacing*{\part}{0pt}{*5}{0ex}
 
+% redefine \part to modify \@currentlabelname:
+\makeatletter
+\LetLtxMacro\LWR at titlesec@part\part
+\RenewDocumentCommand{\part}{s o m}{%
+\def\@currentlabelname{#3}%
+\IfBooleanTF{#1}{% star
+    \IfValueTF{#2}{% star opt
+        \LWR at titlesec@part*[#2]{#3}%
+    }{% star noopt
+        \LWR at titlesec@part*{#3}%
+    }%
+}{% no star
+    \IfValueTF{#2}{% opt
+        \LWR at titlesec@part[#2]{#3}%
+    }{% noopt
+        \LWR at titlesec@part{#3}%
+    }%
+}%
+}
+\makeatother
 
 
-
 \usepackage{needspace}
 
 
@@ -115,6 +134,16 @@
 \usepackage{graphicx}
 \graphicspath{{images/}}
 
+\usepackage{metalogo}
+% for erewhon:
+\setlogokern{Te}{-.08em}
+\setlogokern{eX}{-0.04em}
+\setlogokern{La}{-.25em}
+\setlogokern{aT}{-.10em}
+\setlogokern{Xe}{-.04em}
+\setlogokern{eL}{-.06em}
+\setlogodrop{0.27ex}
+
 \usepackage{enumitem}
 
 \usepackage{array}
@@ -131,7 +160,6 @@
 \usepackage{capt-of}
 
 \usepackage{comment}
-\excludecomment{testing}
 
 \usepackage{tocloft}
 \renewcommand{\cftpartfont}{\Large\bfseries}
@@ -283,8 +311,12 @@
 \providerobustcmd*{\env}[1]{\mbox{\texttt{#1}}}
 \providerobustcmd*{\ctr}[1]{\mbox{\texttt{#1}}}
 \providerobustcmd*{\bool}[1]{\mbox{\texttt{#1}}}
-\providerobustcmd*{\pkg}[1]{\mbox{\textbf{\textsf{#1}}}}
-\providerobustcmd*{\prog}[1]{\mbox{\textbf{\textsf{#1}}}}
+
+% \providerobustcmd*{\pkg}[1]{\mbox{\textbf{\textsf{#1}}}}
+% \providerobustcmd*{\prog}[1]{\mbox{\textbf{\textsf{#1}}}}
+\providerobustcmd*{\pkg}[1]{\mbox{\textsf{#1}}}
+\providerobustcmd*{\prog}[1]{\mbox{\textsf{\textsl{#1}}}}
+
 \providerobustcmd*{\progcode}[1]{\mbox{\texttt{#1}}}
 \providerobustcmd*{\optn}[1]{\mbox{\texttt{#1}}}
 \providerobustcmd*{\filenm}[1]{\mbox{\texttt{#1}}}
@@ -293,7 +325,7 @@
 
 \newrobustcmd{\acro}[1]{\textsc{\lowercase{#1}}}
 \newrobustcmd{\element}[1]{\texttt{<#1>}}
-\newrobustcmd{\attribute}[1]{\texttt{#1}}
+\newrobustcmd{\attribute}[1]{\mbox{\texttt{#1}}}
 \newrobustcmd{\UI}[1]{\textbf{\textsf{#1}}}
 
 \newrobustcmd{\supregistered}{\textsuperscript{\textregistered}}
@@ -319,6 +351,7 @@
 \newrobustcmd{\MathML}{Math\acro{ML}}
 \newrobustcmd{\CTAN}{\acro{CTAN}}
 \newrobustcmd{\TDS}{\acro{TDS}}
+\newrobustcmd{\UTF}{\acro{UTF}}
 
 \newcommand{\spslash}{\unskip\kern.085em/\hspace{.085em}\penalty\exhyphenpenalty\hspace{0pt}}
 
@@ -372,7 +405,7 @@
 \leavevmode
 \par
 \fqquad\minipage{\linewidth-2em}
-\sffamily
+\sffamily\bfseries
 }
 {
 \endminipage
@@ -428,9 +461,9 @@
 \begin{minipage}{\linewidth}
 \hrule\smallskip
 \small
-The index to this document contains several hundred
-custom entries.
-Also included are automated entries for each package, macro, environment,
+See the \nameref{sec:indexgen} for ``how-to'', and
+the \nameref{sec:indextrb} if something doesn't work.
+The \nameref{sec:indexidx} contains automated entries for each package, macro, environment,
 counter, boolean, and other objects; individually and also sorted by category.
 A \nameref{sec:troubleshooting} section is also available.
 \hrule
@@ -705,7 +738,7 @@
 
 \begin{description}
 
-\item [Inline, with a manual TOC entry:] \
+\item [Inline, with a manual \TOC\ entry:] \
 \DescribePackage{makeidx}
 
     A commonly-used method to introduce an index in a \LaTeX\ document:
@@ -717,7 +750,7 @@
     \end{sourcedisplay}
 
 \needspace{3\baselineskip}
-\item [On its own \HTML\ page, with a manual TOC entry:] \
+\item [On its own \HTML\ page, with a manual \TOC\ entry:] \
 \DescribePackage{makeidx}
     \begin{sourcedisplay}
     \cs{begin}\{warpprint\} \\
@@ -730,7 +763,7 @@
     \cs{printindex}
     \end{sourcedisplay}
 
-\item [Inline, with an automatic TOC entry:] \
+\item [Inline, with an automatic \TOC\ entry:] \
     \DescribePackage{tocbibind}
 
     The \pkg{tocbibind}
@@ -743,7 +776,7 @@
     \cs{printindex}
     \end{sourcedisplay}
 
-\item [On its own \HTML\ page, with an automatic TOC entry:] \
+\item [On its own \HTML\ page, with an automatic \TOC\ entry:] \
     \DescribePackage{tocbibind}
     \begin{sourcedisplay}
     \cs{usepackage}[nottoc]\{tocbibind\} \\
@@ -892,7 +925,7 @@
 Many \pkg{textcomp} symbols are not supported by many fonts.
 \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.
+In the \CSS\ try referencing fonts which are more complete, but expect to see gaps in coverage.
 }
 
 \newcommand{\limitsaccents}{%
@@ -1092,8 +1125,8 @@
 the size of the math and text used
 \margintag{SVG image font size}
 in the \SVG\ image may be adjusted
-\gindex{font>size --- lateximage}%
-\gindex{font>size --- math, SVG}%
+\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},
@@ -1143,7 +1176,7 @@
 issues with the fine control of the appearance of the result.
 Also see \cref{sec:epub} regarding \EPUB\ output with \brand{MathJax}.
 
-\subsubsection{SVG option}
+\subsubsection{\SVG\ option}
 
 For \SVG\ math,
 \margintag{SVG math option}
@@ -1326,6 +1359,35 @@
 \end{sourcedisplay}
 }
 
+%\newcommand{\limitscustomizeKaTeX}{%
+%Ka\TeX\ does not have preexisting support every possible math function.
+%Additional Ka\TeX\ 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{CustomizeKaTeX}\{ \\
+    %\fqquad\cs{gdef}\cs{expval}\#1\{\cs{langle}\#1\cs{rangle}\} \\
+    %\fqquad\cs{gdef}\cs{abs}\#1]\{\cs{lvert}\#1\cs{rvert}\} \\
+%\} \\
+%\cs{CustomizeKaTeX}\{\cs{gdef}\cs{arsinh}\{\cs{text}\{arsinh\}\}\} \\
+%\cs{CustomizeKaTeX}\{\cs{gdef}\cs{arcosh}\{\cs{text}\{arcosh\}\}\}
+%\cs{CustomizeKaTeX}\{\cs{gdef}\cs{NN}\{\cs{mathbb}\{N\}\}\}
+%\end{sourcedisplay}
+%}
+
+\newcommand{\limitschemfig}{%
+If using \cs{polymerdelim} to add delimiters to a \cs{chemfig},
+wrap both inside a single \env{lateximage}:
+\begin{sourcedisplay}
+\cs{begin}\{lateximage\}[(-chemfig-\textasciitilde\cs{packagediagramname})] \\
+\cs{chemfig}\{\dots\} \\
+\cs{polymerdelim}[\dots]\{\dots\} \\
+\cs{end}\{lateximage\}
+\end{sourcedisplay}
+}
+
 \newcommand{\limitschemformula}{%
 \pkg{chemformula} works best without \brand{MathJax}.
 \trouble[\pkg{chemformula} with \brand{MathJax}]{MathJax=\brand{MathJax}>chemformula=\pkg{chemformula}}
@@ -1628,6 +1690,24 @@
 Use \userentry{lwarpmk html} followed by \userentry{lwarpmk limages}.
 }
 
+\newcommand{\limitsasymptote}{%
+To compile:
+\begin{sourcedisplay}
+pdflatex project.tex \\
+asy project-*.asy \\
+pdflatex project.tex \\ [\baselineskip]
+lwarpmk print \\
+asy project-*.asy \\
+lwarpmk print1 \\
+lwarpmk print1 \\[\baselineskip]
+lwarpmk html \\
+asy project\textred{\_html}-*.asy \\
+lwarpmk html1 \\
+lwarpmk html1 \\
+\textred{lwarpmk limages} \\
+\end{sourcedisplay}
+}
+
 \newcommand{\limitsoverpic}{%
 The macros \cs{overpicfontsize} and \cs{overpicfontskip} are used during
 \trouble[scaling]{overpic=\pkg{overpic}}
@@ -2005,7 +2085,7 @@
 \margintag{side-by-side}
 \cs{hspace}, \cs{hfill}, or a \cs{rule}.
 When inside a \env{center} environment, the result is
-similar in print and \HTML.  Paragraph tags are surpressed between
+similar in print and \HTML.  Paragraph tags are suppressed between
 side-by-side minipages and these spacing commands, but not at the start or end
 of the paragraph.
 
@@ -2472,7 +2552,7 @@
 %<*package>
 % \fi
 %
-% \CheckSum{26157}
+% \CheckSum{26573}
 %
 % \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
@@ -2516,7 +2596,7 @@
 % \changes{v0.17}{2016/04/14}{Test Suite: Fix: Print-version front-matter page numbers.}
 % \changes{v0.18}{2016/05/19}{\ 2016/05/19}
 % \changes{v0.18}{2016/04/23}{Files: lwarp.css and lwarp\_formal.css: Improved responsive design.}
-% \changes{v0.18}{2016/04/23}{File: lwarp.css: Improved TOC outline display.}
+% \changes{v0.18}{2016/04/23}{File: lwarp.css: Improved \TOC\ outline display.}
 % \changes{v0.18}{2016/05/13}{Test Suite: Verse package}
 % \changes{v0.19}{2016/06/08}{\ 2016/06/08}
 % \changes{v0.19}{2016/05/25}{File: \filenm{lwarp\_mathjax.txt} added.}
@@ -2576,6 +2656,7 @@
 % \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}
+% \changes{v0.62}{2018/11/19}{\ 2018/11/19}
 
 
 
@@ -2596,6 +2677,8 @@
 %
 % {\Huge The \textbf{lwarp} package}
 %
+% \smallskip
+%
 % {\Large \textup{\LaTeX{} to HTML}}
 %
 % \bigskip
@@ -2641,7 +2724,6 @@
 % A tutorial is provided to quickly introduce the user to the major components
 % of the package.
 %
-%
 % \bigskip
 %
 % \begin{center}
@@ -2702,6 +2784,7 @@
 % \item benefit students, academics, scientists, engineers, and businesses;
 % \item help drive education, public and private research, and commercial activity;
 % \item are used in the fields of mathematics, science, engineering, and humanities;
+% \item are international in reach;
 % \item span decades of development;
 % \item are enduring \Dash many older packages are still actively used and maintained;
 % \item are largely backwards compatible;
@@ -2730,7 +2813,7 @@
 % \item[LuaTeX:] Combining the pdf\TeX\ engine and the Lua language.
 % \item[MetaPost:] Postscript graphics.
 % \item[MacTeX:] \TeX\ for Mac.
-% \item[PDF Accessibility:] Modern PDF standards.
+% \item[PDF Accessibility:] Modern \PDF\ standards.
 % \item[Other:] Additional projects may be specified.
 % \end{description}
 %
@@ -2737,12 +2820,12 @@
 % To make a contribution: \hfill
 % \href{https://www.tug.org/donate.html}{\texttt{https://www.tug.org/donate.html}}
 %
+% For country-specific \TeX\ users groups: \hfill
+% \href{http://tug.org/usergroups.html}{\texttt{http://tug.org/usergroups.html}}
+%
 % For users of MiK\TeX: \hfill
 % \href{https://miktex.org/donations.html}{\texttt{https://miktex.org/donations.html}}
 %
-% For country-specific \TeX\ users groups: \hfill
-% \href{http://tug.org/usergroups.html}{\texttt{http://tug.org/usergroups.html}}
-%
 % \endgroup
 %
 % \clearpage
@@ -2773,6 +2856,48 @@
 %
 % \begin{description}
 % \needspace{2\baselineskip}
+% \item[v0.62:] MiK\TeX\ docs, \HTML\ title, C\TeX\, \pkg{xeCJK}, \pkg{bitpattern}.
+%   \begin{itemize}
+%       \item Docs: Setting a \UTF-8 locale.  See \cref{sec:utf8locale}.
+%           \margintag{docs}
+%       \item MiK\TeX: Docs for \prog{MiKTeX Console} and \pkg{miktex-poppler-bin}.
+%           \margintag{MiK\TeX}
+%       \item \HTML\ subpage titles: Added \cs{HTMLTitleBeforeSection} and
+%           \margintag{\HTML\ \element{title}}
+%           \cs{HTMLTitleAfterSection} to select whether
+%           the \HTML\ \element{title} displays the website name before or
+%           after the section name.
+%           See \cref{sec:htmlsettings}.
+%       \item Fix for package options handling.
+%           \margintag{fixes}
+%       \item Fixes for horizontal white space between \env{fminipage}, \env{fcolorminipage},
+%           \env{colorboxBlock}, \env{fcolorboxBlock}.
+%       \item Logos: Fix for \XeTeX\ logo, improved \CSS, made robust,
+%           improved search-engine optimization.
+%       \item |\\[$1]|: Additional \HTML\ \element{br} if $\$1 > 0\,\textrm{pt}$.
+%       \item Fixes for \cs{includgraphics} filename, and with \bool{FormatWP}.
+%       \item Fix: \CSS\ for \cs{textup}.
+%       \item Fix: Added \cs{slshape}.
+%       \item \pkg{chemfig}: Docs for new macro \cs{polymerdelim}.
+%           \margintag{packages}
+%       \item \pkg{asymptote}: Docs for compilation.
+%       \item \pkg{chngpage}: Fix to load \pkg{lwarp-changepage}.
+%       \item \pkg{algorithm2e}: Fix with non-\pkg{book} classes.
+%       \item \pkg{register}: Updated to v1.8.
+%       \item \pkg{nicefrac}: Improved font control and \CSS, honors \optn{nice} and \optn{ugly}.
+%       \item \pkg{units}: Improved font control and \CSS, honors \optn{tight} and \optn{loose}.
+%       \item \pkg{xfrac}: Improved \CSS.
+%       \item \pkg{textcomp} and \pkg{xunicode}: Fix conflicts with \cs{textcircled}.
+%       \item \pkg{ulem}: Improved compatibility with \pkg{CJKulem}, \env{lateximage}.
+%       \item MathJax and \pkg{siunitx}: Removed inoperable extension.
+%       \item Added \pkg{ctex} package and related classes, \pkg{xeCJK}.
+%       \item Prevented \pkg{CJK}, \pkg{CJKutf8} unless \pkg{xeCJK}, \pkg{ctex} are used.
+%       \item Added \pkg{bitpattern}, \pkg{pdfcomment},
+%           \pkg{pdfmarginpar}, \pkg{tram}, \pkg{unitsdef}, \pkg{xechangebar}.
+%       \item Added \pkg{musicography}, \pkg{octave}, \pkg{semantic-markup}.
+%       \item Added \pkg{2in1}, \pkg{flippdf}, \pkg{notespages}, \pkg{rviewport}, \pkg{twoup}.
+%   \end{itemize}
+% \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}.
@@ -2803,9 +2928,9 @@
 %       \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: \DVI\ \LaTeX\ \cs{includegraphics} \EPS\ images.
 %       \item Fix: \pkg{newfloat} lists.
-%       \item Fix: CSS footnotes text align, minipage tabular and footnote margins.
+%       \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},
@@ -3272,11 +3397,11 @@
 %           \pkg{scrlayer}, \pkg{scrlayer-notecolumn}, \pkg{scrlayer-scrpage},
 %           \pkg{scrhack}, \pkg{tocstyle}, \pkg{tocbasic}.
 %       \item Added \cs{HTMLTitle}.
-%           \margintag{HTML title and author}
+%           \margintag{\HTML\ title and author}
 %           Fixed web page title if \cs{HTMLTitle} empty and no \cs{title} given and
 %           not using \pkg{titling} package.
 %       \item Fixed web page author if \cs{HTMLauthor} is empty and \cs{author} is not given.
-%       \item If using \prog{pdflatex}, automatically loads T1 and UTF8 encodings.
+%       \item If using \prog{pdflatex}, automatically loads T1 and \acro{UTF}-8 encodings.
 %           \margintag{encodings}
 %           (Additional \pkg{fontenc} encodings may be loaded after \pkg{lwarp}.)
 %       \item Added \env{list} and \env{trivlist} environments, \pkg{hang}.\margintag{lists}
@@ -3831,7 +3956,7 @@
 % ^^A 	\item \cs{minipagefullwidth} requests that the next minipage be
 % ^^A 		full-width in \HTML, but still the assigned width in print.
 % ^^A 	\item \env{minipage} improved side-by-side rendering.
-% ^^A 	\item CSS class |tablenotes| is provided for table note items.
+% ^^A 	\item \CSS\ class |tablenotes| is provided for table note items.
 % ^^A 	\item \cs{warpprintonly} replaces \cs{rowprintedonly},
 % ^^A 		and \cs{warpHTMLonly} is added.  These behave like the \env{warpprint}
 % ^^A 		\watchout
@@ -3982,8 +4107,40 @@
 % code used to emulate or replace functions for \HTML\ output.
 %
 %
+% \clearpage
 %
+% \subsection{Typesetting conventions}
 %
+% Font weight, family, and style are used to indicate various objects:
+%
+% \begin{table}[hbp]
+% \caption{Typesetting conventions}
+% \centering
+% \begin{tabular}{lp{3in}}
+% \toprule
+% \pkg{package} & \LaTeX\ package. \\
+% \prog{program} & Program's executable name. \\
+% \optn{option} & Program or package option. \\
+% \midrule
+% \filenm{filename} & File name in the operating system. \\
+% \brand{Brand Name} & Proper name for a program, operating system, etc. \\
+% \midrule
+% \cmds{commands} & Commands to be entered by the user. \\
+% \progcode{code} & Program code. \\
+% \cs{macroname} & \LaTeX\ macro. \\
+% \env{environment} & \LaTeX\ environment. \\
+% \ctr{counter} & \LaTeX\ counter. \\
+% \bool{boolean} & \LaTeX\ boolean. \\
+% \midrule
+% \element{element} & \HTML\ element. \\
+% \attribute{attribute} & \HTML\ attribute. \\
+% \midrule
+% \UI{User Interface} & A user-interface item. \\
+% \acro{ACRO} & Acronym. \\
+% \bottomrule
+% \end{tabular}
+% \end{table}
+%
 % \clearpage
 %
 % \subsection{Supported packages and features}
@@ -4008,7 +4165,7 @@
 % ^^A *supported features
 %
 % \begin{longtable}{>{\raggedright}p{.3\linewidth}p{.6\linewidth}}
-% \caption{\protect\LaTeX--HTML generation ---
+% \caption{\protect\LaTeX--\acro{HTML} generation ---
 % \pkg{lwarp} package ---
 % Supported features\label{tab:supported}} \endfirsthead
 % \warpprintonly{\multicolumn{2}{c}{\pkg{lwarp} Supported Functions --- continued} \\
@@ -4022,12 +4179,12 @@
 %
 % Engines: & \DVI\ \LaTeX, pdf\LaTeX, \XeLaTeX, \LuaLaTeX \\
 %
-% Compiling: & %   \pkg{latexmk}, \pkg{perltex}, \pkg{pythontex}, \prog{make}, etc. \\
+% Compiling: & \pkg{latexmk}, \pkg{perltex}, \pkg{pythontex}, \prog{make}, etc. \\
 %
 % \midrule
 %
 % Classes: & \pkg{article}, \pkg{book}, \pkg{report},
-%   \pkg{scrartcl}, \pkg{scrbook}, \pkg{scrreprt}, \pkg{memoir}. \\
+%   \pkg{scrartcl}, \pkg{scrbook}, \pkg{scrreprt}, \pkg{memoir}, C\TeX-related. \\
 %
 % Koma-script: & \pkg{scrextend}, \pkg{scrhack}, \pkg{scrlayer}.
 %   Others as listed below. \\
@@ -4034,22 +4191,25 @@
 %
 % Memoir: & \pkg{memhfixc} \\
 %
+% Languages: & \pkg{babel}, \pkg{ctex}, \pkg{polyglossia}, \pkg{xeCJK}. \\
+%
 % \midrule
 %
-% Page layout: & \pkg{2up}, \pkg{a4}, \pkg{a4wide}, \pkg{a5comb},
+% Page layout: & \pkg{2in1}, \pkg{2up}, \pkg{a4}, \pkg{a4wide}, \pkg{a5comb},
 %       \pkg{addlines}, \pkg{anysize}, \pkg{atbegshi},
 %       \pkg{blowup},  \pkg{booklet},  \pkg{bophook}, \pkg{bxpapersize},
 %       \pkg{canoniclayout}, \pkg{clrdblpg},
 %       \pkg{continue}, \pkg{draftcopy}, \pkg{draftfigure}, \pkg{draftwatermark},
 %       \pkg{ebook}, \pkg{everyshi},
-%       \pkg{fancyhdr}, \pkg{fancytabs}, \pkg{fullminipage}, \pkg{fullpage},
+%       \pkg{fancyhdr}, \pkg{fancytabs}, \pkg{flippdf},
+%       \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{ltxgrid}, \pkg{nccfancyhdr}, \pkg{notespages}, \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{turnthepage}, \pkg{twoup}, \pkg{typearea}, \pkg{vmargin},
 %       \pkg{watermark}, \pkg{zwpagelayout}.
 %
 %       Tested to work as-is: \pkg{underlin}.\\
@@ -4090,8 +4250,6 @@
 %   \pkg{hypdestopt}, \pkg{hyperref}, \pkg{prettyref},
 %   \pkg{titleref}, \pkg{url}, \pkg{varioref}, \pkg{xurl}. \\
 %
-% Languages: & \pkg{babel}, \pkg{polyglossia}. \\
-%
 % \midrule
 %
 % Margin notes: & \pkg{marginfit}, \pkg{marginfix}, \pkg{scrlayer-notecolumn}. \\
@@ -4126,7 +4284,9 @@
 %
 % \midrule
 %
-% Units and fractions: & \pkg{nicefrac}, \pkg{SIunits}, \pkg{siunitx}, \pkg{units}, \pkg{xfrac}.
+% Units and fractions: &
+%   \pkg{nicefrac}, \pkg{SIunits}, \pkg{siunitx},
+%   \pkg{units}, \pkg{unitsdef}, \pkg{xfrac}.
 %
 %   Tested to work as-is: \pkg{SIunits}. \\
 %
@@ -4162,7 +4322,8 @@
 %
 %   \pkg{asymptote}, \pkg{epsfig}, \pkg{epstopdf}, \pkg{figsize},
 %   \pkg{grffile}, \pkg{overpic},
-%   \pkg{psfrag}, \pkg{psfragx}, \pkg{pst-eps}, \pkg{pstool}, \pkg{pstricks}.
+%   \pkg{psfrag}, \pkg{psfragx}, \pkg{pst-eps}, \pkg{pstool}, \pkg{pstricks},
+%   \pkg{rviewport}.
 %
 %   Tested to work as-is:
 %   \pkg{eepic}, \pkg{tikz-3dplot}. \\
@@ -4208,13 +4369,6 @@
 %
 % \midrule
 %
-% Acronyms: & \pkg{acro}, \pkg{acronym}. \\
-%
-% Editorial: & \pkg{changebar}, \pkg{easy-todo}, \pkg{errata}, \pkg{fixme},
-%   \pkg{fixmetodonotes}, \pkg{todo}, \pkg{todonotes}. \\
-%
-% \midrule
-%
 % Direct formatting: & \cs{emph}, \cs{textsuperscript},
 % 	\cs{textbf}, etc are supported.
 % 	\cs{bfseries}, etc.\ are only supported in some cases.
@@ -4222,9 +4376,12 @@
 %   \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{thinsp}, \pkg{trimclip}, \pkg{ulem}, \pkg{underscore}, \pkg{uspace},
+%   \pkg{textfit}, \pkg{thinsp}, \pkg{trimclip},
+%   \pkg{ulem}, \pkg{underscore}, \pkg{uspace},
 %   \pkg{widows-and-orphans}, \pkg{xellipsis}. \\
 %
+% Acronyms: & \pkg{acro}, \pkg{acronym}. \\
+%
 % Ordinals: & \pkg{engord}, \pkg{fmtcount}, \pkg{nth}. \\
 %
 % Text ligatures: & Ligatures for symbols are supported.
@@ -4238,7 +4395,7 @@
 %
 % Rules: & \cs{rule} with width, height, raise, text color. \\
 %
-% HTML reserved characters: & \cs{\&}, \cs{textless}, and
+% \HTML\ reserved characters: & \cs{\&}, \cs{textless}, and
 % 	\cs{textgreater} are converted to \HTML\ entities. \\
 %
 % \midrule
@@ -4260,13 +4417,13 @@
 % \midrule
 %
 % Science and engineering: &
-%   \pkg{algorithm2e}, \pkg{algorithmicx}, \pkg{axodraw2}, \pkg{bytefield},
+%   \pkg{algorithm2e}, \pkg{algorithmicx}, \pkg{axodraw2}, \pkg{bitpattern}, \pkg{bytefield},
 %   \pkg{chemfig}, \pkg{chemformula}, \pkg{chemgreek}, \pkg{chemmacros}, \pkg{chemnum},
 %   \pkg{listings}, \pkg{mhchem}, \pkg{phfqit}, \pkg{register}.
 %
 %   Tested to work as-is:
 %       \pkg{blochsphere}, \pkg{bodegraph}, \pkg{bohr}, \pkg{circuitikz},
-%       \pkg{elements}, \pkg{fast-diagram},
+%       \pkg{elements}, \pkg{engtlc}, \pkg{fast-diagram},
 %       \pkg{hepnicenames}, \pkg{heppennames},
 %       \pkg{linop}, \pkg{pgfgantt}, \pkg{physics}, \pkg{simpler-wick}, \pkg{slashed},
 %       \pkg{structmech}, \pkg{tikzcodeblocks}.
@@ -4274,7 +4431,8 @@
 %
 % \midrule
 %
-% Liberal arts and humanities: & \pkg{forest}, \pkg{schemata}, \pkg{vowel}, \pkg{xpiano}.
+% Arts and humanities: & \pkg{forest}, \pkg{musicography}, \pkg{octave},
+%   \pkg{schemata}, \pkg{semantic-markup}, \pkg{vowel}, \pkg{xpiano}.
 %
 %   Tested to work as-is:
 %       \pkg{phonrule}, \pkg{piano}, \pkg{tikz-dependency}. \\
@@ -4281,6 +4439,14 @@
 %
 % \midrule
 %
+% Editorial: & \pkg{changebar},
+%   \pkg{easy-todo}, \pkg{errata}, \pkg{fixme},
+%   \pkg{fixmetodonotes},
+%   \pkg{pdfcomment}, \pkg{pdfmarginpar},
+%   \pkg{todo}, \pkg{todonotes}, \pkg{tram}, \pkg{xechangebar}. \\
+%
+% \midrule
+%
 % Accessibility: & \pkg{accsupp}, \pkg{axessibility}. \\
 %
 % \midrule
@@ -4318,7 +4484,7 @@
 % a good choice.  For new projects with a large number of documents, it may be worth
 % investigating the alternatives before decided which path to take.
 %
-% \subsection{Internet class}
+% \subsection{\pkg{internet} class}
 %
 % \changes{v0.21}{2017/02/15}{Docs: Added \pkg{internet} class.}
 %
@@ -4331,12 +4497,12 @@
 % 
 % 
 %
-% \subsection{TeX4ht}
+% \subsection{\brand{TeX4ht}}
 %
 % \url{http://tug.org/tex4ht/}\DescribeProgram{TeX4ht}\DescribeProgram{htlatex}
 %
 % \bigskip\noindent
-% This system uses native \LaTeX{} processing to produce a DVI file containing special commands,
+% This system uses native \LaTeX{} processing to produce a \DVI\ file containing special commands,
 % and then uses additional post-processing for the \HTML\ conversion by way of numerous configuration
 % files.
 % In some cases \pkg{lwarp} provides a better \HTML\ conversion, and it supports
@@ -4371,7 +4537,7 @@
 % \item [Glad\TeX:] \url{http://humenda.github.io/GladTeX/} \DescribeProgram{GladTeX}
 % \end{description}
 % 
-% \subsection{AsciiDoc and Asciidoctor}
+% \subsection{\brand{AsciiDoc} and \brand{Asciidoctor}}
 %
 % AsciiDoc is one of the most capable markup languages, providing enough features to produce
 % the typical technical-writing document with cross-references,
@@ -4381,7 +4547,7 @@
 % \item [AsciiDoc:] \url{http://asciidoc.org/} (The original project.)\DescribeProgram{AsciiDoctor}
 % \end{description}
 %
-% \subsubsection{Asciidoctor-LaTeX}
+% \subsubsection{\brand{Asciidoctor-\LaTeX}}
 % The Asciidoctor-LaTeX project is developing additional \LaTeX{}-related features.
 % \begin{description}
 % \item [Asciidoctor-LateX:] ~ \\
@@ -4390,7 +4556,7 @@
 % 	\DescribeProgram{Asciidoctor-LaTeX}
 % \end{description}
 %
-% \subsection{Pandoc}
+% \subsection{\brand{Pandoc}}
 % \DescribeProgram{Pandoc}
 % A markup system which also reads and writes \LaTeX{} and \HTML.
 % \begin{description}
@@ -4449,7 +4615,7 @@
 % For print output, \LaTeX{} configuration
 % files are usually used.  For \HTML\ output, a \CSS\ file will be available, but additional
 % configuration may require editing some form of control file with a different syntax, such as XML.
-% In the case of \pkg{lwarp}, CSS is used, and much \HTML\ output is adjusted
+% In the case of \pkg{lwarp}, \CSS\ is used, and much \HTML\ output is adjusted
 % through the usual \LaTeX\ optional macro parameters,
 % but further customization may require patching \LaTeX{} code.
 % 
@@ -4532,7 +4698,8 @@
 %
 % \end{description}
 %
-%	These might be provided by your operating-system package manager.
+%	These might be provided by your operating-system package manager,
+%   and MiK\TeX\ provides \pkg{miktex-poppler-bin-*} packages.
 %
 %	From \brand{Poppler}: \url{poppler.freedesktop.org}.
 %
@@ -4540,13 +4707,13 @@
 %		\url{https://brew.sh/}, install \prog{Homebrew}, then
 %		\userentry{brew install poppler}
 %
-%	For \brand{Windows}, see: \\
+%	For \brand{Windows}, see Mik\TeX\ \pkg{miktex-poppler-bin-*}, or: \\
 %		\url{https://sourceforge.net/projects/poppler-win32/} \quad and: \\
 %		\url{http://blog.alivate.com.au/poppler-windows/}
 %
 % \item[\prog{Perl}:] \
 %
-% This may be provided by your operating-system package manager, and is
+% This may be provided by your operating-system package manager, and may be
 % required for some of the \brand{Poppler} \PDF\ utilities.
 %
 % \url{strawberryperl.com} (recommended), \url{perl.org}
@@ -4583,16 +4750,21 @@
 %	try installing via \prog{tlmgr}:
 %	\userentry{tlmgr install lwarp}
 %
-% \item [MiK\TeX:] If using MiK\TeX:
+% \item [MiK\TeX:] \
 %   \begin{enumerate}
-%   \item  To install \pkg{lwarp} the first time,
+%   \item For newer versions of MiK\TeX, install or update \pkg{lwarp}
+%       using the \prog{MiKTeX Console} program.
+% \changes{v0.62}{2018/11/03}{Docs: \prog{MiKTeX Console}}
+%   \item For older versions of MiK\TeX,
+%       to install \pkg{lwarp} the first time,
 %       use the \prog{MikTeX Package Manager (Admin)}.
-%   \item To update \pkg{lwarp}, use \prog{MikTeX Update (Admin)}.
+%       To update \pkg{lwarp}, use \prog{MikTeX Update (Admin)}.
 %	\item Either way, also update the package \pkg{miktex-misc}, which will install and
 %       update the \prog{lwarpmk} executable.
 %   \end{enumerate}
 % \changes{v0.26}{2017/03/23}{Docs: Improved MiK\TeX\ install instructions.}
 % \changes{v0.45}{2017/11/30}{Docs: Improved MiK\TeX\ install instructions.}
+% \changes{v0.62}{2018/11/03}{Docs: Improved MiK\TeX\ install instructions.}
 %
 % \item [Operating-system package:] The operating-system package manager may
 %	already have \pkg{lwarp}, perhaps as part of a set of \TeX-related packages.
@@ -4608,7 +4780,7 @@
 %			\userentry{kpsewhich -var-value TEXMFLOCAL}
 %		\item[MiK\TeX:] \
 %
-%			In the ``Settings'' window, ``Roots'' tab, look for a local \TDS\ root.
+%			In the \UI{Settings} window, \UI{Roots} tab, look for a local \TDS\ root.
 %		\end{description}
 %		This should be something like:
 %		\begin{sourcedisplay}
@@ -4620,7 +4792,7 @@
 %		\userentry{texhash}
 %
 %		Or, for \brand{Windows} MiK\TeX, start the program called \prog{MiKTeX Settings (Admin)}
-%		and click on the button called \textsf{Refresh FNDB}.
+%		and click on the button called \UI{Refresh FNDB}.
 %	\end{enumerate}
 %
 % \item[CTAN \filenm{.dtx} and \filenm{.ins} files:] Another form of \TeX\ package
@@ -4658,7 +4830,7 @@
 %		\userentry{texhash}
 %
 %		Or, for \brand{Windows} MiK\TeX, start the program called \prog{MiKTeX Settings (Admin)}
-%		and click on the button called \textsf{Refresh FNDB}.
+%		and click on the button called \UI{Refresh FNDB}.
 %
 %	\item See \cref{sec:locallwarpmk} to generate your local copy of \prog{lwarpmk}.
 %	\item Once the local version of \filenm{lwarpmk.lua} is installed, it may be made
@@ -4692,8 +4864,8 @@
 % After the \pkg{lwarp} package is installed,
 % you may need to setup the \prog{lwarpmk} utility:
 % \begin{enumerate}
-% \item At a command line, try executing \prog{lwarpmk}.  If the \prog{lwarpmk} help message
-%	appears, then \prog{lwarpmk} is already set up.
+% \item At a command line, try executing \cmds{lwarpmk}.
+%   If the \prog{lwarpmk} help message appears, then \prog{lwarpmk} is already set up.
 %	If not, it is easiest to generate and use a local copy.
 %	See \cref{sec:locallwarpmk}.
 %
@@ -4735,7 +4907,7 @@
 %		\end{enumerate}
 %	\item [\brand{Windows} \TeX\ Live:] Create a new |lwarpmk.exe| file:
 %		\begin{enumerate}
-%		\item Locate the \TeX\ Live binaries as shown above for Unix.
+%		\item Locate the \TeX\ Live binaries as shown above for \brand{Unix}.
 %		\item In the binaries directory, make a \emph{copy} of |runscript.exe|
 %			and call it |lwarpmk.exe|
 %			This will call the copy of \filenm{lwarpmk.lua}
@@ -4743,7 +4915,7 @@
 %		\end{enumerate}
 %	\item [\brand{Windows} MiK\TeX:] Create a new |lwarpmk.bat| file:
 %		\begin{enumerate}
-%		\item Locate the binaries.  These will be in a directory such as:
+%		\item Locate the MiK\TeX\ binaries.  These will be in a directory such as:
 %		\begin{sourcedisplay}
 %			|C:\Program Files\MiKTeX 2.9\miktex\bin\x64|
 %		\end{sourcedisplay}
@@ -4830,7 +5002,7 @@
 %	\end{sourcedisplay}
 %
 %
-% \item [To install the \brand{Poppler} utilities to a Unix/Linux system:] \
+% \item [To install the \brand{Poppler} utilities to a \brand{Unix}/\brand{Linux} system:] \
 %	\DescribeProgram[requirement]{pdftotext}\gindex{Poppler=\brand{Poppler}}
 %	\DescribeProgram[requirement]{pdfseparate}
 %	\DescribeProgram[requirement]{pdftocairo}
@@ -4850,16 +5022,19 @@
 %
 % \item [To install the \brand{Poppler} utilities to a \brand{Windows} machine:] \
 %
+% If using Mik\TeX, install a \pkg{miktex-poppler-bin-*} package.
+% \changes{v0.62}{2018/11/03}{Docs: \pkg{miktex-poppler-bin-*}}
+% Otherwise:
 % \begin{enumerate}
 % \item See \cref{tab:utility} on \cpageref{tab:utility}.
 % \item Download and extract the \brand{Poppler} utilities \prog{pdftotext}, \prog{pdfseparate},
 % and \prog{pdfseparate} to a directory, such as |Poppler|.
-% \item In the Start window, type "Path" to search for results
+% \item In the \UI{Start} window, type "Path" to search for results
 % related to Path.  Or, open the control panel and search for "Path".
-% \item Choose "Edit the system environment variables" in the control panel.
-% \item Choose the "Environment Variables" button.
-% \item Choose the "Path" variable, then the "Edit" button.
-% \item Choose the "New" button to make an additional entry.
+% \item Choose \UI{Edit the system environment variables} in the control panel.
+% \item Choose the \UI{Environment Variables} button.
+% \item Choose the \UI{Path} variable, then the \UI{Edit} button.
+% \item Choose the \UI{New} button to make an additional entry.
 % \item Enter the |bin| directory of the \brand{Poppler} utilities, such as:
 %	\begin{sourcedisplay}
 %	|C:\Users\<myname>\Desktop\Poppler\poppler-0.5_x86\poppler-0.5\bin|
@@ -4866,23 +5041,23 @@
 %	\end{sourcedisplay}
 %
 %	Be sure to include |\bin|.
-% \item Click "Ok" when done.
+% \item Click \UI{Ok} when done.
 % \end{enumerate}
 %
 % \needspace{2\baselineskip}
-% \item [To install \prog{Perl} to a \brand{Windows} machine:] \
+% \item [To install \brand{Perl} to a \brand{Windows} machine:] \
 % \DescribeProgram[requirement]{perl}\gindex{Perl=\brand{Perl}}
 % \begin{enumerate}
-% \item Download and install a version of \prog{Perl}, such as \brand{Straweberry Perl},
+% \item Download and install a version of \brand{Perl}, such as \brand{Straweberry Perl},
 %	to a directory without a space in its name, such as |C:\Strawberry|.
-% \item Edit the Path as seen above for the \brand{Poppler} utilities.
-% \item Enter the |bin| directory of the \prog{Perl} utility, such as:
+% \item Edit the \UI{Path} as seen above for the \brand{Poppler} utilities.
+% \item Enter the |bin| directory of the \prog{perl} utility, such as:
 %	\begin{sourcedisplay}
 %	|C:\Strawberry\perl\bin|
 %	\end{sourcedisplay}
 %
 %	Be sure to include |\bin|.
-% \item Click "Ok" when done.
+% \item Click \UI{Ok} when done.
 % \end{enumerate}
 %
 % \end{description}
@@ -4934,9 +5109,9 @@
 %	renamed as |tutorial.tex|.
 %	\end{description}
 %
-%	\emph{When using \brand{Windows}, use an editor other than Notepad,
+%	\emph{When using \brand{Windows}, use an editor other than \brand{Notepad},
 %	\watchout[Bad formatting!]
-%	since Notepad does not accept the end-of-line from a Unix text file.}
+%	since \brand{Notepad} does not accept the end-of-line from a \brand{Unix} text file.}
 %
 % \item Compile the project: \userentry{pdflatex tutorial.tex}
 %				\quad (several times)
@@ -5047,7 +5222,7 @@
 % \begin{description}
 % \item [\filenm{lwarpmk.lua}:] A local copy of the \prog{lwarpmk} utility.
 %
-%	On Unix-related operating systems this file must be made executable:
+%	On \brand{Unix}-related operating systems this file must be made executable:
 %	\begin{sourcedisplay}
 %	|chmod u+x lwarpmk.lua|
 %	\end{sourcedisplay}
@@ -5113,7 +5288,7 @@
 %
 % \clearpage
 %
-% \subsection{Compiling the HTML version with \prog{lwarpmk}}
+% \subsection{Compiling the \HTML\ version with \prog{lwarpmk}}
 %
 % |lwarpmk html| is used to recompile an \HTML\ version of the document.
 %
@@ -5178,7 +5353,7 @@
 %
 % \clearpage
 %
-% \subsection{Generating the SVG images}
+% \subsection{Generating the \SVG\ images}
 % \label{sec:tutorialsvgmath}
 %
 % By default \pkg{lwarp} represents math as \SVG\ images with
@@ -5236,7 +5411,7 @@
 %
 %
 % \clearpage
-% \subsection{Changing the CSS style}
+% \subsection{Changing the \CSS\ style}
 %
 % For a formal \CSS\ style, add to the preamble:
 % \begin{sourcedisplay}
@@ -5252,12 +5427,12 @@
 % \cs{CSSFilename}\{lwarp\_sagebrush.css\}
 % \end{sourcedisplay}
 %
-% See \cref{sec:csscustomization} for more information about modifying the CSS styling
+% See \cref{sec:csscustomization} for more information about modifying the \CSS\ styling
 % of the document.
 %
 %
 %
-% \subsection{Customizing the HTML output}
+% \subsection{Customizing the \HTML\ output}
 %
 % A number of settings may be made to control the \HTML\ output, including
 % filename generation, automatic compilation, math output, document splitting,
@@ -5308,7 +5483,7 @@
 %
 % \clearpage
 %
-% \subsection{Using XeLaTeX or LuaLaTeX}
+% \subsection{Using \XeLaTeX\ or \LuaLaTeX}
 %
 % \XeLaTeX\ or \LuaLaTeX\ may be used instead of \LaTeX.
 %
@@ -5339,7 +5514,7 @@
 % \end{enumerate}
 %
 %
-% \subsection{Using DVI LaTeX}
+% \subsection{Using \DVI\ \LaTeX}
 %
 % \gindex{DVI \LaTeX}
 %
@@ -5411,13 +5586,13 @@
 %   \userentry{lwarpmk cleanlimages}
 %
 %
-% \subsection{Converting PDF or EPS images to SVG}
+% \subsection{Converting \PDF\ or \EPS\ images to \SVG}
 % \changes{v0.56}{2018/04/29}{Docs: \cmds{lwarpmk pdftosvg}.}
 % \changes{v0.59}{2018/09/05}{Docs: \cmds{lwarpmk epstopdf}.}
 %
 % \HTML\ cannot display \PDF\ or \EPS\ images, so any external \PDF\ graphics images must
 % be converted to \SVG\ format.
-% \gindex{SVG>converting from PDF or EPS}
+% \gindex{SVG>converting from \PDF\ or \EPS}
 % \gindex{PDF image>converting}
 % \gindex{EPS image>converting}
 % \gindex{image>PDF or EPS>converting}
@@ -5428,7 +5603,7 @@
 % Be sure to always provide \SVG\ files for \HTML\ output.
 %
 %
-% \subsection{Creating HTML from an incomplete compile}
+% \subsection{Creating \HTML\ from an incomplete compile}
 % \changes{v0.53}{2018/04/01}{Docs: \cmds{lwarpmk pdftohtml}.}
 %
 % During testing it may be useful to finish the \HTML\ conversion even when
@@ -5548,12 +5723,12 @@
 % the document is recompiled with \prog{lwarpmk}.
 %
 %
-% \subsection{Font and UTF-8 support}
+% \subsection{Font and \UTF-8 support}
 % \label{sec:fonts}
 % \trouble{font>UTF-8}
 % \trouble{text>corrupted}
 % \trouble{font>selection}
-% \trouble{Unicode}
+% \trouble{Unicode>fonts}
 % \gindex{font>selection}
 % \gindex{font>type 3 bitmapped}
 % \gindex{font>type 1 vector}
@@ -5612,7 +5787,7 @@
 %
 % 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{lwarp} automatically loads \pkg{fontenc} 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|.
@@ -5706,7 +5881,11 @@
 % \item \ldots{} the rest of the preamble and the main document.
 % \end{enumerate}
 %
+% In some cases, an external program may require a \UTF-8 ``locale''.
+% \watchout[UTF-8 locale]
+% See \cref{sec:utf8locale}.
 %
+%
 % \subsubsection{Indexes, glossaries, and encoding}
 % \gindex{UTF-8>index}
 % \gindex{index>UTF-8}
@@ -5798,7 +5977,10 @@
 % \item[\optn{mathsvg}, \optn{mathjax}:]
 % \DescribeOption{mathsvg}
 % \DescribeOption{mathjax}
-% For math display, select \optn{mathsvg} (default), or \optn{mathjax}.
+% ^^A \DescribeOption{mathKaTeX}
+% ^^A For math display, select \optn{mathsvg} (default), \optn{mathjax},
+% ^^A or \optn{mathKaTeX}.
+% For math display, select \optn{mathsvg} (default) or \optn{mathjax}.
 % For more information about the math options, see \cref{sec:limitsmath}.
 %
 % 
@@ -6062,16 +6244,16 @@
 %
 % \clearpage
 %
-% \subsection{Customizing the HTML output}
+% \subsection{Customizing the \HTML\ output}
 % \label{sec:htmlsettings}
 % \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.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}
+% \caption{\HTML\ settings}
 % \label{tab:htmlsettings}
 % \begin{tabular}{>{\ttfamily}lp{3in}}
 % \toprule
@@ -6081,17 +6263,26 @@
 % CombineHigherDepths & Combine higher section levels. \\
 % FileSectionNames & Use section names for file names, else use numbers. \\
 % FootnoteDepth & Sectioning depth of footnotes. \\
+% \midrule
 % \cs{abstractname} & The name of the abstract. \\
 % \cs{mathimagename} & The \SVG\ math image \env{lateximage} \attribute{alt} tag. \\
 % \cs{packagediagramname} & The suffix for a package's \env{lateximage} \attribute{alt} tags. \\
+% \midrule
 % \cs{CSSFilename} & The \CSS\ for the following files. \\
-% \cs{HTMLLanguage} & The |html lang| tag. \\
-% \cs{HTMLTitle} & The \HTML\ |title| meta tag, overriding \cs{title}. \\
-% \cs{HTMLAuthor} & The \HTML\ |author| meta tag, overriding \cs{author}. \\
-% \cs{HTMLDescription} & The \HTML\ |description| meta tag. \\
+% \midrule
+% \cs{HTMLLanguage} & The \HTML\ \attribute{lang} tag. \\
+% \cs{HTMLTitle} & The homepage's \element{title}, overriding \cs{title}. \\
+% \cs{HTMLTitleBeforeSection} & Set subpage \element{title}s to \newline
+%   \fqquad \attribute{\cs{HTMLTitle} - sectionname} \\
+% \cs{HTMLTitleAfterSection} & Set subpage \element{title}s to \newline
+%   \fqquad \attribute{sectioname - \cs{HTMLTitle}}\\
+% \cs{HTMLAuthor} & The \HTML\ \attribute{author} meta tag, overriding \cs{author}. \\
+% \cs{HTMLDescription} & The \HTML\ \attribute{description} meta tag. \\
+% \midrule
 % \cs{HTMLFirstPageTop} & Heading for the home page. \\
 % \cs{HTMLPageTop} & Heading for the other pages. \\
 % \cs{HTMLPageBottom} & Footing for all pages. \\
+% \midrule
 % HTMLDebugComments & Boolean to generate \HTML\ comments. \\
 % \bottomrule
 % \end{tabular}
@@ -6121,7 +6312,7 @@
 %
 % \ItemDescribeOption{HomeHTMLFilename} \DescribeDefault{\cs{BaseJobname}}
 %   Filename of the homepage, without
-%   the ``|.html|'' suffix.
+%   the ``\filenm{.html}'' suffix.
 %   Defaults to the \cs{BaseJobname}.  A common setting is:
 %   \begin{sourcedisplay}
 %   |HomeHTMLFilename=index|
@@ -6154,6 +6345,9 @@
 % \ItemDescribeOption{mathjax} \DescribeDefault{false}
 %   Selects \brand{MathJax} for math output.
 %
+% ^^A \ItemDescribeOption{mathKaTeX} \DescribeDefault{false}
+% ^^A  Selects Ka\TeX\ for math output.
+%
 % \ItemDescribeOption{makeindex} \DescribeDefault{makeindex}
 %   Selects \prog{makeindex} for index generation by \prog{lwarpmk}.
 %
@@ -6179,7 +6373,7 @@
 %   This side\TOC\ is only shown if the web page is wide enough.
 %   When using a narrow web browser window,
 %   ``responsive web design'' is used to show the side\TOC\ at the top of the
-%   page and a link back to ``Home'' at the bottom.
+%   page and a link back to \UI{Home} at the bottom.
 %
 %   \label{sec:filedepth}
 %   It is recommended to set:
@@ -6265,6 +6459,12 @@
 %   so the rest of the filename must be sufficiently unique to avoid name collisions.
 %   \gindex{file>unique names}
 %
+%   If \pkg{ctex} or its related classes are used,
+%   \trouble[\pkg{ctex}]{ctex=\pkg{ctex}>FileSectionNames=\bool{FileSectionNames}}
+%   \trouble{HTML>FileSectionNames=\bool{FileSectionNames}}
+%   \trouble{filename>ctex=\pkg{ctex}}
+%   \bool{FileSectionNames} is forced |false| to avoid spaces in the section names.
+%
 % \ItemDescribeCounter{FootnoteDepth} \DescribeDefault{3}
 %   Determines where to place pending footnotes.
 %   |3| places footnotes before each break down to the \cs{subsubsection} level.
@@ -6302,14 +6502,34 @@
 %   individual pagess of the website.
 %
 % \ItemDescribeMacro{\HTMLLanguage}  \marg{langauge} \DescribeDefault{en-US} \quad
-%   The \HTML\ file's |html lang| meta tag.
-%   Defaults to |en-US|.
+%   The \HTML\ file's \HTML\ \attribute{lang} meta tag.
+%   Defaults to \attribute{en-US}.
 %
 % \ItemDescribeMacro{\HTMLTitle}  \marg{title} \DescribeDefault{\cs{thetitle}} \quad
+% \gindex{HTML>meta tag>title}
 %   Overrides \cs{title} for the \HTML\ header's meta title.
 %   Defaults to \cs{thetitle}, which is set by \cs{title}, or empty otherwise.
 %   Unlike the author, \cs{thetitle} is set by \cs{title} even if not using the \pkg{titling} package.
 %
+% \ItemDescribeMacro{\HTMLTitleBeforeSection} \DescribeDefault{\cs{HTMLTitleBeforeSection}}
+%   Sets subpage \element{title} tags to show the website title followed
+%   by the section name.
+%
+% \ItemDescribeMacro{\HTMLTitleAfterSection}
+%   Sets subpage \element{title} tags to show the section name
+%   followed by the website title.
+%
+% To customize subpage \element{title}s, redefine \cs{theHTMLTitleSection},
+% \margintag{custom \element{title}}
+% which defaults to:
+% \gindex{HTML>meta tag>title}
+% \begin{sourcedisplay}
+% \cs{def}\cs{theHTMLTitleSection}\{\% \\
+%    \fquad\cs{theHTMLTitle}\cs{theHTMLTitleSeparator}\cs{theHTMLSection}\% \\
+% \}
+% \end{sourcedisplay}
+%
+%
 % \ItemDescribeMacro{\HTMLAuthor}  \marg{author} \DescribeDefault{\cs{theauthor}} \quad
 %   The \HTML\ header's meta author.
 %   Defaults to \cs{theauthor},
@@ -6405,7 +6625,7 @@
 % \end{description}
 %
 %
-% \subsubsection{Example HTML file naming}
+% \subsubsection{Example \HTML\ file naming}
 % \label{sec:filenameexamples}
 % \gindex{HTML>filename generation}
 % \changes{v0.20}{2016/09/11}{Docs: Examples for generating \HTML\ file names.}
@@ -6450,7 +6670,7 @@
 %   \end{description}
 %
 %
-% \subsection{Customizing the CSS}
+% \subsection{Customizing the \CSS}
 % \label{sec:csscustomization}
 %
 % \DescribeMacro{\CSSFilename} \DescribeDefault{lwarp.css}
@@ -6468,7 +6688,7 @@
 %       ...
 %   \end{Verbatim}
 % \gindex{CSS>file selection}
-% \gindex{CSS>per HTML page}
+% \gindex{CSS>per \HTML\ page}
 % \gindex{settings>CSS selection}
 %
 % The styles provided by \pkg{lwarp} include:
@@ -6523,13 +6743,13 @@
 % \osportabilityusage
 %
 % 
-% \subsection{Selecting actions for print or HTML output}
+% \subsection{Selecting actions for print or \HTML\ output}
 % \label{sec:selectingoutput}
 % \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
-% to either traditional \LaTeX{} print-formatted PDF generation,
+% to either traditional \LaTeX{} print-formatted \PDF\ generation,
 % or to \HTML\ generation.
 %
 % For most of built-in \LaTeX\ and many additional packages
@@ -6547,7 +6767,7 @@
 % is surrounded by a |warpHTML| environment:
 % \begin{Verbatim}[gobble=2,frame=lines,obeytabs,tabsize=4]
 % \begin{warpHTML}
-%  ... something to be done only during HTML generation
+%  ... something to be done only during \HTML\ generation
 % \end{warpHTML}
 % \end{Verbatim}
 % Do \emph{not} place anything else on the same line as |\end{warpHTML}|.
@@ -6559,7 +6779,7 @@
 % is surrounded by a |warpprint| environment:
 % \begin{Verbatim}[gobble=2,frame=lines,obeytabs,tabsize=4]
 % \begin{warpprint}
-%  ... something to be done only during traditional PDF generation
+%  ... something to be done only during traditional \PDF\ generation
 % \end{warpprint}
 % \end{Verbatim}
 % As above, do not place anything else on the line with |\end{warpprint}|.
@@ -6570,7 +6790,7 @@
 % may be surrounded by a |warpall| environment.  Doing so is optional.
 % \begin{Verbatim}[gobble=2,frame=lines,obeytabs,tabsize=4]
 % \begin{warpall}
-%  ... something to be done during print PDF or HTML output
+%  ... something to be done during print \PDF\ or \HTML\ output
 % \end{warpall}
 % \end{Verbatim}
 % As above, do not place anything else on the line with |\end{warpall}|.
@@ -6682,7 +6902,7 @@
 % as \HTML\ notes at the bottom of the title page.
 %
 %
-% \subsection{HTML page meta descriptions}
+% \subsection{\HTML\ page meta descriptions}
 %
 % \label{sec:htmldescription}
 % \gindex{HTML>meta tag>description}
@@ -6715,7 +6935,7 @@
 % \end{sourcedisplay}
 %
 %
-% \subsection{HTML page meta title}
+% \subsection{\HTML\ homepage meta title}
 %
 % \gindex{HTML>meta tag>title}
 % \gindex{title>HTML meta tag}
@@ -6725,9 +6945,12 @@
 %   Defaults to |\HTMLtitle{\thetitle}|.
 %   May be set empty to cancel the meta title tag.
 %
+% See \cref{sec:htmlsettings} for \cs{HTMLTitleBeforeSection} and
+% \cs{HTMLTitleAfterSection}, used to set the title for \HTML\ subpages.
 %
-% \subsection{HTML page meta author}
 %
+% \subsection{\HTML\ page meta author}
+%
 % \gindex{HTML>meta tag>author}
 % \gindex{author>HTML meta tag}
 % \gindex{meta tag, HTML>author}
@@ -6798,7 +7021,7 @@
 % \gindex{HTML>verbatim, in}
 % \gindex{verbatim>code and \HTML\ tags}
 %
-% \changes{v0.61}{2018/09/25}{Docs: HTML entities.}
+% \changes{v0.61}{2018/09/25}{Docs: \HTML\ entities.}
 %
 % \limitstext
 %
@@ -6836,7 +7059,7 @@
 %   \trouble{list>empty item}
 %
 %
-% \subsubsection{Filenames and URLs in lists or footnotes}
+% \subsubsection{Filenames and \acro{URL}s in lists or footnotes}
 %
 %	\gindex{underscore>filename}\gindex{file>underscore in name}
 %   \gindex{list>filename}
@@ -6897,7 +7120,7 @@
 %	\gindex{framed objects}
 %   \trouble{frames}
 %	\begin{description}[style=unboxed]
-%	\item [To remove the frame in HTML output:] Place the \cs{fbox} command and
+%	\item [To remove the frame in \HTML\ output:] Place the \cs{fbox} command and
 %		its closing brace inside \env{warpprint} environments.
 %		This will nullify the frame for \HTML\ output.
 %	\item [To frame the contents inline with some formatting losses in HTML:]
@@ -6932,6 +7155,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 \cref{sec:xcolorpatches} for a new environment \env{fcolorminipage}.
 %		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:}
@@ -6955,7 +7179,7 @@
 %		 and |\warpprintonly{\hrule}| command:
 % \begin{Verbatim}[gobble=2,frame=lines]
 % \begin{BlockClass}{frameminipage}% ignored in print output
-%   % use CSS to format div class ``framedminipage''
+%   % use \CSS\ to format div class ``framedminipage''
 % \warpprintonly{\hrule} % only appears in print output
 % Contents
 % \warpprintonly{\hrule} % only appears in print output
@@ -7049,7 +7273,7 @@
 % along with \pkg{authblk}:
 % \begin{sourcedisplay}
 % \%\cs{documentclass}\{customclass\}~\% for print document \\
-% \cs{documentclass}\{article\}~\% for HTML document \\
+% \cs{documentclass}\{article\}~\% for \HTML\ document \\
 % \\
 % \cs{usepackage}\{lwarp\} \\
 % \cs{begin}\{warpHTML\} \\
@@ -7141,7 +7365,7 @@
 % \limitsendnotes
 %
 %
-% \subsubsection{BibTeX}
+% \subsubsection{\brand{BibTeX}}
 % \label{sec:limitsbibtex}
 % \DescribeMacro{\etalchar} Displays a superscript ``+'' to indicate ``and others''.
 % \changes{v0.54}{2018/03/09}{Docs: BibTeX.}
@@ -7227,7 +7451,7 @@
 %     \end{sourcedisplay}
 %     The usual \filenm{.idx} and \filenm{.ind} files will be used,
 %     along with the new \filenm{lwarp.ist} style file.
-%     When creating the \HTML\ index, ``\texttt{\_html}'' is automatically appended
+%     When creating the \HTML\ index, ``\filenm{\_html}'' is automatically appended
 %     to each of the names.
 %
 %     \prog{lwarpmk} will use \prog{latexmk} if specified, in which case
@@ -7291,7 +7515,7 @@
 % \end{sourcedisplay}
 % \emph{For \brand{Windows}, replace the two ``;'' characters with ``\&''.}\watchout[\brand{Windows}]
 %
-% When creating the \HTML\ index, ``\texttt{\_html}'' is automatically appended
+% When creating the \HTML\ index, ``\filenm{\_html}'' is automatically appended
 % to the index filenames.
 %
 % Use \userentry{lwarpmk printindex} \userentry{lwarpmk htmlindex}
@@ -7332,7 +7556,7 @@
 %     \cs{makeindex} \\
 %     \cs{newindex}[Second Index]\{secondname\} \\
 %     \end{sourcedisplay}
-%     When creating the \HTML\ index, ``\texttt{\_html}'' is automatically appended
+%     When creating the \HTML\ index, ``\filenm{\_html}'' is automatically appended
 %     to each of the names.
 %
 %     Use \userentry{lwarpmk printindex} \userentry{lwarpmk htmlindex}
@@ -7357,7 +7581,7 @@
 %     \cs{makeindex} \\
 %     \cs{newindex}[Second Index]\{secondname\} \\
 %     \end{sourcedisplay}
-%     When creating the \HTML\ index, ``\texttt{\_html}'' is automatically appended
+%     When creating the \HTML\ index, ``\filenm{\_html}'' is automatically appended
 %     to each of the names.
 %
 %     Use \userentry{lwarpmk printindex} \userentry{lwarpmk htmlindex}
@@ -7851,15 +8075,6 @@
 %
 % \limitsmathdisplay
 %
-% \subsubsection{\pkg{chemformula} package}
-% \limitschemformula
-% \trouble{array>chemformula=\pkg{chemformula}}
-% \trouble{math>chemformula=\pkg{chemformula}}
-%
-% \subsubsection{\pkg{mhchem} package}
-%
-% See \cref{sec:mhchem}.
-%
 % \subsubsection{\pkg{ntheorem} package}
 %
 % \DescribePackage{ntheorem}
@@ -7952,6 +8167,14 @@
 % \limitspstool
 %
 %
+% \needspace{15\baselineskip}
+% \subsubsection{\pkg{asymptote} package}
+% \changes{v0.62}{2018/10/16}{Docs: \pkg{asymptote}.}
+%
+% \DescribePackage{asymptote}
+% \limitsasymptote
+%
+%
 % \subsubsection{\pkg{overpic} package}
 %
 % \DescribePackage{overpic}
@@ -8028,13 +8251,13 @@
 % \limitskeyfloat
 %
 %
-% \subsection{Koma-Script}
+% \subsection{\brand{Koma-Script} classes}
 %
 % \DescribeClass{komascript}
 % \limitskomascript
 %
 %
-% \subsection{Memoir}
+% \subsection{\brand{Memoir} class}
 % \label{sec:limitsmemoir}
 %
 % \DescribeClass{memoir}
@@ -8087,6 +8310,23 @@
 % \limitsfixme
 %
 %
+% \subsubsection{\pkg{chemfig} package}
+%
+% \limitschemfig
+% \trouble{chemfig=\pkg{chemfig}}
+%
+%
+% \subsubsection{\pkg{chemformula} package}
+% \limitschemformula
+% \trouble{array>chemformula=\pkg{chemformula}}
+% \trouble{math>chemformula=\pkg{chemformula}}
+%
+%
+% \subsubsection{\pkg{mhchem} package}
+%
+% See \cref{sec:mhchem}.
+%
+%
 % \subsubsection{xparse}
 %
 % \changes{v0.45}{2017/12/09}{Docs: \pkg{xparse} warnings.}
@@ -8296,6 +8536,43 @@
 % and convert \SVG\ math with \cmds{lwarpmk limages}.
 %
 %
+% \subsection{\acro{UTF}-8 locale}
+% \label{sec:utf8locale}
+% \gindex{locale}
+% \gindex{UTF-8>locale}
+%
+% \changes{v0.62}{2018/10/20}{Docs: UTF-8 locale.}
+%
+% \prog{lwarpmk} uses the \prog{texlua} program, which sets the ``locale'' to ``|C|'',
+% \trouble[UTF-8 locale]{UTF-8>locale}
+% \trouble{Unicode>UTF-8 locale}
+% \trouble{locale}
+% including for external operating-system calls such as when executing \cmds{lwarpmk html}.
+% In some cases, an external program called from the user's document
+% may require the use of a \UTF-8 ``locale''.
+% For \brand{Unix}-related operating systems, it may be required to use \pkg{lwarp}'s
+% custom compilation options to add a locale change:
+% \begin{sourcedisplay}
+% \cs{usepackage}\{lwarp\}[\\
+% \fquad PrintLatexCmd=\{\\
+%   \fqquad \textred{env LC\_CTYPE=en\_US.UTF-8} \\
+%       \fqqquad xelatex --shell-escape project.tex \\
+% \fquad \} \\
+% \fquad HTMLLatexCmd=\{\\
+%   \fqquad \textred{env LC\_CTYPE=en\_US.UTF-8} \\
+%       \fqqquad xelatex --shell-escape project\textgreen{\_html}.tex \\
+% \fquad \} \\
+% ] \\
+% \end{sourcedisplay}
+%
+% \DescribePackage{ditaa}
+% The only example seen so far where this is required is the \pkg{ditaa} package,
+% \trouble{ditaa=\pkg{ditaa}}
+% where the locale change allows the use of UTF-8 with Xe\LaTeX\ and \pkg{ditaa}.
+% To use Lua\LaTeX\ instead, the locale change would have to be made inside the
+% \pkg{ditaa} package where its calls the \prog{ditaa} program.
+%
+%
 % \clearpage
 %
 % \section{EPUB conversion}
@@ -8357,7 +8634,7 @@
 % do a breadth-first search of the files.
 % For \prog{Calibre}, this option is found in
 % \begin{UIdisplay}
-%	\textsf{Preferences $\to$ Plugins $\to$ File type plugins $\to$ HTML to Zip}
+%	\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|\trouble[encoding]{EPUB>encoding},
@@ -8380,7 +8657,7 @@
 % Select the ``magic wand'' to the right of this entry box, and set
 % the first entry
 % \begin{UIdisplay}
-%	Match HTML tags with tag name:
+%	Match \HTML\ tags with tag name:
 % \end{UIdisplay}
 % to ``h4''.  (Or ``h3'' for document classes with \cs{chapter}s.)
 % The \textsf{Detect chapters at} field should then show
@@ -8507,7 +8784,7 @@
 %       \item[\texttt{WPMarkMath}:] Prints \LaTeX\ math instead of using images.
 %       \item[\texttt{WPTitleHeading}:] Adjusts title and section headings.
 %       \end{description}
-%       Several of these may be used to add markers to the HTML text
+%       Several of these may be used to add markers to the \HTML\ text
 %       which help determine where to adjust the word processor document after
 %       import.
 
@@ -8650,11 +8927,11 @@
 % \begin{table}
 % \centering
 % \begin{threeparttable}
-% \caption{Section HTML headings for word-processor conversion}
+% \caption{Section \HTML\ headings for word-processor conversion}
 % \label{tab:WPsectionheadings}
 % \begin{tabular}{lcccc}
 % \toprule
-% ~ & \multicolumn{4}{c}{HTML headings\tnote{\textasteriskcentered}} \\
+% ~ & \multicolumn{4}{c}{\HTML\ headings\tnote{\textasteriskcentered}} \\
 % \cmidrule{2-5}
 % ~ & \multicolumn{2}{c}{With \cs{chapter}} & \multicolumn{2}{c}{Without \cs{chapter}} \\
 % \cmidrule(r){2-3} \cmidrule(l){4-5}
@@ -8741,7 +9018,7 @@
 % \item Overline text decoration, used by \pkg{romanbar}.
 % \end{itemize}
 %
-% Libreoffice also has limitations with frames and backgrounds:
+% \brand{LibreOffice} also has limitations with frames and backgrounds:
 % \begin{itemize}
 % \item Multiple lines in an object are framed individually instead of as a whole.
 % \item Nested frames are not handled correctly.
@@ -8778,7 +9055,7 @@
 % See \cref{sec:picture} for an example of the |picture| environment.
 %
 % To create a custom \HTML\ block or inline \CSS\ class,
-% \margintag{CSS classes}
+% \margintag{\CSS\ classes}
 % see \cref{sec:highlevelclasses}.
 %
 % To create print and \HTML\ versions of the same macro or environment,
@@ -8801,7 +9078,7 @@
 % \subsection{Creating a development system}
 %
 % The following creates a local development system for \pkg{lwarp} on a TeXLive system
-% in a Unix-like environment.
+% in a \brand{Unix}-like environment.
 % Doing so allows anything requesting \pkg{lwarp} to use the development version
 % instead of whichever version is installed in TeXLive.
 %
@@ -8910,15 +9187,12 @@
 % will not need to be emulated for \HTML\ output.  Only the ``user-facing''
 % macros need to be nullified or emulated.
 %
-% \needspace{5\baselineskip}
-% Each |lwarp-| package should first call either
+% Each |lwarp-*| package should first call either of:
 % \begin{sourcedisplay}
-%   \cs{LWR at ProvidesPackageDrop}
+%   \cs{LWR at ProvidesPackage\textblue{Drop}} \\
+%   \fquad \textrm{-or-} \\
+%   \cs{LWR at ProvidesPackage\textblue{Pass}}
 % \end{sourcedisplay}
-% or
-% \begin{sourcedisplay}
-%   \cs{LWR at ProvidesPackagePass}
-% \end{sourcedisplay}
 % If ``|Drop|''ped, the original print-version
 % package is ignored, and only the |lwarp-| version is used.
 % Use this where the original print version is useless for \HTML.
@@ -9005,7 +9279,7 @@
 % \DescribeFile{lwarpmk.lua}
 % In most installations, \filenm{lwarpmk.lua} is an executable file located somewhere
 % \gindex{lwarpmk=\prog{lwarpmk}>customizing}
-% the operating system knows about, and it is called by typing ``|lwarpmk|'' into
+% the operating system knows about, and it is called by typing \cmds{lwarpmk} into
 % a terminal.
 %
 % A project-local copy of \filenm{lwarpmk.lua} may be generated, modified, and then used to
@@ -9055,7 +9329,7 @@
 %       the characters |&|, |<|, and |>|.
 %	\end{itemize}
 %
-% \item [Undefined HTML settings:] \
+% \item [Undefined \HTML\ settings:] \
 %   \trouble{HTML>settings>undefined}
 %	\begin{itemize}
 %	\item See the warning regarding the placement of the \HTML\ settings
@@ -9189,7 +9463,7 @@
 %
 % \item [Misnumbered footnotes from section headings:] See \cref{sec:limitsfootnotes}.
 %
-% \item [Missing HTML files:] \
+% \item [Missing \HTML\ files:] \
 %   \begin{itemize}
 %	\item See the warning regarding changes to the \HTML\ settings
 %		at \cref{sec:htmlsettings}.
@@ -9321,6 +9595,29 @@
 %	\end{itemize}
 % \end{description}
 %
+%
+%
+% \clearpage
+% \section{Trademarks}
+%
+% \changes{v0.14}{2016/03/29}{Docs: Trademarks section.}
+%
+% \begin{itemize}
+% \item \TeX\ is a trademark of American Mathematical Society.
+% \item \brand{Adobe}®  and \brand{Adobe} \prog{Framemaker}® are either registered trademarks or
+%   trademarks of \brand{Adobe Systems Incorporated} in the United States and/or other countries.
+% \item \brand{Linux}® is the registered trademark of Linus Torvalds in the U.S.\ and other countries.
+% \item \brand{Mac\,OS}® is a trademark of \brand{Apple Inc.}
+% \item \brand{MadCap Flare}™ is the property of \brand{MadCap Software, Inc.}
+% \item \brand{MathJax} is copyright 2009 and later.
+%   The \brand{MathJax Consortium} is a joint venture of the \brand{American Mathematical Society} (AMS)
+%   and the \brand{Society for Industrial and Applied Mathematics} (SIAM)
+%   to advance mathematical and scientific content on the web.
+% \item \brand{Microsoft}®, \brand{Encarta}, \brand{MSN}, and \brand{Windows}® are either registered trademarks or
+%   trademarks of \brand{Microsoft Corporation} in the United States and/or other countries.
+% \item \brand{UNIX}® is a registered trademark of \brand{The Open Group}.
+% \end{itemize}
+%
 % 
 %
 % \changes{v0.61}{2018/09/27}{Docs: Multiple indexes.}
@@ -9338,6 +9635,7 @@
 % ^^A and meta index entry.
 %   \GlossaryPrologue{
 %       \part{Change History}
+%       \section{Chg Hist}
 %       \label{sec:changehistory}
 %       \sindex[meta]{Change History}
 %       \markboth{{Change History}}{{Change History}}
@@ -9353,7 +9651,7 @@
 % ^^A The instructions for the Index of Objects:
 %   \IndexPrologue{
 %       \clearpage
-%       \part{\indexname}
+%       \expandafter\part\expandafter{\indexname}
 %       \label{sec:index\indexshortcut}
 %       \sindex[meta]{\indexname}
 %         \markboth{Index of Objects}{Index of Objects}%
@@ -9385,7 +9683,7 @@
 % ^^A The instructions for the General Index:
 %   \IndexPrologue{
 %       \clearpage
-%       \part{\indexname}
+%       \expandafter\part\expandafter{\indexname}
 %       \label{sec:index\indexshortcut}
 %       \sindex[meta]{\indexname}
 %
@@ -9392,8 +9690,6 @@
 %       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]
@@ -9402,7 +9698,7 @@
 % ^^A The instructions for the Troubleshooting Index:
 %   \IndexPrologue{
 %       \clearpage
-%       \part{\indexname}
+%       \expandafter\part\expandafter{\indexname}
 %       \label{sec:index\indexshortcut}
 %       \sindex[meta]{\indexname}
 %
@@ -9413,8 +9709,6 @@
 %       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]
@@ -9424,7 +9718,7 @@
 %   \IndexPrologue{
 
 %       \clearpage
-%       \part{\indexname}
+%       \expandafter\part\expandafter{\indexname}
 %       \label{sec:index\indexshortcut}
 %   }
 %
@@ -9474,7 +9768,7 @@
 %
 % \clearpage
 %
-% \section{Section depths and HTML headings}
+% \section{Section depths and \HTML\ headings}
 % \label{sec:stackdepths}
 % \gindex{HTML>headings}
 % \gindex{section>depths}\gindex{stack depths}
@@ -9492,11 +9786,11 @@
 % \begin{table}
 % \centering
 % \begin{threeparttable}
-% \caption{Section depths and HTML headings\label{tab:depthsheadings}}
+% \caption{Section depths and \HTML\ headings\label{tab:depthsheadings}}
 % \begin{tabular}{lcl}
 % \toprule
 % Section & \parbox[b]{.35in}{\centering\LaTeX\ depth} &
-%   HTML headings \tnote{\textasteriskcentered} \\
+%   \HTML\ headings \tnote{\textasteriskcentered} \\
 % \midrule
 % title of the entire website & & \element{h1} \\
 % none			& -5	& new for this package \\
@@ -9536,7 +9830,7 @@
 %
 % 
 % 
-% \section{Source Code}
+% \section{Source code}
 %
 % ^^A *source
 %
@@ -9561,7 +9855,7 @@
 %
 % \clearpage
 %
-% \section{Detecting the \TeX\ Engine — pdflatex, lualatex, xelatex}
+% \section{Detecting the \TeX\ Engine — \prog{pdflatex}, \prog{lualatex}, \prog{xelatex}}
 %
 % \changes{v0.16}{2016/04/07}{Added XeLaTeX, LuaLaTeX support.}
 % See: \url{http://tex.stackexchange.com/a/47579}.
@@ -9618,16 +9912,16 @@
 %    \end{macrocode}
 %
 %
-% \section{pdfLaTeX T1 and UTF8 encoding}
+% \section{pdf\LaTeX\ T1 and \acro{UTF}-8 encoding}
 %
-% When using pdf\LaTeX, \pkg{lwarp} requires T1 encoding, and recommends UTF8 encoding.
+% When using pdf\LaTeX, \pkg{lwarp} requires T1 encoding, and recommends \acro{UTF}-8 encoding.
 %
 % If some other input encoding is already defined, \pkg{lwarp} will
 % try to use it instead, and hope for the best.
 %
-% \XeLaTeX\ and Lua\LaTeX\ are both UTF8 by nature.
+% \XeLaTeX\ and Lua\LaTeX\ are both \acro{UTF}-8 by nature.
 %
-% \changes{v0.44}{2017/11/16}{If pdfLaTeX, require T1 and UTF8 encoding.}
+% \changes{v0.44}{2017/11/16}{If pdfLaTeX, require T1 and \acro{UTF}-8 encoding.}
 % \changes{v0.52}{2018/03/26}{If pdfLaTeX, allow other input encoding.}
 %
 %    \begin{macrocode}
@@ -9672,7 +9966,8 @@
 \newunicodechar{—}{---}
 \newunicodechar{–}{--}
 %    \end{macrocode}
-% In PDF\TeX, preserve upright quotes in verbatim text:
+% In PDF\TeX, preserve upright quotes in verbatim text.
+% \pkg{upquote} also loads \pkg{textcomp}.
 %    \begin{macrocode}
 \RequirePackage{upquote}
 \else
@@ -9718,9 +10013,27 @@
 }
 %    \end{macrocode}
 % \end{macro}
-
 %
 %
+%
+% \begin{macro}{\LWR at isolate} \marg{text}
+%   Isolates Chinese characters from the surrounding text.
+%   This is required to avoid extra spaces on either side of the Chinese
+%   characters, especially when written to a file.
+%
+% \changes{v0.62}{2018/11/17}{Added.}
+%
+%    \begin{macrocode}
+\@ifpackageloaded{ctexpatch}{
+    \newcommand{\LWR at isolate}[1]{\null#1\null}%
+}{
+    \newcommand{\LWR at isolate}[1]{#1}%
+}
+%    \end{macrocode}
+% \end{macro}
+%
+%
+%
 % \section{Early package requirements}
 %
 % \DescribePackage{etoolbox}
@@ -9839,7 +10152,7 @@
 %    \end{macrocode}
 
 
-% \subsection{Unix, Linux, and Mac\,OS}
+% \subsection{\brand{Unix}, \brand{Linux}, and \brand{Mac\,OS}}
 
 % \begin{macro}{\OSPathSymbol}
 % Symbol used to separate directories in a path.
@@ -9912,6 +10225,7 @@
 % \DescribeBoolean{warpingHTML}
 % \DescribeBoolean{mathjax}
 % \DescribeBoolean{LWR at origmathjax}
+% ^^A \DescribeBoolean{mathKaTeX}
 %
 % Set to true/false depending on the package option selections for
 % print/\HTML/\EPUB\ output and mathsvg/mathjax.
@@ -9924,6 +10238,9 @@
 \newbool{mathjax}
 \newbool{LWR at origmathjax}
 %    \end{macrocode}
+% ^^A %    \begin{macrocode}
+% ^^A \newbool{mathKaTeX}
+% ^^A %    \end{macrocode}
 %
 %
 % The default is print output,
@@ -9951,7 +10268,7 @@
 }
 %    \end{macrocode}
 
-% \begin{environment}{warpHTML}
+% \DescribeOption{warpHTML}
 % Anything in the |warpHTML| environment will be generated for \HTML\ output only.
 %
 % \DescribeOption{warpHTML}
@@ -9966,7 +10283,6 @@
 \boolfalse{warpingprint}%
 }
 %    \end{macrocode}
-% \end{environment}
 %
 %
 %
@@ -9985,6 +10301,11 @@
 \PackageInfo{lwarp}{Using option 'mathsvg'}
 \boolfalse{mathjax}%
 \boolfalse{LWR at origmathjax}%
+%    \end{macrocode}
+% ^^A %    \begin{macrocode}
+% ^^A \boolfalse{mathKaTeX}%
+% ^^A %    \end{macrocode}
+%    \begin{macrocode}
 }
 %    \end{macrocode}
 %
@@ -9998,11 +10319,33 @@
 \PackageInfo{lwarp}{Using option 'mathjax'}
 \booltrue{mathjax}%
 \booltrue{LWR at origmathjax}%
+%    \end{macrocode}
+% ^^A %    \begin{macrocode}
+% ^^A \boolfalse{mathKaTeX}%
+% ^^A %    \end{macrocode}
+%    \begin{macrocode}
 }
 %    \end{macrocode}
 
+% ^^A \DescribeOption{mathKaTeX}
+% ^^A Option \optn{mathKaTeX} selects Ka\TeX\ math display:
+% ^^A \gindex{math>\optn{mathKaTeX} option}
+% ^^A \gindex{KaTeX=Ka\TeX>mathKaTeX=\optn{mathKaTeX} option}
+% ^^A If the \optn{mathKaTeX} option is given, boolean |mathKaTeX| is true,
+% ^^A may be used for \cs{ifbool} tests.
+% ^^A Boolean |mathjax| is also set true, as most code is shared with
+% ^^A \brand{MathJax} functions.
+% ^^A    \begin{macrocode}
+% ^^A \DeclareVoidOption{mathKaTeX}{%
+% ^^A \PackageInfo{lwarp}{Using option 'mathKaTeX'}
+% ^^A \booltrue{mathjax}%
+% ^^A \booltrue{LWR at origmathjax}%
+% ^^A \booltrue{mathKaTeX}%
+% ^^A }
+% ^^A   \end{macrocode}
 
 
+
 % \DescribeOption{BaseJobname}
 % Option \optn{BaseJobname} sets the \cs{BaseJobname} for this document.
 %
@@ -10371,7 +10714,7 @@
 % This helps \prog{latexmk} to more reliably know whether to recompile.
 %
 % \changes{v0.37}{2017/08/19}{\pkg{comment}: Maintains independent
-%   cutfiles for print, \protect\HTML.}
+%   cutfiles for print, \HTML.}
 %
 %    \begin{macrocode}
 \ifbool{warpingHTML}{
@@ -10384,11 +10727,6 @@
 %    \end{macrocode}
 
 
-%    \begin{macrocode}
-\excludecomment{testing}
-%    \end{macrocode}
-
-
 % \begin{environment}{warpall}
 % Anything in the |warpall| environment will be generated for print or \HTML\ outputs.
 %    \begin{macrocode}
@@ -10397,8 +10735,6 @@
 % \end{environment}
 
 
-
-
 % \begin{environment}{warpprint}
 % \begin{environment}{warpHTML}
 % Anything in the |warpprint| environment will be generated for print output only.
@@ -10405,9 +10741,8 @@
 %
 % For \HTML\ output:
 %    \begin{macrocode}
-\ifbool{warpingHTML}{%
-\includecomment{warpHTML}
-}
+\ifbool{warpingHTML}
+{\includecomment{warpHTML}}
 {\excludecomment{warpHTML}}%
 %    \end{macrocode}
 
@@ -10496,7 +10831,7 @@
 
 
 % \begin{macro}{\LWR at loadbefore} \marg{packagename} \quad
-% Error if this package is after \pkg{lwarp}.
+% Error if this package is loaded after \pkg{lwarp}.
 %
 % \changes{v0.33}{2017/07/06}{Fix: No \cs{PackageError} if already loaded.}
 %
@@ -10558,6 +10893,7 @@
 % \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}.}
+% \changes{v0.62}{2018/11/18}{Added early checks for \pkg{CJK}, \pkg{CJKutf8}.}
 %
 %    \begin{macrocode}
 \LWR at earlyloadnever{ae}{cm-super, lmodern}
@@ -10566,6 +10902,10 @@
 \LWR at earlyloadnever{boxedminipage}{boxedminipage2e}
 \LWR at earlyloadnever{caption2}{caption}
 % \LWR at earlyloadnever{ccaption}{caption}% might be preloaded by memoir
+\@ifpackageloaded{xeCJK}{}{
+    \LWR at earlyloadnever{CJK}{ctex, xeCJK}
+    \LWR at earlyloadnever{CJKutf8}{ctex, xeCJK}
+}
 \LWR at earlyloadnever{fancyheadings}{fancyhdr}
 \LWR at earlyloadnever{glossary}{glossaries}
 \LWR at earlyloadnever{t1enc}{fontenc, inputenc, inputenx}
@@ -10586,6 +10926,7 @@
 % The following packages must be loaded after \pkg{lwarp}:
 % ^^A *loadafter
 %    \begin{macrocode}
+\LWR at loadafter{2in1}
 \LWR at loadafter{2up}
 \LWR at loadafter{a4}
 \LWR at loadafter{a4wide}
@@ -10621,6 +10962,7 @@
 \LWR at loadafter{balance}
 \LWR at loadafter{bigdelim}
 \LWR at loadafter{bigstrut}
+\LWR at loadafter{bitpattern}
 \LWR at loadafter{blowup}
 \LWR at loadafter{booklet}
 \LWR at loadafter{bookmark}
@@ -10656,6 +10998,7 @@
 \LWR at loadafter{continue}
 \LWR at loadafter{copyrightbox}
 \LWR at notmemoirloadafter{crop}
+% ctex must be loaded before lwarp
 \LWR at loadafter{cuted}
 \LWR at loadafter{cutwin}
 \LWR at loadafter{dblfloatfix}
@@ -10696,6 +11039,7 @@
 \LWR at loadafter{fixme}
 \LWR at loadafter{fixmetodonotes}
 \LWR at loadafter{flafter}
+\LWR at loadafter{flippdf}
 \LWR at loadafter{float}
 \LWR at loadafter{floatflt}
 \LWR at loadafter{floatpag}
@@ -10783,6 +11127,7 @@
 %\LWR at loadafter{multicol}% loaded by ltxdoc
 \LWR at loadafter{multirow}
 \LWR at loadafter{multitoc}
+\LWR at loadafter{musicography}
 \LWR at loadafter{nameref}
 \LWR at loadafter{natbib}
 \LWR at notmemoirloadafter{nccfancyhdr}
@@ -10795,8 +11140,10 @@
 \LWR at loadafter{nonfloat}
 \LWR at loadafter{nonumonpart}
 \LWR at loadafter{nopageno}
+\LWR at loadafter{notespages}
 \LWR at loadafter{nowidow}
 \LWR at loadafter{ntheorem}
+\LWR at loadafter{octave}
 \LWR at loadafter{overpic}
 \LWR at loadafter{pagegrid}
 \LWR at notmemoirloadafter{pagenote}
@@ -10805,10 +11152,12 @@
 \LWR at loadafter{parnotes}
 \LWR at notmemoirloadafter{parskip}
 \LWR at loadafter{pbox}
-\LWR at loadafter{pdfrender}
+\LWR at loadafter{pdfcomment}
 \LWR at loadafter{pdflscape}
+\LWR at loadafter{pdfmarginpar}
 \LWR at loadafter{pdfpages}
 \LWR at loadafter{pdfprivacy}
+\LWR at loadafter{pdfrender}
 \LWR at loadafter{pdfsync}
 \LWR at loadafter{pdftricks}
 \LWR at loadafter{pdfx}
@@ -10836,6 +11185,7 @@
 \LWR at loadafter{romanbarpagenumber}
 \LWR at loadafter{rotating}
 \LWR at loadafter{rotfloat}
+\LWR at loadafter{rviewport}
 \LWR at loadafter{savetrees}
 % \LWR at loadafter{scalefnt}% loaded by babel-french
 \LWR at loadafter{schemata}
@@ -10847,6 +11197,7 @@
 \LWR at loadafter{section}
 \LWR at loadafter{sectionbreak}
 \LWR at loadafter{sectsty}
+\LWR at loadafter{semantic-markup}
 \LWR at notmemoirloadafter{setspace}
 \LWR at loadafter{shadow}
 \LWR at notmemoirloadafter{showidx}
@@ -10892,17 +11243,20 @@
 \LWR at loadafter{tocstyle}
 \LWR at loadafter{todo}
 \LWR at loadafter{todonotes}
+\LWR at loadafter{tram}
 \LWR at loadafter{transparent}
 \LWR at loadafter{trimclip}
 \LWR at loadafter{trivfloat}
 \LWR at loadafter{turnthepage}
+\LWR at loadafter{twoup}
 %    \end{macrocode}
 % \changes{v0.44}{2017/11/19}{Adjustment for \pkg{koma-script}.}
 %    \begin{macrocode}
 % \LWR at loadafter{typearea}% preloaded by koma-script classes
-\LWR at loadafter{ulem}
+% \LWR at loadafter{ulem}% preloaded by ctexart and related classes
 \LWR at loadafter{underscore}
 \LWR at loadafter{units}
+\LWR at loadafter{unitsdef}
 \LWR at loadafter{upref}
 \LWR at loadafter{url}
 \LWR at loadafter{uspace}
@@ -10920,6 +11274,7 @@
 \LWR at loadafter{wrapfig}
 \LWR at loadafter{xbmks}
 \LWR at loadafter{xcolor}
+\LWR at loadafter{xechangebar}
 \LWR at loadafter{xellipsis}
 \LWR at loadafter{xfrac}
 \LWR at loadafter{xltabular}
@@ -10972,7 +11327,7 @@
 %    \begin{macrocode}
 \ifxetexorluatex
 \@ifpackageloaded{fontspec}{}{
-\usepackage[no-math]{fontspec}
+    \usepackage[no-math]{fontspec}
 }
 %    \end{macrocode}
 % ^^A     \defaultfontfeatures{Ligatures=Common}
@@ -11118,7 +11473,7 @@
 % \item Uses a very long and wide page to minimize page breaks and margin overflow.
 % \item Uses a scriptsize font.
 % \item Uses extra space at the margin to avoid \HTML\ tag overflow off the page.
-% \item Forces a new PDF page before some environments.
+% \item Forces a new \PDF\ page before some environments.
 % \item Forces line break between major pieces of long tags.
 % \end{itemize}
 %
@@ -11155,7 +11510,13 @@
 
 % \changes{v0.51}{2018/03/06}{\pkg{afterpackage}: No longer required.}
 
+% \DescribePackage{calc}
+% \changes{v0.62}{2018/11/10}{\pkg{calc}: Fix: Required for print version.}
 %    \begin{macrocode}
+\RequirePackage{calc}
+%    \end{macrocode}
+
+%    \begin{macrocode}
 \end{warpall}
 %    \end{macrocode}
 
@@ -11276,12 +11637,6 @@
 %    \end{macrocode}
 
 
-% \DescribePackage{calc}
-%    \begin{macrocode}
-\RequirePackage{calc}
-%    \end{macrocode}
-
-
 % \DescribePackage{refcount}
 %
 % Provides \cs{setcounterref}, \cs{setcounterpageref}, etc.
@@ -11569,6 +11924,14 @@
 \IfValueTF{#2}
 {\LWR at origRequirePackage{#1}[#2]}
 {\LWR at origRequirePackage{#1}}
+%    \end{macrocode}
+% In some cases, the following seems to be required
+% to avoid an ``unknown option'' error, such
+% as when loading \pkg{xcolor} with options.
+% \changes{v0.62}{2018/11/11}{Fix: Unknown option error.}
+%    \begin{macrocode}
+\DeclareOption*{}%
+\ProcessOptions\relax
 }
 %    \end{macrocode}
 % \end{macro}
@@ -11792,7 +12155,7 @@
 % \changes{v0.61}{2018/09/25}{Docs: HTMLDebugComments}
 %
 % To have the \HTML\ output include additional \HTML\ comments, such as
-% \margintag{HTML comments}
+% \margintag{\HTML\ comments}
 % which \element{div} is closing, use
 % \begin{sourcedisplay}
 % \cs{booltrue\{HTMLDebugComments\}}
@@ -11868,7 +12231,7 @@
 
 
 
-% \section{Defining print and HTML versions of macros and environments}
+% \section{Defining print and \HTML\ versions of macros and environments}
 % \label{sec:definingprinthtml}
 % \gindex{print>selecting print/HTML definitions}
 % \gindex{HTML>selecting print/HTML definitions}
@@ -12020,7 +12383,7 @@
 % This older system is still in use for many definitions.)
 % ^^A *8* Modify the above when all old \lets are removed.
 %
-% \changes{v0.57}{2018/05/28}{New system for switching print and HTML outputs.}
+% \changes{v0.57}{2018/05/28}{New system for switching print and \HTML\ outputs.}
 %
 % \codehtml
 %    \begin{macrocode}
@@ -12131,7 +12494,9 @@
 %    \end{macrocode}
 
 
-% \section{HTML-conversion output modifications}
+
+
+% \section{\HTML-conversion output modifications}
 %
 % These booleans modify the \HTML\ output in various ways
 % to improve conversion to \EPUB\ or word processor imports.
@@ -12361,18 +12726,6 @@
 
 \let\LWR at origtextellipsis\textellipsis
 
-\LetLtxMacro\LWR at origtextrm\textrm
-\LetLtxMacro\LWR at origtextsf\textsf
-\LetLtxMacro\LWR at origtexttt\texttt
-\LetLtxMacro\LWR at origtextnormal\textnormal
-\LetLtxMacro\LWR at origtextbf\textbf
-\LetLtxMacro\LWR at origtextmd\textmd
-\LetLtxMacro\LWR at origtextit\textit
-\LetLtxMacro\LWR at origtextsl\textsl
-\LetLtxMacro\LWR at origtextsc\textsc
-\LetLtxMacro\LWR at origtextup\textup
-\LetLtxMacro\LWR at origemph\emph
-
 \LetLtxMacro\LWR at origrmfamily\rmfamily
 \LetLtxMacro\LWR at origsffamily\sffamily
 \LetLtxMacro\LWR at origttfamily\ttfamily
@@ -12573,7 +12926,7 @@
 %    \end{macrocode}
 
 
-% \subsection{project\_html.tex}
+% \subsection{\filenm{project\_html.tex}}
 %
 % \DescribeFile{project_html.tex} Used to allow an \HTML\ version of the
 % document to exist alongside the print version.
@@ -12941,7 +13294,7 @@
 
 
 
-% \subsubsection{lwarpmk.conf}
+% \subsubsection{\filenm{lwarpmk.conf}}
 %
 % \DescribeFile{lwarpmk.conf}
 % |lwarpmk.conf| is automatically (re-)created by the \pkg{lwarp} package when
@@ -12973,7 +13326,7 @@
 
 
 
-% \subsubsection{<project>.lwarpmkconf}
+% \subsubsection{\filenm{<project>.lwarpmkconf}}
 %
 % \DescribeFile{project.lwarpmkconf} A project-specific configuration file for \prog{lwarpmk}.
 %
@@ -13005,7 +13358,7 @@
 
 
 
-% \subsection{lwarp.css}
+% \subsection{\filenm{lwarp.css}}
 
 % \DescribeFile{lwarp.css}
 % This is the base \CSS\ layer used by \pkg{lwarp}.
@@ -13024,6 +13377,9 @@
 % \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.}
+% \changes{v0.62}{2018/11/02}{\filenm{lwarp.css}: Reduced margins in titlepage.}
+% \changes{v0.62}{2018/11/02}{\filenm{lwarp.css}: Fixed \CSS\ for \cs{textup}.}
+% \changes{v0.62}{2018/11/02}{\filenm{lwarp.css}: Added \CSS\ for \pkg{xfrac}, \pkg{nicefrac}.}
 %
 % ^^A *lwarp.css
 %
@@ -13107,11 +13463,18 @@
 
 span.textmd, div.textmd { font-weight: normal; }
 
-span.textsc, div.textsc { font-variant: small-caps; }
+span.textsc, div.textsc {
+    font-variant: small-caps;
+    font-variant-numeric: oldstyle-nums ;
+}
 
 span.textsl, div.textsl { font-style: oblique; }
 
-span.textup, div.textup { font-variant: normal; }
+span.textup, div.textup {
+    font-style: normal;
+    font-variant: normal;
+    font-variant-numeric: normal ;
+}
 
 span.textrm, div.textrm {
     font-family: "DejaVu Serif", "Bitstream Vera Serif",
@@ -13880,6 +14243,8 @@
 }
 */
 
+figure figure { margin: 0pt }
+
 figure div.minipage p { font-size: 85% ; }
 
 figure.subfigure, figure.subtable  {
@@ -14094,7 +14459,7 @@
     font-variant: normal ;
     font-style: italic ;
     font-size: 1em ;
-    margin: 3ex 0em 3ex 0em ;
+    margin: 1ex 0em 1ex 0em ;
 }
 
 div.subtitle
@@ -14103,7 +14468,7 @@
     font-variant: normal ;
     font-style: italic ;
     font-size: 1.25em ;
-    margin: 3ex 0em 3ex 0em ;
+    margin: 1ex 0em 1ex 0em ;
 }
 
 div.subtitle p { margin: 1ex ; }
@@ -14113,17 +14478,17 @@
     font-variant: normal ;
     font-style: normal ;
     font-size: 1em ;
-    margin: 3ex 0em 3ex 0em ;
+    margin: 1ex 0em 1ex 0em ;
 }
 
 div.oneauthor {
     display: inline-block ;
-    margin: 3ex 1em 0ex 1em ;
+    margin: 0ex 1em 0ex 1em ;
 }
 
 /*
 div.author table {
-    margin: 3ex auto 0ex auto ;
+    margin: 1ex auto 0ex auto ;
     background: none ;
 }
 
@@ -14136,7 +14501,7 @@
     text-align: center ;
     font-size: .85em ;
     font-style: italic;
-    margin: 6ex 0em 6ex 0em ;
+    margin: 1ex 0em 1ex 0em ;
 }
 
 
@@ -14248,6 +14613,17 @@
 div.multicols p {margin-top: 0ex}
 
 
+/* Used for xfrac and nicefrac: */
+span.numerator {
+    font-size: 60% ;
+    vertical-align: .4em ;
+}
+
+span.denominator {
+    font-size: 60%
+}
+
+
 /* Used for algorithm2e: */
 div.alg2evline{
     margin-left: 1em ;
@@ -14357,12 +14733,9 @@
 span.amsthmnoteremark {}
 
 
-
 /*
 For CSS LaTeX and related logos:
-Based on:
-http://edward.oconnor.cx/2007/08/tex-poshlet
-http://nitens.org/taraborelli/texlogo
+Based on spacing demonstrated by the metafont package.
 */
 
 .latexlogofont {
@@ -14374,28 +14747,40 @@
 .latexlogo {
     font-family: "Linux Libertine O", "Nimbus Roman No 9 L",
         "FreeSerif", "Hoefler Text", Times, "Times New Roman", serif;
-    letter-spacing: .03em ;
     font-size: 1.1em;
 }
 
-.latexlogo sup {
+.latexlogosup {
   text-transform: uppercase;
   letter-spacing: .03em ;
-  font-size: 0.85em;
-  vertical-align: 0.15em;
-  margin-left: -0.36em;
+  font-size: 0.7em;
+  vertical-align: 0.25em;
+  margin-left: -0.4em;
   margin-right: -0.15em;
 }
 
-.latexlogo sub {
+.latexlogosub {
   text-transform: uppercase;
-  vertical-align: -0.5ex;
-  margin-left: -0.1667em;
-  margin-right: -0.125em;
+  vertical-align: -0.27ex;
+  margin-left: -0.08em;
+  margin-right: -0.07em;
   font-size: 1em;
 }
 
-.xetexlogo {
+.latexlogotwoe {
+  text-transform: none ;
+  font-variant-numeric: oldstyle-nums ;
+}
+
+.latexlogotwoesub {
+  font-style:italic ;
+  vertical-align: -0.27ex;
+  margin-left: -0.11em;
+  margin-right: -0.1em;
+  font-size: 1em;
+}
+
+.xelatexlogo {
     font-family: "Linux Libertine O", "Nimbus Roman No 9 L",
         "FreeSerif", "Hoefler Text", Times, "Times New Roman", serif;
     letter-spacing: .03em ;
@@ -14402,21 +14787,9 @@
     font-size: 1.1em;
 }
 
-/* A smaller gap between Xe and Tex v.s. LaTeX: */
-.xetexlogo sub {
-  text-transform: uppercase;
-  vertical-align: -0.5ex;
+.xelatexlogosub {
+  vertical-align: -0.27ex;
   margin-left: -0.0667em;
-  margin-right: -0.2em;
-  font-size: 1em;
-  letter-spacing: .03em ;
-}
-
-/* A large gap between Xe and LaTeX v.s. TeX: */
-.xelatexlogo sub {
-  text-transform: uppercase;
-  vertical-align: -0.5ex;
-  margin-left: -0.0667em;
   margin-right: -.05em;
   font-size: 1em;
   letter-spacing: .03em ;
@@ -14426,8 +14799,8 @@
     font-family: "TeXGyreChorus","URW Chancery L",
         "Apple Chancery","ITC Zapf Chancery","Monotype Corsiva",
         "Linux Libertine O", "Nimbus Roman No 9 L",  "FreeSerif",
-        "Hoefler Text", Times, "Times New Roman", serif;
-  font-style: italic;
+        "Hoefler Text", Times, "Times New Roman", serif ;
+    font-style: italic ;
 }
 
 .lyxlogo {
@@ -14495,7 +14868,7 @@
 
 
 
-% \subsection{lwarp\_sagebrush.css}
+% \subsection{\filenm{lwarp\_sagebrush.css}}
 
 % \DescribeFile{lwarp_sagebrush.css}
 % An optional \CSS\ which may be used for
@@ -14762,7 +15135,7 @@
 
 
 
-% \subsection{lwarp\_formal.css}
+% \subsection{\filenm{lwarp\_formal.css}}
 
 % \DescribeFile{lwarp_formal.css}
 % An optional \CSS\ which may be used for
@@ -14771,6 +15144,8 @@
 % If used, this must be present both when compiling the project
 % and also when distributing the \HTML\ files.
 %
+% \changes{v0.62}{2018/11/10}{\filenm{lwarp\_formal.css}: Fix: Font for verse.}
+%
 % ^^A *lwarp_formal.css
 %
 % \codeconfig
@@ -14899,14 +15274,6 @@
 
 
 
-.verse {
-    font-family: "Linux Libertine O", "Hoefler Text", "Garamond",
-        "Bembo", "Janson", "TeX Gyre Pagella", "Palatino",
-        "Liberation Serif", "Nimbus Roman No 9 L",  "FreeSerif", Times,
-        "Times New Roman", serif;
-}
-
-
 figure {
     margin: 5ex 5% 5ex 5% ;
     padding: 1ex 1em 1ex 1em ;
@@ -14988,7 +15355,7 @@
 
 
 
-% \subsection{sample\_project.css}
+% \subsection{\filenm{sample\_project.css}}
 
 % \DescribeFile{sample_project.css}
 % The project-specific \CSS\ file.  Use with \cs{CSSFilename}.
@@ -15020,7 +15387,7 @@
 %    \end{macrocode}
 
 
-% \subsection{lwarp.ist}
+% \subsection{\filenm{lwarp.ist}}
 
 % \DescribeFile{lwarp.ist}
 % Used to modify the index for \pkg{lwarp}.
@@ -15065,7 +15432,7 @@
 
 
 
-% \subsection{lwarp.xdy}
+% \subsection{\filenm{lwarp.xdy}}
 
 % \DescribeFile{lwarp.xdy}
 % Used to modify the index for \pkg{lwarp}.
@@ -15115,7 +15482,7 @@
 %    \end{macrocode}
 
 
-% \subsection{lwarp\_one\_limage.cmd}
+% \subsection{\filenm{lwarp\_one\_limage.cmd}}
 %
 % \DescribeFile{lwarp_one_limage.cmd}
 % Used by \pkg{lwarp} to help make \env{lateximage}s when using \brand{Windows}.
@@ -15154,7 +15521,7 @@
 
 
 
-% \subsection{lwarp\_mathjax.txt}
+% \subsection{\filenm{lwarp\_mathjax.txt}}
 
 % \DescribeFile{lwarp_mathjax.txt}
 % Used by \pkg{lwarp} when using \brand{MathJax}.
@@ -15171,6 +15538,7 @@
 % \changes{v0.45}{2018/01/23}{File: \filenm{lwarp\_mathjax.txt}: Allow \brand{MathJax} inside \env{verse}.}
 % \changes{v0.59}{2018/07/13}{File: \filenm{lwarp\_mathjax.txt}: Updated to MathJax v2.7.4.}
 % \changes{v0.59}{2018/07/16}{File: \filenm{lwarp\_mathjax.txt}: Fix: Removed chapter number from tagged non-numeric MathJax equations.}
+% \changes{v0.62}{2018/11/05}{File: \filenm{lwarp\_mathjax.txt}: Removed inoperable \pkg{siunitx} extension.}
 %
 %
 % ^^A *lwarp_mathjax.txt
@@ -15248,22 +15616,7 @@
     "https://cdn.mathjax.org/mathjax/contrib";
 </script>
 
-<!-- https://github.com/burnpanck/MathJax-siunitx -->
-
 <script type="text/x-mathjax-config">
- MathJax.Hub.Config({
-   extensions: ["tex2jax.js","[siunitx]/siunitx.js"],
-   jax: ["input/TeX","output/HTML-CSS"],
-   tex2jax: {
-        inlineMath: [["$","$"],["\\(","\\)"]] ,
-        processClass: "tabbing|verse"
-    },
-   TeX: {extensions: ["AMSmath.js","AMSsymbols.js", "sinuitx.js"]}
- });
- MathJax.Ajax.config.path['siunitx']  = 'http://rawgit.com/burnpanck/MathJax-siunitx/master/';
- </script>
-
-<script type="text/x-mathjax-config">
 MathJax.Hub.Config({
     TeX: {
     equationNumbers: {
@@ -15290,10 +15643,55 @@
 \end{LWRwriteconf}
 %    \end{macrocode}
 
+% ^^A A possible addition for siuntix:
+% ^^A <!-- https://github.com/burnpanck/MathJax-siunitx -->
+% ^^A 
+% ^^A <script type="text/x-mathjax-config">
+% ^^A  MathJax.Hub.Config({
+% ^^A    extensions: ["tex2jax.js","[siunitx]/siunitx.js"],
+% ^^A    jax: ["input/TeX","output/HTML-CSS"],
+% ^^A    tex2jax: {
+% ^^A         inlineMath: [["$","$"],["\\(","\\)"]] ,
+% ^^A         processClass: "tabbing|verse"
+% ^^A     },
+% ^^A    TeX: {extensions: ["AMSmath.js","AMSsymbols.js", "sinuitx.js"]}
+% ^^A  });
+% ^^A  MathJax.Ajax.config.path['siunitx']  = 'http://rawgit.com/burnpanck/MathJax-siunitx/master/';
+% ^^A  </script>
+ 
+ 
 
+% ^^A \subsection{\filenm{lwarp\_KaTeX.txt}}
 
-% \subsection{lwarpmk.lua — lwarpmk option}
+% ^^A \DescribeFile{lwarp_KaTeX.txt}
+% ^^A Used by \pkg{lwarp} when using Ka\TeX.
+%
+% ^^A This must be present when compiling the project,
+% ^^A but does not need to be present when distributing
+% ^^A the resulting \HTML\ files.
+%
+% ^^A \changes{v0.59}{2018/11/03}{File: \filenm{lwarp\_KaTeX.txt}: Added.}
+%
+%
+% ^^A ^^A *lwarp_KaTeX.txt
+%
+% ^^A \codeconfig
+% ^^A    \begin{macrocode}
+% ^^A \begin{LWRwriteconf}
+% ^^A \begin{filecontents*}{lwarp_KaTeX.txt}
+% ^^A <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.10.0/dist/katex.min.css" integrity="sha384-9eLZqc9ds8eNjO3TmqPeYcDj8n+Qfa4nuSiGYa6DjLNcv9BtN69ZIulL9+8CqC9Y" crossorigin="anonymous">
+% ^^A <script defer src="https://cdn.jsdelivr.net/npm/katex@0.10.0/dist/katex.min.js" integrity="sha384-K3vbOmF2BtaVai+Qk37uypf7VrgBubhQreNQe9aGsz9lB63dIFiQVlJbr92dw2Lx" crossorigin="anonymous"></script>
+% ^^A <script defer src="https://cdn.jsdelivr.net/npm/katex@0.10.0/dist/contrib/auto-render.min.js" integrity="sha384-kmZOZB5ObwgQnS/DuDg6TScgOiWWBiVt0plIRkZCmE6rDZGrEOQeHM5PcHi+nyqe" crossorigin="anonymous"
+% ^^A     onload="renderMathInElement(document.body);"></script>
+% ^^A \end{filecontents*}
+% ^^A % \end{Verbatim}% for syntax highlighting
+% ^^A \end{LWRwriteconf}
+% ^^A   \end{macrocode}
 
+
+
+% \subsection{\filenm{lwarpmk.lua} — \optn{lwarpmk} option}
+
 % \DescribeOption{lwarpmk} Creates a local copy of \prog{lwarpmk}.
 %
 % \DescribeProgram{lwarpmk} Command-line utility to process \pkg{lwarp} files and images.
@@ -15378,7 +15776,7 @@
 -- Copyright 2016-2018 Brian Dunn
 
 
-printversion = "v0.61"
+printversion = "v0.62"
 requiredconfversion = "1" -- also at *lwarpmk.conf
 
 function printhelp ()
@@ -15408,8 +15806,9 @@
     Finishes the HTML conversion even if there was a compile error.
 lwarpmk pdftosvg <list of file names>: Converts each PDF file to SVG.
 lwarpmk epstopdf <list of file names>: Converts each EPS file to PDF.
-lwarpmk clean [-p project]: Remove .aux, .toc, .lof/t, .idx, .ind, .log, *_html_inc.*, .gl*
-lwarpmk cleanall [-p project]: Remove auxiliary files and also project.pdf, *.html
+lwarpmk clean [-p project]: Remove *.aux, *.toc, *.lof/t,
+    *.idx, *.ind, *.log, *_html_inc.*, .gl*
+lwarpmk cleanall [-p project]: Remove auxiliary files, project.pdf, *.html
 lwarpmk cleanlimages: Removes all images from the "lateximages" directory.
 lwarpmk -h: Print this help message.
 lwarpmk --help: Print this help message.
@@ -16684,7 +17083,7 @@
 
 
 
-% \section{HTML entities}
+% \section{\HTML\ entities}
 
 % \codehtml
 %    \begin{macrocode}
@@ -16691,7 +17090,7 @@
 \begin{warpHTML}
 %    \end{macrocode}
 
-% HTML entites and \HTML\ Unicode entities:
+% \HTML\ Unicode entities:
 %    \begin{macrocode}
 \let\LWR at origampersand\&
 %    \end{macrocode}
@@ -16702,7 +17101,7 @@
 \begingroup%
 \LWR at FBcancel%
 \LWR at origampersand#1;%
-\endgroup
+\endgroup%
 % \LWR at traceinfo{HTMLentity done}%
 }
 %    \end{macrocode}
@@ -16736,7 +17135,7 @@
 
 
 
-% \section{HTML filename generation}
+% \section{\HTML\ filename generation}
 %
 
 % The filename of the homepage is set to |\HomeHTMLFilename.html|.
@@ -16879,7 +17278,7 @@
 %    \end{macrocode}
 % Otherwise, create a filename with the chosen prefix:
 %    \begin{macrocode}
-    {\HTMLFilename#1.html}%
+    {\HTMLFilename\LWR at isolate{#1}.html}%
 }%
 \LWR at traceinfo{LWR at htmlsectionfilename Z}%
 }
@@ -17062,7 +17461,7 @@
 
 
 
-% \section{PDF pages and styles}
+% \section{\PDF\ pages and styles}
 
 % \changes{v0.38}{2017/08/21}{Added \cs{markboth}, \cs{sloppy}, etc.}
 
@@ -17077,7 +17476,7 @@
 % This is used just before major environments, such as \env{verse}.
 % Reduces the chance of an environment overflowing the \HTML\ \PDF\ output page.
 %
-% \changes{v0.28}{2017/04/13}{Forces new PDF page before major environments.}
+% \changes{v0.28}{2017/04/13}{Forces new \PDF\ page before major environments.}
 % \changes{v0.46}{2018/01/20}{Fix: Improper \cs{prevdepth}.}
 %    \begin{macrocode}
 \newcommand{\LWR at forcenewpage}{%
@@ -17163,7 +17562,7 @@
 
 
 
-% \section{HTML tags, spans, divs, elements}
+% \section{\HTML\ tags, spans, divs, elements}
 
 % \codehtml
 %    \begin{macrocode}
@@ -17171,7 +17570,7 @@
 %    \end{macrocode}
 
 
-% \subsection{Mapping \LaTeX{} Sections to HTML Sections}
+% \subsection{Mapping \LaTeX\ sections to \HTML\ sections}
 
 %    \begin{macrocode}
 \newcommand*{\LWR at tagtitle}{h1}
@@ -17198,7 +17597,7 @@
 
 % \subsection{Babel-French tag modifications}
 
-% \changes{v0.34}{2017/08/03}{\pkg{babel-french}: Adds fixed-width HTML spaces to punctuation.}
+% \changes{v0.34}{2017/08/03}{\pkg{babel-french}: Adds fixed-width \HTML\ spaces to punctuation.}
 % \changes{v0.36}{2017/08/15}{\pkg{babel-french}: Adjustements for French variants,
 %   load order, footnotes, ellipses.}
 % \changes{v0.37}{2017/08/19}{\pkg{babel-french}: Adjustment for load order.}
@@ -17263,12 +17662,12 @@
 %    \end{macrocode}
 
 
-% \subsection{HTML tags}
+% \subsection{\HTML\ tags}
 
 % \begin{macro}{\LWR at htmltagc} \marg{tag}
 % Break ligatures and use upright apostrophes in \HTML\ tags.
 %
-% \cs{protect} is in case the tag appears in TOC, LOF, LOT.
+% \cs{protect} is in case the tag appears in \TOC, \LOF, \LOT.
 %    \begin{macrocode}
 \newcommand*{\LWR at htmltagc}[1]{%
 \LWR at traceinfo{LWR at htmltagc !\detokenize{#1}!}%
@@ -17276,7 +17675,7 @@
 \LWR at FBcancel%
 \ifmmode\else\protect\LWR at origttfamily\fi%
 \protect\LWR at origtextless%
-#1%
+\LWR at isolate{#1}%
 \protect\LWR at origtextgreater%
 \endgroup%
 % \LWR at traceinfo{LWR at htmltagc: done}%
@@ -17555,7 +17954,7 @@
 % 
 
 
-% \subsection{HTML5 semantic elements}
+% \subsection{\HTML{}5 semantic elements}
 
 
 % \begin{macro}{\LWR at htmlelement} \marg{element}
@@ -17657,17 +18056,23 @@
 % \end{macro}
 
 
-% \begin{macro}{\InlineClass} \oarg{style} \marg{class} \marg{text} \quad
+% \begin{macro}{\InlineClass} \parg{WP style} \oarg{style} \marg{class} \marg{text}
+%
 % High-level interface for inline span classes.
 %
+% \parg{WP style} is \CSS\ styling to add when formatting for a word processor import.
+%
+% \oarg{style} is the \CSS\ styling to add when not formatting for a word processor.
+%
 % \changes{v0.20}{2017/01/03}{Renamed from "inlineclass".}
 % \changes{v0.34}{2017/08/02}{Moved optional argument in front of mandatory.}
 % \changes{v0.57}{2018/05/28}{Improved print/\HTML\ output selection.}
+% \changes{v0.62}{2018/10/24}{Added optional word-processing style.  Replaces \cs{LWR at HTMLtextstyle}.}
 %
 % \codeprint
 %    \begin{macrocode}
 \begin{warpprint}
-\NewDocumentCommand{\InlineClass}{o m +m}{#3}%
+\NewDocumentCommand{\InlineClass}{D{(}{)}{} o m +m}{#4}%
 \end{warpprint}
 %    \end{macrocode}
 % \end{macro}
@@ -17675,10 +18080,14 @@
 % \codehtml
 %    \begin{macrocode}
 \begin{warpHTML}
-\NewDocumentCommand{\LWR at print@InlineClass}{o m +m}{#3}%
+\NewDocumentCommand{\LWR at print@InlineClass}{D{(}{)}{} o m +m}{#4}%
 
-\NewDocumentCommand{\LWR at HTML@InlineClass}{o m +m}{%
-    \LWR at htmlspanclass[#1]{#2}{#3}%
+\NewDocumentCommand{\LWR at HTML@InlineClass}{D{(}{)}{} o m +m}{%
+\ifbool{FormatWP}{%
+    \LWR at htmlspanclass[#1]{#3}{#4}%
+}{%
+    \LWR at htmlspanclass[#2]{#3}{#4}%
+}%
 }
 
 \LWR at formatted{InlineClass}
@@ -17733,7 +18142,7 @@
 %    \end{macrocode}
 
 
-% \subsection{Closing HTML tags}
+% \subsection{Closing \HTML\ tags}
 
 % \codehtml
 %    \begin{macrocode}
@@ -18126,11 +18535,11 @@
 %    \end{macrocode}
 % If so: clear the |par| hook to no longer catch paragraphs:
 %    \begin{macrocode}
-    {\ClearPreHook{par}}%
+        {\ClearPreHook{par}}%
 %    \end{macrocode}
 % Else: Do nothing:
 %    \begin{macrocode}
-    {}%
+        {}%
 %    \end{macrocode}
 % No longer in paragraph mode:
 %    \begin{macrocode}
@@ -18210,7 +18619,7 @@
 
 
 
-% \section{CSS}
+% \section{\CSS}
 
 % \codehtml
 %    \begin{macrocode}
@@ -18252,7 +18661,7 @@
 
 
 
-% \section{Title, HTML meta author, HTML meta description}
+% \section{Title, \HTML\ meta author, \HTML\ meta description}
 %
 %
 % \codehtml
@@ -18710,7 +19119,7 @@
 % For use when the marginpar will be more than one paragraph,
 % and/or contains more than simple text.
 %
-% HTML version.
+% \HTML\ version.
 %
 % \changes{v0.21}{2017/02/11}{Fixed source listing.}
 % \changes{v0.42}{2017/10/26}{If \progcode{FormatWP} emulate a wrapfig.}
@@ -18778,7 +19187,7 @@
 
 
 
-% \section{Splitting HTML files}
+% \section{Splitting \HTML\ files}
 %
 % \begin{itemize}
 % \item Files are split according to |FileDepth| and |CombineHigherDepths|.
@@ -18843,10 +19252,10 @@
 %
 % Be sure that this does not result in filename collisions!
 % \trouble[filename collision]{filename>collision}
-% Use the optional TOC caption entry parameter for formatting.
+% 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.
+% section names and \TOC\ captions.
 %    \begin{macrocode}
 \newcommand*{\LWR at filenamenoblanks}[1]{%
 \begingroup
@@ -18865,8 +19274,12 @@
 \LWR at traceinfo{LWR at filenamenoblanks edef: !\LWR at thisnewfilename!}%
 \fullexpandarg%
 %    \end{macrocode}
+%
 % Convert spaces into hyphens:
+%
+% \changes{v0.45}{2017/12/29}{Fix: Section names with \cs{\ }.}
 %    \begin{macrocode}
+\StrSubstitute{\LWR at thisnewfilename}{\ }{-}[\LWR at thisnewfilename]
 \StrSubstitute{\LWR at thisnewfilename}{ }{-}[\LWR at thisnewfilename]
 %    \end{macrocode}
 % Convert punctutation into hyphens:
@@ -18894,10 +19307,6 @@
 % \changes{v0.45}{2017/12/29}{Fix: Section names with underscores.}
 %    \begin{macrocode}
 \StrSubstitute{\LWR at thisnewfilename}{\_}{-}[\LWR at thisnewfilename]
-%    \end{macrocode}
-% \changes{v0.45}{2017/12/29}{Fix: Section names with \cs{\ }.}
-%    \begin{macrocode}
-\StrSubstitute{\LWR at thisnewfilename}{\ }{-}[\LWR at thisnewfilename]
 \StrSubstitute{\LWR at thisnewfilename}{\%}{-}[\LWR at thisnewfilename]
 \StrSubstitute{\LWR at thisnewfilename}{\{}{-}[\LWR at thisnewfilename]
 \StrSubstitute{\LWR at thisnewfilename}{\}}{-}[\LWR at thisnewfilename]
@@ -18974,7 +19383,7 @@
 
 
 % \begin{macro}{\LWR at newautopagelabel} \marg{pagenumber counter}
-% \changes{v0.48}{2018/02/11}{Fix: TOC, LOF, LOT links.}
+% \changes{v0.48}{2018/02/11}{Fix: \TOC, \LOF, \LOT\ links.}
 %    \begin{macrocode}
 \newcommand*{\LWR at newautopagelabel}[1]{%
 \ifnumequal{\value{LWR at previousautopagelabel}}{\value{page}}%
@@ -18988,6 +19397,8 @@
 % \end{macro}
 
 
+% \subsection{Customizing \brand{MathJax}}
+
 % \begin{macro}{\LWR at customizedMathJax}
 % Additional \brand{MathJax} definitions to be added to the start of each \HTML\ page.
 % \changes{v0.52}{2018/03/31}{Added.}
@@ -19010,6 +19421,7 @@
 %    \end{macrocode}
 % \end{macro}
 
+
 % \begin{macro}{\LWR at customizeMathJax}
 % \changes{v0.51}{2018/03/18}{MathJax: Nullifies \cs{ensuremath}.}
 % \changes{v0.57}{2018/05/24}{MathJax: Supports \cs{footnote}, \cs{footnotemark}.}
@@ -19016,6 +19428,9 @@
 %    \begin{macrocode}
 \newcommand{\LWR at customizeMathJax}{%
 \ifbool{mathjax}{
+%    \end{macrocode}
+% ^^A \ifboolexpr{bool{mathjax} and not bool{mathKaTeX}}{
+%    \begin{macrocode}
 \LWR at stoppars
 \LWR at htmlcomment{Nullify \textbackslash{}ensuremath, footnotes for MathJax:}
 
@@ -19035,6 +19450,58 @@
 %    \end{macrocode}
 % \end{macro}
 
+
+% ^^A % \subsection{Customizing Ka\TeX}
+
+% ^^A % \begin{macro}{\LWR at customizedKaTeX}
+% ^^A % Additional Ka\TeX\ definitions to be added to the start of each \HTML\ page.
+% ^^A % \changes{v0.62}{2018/11/03}{Added.}
+% ^^A %    \begin{macrocode}
+% ^^A \newcommand*{\LWR at customizedKaTeX}{}
+% ^^A %    \end{macrocode}
+% ^^A % \end{macro}
+
+
+% ^^A % \begin{macro}{\CustomizeKaTeX}
+% ^^A %
+% ^^A % \limitscustomizeKaTeX
+% ^^A %
+% ^^A % \changes{v0.62}{2018/11/03}{Added.}
+% ^^A %    \begin{macrocode}
+% ^^A \newcommand*{\CustomizeKaTeX}[1]{%
+% ^^A     \appto{\LWR at customizedKaTeX}{%
+% ^^A         \(#1\)\par
+% ^^A     }%
+% ^^A }
+% ^^A %    \end{macrocode}
+% ^^A % \end{macro}
+
+
+% ^^A % \begin{macro}{\LWR at customizeKaTeX}
+% ^^A % \changes{v0.62}{2018/11/03}{Added.}
+% ^^A %    \begin{macrocode}
+% ^^A \newcommand{\LWR at customizeKaTeX}{%
+% ^^A \ifboolexpr{bool{mathjax} and bool{mathKaTeX}}{
+% ^^A \LWR at stoppars
+% ^^A \LWR at htmlcomment{Nullify \textbackslash{}ensuremath, footnotes for KaTeX:}
+% ^^A 
+% ^^A \(\gdef\ensuremath##1{##1}\)
+% ^^A 
+% ^^A \(\gdef\footnote[##1]##2{\text{( Footnote ##1 )}}\)
+% ^^A 
+% ^^A \(\gdef\footnotemark[##1]{\text{( Footnote ##1 )}}\)
+% ^^A 
+% ^^A \LWR at htmlcomment{Additional customizations for KaTeX:}
+% ^^A 
+% ^^A \LWR at customizedKaTeX
+% ^^A 
+% ^^A \LWR at startpars
+% ^^A }{}
+% ^^A }
+% ^^A %    \end{macrocode}
+% ^^A % \end{macro}
+
+
 %    \begin{macrocode}
 \end{warpHTML}
 %    \end{macrocode}
@@ -19052,6 +19519,14 @@
 %    \end{macrocode}
 % \end{macro}
 
+% ^^A % \begin{macro}{\CustomizeKaTeX}
+% ^^A % The print-mode version:
+% ^^A %    \begin{macrocode}
+% ^^A \newcommand*{\CustomizeKaTeX}[1]{}
+% ^^A %    \end{macrocode}
+% ^^A % \end{macro}
+
+
 %    \begin{macrocode}
 \end{warpprint}
 %    \end{macrocode}
@@ -19071,7 +19546,7 @@
 % Finishes the current \HTML\ page with footnotes, footer, navigation,
 % then starts a new \HTML\ page with an \HTML\ comment telling where to
 % split the page and what the new filename and \CSS\ are, then adds
-% navigation, side TOC, header, and starts the text body.
+% navigation, side \TOC, header, and starts the text body.
 %    \begin{macrocode}
 \newcommand*{\LWR at newhtmlfile}[1]{
 \LWR at traceinfo{LWR at newhtmlfile}
@@ -19122,7 +19597,7 @@
 % If using a filename, create a version without blanks.
 % The filename without blanks will be placed into \cs{LWR at thisfilename}.
 % If not using a filename, the file number will be used instead.
-% \changes{v0.12}{2016/03/13}{Bugfix: TOC with numbered files.}
+% \changes{v0.12}{2016/03/13}{Bugfix: \TOC\ with numbered files.}
 %    \begin{macrocode}
 \ifbool{FileSectionNames}%
 {\LWR at filenamenoblanks{#1}}
@@ -19155,23 +19630,14 @@
 
 %    \end{macrocode}
 %
-% 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.}
+% Start a new file with the given section name:
 %    \begin{macrocode}
-\ifPDFTeX% pdflatex or dvi latex
-\ifdefstring{\inputencodingname}{utf8}{%
-\LWR at filestart{ — #1}% there is an EMdash in front of the #1
-}{
-\LWR at filestart{ - #1}% hyphen
-}
-\else%
-\LWR at filestart{ — #1}% there is an EMdash in front of the #1
-\fi%
+\LWR at filestart[#1]
 
 %    \end{macrocode}
 %
 % Track the page numbers:
-% \changes{v0.48}{2018/02/11}{Fix: TOC, LOF, LOT links.}
+% \changes{v0.48}{2018/02/11}{Fix: \TOC, \LOF, \LOT\ links.}
 %    \begin{macrocode}
 \setcounter{LWR at latestautopage}{\value{page}}%
 \LWR at newautopagelabel{LWR at latestautopage}%
@@ -19228,7 +19694,8 @@
 
 %    \end{macrocode}
 %
-% If using MathJax, disable \cs{ensuremath} by printing a nullified
+% If using \brand{MathJax},
+% disable \cs{ensuremath} by printing a nullified
 % definition at the start of each file, and add further customizations:
 % \changes{v0.51}{2018/03/18}{MathJax: Nullifies \cs{ensuremath}.}
 %    \begin{macrocode}
@@ -19235,6 +19702,12 @@
 \LWR at customizeMathJax
 %    \end{macrocode}
 %
+% ^^A % Likewise for Ka\TeX:
+% ^^A % \changes{v0.62}{2018/11/03}{KaTeX: Nullifies \cs{ensuremath}.}
+% ^^A %    \begin{macrocode}
+% ^^A \LWR at customizeKaTeX
+% ^^A %    \end{macrocode}
+%
 %    \begin{macrocode}
 \LWR at traceinfo{LWR at newhtmlfile: done}
 }
@@ -19308,7 +19781,7 @@
 %
 %
 % \begin{macro}{\ForceHTMLTOC}
-%   For \HTML\ output, forces the next section to have a TOC entry, even if starred.
+%   For \HTML\ output, forces the next section to have a \TOC\ entry, even if starred.
 %   For use with \cs{printindex} and others which generate a starred section
 %   which should be in the \acro{TOC} so that it may be accessed via \HTML.
 %   Not necessary if used with \pkg{tocbibind}.  Also see \cs{ForceHTMLPage}.
@@ -19393,7 +19866,7 @@
 %
 % \begin{macro}{\LWR at sectionumber} \marg{section type}
 %
-% Typeset a section number and its trailing space with CSS formatting:
+% Typeset a section number and its trailing space with \CSS\ formatting:
 %    \begin{macrocode}
 \newcommand*{\LWR at sectionnumber}[1]{%
 \InlineClass{sectionnumber}{#1}%
@@ -19402,7 +19875,7 @@
 % \end{macro}
 
 
-% \DescribeObject{autosec} A tag used by the TOC and index.
+% \DescribeObject{autosec} A tag used by the \TOC\ and index.
 %
 % \begin{macro}{\LWR at createautosec} \marg{section type}
 %
@@ -19499,6 +19972,32 @@
 % \end{macro}
 %
 %
+% \begin{macro}{\@partcntformat} \marg{sectiontype}
+%
+% \cs{let} to \cs{@seccntformat} by default, but may be redefined
+% by \pkg{ctex}.
+%
+% \changes{v0.62}{2018/11/17}{Added for \pkg{ctex}.}
+%
+%    \begin{macrocode}
+\let\@partcntformat\@seccntformat
+%    \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\@partnameformat}
+% Prints ``Part'' for part sections.
+%
+% Nullified by \pkg{ctex}.
+%
+% \changes{v0.62}{2018/11/17}{Added for \pkg{ctex}.}
+%    \begin{macrocode}
+\newcommand*{\@partnameformat}{\LWR at isolate{\partname}~}%
+%    \end{macrocode}
+% \end{macro}
+%
+%
+%
 % \DescribeCounter{LWR at currentautosec} Records the page number when the section
 %   was created.  If a math expression is included in the section name,
 %   and SVG math is used, the corresponding \env{lateximage} will cause the
@@ -19520,8 +20019,7 @@
 % The common actions for the high-level sectioning commands.
 %    \begin{macrocode}
 \DeclareDocumentCommand{\LWR at section}{m m m m}{%
-\LWR at traceinfo{LWR at section |#2| |#3|}%
-\LWR at traceinfo{LWR at section: not an empty section}%
+\LWR at traceinfo{LWR at section: starting}%
 \LWR at stoppars%
 %    \end{macrocode}
 % Cancel special \env{minipage} horizontal space interaction:
@@ -19567,7 +20065,7 @@
 {% new file
     \LWR at traceinfo{LWR at section: new HTML file}%
 %    \end{macrocode}
-% See if there was an optional TOC name entry:
+% See if there was an optional \TOC\ name entry:
 %    \begin{macrocode}
     \IfNoValueTF{#2}%
 %    \end{macrocode}
@@ -19603,9 +20101,9 @@
 % Footnotes may be used in section names, which would also appear in the
 % \HTML\ section opening comments, so the short \TOC\ entry is used if possible,
 % and a limited opening comment is made if the sectional unit is starred.
-% \changes{v0.43}{2017/10/31}{Fix: Nullify fonts inside HTML comment.}
+% \changes{v0.43}{2017/10/31}{Fix: Nullify fonts inside \HTML\ comment.}
 % \changes{v0.52}{2018/03/28}{Fix: Footnote numbering: Limited \HTML\ comment if starred.}
-% \changes{v0.52}{2018/03/28}{Fix: Footnote numbering: Use short TOC entry
+% \changes{v0.52}{2018/03/28}{Fix: Footnote numbering: Use short \TOC\ entry
 %                                       for HTMLDebug comments.}
 %    \begin{macrocode}
 
@@ -19638,27 +20136,31 @@
 %    \end{macrocode}
 % \changes{v0.43}{2017/11/01}{Fix: Math in section name.}
 %    \begin{macrocode}
-\setcounter{LWR at currentautosec}{\value{page}}
+\setcounter{LWR at currentautosec}{\value{page}}%
 %    \end{macrocode}
 % Check if starred:
 %    \begin{macrocode}
 \IfBooleanTF{#1}%
 {%
-\LWR at traceinfo{LWR at section: starred}%
+    \LWR at traceinfo{LWR at section: starred}%
 %    \end{macrocode}
-% Starred, but also forcing a TOC entry, so
-% add unnumbered TOC name or regular name:
+% Starred, but also forcing a \TOC\ entry, so
+% add unnumbered \TOC\ name or regular name:
 %    \begin{macrocode}
-\ifbool{LWR at forcinghtmltoc}%
-{\addcontentsline{toc}{#4}{\IfValueTF{#2}{#2}{#3}}}%
-{}%
+    \ifbool{LWR at forcinghtmltoc}%
+    {%
+        \addcontentsline{toc}{#4}{%
+            \IfValueTF{#2}{\LWR at isolate{#2}}{\LWR at isolate{#3}}%
+        }%
+    }%
+    {}%
 }% starred
 %    \end{macrocode}
-% Not starred, so step counter and add to TOC:
+% Not starred, so step counter and add to \TOC:
 %    \begin{macrocode}
 {% not starred
 %    \end{macrocode}
-% Only add a numbered TOC entry if section number is not too deep:
+% Only add a numbered \TOC\ entry if section number is not too deep:
 %    \begin{macrocode}
     \ifthenelse{%
         \cnttest{\@nameuse{LWR at depth#4}}{<=}{\value{secnumdepth}}%
@@ -19665,7 +20167,7 @@
     }%
     {% if secnumdepth
 %    \end{macrocode}
-% If in the main matter, step the counter and add the TOC entry.
+% If in the main matter, step the counter and add the \TOC\ entry.
 % For |article| class, \pkg{lwarp} assumes that all is mainmatter.
 %    \begin{macrocode}
         \LWR at traceinfo{LWR at section: about to test main matter}%
@@ -19674,32 +20176,39 @@
             \LWR at traceinfo{LWR at section: yes mainmatter}%
             \refstepcounter{#4}%
 %    \end{macrocode}
-% Add main matter numbered TOC entry with the TOC name or the regular name:
+% Add main matter numbered \TOC\ entry with the \TOC\ name or the regular name:
 %    \begin{macrocode}
             \LWR at traceinfo{LWR at section: about to addcontentsline}%
             \addcontentsline{toc}{#4}%
             {%
                  \protect\numberline{\@nameuse{the#4}}%
-                {\ignorespaces\IfValueTF{#2}{#2}{#3}\protect\relax}%
+                {%
+                    \ignorespaces%
+                    \IfValueTF{#2}{\LWR at isolate{#2}}{\LWR at isolate{#3}}\protect\relax%
+                }%
             }%
             \LWR at traceinfo{LWR at section: finished addcontentsline}%
         }% end of if main matter
 %    \end{macrocode}
-% If not main matter, add unnumbered TOC name or regular name:
+% If not main matter, add unnumbered \TOC\ name or regular name:
 %    \begin{macrocode}
         {% not main matter
             \LWR at traceinfo{LWR at section: no main matter}%
-            \addcontentsline{toc}{#4}{\IfValueTF{#2}{#2}{#3}}%
+            \addcontentsline{toc}{#4}{%
+                \IfValueTF{#2}{\LWR at isolate{#2}}{\LWR at isolate{#3}}%
+            }%
         }% end of not main matter
     }% end of secnumdepth
 %    \end{macrocode}
-% Deeper than secnumdepth, so add an unnumbered TOC entry:
+% Deeper than secnumdepth, so add an unnumbered \TOC\ entry:
 %    \begin{macrocode}
     {%
-        \addcontentsline{toc}{#4}{\IfValueTF{#2}{#2}{#3}}%
+        \addcontentsline{toc}{#4}{%
+            \IfValueTF{#2}{\LWR at isolate{#2}}{\LWR at isolate{#3}}%
+        }%
     }%
 %    \end{macrocode}
-% For part, print the section type:
+% For part, print ``Part'':
 %    \begin{macrocode}
     \ifbool{LWR at mainmatter}%
     {%
@@ -19708,7 +20217,7 @@
                 {\value{secnumdepth}}\) \AND%
             \(\cnttest{\@nameuse{LWR at depth#4}}{<=}{\LWR at depthpart}\)%
         }%
-        {\@nameuse{#4name}~{}}%
+        {\@partnameformat}%
         {}%
 %    \end{macrocode}
 % Print the section number:
@@ -19718,9 +20227,14 @@
             \cnttest{\@nameuse{LWR at depth#4}}{<=}{\value{secnumdepth}}%
         }%
         {%
-            \ifstrequal{#4}{chapter}%
-            {\protect\LWR at sectionnumber{\@chapcntformat{#4}}}%
-            {\protect\LWR at sectionnumber{\@seccntformat{#4}}}%
+            \ifstrequal{#4}{part}%
+            {%
+                \protect\LWR at sectionnumber{\@partcntformat{#4}}%
+            }{%
+                \ifstrequal{#4}{chapter}%
+                    {\protect\LWR at sectionnumber{\@chapcntformat{#4}}}%
+                    {\protect\LWR at sectionnumber{\@seccntformat{#4}}}%
+            }%
         }%
         {}%
         \LWR at traceinfo{LWR at section: finished print section number}%
@@ -19730,7 +20244,7 @@
 % Print the section name:
 %    \begin{macrocode}
 \LWR at traceinfo{LWR at section: about to print the section name}%
-#3%
+\LWR at isolate{#3}%
 %    \end{macrocode}
 % Close the heading tag, such as /H2:
 %    \begin{macrocode}
@@ -19739,7 +20253,7 @@
 %    \end{macrocode}
 % Generate a \LaTeX{} label:
 % \changes{v0.43}{2017/11/01}{Fix: Math in section name.}
-% \changes{v0.48}{2018/02/11}{Fix: TOC, LOF, LOT links.}
+% \changes{v0.48}{2018/02/11}{Fix: \TOC, \LOF, \LOT\ links.}
 %    \begin{macrocode}
 \LWR at traceinfo{LWR at section: about to create the LaTeX label}%
 \LWR at newautopagelabel{LWR at currentautosec}%
@@ -19856,11 +20370,7 @@
 % \changes{v0.45}{2017/12/04}{Add optional heading title for \pkg{memoir}.}
 %    \begin{macrocode}
 \DeclareDocumentCommand{\section}{s o o m}{%
-\IfValueTF{#2}{
-\LWR at traceinfo{section #2}%
-}{
-\LWR at traceinfo{section #4}%
-}
+\LWR at traceinfo{section: starting}%
 \LWR at maybeprintpendingfootnotes{\LWR at depthsection}%
 \LWR at stoppars%
 
@@ -19964,18 +20474,87 @@
 %    \end{macrocode}
 % \end{macro}
 
+
+% \begin{macro}{\theHTMLTitleSeparator}
+% May be used inside \cs{theHTMLTitleSection} to separate the
+% website's overall \HTML\ title and the particular page's
+% section name.
+% \changes{v0.52}{2018/04/01}{Fix: \cs{FileDepth} with non-utf8 encoding.}
+% \changes{v0.62}{2018/11/02}{Refactored.}
 %    \begin{macrocode}
+\ifPDFTeX% pdflatex or dvi latex
+\ifdefstring{\inputencodingname}{utf8}{%
+    \newcommand*{\theHTMLTitleSeparator}{ — }% EMdash
+}{%
+    \newcommand*{\theHTMLTitleSeparator}{ - }% hyphen
+}%
+\else%
+    \newcommand*{\theHTMLTitleSeparator}{ — }% EMdash
+\fi%
+%    \end{macrocode}
+% \end{macro}
+
+
+% \begin{macro}{\HTMLTitleBeforeSection}
+% Sets the \HTML\ page's meta \attribute{title} tag to
+% show the website title before the section name.
+%    \begin{macrocode}
+\newcommand*{\HTMLTitleBeforeSection}{%
+    \def\theHTMLTitleSection{%
+        \theHTMLTitle\theHTMLTitleSeparator\theHTMLSection%
+    }
+}
+%    \end{macrocode}
+% \end{macro}
+
+
+% \begin{macro}{\HTMLTitleAfterSection}
+% Sets the \HTML\ page's meta \attribute{title} tag to
+% show the section name before the website title.
+%    \begin{macrocode}
+\newcommand*{\HTMLTitleAfterSection}{%
+    \def\theHTMLTitleSection{%
+        \theHTMLSection\theHTMLTitleSeparator\theHTMLTitle%
+    }
+}
+%    \end{macrocode}
+% \end{macro}
+
+
+% \begin{macro}{\theHTMLTitleSection}
+% Forms the \HTML\ page's meta \attribute{title} tag.
+% The default is to show the website title before the section name.
+% \changes{v0.62}{2018/11/02}{Added.}
+%    \begin{macrocode}
+\HTMLTitleBeforeSection
+%    \end{macrocode}
+% \end{macro}
+
+
+% \begin{macro}{\theHTMLSection}
+% The section name is passed to \cs{LWR at filestart},
+% which then sets \cs{theHTMLSection} for use
+% inside \cs{theHTMLTitleSection} to create an
+% \HTML\ meta \attribute{title} tag.
+% \changes{v0.62}{2018/11/02}{Added.}
+%    \begin{macrocode}
+\newcommand*{\theHTMLSection}{}
+%    \end{macrocode}
+% \end{macro}
+
+%    \begin{macrocode}
 \end{warpall}
 %    \end{macrocode}
 
 
+
 % \codehtml
 %    \begin{macrocode}
 \begin{warpHTML}
 %    \end{macrocode}
 
-% \begin{macro}{\LWR at filestart} \marg{title\_suffix}
 
+% \begin{macro}{\LWR at filestart} \oarg{sectionname} \qquad
 % Creates the opening \HTML\ tags.
 % \changes{v0.19}{2016/05/25}{lwarp\_mathjax.txt loaded.}
 % \changes{v0.20}{2016/06/27}{Adds meta description.}
@@ -19983,14 +20562,19 @@
 % \changes{v0.28}{2017/04/06}{Adds \HTML\ meta author.}
 %
 %    \begin{macrocode}
-\newcommand*{\LWR at filestart}[1]{
-\LWR at traceinfo{LWR at filestart !#1!}
+\newcommand*{\LWR at filestart}[1][]{%
+\LWR at traceinfo{LWR at filestart !#1!}%
 %    \end{macrocode}
 % Locally temporarily disable direct-formatting commands:
 %    \begin{macrocode}
-\begingroup
-\LWR at nullfonts
+\begingroup%
+\LWR at nullfonts%
 %    \end{macrocode}
+% Save the section name for use while creating the
+% \HTML\ meta \attribute{title} tag:
+%    \begin{macrocode}
+\edef\theHTMLSection{#1}%
+%    \end{macrocode}
 % Create the page's \HTML\ header:
 %    \begin{macrocode}
 \LWR at htmltag{!DOCTYPE html}\LWR at orignewline
@@ -20049,12 +20633,20 @@
 \LWR at htmltag{/script}\LWR at orignewline
 \LWR at htmltag{![endif]{-}{-}}\LWR at orignewline
 %    \end{macrocode}
-% The page's title:
+% The page's title, if there is one.  
+% A section name is also added if given.
 % \changes{v0.44}{2017/11/18}{Add \cs{HTMLTitle}.}
+% \changes{v0.62}{2018/11/02}{Refactored.}
 %    \begin{macrocode}
 \ifthenelse{\equal{\theHTMLTitle}{}}%
 {}%
-{\LWR at htmltag{title}\theHTMLTitle#1\LWR at htmltag{/title}\LWR at orignewline}%
+{%
+    \LWR at htmltag{title}%
+    \ifdefempty{\theHTMLSection}%
+        {\theHTMLTitle}%
+        {\theHTMLTitleSection}%
+    \LWR at htmltag{/title}\LWR at orignewline%
+}%
 %    \end{macrocode}
 % The page's stylesheet:
 %    \begin{macrocode}
@@ -20071,11 +20663,19 @@
 {%
     \begingroup%
     \LWR at restoreoriglists%
-    \boolfalse{LWR at verbtags}
-    \verbatiminput{lwarp_mathjax.txt}%
-    \booltrue{LWR at verbtags}
+    \boolfalse{LWR at verbtags}%
+%    \end{macrocode}
+% ^^A     \ifbool{mathKaTeX}{%
+% ^^A         \verbatiminput{lwarp_KaTeX.txt}%
+% ^^A     }{%
+%    \begin{macrocode}
+        \verbatiminput{lwarp_mathjax.txt}%
+%    \end{macrocode}
+% ^^A     }%
+%    \begin{macrocode}
+    \booltrue{LWR at verbtags}%
     \endgroup%
-    \LWR at stoppars
+    \LWR at stoppars%
 }% end of mathjax
 {}%
 %    \end{macrocode}
@@ -20101,7 +20701,7 @@
 
 
 
-% \section{Starting HTML output}
+% \section{Starting \HTML\ output}
 
 % \codehtml
 %    \begin{macrocode}
@@ -20211,13 +20811,13 @@
 %    \end{macrocode}
 % Logos:
 %    \begin{macrocode}
-\let\TeX\LWR at TeX
-\let\LaTeX\LWR at LaTeX
-\let\LuaTeX\LWR at LuaTeX
-\let\LuaLaTeX\LWR at LuaLaTeX
-\let\XeTeX\LWR at XeTeX
-\let\XeLaTeX\LWR at XeLaTeX
-\let\ConTeXt\LWR at ConTeXt
+\LetLtxMacro\TeX\LWR at TeX
+\LetLtxMacro\LaTeX\LWR at LaTeX
+\LetLtxMacro\LuaTeX\LWR at LuaTeX
+\LetLtxMacro\LuaLaTeX\LWR at LuaLaTeX
+\LetLtxMacro\XeTeX\LWR at XeTeX
+\LetLtxMacro\XeLaTeX\LWR at XeLaTeX
+\LetLtxMacro\ConTeXt\LWR at ConTeXt
 %    \end{macrocode}
 % Not yet started any paragraph handling:
 %    \begin{macrocode}
@@ -20233,7 +20833,7 @@
 % Start a new \HTML\ file and a header:
 %    \begin{macrocode}
 \LWR at traceinfo{LWR at lwarpStart: Starting new file.}
-\LWR at filestart{}
+\LWR at filestart
 \LWR at traceinfo{LWR at lwarpStart: Generating first header.}
 \LWR at htmltag{header}\LWR at orignewline
 \LWR at startpars
@@ -20268,7 +20868,8 @@
 \LWR at startpars
 %    \end{macrocode}
 %
-% If using MathJax, disable \cs{ensuremath} by printing a nullified
+% If using \brand{MathJax},
+% disable \cs{ensuremath} by printing a nullified
 % definition at the start of each file, and add further customizations:
 % \changes{v0.51}{2018/03/18}{MathJax: Nullifies \cs{ensuremath}.}
 %    \begin{macrocode}
@@ -20275,6 +20876,12 @@
 \LWR at customizeMathJax
 %    \end{macrocode}
 %
+% ^^A % Likewise for Ka\TeX:
+% ^^A % \changes{v0.62}{2018/11/03}{KaTeX: Nullifies \cs{ensuremath}.}
+% ^^A %    \begin{macrocode}
+% ^^A \LWR at customizeKaTeX
+% ^^A %    \end{macrocode}
+%
 %    \begin{macrocode}
 \LWR at traceinfo{LWR at lwarpStart: done}
 }
@@ -20291,7 +20898,7 @@
 
 
 
-% \section{Ending HTML output}
+% \section{Ending \HTML\ output}
 
 % \codehtml
 %    \begin{macrocode}
@@ -20301,7 +20908,7 @@
 
 % \begin{macro}{\LWR at requesttoc} \marg{boolean} \marg{suffix}
 % \changes{v0.18}{2016/05/19}{Reorganize \cs{HomeHTMLFilename} logic.}
-% Requests that a toc, lof, or lot be generated.
+% Requests that a \TOC, \LOF, or \LOT be generated.
 
 %    \begin{macrocode}
 \newcommand*{\LWR at requesttoc}[2]{%
@@ -20630,7 +21237,7 @@
 
 
 
-% \subsection{Printing the title, etc.\ in HTML}
+% \subsection{Printing the title, etc.\ in \HTML}
 %
 % \changes{v0.20}{2017/01/21}{Enhanced \pkg{titling} support.}
 %
@@ -20762,7 +21369,7 @@
 %
 %
 %
-% \subsection{\cs{maketitle} for HTML output}
+% \subsection{\cs{maketitle} for \HTML\ output}
 % \label{sec:titlehtml}
 %
 % An \HTML\ \element{div} of class \attribute{titlepage} is used.
@@ -21954,7 +22561,7 @@
 % \changes{v0.20}{2017/01/17}{Tabular: \cs{unskip} extra spaces.}
 % \changes{v0.33}{2017/06/20}{New handling of \progcode{\&} to localize catcode changes.}
 % \changes{v0.33}{2017/07/10}{Add: Tabular at and bang columns now have their
-%	own HTML columns.}
+%	own \HTML\ columns.}
 %
 % \codehtml
 %    \begin{macrocode}
@@ -22909,7 +23516,7 @@
 
 % \subsection{Parsing the column specifications}
 
-% HTML \CSS\ cannot exactly match the \LaTeX{} concept of a baseline for
+% \HTML\ \CSS\ cannot exactly match the \LaTeX{} concept of a baseline for
 % a table row.
 % \trouble[tabular baselines]{tabular>baselines}
 % \Cref{tab:baseline} shows the \LaTeX{} results for various
@@ -22939,7 +23546,7 @@
 % converted to \HTML.
 %
 % \begin{table}
-% \caption{Tabular HTML column conversions\label{tab:columnconversions}}
+% \caption{Tabular \HTML\ column conversions\label{tab:columnconversions}}
 % \gindex{tabular>HTML colummn conversion}
 % \gindex{HTML>tabular column conversion}
 %
@@ -23183,7 +23790,7 @@
 % If \pkg{colortbl} is loaded, these macros will be replaced with
 % functional versions.
 %
-% For each of the HTML colors below, the text for the \HTML\ color is
+% For each of the \HTML\ colors below, the text for the \HTML\ color is
 % set if requested, but the macro is empty if none has been set.
 %
 % \begin{macro}{\rownum}
@@ -24118,7 +24725,7 @@
 %    \end{macrocode}
 
 
-% \begin{macro}{\LWR at subaddtabularcellcolor} \marg{HTML color}
+% \begin{macro}{\LWR at subaddtabularcellcolor} \marg{\HTML\ color}
 %    \begin{macrocode}
 \newcommand*{\LWR at subaddtabularcellcolor}[1]{%
 \LWR at htmltag{div class="cellcolor" style="%
@@ -24664,7 +25271,7 @@
 %    \begin{macrocode}
 {% yes star
     \LWR at figcaption%
-    #3%
+    \LWR at isolate{#3}%
     \endLWR at figcaption%
 }%
 {% No star:
@@ -24688,7 +25295,9 @@
 % Create an \HTML\ caption.  Afterwards, maybe make a LOT entry.
 %    \begin{macrocode}
     \LWR at figcaption%
-    \@nameuse{fnum@\LTcaptype}\CaptionSeparator#3%
+    \LWR at isolate{\@nameuse{fnum@\LTcaptype}}%
+    \CaptionSeparator%
+    \LWR at isolate{#3}%
     \endLWR at figcaption%
 %    \end{macrocode}
 % See if an optional caption was given:
@@ -24695,7 +25304,7 @@
 %    \begin{macrocode}
     \ifblank{#2}% TOC entry empty
 %    \end{macrocode}
-% if the optional caption was given, but empty, do not form a TOC entry
+% if the optional caption was given, but empty, do not form a \TOC\ entry
 %    \begin{macrocode}
     {}%
 %    \end{macrocode}
@@ -24711,9 +25320,9 @@
             {\@nameuse{ext@\LTcaptype}}%
             {\LTcaptype}%
             {%
-            \protect\numberline%
-            {\@nameuse{p@\LTcaptype}\@nameuse{the\LTcaptype}}%
-            {\ignorespaces #3\protect\relax}%
+                \protect\numberline%
+                {\LWR at isolate{\@nameuse{p@\LTcaptype}}\@nameuse{the\LTcaptype}}%
+                {\ignorespaces \LWR at isolate{#3}\protect\relax}%
             }%
         }% end of No TOC entry
 %    \end{macrocode}
@@ -24724,9 +25333,9 @@
             {\@nameuse{ext@\LTcaptype}}%
             {\LTcaptype}%
             {%
-            \protect\numberline%
-            {\@nameuse{p@\LTcaptype}\@nameuse{the\LTcaptype}}%
-            {\ignorespaces #2\protect\relax}%
+                \protect\numberline%
+                {\LWR at isolate{\@nameuse{p@\LTcaptype}}\@nameuse{the\LTcaptype}}%
+                {\ignorespaces \LWR at isolate{#2}\protect\relax}%
             }%
         }% end of yes TOC entry
     }% end of TOC entry not empty
@@ -24746,7 +25355,7 @@
 
 
 
-% \subsubsection{Counting HTML tabular columns}
+% \subsubsection{Counting \HTML\ tabular columns}
 
 % The \LaTeX\ specification for a table includes a number of columns separated
 % by the |&| character.  These columns differ in content from line to line.
@@ -25280,7 +25889,7 @@
 % \end{macro}
 
 
-% \subsection{HTML \env{tabular} environment}
+% \subsection{\HTML\ \env{tabular} environment}
 
 % \codehtml
 %    \begin{macrocode}
@@ -25757,8 +26366,8 @@
 \GetTitleStringExpand{#1}%
 \edef\@currentlabelname{\detokenize\expandafter{\GetTitleStringResult}}%
 \edef\@currentlabelname{%
-\expandafter\LWR at stripperiod\@currentlabelname%
-\ltx at empty.\ltx at empty\@nil%
+    \expandafter\LWR at stripperiod\@currentlabelname%
+    \ltx at empty.\ltx at empty\@nil%
 }%
 }
 %    \end{macrocode}
@@ -25765,7 +26374,7 @@
 % \end{macro}
 
 
-% \subsection{Zref setup}
+% \subsection{\pkg{zref} setup}
 % \label{sec:zrefsetup}
 
 % See: \\
@@ -26318,7 +26927,7 @@
 % \begin{macro}{\LWR at subinlineimage} \oarg{alttag} \marg{class}
 %	\marg{filename} \marg{extension} \marg{style}
 %
-% \changes{v0.18}{2016/05/18}{Surpress extra space.}
+% \changes{v0.18}{2016/05/18}{Suppress extra space.}
 %    \begin{macrocode}
 \newcommand*{\LWR at subinlineimage}[5][]{%
 \ifblank{#1}%
@@ -26630,7 +27239,7 @@
 %    \begin{macrocode}
 \AtBeginDocument{\renewcommand{\@makecaption}[2]{%
     \LWR at traceinfo{@makecaption}%
-    #1\CaptionSeparator#2%
+    \LWR at isolate{#1}\CaptionSeparator\LWR at isolate{#2}%
     \LWR at traceinfo{@makecaption: done}%
 }%
 }
@@ -26638,7 +27247,7 @@
 % \end{macro}
 
 
-% \subsection{Caption and LOF linking and tracking}
+% \subsection{Caption and \LOF\ linking and tracking}
 
 % When a new \HTML\ file is marked in the \LaTeX\ \PDF\ file,
 % the \LaTeX\ page number at that point is stored in |LWR at latestautopage|,
@@ -26692,19 +27301,19 @@
 %    \begin{macrocode}
 \newenvironment*{LWR at figcaption}
 {%
-\LWR at traceinfo{LWR at figcaption env start}%
-\LWR at htmlblocktag{figcaption}%
-\ifbool{FormatWP}{%
-\begin{BlockClass}[font-style:italic]{italic}
-\LWR at print@vspace*{\baselineskip}
-}{}%
-\LWR at traceinfo{LWR at figcaption env start: done}%
+    \LWR at traceinfo{LWR at figcaption env start}%
+    \LWR at htmlblocktag{figcaption}%
+    \ifbool{FormatWP}{%
+        \begin{BlockClass}[font-style:italic]{italic}
+        \LWR at print@vspace*{\baselineskip}
+    }{}%
+    \LWR at traceinfo{LWR at figcaption env start: done}%
 }
 {%
-\LWR at traceinfo{LWR at figcaption env end}%
-\ifbool{FormatWP}{\end{BlockClass}}{}%
-\LWR at htmlblocktag{/figcaption}%
-\LWR at traceinfo{LWR at figcaption env end: done}%
+    \LWR at traceinfo{LWR at figcaption env end}%
+    \ifbool{FormatWP}{\end{BlockClass}}{}%
+    \LWR at htmlblocktag{/figcaption}%
+    \LWR at traceinfo{LWR at figcaption env end: done}%
 }
 %    \end{macrocode}
 % \end{environment}
@@ -26825,6 +27434,8 @@
 % \changes{v0.51}{2018/03/11}{Add missing support for float mechanism if necessary.}
 %    \begin{macrocode}
     \ifcsvoid{ext@#2}{\csdef{ext@#2}{#1}}{}%
+%    \end{macrocode}
+%    \begin{macrocode}
     \addtocontents{\@nameuse{ext@#2}}{%
         \protect\LWRsetnextfloat%
         {\arabic{LWR at latestautopage}}%
@@ -26884,7 +27495,7 @@
 %    \end{macrocode}
 
 
-% \subsection{Reading and printing the TOC}
+% \subsection{Reading and printing the \TOC}
 
 % \begin{macro}{\LWR at myshorttoc} \marg{toc/lof/lot/sidetoc}
 % \changes{v0.18}{2016/05/19}{Reorganize \cs{HomeHTMLFilename} logic.}
@@ -26927,7 +27538,7 @@
 
 % \begin{macro}{\LWR at subtableofcontents} \marg{toc/lof/lot} \marg{sectionstarname}
 %
-% Places a TOC/LOF/LOT at the current position.
+% Places a \TOC/\LOF/\LOT\ at the current position.
 %    \begin{macrocode}
 \NewDocumentCommand{\LWR at subtableofcontents}{m m}{%
 %    \end{macrocode}
@@ -26938,7 +27549,7 @@
 {\LWR at closeprevious{\LWR at depthchapter}}
 %    \end{macrocode}
 % Prints any pending footnotes so that they appear above the potentially
-% large TOC:
+% large \TOC:
 %    \begin{macrocode}
 \LWR at printpendingfootnotes
 %    \end{macrocode}
@@ -26946,7 +27557,7 @@
 %    \begin{macrocode}
 \@ifundefined{chapter}{\section*{#2}}{\chapter*{#2}}
 %    \end{macrocode}
-% Create a new \HTML\ |nav| containing the TOC/LOF/LOT:
+% Create a new \HTML\ |nav| containing the \TOC/\LOF/\LOT:
 %    \begin{macrocode}
 \LWR at htmlelementclass{nav}{#1}
 %    \end{macrocode}
@@ -26977,7 +27588,7 @@
 %
 %
 % \DescribeBoolean{LWR at copiedsidetoc} Used to only copy the
-% toc file to the sidetoc a single time.
+% \TOC\ file to the sidetoc a single time.
 %
 % (\pkg{listings} and perhaps other packages would re-use \cs{tableofcontents}
 % for their own purposes, causing the sidetoc to be copied more than once, and
@@ -27066,7 +27677,7 @@
 % \end{macro}
 
 
-% \subsection{High-level TOC commands}
+% \subsection{High-level \TOC\ commands}
 
 % \label{sec:listof}
 % \begin{macro}{\listof} \marg{type} \marg{title}
@@ -27091,10 +27702,10 @@
 % \end{macro}
 
 
-% \subsection{Side TOC}
+% \subsection{Side \TOC}
 % \label{sec:sidetoc}
 
-% The ``side TOC'' is a table-of-contents positioned to the side.
+% The ``side \TOC'' is a table-of-contents positioned to the side.
 %
 % It may be renamed by redefining \cs{sidetocname}, and may contain paragraphs.
 %
@@ -27182,7 +27793,7 @@
 
 
 
-% \subsection{Low-level TOC line formatting}
+% \subsection{Low-level \TOC\ line formatting}
 
 % \begin{macro}{\numberline} \marg{number}
 %
@@ -27218,12 +27829,12 @@
 \NewDocumentCommand{\hypertoc}{m m +m m}{%
 \LWR at traceinfo{hypertoc !#1!#2!#3!#4!}%
 %    \end{macrocode}
-% Respond to tocdepth:
+% Respond to |tocdepth|:
 %    \begin{macrocode}
 \ifthenelse{\cnttest{#1}{<=}{\value{tocdepth}}}{%
     \LWR at startpars%
 %    \end{macrocode}
-% Create an \HTML\ link to filename\#autosec-(page), with text of the caption,
+% Create an \HTML\ link to filename\#autosec-(page), with the name,
 % of the given \HTML\ class.
 % \changes{v0.47}{2018/01/26}{Fix: Line wrap at \HTML\ hyphen.}
 %    \begin{macrocode}
@@ -27314,9 +27925,15 @@
 % \begin{macro}{\l at chapter} \marg{name} \marg{page}
 %
 % Uses \cs{DeclareDocumentCommand} in case the class does not happen to have a \cs{chapter}.
+% \changes{v0.62}{2018/11/17}{Don't define if no \cs{chapter}.
+%   Fix for \pkg{algorithm2e}.}
 %    \begin{macrocode}
+\@ifundefined{chapter}
+{}
+{
 \DeclareDocumentCommand{\l at chapter}{m m}
     {\hypertoc{0}{chapter}{#1}{#2}}
+}
 %    \end{macrocode}
 % \end{macro}
 
@@ -27514,15 +28131,15 @@
 % \changes{v0.61}{2018/09/27}{Made robust,}
 %    \begin{macrocode}
 \newcommand{\LWR at hyperindexrefnullified}{%
-\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}}}%
+\renewrobustcmd{\emph}[1]{\LWR at HTML@emph{\LWR at doindexentry{##1}}}%
+\renewrobustcmd{\textbf}[1]{\LWR at HTML@textbf{\LWR at doindexentry{##1}}}%
+\renewrobustcmd{\textrm}[1]{\LWR at HTML@textrm{\LWR at doindexentry{##1}}}%
+\renewrobustcmd{\textsf}[1]{\LWR at HTML@textsf{\LWR at doindexentry{##1}}}%
+\renewrobustcmd{\texttt}[1]{\LWR at HTML@texttt{\LWR at doindexentry{##1}}}%
+\renewrobustcmd{\textup}[1]{\LWR at HTML@textup{\LWR at doindexentry{##1}}}%
+\renewrobustcmd{\textsc}[1]{\LWR at HTML@textsc{\LWR at doindexentry{##1}}}%
+\renewrobustcmd{\textit}[1]{\LWR at HTML@textit{\LWR at doindexentry{##1}}}%
+\renewrobustcmd{\textsl}[1]{\LWR at HTML@textsl{\LWR at doindexentry{##1}}}%
 }
 %    \end{macrocode}
 % \end{macro}
@@ -27722,17 +28339,6 @@
 \let\textellipsis\LWR at origtextellipsis%
 \let\textless\LWR at origtextless%
 \let\textgreater\LWR at origtextgreater%
-\LetLtxMacro\textrm\LWR at origtextrm%
-\LetLtxMacro\textsf\LWR at origtextsf%
-\LetLtxMacro\texttt\LWR at origtexttt%
-\LetLtxMacro\textbf\LWR at origtextbf%
-\LetLtxMacro\textmd\LWR at origtextmd%
-\LetLtxMacro\textit\LWR at origtextit%
-\LetLtxMacro\textsl\LWR at origtextsl%
-\LetLtxMacro\textsc\LWR at origtextsc%
-\LetLtxMacro\textup\LWR at origtextup%
-\LetLtxMacro\textnormal\LWR at origtextnormal%
-\LetLtxMacro\emph\LWR at origemph%
 \LetLtxMacro\rmfamily\LWR at origrmfamily%
 \LetLtxMacro\sffamily\LWR at origsffamily%
 \LetLtxMacro\ttfamily\LWR at origttfamily%
@@ -27804,7 +28410,7 @@
 % \limitsmathdisplay
 
 
-% \subsection{HTML \attribute{alt} tag names}
+% \subsection{\HTML\ \attribute{alt} tag names}
 %
 % Redefinable names for the \HTML\ \attribute{alt} tags,
 % for translation according to the reader's native language.
@@ -27869,7 +28475,7 @@
 %	in which case it will not be seen by \brand{MathJax}.
 % \changes{v0.19}{2016/06/08}{Avoids \brand{MathJax}.}
 % \changes{v0.26}{2017/03/30}{Dollar span avoided in a lateximage.}
-% \changes{v0.51}{2018/03/23}{HTML entity used for text dollar.}
+% \changes{v0.51}{2018/03/23}{\HTML\ entity used for text dollar.}
 %    \begin{macrocode}
 \let\LWR at origtextdollar\$
 
@@ -28581,7 +29187,7 @@
 \LWR at restoreorigformatting
 %    \end{macrocode}
 % ^^A When a label is encountered, the \HTML\ comment is closed,
-% ^^A the label is generated in an HTML-output context,
+% ^^A the label is generated in an \HTML-output context,
 % ^^A then the \HTML\ comment is opened again.
 % See \cs{LWR at htmlmathlabel} in \cref{sec:amsmathsupport}.
 %
@@ -28604,7 +29210,6 @@
 % \end{macro}
 
 
-%
 % \begin{macro}{\LWR at addmathjax} \marg{environment} \marg{contents}
 %
 % Given the name of a math environment and its contents,
@@ -29251,7 +29856,7 @@
 %    \end{macrocode}
 
 
-% \subsection{Sanitizing math expressions for HTML}
+% \subsection{Sanitizing math expressions for \HTML}
 
 % \codehtml
 %    \begin{macrocode}
@@ -29444,7 +30049,7 @@
 %    \end{macrocode}
 
 
-% \subsection{HTML \attribute{alt} tags}
+% \subsection{\HTML\ \attribute{alt} tags}
 
 % \begin{macro}{\LWR at amsmathbody} \marg{envname} \qquad
 %   For use inside the optional argument to a \env{lateximage}
@@ -29484,7 +30089,7 @@
 % \subsection{\env{lateximage} environment}
 
 % \begin{environment}{lateximage} * \oarg{2: \element{alt} tag}
-%                                       \oarg{3: add'l hashing} \oarg{4: CSS style}
+%                                       \oarg{3: add'l hashing} \oarg{4: \CSS\ style}
 %
 % Typesets the contents and then renders the result as an \SVG\ file.
 % Star causes the image to be hashed for reuse.
@@ -29493,7 +30098,7 @@
 %
 % \describehashing
 %
-% \changes{v0.18}{2016/05/18}{Surpress extra space.}
+% \changes{v0.18}{2016/05/18}{Suppress extra space.}
 % \changes{v0.18}{2016/05/18}{pdfcrop: -{}-hires added.}
 % \changes{v0.18}{2016/05/19}{Reorganize \cs{HomeHTMLFilename} logic.}
 % \changes{v0.26}{2017/03/22}{Print mode now uses a \env{minipage} of \cs{linewidth}.}
@@ -29771,7 +30376,7 @@
 \begin{warpprint}
 %    \end{macrocode}
 
-% \begin{environment}{lateximage} \oarg{\element{alt} tag} \oarg{CSS style}
+% \begin{environment}{lateximage} \oarg{\element{alt} tag} \oarg{\CSS\ style}
 %
 % \env{varwidth} is used to create a box of the natural width of its contents.
 %
@@ -29915,8 +30520,8 @@
 
 
 
-
-% \section{Pre-loaded packages}
+% ^^A *preloaded
+% \section{Preloaded packages}
 %
 % \codehtml
 %    \begin{macrocode}
@@ -29924,11 +30529,21 @@
 %    \end{macrocode}
 %
 %
+% If was loaded before \pkg{lwarp}, load the \pkg{lwarp} version as well.
+% \begin{macro}{\LWR at PreloadedPackage} \marg{packagename}
+% \changes{v0.62}{2018/11/17}{Added.}
+%    \begin{macrocode}
+\newcommand*{\LWR at PreloadedPackage}[1]{%
+\@ifpackageloaded{#1}{\LWR at origRequirePackage{lwarp-#1}}{}
+}
+%    \end{macrocode}
+% \end{macro}
+%
 % If \pkg{textcomp} was loaded before \pkg{lwarp},
 % perhaps as part of the font-related packages,
 % explicitly load the lwarp patches now:
 %    \begin{macrocode}
-\@ifpackageloaded{textcomp}{\LWR at origRequirePackage{lwarp-textcomp}}{}
+\LWR at PreloadedPackage{textcomp}
 %    \end{macrocode}
 
 % If \pkg{xunicode} was loaded before \pkg{lwarp},
@@ -29935,17 +30550,22 @@
 % perhaps as part of the font-related packages,
 % explicitly load the lwarp patches now:
 %    \begin{macrocode}
-\@ifpackageloaded{xunicode}{\LWR at origRequirePackage{lwarp-xunicode}}{}
+\LWR at PreloadedPackage{xunicode}
 %    \end{macrocode}
 
 % If \pkg{graphics} or \pkg{graphicx} were loaded before \pkg{lwarp},
 % perhaps by \pkg{xunicode}, explicitly load the lwarp patches now:
 %    \begin{macrocode}
-\@ifpackageloaded{graphics}{\LWR at origRequirePackage{lwarp-graphics}}{}
-\@ifpackageloaded{graphicx}{\LWR at origRequirePackage{lwarp-graphicx}}{}
+\LWR at PreloadedPackage{graphics}
+\LWR at PreloadedPackage{graphicx}
 %    \end{macrocode}
 
+% \pkg{ulem} may be preloaded by \pkg{ctex}, \pkg{ctexart}, and related classes.
 %    \begin{macrocode}
+\LWR at PreloadedPackage{ulem}
+%    \end{macrocode}
+
+%    \begin{macrocode}
 \end{warpHTML}
 %    \end{macrocode}
 
@@ -29954,7 +30574,7 @@
 
 
 
-% \section{Siunitx}
+% \section{\pkg{siunitx}}
 % \label{sec:siunitx}
 
 % \DescribePackage{siunitx}
@@ -30036,7 +30656,7 @@
 %    \end{macrocode}
 
 
-% \section{Xcolor boxes}
+% \section{\pkg{xcolor} boxes}
 %
 % \label{sec:xcolorpatches}
 %
@@ -30112,8 +30732,9 @@
 %
 % The current color is remembered, then set to the frame, then the current
 % color is used for the contents.
+% \changes{v0.62}{2018/10/18}{Fix: No longer requires \pkg{xifthen}.}
 %    \begin{macrocode}
-\ifthenelse{\equal{#4}{none}}%
+\ifstrequal{#4}{none}%
 {% #4 none
     \LWR at traceinfo{background is none}%
     {% scope the \colorlet
@@ -30189,8 +30810,9 @@
 %
 % The current color is remembered, then set to the frame, then the current
 % color is used for the contents.
+% \changes{v0.62}{2018/10/18}{Fix: No longer requires \pkg{xifthen}.}
 %    \begin{macrocode}
-\ifthenelse{\equal{#4}{none}}%
+\ifstrequal{#4}{none}%
 {% #4 none
     {% scope the \colorlet
         \colorlet{LWR at currentcolor}{.}%
@@ -30235,7 +30857,7 @@
 
 
 
-% \section{Chemmacros environments}
+% \section{\pkg{chemmacros} environments}
 % \label{sec:chemmacrosprintenvs}
 %
 % \cs{makepolymerdelims} and redox reactions must be enclosed in a \env{lateximage}
@@ -30287,7 +30909,7 @@
 
 
 
-% \section{Cleveref}
+% \section{\pkg{cleveref}}
 % \label{sec:cleveref}
 
 % \DescribePackage{cleveref}
@@ -30499,7 +31121,7 @@
 
 
 
-% \section{Picture}
+% \section{\env{picture} environment}
 % \label{sec:picture}
 
 % \DescribeEnv{picture} The \env{picture} environment is enclosed
@@ -30804,7 +31426,7 @@
 % \end{environment}
 %
 %
-% \subsection{Parbox, mbox, makebox, framebox, fbox, raisebox}
+% \subsection{\cs{parbox}, \cs{mbox}, \cs{makebox}, \cs{framebox}, \cs{fbox}, \cs{raisebox}}
 %
 % \codehtml
 %
@@ -31073,7 +31695,9 @@
 \endminipage%
 }
 
-\newenvironment{fminipage}{\LWR at print@fminipage}{\endLWR at print@fminipage}
+\LetLtxMacro\fminipage\LWR at print@fminipage
+\LetLtxMacro\endfminipage\endLWR at print@fminipage
+% \newenvironment{fminipage}{\LWR at print@fminipage}{\endLWR at print@fminipage}
 
 \end{warpall}
 %    \end{macrocode}
@@ -31089,6 +31713,12 @@
 \LWR at forceminwidth{\fboxrule}%
 \setlength{\LWR at tempwidth}{#4}%
 \IfValueT{#2}{\setlength{\LWR at tempheight}{#2}}%
+%    \end{macrocode}
+% \changes{v0.62}{2018/11/11}{Fix: Horiz white space.}
+%    \begin{macrocode}
+\LWR at stoppars%
+%    \end{macrocode}
+%    \begin{macrocode}
 \begin{BlockClass}[%
 \LWR at blackborderpadding ; %
 \IfValueT{#2}{height:\LWR at printlength{\LWR at tempheight} ; }%
@@ -31097,6 +31727,12 @@
 }
 {%
 \end{BlockClass}%
+%    \end{macrocode}
+% Prevent paragraph tags around horizontal white space
+% until the start of the next paragraph:
+% \changes{v0.62}{2018/11/11}{Fix: Horiz white space.}
+%    \begin{macrocode}
+\global\booltrue{LWR at minipagethispar}%
 \LWR at traceinfo{fminipage done}%
 }
 
@@ -31135,7 +31771,7 @@
 %
 % \limitstext
 %
-% For high-level block and inline custom CSS classes,
+% For high-level block and inline custom \CSS\ classes,
 % see \cref{sec:highlevelclasses}.
 
 
@@ -31144,34 +31780,24 @@
 \begin{warpHTML}
 %    \end{macrocode}
 
+
 % \changes{v0.34}{2017/08/05}{Improved font control.}
 % \changes{v0.35}{2017/08/08}{Fix: \cs{textbf} and related.}
 % \changes{v0.42}{2017/10/20}{\cs{textbf} and related: If \progcode{FormatWP}, use explicit styles for
 %   \cs{textsc}, etc.}
+% \changes{v0.62}{2018/11/11}{\cs{textbf} and related: Improved font detection.}
 
-
-
-% \begin{macro}{\LWR at HTMLtextstyle} \marg{FormatWP style} \marg{class} \marg{text}
-%
-% If |FormatWP|, adds an explicit style to the text span class.
-% This is used by \brand{LibreOffice} to mark its imported text using the given style.
-% \changes{v0.42}{2017/10/20}{Added.}
+% \begin{macro}{\emph} \marg{text}
 %    \begin{macrocode}
-\DeclareRobustCommand{\LWR at HTMLtextstyle}[3]{%
-\ifbool{FormatWP}%
-{\LWR at htmlspanclass[#1]{#2}{#3}}%
-{\LWR at htmlspanclass{#2}{#3}}%
+\DeclareRobustCommand{\LWR at HTML@emph}[1]{%
+    {%
+        \itshape%
+        \LWR at htmlspan{em}{#1}%
+    }%
 }
-%    \end{macrocode}
-% \end{macro}
+\LWR at formatted{emph}
 
-
-
-% \begin{macro}{\emph} \marg{text}
-%    \begin{macrocode}
-\DeclareRobustCommand{\LWR at HTMLemph}[1]{\LWR at htmlspan{em}{#1}}
-\DeclareRobustCommand{\LWR at nullemph}[1]{#1}
-\LetLtxMacro\emph\LWR at HTMLemph
+\DeclareRobustCommand{\LWR at null@emph}[1]{#1}
 %    \end{macrocode}
 % \end{macro}
 
@@ -31178,12 +31804,15 @@
 
 % \begin{macro}{\textmd} \marg{text}
 %    \begin{macrocode}
-\DeclareRobustCommand{\LWR at HTMLtextmd}[1]{%
-\LWR at HTMLtextstyle{font-weight:normal}{textmd}{#1}%
+\DeclareRobustCommand{\LWR at HTML@textmd}[1]{%
+    {%
+        \mdseries%
+        \InlineClass(font-weight:normal){textmd}{#1}%
+    }%
 }
-\DeclareRobustCommand{\LWR at nulltextmd}[1]{#1}
+\LWR at formatted{textmd}
 
-\LetLtxMacro\textmd\LWR at HTMLtextmd
+\DeclareRobustCommand{\LWR at null@textmd}[1]{#1}
 %    \end{macrocode}
 % \end{macro}
 
@@ -31190,9 +31819,15 @@
 
 % \begin{macro}{\textbf} \marg{text}
 %    \begin{macrocode}
-\DeclareRobustCommand{\LWR at HTMLtextbf}[1]{\LWR at htmlspan{b}{#1}}
-\DeclareRobustCommand{\LWR at nulltextbf}[1]{#1}
-\LetLtxMacro\textbf\LWR at HTMLtextbf
+\DeclareRobustCommand{\LWR at HTML@textbf}[1]{%
+    {%
+        \bfseries%
+        \LWR at htmlspan{b}{#1}%
+    }%
+}
+\LWR at formatted{textbf}
+
+\DeclareRobustCommand{\LWR at null@textbf}[1]{#1}
 %    \end{macrocode}
 % \end{macro}
 
@@ -31199,13 +31834,15 @@
 
 % \begin{macro}{\textrm} \marg{text}
 %    \begin{macrocode}
-\DeclareRobustCommand{\LWR at HTMLtextrm}[1]{%
-\LWR at HTMLtextstyle{font-family:serif}{textrm}{#1}%
+\DeclareRobustCommand{\LWR at HTML@textrm}[1]{%
+    {%
+        \rmfamily%
+        \InlineClass(font-family:serif){textrm}{#1}%
+    }%
 }
+\LWR at formatted{textrm}
 
-\DeclareRobustCommand{\LWR at nulltextrm}[1]{#1}
-
-\LetLtxMacro\textrm\LWR at HTMLtextrm
+\DeclareRobustCommand{\LWR at null@textrm}[1]{#1}
 %    \end{macrocode}
 % \end{macro}
 
@@ -31212,64 +31849,90 @@
 
 % \begin{macro}{\textsf} \marg{text}
 %    \begin{macrocode}
-\DeclareRobustCommand{\LWR at HTMLtextsf}[1]{%
-\LWR at HTMLtextstyle{font-family:sans}{textsf}{#1}%
+\DeclareRobustCommand{\LWR at HTML@textsf}[1]{%
+    {%
+        \sffamily%
+        \InlineClass(font-family:sans){textsf}{#1}%
+    }%
 }
-\DeclareRobustCommand{\LWR at nulltextsf}[1]{#1}
-\LetLtxMacro\textsf\LWR at HTMLtextsf
+\LWR at formatted{textsf}
+
+\DeclareRobustCommand{\LWR at null@textsf}[1]{#1}
 %    \end{macrocode}
 % \end{macro}
 
 % \begin{macro}{\texttt} \marg{text}
 %    \begin{macrocode}
-\DeclareRobustCommand{\LWR at HTMLtexttt}[1]{\LWR at htmlspan{kbd}{#1}}
-\DeclareRobustCommand{\LWR at nulltexttt}[1]{#1}
-\LetLtxMacro\texttt\LWR at HTMLtexttt
+\DeclareRobustCommand{\LWR at HTML@texttt}[1]{%
+    {%
+        \ttfamily%
+        \LWR at htmlspan{kbd}{#1}%
+    }%
+}
+\LWR at formatted{texttt}
+
+\DeclareRobustCommand{\LWR at null@texttt}[1]{#1}
 %    \end{macrocode}
 % \end{macro}
 
 % \begin{macro}{\textup} \marg{text}
 % \changes{v0.28}{2017/04/13}{Fixed span class.}
+% \changes{v0.62}{2018/11/11}{Fixed WP span class.}
 %    \begin{macrocode}
-\DeclareRobustCommand{\LWR at HTMLtextup}[1]{%
-\LWR at HTMLtextstyle{font-variant:normal}{textup}{#1}%
+\DeclareRobustCommand{\LWR at HTML@textup}[1]{%
+    {%
+        \upshape%
+        \InlineClass(font-style:normal){textup}{#1}%
+    }%
 }
+\LWR at formatted{textup}
 
-\DeclareRobustCommand{\LWR at nulltextup}[1]{#1}
-
-\LetLtxMacro\textup\LWR at HTMLtextup
+\DeclareRobustCommand{\LWR at null@textup}[1]{#1}
 %    \end{macrocode}
 % \end{macro}
 
 % \begin{macro}{\textit} \marg{text}
 %    \begin{macrocode}
-\DeclareRobustCommand{\LWR at HTMLtextit}[1]{\LWR at htmlspan{i}{#1}}
-\DeclareRobustCommand{\LWR at nulltextit}[1]{#1}
-\LetLtxMacro\textit\LWR at HTMLtextit
+\DeclareRobustCommand{\LWR at HTML@textit}[1]{%
+    {%
+        \itshape%
+        \LWR at htmlspan{i}{#1}%
+    }%
+}
+\LWR at formatted{textit}
+
+\DeclareRobustCommand{\LWR at null@textit}[1]{#1}
 %    \end{macrocode}
 % \end{macro}
 
 % \begin{macro}{\textsc} \marg{text}
 %    \begin{macrocode}
-\DeclareRobustCommand{\LWR at HTMLtextsc}[1]{%
-\LWR at HTMLtextstyle{font-variant:small-caps}{textsc}{#1}%
+\DeclareRobustCommand{\LWR at HTML@textsc}[1]{%
+    {%
+        \scshape%
+        \InlineClass(
+            font-variant: small-caps ;
+            font-variant-numeric: oldstyle-nums ;
+        ){textsc}{#1}%
+    }%
 }
+\LWR at formatted{textsc}
 
-\DeclareRobustCommand{\LWR at nulltextsc}[1]{#1}
-
-\LetLtxMacro\textsc\LWR at HTMLtextsc
+\DeclareRobustCommand{\LWR at null@textsc}[1]{#1}
 %    \end{macrocode}
 % \end{macro}
 
 % \begin{macro}{\textsl} \marg{text}
 %    \begin{macrocode}
-\DeclareRobustCommand{\LWR at HTMLtextsl}[1]{%
-\LWR at HTMLtextstyle{font-style:oblique}{textsl}{#1}%
+\DeclareRobustCommand{\LWR at HTML@textsl}[1]{%
+    {%
+        \slshape%
+        \InlineClass(font-style:oblique){textsl}{#1}%
+    }%
 }
+\LWR at formatted{textsl}
 
-\DeclareRobustCommand{\LWR at nulltextsl}[1]{#1}
-
-\LetLtxMacro\textsl\LWR at HTMLtextsl
+\DeclareRobustCommand{\LWR at null@textsl}[1]{#1}
 %    \end{macrocode}
 % \end{macro}
 
@@ -31277,26 +31940,31 @@
 
 % \begin{macro}{\textnormal} \marg{text}
 %    \begin{macrocode}
-\DeclareRobustCommand{\LWR at HTMLtextnormal}[1]{\textmd{\textrm{\textup{#1}}}}
-\DeclareRobustCommand{\LWR at nulltextnormal}[1]{#1}
-\LetLtxMacro\textnormal\LWR at HTMLtextnormal
+\DeclareRobustCommand{\LWR at HTML@textnormal}[1]{\textmd{\textrm{\textup{#1}}}}
+\LWR at formatted{textnormal}
+
+\DeclareRobustCommand{\LWR at null@textnormal}[1]{#1}
 %    \end{macrocode}
 % \end{macro}
 
 
 %    \begin{macrocode}
-\DeclareRobustCommand{\LWR at nullrmfamily}{}
-\DeclareRobustCommand{\LWR at nullsffamily}{}
-\DeclareRobustCommand{\LWR at nullttfamily}{}
-\DeclareRobustCommand{\LWR at nullbfseries}{}
-\DeclareRobustCommand{\LWR at nullmdseries}{}
-\DeclareRobustCommand{\LWR at nullupshape}{}
-\DeclareRobustCommand{\LWR at nullslshape}{}
-\DeclareRobustCommand{\LWR at nullscshape}{}
-\DeclareRobustCommand{\LWR at nullitshape}{}
-\DeclareRobustCommand{\LWR at nullem}[1]{}
-\DeclareRobustCommand{\LWR at nullnormalfont}{}
+\DeclareRobustCommand{\LWR at null@rmfamily}{}
+\DeclareRobustCommand{\LWR at null@sffamily}{}
+\DeclareRobustCommand{\LWR at null@ttfamily}{}
+\DeclareRobustCommand{\LWR at null@bfseries}{}
+\DeclareRobustCommand{\LWR at null@mdseries}{}
+\DeclareRobustCommand{\LWR at null@upshape}{}
+\DeclareRobustCommand{\LWR at null@slshape}{}
+\DeclareRobustCommand{\LWR at null@scshape}{}
+\DeclareRobustCommand{\LWR at null@itshape}{}
+\DeclareRobustCommand{\LWR at null@normalfont}{}
 %    \end{macrocode}
+%
+% \changes{v0.62}{2018/11/17}{Fix for \cs{em}.}
+%    \begin{macrocode}
+\DeclareRobustCommand{\LWR at null@em}{}
+%    \end{macrocode}
 
 
 
@@ -31314,28 +31982,28 @@
 % \changes{v0.48}{2018/02/04}{Fix: \cs{newline} in title.}
 %    \begin{macrocode}
 \newcommand*{\LWR at nullfonts}{%
-\LetLtxMacro\emph\LWR at nullemph%
-\LetLtxMacro\textmd\LWR at nulltextmd%
-\LetLtxMacro\textbf\LWR at nulltextbf%
-\LetLtxMacro\textrm\LWR at nulltextrm%
-\LetLtxMacro\textsf\LWR at nulltextsf%
-\LetLtxMacro\texttt\LWR at nulltexttt%
-\LetLtxMacro\textup\LWR at nulltextup%
-\LetLtxMacro\textit\LWR at nulltextit%
-\LetLtxMacro\textsc\LWR at nulltextsc%
-\LetLtxMacro\textsl\LWR at nulltextsl%
-\LetLtxMacro\textnormal\LWR at nulltextnormal%
-\LetLtxMacro\rmfamily\LWR at nullrmfamily%
-\LetLtxMacro\sffamily\LWR at nullsffamily%
-\LetLtxMacro\ttfamily\LWR at nullttfamily%
-\LetLtxMacro\bfseries\LWR at nullbfseries%
-\LetLtxMacro\mdseries\LWR at nullmdseries%
-\LetLtxMacro\upshape\LWR at nullupshape%
-\LetLtxMacro\slshape\LWR at nullslshape%
-\LetLtxMacro\scshape\LWR at nullscshape%
-\LetLtxMacro\itshape\LWR at nullitshape%
-\LetLtxMacro\em\LWR at nullem%
-\LetLtxMacro\normalfont\LWR at nullnormalfont%
+\LetLtxMacro\emph\LWR at null@emph%
+\LetLtxMacro\textmd\LWR at null@textmd%
+\LetLtxMacro\textbf\LWR at null@textbf%
+\LetLtxMacro\textrm\LWR at null@textrm%
+\LetLtxMacro\textsf\LWR at null@textsf%
+\LetLtxMacro\texttt\LWR at null@texttt%
+\LetLtxMacro\textup\LWR at null@textup%
+\LetLtxMacro\textit\LWR at null@textit%
+\LetLtxMacro\textsc\LWR at null@textsc%
+\LetLtxMacro\textsl\LWR at null@textsl%
+\LetLtxMacro\textnormal\LWR at null@textnormal%
+\LetLtxMacro\rmfamily\LWR at null@rmfamily%
+\LetLtxMacro\sffamily\LWR at null@sffamily%
+\LetLtxMacro\ttfamily\LWR at null@ttfamily%
+\LetLtxMacro\bfseries\LWR at null@bfseries%
+\LetLtxMacro\mdseries\LWR at null@mdseries%
+\LetLtxMacro\upshape\LWR at null@upshape%
+\LetLtxMacro\slshape\LWR at null@slshape%
+\LetLtxMacro\scshape\LWR at null@scshape%
+\LetLtxMacro\itshape\LWR at null@itshape%
+\LetLtxMacro\normalfont\LWR at null@normalfont%
+\LetLtxMacro\em\LWR at null@em%
 %    \end{macrocode}
 % \changes{v0.50}{2018/02/20}{Robustify macros.}
 %    \begin{macrocode}
@@ -31345,8 +32013,8 @@
 \renewcommand*{\textellipsis}{-}%
 %    \end{macrocode}
 %    \begin{macrocode}
-\renewcommand*{\HTMLunicode}[1]{-}%
-\renewcommand*{\HTMLentity}[1]{-}%
+\renewcommand*{\HTMLunicode}[1]{}%
+\renewcommand*{\HTMLentity}[1]{}%
 %    \end{macrocode}
 % Ampersand becomes ``and'', which is a short word and is then removed from the filename.
 %    \begin{macrocode}
@@ -31362,8 +32030,7 @@
 %    \end{macrocode}
 %    \begin{macrocode}
 \RenewDocumentCommand{\LWR at htmlspanclass}{o m +m}{##3}%
-\DeclareExpandableDocumentCommand{\InlineClass}{+o +m +m}{##3}%
-\DeclareRobustCommand{\LWR at HTMLtextstyle}[3]{##3}%
+\DeclareExpandableDocumentCommand{\InlineClass}{D{(}{)}{} o m +m}{##4}%
 %    \end{macrocode}
 % Nullify math macros.
 % \changes{v0.55}{2018/04/24}{Removed extraneous space which appeared in file links.}
@@ -31392,20 +32059,36 @@
 \newcommand*{\LWR at f@shape}{up}
 %    \end{macrocode}
 
+
 % \begin{macro}{\LWR at textcurrentfont} \marg{text}
 %
 % Prints the text with the current font choices.
+% Avoids nesting repeated font selections.
 %
 % \changes{v0.48}{2018/02/02}{Added.  Improves font control.}
 % \changes{v0.56}{2018/04/27}{Added \attribute{span.textbf}, etc.}
+% \changes{v0.62}{2018/11/15}{Tracks depth to avoid nesting repeated font changes.}
 %    \begin{macrocode}
+\newcounter{LWR at textcurrentfontdepth}
+\setcounter{LWR at textcurrentfontdepth}{0}
+
 \newcommand*{\LWR at textcurrentfont}[1]{%
-\InlineClass{%
-        text\LWR at f@family\LWR at origtilde{}%
-        text\LWR at f@series\LWR at origtilde{}%
-        text\LWR at f@shape%
-    }%
-    {#1}%
+    \ifnumcomp{\value{LWR at textcurrentfontdepth}}{>}{0}%
+        {%
+            \addtocounter{LWR at textcurrentfontdepth}{1}%
+            #1%
+            \addtocounter{LWR at textcurrentfontdepth}{-1}%
+        }%
+        {%
+            \addtocounter{LWR at textcurrentfontdepth}{1}%
+            \InlineClass{%
+                    text\LWR at f@family\LWR at origtilde{}%
+                    text\LWR at f@series\LWR at origtilde{}%
+                    text\LWR at f@shape%
+                }%
+                {#1}%
+            \addtocounter{LWR at textcurrentfontdepth}{-1}%
+        }%
 }
 %    \end{macrocode}
 % \end{macro}
@@ -31426,6 +32109,7 @@
 %    \end{macrocode}
 % \end{environment}
 
+
 % \changes{v0.48}{2018/02/02}{Improved font control.}
 % \changes{v0.50}{2018/02/20}{Robustify macros.}
 %
@@ -31477,6 +32161,13 @@
 %    \end{macrocode}
 % \end{macro}
 
+% \begin{macro}{\slshape}
+% \changes{v0.62}{2018/11/11}{Added.}
+%    \begin{macrocode}
+\renewrobustcmd*{\slshape}{\renewcommand*{\LWR at f@shape}{sl}}
+%    \end{macrocode}
+% \end{macro}
+
 % \begin{macro}{\normalfont}
 %    \begin{macrocode}
 \renewrobustcmd*{\normalfont}{\rmfamily\mdseries\upshape}
@@ -31563,9 +32254,9 @@
 %   \cs{underline}, etc.}
 %    \begin{macrocode}
 \renewcommand{\underline}[1]{%
-\LWR at HTMLtextstyle%
-    {text-decoration:underline; text-decoration-skip: auto}%
-    {underline}{#1}%
+    \InlineClass%
+        (text-decoration:underline; text-decoration-skip: auto)%
+        {underline}{#1}%
 }
 %    \end{macrocode}
 % \end{macro}
@@ -31575,9 +32266,9 @@
 % \changes{v0.50}{2018/02/21}{Added.}
 %    \begin{macrocode}
 \newcommand{\LWR at overline}[1]{%
-\LWR at HTMLtextstyle%
-    {text-decoration:overline; text-decoration-skip: auto}%
-    {overline}{#1}%
+    \InlineClass%
+        (text-decoration:overline; text-decoration-skip: auto)%
+        {overline}{#1}%
 }
 %    \end{macrocode}
 % \end{macro}
@@ -31633,8 +32324,37 @@
 
 
 
+% \codeprint
+%    \begin{macrocode}
+\begin{warpprint}
+%    \end{macrocode}
 
+% \begin{macro}{\LWR at textcurrentfont} \marg{text}
+%
+% Prints the text with the current font choices.
+%
+% \changes{v0.62}{2018/11/11}{Added print version.}
+%    \begin{macrocode}
+\newcommand*{\LWR at textcurrentfont}[1]{#1}
+%    \end{macrocode}
+% \end{macro}
 
+% \begin{environment}{LWR at blocktextcurrentfont}
+%
+% Prints the contents with the current font choices.
+%
+% \changes{v0.62}{2018/11/11}{Added print version.}
+%    \begin{macrocode}
+\newenvironment*{LWR at blocktextcurrentfont}{}{}
+%    \end{macrocode}
+% \end{environment}
+
+%    \begin{macrocode}
+\end{warpprint}
+%    \end{macrocode}
+
+
+
 % \section{Skips, spaces, font sizes}
 
 % \codehtml
@@ -31765,9 +32485,14 @@
 % Inside |tabular|, |\\| is temporarily changed to \cs{LWR at tabularendofline}.
 %    \begin{macrocode}
 \LetLtxMacro\LWR at origendofline\\
-\NewDocumentCommand{\LWR at endofline}{s o}
+\NewDocumentCommand{\LWR at endofline}{s O{0pt}}
 {%
 \newline%
+%    \end{macrocode}
+% \changes{v0.62}{2018/10/14}{Extra space if optional arg.}
+%    \begin{macrocode}
+\setlength{\LWR at templengthone}{#2}%
+\ifdimgreater{\LWR at templengthone}{0pt}{\newline}{}%
 }
 %    \end{macrocode}
 % \end{macro}
@@ -31777,7 +32502,7 @@
 
 
 % \begin{macro}{\LWR at minipagestartpars}
-% \changes{v0.19}{2016/05/31}{Surpresses paragraph tags between minipages.}
+% \changes{v0.19}{2016/05/31}{Suppresses paragraph tags between minipages.}
 % \gindex{minipage>horizontal space between}
 % \gindex{space>horizontal>between minipages}
 % \gindex{horizontal space>between minipages}
@@ -31787,7 +32512,7 @@
 % a \element{div} to be inside a |p|, paragraphs must be turned off during the
 % generation of the minipage, then turned on after the minipage is complete.
 % When this occurs between side-by-side minipages, |lwarp| correctly
-% surpresses the paragraph tags between the minipages, unless some other
+% suppresses the paragraph tags between the minipages, unless some other
 % text is between the minipages.  Such text forms its own paragraph, resulting
 % in text after a minipage to be on its own line.  Since people often place
 % \DescribeMacro{\hspace}
@@ -31796,13 +32521,13 @@
 % \DescribeMacro{\qquad}
 % small horizontal space between minipages, it is desirable to maintain this
 % space if possible.  |lwarp| tries to do this by remembering that a minipage
-% has been seen, in which case paragraph tags are surpressed around
+% has been seen, in which case paragraph tags are suppressed around
 % \cs{hspace}, \cs{enskip}, \cs{quad}, and \cs{qquad} until the end of the paragraph, when
 % the closing |p| tag is created.
 %
 % When a minipage is seen, the boolean
 % |LWR at minipagethispar| is set, telling the following horizontal
-% whitespace commands to try to surpress their surrounding paragraph
+% whitespace commands to try to suppress their surrounding paragraph
 % tags.  |LWR at minipagethispar| is cleared at the next
 % end of paragraph, when the \HTML\ paragraph closing tag is
 % generated.
@@ -32203,12 +32928,17 @@
 %
 % For \CSS\ conversions, see: \\
 % \url{http://edward.oconnor.cx/2007/08/tex-poshlet} \\
-% \url{http://nitens.org/taraborelli/texlogo}
+% \url{http://nitens.org/taraborelli/texlogo} \\
+% and the spacing described in the \pkg{metafont} package documentation.
 %
 %
 %
-% \subsection{HTML logos}
+% \subsection{\HTML\ logos}
 %
+% \changes{v0.62}{2018/10/23}{Logos: CSS instead of \element{sup}, \element{sub}.}
+% \changes{v0.62}{2018/10/23}{Logos: Improved CSS.}
+% \changes{v0.62}{2018/10/23}{Logos: Made robust.}
+%
 % \codehtml
 %    \begin{macrocode}
 \begin{warpHTML}
@@ -32224,16 +32954,18 @@
 % \LaTeX, \LuaTeX, \ConTeXt, etc.
 % \changes{v0.42}{2017/10/20}{If \progcode{FormatWP} use explicit style.}
 %    \begin{macrocode}
-\let\LWR at origTeX\TeX
+\LetLtxMacro\LWR at origTeX\TeX
 
-\newcommand*{\LWR at TeX}
+\newrobustcmd*{\LWR at TeX}
 {%
     \InlineClass{latexlogofont}%
     {%
-        \LWR at HTMLtextstyle%
-            {text-transform:uppercase}%
-            {latexlogo}%
-        {T\textsubscript{e}X}%
+        \InlineClass{latexlogo}%
+        {%
+            T%
+            \InlineClass{latexlogosub}{e}%
+            X%
+        }%
     }%
 }
 %    \end{macrocode}
@@ -32243,24 +32975,35 @@
 % \changes{v0.42}{2017/10/20}{If \progcode{FormatWP} use explicit style.}
 % \begin{macro}{\LaTeXe} \LaTeX, \LaTeXe
 %    \begin{macrocode}
-\let\LWR at origLaTeX\LaTeX
+\LetLtxMacro\LWR at origLaTeX\LaTeX
 
-\newcommand*{\LWR at LaTeX}
+\newrobustcmd*{\LWR at LaTeX}
 {%
     \InlineClass{latexlogofont}%
     {%
-        \LWR at HTMLtextstyle%
-            {text-transform:uppercase}%
-            {latexlogo}%
-        {L\textsuperscript{a}T\textsubscript{e}X}%
+        \InlineClass{latexlogo}%
+        {%
+            L%
+            \InlineClass{latexlogosup}{a}%
+            T%
+            \InlineClass{latexlogosub}{e}%
+            X%
+        }%
     }%
 }
 
-\let\LWR at origLaTeXe\LaTeXe
+\LetLtxMacro\LWR at origLaTeXe\LaTeXe
 
-\renewcommand*{\LaTeXe}
-{\LaTeX\InlineClass{latexlogofont}%
-{\,2\textsubscript{\textit{\HTMLunicode{3B5}}}}}
+\renewrobustcmd*{\LaTeXe}
+{%
+    \LaTeX%
+    \InlineClass{latexlogofont}{%
+        \InlineClass{latexlogotwoe}{%
+            2%
+            \InlineClass{latexlogotwoesub}{\HTMLunicode{03B5}}%
+        }%
+    }%
+}
 %    \end{macrocode}
 % \end{macro}
 % \end{macro}
@@ -32269,8 +33012,8 @@
 % \begin{macro}{\LuaTeX}
 % \begin{macro}{\LuaLaTeX} \LuaTeX, \LuaLaTeX
 %    \begin{macrocode}
-\newcommand*{\LWR at LuaTeX}{\InlineClass{latexlogofont}{Lua}\TeX}
-\newcommand*{\LWR at LuaLaTeX}{\InlineClass{latexlogofont}{Lua}\LaTeX}
+\newrobustcmd*{\LWR at LuaTeX}{\InlineClass{latexlogofont}{Lua}\TeX}
+\newrobustcmd*{\LWR at LuaLaTeX}{\InlineClass{latexlogofont}{Lua}\LaTeX}
 %    \end{macrocode}
 % \end{macro}
 % \end{macro}
@@ -32286,16 +33029,21 @@
 % |xelatexlogo| is a \CSS\ class which aligns the backwards E in \XeLaTeX{} and spaces
 % \LaTeX{} appropriately.
 %    \begin{macrocode}
-\newcommand*{\Xe}
-  {X\textsubscript{\HTMLunicode{18e}}}
-\newcommand*{\LWR at XeTeX}{\InlineClass{xetexlogo}{\Xe}\TeX}
-\newcommand*{\LWR at XeLaTeX}{\InlineClass{xelatexlogo}{\Xe}\LaTeX}
+\newrobustcmd*{\Xe}
+    {%
+        X%
+        \InlineClass{xelatexlogosub}{\HTMLunicode{18e}}%
+    }
+
+\newrobustcmd*{\LWR at XeTeX}{\InlineClass{xelatexlogo}{\Xe}\TeX}
+
+\newrobustcmd*{\LWR at XeLaTeX}{\InlineClass{xelatexlogo}{\Xe}\LaTeX}
 %    \end{macrocode}
 % \end{macro}
 % \end{macro}
 % \begin{macro}{\ConTeXt} \ConTeXt
 %    \begin{macrocode}
-\newcommand*{\LWR at ConTeXt}
+\newrobustcmd*{\LWR at ConTeXt}
 {\InlineClass{latexlogofont}{Con}\TeX{}%
 \InlineClass{latexlogofont}{t}}
 %    \end{macrocode}
@@ -32305,10 +33053,10 @@
 % \begin{macro}{\BibTeX}
 % \begin{macro}{\MakeIndex} \BibTeX, \MakeIndex
 %    \begin{macrocode}
-\providecommand*{\BibTeX}
+\providerobustcmd*{\BibTeX}
 {\InlineClass{latexlogofont}{B\textsc{ib}}\TeX}
 
-\newcommand*{\MakeIndex}
+\newrobustcmd*{\MakeIndex}
 {\InlineClass{latexlogofont}{\textit{MakeIndex}}}
 %    \end{macrocode}
 % \end{macro}
@@ -32318,10 +33066,20 @@
 % \begin{macro}{\AmS} \AmS
 % \nopagebreak
 %
-% |amslogo| is a \CSS\ class used for the \AmS logo.
+% |amslogo| is a \CSS\ class used for the \AmS\ logo.
 %    \begin{macrocode}
-\AtBeginDocument{\DeclareDocumentCommand{\AmS}{}
-{\InlineClass{amslogo}{\textit{A\textsubscript{M}S}}}}
+\AtBeginDocument{%
+\DeclareDocumentCommand{\AmS}{}
+{%
+    \InlineClass{amslogo}{%
+        \textit{%
+            A%
+            \InlineClass{latexlogosub}{M}%
+            S%
+        }%
+    }%
+}%
+}
 %    \end{macrocode}
 % \end{macro}
 %
@@ -32328,7 +33086,7 @@
 %
 % \begin{macro}{\MiKTeX} \MiKTeX
 %    \begin{macrocode}
-\newcommand*{\MiKTeX}{\InlineClass{latexlogofont}{MiK}\TeX}
+\newrobustcmd*{\MiKTeX}{\InlineClass{latexlogofont}{MiK}\TeX}
 %    \end{macrocode}
 % \end{macro}
 %
@@ -32336,9 +33094,9 @@
 % \begin{macro}{\LyX} \LyX
 % \nopagebreak
 %
-% |lyxlogo| is a \CSS\ class used for the \LyX logo.
+% |lyxlogo| is a \CSS\ class used for the \LyX\ logo.
 %    \begin{macrocode}
-\newcommand*{\LyX}{\InlineClass{lyxlogo}{LyX}}
+\newrobustcmd*{\LyX}{\InlineClass{lyxlogo}{LyX}}
 %    \end{macrocode}
 % \end{macro}
 %
@@ -32351,23 +33109,38 @@
 %
 % \subsection{Print logos}
 %
+% \changes{v0.62}{2018/10/23}{Logos: Fix for \XeTeX\ logo if \pkg{graphics} is not loaded.}
+%
 % \codeprint
 %    \begin{macrocode}
 \begin{warpprint}
-\newcommand*{\XeTeXrevE}
-  {\hspace{-.1667em}\raisebox{-.5ex}{\reflectbox{E}}\hspace{-.125em}}
-\providecommand*{\XeTeX}{\mbox{X\XeTeXrevE\TeX}}
-\providecommand*{\XeLaTeX}{\mbox{X\XeTeXrevE\LaTeX}}
-\providecommand*{\AmS}{%
-\leavevmode\hbox{$\mathcal A\kern-.2em\lower.376ex%
-\hbox{$\mathcal M$}\kern-.2em\mathcal S$}}
-\newcommand*{\LyX}{\textsf{LyX}}
-\providecommand*{\LuaTeX}{\mbox{Lua\TeX}}
-\providecommand*{\LuaLaTeX}{\mbox{Lua\LaTeX}}
-\providecommand*{\BibTeX}{\mbox{B\textsc{ib}\TeX}}
-\providecommand*{\MakeIndex}{\mbox{\textit{MakeIndex}}}
-\providecommand*{\ConTeXt}{\mbox{Con\TeX{}t}}
-\providecommand*{\MiKTeX}{\mbox{MiK\TeX}}
+
+\newrobustcmd*{\XeTeXrevE}
+    {\hspace{-.1667em}\raisebox{-.5ex}{E}\hspace{-.125em}}
+
+\AtBeginDocument{
+\@ifpackageloaded{graphics}{
+    \renewrobustcmd*{\XeTeXrevE}
+        {\hspace{-.1667em}\raisebox{-.5ex}{\reflectbox{E}}\hspace{-.125em}}
+}{
+    \PackageWarning{lwarp}{Load graphicx or graphics
+        for improved XeTeX logo}
+}
+}
+
+\providerobustcmd*{\XeTeX}{\mbox{X\XeTeXrevE\TeX}}
+\providerobustcmd*{\XeLaTeX}{\mbox{X\XeTeXrevE\LaTeX}}
+\providerobustcmd*{\AmS}{%
+    \leavevmode\hbox{$\mathcal A\kern-.2em\lower.376ex%
+    \hbox{$\mathcal M$}\kern-.2em\mathcal S$}%
+}
+\newrobustcmd*{\LyX}{\textsf{LyX}}
+\providerobustcmd*{\LuaTeX}{\mbox{Lua\TeX}}
+\providerobustcmd*{\LuaLaTeX}{\mbox{Lua\LaTeX}}
+\providerobustcmd*{\BibTeX}{\mbox{B\textsc{ib}\TeX}}
+\providerobustcmd*{\MakeIndex}{\mbox{\textit{MakeIndex}}}
+\providerobustcmd*{\ConTeXt}{\mbox{Con\TeX{}t}}
+\providerobustcmd*{\MiKTeX}{\mbox{MiK\TeX}}
 \end{warpprint}
 %    \end{macrocode}
 
@@ -32398,7 +33171,7 @@
 
 
 
-% \section{Koma-script}
+% \section{\brand{Koma-script} classes}
 %
 % Load patches to \pkg{koma-script}.
 %
@@ -32418,7 +33191,7 @@
 %    \end{macrocode}
 
 
-% \section{Memoir}
+% \section{\brand{Memoir} class}
 %
 % Load patches to \pkg{memoir}.
 %
@@ -32438,29 +33211,48 @@
 %    \end{macrocode}
 
 
+% ^^A *ctex
+% \section{C\TeX patch}
+%
+% Patches for \pkg{ctex} and related classes,
+% which are loaded before \pkg{lwarp}.
+%
+% All C\TeX\ classes and the \pkg{ctex} package seem to
+% load \pkg{ctexpatch}, so its presence is used to
+% decide whether to have \pkg{lwarp} patch C\TeX.
+%
+% \changes{v0.62}{2018/11/17}{\pkg{ctexpatch}: Added patch.}
+%
+% \codehtml
+%    \begin{macrocode}
+\begin{warpHTML}
+%    \end{macrocode}
+%
+% \cs{AtBeginDocument} in case the user set |FileSectionNames| in the preamble.
+%
+%    \begin{macrocode}
+\AtBeginDocument{
+    \@ifpackageloaded{ctexpatch}{%
+        \def\@partcntformat#1{%
+            \LWR at isolate{\CTEX at partname}~%
+            \CTEX at part@aftername%
+        }%
 
+        \def\@partnameformat{}
 
-% \clearpage
-% \section{Trademarks}
+        \def\@chapcntformat#1{%
+            \LWR at isolate{\CTEX at chaptername}~%
+            \CTEX at chapter@aftername%
+        }%
+    }{}
+}
+%    \end{macrocode}
 %
-% \changes{v0.14}{2016/03/29}{Docs: Trademarks section.}
+%    \begin{macrocode}
+\end{warpHTML}
+%    \end{macrocode}
 %
-% \begin{itemize}
-% \item \TeX\ is a trademark of American Mathematical Society.
-% \item \brand{Adobe}®  and \brand{Adobe} \prog{Framemaker}® are either registered trademarks or
-%	trademarks of \brand{Adobe Systems Incorporated} in the United States and/or other countries.
-% \item \brand{Linux}® is the registered trademark of Linus Torvalds in the U.S.\ and other countries.
-% \item \brand{Mac\,OS}® is a trademark of \brand{Apple Inc.}
-% \item \brand{MadCap Flare}™ is the property of \brand{MadCap Software, Inc.}
-% \item \brand{MathJax} is copyright 2009 and later.
-%	The \brand{MathJax Consortium} is a joint venture of the \brand{American Mathematical Society} (AMS)
-%	and the \brand{Society for Industrial and Applied Mathematics} (SIAM)
-%	to advance mathematical and scientific content on the web.
-% \item \brand{Microsoft}®, \brand{Encarta}, \brand{MSN}, and \brand{Windows}® are either registered trademarks or
-%	trademarks of \brand{Microsoft Corporation} in the United States and/or other countries.
-% \item \brand{UNIX}® is a registered trademark of \brand{The Open Group}.
-% \end{itemize}
-
+%
 % \iffalse
 %</package>
 % \fi
@@ -32501,7 +33293,34 @@
 %
 %
 %
+%
 % \iffalse
+%<*2in1>
+% \fi
+%
+% \part{lwarp-2in1.sty}
+%
+% \section{2in1}
+%
+% \DescribePackage{2in1}
+% \pkg{2in1} is ignored.
+%
+% \changes{v0.62}{2018/10/16}{\pkg{2in1}: Added.}
+%
+% \codehtml
+%
+%    \begin{macrocode}
+\LWR at ProvidesPackageDrop{2in1}
+%    \end{macrocode}
+%
+% \iffalse
+%</2in1>
+% \fi
+%
+%
+%
+%
+% \iffalse
 %<*2up>
 % \fi
 %
@@ -32575,6 +33394,7 @@
 %
 %
 %
+%
 % \iffalse
 %<*a4wide>
 % \fi
@@ -33245,7 +34065,7 @@
 %    \begin{macrocode}
 \renewcommand{\algocf at makecaption}[2]{%
 \LWR at HTML@caption at begin{algocf}%
-\algocf at captiontext{#1}{#2}%
+\LWR at isolate{\algocf at captiontext{#1}{#2}}%
 \LWR at HTML@caption at end%
 }
 %    \end{macrocode}
@@ -33255,19 +34075,19 @@
 %    \begin{macrocode}
 \renewcommand{\algocf at makecaption@plain}[2]{%
     \LWR at HTML@caption at begin{algocf}%
-    \algocf at captiontext{#1}{#2}%
+    \LWR at isolate{\algocf at captiontext{#1}{#2}}%
     \LWR at HTML@caption at end%
 }
 
 \renewcommand{\algocf at makecaption@boxed}[2]{%
     \LWR at HTML@caption at begin{algocf}%
-    \algocf at captiontext{#1}{#2}%
+    \LWR at isolate{\algocf at captiontext{#1}{#2}}%
     \LWR at HTML@caption at end%
 }
 
 \renewcommand{\algocf at makecaption@ruled}[2]{%
     \LWR at HTML@caption at begin{algocf}%
-    \algocf at captiontext{#1}{#2}%
+    \LWR at isolate{\algocf at captiontext{#1}{#2}}%
     \LWR at HTML@caption at end%
 }
 %    \end{macrocode}
@@ -33279,7 +34099,7 @@
 \boolfalse{LWR at algocf@dopars}%  lwarp
   \par%
   \addcontentsline{\csname ext@#1\endcsname}{#1}%
-  {\protect\numberline{\csname the#1\endcsname}{\ignorespaces #2}}%
+  {\protect\numberline{\csname the#1\endcsname}{\ignorespaces \LWR at isolate{#2}}}%
   \begingroup%
   \@parboxrestore%
   \if at minipage%
@@ -33945,7 +34765,7 @@
 %
 % \begin{table}[ht]
 % \hrule\smallskip
-% \caption{AMSthm package \Dash CSS styling of theorems and proofs}
+% \caption{\pkg{amsthm} package \Dash \CSS\ styling of theorems and proofs}
 % \begin{description}
 % \item [Theorem:] \element{div} of class |amsthmbody<theoremstyle>|
 % \item [Theorem Name:] \element{span} of class |amsthmname<theoremtyle>|
@@ -34362,7 +35182,7 @@
 % and reverts to solid rules for \SVG\ math \env{array}
 % and \env{tabular} in a \env{lateximage}.
 %
-% CSS is not able to display a double-dashed border, so
+% \CSS\ is not able to display a double-dashed border, so
 % a single-dashed rule is displayed as a single-dashed border, and
 % a double-dashed rule is displayed as a thicker single-dashed border.
 %
@@ -34481,7 +35301,11 @@
 % \DescribePackage{asymptote}
 % \pkg{asymptote} is patched for use by \pkg{lwarp}.
 %
+% \needspace{3\baselineskip}
+% \limitsasymptote
+%
 % \changes{v0.59}{2018/07/10}{\pkg{asymptote}: Added.}
+% \changes{v0.62}{2018/10/16}{\pkg{asymptote}: Improved \attribute{alt} tags.}
 %
 % \codehtml
 %
@@ -34490,12 +35314,12 @@
 %    \end{macrocode}
 %
 %    \begin{macrocode}
-\BeforeBeginEnvironment{asy}{\begin{lateximage}}
+\BeforeBeginEnvironment{asy}{\begin{lateximage}[(-asymptote-~\packagediagramname)]}
 \AfterEndEnvironment{asy}{\end{lateximage}}
 
 \xpatchcmd{\asyinclude}
     {\begingroup}
-    {\begin{lateximage}}
+    {\begin{lateximage}[(-asymptote-~\packagediagramname)]}
     {}
     {\LWR at patcherror{asymptote}{asyinclude-begingroup}}
 
@@ -35113,6 +35937,48 @@
 %
 %
 % \iffalse
+%<*bitpattern>
+% \fi
+%
+% \part{lwarp-bitpattern.sty}
+%
+% \section{bitpattern}
+%
+% \credits{Jean-Marc Bourguet}
+%
+% \DescribePackage{bitpattern}
+% \pkg{bitpattern} is patched for use by \pkg{lwarp}.
+%
+% \changes{v0.62}{2018/10/16}{\pkg{bitpattern}: Added.}
+%
+% \codehtml
+%
+%    \begin{macrocode}
+\LWR at ProvidesPackagePass{bitpattern}
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\xpatchcmd{\bitpattern}
+    {\begingroup}
+    {\begin{lateximage}[(-bitpattern-~\packagediagramname)]}
+    {}
+    {\LWR at patcherror{bitpattern}{bitpattern}}
+
+\xpatchcmd{\bp at Done}
+    {\endgroup}
+    {\end{lateximage}}
+    {}
+    {\LWR at patcherror{bitpattern}{bp at Done}}
+%    \end{macrocode}
+%
+% \iffalse
+%</bitpattern>
+% \fi
+%
+%
+%
+%
+% \iffalse
 %<*blowup>
 % \fi
 %
@@ -35661,7 +36527,7 @@
 % \section{cancel}
 %
 % \DescribePackage{cancel}
-% \pkg{cancel} is used as-is for SVG math, and emulated for HTML text output.
+% \pkg{cancel} is used as-is for SVG math, and emulated for \HTML\ text output.
 %
 % \changes{v0.44}{2017/11/16}{\pkg{cancel}: Added.}
 %
@@ -35695,7 +36561,7 @@
 %    \begin{macrocode}
 \newcommand{\LWR at cancelcolor}[5]{%
 \ifcsempty{#2}%
-{\LWR at HTMLtextstyle{#5}{#3}{#1}}%
+{\InlineClass(#5){#3}{#1}}%
 {\LWR at htmlspanclass[#5;#4:\LWR at origpound\LWR at tempcolor]{#3}{#1}}%
 }
 %    \end{macrocode}
@@ -36072,7 +36938,7 @@
 % \codehtml
 %
 %    \begin{macrocode}
-\LWR at ProvidesPackageDrop{changebar}
+\LWR at ProvidesPackageDrop{changebar}[2018/03/09]
 %    \end{macrocode}
 %
 %    \begin{macrocode}
@@ -36147,7 +37013,6 @@
 %
 %
 %
-%
 % \iffalse
 %<*chngpage>
 % \fi
@@ -36162,6 +37027,7 @@
 % \pkg{chngpage} is emulated.
 %
 % \changes{v0.54}{2018/04/19}{\pkg{chngpage}: Added.}
+% \changes{v0.62}{2018/10/18}{\pkg{chngpage}: Fix: Loads \pkg{lwarp-chngpage}.}
 %
 % \codehtml
 %
@@ -36168,7 +37034,7 @@
 % Discard all options for \pkg{lwarp-chngpage}:
 %    \begin{macrocode}
 \LWR at ProvidesPackageDrop{chngpage}
-\LWR at origRequirePackage{changepage}
+\LWR at origRequirePackage{lwarp-changepage}
 %    \end{macrocode}
 
 % \iffalse
@@ -36259,6 +37125,8 @@
 % \DescribePackage{chemfig}
 % \pkg{chemfig} is patched for use by \pkg{lwarp}.
 %
+% \limitschemfig
+%
 % The images are not hashed because they depend on external settings which
 % may be changed at any time, and are unlikely to be reused inline anyhow.
 %
@@ -37867,8 +38735,61 @@
 %
 %
 %
+% \iffalse
+%<*CJK>
+% \fi
 %
+% \part{lwarp-CJK.sty}
+%
+% \section{CJK}
+%
+% \DescribePackage{CJK}
+% \pkg{CJK} does not work with \pkg{lwarp} unless called from \pkg{ctex}.
+%
+% \changes{v0.62}{2018/11/18}{\pkg{CJK}: Prevented unless \pkg{xeCJK}.}
+%
+% \codehtml
+%    \begin{macrocode}
+\@ifpackageloaded{xeCJK}{}{
+    \LWR at loadnever{CJK}{ctex}
+}
+%    \end{macrocode}
+%
 % \iffalse
+%</CJK>
+% \fi
+%
+%
+%
+%
+% \iffalse
+%<*CJKutf8>
+% \fi
+%
+% \part{lwarp-CJKutf8.sty}
+%
+% \section{CJKutf8}
+%
+% \DescribePackage{CJKutf8}
+% \pkg{CJKutf8} does not work with \pkg{lwarp} unless called from \pkg{ctex}.
+%
+% \changes{v0.62}{2018/11/18}{\pkg{CJK}: Prevented unless \pkg{xeCJK}.}
+%
+% \codehtml
+%    \begin{macrocode}
+\@ifpackageloaded{xeCJK}{}{
+    \LWR at loadnever{CJKutf8}{ctex}
+}
+%    \end{macrocode}
+%
+% \iffalse
+%</CJKutf8>
+% \fi
+%
+%
+%
+%
+% \iffalse
 %<*clrdblpg>
 % \fi
 %
@@ -37988,7 +38909,7 @@
 % \cs{LWR at getmynexttoken} is not used here because \cs{columncolor} is not used
 % inside the data area of the tabular.
 %
-% \changes{v0.57}{2018/06/02}{\pkg{colortbl}: New system for switching print and HTML outputs.}
+% \changes{v0.57}{2018/06/02}{\pkg{colortbl}: New system for switching print and \HTML\ outputs.}
 %    \begin{macrocode}
 \NewDocumentCommand{\LWR at HTML@columncolor}{O{named} m o o}{%
 \convertcolorspec{#1}{#2}{HTML}\LWR at columnHTMLcolor%
@@ -38006,7 +38927,7 @@
 %
 % \begin{noindmacro}{\rowcolor} \oarg{model} \marg{color} \oarg{left overhang} \oarg{right overhang}
 %
-% \changes{v0.57}{2018/06/02}{\pkg{colortbl}: New system for switching print and HTML outputs.}
+% \changes{v0.57}{2018/06/02}{\pkg{colortbl}: New system for switching print and \HTML\ outputs.}
 %    \begin{macrocode}
 \NewDocumentCommand{\LWR at HTML@rowcolor}{O{named} m o o}{%
 \convertcolorspec{#1}{#2}{HTML}\LWR at rowHTMLcolor%
@@ -38020,7 +38941,7 @@
 %
 % \begin{noindmacro}{\cellcolor} \oarg{model} \marg{color} \oarg{left overhang} \oarg{right overhang}
 %
-% \changes{v0.57}{2018/06/02}{\pkg{colortbl}: New system for switching print and HTML outputs.}
+% \changes{v0.57}{2018/06/02}{\pkg{colortbl}: New system for switching print and \HTML\ outputs.}
 %    \begin{macrocode}
 \NewDocumentCommand{\LWR at HTML@cellcolor}{O{named} m o o}{%
 \convertcolorspec{#1}{#2}{HTML}\LWR at cellHTMLcolor%
@@ -38036,7 +38957,7 @@
 % The \HTML\ version for use outside a \env{tabular}.
 % Inside a \env{tabular}, \cs{LWR at HTML@arrayrulecolornexttoken} is used instead.
 %
-% \changes{v0.57}{2018/06/02}{\pkg{colortbl}: New system for switching print and HTML outputs.}
+% \changes{v0.57}{2018/06/02}{\pkg{colortbl}: New system for switching print and \HTML\ outputs.}
 %    \begin{macrocode}
 \newcommand{\LWR at HTML@arrayrulecolor}[2][named]{%
 \convertcolorspec{#1}{#2}{HTML}\LWR at ruleHTMLcolor%
@@ -38050,7 +38971,7 @@
 %
 % The \HTML\ version for use inside a \env{tabular}.
 %
-% \changes{v0.57}{2018/06/02}{\pkg{colortbl}: New system for switching print and HTML outputs.}
+% \changes{v0.57}{2018/06/02}{\pkg{colortbl}: New system for switching print and \HTML\ outputs.}
 %    \begin{macrocode}
 \newcommand{\LWR at HTML@arrayrulecolornexttoken}[2][named]{%
 \convertcolorspec{#1}{#2}{HTML}\LWR at ruleHTMLcolor%
@@ -38210,8 +39131,46 @@
 %
 %
 %
+% \iffalse
+%<*ctex>
+% \fi
 %
+% \part{lwarp-ctex.sty}
+%
+% \section{ctex}
+%
+% \DescribePackage{ctex}
+% Error if \pkg{ctex} is loaded after \pkg{lwarp}.
+%
+% Load \pkg{ctex} before \pkg{lwarp} so that \pkg{lwarp}
+% can take control of the sectioning commands.
+% The \pkg{ctex} \optn{heading} option is then ignored.
+%
+% Ref: \url{http://bbs.ctex.org/forum.php?mod=viewthread&tid=155890}
+%
+%
+% \changes{v0.62}{2018/11/17}{\pkg{ctex}: Added.}
+%
+% Discard all options for \pkg{lwarp-ctex}:
+%
+% \codehtml
+%    \begin{macrocode}
+\LWR at ProvidesPackageDrop{ctex}[2018-05-02]
+%    \end{macrocode}
+
+%    \begin{macrocode}
+\LWR at loadbefore{ctex}
+%    \end{macrocode}
+
 % \iffalse
+%</ctex>
+% \fi
+%
+%
+%
+%
+%
+% \iffalse
 %<*cuted>
 % \fi
 %
@@ -38709,7 +39668,7 @@
         \normalfont\scriptsize{\bfseries{\thetodos.#1}}%
     }%
 }%
-\addcontentsline{lod}{todos}{\protect{\thetodos. }#2}%
+\addcontentsline{lod}{todos}{\protect{\thetodos. }\LWR at isolate{#2}}%
 }{}%
 }
 %    \end{macrocode}
@@ -39085,7 +40044,7 @@
 % \DescribePackage{epigraph}
 % \pkg{epigraph} is emulated.
 %
-% \changes{v0.42}{2017/10/27}{\pkg{epigraph}: If \progcode{FormatWP} add HTML styles.}
+% \changes{v0.42}{2017/10/27}{\pkg{epigraph}: If \progcode{FormatWP} add \HTML\ styles.}
 %
 % \codehtml
 
@@ -39595,7 +40554,7 @@
 % \limitsverbatimfootnotes
 %
 % \changes{v0.34}{2017/07/27}{\pkg{fancybox}: Added.}
-% \changes{v0.42}{2017/10/27}{\pkg{fancybox}: If \progcode{FormatWP} add HTML styles.}
+% \changes{v0.42}{2017/10/27}{\pkg{fancybox}: If \progcode{FormatWP} add \HTML\ styles.}
 % \changes{v0.52}{2018/03/29}{\pkg{fancyvrb}: Initial support for \cs{VerbatimFootnotes}.}
 %
 %    \begin{macrocode}
@@ -39718,7 +40677,7 @@
 %    \begin{macrocode}
 \renewcommand{\GenericCaption}[1]{%
 \LWR at figcaption%
-#1%
+\LWR at isolate{#1}%
 \endLWR at figcaption%
 }
 %    \end{macrocode}
@@ -40318,7 +41277,7 @@
             div class="fancyvrblabel" % extra space
                 style="color: \LWR at origpound\LWR at tempcolor"%
         }
-        \LWR at origtextrm{\FV at LabelBegin}% \textrm preserves emdash
+        \LWR at print@textrm{\FV at LabelBegin}% \textrm preserves emdash
         \LWR at htmltagc{/div}
         \fi
       \else
@@ -40331,7 +41290,7 @@
             div class="fancyvrblabel" % extra space
                 style="color: \LWR at origpound\LWR at tempcolor"%
         }
-        \LWR at origtextrm{\FV at LabelEnd}
+        \LWR at print@textrm{\FV at LabelEnd}
         \LWR at htmltagc{/div}
         \fi
       \fi
@@ -40659,6 +41618,38 @@
 %
 %
 % \iffalse
+%<*flippdf>
+% \fi
+%
+% \part{lwarp-flippdf.sty}
+%
+% \section{flippdf}
+%
+% \DescribePackage{flippdf}
+% \pkg{flippdf} is ignored.
+%
+% \changes{v0.62}{2018/10/18}{\pkg{flippdf}: Added.}
+%
+% \codehtml
+%
+%    \begin{macrocode}
+\LWR at ProvidesPackageDrop{flippdf}[2006/06/30]
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\newcommand\FlipPDF{}
+\newcommand\UnFlipPDF{}
+%    \end{macrocode}
+%
+% \iffalse
+%</flippdf>
+% \fi
+%
+%
+%
+%
+%
+% \iffalse
 %<*float>
 % \fi
 
@@ -42304,7 +43295,7 @@
 }
 %    \end{macrocode}
 % Inside a \env{lateximage}, allow \PDF\ instead of \SVG:
-% \changes{v0.61}{2018/10/06}{Fix: EPS for \DVI\ \LaTeX.}
+% \changes{v0.61}{2018/10/06}{Fix: \EPS\ for \DVI\ \LaTeX.}
 %    \begin{macrocode}
 \ifpdf
 \appto\LWR at restoreorigformatting{%
@@ -42481,7 +43472,7 @@
 %    \end{macrocode}
 
 
-% \subsection{Printing HTML styles}
+% \subsection{Printing \HTML\ styles}
 
 % \begin{macro}{\LWR at rotstyle} \marg{prefix} \marg{degrees}
 %
@@ -42541,7 +43532,7 @@
 
 
 % \begin{macro}{\LWR at HTML@Gin at setfile} \marg{w} \marg{h} \marg{filename}
-% Sets the parsed filename for \HTML output.
+% Sets the parsed filename for \HTML\ output.
 %    \begin{macrocode}
 \newcommand*{\LWR at HTML@Gin at setfile}[3]{%
     \xdef\LWR at parsedfilename{#3}%
@@ -42681,25 +43672,27 @@
 % 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.}
+% \changes{v0.61}{2018/10/06}{Fix: \EPS\ for \DVI\ \LaTeX.}
+% \changes{v0.62}{2018/10/27}{Fix: \bool{FormatWP}.}
 %    \begin{macrocode}
 \ifbool{FormatWP}{%
     \begingroup%
-    \ifpdf
+    \LWR at restoreorigformatting%
+    \ifpdf%
     \appto\LWR at restoreorigformatting{%
     \DeclareGraphicsExtensions{.pdf,.PDF,.gif,.GIF,.png,.PNG,.jpg,.JPG,.jpeg,.JPEG}%
-    }
+    }%
     \else% \ifpdf
-            \ifXeTeX
+            \ifXeTeX%
     \appto\LWR at restoreorigformatting{%
     \DeclareGraphicsExtensions{.pdf,.PDF,.gif,.GIF,.png,.PNG,.jpg,.JPG,.jpeg,.JPEG}%
-    }
-            \else
+    }%
+            \else%
     \appto\LWR at restoreorigformatting{%
     \DeclareGraphicsExtensions{.eps,.EPS,.gif,.GIF,.png,.PNG,.jpg,.JPG,.jpeg,.JPEG}%
-    }
-            \fi
-    \fi
+    }%
+            \fi%
+    \fi% \ifpdf
     \define at key{Gin}{angle}{}%
     \IfBooleanTF{#1}%
     {% starred
@@ -42735,7 +43728,7 @@
     \global\renewcommand*{\LWR at igwidthstyle}{width:\LWR at printlength{\LWR at igwidth}}%
     \settoheight{\LWR at igheight}{\usebox{\LWR at imagesizebox}}%
     \global\renewcommand*{\LWR at igheightstyle}{height:\LWR at printlength{\LWR at igheight}}%
-}{}%
+}{}% FormatWP
 %    \end{macrocode}
 %
 % Create the \HTML\ reference with the graphicspath, filename, extension,
@@ -42750,7 +43743,12 @@
 \LWR at traceinfo{LWR at includegraphicsb: about to LWR at htmltag}%
 \LWR at htmltag{% start of image tags
 img src="%
-\begingroup\@sanitize\LWR at parsedfilename\endgroup%
+%    \end{macrocode}
+% \changes{v0.62}{2018/10/27}{Fix: Filename expansion.}
+%    \begin{macrocode}
+\detokenize\expandafter{\LWR at parsedfilename}%
+%    \end{macrocode}
+%    \begin{macrocode}
 " \LWR at orignewline%
 %    \end{macrocode}
 % Only include a style tag if a width, height, angle, or scale was given:
@@ -42763,30 +43761,38 @@
     \NOT\equal{\LWR at igxscale}{1} \OR
     \NOT\equal{\LWR at igyscale}{1}
 }%
-{\LWR at origtilde{} style="%
-\ifthenelse{\NOT\equal{\LWR at igwidthstyle}{}}%
-{\LWR at igwidthstyle;}{}%
-\ifthenelse{\NOT\equal{\LWR at igheightstyle}{}}%
-{\LWR at igheightstyle;}{}%
-\ifthenelse{\NOT\equal{\LWR at igorigin}{}}%
-{\LWR at origtilde{} transform-origin: \LWR at originnames{\LWR at igorigin}; \LWR at orignewline}{}%
-\ifthenelse{\NOT\equal{\LWR at igangle}{}}%
 {%
-\LWR at rotstyle{-ms-}{\LWR at igangle} % extra space
-\LWR at rotstyle{-webkit-}{\LWR at igangle} % extra space
-\LWR at rotstyle{}{\LWR at igangle %
-}}{}%
-\ifthenelse{\NOT\equal{\LWR at igxscale}{1}\OR%
-\NOT\equal{\LWR at igyscale}{1}}%
-{\LWR at scalestyle{-ms-}{\LWR at igxscale}{\LWR at igyscale} % extra space
-\LWR at scalestyle{-webkit-}{\LWR at igxscale}{\LWR at igyscale} % extra space
-\LWR at scalestyle{}{\LWR at igxscale}{\LWR at igyscale}}{} % extra space
-%
-\ifthenelse{\NOT\equal{\LWR at opacity}{1}}%
-{opacity:\LWR at opacity; }%
-{}%
-%
-" \LWR at orignewline}{}%
+    \LWR at origtilde{} style="%
+    \ifthenelse{\NOT\equal{\LWR at igwidthstyle}{}}%
+        {\LWR at igwidthstyle; }{}%
+    \ifthenelse{\NOT\equal{\LWR at igheightstyle}{}}%
+        {\LWR at igheightstyle; }{}%
+    \ifthenelse{\NOT\equal{\LWR at igorigin}{}}%
+        {%
+            \LWR at origtilde{} transform-origin: \LWR at originnames{\LWR at igorigin}; %
+            \LWR at orignewline%
+        }{}%
+    \ifthenelse{\NOT\equal{\LWR at igangle}{}}%
+    {%
+        \LWR at rotstyle{-ms-}{\LWR at igangle} % extra space
+        \LWR at rotstyle{-webkit-}{\LWR at igangle} % extra space
+        \LWR at rotstyle{}{\LWR at igangle }%
+    }{}%
+    \ifthenelse{%
+        \NOT\equal{\LWR at igxscale}{1}\OR%
+        \NOT\equal{\LWR at igyscale}{1}%
+    }%
+    {%
+        \LWR at scalestyle{-ms-}{\LWR at igxscale}{\LWR at igyscale} % extra space
+        \LWR at scalestyle{-webkit-}{\LWR at igxscale}{\LWR at igyscale} % extra space
+        \LWR at scalestyle{}{\LWR at igxscale}{\LWR at igyscale}%
+    }{} % extra space
+    %
+    \ifthenelse{\NOT\equal{\LWR at opacity}{1}}%
+        {opacity:\LWR at opacity; }{}%
+    %
+    " \LWR at orignewline%
+}{}%
 %    \end{macrocode}
 % Set the class:
 %    \begin{macrocode}
@@ -44701,7 +45707,7 @@
 %    \end{macrocode}
 
 
-% \changes{v0.42}{2017/10/26}{\pkg{keyfloat}: If \progcode{FormatWP} add explicit HTML style.}
+% \changes{v0.42}{2017/10/26}{\pkg{keyfloat}: If \progcode{FormatWP} add explicit \HTML\ style.}
 %    \begin{macrocode}
 \DeclareDocumentEnvironment{KFLT at marginfloat}{O{-1.2ex} m}
 {%
@@ -45370,7 +46376,7 @@
 \LWR at traceinfo{addcontents lst@@caption: -\lst@@caption-}%
                  \addcontentsline{lol}{lstlisting}%
 {\protect\numberline{\thelstlisting}%
-{\protect\ignorespaces \lst@@caption \protect\relax}}%
+{\protect\ignorespaces \LWR at isolate{\lst@@caption} \protect\relax}}%
             \fi
          \fi
      \fi
@@ -46235,7 +47241,7 @@
 % \limitsmdframed
 %
 % Environments created or encapsulated by \pkg{mdframed} are enclosed in a
-% \margintag{CSS classes}
+% \margintag{\CSS\ classes}
 % \element{div} of class |md<environmentname>|, or |mdframed| otherwise.
 %
 % Frame titles are placed into a \element{span} of class |mdframedtitle|.
@@ -46303,7 +47309,7 @@
 % \subsection{Initial setup}
 %
 % ^^A \DescribeMacro{\mdfsetup}
-% To handle CSS and paragraphs,
+% To handle \CSS\ and paragraphs,
 % patch code at start and end of environment and contents.
 % \cs{LWR at print@raggedright} helps avoid hyphenation.
 %
@@ -46319,7 +47325,7 @@
 %    \end{macrocode}
 %
 %
-% \subsection{Color and length HTML conversion}
+% \subsection{Color and length \HTML\ conversion}
 %
 % \begin{noindmacro}{\LWR at mdfprintcolor} \marg{mdfcolorkey}
 %
@@ -47413,7 +48419,7 @@
 %    \begin{macrocode}
 \NewDocumentEnvironment{multicols}{s m o}
 %    \end{macrocode}
-% HTML \element{div} class to contain everything:
+% \HTML\ \element{div} class to contain everything:
 %    \begin{macrocode}
 {
 \LWR at forcenewpage
@@ -47687,6 +48693,119 @@
 %
 %
 % \iffalse
+%<*musicography>
+% \fi
+%
+% \part{lwarp-musicography.sty}
+%
+% \section{musicography}
+%
+% \credits{Andrew A. Cashner}
+%
+% \DescribePackage{musicography}
+% \pkg{musicography} is patched for use by \pkg{lwarp}.
+%
+% Images are used for the meter symbols, since the
+% \HTML\ fonts tend not to be the correct size.
+% The \HTML\ \attribute{alt} tag copies |C| and |3/2|, etc.
+% Hashes are used for the meter images, which are then reused
+% as necessary.
+%
+% Note that browser support for musical symbols may be buggy.
+% \watchout
+% Copy/paste into a text editor works well.
+%
+% \changes{v0.62}{2017/11/12}{\pkg{musicography}: Added.}
+%
+% \codehtml
+%
+%    \begin{macrocode}
+\LWR at ProvidesPackagePass{musicography}[2018/05/21]
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\RenewDocumentCommand{\musSymbol}{ O{\musFont} m m m m }{%
+\begin{lateximage}%
+{#1\kern#2\raisebox{#3}{#5}\kern#4}%
+\end{lateximage}%
+}
+
+\RenewDocumentCommand{\musStemmedNote}{ m }{%
+\begin{lateximage}%
+\musSymbol{0.05em}{0.5ex}{0.2em}{#1\musStem}%
+\end{lateximage}%
+}
+
+\RenewDocumentCommand{\musFlaggedNote}{ m m }{%
+\begin{lateximage}%
+\musSymbol{0.05em}{0.5ex}{0pt}{#1\musStem}%
+\musSymbol{0pt}{0pt}{0.9em}{#2}%
+\end{lateximage}%
+}
+
+\RenewDocumentCommand{\musDottedNote}{ m }{%
+\begin{lateximage}%
+#1\musDot%
+\end{lateximage}%
+}
+
+\RenewDocumentCommand{\musMeter}{ m m }{%
+\begin{lateximage}*[#1/#2][#1#2]%
+\musStack{#1}{#2}\kern0.05em%
+\end{lateximage}%
+}
+
+\RenewDocumentCommand{\meterCplus}{ m }{%
+\begin{lateximage}*[C#1]%
+    \meterC{}\kern-0.7pt#1%
+\end{lateximage}%
+}
+
+\RenewDocumentCommand{\meterC}{}{%
+\begin{lateximage}*[C]%
+\musSymbolMeter{\symbol{83}}%
+\end{lateximage}%
+}
+
+\RenewDocumentCommand{\meterCutC}{}{%
+\begin{lateximage}*[C|]%
+\musSymbolMeter{\symbol{82}}%
+\end{lateximage}%
+}
+
+\RenewDocumentCommand{\meterCThreeTwo}{}{%
+\begin{lateximage}*[C3/2]%
+\meterCplus{\musStack{3}{2}}%
+\end{lateximage}%
+}
+
+\RenewDocumentCommand{\musFlat}       {}{\HTMLunicode{266D}}
+\RenewDocumentCommand{\musDoubleFlat} {}{\HTMLunicode{1D12B}}
+\RenewDocumentCommand{\musSharp}      {}{\HTMLunicode{266F}}
+\RenewDocumentCommand{\musDoubleSharp}{}{\HTMLunicode{1D12A}}
+\RenewDocumentCommand{\musNatural}    {}{\HTMLunicode{266E}}
+
+\RenewDocumentCommand{\musWhole}{}{\HTMLunicode{1D15D}}
+\RenewDocumentCommand{\musHalf}{}{\HTMLunicode{1D15E}}
+\RenewDocumentCommand{\musQuarter}{}{\HTMLunicode{1D15F}}
+\RenewDocumentCommand{\musEighth}{}{\HTMLunicode{1D160}}
+\RenewDocumentCommand{\musSixteenth}{}{\HTMLunicode{1D161}}
+
+\RenewDocumentCommand{\musWholeDotted}{}{\HTMLunicode{1D15D}\HTMLunicode{1D16D}}
+\RenewDocumentCommand{\musHalfDotted}{}{\HTMLunicode{1D15E}\HTMLunicode{1D16D}}
+\RenewDocumentCommand{\musQuarterDotted}{}{\HTMLunicode{1D15F}\HTMLunicode{1D16D}}
+\RenewDocumentCommand{\musEighthDotted}{}{\HTMLunicode{1D160}\HTMLunicode{1D16D}}
+\RenewDocumentCommand{\musSixteenthDotted}{}{\HTMLunicode{1D161}\HTMLunicode{1D16D}}
+%    \end{macrocode}
+%
+% \iffalse
+%</musicography>
+% \fi
+%
+%
+%
+%
+% \iffalse
 %<*nameref>
 % \fi
 
@@ -47986,6 +49105,8 @@
 % \pkg{nicefrac} is patched for use by \pkg{lwarp}.
 %
 % \changes{v0.52}{2018/03/25}{\pkg{nicefrac}: Added.}
+% \changes{v0.62}{2018/11/15}{\pkg{nicefrac}: Improved font control and \CSS,
+%       honors \optn{nice}, \optn{ugly}.}
 %
 % \codehtml
 %
@@ -47993,16 +49114,28 @@
 \LWR at ProvidesPackagePass{nicefrac}[1998/08/04]
 %    \end{macrocode}
 %
-% \pkg{nicefrac} uses \TeX\ boxes, so \cs{@ensuredmath} must be restored temporarily:
 %    \begin{macrocode}
-\LetLtxMacro\LWR at origUnitsNiceFrac\@UnitsNiceFrac
+\DeclareRobustCommand*{\LWR at HTML@@UnitsNiceFrac}[3][]{%
+    {% localize font selection
+        #1{%
+            \LWR at textcurrentfont{%
+                \InlineClass{numerator}{#2}%
+                /%
+                \InlineClass{denominator}{#3}%
+            }%
+        }%
+    }%
+}
 
-\DeclareRobustCommand*{\@UnitsNiceFrac}[3][]{%
-\begingroup%
-\LetLtxMacro\@ensuredmath\LWR at origensuredmath%
-\LWR at origUnitsNiceFrac[#1]{#2}{#3}%
-\endgroup%
+\LWR at formatted{@UnitsNiceFrac}
+
+\DeclareRobustCommand*{\LWR at HTML@@UnitsUglyFrac}[3][]{%
+    {% localize font selection
+        #1{\LWR at textcurrentfont{#2/#3}}%
+    }%
 }
+
+\LWR at formatted{@UnitsUglyFrac}
 %    \end{macrocode}
 %
 % For Mathjax:
@@ -48009,7 +49142,12 @@
 %    \begin{macrocode}
 \CustomizeMathJax{\newcommand{\nicefrac}[3][]{#2/#3}}
 %    \end{macrocode}
-
+%
+% ^^A For Ka\TeX:
+% ^^A %    \begin{macrocode}
+% ^^A \CustomizeKaTeX{\gdef\nicefrac[#1]#2#3{#2/#3}}
+% ^^A %    \end{macrocode}
+%
 % \iffalse
 %</nicefrac>
 % \fi
@@ -48106,9 +49244,55 @@
 %
 %
 %
+% \iffalse
+%<*notespages>
+% \fi
 %
+% \part{lwarp-notespages.sty}
 %
+% \section{notespages}
+%
+% \DescribePackage{notespages}
+% \pkg{notespages} is ignored.
+%
+% \changes{v0.62}{2018/11/11}{\pkg{notespages}: Added.}
+%
+% \codehtml
+%
+%    \begin{macrocode}
+\LWR at ProvidesPackageDrop{notespages}
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\newcommand*{\npnotesname}{}
+\newcommand*{\npnotestext}{}
+\newcommand*{\remainingtextheight}{}
+\newdimen\remainingtextheight
+\newcommand*{\notestitletext}{}
+\newcommand*{\notesareatext}{}
+\newcommand*{\npnpinfo}[1]{}
+\newcommand*{\tracingnpmarks}{}
+\newcommand*{\notespage}[1][]{}
+\newcommand*{\notespages}[1][]{}
+\newcommand*{\notesfill}[1][]{}
+\newcommand*{\setnotespages}[1]{}
+\newcommand*{\definenotesoption}[2]{}
+\newcommand{\definenotesstyle}[2]{}
+\newcommand{\definetitlestyle}[2]{}
+\newcommand{\nppatchchapter}[1]{}
+\newcommand{\npunpatchchapter}{}
+%    \end{macrocode}
+%
 % \iffalse
+%</notespages>
+% \fi
+%
+%
+%
+%
+%
+%
+% \iffalse
 %<*nowidow>
 % \fi
 
@@ -48179,7 +49363,7 @@
 % \begin{table}[ht]
 % \hrule
 % \smallskip
-% \caption{Ntheorem package \Dash CSS styling of theorems and proofs}\unskip
+% \caption{Ntheorem package \Dash \CSS\ styling of theorems and proofs}\unskip
 % \begin{description}
 % \item [Theorem:] \element{div} of class |theorembody<theoremstyle>|
 % \item [Theorem Header:] \element{span} of class |theoremheader<style>|
@@ -48403,7 +49587,7 @@
 %    \end{macrocode}
 %
 %
-% \subsection{HTML cross-referencing}
+% \subsection{\HTML\ cross-referencing}
 %
 % Mimics a float by incrementing the float counter and generating
 % an \HTML\ anchor.  These are used for list-of-theorem cross-references.
@@ -48835,6 +50019,94 @@
 %
 %
 % \iffalse
+%<*octave>
+% \fi
+%
+% \part{lwarp-octave.sty}
+%
+% \section{octave}
+%
+% \credits{Andrew A. Cashner}
+%
+% \DescribePackage{octave}
+% \pkg{octave} is patched for use by \pkg{lwarp}.
+%
+% \changes{v0.62}{2018/11/12}{\pkg{octave}: Added.}
+%
+% \codehtml
+%
+%    \begin{macrocode}
+\LWR at ProvidesPackagePass{octave}[2017/10/31]
+%    \end{macrocode}
+%
+% Remove the leading 1pt kern:
+%    \begin{macrocode}
+\RenewDocumentCommand{\@PrintTicks}{ m }{%
+\kern-1pt%  lwarp
+\@TickNum = #1%
+\loop
+\@Tick{}%
+\advance\@TickNum by -1
+\ifnum\@TickNum > 0
+\repeat
+}
+%    \end{macrocode}
+%
+% Use unicode for the prime character:
+%    \begin{macrocode}
+\RenewDocumentCommand{\@Tick}{}{\HTMLunicode{2032}}
+%    \end{macrocode}
+%
+% Catch the inline font:
+%    \begin{macrocode}
+\RenewDocumentCommand{\pitch}{ m o m }{%
+\if at OctaveNumber%
+{%
+    \pitchfont{%
+        \LWR at textcurrentfont{%  lwarp
+            \MakeUppercase{#1}%
+            \IfValueTF{#2}{#2}{}\textsubscript{#3}%
+        }%
+    }%
+}%
+\else%
+{%
+    \pitchfont{%
+        \LWR at textcurrentfont{%  lwarp
+            \@GetOctaveTick{#1}[#2]{#3}%
+        }%
+    }%
+}%
+\fi%
+}
+%    \end{macrocode}
+%
+% The original was hard to adapt to \pkg{lwarp}'s handling of \&.
+%    \begin{macrocode}
+\StartDefiningTabulars
+\renewcommand{\octavetable}{%
+\begin{tabular}{ll}
+\octaveprimes \pitch{C}{0} & \octavenumbers \pitch{C}{0} \\
+\octaveprimes \pitch{C}{1} & \octavenumbers \pitch{C}{1} \\
+\octaveprimes \pitch{C}{2} & \octavenumbers \pitch{C}{2} \\
+\octaveprimes \pitch{C}{3} & \octavenumbers \pitch{C}{3} \\
+\octaveprimes \pitch{C}{4} & \octavenumbers \pitch{C}{4} \\
+\octaveprimes \pitch{C}{5} & \octavenumbers \pitch{C}{5} \\
+\octaveprimes \pitch{C}{6} & \octavenumbers \pitch{C}{6} \\
+\octaveprimes \pitch{C}{7} & \octavenumbers \pitch{C}{7} \\
+\end{tabular}
+}
+\StopDefiningTabulars
+%    \end{macrocode}
+%
+% \iffalse
+%</octave>
+% \fi
+%
+%
+%
+%
+% \iffalse
 %<*overpic>
 % \fi
 %
@@ -49173,7 +50445,53 @@
 %
 %
 %
+%
 % \iffalse
+%<*pdfcomment>
+% \fi
+%
+% \part{lwarp-pdfcomment.sty}
+%
+% \section{pdfcomment}
+%
+% \DescribePackage{pdfcomment}
+% \pkg{pdfcomment} is ignored.
+%
+% \changes{v0.62}{2018/11/11}{\pkg{pdfcomment}: Added.}
+%
+% \codehtml
+%
+%    \begin{macrocode}
+\LWR at ProvidesPackageDrop{pdfcomment}[2016/06/13]
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\newenvironment{pdfsidelinecomment}[2][]{}{}
+\newcommand{\pdfcomment}[2][]{}
+\newcommand{\pdfmargincomment}[2][]{}
+\newcommand{\pdfmarkupcomment}[3][]{#2}
+\newcommand{\pdffreetextcomment}[2][]{}
+\newcommand{\pdfsquarecomment}[2][]{}
+\newcommand{\pdfcirclecomment}[2][]{}
+\newcommand{\pdflinecomment}[2][]{}
+\newcommand{\pdftooltip}[3][]{#2}
+\newcommand{\pdfcommentsetup}[2][]{}
+\newcommand{\listofpdfcomments}[1][]{}
+\newcommand{\setliststyle}[1]{}
+\newcommand{\defineliststyle}[2]{}
+\newcommand{\defineavatar}[2]{}
+\newcommand{\definestyle}[2]{}
+%    \end{macrocode}
+%
+% \iffalse
+%</pdfcomment>
+% \fi
+%
+%
+%
+%
+%
+% \iffalse
 %<*pdflscape>
 % \fi
 %
@@ -49203,7 +50521,39 @@
 %
 %
 %
+%
 % \iffalse
+%<*pdfmarginpar>
+% \fi
+%
+% \part{lwarp-pdfmarginpar.sty}
+%
+% \section{pdfmarginpar}
+%
+% \DescribePackage{pdfmarginpar}
+% \pkg{pdfmarginpar} is ignored.
+%
+% \changes{v0.62}{2018/11/11}{\pkg{pdfmarginpar}: Added.}
+%
+% \codehtml
+%
+%    \begin{macrocode}
+\LWR at ProvidesPackageDrop{pdfmarginpar}[2011/08/05]
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\newcommand{\pdfmarginpar}[2][]{}
+\newcommand{\pdfmarginparset}[1]{}
+%    \end{macrocode}
+%
+% \iffalse
+%</pdfmarginpar>
+% \fi
+%
+%
+%
+%
+% \iffalse
 %<*pdfpages>
 % \fi
 %
@@ -50251,11 +51601,12 @@
 % \pkg{register} is patched for use by \pkg{lwarp}.
 %
 % \changes{v0.57}{2018/06/03}{\pkg{register}: Added.}
+% \changes{v0.62}{2018/11/12}{\pkg{register}: Updated to v1.8.}
 %
 % \codehtml
 %
 %    \begin{macrocode}
-\LWR at ProvidesPackagePass{register}
+\LWR at ProvidesPackagePass{register}[2018/11/10]
 %    \end{macrocode}
 
 %    \begin{macrocode}
@@ -50274,6 +51625,20 @@
     {}
     {\LWR at patcherror{register}{endregister}}
 
+\expandafter\xapptocmd\csname register*\endcsname
+    {\begin{center}\begin{lateximage}[(-register-~\packagediagramname)]}
+    {}
+    {\LWR at patcherror{register}{register*}}
+
+\expandafter\xpatchcmd\csname endregister*\endcsname
+    {\leftskip}
+    {%
+        \end{lateximage}\end{center}%
+        \leftskip%
+    }%
+    {}
+    {\LWR at patcherror{register}{endregister*}}
+
 \setlength{\regWidth}{5in}
 %    \end{macrocode}
 
@@ -50632,9 +51997,42 @@
 %
 %
 %
+% \iffalse
+%<*rviewport>
+% \fi
 %
+% \part{lwarp-rviewport.sty}
 %
+% \section{rviewport}
+%
+% \DescribePackage{rviewport}
+% \pkg{rviewport} is honored inside a \env{lateximage}, and
+% otherwise ignored for \HTML\ output.
+%
+% If \pkg{rviewport} is important for an image, enclose the
+% image inside a \env{lateximage} environment.
+%
+% \changes{v0.62}{2018/11/05}{\pkg{rviewport}: Added.}
+%
+% \codehtml
+%
+%    \begin{macrocode}
+\LWR at ProvidesPackagePass{rviewport}[2011/08/27]
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\define at key{igraph}{rviewport}{}
+%    \end{macrocode}
+%
 % \iffalse
+%</rviewport>
+% \fi
+%
+%
+%
+%
+%
+% \iffalse
 %<*savetrees>
 % \fi
 %
@@ -51301,6 +52699,83 @@
 %
 %
 % \iffalse
+%<*semantic-markup>
+% \fi
+%
+% \part{lwarp-semantic-markup.sty}
+%
+% \section{semantic-markup}
+%
+% \credits{Andrew A. Cashner}
+%
+% \DescribePackage{semantic-markup}
+% \pkg{semantic-markup} is patched for use by \pkg{lwarp}.
+%
+% If using the \optn{endnotes} option, add \cs{theendnotes}
+% \watchout
+% where desired.
+%
+% \changes{v0.62}{2018/11/12}{\pkg{semantic-markup}: Added.}
+%
+% \codehtml
+%
+%    \begin{macrocode}
+\LWR at ProvidesPackagePass{semantic-markup}[2018/05/21]
+%    \end{macrocode}
+%
+% The endnotes must be printed by the user before the end of the document,
+% since the end is after the \HTML\ footer, etc.
+%    \begin{macrocode}
+\ifendnotes
+\RenewDocumentCommand{\SetupEndnotes}{}{%
+    \let\footnote=\endnote
+%     \AtEndDocument{\DoBeforeEndnotes{\EndnoteFont\theendnotes}}%
+}
+\fi
+%    \end{macrocode}
+%
+% \HTML\ unicode characters from \pkg{musicography} are used.
+%    \begin{macrocode}
+\RequirePackage{musicography}
+
+\let\fl\musFlat
+\let\sh\musSharp
+\let\na\musNatural
+%    \end{macrocode}
+%
+% The \cs{musfig} is placed inside a hashed image,
+% with a simple \attribute{alt} tag.
+%    \begin{macrocode}
+\RequirePackage{amsmath}
+
+\RenewDocumentCommand{\musfig}{ m m }{%
+    \LWR at subsingledollar*%
+        {#1/#2}% alt tag
+        {musfig}% addl' hashing
+        {% contents
+            \LWR at origensuredmath{%
+                \genfrac{}{}{0pt}{1}{\text{#1}}{\text{#2}}%
+            }%
+        }%
+}
+%    \end{macrocode}
+%
+% The \cs{meter} is taken from \pkg{musicography}, and becomes a hashed image
+% with a simple \attribute{alt} tag.
+%    \begin{macrocode}
+\RenewDocumentCommand{\meter}{ m m }{%
+    \musMeter{#1}{#2}%
+}
+%    \end{macrocode}
+%
+% \iffalse
+%</semantic-markup>
+% \fi
+%
+%
+%
+%
+% \iffalse
 %<*setspace>
 % \fi
 
@@ -51596,7 +53071,7 @@
 %
 %
 % Borrowed from the \pkg{lwarp} version of \pkg{keyfloat}:
-% \changes{v0.42}{2017/10/26}{\pkg{sidenotes}: If \progcode{FormatWP} add explicit HTML style.}
+% \changes{v0.42}{2017/10/26}{\pkg{sidenotes}: If \progcode{FormatWP} add explicit \HTML\ style.}
 %    \begin{macrocode}
 \NewDocumentEnvironment{KFLTsidenotes at marginfloat}{O{-1.2ex} m}
 {% start
@@ -52026,7 +53501,7 @@
 % Basic markup with \CSS:
 %    \begin{macrocode}
 \newcommand{\so}[1]{%
-\LWR at HTMLtextstyle{letter-spacing:.2ex}{letterspacing}{#1}%
+\InlineClass(letter-spacing:.2ex){letterspacing}{#1}%
 }
 %    \end{macrocode}
 % \end{noindmacro}
@@ -52034,9 +53509,9 @@
 % \begin{noindmacro}{\caps} \marg{text}
 %    \begin{macrocode}
 \newcommand{\caps}[1]{%
-\LWR at HTMLtextstyle%
-    {font-variant:small-caps;letter-spacing:.1ex}%
-    {capsspacing}{#1}%
+    \InlineClass%
+        (font-variant:small-caps;letter-spacing:.1ex)%
+        {capsspacing}{#1}%
 }
 %    \end{macrocode}
 % \end{noindmacro}
@@ -52048,8 +53523,10 @@
 %    \begin{macrocode}
 \newcommand{\LWR at soulcolor}[5]{%
 \ifcsempty{#2}%
-{\LWR at HTMLtextstyle{#5}{#3}{#1}}%
 {%
+    \InlineClass(#5){#3}{#1}%
+}%
+{%
     \convertcolorspec{named}{\@nameuse{#2}}{HTML}\LWR at tempcolor%
     \LWR at htmlspanclass[#5;#4:\LWR at origpound\LWR at tempcolor]{#3}{#1}%
 }%
@@ -52173,7 +53650,7 @@
 % \DescribePackage{soulutf8}
 % \pkg{soulutf8} is emulated.
 %
-% \pkg{lwarp}'s \HTML\ output naturally supports \acro{UTF}-8 encoding.
+% \pkg{lwarp}'s \HTML\ output naturally supports \UTF-8 encoding.
 %
 % \changes{v0.44}{2017/11/10}{\pkg{soulutf8}: Added.}
 %
@@ -52460,7 +53937,7 @@
 %    \end{macrocode}
 
 % \begin{noindmacro}{\sf@@@subfloat}
-%   \marg{1 type} \oarg{2 lof entry} \oarg{3 caption} \marg{4 contents}
+%   \marg{1 type} \oarg{2 \LOF\ entry} \oarg{3 caption} \marg{4 contents}
 %
 % The outer minipage allows side-by-side subfloats with \cs{hfill} between.
 %    \begin{macrocode}
@@ -52573,7 +54050,7 @@
 % \end{noindmacro}
 
 % \begin{noindmacro}{\sf at subcaption}
-%   \marg{1 type} \marg{2 lof entry} \marg{3 caption}
+%   \marg{1 type} \marg{2 \LOF\ entry} \marg{3 caption}
 %    \begin{macrocode}
 \long\def\sf at subcaption#1#2#3{%
 \LWR at stoppars% lwarp
@@ -52612,7 +54089,7 @@
             \caption at make
                 {\@nameuse{sub\@captype name}}%
                 {\@nameuse{thesub\@captype}}%
-                {#3}
+                {\LWR at isolate{#3}}%
 %    \end{macrocode}
 % \changes{v0.45}{2017/12/18}{\pkg{subfig}: Fix for subcaption end tag.}
 %    \begin{macrocode}
@@ -53142,7 +54619,7 @@
 %    \end{macrocode}
 %
 %
-% \subsection{HTML symbols}
+% \subsection{\HTML\ symbols}
 %
 % For \HTML, use \HTML\ entities or direct Unicode, depending on the engine.
 %
@@ -53175,7 +54652,7 @@
 \else
 %    \end{macrocode}
 %
-% \subsubsection{\protect\XeLaTeX\ and \protect\LuaLaTeX\ symbols}
+% \subsubsection{\XeLaTeX\ and \LuaLaTeX\ symbols}
 %
 % NOTE: Some of the following do not print well in the listing.
 % Consult the .dtx or .sty file for the actual characters.
@@ -53223,7 +54700,7 @@
 %    \end{macrocode}
 %
 %
-% \subsection{HTML dicritics}
+% \subsection{\HTML\ diacritics}
 %
 % For \HTML, Unicode diacritical marks are used:
 %    \begin{macrocode}
@@ -53241,9 +54718,11 @@
 \newcommand*{\LWR at HTML@capitalmacron}[1]{#1\HTMLunicode{304}}
 \newcommand*{\LWR at HTML@capitaldotaccent}[1]{#1\HTMLunicode{307}}
 %    \end{macrocode}
-% \cs{textcircled} becomes a span with a rounded border:
+% \cs{textcircled} becomes a span with a rounded border.
+% \cs{providecommand} is used to avoid conflict with \pkg{xunicode}.
+% \changes{v0.62}{2018/11/17}{\pkg{textcomp}: Fix conflict with \pkg{xunicode}.}
 %    \begin{macrocode}
-\newcommand*{\LWR at HTML@textcircled}[1]{%
+\providecommand*{\LWR at HTML@textcircled}[1]{%
 \InlineClass[border: 1px solid \LWR at currenttextcolor]{textcircled}{#1}%
 }
 
@@ -53398,7 +54877,7 @@
 % \begin{table}[ht]
 % \hrule
 % \smallskip
-% \caption{Theorem package \Dash CSS styling of theorems and proofs}
+% \caption{Theorem package \Dash \CSS\ styling of theorems and proofs}
 % \begin{description}
 % \item [Theorem:] \element{div} of class |theorembody<theoremstyle>|
 % \item [Theorem Header:] \element{span} of class |theoremheader|
@@ -53492,7 +54971,7 @@
 %    \end{macrocode}
 %
 %
-% \subsection{CSS patches}
+% \subsection{\CSS\ patches}
 %
 % The following are patched for \CSS.
 %
@@ -53723,7 +55202,7 @@
 % \end{noindenvironment}
 
 % \begin{noindenvironment}{tablenotes} \oarg{options}
-% \changes{v0.19}{2016/06/01}{CSS for table note item.}
+% \changes{v0.19}{2016/06/01}{\CSS\ for table note item.}
 %    \begin{macrocode}
 \newenvironment*{tablenotes}[1][]
 {%
@@ -54904,7 +56383,7 @@
         \else
           \if at dotocind
             \chapter*{\indexname}
-            \addcontentsline{toc}{chapter}{\indexname}
+            \addcontentsline{toc}{chapter}{\LWR at isolate{\indexname}}
           \else
             \chapter*{\indexname}
           \fi
@@ -54915,7 +56394,7 @@
         \else
           \if at dotocind
             \section*{\indexname}
-            \addcontentsline{toc}{\@tocextra}{\indexname}
+            \addcontentsline{toc}{\@tocextra}{\LWR at isolate{\indexname}}
           \else
             \section*{\indexname}
           \fi
@@ -55617,9 +57096,54 @@
 %
 %
 %
+% \iffalse
+%<*tram>
+% \fi
 %
+% \part{lwarp-tram.sty}
 %
+% \section{tram}
+%
+% \DescribePackage{tram}
+% \pkg{tram} is emulated.
+%
+% The \HTML\ emulation uses a \element{div}, which must not appear inside
+% \trouble[block only]{tram=\pkg{tram}}
+% an \HTML\ \element{span} or an \HTML\ paragraph.
+% For this reason, the \env{tram} environment should only be used to
+% contain paragraphs inside a \cs{parbox} or \env{minipage}.
+% \env{tram} should not be used to mark up inline text.
+%
+% To disable \env{tram}, allowing source compatibility with inline uses:
+% \begin{sourcedisplay}
+% \cs{begin}\{warpHTML\} \\
+% \cs{renewenvironment}\{tram\}[1][]\{\}\{\} \\
+% \cs{end}\{warpHTML\}
+% \end{sourcedisplay}
+% \bigskip
+%
+% \changes{v0.62}{2018/11/15}{\pkg{tram}: Added.}
+%
+% \codehtml
+%
+%    \begin{macrocode}
+\LWR at ProvidesPackageDrop{tram}
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\newenvironment{tram}[1][]%
+    {\BlockClass[background:lightgray]{tram}}
+    {\endBlockClass}
+%    \end{macrocode}
+%
 % \iffalse
+%</tram>
+% \fi
+%
+%
+%
+%
+% \iffalse
 %<*transparent>
 % \fi
 %
@@ -55727,10 +57251,6 @@
 % emulation for floats.
 %
 %
-% Discard all options for \pkg{lwarp-trivfloat}.
-% This tells \pkg{trivfloat} not to use \pkg{floatrow} or \pkg{memoir}.
-%
-%
 % To create a new float type and change its name:
 % \begin{Verbatim}[gobble=2,frame=lines,obeytabs,tabsize=4]
 % \trivfloat{example}
@@ -55740,7 +57260,8 @@
 % \end{Verbatim}
 %
 %
-%
+% Discard all options for \pkg{lwarp-trivfloat}.
+% This tells \pkg{trivfloat} not to use \pkg{floatrow} or \pkg{memoir}.
 %    \begin{macrocode}
 \LWR at ProvidesPackageDrop{trivfloat}
 \LWR at origRequirePackage{trivfloat}
@@ -55845,6 +57366,35 @@
 %
 %
 % \iffalse
+%<*twoup>
+% \fi
+%
+% \part{lwarp-twoup.sty}
+%
+% \section{twoup}
+%
+% \DescribePackage{twoup}
+% \pkg{twoup} is ignored.
+%
+% \changes{v0.62}{2018/10/16}{\pkg{twoup}: Added.}
+%
+% \codehtml
+%
+%    \begin{macrocode}
+\LWR at ProvidesPackageDrop{twoup}[2007/02/26]
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\newcommand{\cleartolastpage}{}
+%    \end{macrocode}
+%
+% \iffalse
+%</twoup>
+% \fi
+%
+%
+%
+% \iffalse
 %<*typearea>
 % \fi
 %
@@ -55902,125 +57452,96 @@
 %
 % \credits{Donald Arseneau}
 %
-% \DescribePackage{ulem} Emulated.
+% \DescribePackage{ulem} Patched for use by \pkg{lwarp}.
 %
 % \changes{v0.27}{2017/04/02}{\pkg{ulem}: Added.}
+% \changes{v0.62}{2018/11/16}{\pkg{ulem}: Improved compatibility with \pkg{CJKulem}.}
+% \changes{v0.62}{2018/11/17}{\pkg{ulem}: Now works in a \env{lateximage}.}
 %
 % \codehtml
 %
 %
-% Emulate the original package:
+% Use the original package:
 %    \begin{macrocode}
-\ProvidesPackage{lwarp-ulem}
+\LWR at ProvidesPackagePass{ulem}[2012/05/18]
 %    \end{macrocode}
 %
 %
-% Original \pkg{lwarp} definitions:
-%    \begin{macrocode}
-\LetLtxMacro\LWR at ulemorigemph\emph
-\LetLtxMacro\LWR at ulemorigtextbf\textbf
-%    \end{macrocode}
 %
 % Basic markup commands, using \CSS:
 %    \begin{macrocode}
-\NewDocumentCommand{\uline}{+m}{%
-\LWR at HTMLtextstyle%
-    {text-decoration:underline; text-decoration-skip: auto}%
-    {uline}{#1}%
+\NewDocumentCommand{\LWR at HTML@uline}{+m}{%
+    \InlineClass%
+        (text-decoration:underline; text-decoration-skip: auto)%
+        {uline}{\LWR at isolate{#1}}%
 }
+\LWR at formatted{uline}
 
-\NewDocumentCommand{\uuline}{+m}{%
-\LWR at HTMLtextstyle%
-    {%
-        text-decoration:underline; text-decoration-skip: auto;%
-        text-decoration-style:double%
-    }%
-    {uuline}{#1}%
+\NewDocumentCommand{\LWR at HTML@uuline}{+m}{%
+    \InlineClass%
+        (%
+            text-decoration:underline; text-decoration-skip: auto;%
+            text-decoration-style:double%
+        )%
+        {uuline}{\LWR at isolate{#1}}%
 }
+\LWR at formatted{uuline}
 
-\NewDocumentCommand{\uwave}{+m}{%
-\LWR at HTMLtextstyle%
-    {%
-        text-decoration:underline; text-decoration-skip: auto;%
-        text-decoration-style:wavy%
-    }%
-    {uwave}{#1}%
+\NewDocumentCommand{\LWR at HTML@uwave}{+m}{%
+    \InlineClass%
+        (%
+            text-decoration:underline; text-decoration-skip: auto;%
+            text-decoration-style:wavy%
+        )%
+        {uwave}{\LWR at isolate{#1}}%
 }
+\LWR at formatted{uwave}
 
-\NewDocumentCommand{\sout}{+m}{%
-\LWR at HTMLtextstyle%
-    {text-decoration:line-through}%
-    {sout}{#1}%
+\NewDocumentCommand{\LWR at HTML@sout}{+m}{%
+    \InlineClass%
+        (text-decoration:line-through)%
+        {sout}{\LWR at isolate{#1}}%
 }
+\LWR at formatted{sout}
 
-\NewDocumentCommand{\xout}{+m}{%
-\LWR at HTMLtextstyle%
-    {text-decoration:line-through}%
-    {xout}{#1}%
+\NewDocumentCommand{\LWR at HTML@xout}{+m}{%
+    \InlineClass%
+        (text-decoration:line-through)%
+        {xout}{\LWR at isolate{#1}}%
 }
 
-\NewDocumentCommand{\dashuline}{+m}{%
-\LWR at HTMLtextstyle%
-    {%
-        text-decoration:underline;%
-        text-decoration-skip: auto;%
-        text-decoration-style:dashed%
-    }%
-    {dashuline}{#1}%
+\NewDocumentCommand{\LWR at HTML@dashuline}{+m}{%
+    \InlineClass%
+        (%
+            text-decoration:underline;%
+            text-decoration-skip: auto;%
+            text-decoration-style:dashed%
+        )%
+        {dashuline}{\LWR at isolate{#1}}%
 }
+\LWR at formatted{xout}
 
-\NewDocumentCommand{\dotuline}{+m}{%
-\LWR at HTMLtextstyle%
-    {%
-        text-decoration:underline;%
-        text-decoration-skip: auto;%
-        text-decoration-style: dotted%
-    }%
-    {dotuline}{#1}%
+\NewDocumentCommand{\LWR at HTML@dotuline}{+m}{%
+    \InlineClass%
+        (%
+            text-decoration:underline;%
+            text-decoration-skip: auto;%
+            text-decoration-style: dotted%
+        )%
+        {dotuline}{\LWR at isolate{#1}}%
 }
+\LWR at formatted{dotuline}
 %    \end{macrocode}
 %
-% Nullified parameters:
-%    \begin{macrocode}
-\NewDocumentCommand{\ULthickness}{}{}
-\newlength{\ULdepth}
-%    \end{macrocode}
-%
 % Nullified/emulated macros:
 %    \begin{macrocode}
-\NewDocumentCommand{\markoverwith}{m}{}
-\NewDocumentCommand{\ULon}{+m}{\uline{#1}\egroup}
-%    \end{macrocode}
-%
-% \cs{useunder} only works with \cs{textbf}, etc, but not \cs{bfseries}, etc.
-%    \begin{macrocode}
-\NewDocumentCommand{\useunder}{m m m}{%
-\relax%
-\ifx\relax#3\relax\else % argumentative command
-    \def#3{#1}\MakeRobust{#3}\fi
-}
-%    \end{macrocode}
-%
-% Triggered by package options, also available for the users:
-%    \begin{macrocode}
-\newcommand*{\normalem}{\LetLtxMacro\emph\LWR at ulemorigemph}
-\newcommand*{\ULforem}{\LetLtxMacro\emph\uline}
-\ULforem% default
-%    \end{macrocode}
-%
-%
-% Package options:
-%    \begin{macrocode}
-\DeclareOption{normalem}{\normalem}
-\DeclareOption{ULforem}{\ULforem}
-\DeclareOption{normalbf}{}
-\DeclareOption{UWforbf}{\useunder{\uwave}{\bf}{\textbf}}
+\NewDocumentCommand{\LWR at HTML@markoverwith}{m}{}
+\LWR at formatted{markoverwith}
 
-\DeclareOption*{}
-\ProcessOptions\relax% original LaTeX code
+\NewDocumentCommand{\LWR at HTML@ULon}{+m}{\uline{#1}\egroup}
+\LWR at formatted{ULon}
 %    \end{macrocode}
 %
-%
 % \iffalse
 %</ulem>
 % \fi
@@ -56069,7 +57590,15 @@
 % \DescribePackage{units}
 % \pkg{units} is patched for use by \pkg{lwarp}.
 %
+% Values are not styled by \CSS, and take the style of the surrounding \HTML\ text.
+%
+% Units are styled according to the print verison,
+% so they will be forced to upright roman in \HTML\ if the print version does so.
+% It may be necessary to adjust the document's body \CSS\ to match the print version.
+%
 % \changes{v0.59}{2018/07/13}{\pkg{units}: Added support for \pkg{MathJax.}}
+% \changes{v0.62}{2018/11/15}{\pkg{units}: Improved font control and \CSS,
+%       honors \optn{loose}, \optn{tight}.}
 %
 % \codehtml
 %
@@ -56077,6 +57606,35 @@
 \LWR at ProvidesPackagePass{units}[1998/08/04]
 %    \end{macrocode}
 %
+%    \begin{macrocode}
+\DeclareRobustCommand*{\LWR at HTML@unit}[2][]{%
+\ifblank{#1}%
+    {\LWR at textcurrentfont{#2}}%
+    {%
+        #1%
+        \ifthenelse{\boolean{B at UnitsLoose}}{~}{\,}%
+        \LWR at textcurrentfont{#2}%
+    }%
+}
+\LWR at formatted{unit}
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\DeclareRobustCommand*{\LWR at HTML@unitfrac}[3][]{%
+\ifblank{#1}%
+    {%
+            \nicefrac{#2}{#3}%
+    }%
+    {%
+            #1%
+            \ifthenelse{\boolean{B at UnitsLoose}}{~}{\,}%
+            \nicefrac{#2}{#3}%
+    }%
+}
+
+\LWR at formatted{unitfrac}
+%    \end{macrocode}
+%
 % For Mathjax:
 %    \begin{macrocode}
 \CustomizeMathJax{\newcommand{\unit}[2][]{#1 #2}}
@@ -56083,6 +57641,17 @@
 \CustomizeMathJax{\newcommand{\unitfrac}[3][]{#1 #2/#3}}
 %    \end{macrocode}
 
+% ^^A For Ka\TeX:
+% ^^A %    \begin{macrocode}
+% ^^A \CustomizeKaTeX{
+% ^^A \gdef\unit{\@ifnextchar[{brace\LWRuniti}{nobrace\LWRunit}}
+% ^^A \gdef\LWRunit#1{none #1 done}
+% ^^A \gdef\LWRuniti[#1]#2{found a brace #1 between #2 done}
+% ^^A }
+% ^^A \CustomizeKaTeX{\gdef\unitfrac[#1]#2#3{#1 #2/#3}}
+% ^^A %    \end{macrocode}
+
+
 % \iffalse
 %</units>
 % \fi
@@ -56089,7 +57658,62 @@
 %
 %
 %
+%
+%
 % \iffalse
+%<*unitsdef>
+% \fi
+%
+% \part{lwarp-unitsdef.sty}
+%
+% \section{unitsdef}
+%
+% \credits{Patrick Happel}
+%
+% \DescribePackage{unitsdef}
+% \pkg{unitsdef} is patched for use by \pkg{lwarp}.
+%
+% \changes{v0.62}{2018/11/11}{\pkg{unitsdef}: Added.}
+%
+% \codehtml
+%
+%    \begin{macrocode}
+\LWR at ProvidesPackagePass{unitsdef}
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\renewcommand{\unitvaluesep}{\,}
+
+\renewcommand{\unittimes}{\@@setunitsepfalse\HTMLunicode{22c5}}% \cdot
+
+\renewunit{\arcmin}{%
+    \ifnumcomp{\value{LWR at lateximagedepth}}{>}{0}%
+        {\ensuremath{{}^\prime}}%
+        {\HTMLunicode{2032}}% prime
+}
+
+\renewunit{\arcsec}{%
+    \ifnumcomp{\value{LWR at lateximagedepth}}{>}{0}%
+        {\ensuremath{{}^{\prime\prime}}}%
+        {\HTMLunicode{2033}}% dbl prime
+}
+
+\renewrobustcmd{\SI}[2]{%
+  \begingroup%
+    \let\unit@@xspace\relax%
+    \unitSIdef\selectfont%
+      \LWR at textcurrentfont{#1#2}% lwarp
+  \endgroup%
+}
+%    \end{macrocode}
+%
+% \iffalse
+%</unitsdef>
+% \fi
+%
+%
+%
+% \iffalse
 %<*upref>
 % \fi
 %
@@ -56751,7 +58375,7 @@
 %
 %
 % \changes{v0.42}{2017/10/26}{\pkg{wrapfig}: If \progcode{FormatWP}
-%           add explicit HTML style.}
+%           add explicit \HTML\ style.}
 %
 %    \begin{macrocode}
 \newcommand*{\LWR at wrapposition}{}
@@ -56872,7 +58496,7 @@
 % \limitsxcolor
 %
 %
-% \subsection{Xcolor definitions: location and timing}
+% \subsection{\pkg{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,
@@ -56887,7 +58511,7 @@
 % \item [When \pkg{xcolor} is loaded in print mode:] \
 %	No special actions are taken at the time that \pkg{xcolor} is loaded in
 %	print mode, but see \cs{AtBeginDocument} below.
-% \item [When \pkg{lwarp-xcolor} is loaded in HTML mode:] \
+% \item [When \pkg{lwarp-xcolor} is loaded in \HTML\ mode:] \
 %	\pkg{xcolor}'s original definitions are saved for later restoration.
 %	\cs{LWR at restoreorigformatting} is appended to restore these definitions
 %	for use inside a \env{lateximage}.
@@ -56894,7 +58518,7 @@
 %	New \HTML-mode definitions are created for \cs{textcolor}, \cs{pagecolor},
 %	\cs{nopagecolor}, \cs{colorbox}, \cs{colorboxBlock}, \cs{fcolorbox},
 %	\cs{fcolorboxBlock}, and \env{fcolorminipage}.
-% \item [\cs{AtBeginDocument} in print or HTML mode:]
+% \item [\cs{AtBeginDocument} in print or \HTML\ mode:]
 %	See \Cref{sec:xcolorpatches}.
 %	If \pkg{xcolor} has been loaded, the print-mode \cs{fcolorbox} is modified
 %	to accept a background color of |none|, and additional definitions are created
@@ -56905,7 +58529,7 @@
 %   For use inside an \HTML\ \env{lateximage},
 %   \cs{LWR at restoreorigformatting} is appended to temporarily set these functions
 %   to their print-mode versions.
-% \item [In a \env{lateximage} in HTML mode:] \
+% \item [In a \env{lateximage} in \HTML\ mode:] \
 %	\cs{LWR at restoreorigformatting} temporarily restores the
 %   print-mode definitions of \pkg{xcolor}'s functions.
 %	See \cs{LWR at restoreorigformatting} on page \pageref{sec:restoreorigformatting}.
@@ -56916,44 +58540,44 @@
 % \item [\cs{color}:] \
 %	\begin{description}
 %		\item [Print:] Used as-is.
-%		\item [HTML:] Ignored by \prog{pdftotext}, and will not appear.
-%		\item [HTML \env{lateximage}:] Colors will appear in a \env{lateximage}.
+%		\item [\HTML:] Ignored by \prog{pdftotext}, and will not appear.
+%		\item [\HTML\ \env{lateximage}:] Colors will appear in a \env{lateximage}.
 %	\end{description}
 %
 % \item [\cs{textcolor}:] \
 %	\begin{description}
 %		\item [Print:] Used as-is.
-%		\item [HTML:] Redefined by \pkg{lwarp-xcolor}, page \pageref{sec:textcolor}.
-%		\item [HTML \env{lateximage}:] Remembers and reuses the print version.
+%		\item [\HTML:] Redefined by \pkg{lwarp-xcolor}, page \pageref{sec:textcolor}.
+%		\item [\HTML\ \env{lateximage}:] Remembers and reuses the print version.
 %	\end{description}
 %
 % \item [\cs{pagecolor}:] \
 %	\begin{description}
 %		\item [Print:] Used as-is.
-%		\item [HTML:] Ignored.
-%		\item [HTML \env{lateximage}:] Colors will be picked up in a \env{lateximage}.
+%		\item [\HTML:] Ignored.
+%		\item [\HTML\ \env{lateximage}:] Colors will be picked up in a \env{lateximage}.
 %	\end{description}
 %
 % \item [\cs{nopagecolor}:] \
 %	\begin{description}
 %		\item [Print:] Used as-is.
-%		\item [HTML:] Ignored.
-%		\item [HTML \env{lateximage}:] Colors will be picked up in a \env{lateximage}.
+%		\item [\HTML:] Ignored.
+%		\item [\HTML\ \env{lateximage}:] Colors will be picked up in a \env{lateximage}.
 %	\end{description}
 %
 % \item [\cs{colorbox}:] \
 %	\begin{description}
 %		\item [Print:] Used as-is.
-%		\item [HTML:] Redefined by \pkg{lwarp-xcolor}, page \pageref{sec:colorbox}.
-%		\item [HTML \env{lateximage}:] Remembers and reuses the print version.
+%		\item [\HTML:] Redefined by \pkg{lwarp-xcolor}, page \pageref{sec:colorbox}.
+%		\item [\HTML\ \env{lateximage}:] Remembers and reuses the print version.
 %	\end{description}
 %
 % \item [\cs{colorboxBlock}:] \
 %	\begin{description}
 %		\item [Print:] Becomes \cs{colorbox}.
-%		\item [HTML:] Newly defined by \pkg{lwarp-xcolor} to use a \element{div},
+%		\item [\HTML:] Newly defined by \pkg{lwarp-xcolor} to use a \element{div},
 %			page \pageref{sec:colorboxBlock}.
-%		\item [HTML \env{lateximage}:] Remembers and reuses the print version \cs{colorbox}.
+%		\item [\HTML\ \env{lateximage}:] Remembers and reuses the print version \cs{colorbox}.
 %	\end{description}
 %
 % \item [\cs{fcolorbox}:] \
@@ -56960,16 +58584,16 @@
 %	\begin{description}
 %		\item [Print:] Modified to allow a background of |none|. \newline
 %			\cs{LWR at print@fcolorbox} at \cref{sec:xcolorpatches}
-%		\item [HTML:] Redefined by \pkg{lwarp-xcolor}, page \pageref{sec:fcolorbox}.
-%		\item [HTML \env{lateximage}:] Remembers and reuses the print version.
+%		\item [\HTML:] Redefined by \pkg{lwarp-xcolor}, page \pageref{sec:fcolorbox}.
+%		\item [\HTML\ \env{lateximage}:] Remembers and reuses the print version.
 %	\end{description}
 %
 % \item [\cs{fcolorboxBlock}:] \
 %	\begin{description}
 %		\item [Print:] Becomes \cs{fcolorbox}.  \Cref{sec:xcolorpatches}
-%		\item [HTML:] Newly defined by \pkg{lwarp-xcolor} to use a \element{div},
+%		\item [\HTML:] Newly defined by \pkg{lwarp-xcolor} to use a \element{div},
 %			page \pageref{sec:fcolorboxBlock}.
-%		\item [HTML \env{lateximage}:] Remembers and reuses the print version \cs{fcolorbox}.
+%		\item [\HTML\ \env{lateximage}:] Remembers and reuses the print version \cs{fcolorbox}.
 %	\end{description}
 %
 % \item [\env{fcolorminipage}:] \
@@ -56976,15 +58600,15 @@
 %	\begin{description}
 %		\item [Print:] Newly defined in the \pkg{lwarp} core.  \newline
 %			\env{LWR at print@fcolorminipage} at \cref{sec:xcolorpatches}
-%		\item [HTML:] Newly defined by \pkg{lwarp-xcolor}, page \pageref{sec:fcolorminipage}.
-%		\item [HTML \env{lateximage}:] Uses the print version.
+%		\item [\HTML:] Newly defined by \pkg{lwarp-xcolor}, page \pageref{sec:fcolorminipage}.
+%		\item [\HTML\ \env{lateximage}:] Uses the print version.
 %	\end{description}
 %
 % \item [\cs{boxframe}:] \
 %   \begin{description}
 %       \item [Print:] Used as-is.
-%       \item [HTML:] Redefined by \pkg{lwarp-xcolor}, page \pageref{sec:boxframe}.
-%       \item [HTML \env{lateximage}:] Remembers and reuses the print version.
+%       \item [\HTML:] Redefined by \pkg{lwarp-xcolor}, page \pageref{sec:boxframe}.
+%       \item [\HTML\ \env{lateximage}:] Remembers and reuses the print version.
 %   \end{description}
 %
 % \end{description}
@@ -57021,7 +58645,7 @@
 %    \end{macrocode}
 %
 %
-% \subsection{HTML color style}
+% \subsection{\HTML\ color style}
 %
 % \begin{noindmacro}{\LWR at findcurrenttextcolor}
 % \changes{v0.44}{2017/11/10}{\pkg{xcolor}: Added \cs{LWR at findcurrenttextcolor}.}
@@ -57111,7 +58735,7 @@
 % \end{macro}
 %
 %
-% \subsection{HTML border}
+% \subsection{\HTML\ border}
 %
 % \begin{noindmacro}{\LWR at borderpadding} \marg{colorstyle} \marg{color}
 % Prints the \HTML\ attributes for a black border and padding.
@@ -57135,7 +58759,7 @@
 %
 % Converted into an \HTML\ hex color span.
 %
-% \changes{v0.57}{2018/06/02}{\pkg{xcolor}: New system for switching print and HTML outputs.}
+% \changes{v0.57}{2018/06/02}{\pkg{xcolor}: New system for switching print and \HTML\ outputs.}
 %    \begin{macrocode}
 \NewDocumentCommand{\LWR at HTML@textcolor}{o m m}{%
 \begingroup%
@@ -57198,7 +58822,7 @@
 %
 % Converted into an \HTML\ hex background color \element{span}.
 %
-% \changes{v0.57}{2018/06/02}{\pkg{xcolor}: New system for switching print and HTML outputs.}
+% \changes{v0.57}{2018/06/02}{\pkg{xcolor}: New system for switching print and \HTML\ outputs.}
 %    \begin{macrocode}
 \NewDocumentCommand{\LWR at HTML@colorbox}{O{named} m +m}{%
 \begingroup%
@@ -57221,11 +58845,17 @@
 %
 % Converted into an \HTML\ hex background color \element{div}.
 %
-% \changes{v0.57}{2018/06/02}{\pkg{xcolor}: New system for switching print and HTML outputs.}
+% \changes{v0.57}{2018/06/02}{\pkg{xcolor}: New system for switching print and \HTML\ outputs.}
 %    \begin{macrocode}
 \NewDocumentCommand{\LWR at HTML@colorboxBlock}{O{named} m +m}{%
 \begingroup%
 \LWR at FBcancel%
+%    \end{macrocode}
+% \changes{v0.62}{2018/11/11}{Fix: Horiz white space.}
+%    \begin{macrocode}
+\LWR at stoppars%
+%    \end{macrocode}
+%    \begin{macrocode}
 \begin{BlockClass}[%
 background:\LWR at colorstyle{#1}{#2} ; %
 padding:\LWR at printlength{\fboxsep}%
@@ -57233,6 +58863,12 @@
 #3
 \end{BlockClass}%
 \endgroup%
+%    \end{macrocode}
+% Prevent paragraph tags around horizontal white space
+% until the start of the next paragraph:
+% \changes{v0.62}{2018/11/11}{Fix: Horiz white space.}
+%    \begin{macrocode}
+\global\booltrue{LWR at minipagethispar}%
 }
 
 \AtBeginDocument{
@@ -57249,7 +58885,7 @@
 %
 % A background color of |none| creates a colored frame without a background color.
 %
-% \changes{v0.57}{2018/06/02}{\pkg{xcolor}: New system for switching print and HTML outputs.}
+% \changes{v0.57}{2018/06/02}{\pkg{xcolor}: New system for switching print and \HTML\ outputs.}
 %    \begin{macrocode}
 \NewDocumentCommand{\LWR at HTML@fcolorbox}{O{named} m O{named} m +m}{%
 \LWR at traceinfo{HTML fcolorbox #2 #4}%
@@ -57291,6 +58927,12 @@
 \begingroup%
 \LWR at FBcancel%
 \LWR at forceminwidth{\fboxrule}%
+%    \end{macrocode}
+% \changes{v0.62}{2018/11/11}{Fix: Horiz white space.}
+%    \begin{macrocode}
+\LWR at stoppars%
+%    \end{macrocode}
+%    \begin{macrocode}
 \ifthenelse{\equal{#4}{none}}%
 {% no background color
     \begin{BlockClass}[%
@@ -57309,6 +58951,12 @@
     \end{BlockClass}%
 }%
 \endgroup%
+%    \end{macrocode}
+% Prevent paragraph tags around horizontal white space
+% until the start of the next paragraph:
+% \changes{v0.62}{2018/11/11}{Fix: Horiz white space.}
+%    \begin{macrocode}
+\global\booltrue{LWR at minipagethispar}%
 \LWR at traceinfo{HTML fcolorboxBlock done}%
 }
 
@@ -57330,6 +58978,12 @@
 %	\marg{framemodel} \marg{framecolor} \marg{background tag} \marg{height}
 %    \begin{macrocode}
 \NewDocumentCommand{\LWR at subfcolorminipage}{m m m m}{%
+%    \end{macrocode}
+% \changes{v0.62}{2018/11/11}{Fix: Horiz white space.}
+%    \begin{macrocode}
+\LWR at stoppars%
+%    \end{macrocode}
+%    \begin{macrocode}
 \begin{BlockClass}[%
 #3%
 \LWR at borderpadding{#1}{#2} ; %
@@ -57360,7 +59014,15 @@
     \LWR at subfcolorminipage{#1}{#2}{background:\LWR at origpound\LWR at tempcolortwo\ ; }{#6}%
 }%
 }
-{\end{BlockClass}}
+{%
+    \end{BlockClass}%
+%    \end{macrocode}
+% Prevent paragraph tags around horizontal white space
+% until the start of the next paragraph:
+% \changes{v0.62}{2018/11/11}{Fix: Horiz white space.}
+%    \begin{macrocode}
+    \global\booltrue{LWR at minipagethispar}%
+}
 
 \AtBeginDocument{
 \LWR at formattedenv{fcolorminipage}
@@ -57493,6 +59155,67 @@
 %
 %
 % \iffalse
+%<*xechangebar>
+% \fi
+%
+% \part{lwarp-xechangebar.sty}
+%
+% \section{xechangebar}
+%
+% \DescribePackage{xechangebar}
+% \pkg{xechangebar} is ignored.
+%
+% \changes{v0.62}{2018/10/18}{\pkg{xechangebar}: Added.}
+%
+% \codehtml
+%
+%    \begin{macrocode}
+\LWR at ProvidesPackageDrop{xechangebar}[2017/08/03]
+\LWR at origRequirePackage{lwarp-changebar}
+%    \end{macrocode}
+%
+% \iffalse
+%</xechangebar>
+% \fi
+%
+%
+%
+%
+% \iffalse
+%<*xeCJK>
+% \fi
+%
+% \part{lwarp-xeCJK.sty}
+%
+% \section{xeCJK}
+%
+% \DescribePackage{xeCJK}
+% Error if \pkg{xeCJK} is loaded after \pkg{lwarp}.
+%
+% Load \pkg{xeCJK} before \pkg{lwarp} so that \pkg{lwarp}
+% can take control of the sectioning commands.
+%
+% \changes{v0.62}{2018/11/18}{\pkg{xeCJK}: Added.}
+%
+% Discard all options for \pkg{lwarp-xeCJK}:
+%
+% \codehtml
+%    \begin{macrocode}
+\LWR at ProvidesPackageDrop{xeCJK}
+%    \end{macrocode}
+
+%    \begin{macrocode}
+\LWR at loadbefore{xeCJK}
+%    \end{macrocode}
+
+% \iffalse
+%</xeCJK>
+% \fi
+%
+%
+%
+%
+% \iffalse
 %<*xellipsis>
 % \fi
 %
@@ -57606,7 +59329,7 @@
 
 % \begin{macro}{\xfracHTMLfontsize}
 % \changes{v0.19}{2016/06/06}{Added.}
-% \gindex{font>size --- \pkg{xfrac}}
+% \gindex{font>size>\pkg{xfrac}}
 % User-redefinable macro which controls the font size of the fraction.
 %    \begin{macrocode}
 \newcommand*{\xfracHTMLfontsize}{.6em}
@@ -57624,26 +59347,11 @@
 %    \end{macrocode}
 
 
-% A span for a small font, used in the numerator and denominator:
-% \margintag{font size}
-%    \begin{macrocode}
-\newcommand*{\LWR at htmlsmallfontstart}{%
-\LWR at htmltagc{span style="font-size:\xfracHTMLfontsize"}%
-\LWR at nestspan%
-%
-}
-
-\newcommand*{\LWR at htmlsmallfontend}{%
-\LWR at htmltagc{/span}%
-\endLWR at nestspan%
-}
-%    \end{macrocode}
-%
 % Instances of \pkg{xfrac} for various font choices:
 % \margintag{instances}
 %
-% Produce \HTML\ tags for a small superscript numerator and
-% a small (non-subscript) denominator.
+% Produce \CSS\ for a small raised numerator and
+% a small denominator.
 %
 % Scaling is turned off so that \prog{pdftotext} correctly reads the result.
 %
@@ -57651,81 +59359,82 @@
 % \changes{v0.48}{2018/02/13}{\pkg{xfrac}: Fix: Added groups around super/subscripts
 %           to localize \env{LWR at nestspan} changes.}
 % \changes{v0.57}{2018/06/01}{\pkg{xfrac}: Improved print/HTML \cs{scalebox} control.}
+% \changes{v0.62}{2018/11/15}{\pkg{xfrac}: Improved \CSS.}
 %    \begin{macrocode}
 \DeclareInstance{xfrac}{default}{text}{
-numerator-format = {%
-\begingroup%
-\RenewDocumentCommand{\scalebox}{m o m}{##3}%
-\LWR at htmlsmallfontstart\textsuperscript{#1}\,\LWR at htmlsmallfontend%
-\endgroup%
-},
-denominator-format = {%
-\begingroup%
-\RenewDocumentCommand{\scalebox}{m o m}{##3}%
-\LWR at htmlsmallfontstart{}\,#1\LWR at htmlsmallfontend%
-\endgroup%
-},
+    numerator-format = {%
+        \begingroup%
+        \RenewDocumentCommand{\scalebox}{m o m}{##3}%
+        \InlineClass{numerator}{#1}\,%
+        \endgroup%
+    },
+    denominator-format = {%
+        \begingroup%
+        \RenewDocumentCommand{\scalebox}{m o m}{##3}%
+        \InlineClass{denominator}{#1}%
+        \endgroup%
+    },
 %    \end{macrocode}
 % For \prog{pdftotext}, do not scale the text:
 %    \begin{macrocode}
-scaling = false
+    scaling = false
 }
 
 \DeclareInstance{xfrac}{lmr}{text}{
-numerator-format = {%
-\begingroup%
-\RenewDocumentCommand{\scalebox}{m o m}{##3}%
-\LWR at htmlsmallfontstart\textsuperscript{#1}\,\LWR at htmlsmallfontend%
-\endgroup%
-},
-denominator-format = {%
-\begingroup%
-\RenewDocumentCommand{\scalebox}{m o m}{##3}%
-\LWR at htmlsmallfontstart{}\,#1\LWR at htmlsmallfontend%
-\endgroup%
-},
+    numerator-format = {%
+        \begingroup%
+        \RenewDocumentCommand{\scalebox}{m o m}{##3}%
+        \InlineClass{numerator}{#1}\,%
+        \endgroup%
+    },
+    denominator-format = {%
+        \begingroup%
+        \RenewDocumentCommand{\scalebox}{m o m}{##3}%
+        \InlineClass{denominator}{#1}%
+        \endgroup%
+    },
 %    \end{macrocode}
 % For \prog{pdftotext}, do not scale the text:
 %    \begin{macrocode}
-scaling = false
+    scaling = false
 }
 
 \DeclareInstance{xfrac}{lmss}{text}{
-numerator-format = {%
-\begingroup%
-\RenewDocumentCommand{\scalebox}{m o m}{##3}%
-\LWR at htmlsmallfontstart\textsuperscript{#1}\,\LWR at htmlsmallfontend%
-\endgroup%
-},
-denominator-format = {%
-\begingroup%
-\RenewDocumentCommand{\scalebox}{m o m}{##3}%
-\LWR at htmlsmallfontstart{}\,#1\LWR at htmlsmallfontend%
-\endgroup%
-},
+    numerator-format = {%
+        \begingroup%
+        \RenewDocumentCommand{\scalebox}{m o m}{##3}%
+        \InlineClass{numerator}{#1}\,%
+        \endgroup%
+    },
+    denominator-format = {%
+        \begingroup%
+        \RenewDocumentCommand{\scalebox}{m o m}{##3}%
+        \InlineClass{denominator}{#1}%
+        \endgroup%
+    },
 %    \end{macrocode}
 % For \prog{pdftotext}, do not scale the text:
 %    \begin{macrocode}
-scaling = false
+    scaling = false
 }
 
 \DeclareInstance{xfrac}{lmtt}{text}{
-numerator-format = {%
-\begingroup%
-\RenewDocumentCommand{\scalebox}{m o m}{##3}%
-\LWR at htmlsmallfontstart\textsuperscript{#1}\,\LWR at htmlsmallfontend%
-\endgroup%
-},
-denominator-format = {%
-\begingroup%
-\RenewDocumentCommand{\scalebox}{m o m}{##3}%
-\LWR at htmlsmallfontstart{}\,#1\LWR at htmlsmallfontend%
-\endgroup%
-},
+    numerator-format = {%
+        \begingroup%
+        \RenewDocumentCommand{\scalebox}{m o m}{##3}%
+        \InlineClass{numerator}{#1}\,%
+        \endgroup%
+    },
+    denominator-format = {%
+        \begingroup%
+        \RenewDocumentCommand{\scalebox}{m o m}{##3}%
+        \InlineClass{denominator}{#1}%
+        \endgroup%
+    },
 %    \end{macrocode}
 % For \prog{pdftotext}, do not scale the text:
 %    \begin{macrocode}
-scaling = false
+    scaling = false
 }
 %    \end{macrocode}
 
@@ -58048,15 +59757,17 @@
 %
 % \codehtml
 %    \begin{macrocode}
-\@ifpackageloaded{lwarp}{\LWR at loadbefore{xunicode}}{}
+\LWR at loadbefore{xunicode}%
 
 \LWR at ProvidesPackagePass{xunicode}[2011/09/09]
 %    \end{macrocode}
 %
-% \cs{textcircled} becomes a span with a rounded border:
+% \cs{textcircled} becomes a span with a rounded border.
+% \cs{providecommand} is used to avoid conflict with \pkg{textcomp}.
+% \changes{v0.62}{2018/11/17}{\pkg{xunicode}: Fix conflict with \pkg{textcomp}.}
 %    \begin{macrocode}
-\newcommand*{\LWR at HTML@textcircled}[1]{%
-\InlineClass[border: 1px solid \LWR at currenttextcolor]{textcircled}{#1}%
+\providecommand*{\LWR at HTML@textcircled}[1]{%
+    \InlineClass[border: 1px solid \LWR at currenttextcolor]{textcircled}{#1}%
 }
 
 \LWR at formatted{textcircled}
@@ -59323,7 +61034,7 @@
 \IfValueT{#2}{\label[\@captype]{#2}}%
 }
 %    \end{macrocode}
-% \cs{sidenamedlegend} does not appear to use the TOC argument.
+% \cs{sidenamedlegend} does not appear to use the \TOC\ argument.
 %    \begin{macrocode}
 \renewenvironment{sidenamedlegend}[2][]{
 \begin{center}
@@ -59690,7 +61401,7 @@
 %    \end{macrocode}
 %
 %
-% \subsection{Ccaption emulation}
+% \subsection{\pkg{ccaption} emulation}
 %
 %    \begin{macrocode}
 \renewcommand*{\captiondelim}[1]{\renewcommand*{\CaptionSeparator}{#1}}
@@ -59712,7 +61423,8 @@
 % \ContinuedFloat%
 % \caption{#1}%
 \begin{LWR at figcaption}% later becomes \caption*
-\@nameuse{\@captype name} \thechapter.\the\value{\@captype}\CaptionSeparator #1
+\LWR at isolate{\@nameuse{\@captype name}}~%
+\thechapter.\the\value{\@captype}\CaptionSeparator\LWR at isolate{#1}%
 \end{LWR at figcaption}
 }
 %    \end{macrocode}
@@ -59724,7 +61436,7 @@
 \setlength{\belowlegendskip}{\abovelegendskip}
 %    \end{macrocode}
 
-% The extra |\\| here forces a \element{br} in HTML when \cs{legend} is
+% The extra |\\| here forces a \element{br} in \HTML\ when \cs{legend} is
 % used in a \cs{marginpar}.
 %    \begin{macrocode}
 \renewcommand{\legend}[1]{\begin{center}#1\\\end{center}}
@@ -59758,7 +61470,7 @@
 \renewcommand{\bicaption}[5][]{%
 \ifblank{#2}{\caption{#3}}{\caption[#2]{#3}}%
 \begin{LWR at figcaption}% later becomes \caption*
-#4 \thechapter.\the\value{\@captype}\CaptionSeparator #5
+\LWR at isolate{#4} \thechapter.\the\value{\@captype}\CaptionSeparator\LWR at isolate{#5}%
 \end{LWR at figcaption}
 \ifblank{#1}{}{\label{#1}}%
 }

Modified: trunk/Master/texmf-dist/source/latex/lwarp/lwarp.ins
===================================================================
--- trunk/Master/texmf-dist/source/latex/lwarp/lwarp.ins	2018-11-19 21:53:15 UTC (rev 49195)
+++ trunk/Master/texmf-dist/source/latex/lwarp/lwarp.ins	2018-11-19 21:54:31 UTC (rev 49196)
@@ -33,6 +33,7 @@
 \askforoverwritefalse
 \generate{
 \file{lwarp.sty}{\from{lwarp.dtx}{package}}
+\file{lwarp-2in1.sty}{\from{lwarp.dtx}{2in1}}
 \file{lwarp-2up.sty}{\from{lwarp.dtx}{2up}}
 \file{lwarp-a4.sty}{\from{lwarp.dtx}{a4}}
 \file{lwarp-a4wide.sty}{\from{lwarp.dtx}{a4wide}}
@@ -69,6 +70,7 @@
 \file{lwarp-bibunits.sty}{\from{lwarp.dtx}{bibunits}}
 \file{lwarp-bigdelim.sty}{\from{lwarp.dtx}{bigdelim}}
 \file{lwarp-bigstrut.sty}{\from{lwarp.dtx}{bigstrut}}
+\file{lwarp-bitpattern.sty}{\from{lwarp.dtx}{bitpattern}}
 \file{lwarp-blowup.sty}{\from{lwarp.dtx}{blowup}}
 \file{lwarp-booklet.sty}{\from{lwarp.dtx}{booklet}}
 \file{lwarp-bookmark.sty}{\from{lwarp.dtx}{bookmark}}
@@ -98,6 +100,8 @@
 \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-CJK.sty}{\from{lwarp.dtx}{CJK}}
+\file{lwarp-CJKutf8.sty}{\from{lwarp.dtx}{CJKutf8}}
 \file{lwarp-clrdblpg.sty}{\from{lwarp.dtx}{clrdblpg}}
 \file{lwarp-cmdtrack.sty}{\from{lwarp.dtx}{cmdtrack}}
 \file{lwarp-color.sty}{\from{lwarp.dtx}{color}}
@@ -105,6 +109,7 @@
 \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-ctex.sty}{\from{lwarp.dtx}{ctex}}
 \file{lwarp-cuted.sty}{\from{lwarp.dtx}{cuted}}
 \file{lwarp-cutwin.sty}{\from{lwarp.dtx}{cutwin}}
 \file{lwarp-dblfloatfix.sty}{\from{lwarp.dtx}{dblfloatfix}}
@@ -145,6 +150,7 @@
 \file{lwarp-fixme.sty}{\from{lwarp.dtx}{fixme}}
 \file{lwarp-fixmetodonotes.sty}{\from{lwarp.dtx}{fixmetodonotes}}
 \file{lwarp-flafter.sty}{\from{lwarp.dtx}{flafter}}
+\file{lwarp-flippdf.sty}{\from{lwarp.dtx}{flippdf}}
 \file{lwarp-float.sty}{\from{lwarp.dtx}{float}}
 \file{lwarp-floatflt.sty}{\from{lwarp.dtx}{floatflt}}
 \file{lwarp-floatpag.sty}{\from{lwarp.dtx}{floatpag}}
@@ -232,6 +238,7 @@
 \file{lwarp-multicol.sty}{\from{lwarp.dtx}{multicol}}
 \file{lwarp-multirow.sty}{\from{lwarp.dtx}{multirow}}
 \file{lwarp-multitoc.sty}{\from{lwarp.dtx}{multitoc}}
+\file{lwarp-musicography.sty}{\from{lwarp.dtx}{musicography}}
 \file{lwarp-nameref.sty}{\from{lwarp.dtx}{nameref}}
 \file{lwarp-natbib.sty}{\from{lwarp.dtx}{natbib}}
 \file{lwarp-nccfancyhdr.sty}{\from{lwarp.dtx}{nccfancyhdr}}
@@ -243,8 +250,10 @@
 \file{lwarp-nonfloat.sty}{\from{lwarp.dtx}{nonfloat}}
 \file{lwarp-nonumonpart.sty}{\from{lwarp.dtx}{nonumonpart}}
 \file{lwarp-nopageno.sty}{\from{lwarp.dtx}{nopageno}}
+\file{lwarp-notespages.sty}{\from{lwarp.dtx}{notespages}}
 \file{lwarp-nowidow.sty}{\from{lwarp.dtx}{nowidow}}
 \file{lwarp-ntheorem.sty}{\from{lwarp.dtx}{ntheorem}}
+\file{lwarp-octave.sty}{\from{lwarp.dtx}{octave}}
 \file{lwarp-overpic.sty}{\from{lwarp.dtx}{overpic}}
 \file{lwarp-pagegrid.sty}{\from{lwarp.dtx}{pagegrid}}
 \file{lwarp-pagenote.sty}{\from{lwarp.dtx}{pagenote}}
@@ -253,10 +262,12 @@
 \file{lwarp-parnotes.sty}{\from{lwarp.dtx}{parnotes}}
 \file{lwarp-parskip.sty}{\from{lwarp.dtx}{parskip}}
 \file{lwarp-pbox.sty}{\from{lwarp.dtx}{pbox}}
-\file{lwarp-pdfrender.sty}{\from{lwarp.dtx}{pdfrender}}
+\file{lwarp-pdfcomment.sty}{\from{lwarp.dtx}{pdfcomment}}
 \file{lwarp-pdflscape.sty}{\from{lwarp.dtx}{pdflscape}}
+\file{lwarp-pdfmarginpar.sty}{\from{lwarp.dtx}{pdfmarginpar}}
 \file{lwarp-pdfpages.sty}{\from{lwarp.dtx}{pdfpages}}
 \file{lwarp-pdfprivacy.sty}{\from{lwarp.dtx}{pdfprivacy}}
+\file{lwarp-pdfrender.sty}{\from{lwarp.dtx}{pdfrender}}
 \file{lwarp-pdfsync.sty}{\from{lwarp.dtx}{pdfsync}}
 \file{lwarp-pdftricks.sty}{\from{lwarp.dtx}{pdftricks}}
 \file{lwarp-pdfx.sty}{\from{lwarp.dtx}{pdfx}}
@@ -284,6 +295,7 @@
 \file{lwarp-romanbarpagenumber.sty}{\from{lwarp.dtx}{romanbarpagenumber}}
 \file{lwarp-rotating.sty}{\from{lwarp.dtx}{rotating}}
 \file{lwarp-rotfloat.sty}{\from{lwarp.dtx}{rotfloat}}
+\file{lwarp-rviewport.sty}{\from{lwarp.dtx}{rviewport}}
 \file{lwarp-savetrees.sty}{\from{lwarp.dtx}{savetrees}}
 \file{lwarp-scalefnt.sty}{\from{lwarp.dtx}{scalefnt}}
 \file{lwarp-schemata.sty}{\from{lwarp.dtx}{schemata}}
@@ -295,6 +307,7 @@
 \file{lwarp-section.sty}{\from{lwarp.dtx}{section}}
 \file{lwarp-sectionbreak.sty}{\from{lwarp.dtx}{sectionbreak}}
 \file{lwarp-sectsty.sty}{\from{lwarp.dtx}{sectsty}}
+\file{lwarp-semantic-markup.sty}{\from{lwarp.dtx}{semantic-markup}}
 \file{lwarp-setspace.sty}{\from{lwarp.dtx}{setspace}}
 \file{lwarp-shadow.sty}{\from{lwarp.dtx}{shadow}}
 \file{lwarp-showidx.sty}{\from{lwarp.dtx}{idx}}
@@ -342,14 +355,17 @@
 \file{lwarp-tocstyle.sty}{\from{lwarp.dtx}{tocstyle}}
 \file{lwarp-todo.sty}{\from{lwarp.dtx}{todo}}
 \file{lwarp-todonotes.sty}{\from{lwarp.dtx}{todonotes}}
+\file{lwarp-tram.sty}{\from{lwarp.dtx}{tram}}
 \file{lwarp-transparent.sty}{\from{lwarp.dtx}{transparent}}
 \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.sty}{\from{lwarp.dtx}{twoup}}
 \file{lwarp-typearea.sty}{\from{lwarp.dtx}{typearea}}
 \file{lwarp-ulem.sty}{\from{lwarp.dtx}{ulem}}
 \file{lwarp-underscore.sty}{\from{lwarp.dtx}{underscore}}
 \file{lwarp-units.sty}{\from{lwarp.dtx}{units}}
+\file{lwarp-unitsdef.sty}{\from{lwarp.dtx}{unitsdef}}
 \file{lwarp-upref.sty}{\from{lwarp.dtx}{upref}}
 \file{lwarp-url.sty}{\from{lwarp.dtx}{url}}
 \file{lwarp-uspace.sty}{\from{lwarp.dtx}{uspace}}
@@ -366,6 +382,8 @@
 \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-xechangebar.sty}{\from{lwarp.dtx}{xechangebar}}
+\file{lwarp-xeCJK.sty}{\from{lwarp.dtx}{xeCJK}}
 \file{lwarp-xellipsis.sty}{\from{lwarp.dtx}{xellipsis}}
 \file{lwarp-xfrac.sty}{\from{lwarp.dtx}{xfrac}}
 \file{lwarp-xltabular.sty}{\from{lwarp.dtx}{xltabular}}

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


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


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


Property changes on: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-CJKutf8.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-algorithm2e.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-algorithm2e.sty	2018-11-19 21:53:15 UTC (rev 49195)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-algorithm2e.sty	2018-11-19 21:54:31 UTC (rev 49196)
@@ -48,24 +48,24 @@
 }
 \renewcommand{\algocf at makecaption}[2]{%
 \LWR at HTML@caption at begin{algocf}%
-\algocf at captiontext{#1}{#2}%
+\LWR at isolate{\algocf at captiontext{#1}{#2}}%
 \LWR at HTML@caption at end%
 }
 \renewcommand{\algocf at makecaption@plain}[2]{%
     \LWR at HTML@caption at begin{algocf}%
-    \algocf at captiontext{#1}{#2}%
+    \LWR at isolate{\algocf at captiontext{#1}{#2}}%
     \LWR at HTML@caption at end%
 }
 
 \renewcommand{\algocf at makecaption@boxed}[2]{%
     \LWR at HTML@caption at begin{algocf}%
-    \algocf at captiontext{#1}{#2}%
+    \LWR at isolate{\algocf at captiontext{#1}{#2}}%
     \LWR at HTML@caption at end%
 }
 
 \renewcommand{\algocf at makecaption@ruled}[2]{%
     \LWR at HTML@caption at begin{algocf}%
-    \algocf at captiontext{#1}{#2}%
+    \LWR at isolate{\algocf at captiontext{#1}{#2}}%
     \LWR at HTML@caption at end%
 }
 \long\def\algocf at latexcaption#1[#2]#3{% original definition of caption
@@ -72,7 +72,7 @@
 \boolfalse{LWR at algocf@dopars}%  lwarp
   \par%
   \addcontentsline{\csname ext@#1\endcsname}{#1}%
-  {\protect\numberline{\csname the#1\endcsname}{\ignorespaces #2}}%
+  {\protect\numberline{\csname the#1\endcsname}{\ignorespaces \LWR at isolate{#2}}}%
   \begingroup%
   \@parboxrestore%
   \if at minipage%

Modified: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-asymptote.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-asymptote.sty	2018-11-19 21:53:15 UTC (rev 49195)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-asymptote.sty	2018-11-19 21:54:31 UTC (rev 49196)
@@ -16,12 +16,12 @@
 %% and version 1.3 or later is part of all distributions of LaTeX
 %% version 2005/12/01 or later.
 \LWR at ProvidesPackagePass{asymptote}
-\BeforeBeginEnvironment{asy}{\begin{lateximage}}
+\BeforeBeginEnvironment{asy}{\begin{lateximage}[(-asymptote-~\packagediagramname)]}
 \AfterEndEnvironment{asy}{\end{lateximage}}
 
 \xpatchcmd{\asyinclude}
     {\begingroup}
-    {\begin{lateximage}}
+    {\begin{lateximage}[(-asymptote-~\packagediagramname)]}
     {}
     {\LWR at patcherror{asymptote}{asyinclude-begingroup}}
 

Added: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-bitpattern.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-bitpattern.sty	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-bitpattern.sty	2018-11-19 21:54:31 UTC (rev 49196)
@@ -0,0 +1,32 @@
+%%
+%% This is file `lwarp-bitpattern.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx  (with options: `bitpattern')
+%% 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{bitpattern}
+\xpatchcmd{\bitpattern}
+    {\begingroup}
+    {\begin{lateximage}[(-bitpattern-~\packagediagramname)]}
+    {}
+    {\LWR at patcherror{bitpattern}{bitpattern}}
+
+\xpatchcmd{\bp at Done}
+    {\endgroup}
+    {\end{lateximage}}
+    {}
+    {\LWR at patcherror{bitpattern}{bp at Done}}
+\endinput
+%%
+%% End of file `lwarp-bitpattern.sty'.


Property changes on: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-bitpattern.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-cancel.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-cancel.sty	2018-11-19 21:53:15 UTC (rev 49195)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-cancel.sty	2018-11-19 21:54:31 UTC (rev 49196)
@@ -29,7 +29,7 @@
 
 \newcommand{\LWR at cancelcolor}[5]{%
 \ifcsempty{#2}%
-{\LWR at HTMLtextstyle{#5}{#3}{#1}}%
+{\InlineClass(#5){#3}{#1}}%
 {\LWR at htmlspanclass[#5;#4:\LWR at origpound\LWR at tempcolor]{#3}{#1}}%
 }
 

Modified: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-changebar.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-changebar.sty	2018-11-19 21:53:15 UTC (rev 49195)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-changebar.sty	2018-11-19 21:54:31 UTC (rev 49196)
@@ -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{changebar}
+\LWR at ProvidesPackageDrop{changebar}[2018/03/09]
 \newcommand*{\cbstart}{}
 \newcommand*{\cbend}{}
 \newenvironment*{\changebar}{}{}

Modified: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-chngpage.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-chngpage.sty	2018-11-19 21:53:15 UTC (rev 49195)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-chngpage.sty	2018-11-19 21:54:31 UTC (rev 49196)
@@ -18,7 +18,7 @@
 
 
 \LWR at ProvidesPackageDrop{chngpage}
-\LWR at origRequirePackage{changepage}
+\LWR at origRequirePackage{lwarp-changepage}
 
 \endinput
 %%

Added: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-ctex.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-ctex.sty	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-ctex.sty	2018-11-19 21:54:31 UTC (rev 49196)
@@ -0,0 +1,24 @@
+%%
+%% This is file `lwarp-ctex.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx  (with options: `ctex')
+%% 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{ctex}[2018-05-02]
+
+\LWR at loadbefore{ctex}
+
+\endinput
+%%
+%% End of file `lwarp-ctex.sty'.


Property changes on: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-ctex.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-easy-todo.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-easy-todo.sty	2018-11-19 21:53:15 UTC (rev 49195)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-easy-todo.sty	2018-11-19 21:54:31 UTC (rev 49196)
@@ -39,7 +39,7 @@
         \normalfont\scriptsize{\bfseries{\thetodos.#1}}%
     }%
 }%
-\addcontentsline{lod}{todos}{\protect{\thetodos. }#2}%
+\addcontentsline{lod}{todos}{\protect{\thetodos. }\LWR at isolate{#2}}%
 }{}%
 }
 

Modified: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-fancybox.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-fancybox.sty	2018-11-19 21:53:15 UTC (rev 49195)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-fancybox.sty	2018-11-19 21:54:31 UTC (rev 49196)
@@ -76,7 +76,7 @@
 \csgpreto{Beqnarray*}{\boolfalse{LWR at numbereqnarray}}
 \renewcommand{\GenericCaption}[1]{%
 \LWR at figcaption%
-#1%
+\LWR at isolate{#1}%
 \endLWR at figcaption%
 }
 \RenewDocumentEnvironment{Btrivlist}{m o}

Modified: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-fancyvrb.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-fancyvrb.sty	2018-11-19 21:53:15 UTC (rev 49195)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-fancyvrb.sty	2018-11-19 21:54:31 UTC (rev 49196)
@@ -187,7 +187,7 @@
             div class="fancyvrblabel" % extra space
                 style="color: \LWR at origpound\LWR at tempcolor"%
         }
-        \LWR at origtextrm{\FV at LabelBegin}% \textrm preserves emdash
+        \LWR at print@textrm{\FV at LabelBegin}% \textrm preserves emdash
         \LWR at htmltagc{/div}
         \fi
       \else
@@ -199,7 +199,7 @@
             div class="fancyvrblabel" % extra space
                 style="color: \LWR at origpound\LWR at tempcolor"%
         }
-        \LWR at origtextrm{\FV at LabelEnd}
+        \LWR at print@textrm{\FV at LabelEnd}
         \LWR at htmltagc{/div}
         \fi
       \fi

Added: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-flippdf.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-flippdf.sty	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-flippdf.sty	2018-11-19 21:54:31 UTC (rev 49196)
@@ -0,0 +1,23 @@
+%%
+%% This is file `lwarp-flippdf.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx  (with options: `flippdf')
+%% 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{flippdf}[2006/06/30]
+\newcommand\FlipPDF{}
+\newcommand\UnFlipPDF{}
+\endinput
+%%
+%% End of file `lwarp-flippdf.sty'.


Property changes on: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-flippdf.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-11-19 21:53:15 UTC (rev 49195)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-graphics.sty	2018-11-19 21:54:31 UTC (rev 49196)
@@ -205,21 +205,22 @@
 \LWR at traceinfo{LWR at parsedfilename is \LWR at parsedfilename}%
 \ifbool{FormatWP}{%
     \begingroup%
-    \ifpdf
+    \LWR at restoreorigformatting%
+    \ifpdf%
     \appto\LWR at restoreorigformatting{%
     \DeclareGraphicsExtensions{.pdf,.PDF,.gif,.GIF,.png,.PNG,.jpg,.JPG,.jpeg,.JPEG}%
-    }
+    }%
     \else% \ifpdf
-            \ifXeTeX
+            \ifXeTeX%
     \appto\LWR at restoreorigformatting{%
     \DeclareGraphicsExtensions{.pdf,.PDF,.gif,.GIF,.png,.PNG,.jpg,.JPG,.jpeg,.JPEG}%
-    }
-            \else
+    }%
+            \else%
     \appto\LWR at restoreorigformatting{%
     \DeclareGraphicsExtensions{.eps,.EPS,.gif,.GIF,.png,.PNG,.jpg,.JPG,.jpeg,.JPEG}%
-    }
-            \fi
-    \fi
+    }%
+            \fi%
+    \fi% \ifpdf
     \define at key{Gin}{angle}{}%
     \IfBooleanTF{#1}%
     {% starred
@@ -255,7 +256,7 @@
     \global\renewcommand*{\LWR at igwidthstyle}{width:\LWR at printlength{\LWR at igwidth}}%
     \settoheight{\LWR at igheight}{\usebox{\LWR at imagesizebox}}%
     \global\renewcommand*{\LWR at igheightstyle}{height:\LWR at printlength{\LWR at igheight}}%
-}{}%
+}{}% FormatWP
 \LWR at traceinfo{LWR at includegraphicsb: about to create href}%
 \href{\LWR at parsedfilename}%
 {% start of href
@@ -262,7 +263,7 @@
 \LWR at traceinfo{LWR at includegraphicsb: about to LWR at htmltag}%
 \LWR at htmltag{% start of image tags
 img src="%
-\begingroup\@sanitize\LWR at parsedfilename\endgroup%
+\detokenize\expandafter{\LWR at parsedfilename}%
 " \LWR at orignewline%
 \ifthenelse{
     \NOT\equal{\LWR at igwidthstyle}{} \OR
@@ -272,28 +273,38 @@
     \NOT\equal{\LWR at igxscale}{1} \OR
     \NOT\equal{\LWR at igyscale}{1}
 }%
-{\LWR at origtilde{} style="%
-\ifthenelse{\NOT\equal{\LWR at igwidthstyle}{}}%
-{\LWR at igwidthstyle;}{}%
-\ifthenelse{\NOT\equal{\LWR at igheightstyle}{}}%
-{\LWR at igheightstyle;}{}%
-\ifthenelse{\NOT\equal{\LWR at igorigin}{}}%
-{\LWR at origtilde{} transform-origin: \LWR at originnames{\LWR at igorigin}; \LWR at orignewline}{}%
-\ifthenelse{\NOT\equal{\LWR at igangle}{}}%
 {%
-\LWR at rotstyle{-ms-}{\LWR at igangle} % extra space
-\LWR at rotstyle{-webkit-}{\LWR at igangle} % extra space
-\LWR at rotstyle{}{\LWR at igangle %
-}}{}%
-\ifthenelse{\NOT\equal{\LWR at igxscale}{1}\OR%
-\NOT\equal{\LWR at igyscale}{1}}%
-{\LWR at scalestyle{-ms-}{\LWR at igxscale}{\LWR at igyscale} % extra space
-\LWR at scalestyle{-webkit-}{\LWR at igxscale}{\LWR at igyscale} % extra space
-\LWR at scalestyle{}{\LWR at igxscale}{\LWR at igyscale}}{} % extra space
-\ifthenelse{\NOT\equal{\LWR at opacity}{1}}%
-{opacity:\LWR at opacity; }%
-{}%
-" \LWR at orignewline}{}%
+    \LWR at origtilde{} style="%
+    \ifthenelse{\NOT\equal{\LWR at igwidthstyle}{}}%
+        {\LWR at igwidthstyle; }{}%
+    \ifthenelse{\NOT\equal{\LWR at igheightstyle}{}}%
+        {\LWR at igheightstyle; }{}%
+    \ifthenelse{\NOT\equal{\LWR at igorigin}{}}%
+        {%
+            \LWR at origtilde{} transform-origin: \LWR at originnames{\LWR at igorigin}; %
+            \LWR at orignewline%
+        }{}%
+    \ifthenelse{\NOT\equal{\LWR at igangle}{}}%
+    {%
+        \LWR at rotstyle{-ms-}{\LWR at igangle} % extra space
+        \LWR at rotstyle{-webkit-}{\LWR at igangle} % extra space
+        \LWR at rotstyle{}{\LWR at igangle }%
+    }{}%
+    \ifthenelse{%
+        \NOT\equal{\LWR at igxscale}{1}\OR%
+        \NOT\equal{\LWR at igyscale}{1}%
+    }%
+    {%
+        \LWR at scalestyle{-ms-}{\LWR at igxscale}{\LWR at igyscale} % extra space
+        \LWR at scalestyle{-webkit-}{\LWR at igxscale}{\LWR at igyscale} % extra space
+        \LWR at scalestyle{}{\LWR at igxscale}{\LWR at igyscale}%
+    }{} % extra space
+    %
+    \ifthenelse{\NOT\equal{\LWR at opacity}{1}}%
+        {opacity:\LWR at opacity; }{}%
+    %
+    " \LWR at orignewline%
+}{}%
 \LWR at origtilde{} class="\LWR at igclass" \LWR at orignewline%
 }% end of image tags
 }% end of href

Modified: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-listings.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-listings.sty	2018-11-19 21:53:15 UTC (rev 49195)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-listings.sty	2018-11-19 21:54:31 UTC (rev 49196)
@@ -97,7 +97,7 @@
 \LWR at traceinfo{addcontents lst@@caption: -\lst@@caption-}%
                  \addcontentsline{lol}{lstlisting}%
 {\protect\numberline{\thelstlisting}%
-{\protect\ignorespaces \lst@@caption \protect\relax}}%
+{\protect\ignorespaces \LWR at isolate{\lst@@caption} \protect\relax}}%
             \fi
          \fi
      \fi

Added: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-musicography.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-musicography.sty	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-musicography.sty	2018-11-19 21:54:31 UTC (rev 49196)
@@ -0,0 +1,93 @@
+%%
+%% This is file `lwarp-musicography.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx  (with options: `musicography')
+%% 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{musicography}[2018/05/21]
+\RenewDocumentCommand{\musSymbol}{ O{\musFont} m m m m }{%
+\begin{lateximage}%
+{#1\kern#2\raisebox{#3}{#5}\kern#4}%
+\end{lateximage}%
+}
+
+\RenewDocumentCommand{\musStemmedNote}{ m }{%
+\begin{lateximage}%
+\musSymbol{0.05em}{0.5ex}{0.2em}{#1\musStem}%
+\end{lateximage}%
+}
+
+\RenewDocumentCommand{\musFlaggedNote}{ m m }{%
+\begin{lateximage}%
+\musSymbol{0.05em}{0.5ex}{0pt}{#1\musStem}%
+\musSymbol{0pt}{0pt}{0.9em}{#2}%
+\end{lateximage}%
+}
+
+\RenewDocumentCommand{\musDottedNote}{ m }{%
+\begin{lateximage}%
+#1\musDot%
+\end{lateximage}%
+}
+
+\RenewDocumentCommand{\musMeter}{ m m }{%
+\begin{lateximage}*[#1/#2][#1#2]%
+\musStack{#1}{#2}\kern0.05em%
+\end{lateximage}%
+}
+
+\RenewDocumentCommand{\meterCplus}{ m }{%
+\begin{lateximage}*[C#1]%
+    \meterC{}\kern-0.7pt#1%
+\end{lateximage}%
+}
+
+\RenewDocumentCommand{\meterC}{}{%
+\begin{lateximage}*[C]%
+\musSymbolMeter{\symbol{83}}%
+\end{lateximage}%
+}
+
+\RenewDocumentCommand{\meterCutC}{}{%
+\begin{lateximage}*[C|]%
+\musSymbolMeter{\symbol{82}}%
+\end{lateximage}%
+}
+
+\RenewDocumentCommand{\meterCThreeTwo}{}{%
+\begin{lateximage}*[C3/2]%
+\meterCplus{\musStack{3}{2}}%
+\end{lateximage}%
+}
+
+\RenewDocumentCommand{\musFlat}       {}{\HTMLunicode{266D}}
+\RenewDocumentCommand{\musDoubleFlat} {}{\HTMLunicode{1D12B}}
+\RenewDocumentCommand{\musSharp}      {}{\HTMLunicode{266F}}
+\RenewDocumentCommand{\musDoubleSharp}{}{\HTMLunicode{1D12A}}
+\RenewDocumentCommand{\musNatural}    {}{\HTMLunicode{266E}}
+
+\RenewDocumentCommand{\musWhole}{}{\HTMLunicode{1D15D}}
+\RenewDocumentCommand{\musHalf}{}{\HTMLunicode{1D15E}}
+\RenewDocumentCommand{\musQuarter}{}{\HTMLunicode{1D15F}}
+\RenewDocumentCommand{\musEighth}{}{\HTMLunicode{1D160}}
+\RenewDocumentCommand{\musSixteenth}{}{\HTMLunicode{1D161}}
+
+\RenewDocumentCommand{\musWholeDotted}{}{\HTMLunicode{1D15D}\HTMLunicode{1D16D}}
+\RenewDocumentCommand{\musHalfDotted}{}{\HTMLunicode{1D15E}\HTMLunicode{1D16D}}
+\RenewDocumentCommand{\musQuarterDotted}{}{\HTMLunicode{1D15F}\HTMLunicode{1D16D}}
+\RenewDocumentCommand{\musEighthDotted}{}{\HTMLunicode{1D160}\HTMLunicode{1D16D}}
+\RenewDocumentCommand{\musSixteenthDotted}{}{\HTMLunicode{1D161}\HTMLunicode{1D16D}}
+\endinput
+%%
+%% End of file `lwarp-musicography.sty'.


Property changes on: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-musicography.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-nicefrac.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-nicefrac.sty	2018-11-19 21:53:15 UTC (rev 49195)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-nicefrac.sty	2018-11-19 21:54:31 UTC (rev 49196)
@@ -17,16 +17,28 @@
 %% version 2005/12/01 or later.
 
 \LWR at ProvidesPackagePass{nicefrac}[1998/08/04]
-\LetLtxMacro\LWR at origUnitsNiceFrac\@UnitsNiceFrac
+\DeclareRobustCommand*{\LWR at HTML@@UnitsNiceFrac}[3][]{%
+    {% localize font selection
+        #1{%
+            \LWR at textcurrentfont{%
+                \InlineClass{numerator}{#2}%
+                /%
+                \InlineClass{denominator}{#3}%
+            }%
+        }%
+    }%
+}
 
-\DeclareRobustCommand*{\@UnitsNiceFrac}[3][]{%
-\begingroup%
-\LetLtxMacro\@ensuredmath\LWR at origensuredmath%
-\LWR at origUnitsNiceFrac[#1]{#2}{#3}%
-\endgroup%
+\LWR at formatted{@UnitsNiceFrac}
+
+\DeclareRobustCommand*{\LWR at HTML@@UnitsUglyFrac}[3][]{%
+    {% localize font selection
+        #1{\LWR at textcurrentfont{#2/#3}}%
+    }%
 }
+
+\LWR at formatted{@UnitsUglyFrac}
 \CustomizeMathJax{\newcommand{\nicefrac}[3][]{#2/#3}}
-
 \endinput
 %%
 %% End of file `lwarp-nicefrac.sty'.

Added: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-notespages.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-notespages.sty	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-notespages.sty	2018-11-19 21:54:31 UTC (rev 49196)
@@ -0,0 +1,38 @@
+%%
+%% This is file `lwarp-notespages.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx  (with options: `notespages')
+%% 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{notespages}
+\newcommand*{\npnotesname}{}
+\newcommand*{\npnotestext}{}
+\newcommand*{\remainingtextheight}{}
+\newdimen\remainingtextheight
+\newcommand*{\notestitletext}{}
+\newcommand*{\notesareatext}{}
+\newcommand*{\npnpinfo}[1]{}
+\newcommand*{\tracingnpmarks}{}
+\newcommand*{\notespage}[1][]{}
+\newcommand*{\notespages}[1][]{}
+\newcommand*{\notesfill}[1][]{}
+\newcommand*{\setnotespages}[1]{}
+\newcommand*{\definenotesoption}[2]{}
+\newcommand{\definenotesstyle}[2]{}
+\newcommand{\definetitlestyle}[2]{}
+\newcommand{\nppatchchapter}[1]{}
+\newcommand{\npunpatchchapter}{}
+\endinput
+%%
+%% End of file `lwarp-notespages.sty'.


Property changes on: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-notespages.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-octave.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-octave.sty	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-octave.sty	2018-11-19 21:54:31 UTC (rev 49196)
@@ -0,0 +1,65 @@
+%%
+%% This is file `lwarp-octave.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx  (with options: `octave')
+%% 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{octave}[2017/10/31]
+\RenewDocumentCommand{\@PrintTicks}{ m }{%
+\kern-1pt%  lwarp
+\@TickNum = #1%
+\loop
+\@Tick{}%
+\advance\@TickNum by -1
+\ifnum\@TickNum > 0
+\repeat
+}
+\RenewDocumentCommand{\@Tick}{}{\HTMLunicode{2032}}
+\RenewDocumentCommand{\pitch}{ m o m }{%
+\if at OctaveNumber%
+{%
+    \pitchfont{%
+        \LWR at textcurrentfont{%  lwarp
+            \MakeUppercase{#1}%
+            \IfValueTF{#2}{#2}{}\textsubscript{#3}%
+        }%
+    }%
+}%
+\else%
+{%
+    \pitchfont{%
+        \LWR at textcurrentfont{%  lwarp
+            \@GetOctaveTick{#1}[#2]{#3}%
+        }%
+    }%
+}%
+\fi%
+}
+\StartDefiningTabulars
+\renewcommand{\octavetable}{%
+\begin{tabular}{ll}
+\octaveprimes \pitch{C}{0} & \octavenumbers \pitch{C}{0} \\
+\octaveprimes \pitch{C}{1} & \octavenumbers \pitch{C}{1} \\
+\octaveprimes \pitch{C}{2} & \octavenumbers \pitch{C}{2} \\
+\octaveprimes \pitch{C}{3} & \octavenumbers \pitch{C}{3} \\
+\octaveprimes \pitch{C}{4} & \octavenumbers \pitch{C}{4} \\
+\octaveprimes \pitch{C}{5} & \octavenumbers \pitch{C}{5} \\
+\octaveprimes \pitch{C}{6} & \octavenumbers \pitch{C}{6} \\
+\octaveprimes \pitch{C}{7} & \octavenumbers \pitch{C}{7} \\
+\end{tabular}
+}
+\StopDefiningTabulars
+\endinput
+%%
+%% End of file `lwarp-octave.sty'.


Property changes on: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-octave.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-11-19 21:53:15 UTC (rev 49195)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-patch-memoir.sty	2018-11-19 21:54:31 UTC (rev 49196)
@@ -1013,7 +1013,8 @@
 \renewcommand{\midbicaption}[1]{}
 \renewcommand{\contcaption}[1]{%
 \begin{LWR at figcaption}% later becomes \caption*
-\@nameuse{\@captype name} \thechapter.\the\value{\@captype}\CaptionSeparator #1
+\LWR at isolate{\@nameuse{\@captype name}}~%
+\thechapter.\the\value{\@captype}\CaptionSeparator\LWR at isolate{#1}%
 \end{LWR at figcaption}
 }
 
@@ -1053,7 +1054,7 @@
 \renewcommand{\bicaption}[5][]{%
 \ifblank{#2}{\caption{#3}}{\caption[#2]{#3}}%
 \begin{LWR at figcaption}% later becomes \caption*
-#4 \thechapter.\the\value{\@captype}\CaptionSeparator #5
+\LWR at isolate{#4} \thechapter.\the\value{\@captype}\CaptionSeparator\LWR at isolate{#5}%
 \end{LWR at figcaption}
 \ifblank{#1}{}{\label{#1}}%
 }

Added: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-pdfcomment.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-pdfcomment.sty	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-pdfcomment.sty	2018-11-19 21:54:31 UTC (rev 49196)
@@ -0,0 +1,36 @@
+%%
+%% This is file `lwarp-pdfcomment.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx  (with options: `pdfcomment')
+%% 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{pdfcomment}[2016/06/13]
+\newenvironment{pdfsidelinecomment}[2][]{}{}
+\newcommand{\pdfcomment}[2][]{}
+\newcommand{\pdfmargincomment}[2][]{}
+\newcommand{\pdfmarkupcomment}[3][]{#2}
+\newcommand{\pdffreetextcomment}[2][]{}
+\newcommand{\pdfsquarecomment}[2][]{}
+\newcommand{\pdfcirclecomment}[2][]{}
+\newcommand{\pdflinecomment}[2][]{}
+\newcommand{\pdftooltip}[3][]{#2}
+\newcommand{\pdfcommentsetup}[2][]{}
+\newcommand{\listofpdfcomments}[1][]{}
+\newcommand{\setliststyle}[1]{}
+\newcommand{\defineliststyle}[2]{}
+\newcommand{\defineavatar}[2]{}
+\newcommand{\definestyle}[2]{}
+\endinput
+%%
+%% End of file `lwarp-pdfcomment.sty'.


Property changes on: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-pdfcomment.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-pdfmarginpar.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-pdfmarginpar.sty	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-pdfmarginpar.sty	2018-11-19 21:54:31 UTC (rev 49196)
@@ -0,0 +1,23 @@
+%%
+%% This is file `lwarp-pdfmarginpar.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx  (with options: `pdfmarginpar')
+%% 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{pdfmarginpar}[2011/08/05]
+\newcommand{\pdfmarginpar}[2][]{}
+\newcommand{\pdfmarginparset}[1]{}
+\endinput
+%%
+%% End of file `lwarp-pdfmarginpar.sty'.


Property changes on: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-pdfmarginpar.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-11-19 21:53:15 UTC (rev 49195)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-register.sty	2018-11-19 21:54:31 UTC (rev 49196)
@@ -16,7 +16,7 @@
 %% and version 1.3 or later is part of all distributions of LaTeX
 %% version 2005/12/01 or later.
 
-\LWR at ProvidesPackagePass{register}
+\LWR at ProvidesPackagePass{register}[2018/11/10]
 
 \xpatchcmd{\register}
     {\centering}
@@ -33,6 +33,20 @@
     {}
     {\LWR at patcherror{register}{endregister}}
 
+\expandafter\xapptocmd\csname register*\endcsname
+    {\begin{center}\begin{lateximage}[(-register-~\packagediagramname)]}
+    {}
+    {\LWR at patcherror{register}{register*}}
+
+\expandafter\xpatchcmd\csname endregister*\endcsname
+    {\leftskip}
+    {%
+        \end{lateximage}\end{center}%
+        \leftskip%
+    }%
+    {}
+    {\LWR at patcherror{register}{endregister*}}
+
 \setlength{\regWidth}{5in}
 
 \endinput

Added: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-rviewport.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-rviewport.sty	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-rviewport.sty	2018-11-19 21:54:31 UTC (rev 49196)
@@ -0,0 +1,22 @@
+%%
+%% This is file `lwarp-rviewport.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx  (with options: `rviewport')
+%% 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{rviewport}[2011/08/27]
+\define at key{igraph}{rviewport}{}
+\endinput
+%%
+%% End of file `lwarp-rviewport.sty'.


Property changes on: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-rviewport.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-semantic-markup.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-semantic-markup.sty	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-semantic-markup.sty	2018-11-19 21:54:31 UTC (rev 49196)
@@ -0,0 +1,46 @@
+%%
+%% This is file `lwarp-semantic-markup.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx  (with options: `semantic-markup')
+%% 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{semantic-markup}[2018/05/21]
+\ifendnotes
+\RenewDocumentCommand{\SetupEndnotes}{}{%
+    \let\footnote=\endnote
+}
+\fi
+\RequirePackage{musicography}
+
+\let\fl\musFlat
+\let\sh\musSharp
+\let\na\musNatural
+\RequirePackage{amsmath}
+
+\RenewDocumentCommand{\musfig}{ m m }{%
+    \LWR at subsingledollar*%
+        {#1/#2}% alt tag
+        {musfig}% addl' hashing
+        {% contents
+            \LWR at origensuredmath{%
+                \genfrac{}{}{0pt}{1}{\text{#1}}{\text{#2}}%
+            }%
+        }%
+}
+\RenewDocumentCommand{\meter}{ m m }{%
+    \musMeter{#1}{#2}%
+}
+\endinput
+%%
+%% End of file `lwarp-semantic-markup.sty'.


Property changes on: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-semantic-markup.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-soul.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-soul.sty	2018-11-19 21:53:15 UTC (rev 49195)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-soul.sty	2018-11-19 21:54:31 UTC (rev 49196)
@@ -23,18 +23,20 @@
 
 \newcommand*{\LWR at soulhlcolor}{}
 \newcommand{\so}[1]{%
-\LWR at HTMLtextstyle{letter-spacing:.2ex}{letterspacing}{#1}%
+\InlineClass(letter-spacing:.2ex){letterspacing}{#1}%
 }
 
 \newcommand{\caps}[1]{%
-\LWR at HTMLtextstyle%
-    {font-variant:small-caps;letter-spacing:.1ex}%
-    {capsspacing}{#1}%
+    \InlineClass%
+        (font-variant:small-caps;letter-spacing:.1ex)%
+        {capsspacing}{#1}%
 }
 \newcommand{\LWR at soulcolor}[5]{%
 \ifcsempty{#2}%
-{\LWR at HTMLtextstyle{#5}{#3}{#1}}%
 {%
+    \InlineClass(#5){#3}{#1}%
+}%
+{%
     \convertcolorspec{named}{\@nameuse{#2}}{HTML}\LWR at tempcolor%
     \LWR at htmlspanclass[#5;#4:\LWR at origpound\LWR at tempcolor]{#3}{#1}%
 }%

Modified: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-subfig.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-subfig.sty	2018-11-19 21:53:15 UTC (rev 49195)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-subfig.sty	2018-11-19 21:54:31 UTC (rev 49196)
@@ -113,7 +113,7 @@
             \caption at make
                 {\@nameuse{sub\@captype name}}%
                 {\@nameuse{thesub\@captype}}%
-                {#3}
+                {\LWR at isolate{#3}}%
             \endLWR at figcaption% lwarp
 \LWR at traceinfo{sfsubcap B2}% lwarp
         }%

Modified: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-textcomp.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-textcomp.sty	2018-11-19 21:53:15 UTC (rev 49195)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-textcomp.sty	2018-11-19 21:54:31 UTC (rev 49196)
@@ -93,7 +93,7 @@
 \newcommand*{\LWR at HTML@capitalbreve}[1]{#1\HTMLunicode{306}}
 \newcommand*{\LWR at HTML@capitalmacron}[1]{#1\HTMLunicode{304}}
 \newcommand*{\LWR at HTML@capitaldotaccent}[1]{#1\HTMLunicode{307}}
-\newcommand*{\LWR at HTML@textcircled}[1]{%
+\providecommand*{\LWR at HTML@textcircled}[1]{%
 \InlineClass[border: 1px solid \LWR at currenttextcolor]{textcircled}{#1}%
 }
 

Modified: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-tocbibind.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-tocbibind.sty	2018-11-19 21:53:15 UTC (rev 49195)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-tocbibind.sty	2018-11-19 21:54:31 UTC (rev 49196)
@@ -28,7 +28,7 @@
         \else
           \if at dotocind
             \chapter*{\indexname}
-            \addcontentsline{toc}{chapter}{\indexname}
+            \addcontentsline{toc}{chapter}{\LWR at isolate{\indexname}}
           \else
             \chapter*{\indexname}
           \fi
@@ -39,7 +39,7 @@
         \else
           \if at dotocind
             \section*{\indexname}
-            \addcontentsline{toc}{\@tocextra}{\indexname}
+            \addcontentsline{toc}{\@tocextra}{\LWR at isolate{\indexname}}
           \else
             \section*{\indexname}
           \fi

Added: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-tram.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-tram.sty	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-tram.sty	2018-11-19 21:54:31 UTC (rev 49196)
@@ -0,0 +1,24 @@
+%%
+%% This is file `lwarp-tram.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx  (with options: `tram')
+%% 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{tram}
+\newenvironment{tram}[1][]%
+    {\BlockClass[background:lightgray]{tram}}
+    {\endBlockClass}
+\endinput
+%%
+%% End of file `lwarp-tram.sty'.


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


Property changes on: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-twoup.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-ulem.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-ulem.sty	2018-11-19 21:53:15 UTC (rev 49195)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-ulem.sty	2018-11-19 21:54:31 UTC (rev 49196)
@@ -15,83 +15,73 @@
 %%   http://www.latex-project.org/lppl.txt
 %% and version 1.3 or later is part of all distributions of LaTeX
 %% version 2005/12/01 or later.
-\ProvidesPackage{lwarp-ulem}
-\LetLtxMacro\LWR at ulemorigemph\emph
-\LetLtxMacro\LWR at ulemorigtextbf\textbf
-\NewDocumentCommand{\uline}{+m}{%
-\LWR at HTMLtextstyle%
-    {text-decoration:underline; text-decoration-skip: auto}%
-    {uline}{#1}%
+\LWR at ProvidesPackagePass{ulem}[2012/05/18]
+\NewDocumentCommand{\LWR at HTML@uline}{+m}{%
+    \InlineClass%
+        (text-decoration:underline; text-decoration-skip: auto)%
+        {uline}{\LWR at isolate{#1}}%
 }
+\LWR at formatted{uline}
 
-\NewDocumentCommand{\uuline}{+m}{%
-\LWR at HTMLtextstyle%
-    {%
-        text-decoration:underline; text-decoration-skip: auto;%
-        text-decoration-style:double%
-    }%
-    {uuline}{#1}%
+\NewDocumentCommand{\LWR at HTML@uuline}{+m}{%
+    \InlineClass%
+        (%
+            text-decoration:underline; text-decoration-skip: auto;%
+            text-decoration-style:double%
+        )%
+        {uuline}{\LWR at isolate{#1}}%
 }
+\LWR at formatted{uuline}
 
-\NewDocumentCommand{\uwave}{+m}{%
-\LWR at HTMLtextstyle%
-    {%
-        text-decoration:underline; text-decoration-skip: auto;%
-        text-decoration-style:wavy%
-    }%
-    {uwave}{#1}%
+\NewDocumentCommand{\LWR at HTML@uwave}{+m}{%
+    \InlineClass%
+        (%
+            text-decoration:underline; text-decoration-skip: auto;%
+            text-decoration-style:wavy%
+        )%
+        {uwave}{\LWR at isolate{#1}}%
 }
+\LWR at formatted{uwave}
 
-\NewDocumentCommand{\sout}{+m}{%
-\LWR at HTMLtextstyle%
-    {text-decoration:line-through}%
-    {sout}{#1}%
+\NewDocumentCommand{\LWR at HTML@sout}{+m}{%
+    \InlineClass%
+        (text-decoration:line-through)%
+        {sout}{\LWR at isolate{#1}}%
 }
+\LWR at formatted{sout}
 
-\NewDocumentCommand{\xout}{+m}{%
-\LWR at HTMLtextstyle%
-    {text-decoration:line-through}%
-    {xout}{#1}%
+\NewDocumentCommand{\LWR at HTML@xout}{+m}{%
+    \InlineClass%
+        (text-decoration:line-through)%
+        {xout}{\LWR at isolate{#1}}%
 }
 
-\NewDocumentCommand{\dashuline}{+m}{%
-\LWR at HTMLtextstyle%
-    {%
-        text-decoration:underline;%
-        text-decoration-skip: auto;%
-        text-decoration-style:dashed%
-    }%
-    {dashuline}{#1}%
+\NewDocumentCommand{\LWR at HTML@dashuline}{+m}{%
+    \InlineClass%
+        (%
+            text-decoration:underline;%
+            text-decoration-skip: auto;%
+            text-decoration-style:dashed%
+        )%
+        {dashuline}{\LWR at isolate{#1}}%
 }
+\LWR at formatted{xout}
 
-\NewDocumentCommand{\dotuline}{+m}{%
-\LWR at HTMLtextstyle%
-    {%
-        text-decoration:underline;%
-        text-decoration-skip: auto;%
-        text-decoration-style: dotted%
-    }%
-    {dotuline}{#1}%
+\NewDocumentCommand{\LWR at HTML@dotuline}{+m}{%
+    \InlineClass%
+        (%
+            text-decoration:underline;%
+            text-decoration-skip: auto;%
+            text-decoration-style: dotted%
+        )%
+        {dotuline}{\LWR at isolate{#1}}%
 }
-\NewDocumentCommand{\ULthickness}{}{}
-\newlength{\ULdepth}
-\NewDocumentCommand{\markoverwith}{m}{}
-\NewDocumentCommand{\ULon}{+m}{\uline{#1}\egroup}
-\NewDocumentCommand{\useunder}{m m m}{%
-\relax%
-\ifx\relax#3\relax\else % argumentative command
-    \def#3{#1}\MakeRobust{#3}\fi
-}
-\newcommand*{\normalem}{\LetLtxMacro\emph\LWR at ulemorigemph}
-\newcommand*{\ULforem}{\LetLtxMacro\emph\uline}
-\ULforem% default
-\DeclareOption{normalem}{\normalem}
-\DeclareOption{ULforem}{\ULforem}
-\DeclareOption{normalbf}{}
-\DeclareOption{UWforbf}{\useunder{\uwave}{\bf}{\textbf}}
+\LWR at formatted{dotuline}
+\NewDocumentCommand{\LWR at HTML@markoverwith}{m}{}
+\LWR at formatted{markoverwith}
 
-\DeclareOption*{}
-\ProcessOptions\relax% original LaTeX code
+\NewDocumentCommand{\LWR at HTML@ULon}{+m}{\uline{#1}\egroup}
+\LWR at formatted{ULon}
 \endinput
 %%
 %% End of file `lwarp-ulem.sty'.

Modified: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-units.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-units.sty	2018-11-19 21:53:15 UTC (rev 49195)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-units.sty	2018-11-19 21:54:31 UTC (rev 49196)
@@ -17,9 +17,33 @@
 %% version 2005/12/01 or later.
 
 \LWR at ProvidesPackagePass{units}[1998/08/04]
+\DeclareRobustCommand*{\LWR at HTML@unit}[2][]{%
+\ifblank{#1}%
+    {\LWR at textcurrentfont{#2}}%
+    {%
+        #1%
+        \ifthenelse{\boolean{B at UnitsLoose}}{~}{\,}%
+        \LWR at textcurrentfont{#2}%
+    }%
+}
+\LWR at formatted{unit}
+\DeclareRobustCommand*{\LWR at HTML@unitfrac}[3][]{%
+\ifblank{#1}%
+    {%
+            \nicefrac{#2}{#3}%
+    }%
+    {%
+            #1%
+            \ifthenelse{\boolean{B at UnitsLoose}}{~}{\,}%
+            \nicefrac{#2}{#3}%
+    }%
+}
+
+\LWR at formatted{unitfrac}
 \CustomizeMathJax{\newcommand{\unit}[2][]{#1 #2}}
 \CustomizeMathJax{\newcommand{\unitfrac}[3][]{#1 #2/#3}}
 
+
 \endinput
 %%
 %% End of file `lwarp-units.sty'.

Added: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-unitsdef.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-unitsdef.sty	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-unitsdef.sty	2018-11-19 21:54:31 UTC (rev 49196)
@@ -0,0 +1,44 @@
+%%
+%% This is file `lwarp-unitsdef.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx  (with options: `unitsdef')
+%% 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{unitsdef}
+\renewcommand{\unitvaluesep}{\,}
+
+\renewcommand{\unittimes}{\@@setunitsepfalse\HTMLunicode{22c5}}% \cdot
+
+\renewunit{\arcmin}{%
+    \ifnumcomp{\value{LWR at lateximagedepth}}{>}{0}%
+        {\ensuremath{{}^\prime}}%
+        {\HTMLunicode{2032}}% prime
+}
+
+\renewunit{\arcsec}{%
+    \ifnumcomp{\value{LWR at lateximagedepth}}{>}{0}%
+        {\ensuremath{{}^{\prime\prime}}}%
+        {\HTMLunicode{2033}}% dbl prime
+}
+
+\renewrobustcmd{\SI}[2]{%
+  \begingroup%
+    \let\unit@@xspace\relax%
+    \unitSIdef\selectfont%
+      \LWR at textcurrentfont{#1#2}% lwarp
+  \endgroup%
+}
+\endinput
+%%
+%% End of file `lwarp-unitsdef.sty'.


Property changes on: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-unitsdef.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-xcolor.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-xcolor.sty	2018-11-19 21:53:15 UTC (rev 49195)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-xcolor.sty	2018-11-19 21:54:31 UTC (rev 49196)
@@ -111,6 +111,7 @@
 \NewDocumentCommand{\LWR at HTML@colorboxBlock}{O{named} m +m}{%
 \begingroup%
 \LWR at FBcancel%
+\LWR at stoppars%
 \begin{BlockClass}[%
 background:\LWR at colorstyle{#1}{#2} ; %
 padding:\LWR at printlength{\fboxsep}%
@@ -118,6 +119,7 @@
 #3
 \end{BlockClass}%
 \endgroup%
+\global\booltrue{LWR at minipagethispar}%
 }
 
 \AtBeginDocument{
@@ -153,6 +155,7 @@
 \begingroup%
 \LWR at FBcancel%
 \LWR at forceminwidth{\fboxrule}%
+\LWR at stoppars%
 \ifthenelse{\equal{#4}{none}}%
 {% no background color
     \begin{BlockClass}[%
@@ -171,6 +174,7 @@
     \end{BlockClass}%
 }%
 \endgroup%
+\global\booltrue{LWR at minipagethispar}%
 \LWR at traceinfo{HTML fcolorboxBlock done}%
 }
 
@@ -179,6 +183,7 @@
 }
 
 \NewDocumentCommand{\LWR at subfcolorminipage}{m m m m}{%
+\LWR at stoppars%
 \begin{BlockClass}[%
 #3%
 \LWR at borderpadding{#1}{#2} ; %
@@ -200,7 +205,10 @@
     \LWR at subfcolorminipage{#1}{#2}{background:\LWR at origpound\LWR at tempcolortwo\ ; }{#6}%
 }%
 }
-{\end{BlockClass}}
+{%
+    \end{BlockClass}%
+    \global\booltrue{LWR at minipagethispar}%
+}
 
 \AtBeginDocument{
 \LWR at formattedenv{fcolorminipage}

Added: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-xeCJK.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-xeCJK.sty	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-xeCJK.sty	2018-11-19 21:54:31 UTC (rev 49196)
@@ -0,0 +1,24 @@
+%%
+%% This is file `lwarp-xeCJK.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx  (with options: `xeCJK')
+%% 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{xeCJK}
+
+\LWR at loadbefore{xeCJK}
+
+\endinput
+%%
+%% End of file `lwarp-xeCJK.sty'.


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


Property changes on: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-xechangebar.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-xfrac.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-xfrac.sty	2018-11-19 21:53:15 UTC (rev 49195)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-xfrac.sty	2018-11-19 21:54:31 UTC (rev 49196)
@@ -29,77 +29,68 @@
 
 \begin{warpHTML}
 
-\newcommand*{\LWR at htmlsmallfontstart}{%
-\LWR at htmltagc{span style="font-size:\xfracHTMLfontsize"}%
-\LWR at nestspan%
-}
-
-\newcommand*{\LWR at htmlsmallfontend}{%
-\LWR at htmltagc{/span}%
-\endLWR at nestspan%
-}
 \DeclareInstance{xfrac}{default}{text}{
-numerator-format = {%
-\begingroup%
-\RenewDocumentCommand{\scalebox}{m o m}{##3}%
-\LWR at htmlsmallfontstart\textsuperscript{#1}\,\LWR at htmlsmallfontend%
-\endgroup%
-},
-denominator-format = {%
-\begingroup%
-\RenewDocumentCommand{\scalebox}{m o m}{##3}%
-\LWR at htmlsmallfontstart{}\,#1\LWR at htmlsmallfontend%
-\endgroup%
-},
-scaling = false
+    numerator-format = {%
+        \begingroup%
+        \RenewDocumentCommand{\scalebox}{m o m}{##3}%
+        \InlineClass{numerator}{#1}\,%
+        \endgroup%
+    },
+    denominator-format = {%
+        \begingroup%
+        \RenewDocumentCommand{\scalebox}{m o m}{##3}%
+        \InlineClass{denominator}{#1}%
+        \endgroup%
+    },
+    scaling = false
 }
 
 \DeclareInstance{xfrac}{lmr}{text}{
-numerator-format = {%
-\begingroup%
-\RenewDocumentCommand{\scalebox}{m o m}{##3}%
-\LWR at htmlsmallfontstart\textsuperscript{#1}\,\LWR at htmlsmallfontend%
-\endgroup%
-},
-denominator-format = {%
-\begingroup%
-\RenewDocumentCommand{\scalebox}{m o m}{##3}%
-\LWR at htmlsmallfontstart{}\,#1\LWR at htmlsmallfontend%
-\endgroup%
-},
-scaling = false
+    numerator-format = {%
+        \begingroup%
+        \RenewDocumentCommand{\scalebox}{m o m}{##3}%
+        \InlineClass{numerator}{#1}\,%
+        \endgroup%
+    },
+    denominator-format = {%
+        \begingroup%
+        \RenewDocumentCommand{\scalebox}{m o m}{##3}%
+        \InlineClass{denominator}{#1}%
+        \endgroup%
+    },
+    scaling = false
 }
 
 \DeclareInstance{xfrac}{lmss}{text}{
-numerator-format = {%
-\begingroup%
-\RenewDocumentCommand{\scalebox}{m o m}{##3}%
-\LWR at htmlsmallfontstart\textsuperscript{#1}\,\LWR at htmlsmallfontend%
-\endgroup%
-},
-denominator-format = {%
-\begingroup%
-\RenewDocumentCommand{\scalebox}{m o m}{##3}%
-\LWR at htmlsmallfontstart{}\,#1\LWR at htmlsmallfontend%
-\endgroup%
-},
-scaling = false
+    numerator-format = {%
+        \begingroup%
+        \RenewDocumentCommand{\scalebox}{m o m}{##3}%
+        \InlineClass{numerator}{#1}\,%
+        \endgroup%
+    },
+    denominator-format = {%
+        \begingroup%
+        \RenewDocumentCommand{\scalebox}{m o m}{##3}%
+        \InlineClass{denominator}{#1}%
+        \endgroup%
+    },
+    scaling = false
 }
 
 \DeclareInstance{xfrac}{lmtt}{text}{
-numerator-format = {%
-\begingroup%
-\RenewDocumentCommand{\scalebox}{m o m}{##3}%
-\LWR at htmlsmallfontstart\textsuperscript{#1}\,\LWR at htmlsmallfontend%
-\endgroup%
-},
-denominator-format = {%
-\begingroup%
-\RenewDocumentCommand{\scalebox}{m o m}{##3}%
-\LWR at htmlsmallfontstart{}\,#1\LWR at htmlsmallfontend%
-\endgroup%
-},
-scaling = false
+    numerator-format = {%
+        \begingroup%
+        \RenewDocumentCommand{\scalebox}{m o m}{##3}%
+        \InlineClass{numerator}{#1}\,%
+        \endgroup%
+    },
+    denominator-format = {%
+        \begingroup%
+        \RenewDocumentCommand{\scalebox}{m o m}{##3}%
+        \InlineClass{denominator}{#1}%
+        \endgroup%
+    },
+    scaling = false
 }
 
 

Modified: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-xunicode.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-xunicode.sty	2018-11-19 21:53:15 UTC (rev 49195)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-xunicode.sty	2018-11-19 21:54:31 UTC (rev 49196)
@@ -16,11 +16,11 @@
 %% and version 1.3 or later is part of all distributions of LaTeX
 %% version 2005/12/01 or later.
 
-\@ifpackageloaded{lwarp}{\LWR at loadbefore{xunicode}}{}
+\LWR at loadbefore{xunicode}%
 
 \LWR at ProvidesPackagePass{xunicode}[2011/09/09]
-\newcommand*{\LWR at HTML@textcircled}[1]{%
-\InlineClass[border: 1px solid \LWR at currenttextcolor]{textcircled}{#1}%
+\providecommand*{\LWR at HTML@textcircled}[1]{%
+    \InlineClass[border: 1px solid \LWR at currenttextcolor]{textcircled}{#1}%
 }
 
 \LWR at formatted{textcircled}

Modified: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp.sty	2018-11-19 21:53:15 UTC (rev 49195)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp.sty	2018-11-19 21:54:31 UTC (rev 49196)
@@ -17,7 +17,7 @@
 %% version 2005/12/01 or later.
 \NeedsTeXFormat{LaTeX2e}[1999/12/01]
 \ProvidesPackage{lwarp}
-    [2018/10/13 v0.61  Allows LaTeX to directly produce HTML5 output.]
+    [2018/11/19 v0.62  Allows LaTeX to directly produce HTML5 output.]
 
 
 
@@ -96,7 +96,11 @@
 {Unable to patch package #1, macro #2}
 {Please contact the author of the lwarp package.}
 }
-
+\@ifpackageloaded{ctexpatch}{
+    \newcommand{\LWR at isolate}[1]{\null#1\null}%
+}{
+    \newcommand{\LWR at isolate}[1]{#1}%
+}
 \RequirePackage{etoolbox}[2011/01/03]% v2.6 for \BeforeBeginEnvironment, etc.
 \RequirePackage{xpatch}
 
@@ -174,6 +178,7 @@
 \booltrue{LWR at origmathjax}%
 }
 
+
 \DeclareStringOption[\jobname]{BaseJobname}
 
 \DeclareStringOption[lwarp.ist]{makeindexStyle}
@@ -293,13 +298,10 @@
 \def\DefaultCutFileName{\def\CommentCutFile{comment_print.cut}}
 }{}
 
-\excludecomment{testing}
-
 \includecomment{warpall}
 
-\ifbool{warpingHTML}{%
-\includecomment{warpHTML}
-}
+\ifbool{warpingHTML}
+{\includecomment{warpHTML}}
 {\excludecomment{warpHTML}}%
 
 \ifbool{warpingprint}
@@ -360,10 +362,15 @@
 \LWR at earlyloadnever{aecc}{cm-super, lmodern}
 \LWR at earlyloadnever{boxedminipage}{boxedminipage2e}
 \LWR at earlyloadnever{caption2}{caption}
+\@ifpackageloaded{xeCJK}{}{
+    \LWR at earlyloadnever{CJK}{ctex, xeCJK}
+    \LWR at earlyloadnever{CJKutf8}{ctex, xeCJK}
+}
 \LWR at earlyloadnever{fancyheadings}{fancyhdr}
 \LWR at earlyloadnever{glossary}{glossaries}
 \LWR at earlyloadnever{t1enc}{fontenc, inputenc, inputenx}
 \LWR at earlyloadnever{wasysym}{textcomp, amssymb, amsfonts, mnsymbol, fdsymbol}
+\LWR at loadafter{2in1}
 \LWR at loadafter{2up}
 \LWR at loadafter{a4}
 \LWR at loadafter{a4wide}
@@ -398,6 +405,7 @@
 \LWR at loadafter{balance}
 \LWR at loadafter{bigdelim}
 \LWR at loadafter{bigstrut}
+\LWR at loadafter{bitpattern}
 \LWR at loadafter{blowup}
 \LWR at loadafter{booklet}
 \LWR at loadafter{bookmark}
@@ -472,6 +480,7 @@
 \LWR at loadafter{fixme}
 \LWR at loadafter{fixmetodonotes}
 \LWR at loadafter{flafter}
+\LWR at loadafter{flippdf}
 \LWR at loadafter{float}
 \LWR at loadafter{floatflt}
 \LWR at loadafter{floatpag}
@@ -551,6 +560,7 @@
 \LWR at notmemoirloadafter{mparhack}
 \LWR at loadafter{multirow}
 \LWR at loadafter{multitoc}
+\LWR at loadafter{musicography}
 \LWR at loadafter{nameref}
 \LWR at loadafter{natbib}
 \LWR at notmemoirloadafter{nccfancyhdr}
@@ -561,8 +571,10 @@
 \LWR at loadafter{nonfloat}
 \LWR at loadafter{nonumonpart}
 \LWR at loadafter{nopageno}
+\LWR at loadafter{notespages}
 \LWR at loadafter{nowidow}
 \LWR at loadafter{ntheorem}
+\LWR at loadafter{octave}
 \LWR at loadafter{overpic}
 \LWR at loadafter{pagegrid}
 \LWR at notmemoirloadafter{pagenote}
@@ -571,10 +583,12 @@
 \LWR at loadafter{parnotes}
 \LWR at notmemoirloadafter{parskip}
 \LWR at loadafter{pbox}
-\LWR at loadafter{pdfrender}
+\LWR at loadafter{pdfcomment}
 \LWR at loadafter{pdflscape}
+\LWR at loadafter{pdfmarginpar}
 \LWR at loadafter{pdfpages}
 \LWR at loadafter{pdfprivacy}
+\LWR at loadafter{pdfrender}
 \LWR at loadafter{pdfsync}
 \LWR at loadafter{pdftricks}
 \LWR at loadafter{pdfx}
@@ -602,6 +616,7 @@
 \LWR at loadafter{romanbarpagenumber}
 \LWR at loadafter{rotating}
 \LWR at loadafter{rotfloat}
+\LWR at loadafter{rviewport}
 \LWR at loadafter{savetrees}
 \LWR at loadafter{schemata}
 \LWR at loadafter{scrextend}
@@ -612,6 +627,7 @@
 \LWR at loadafter{section}
 \LWR at loadafter{sectionbreak}
 \LWR at loadafter{sectsty}
+\LWR at loadafter{semantic-markup}
 \LWR at notmemoirloadafter{setspace}
 \LWR at loadafter{shadow}
 \LWR at notmemoirloadafter{showidx}
@@ -655,13 +671,15 @@
 \LWR at loadafter{tocstyle}
 \LWR at loadafter{todo}
 \LWR at loadafter{todonotes}
+\LWR at loadafter{tram}
 \LWR at loadafter{transparent}
 \LWR at loadafter{trimclip}
 \LWR at loadafter{trivfloat}
 \LWR at loadafter{turnthepage}
-\LWR at loadafter{ulem}
+\LWR at loadafter{twoup}
 \LWR at loadafter{underscore}
 \LWR at loadafter{units}
+\LWR at loadafter{unitsdef}
 \LWR at loadafter{upref}
 \LWR at loadafter{url}
 \LWR at loadafter{uspace}
@@ -679,6 +697,7 @@
 \LWR at loadafter{wrapfig}
 \LWR at loadafter{xbmks}
 \LWR at loadafter{xcolor}
+\LWR at loadafter{xechangebar}
 \LWR at loadafter{xellipsis}
 \LWR at loadafter{xfrac}
 \LWR at loadafter{xltabular}
@@ -694,7 +713,7 @@
 \begin{warpHTML}
 \ifxetexorluatex
 \@ifpackageloaded{fontspec}{}{
-\usepackage[no-math]{fontspec}
+    \usepackage[no-math]{fontspec}
 }
 \defaultfontfeatures[\rmfamily]{Ligatures={NoCommon,TeX}}
 \defaultfontfeatures[\sffamily]{Ligatures={NoCommon,TeX}}
@@ -729,6 +748,8 @@
 \RequirePackage{xparse}
 
 
+\RequirePackage{calc}
+
 \end{warpall}
 
 \begin{warpHTML}
@@ -762,8 +783,6 @@
 
 \RequirePackage{verbatim}
 
-\RequirePackage{calc}
-
 \RequirePackage{refcount}
 
 \RequirePackage{newfloat}
@@ -892,6 +911,8 @@
 \IfValueTF{#2}
 {\LWR at origRequirePackage{#1}[#2]}
 {\LWR at origRequirePackage{#1}}
+\DeclareOption*{}%
+\ProcessOptions\relax
 }
 
 \NewDocumentCommand{\LWR at ProvidesPackageDrop}{m o}{
@@ -1187,18 +1208,6 @@
 
 \let\LWR at origtextellipsis\textellipsis
 
-\LetLtxMacro\LWR at origtextrm\textrm
-\LetLtxMacro\LWR at origtextsf\textsf
-\LetLtxMacro\LWR at origtexttt\texttt
-\LetLtxMacro\LWR at origtextnormal\textnormal
-\LetLtxMacro\LWR at origtextbf\textbf
-\LetLtxMacro\LWR at origtextmd\textmd
-\LetLtxMacro\LWR at origtextit\textit
-\LetLtxMacro\LWR at origtextsl\textsl
-\LetLtxMacro\LWR at origtextsc\textsc
-\LetLtxMacro\LWR at origtextup\textup
-\LetLtxMacro\LWR at origemph\emph
-
 \LetLtxMacro\LWR at origrmfamily\rmfamily
 \LetLtxMacro\LWR at origsffamily\sffamily
 \LetLtxMacro\LWR at origttfamily\ttfamily
@@ -1585,11 +1594,18 @@
 
 span.textmd, div.textmd { font-weight: normal; }
 
-span.textsc, div.textsc { font-variant: small-caps; }
+span.textsc, div.textsc {
+    font-variant: small-caps;
+    font-variant-numeric: oldstyle-nums ;
+}
 
 span.textsl, div.textsl { font-style: oblique; }
 
-span.textup, div.textup { font-variant: normal; }
+span.textup, div.textup {
+    font-style: normal;
+    font-variant: normal;
+    font-variant-numeric: normal ;
+}
 
 span.textrm, div.textrm {
     font-family: "DejaVu Serif", "Bitstream Vera Serif",
@@ -2325,6 +2341,8 @@
 }
 */
 
+figure figure { margin: 0pt }
+
 figure div.minipage p { font-size: 85% ; }
 
 figure.subfigure, figure.subtable  {
@@ -2527,7 +2545,7 @@
     font-variant: normal ;
     font-style: italic ;
     font-size: 1em ;
-    margin: 3ex 0em 3ex 0em ;
+    margin: 1ex 0em 1ex 0em ;
 }
 
 div.subtitle
@@ -2536,7 +2554,7 @@
     font-variant: normal ;
     font-style: italic ;
     font-size: 1.25em ;
-    margin: 3ex 0em 3ex 0em ;
+    margin: 1ex 0em 1ex 0em ;
 }
 
 div.subtitle p { margin: 1ex ; }
@@ -2546,17 +2564,17 @@
     font-variant: normal ;
     font-style: normal ;
     font-size: 1em ;
-    margin: 3ex 0em 3ex 0em ;
+    margin: 1ex 0em 1ex 0em ;
 }
 
 div.oneauthor {
     display: inline-block ;
-    margin: 3ex 1em 0ex 1em ;
+    margin: 0ex 1em 0ex 1em ;
 }
 
 /*
 div.author table {
-    margin: 3ex auto 0ex auto ;
+    margin: 1ex auto 0ex auto ;
     background: none ;
 }
 
@@ -2569,7 +2587,7 @@
     text-align: center ;
     font-size: .85em ;
     font-style: italic;
-    margin: 6ex 0em 6ex 0em ;
+    margin: 1ex 0em 1ex 0em ;
 }
 
 nav.topnavigation{
@@ -2669,6 +2687,16 @@
     -moz-columns: 3 380px ; columns: 3 380px ; }
 div.multicols p {margin-top: 0ex}
 
+/* Used for xfrac and nicefrac: */
+span.numerator {
+    font-size: 60% ;
+    vertical-align: .4em ;
+}
+
+span.denominator {
+    font-size: 60%
+}
+
 /* Used for algorithm2e: */
 div.alg2evline{
     margin-left: 1em ;
@@ -2771,9 +2799,7 @@
 
 /*
 For CSS LaTeX and related logos:
-Based on:
-http://edward.oconnor.cx/2007/08/tex-poshlet
-http://nitens.org/taraborelli/texlogo
+Based on spacing demonstrated by the metafont package.
 */
 
 .latexlogofont {
@@ -2785,28 +2811,40 @@
 .latexlogo {
     font-family: "Linux Libertine O", "Nimbus Roman No 9 L",
         "FreeSerif", "Hoefler Text", Times, "Times New Roman", serif;
-    letter-spacing: .03em ;
     font-size: 1.1em;
 }
 
-.latexlogo sup {
+.latexlogosup {
   text-transform: uppercase;
   letter-spacing: .03em ;
-  font-size: 0.85em;
-  vertical-align: 0.15em;
-  margin-left: -0.36em;
+  font-size: 0.7em;
+  vertical-align: 0.25em;
+  margin-left: -0.4em;
   margin-right: -0.15em;
 }
 
-.latexlogo sub {
+.latexlogosub {
   text-transform: uppercase;
-  vertical-align: -0.5ex;
-  margin-left: -0.1667em;
-  margin-right: -0.125em;
+  vertical-align: -0.27ex;
+  margin-left: -0.08em;
+  margin-right: -0.07em;
   font-size: 1em;
 }
 
-.xetexlogo {
+.latexlogotwoe {
+  text-transform: none ;
+  font-variant-numeric: oldstyle-nums ;
+}
+
+.latexlogotwoesub {
+  font-style:italic ;
+  vertical-align: -0.27ex;
+  margin-left: -0.11em;
+  margin-right: -0.1em;
+  font-size: 1em;
+}
+
+.xelatexlogo {
     font-family: "Linux Libertine O", "Nimbus Roman No 9 L",
         "FreeSerif", "Hoefler Text", Times, "Times New Roman", serif;
     letter-spacing: .03em ;
@@ -2813,21 +2851,9 @@
     font-size: 1.1em;
 }
 
-/* A smaller gap between Xe and Tex v.s. LaTeX: */
-.xetexlogo sub {
-  text-transform: uppercase;
-  vertical-align: -0.5ex;
+.xelatexlogosub {
+  vertical-align: -0.27ex;
   margin-left: -0.0667em;
-  margin-right: -0.2em;
-  font-size: 1em;
-  letter-spacing: .03em ;
-}
-
-/* A large gap between Xe and LaTeX v.s. TeX: */
-.xelatexlogo sub {
-  text-transform: uppercase;
-  vertical-align: -0.5ex;
-  margin-left: -0.0667em;
   margin-right: -.05em;
   font-size: 1em;
   letter-spacing: .03em ;
@@ -2837,8 +2863,8 @@
     font-family: "TeXGyreChorus","URW Chancery L",
         "Apple Chancery","ITC Zapf Chancery","Monotype Corsiva",
         "Linux Libertine O", "Nimbus Roman No 9 L",  "FreeSerif",
-        "Hoefler Text", Times, "Times New Roman", serif;
-  font-style: italic;
+        "Hoefler Text", Times, "Times New Roman", serif ;
+    font-style: italic ;
 }
 
 .lyxlogo {
@@ -3251,13 +3277,6 @@
     border: none ;
 }
 
-.verse {
-    font-family: "Linux Libertine O", "Hoefler Text", "Garamond",
-        "Bembo", "Janson", "TeX Gyre Pagella", "Palatino",
-        "Liberation Serif", "Nimbus Roman No 9 L",  "FreeSerif", Times,
-        "Times New Roman", serif;
-}
-
 figure {
     margin: 5ex 5% 5ex 5% ;
     padding: 1ex 1em 1ex 1em ;
@@ -3486,22 +3505,7 @@
     "https://cdn.mathjax.org/mathjax/contrib";
 </script>
 
-<!-- https://github.com/burnpanck/MathJax-siunitx -->
-
 <script type="text/x-mathjax-config">
- MathJax.Hub.Config({
-   extensions: ["tex2jax.js","[siunitx]/siunitx.js"],
-   jax: ["input/TeX","output/HTML-CSS"],
-   tex2jax: {
-        inlineMath: [["$","$"],["\\(","\\)"]] ,
-        processClass: "tabbing|verse"
-    },
-   TeX: {extensions: ["AMSmath.js","AMSsymbols.js", "sinuitx.js"]}
- });
- MathJax.Ajax.config.path['siunitx']  = 'http://rawgit.com/burnpanck/MathJax-siunitx/master/';
- </script>
-
-<script type="text/x-mathjax-config">
 MathJax.Hub.Config({
     TeX: {
     equationNumbers: {
@@ -3527,6 +3531,9 @@
 \end{LWRwriteconf}
 
 
+
+
+
 \begin{LWR at createlwarpmk}
 \begin{filecontents*}{lwarpmk.lua}
 #!/usr/bin/env texlua
@@ -3533,7 +3540,7 @@
 
 -- Copyright 2016-2018 Brian Dunn
 
-printversion = "v0.61"
+printversion = "v0.62"
 requiredconfversion = "1" -- also at *lwarpmk.conf
 
 function printhelp ()
@@ -3562,8 +3569,9 @@
     Finishes the HTML conversion even if there was a compile error.
 lwarpmk pdftosvg <list of file names>: Converts each PDF file to SVG.
 lwarpmk epstopdf <list of file names>: Converts each EPS file to PDF.
-lwarpmk clean [-p project]: Remove .aux, .toc, .lof/t, .idx, .ind, .log, *_html_inc.*, .gl*
-lwarpmk cleanall [-p project]: Remove auxiliary files and also project.pdf, *.html
+lwarpmk clean [-p project]: Remove *.aux, *.toc, *.lof/t,
+    *.idx, *.ind, *.log, *_html_inc.*, .gl*
+lwarpmk cleanall [-p project]: Remove auxiliary files, project.pdf, *.html
 lwarpmk cleanlimages: Removes all images from the "lateximages" directory.
 lwarpmk -h: Print this help message.
 lwarpmk --help: Print this help message.
@@ -4545,7 +4553,7 @@
 \begingroup%
 \LWR at FBcancel%
 \LWR at origampersand#1;%
-\endgroup
+\endgroup%
 }
 \newcommand*{\HTMLunicode}[1]{\HTMLentity{\LWR at origpound{}x#1}}
 
@@ -4610,7 +4618,7 @@
         \LWR at traceinfo{Prefixing the index name with an underscore.}%
         \_#1.html%
     }%
-    {\HTMLFilename#1.html}%
+    {\HTMLFilename\LWR at isolate{#1}.html}%
 }%
 \LWR at traceinfo{LWR at htmlsectionfilename Z}%
 }
@@ -4794,7 +4802,7 @@
 \LWR at FBcancel%
 \ifmmode\else\protect\LWR at origttfamily\fi%
 \protect\LWR at origtextless%
-#1%
+\LWR at isolate{#1}%
 \protect\LWR at origtextgreater%
 \endgroup%
 }
@@ -4980,13 +4988,17 @@
 \end{warpHTML}
 
 \begin{warpprint}
-\NewDocumentCommand{\InlineClass}{o m +m}{#3}%
+\NewDocumentCommand{\InlineClass}{D{(}{)}{} o m +m}{#4}%
 \end{warpprint}
 \begin{warpHTML}
-\NewDocumentCommand{\LWR at print@InlineClass}{o m +m}{#3}%
+\NewDocumentCommand{\LWR at print@InlineClass}{D{(}{)}{} o m +m}{#4}%
 
-\NewDocumentCommand{\LWR at HTML@InlineClass}{o m +m}{%
-    \LWR at htmlspanclass[#1]{#2}{#3}%
+\NewDocumentCommand{\LWR at HTML@InlineClass}{D{(}{)}{} o m +m}{%
+\ifbool{FormatWP}{%
+    \LWR at htmlspanclass[#1]{#3}{#4}%
+}{%
+    \LWR at htmlspanclass[#2]{#3}{#4}%
+}%
 }
 
 \LWR at formatted{InlineClass}
@@ -5177,8 +5189,8 @@
     }% an intentionally blank line
     {}%
     \ifbool{LWR at doingstartpars}%
-    {\ClearPreHook{par}}%
-    {}%
+        {\ClearPreHook{par}}%
+        {}%
     \global\setbool{LWR at doingstartpars}{false}%
     \global\boolfalse{LWR at doingapar}%
 }% nestspan
@@ -5422,6 +5434,7 @@
 \edef\LWR at thisnewfilename{#1}%
 \LWR at traceinfo{LWR at filenamenoblanks edef: !\LWR at thisnewfilename!}%
 \fullexpandarg%
+\StrSubstitute{\LWR at thisnewfilename}{\ }{-}[\LWR at thisnewfilename]
 \StrSubstitute{\LWR at thisnewfilename}{ }{-}[\LWR at thisnewfilename]
 \StrSubstitute{\LWR at thisnewfilename}{,}{-}[\LWR at thisnewfilename]
 \StrSubstitute{\LWR at thisnewfilename}{'}{-}[\LWR at thisnewfilename]
@@ -5442,7 +5455,6 @@
     {\textgreater}{-}[\LWR at thisnewfilename]
 \StrSubstitute{\LWR at thisnewfilename}{\LWR at origpound}{-}[\LWR at thisnewfilename]
 \StrSubstitute{\LWR at thisnewfilename}{\_}{-}[\LWR at thisnewfilename]
-\StrSubstitute{\LWR at thisnewfilename}{\ }{-}[\LWR at thisnewfilename]
 \StrSubstitute{\LWR at thisnewfilename}{\%}{-}[\LWR at thisnewfilename]
 \StrSubstitute{\LWR at thisnewfilename}{\{}{-}[\LWR at thisnewfilename]
 \StrSubstitute{\LWR at thisnewfilename}{\}}{-}[\LWR at thisnewfilename]
@@ -5503,6 +5515,7 @@
 }%
 }
 
+
 \newcommand*{\LWR at customizedMathJax}{}
 
 \newcommand*{\CustomizeMathJax}[1]{%
@@ -5530,6 +5543,10 @@
 }{}
 }
 
+
+
+
+
 \end{warpHTML}
 
 \begin{warpprint}
@@ -5536,6 +5553,7 @@
 
 \newcommand*{\CustomizeMathJax}[1]{}
 
+
 \end{warpprint}
 
 \begin{warpHTML}
@@ -5584,15 +5602,7 @@
 
 \LWR at stoppars
 
-\ifPDFTeX% pdflatex or dvi latex
-\ifdefstring{\inputencodingname}{utf8}{%
-\LWR at filestart{ — #1}% there is an EMdash in front of the #1
-}{
-\LWR at filestart{ - #1}% hyphen
-}
-\else%
-\LWR at filestart{ — #1}% there is an EMdash in front of the #1
-\fi%
+\LWR at filestart[#1]
 
 \setcounter{LWR at latestautopage}{\value{page}}%
 \LWR at newautopagelabel{LWR at latestautopage}%
@@ -5682,10 +5692,11 @@
 \def\@seccntformat#1{\csname the#1\endcsname\protect\quad}
 \newcommand*{\simplechapterdelim}{}
 \let\@chapcntformat\@seccntformat
+\let\@partcntformat\@seccntformat
+\newcommand*{\@partnameformat}{\LWR at isolate{\partname}~}%
 \newcounter{LWR at currentautosec}
 \DeclareDocumentCommand{\LWR at section}{m m m m}{%
-\LWR at traceinfo{LWR at section |#2| |#3|}%
-\LWR at traceinfo{LWR at section: not an empty section}%
+\LWR at traceinfo{LWR at section: starting}%
 \LWR at stoppars%
 \global\boolfalse{LWR at minipagethispar}%
 \LWR at traceinfo{LWR at section: testing whether to start a new HTML file}%
@@ -5747,13 +5758,17 @@
 {}%
 \LWR at traceinfo{LWR at section: about to LWR at createautosec}%
 \LWR at createautosec{\@nameuse{LWR at tag#4}}%
-\setcounter{LWR at currentautosec}{\value{page}}
+\setcounter{LWR at currentautosec}{\value{page}}%
 \IfBooleanTF{#1}%
 {%
-\LWR at traceinfo{LWR at section: starred}%
-\ifbool{LWR at forcinghtmltoc}%
-{\addcontentsline{toc}{#4}{\IfValueTF{#2}{#2}{#3}}}%
-{}%
+    \LWR at traceinfo{LWR at section: starred}%
+    \ifbool{LWR at forcinghtmltoc}%
+    {%
+        \addcontentsline{toc}{#4}{%
+            \IfValueTF{#2}{\LWR at isolate{#2}}{\LWR at isolate{#3}}%
+        }%
+    }%
+    {}%
 }% starred
 {% not starred
     \ifthenelse{%
@@ -5769,17 +5784,24 @@
             \addcontentsline{toc}{#4}%
             {%
                  \protect\numberline{\@nameuse{the#4}}%
-                {\ignorespaces\IfValueTF{#2}{#2}{#3}\protect\relax}%
+                {%
+                    \ignorespaces%
+                    \IfValueTF{#2}{\LWR at isolate{#2}}{\LWR at isolate{#3}}\protect\relax%
+                }%
             }%
             \LWR at traceinfo{LWR at section: finished addcontentsline}%
         }% end of if main matter
         {% not main matter
             \LWR at traceinfo{LWR at section: no main matter}%
-            \addcontentsline{toc}{#4}{\IfValueTF{#2}{#2}{#3}}%
+            \addcontentsline{toc}{#4}{%
+                \IfValueTF{#2}{\LWR at isolate{#2}}{\LWR at isolate{#3}}%
+            }%
         }% end of not main matter
     }% end of secnumdepth
     {%
-        \addcontentsline{toc}{#4}{\IfValueTF{#2}{#2}{#3}}%
+        \addcontentsline{toc}{#4}{%
+            \IfValueTF{#2}{\LWR at isolate{#2}}{\LWR at isolate{#3}}%
+        }%
     }%
     \ifbool{LWR at mainmatter}%
     {%
@@ -5788,7 +5810,7 @@
                 {\value{secnumdepth}}\) \AND%
             \(\cnttest{\@nameuse{LWR at depth#4}}{<=}{\LWR at depthpart}\)%
         }%
-        {\@nameuse{#4name}~{}}%
+        {\@partnameformat}%
         {}%
         \LWR at traceinfo{LWR at section: about to print section number}%
         \ifthenelse{%
@@ -5795,9 +5817,14 @@
             \cnttest{\@nameuse{LWR at depth#4}}{<=}{\value{secnumdepth}}%
         }%
         {%
-            \ifstrequal{#4}{chapter}%
-            {\protect\LWR at sectionnumber{\@chapcntformat{#4}}}%
-            {\protect\LWR at sectionnumber{\@seccntformat{#4}}}%
+            \ifstrequal{#4}{part}%
+            {%
+                \protect\LWR at sectionnumber{\@partcntformat{#4}}%
+            }{%
+                \ifstrequal{#4}{chapter}%
+                    {\protect\LWR at sectionnumber{\@chapcntformat{#4}}}%
+                    {\protect\LWR at sectionnumber{\@seccntformat{#4}}}%
+            }%
         }%
         {}%
         \LWR at traceinfo{LWR at section: finished print section number}%
@@ -5804,7 +5831,7 @@
     }{}%
 }% end of not starred
 \LWR at traceinfo{LWR at section: about to print the section name}%
-#3%
+\LWR at isolate{#3}%
 \LWR at traceinfo{LWR at section: about to close the heading tag}%
 \LWR at htmltag{\@nameuse{LWR at tag#4end}}%
 \LWR at traceinfo{LWR at section: about to create the LaTeX label}%
@@ -5874,11 +5901,7 @@
 }
 
 \DeclareDocumentCommand{\section}{s o o m}{%
-\IfValueTF{#2}{
-\LWR at traceinfo{section #2}%
-}{
-\LWR at traceinfo{section #4}%
-}
+\LWR at traceinfo{section: starting}%
 \LWR at maybeprintpendingfootnotes{\LWR at depthsection}%
 \LWR at stoppars%
 
@@ -5935,15 +5958,41 @@
 \renewcommand*{\LWR at currentHTMLLanguage}{#1}%
 }
 
+\ifPDFTeX% pdflatex or dvi latex
+\ifdefstring{\inputencodingname}{utf8}{%
+    \newcommand*{\theHTMLTitleSeparator}{ — }% EMdash
+}{%
+    \newcommand*{\theHTMLTitleSeparator}{ - }% hyphen
+}%
+\else%
+    \newcommand*{\theHTMLTitleSeparator}{ — }% EMdash
+\fi%
+
+\newcommand*{\HTMLTitleBeforeSection}{%
+    \def\theHTMLTitleSection{%
+        \theHTMLTitle\theHTMLTitleSeparator\theHTMLSection%
+    }
+}
+
+\newcommand*{\HTMLTitleAfterSection}{%
+    \def\theHTMLTitleSection{%
+        \theHTMLSection\theHTMLTitleSeparator\theHTMLTitle%
+    }
+}
+
+\HTMLTitleBeforeSection
+
+\newcommand*{\theHTMLSection}{}
+
 \end{warpall}
 
 \begin{warpHTML}
 
-
-\newcommand*{\LWR at filestart}[1]{
-\LWR at traceinfo{LWR at filestart !#1!}
-\begingroup
-\LWR at nullfonts
+\newcommand*{\LWR at filestart}[1][]{%
+\LWR at traceinfo{LWR at filestart !#1!}%
+\begingroup%
+\LWR at nullfonts%
+\edef\theHTMLSection{#1}%
 \LWR at htmltag{!DOCTYPE html}\LWR at orignewline
 \LWR at htmltag{html lang="\LWR at currentHTMLLanguage"}\LWR at orignewline
 \LWR at htmltag{head}\LWR at orignewline
@@ -5968,7 +6017,13 @@
 \LWR at htmltag{![endif]{-}{-}}\LWR at orignewline
 \ifthenelse{\equal{\theHTMLTitle}{}}%
 {}%
-{\LWR at htmltag{title}\theHTMLTitle#1\LWR at htmltag{/title}\LWR at orignewline}%
+{%
+    \LWR at htmltag{title}%
+    \ifdefempty{\theHTMLSection}%
+        {\theHTMLTitle}%
+        {\theHTMLTitleSection}%
+    \LWR at htmltag{/title}\LWR at orignewline%
+}%
 \LWR at htmltag{%
 link rel="stylesheet" type="text/css" href="\LWR at currentcss" /}%
 \LWR at orignewline
@@ -5976,11 +6031,11 @@
 {%
     \begingroup%
     \LWR at restoreoriglists%
-    \boolfalse{LWR at verbtags}
-    \verbatiminput{lwarp_mathjax.txt}%
-    \booltrue{LWR at verbtags}
+    \boolfalse{LWR at verbtags}%
+        \verbatiminput{lwarp_mathjax.txt}%
+    \booltrue{LWR at verbtags}%
     \endgroup%
-    \LWR at stoppars
+    \LWR at stoppars%
 }% end of mathjax
 {}%
 \LWR at htmltag{/head}\LWR at orignewline
@@ -6026,19 +6081,19 @@
 \let\LWR at origcaption\caption
 \let\LWR at origltx@label\ltx at label
 \let\ltx at label\LWR at htmlmathlabel
-\let\TeX\LWR at TeX
-\let\LaTeX\LWR at LaTeX
-\let\LuaTeX\LWR at LuaTeX
-\let\LuaLaTeX\LWR at LuaLaTeX
-\let\XeTeX\LWR at XeTeX
-\let\XeLaTeX\LWR at XeLaTeX
-\let\ConTeXt\LWR at ConTeXt
+\LetLtxMacro\TeX\LWR at TeX
+\LetLtxMacro\LaTeX\LWR at LaTeX
+\LetLtxMacro\LuaTeX\LWR at LuaTeX
+\LetLtxMacro\LuaLaTeX\LWR at LuaLaTeX
+\LetLtxMacro\XeTeX\LWR at XeTeX
+\LetLtxMacro\XeLaTeX\LWR at XeLaTeX
+\LetLtxMacro\ConTeXt\LWR at ConTeXt
 \global\boolfalse{LWR at doingapar}
 \global\boolfalse{LWR at doingstartpars}
 \mainmatter
 \LWR at origpagenumbering{arabic}
 \LWR at traceinfo{LWR at lwarpStart: Starting new file.}
-\LWR at filestart{}
+\LWR at filestart
 \LWR at traceinfo{LWR at lwarpStart: Generating first header.}
 \LWR at htmltag{header}\LWR at orignewline
 \LWR at startpars
@@ -7853,7 +7908,7 @@
 \IfBooleanTF{#1}% star?
 {% yes star
     \LWR at figcaption%
-    #3%
+    \LWR at isolate{#3}%
     \endLWR at figcaption%
 }%
 {% No star:
@@ -7869,7 +7924,9 @@
         }%
     }{}%
     \LWR at figcaption%
-    \@nameuse{fnum@\LTcaptype}\CaptionSeparator#3%
+    \LWR at isolate{\@nameuse{fnum@\LTcaptype}}%
+    \CaptionSeparator%
+    \LWR at isolate{#3}%
     \endLWR at figcaption%
     \ifblank{#2}% TOC entry empty
     {}%
@@ -7880,9 +7937,9 @@
             {\@nameuse{ext@\LTcaptype}}%
             {\LTcaptype}%
             {%
-            \protect\numberline%
-            {\@nameuse{p@\LTcaptype}\@nameuse{the\LTcaptype}}%
-            {\ignorespaces #3\protect\relax}%
+                \protect\numberline%
+                {\LWR at isolate{\@nameuse{p@\LTcaptype}}\@nameuse{the\LTcaptype}}%
+                {\ignorespaces \LWR at isolate{#3}\protect\relax}%
             }%
         }% end of No TOC entry
         {% yes TOC entry
@@ -7890,9 +7947,9 @@
             {\@nameuse{ext@\LTcaptype}}%
             {\LTcaptype}%
             {%
-            \protect\numberline%
-            {\@nameuse{p@\LTcaptype}\@nameuse{the\LTcaptype}}%
-            {\ignorespaces #2\protect\relax}%
+                \protect\numberline%
+                {\LWR at isolate{\@nameuse{p@\LTcaptype}}\@nameuse{the\LTcaptype}}%
+                {\ignorespaces \LWR at isolate{#2}\protect\relax}%
             }%
         }% end of yes TOC entry
     }% end of TOC entry not empty
@@ -8291,8 +8348,8 @@
 \GetTitleStringExpand{#1}%
 \edef\@currentlabelname{\detokenize\expandafter{\GetTitleStringResult}}%
 \edef\@currentlabelname{%
-\expandafter\LWR at stripperiod\@currentlabelname%
-\ltx at empty.\ltx at empty\@nil%
+    \expandafter\LWR at stripperiod\@currentlabelname%
+    \ltx at empty.\ltx at empty\@nil%
 }%
 }
 
@@ -8641,7 +8698,7 @@
 
 \AtBeginDocument{\renewcommand{\@makecaption}[2]{%
     \LWR at traceinfo{@makecaption}%
-    #1\CaptionSeparator#2%
+    \LWR at isolate{#1}\CaptionSeparator\LWR at isolate{#2}%
     \LWR at traceinfo{@makecaption: done}%
 }%
 }
@@ -8659,19 +8716,19 @@
 
 \newenvironment*{LWR at figcaption}
 {%
-\LWR at traceinfo{LWR at figcaption env start}%
-\LWR at htmlblocktag{figcaption}%
-\ifbool{FormatWP}{%
-\begin{BlockClass}[font-style:italic]{italic}
-\LWR at print@vspace*{\baselineskip}
-}{}%
-\LWR at traceinfo{LWR at figcaption env start: done}%
+    \LWR at traceinfo{LWR at figcaption env start}%
+    \LWR at htmlblocktag{figcaption}%
+    \ifbool{FormatWP}{%
+        \begin{BlockClass}[font-style:italic]{italic}
+        \LWR at print@vspace*{\baselineskip}
+    }{}%
+    \LWR at traceinfo{LWR at figcaption env start: done}%
 }
 {%
-\LWR at traceinfo{LWR at figcaption env end}%
-\ifbool{FormatWP}{\end{BlockClass}}{}%
-\LWR at htmlblocktag{/figcaption}%
-\LWR at traceinfo{LWR at figcaption env end: done}%
+    \LWR at traceinfo{LWR at figcaption env end}%
+    \ifbool{FormatWP}{\end{BlockClass}}{}%
+    \LWR at htmlblocktag{/figcaption}%
+    \LWR at traceinfo{LWR at figcaption env end: done}%
 }
 \newcommand*{\LWR at HTML@caption at begin}[1]
 {
@@ -8923,8 +8980,12 @@
 
 \DeclareDocumentCommand{\l at part}{m m}{\hypertoc{-1}{part}{#1}{#2}}
 
+\@ifundefined{chapter}
+{}
+{
 \DeclareDocumentCommand{\l at chapter}{m m}
     {\hypertoc{0}{chapter}{#1}{#2}}
+}
 
 \renewcommand{\l at section}[2]{\hypertoc{1}{section}{#1}{#2}}
 
@@ -9010,15 +9071,15 @@
 }
 
 \newcommand{\LWR at hyperindexrefnullified}{%
-\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}}}%
+\renewrobustcmd{\emph}[1]{\LWR at HTML@emph{\LWR at doindexentry{##1}}}%
+\renewrobustcmd{\textbf}[1]{\LWR at HTML@textbf{\LWR at doindexentry{##1}}}%
+\renewrobustcmd{\textrm}[1]{\LWR at HTML@textrm{\LWR at doindexentry{##1}}}%
+\renewrobustcmd{\textsf}[1]{\LWR at HTML@textsf{\LWR at doindexentry{##1}}}%
+\renewrobustcmd{\texttt}[1]{\LWR at HTML@texttt{\LWR at doindexentry{##1}}}%
+\renewrobustcmd{\textup}[1]{\LWR at HTML@textup{\LWR at doindexentry{##1}}}%
+\renewrobustcmd{\textsc}[1]{\LWR at HTML@textsc{\LWR at doindexentry{##1}}}%
+\renewrobustcmd{\textit}[1]{\LWR at HTML@textit{\LWR at doindexentry{##1}}}%
+\renewrobustcmd{\textsl}[1]{\LWR at HTML@textsl{\LWR at doindexentry{##1}}}%
 }
 
 \newcommand{\hyperindexref}[1]{%
@@ -9092,17 +9153,6 @@
 \let\textellipsis\LWR at origtextellipsis%
 \let\textless\LWR at origtextless%
 \let\textgreater\LWR at origtextgreater%
-\LetLtxMacro\textrm\LWR at origtextrm%
-\LetLtxMacro\textsf\LWR at origtextsf%
-\LetLtxMacro\texttt\LWR at origtexttt%
-\LetLtxMacro\textbf\LWR at origtextbf%
-\LetLtxMacro\textmd\LWR at origtextmd%
-\LetLtxMacro\textit\LWR at origtextit%
-\LetLtxMacro\textsl\LWR at origtextsl%
-\LetLtxMacro\textsc\LWR at origtextsc%
-\LetLtxMacro\textup\LWR at origtextup%
-\LetLtxMacro\textnormal\LWR at origtextnormal%
-\LetLtxMacro\emph\LWR at origemph%
 \LetLtxMacro\rmfamily\LWR at origrmfamily%
 \LetLtxMacro\sffamily\LWR at origsffamily%
 \LetLtxMacro\ttfamily\LWR at origttfamily%
@@ -10044,13 +10094,18 @@
 \end{warpHTML}
 
 \begin{warpHTML}
-\@ifpackageloaded{textcomp}{\LWR at origRequirePackage{lwarp-textcomp}}{}
+\newcommand*{\LWR at PreloadedPackage}[1]{%
+\@ifpackageloaded{#1}{\LWR at origRequirePackage{lwarp-#1}}{}
+}
+\LWR at PreloadedPackage{textcomp}
 
-\@ifpackageloaded{xunicode}{\LWR at origRequirePackage{lwarp-xunicode}}{}
+\LWR at PreloadedPackage{xunicode}
 
-\@ifpackageloaded{graphics}{\LWR at origRequirePackage{lwarp-graphics}}{}
-\@ifpackageloaded{graphicx}{\LWR at origRequirePackage{lwarp-graphicx}}{}
+\LWR at PreloadedPackage{graphics}
+\LWR at PreloadedPackage{graphicx}
 
+\LWR at PreloadedPackage{ulem}
+
 \end{warpHTML}
 
 
@@ -10107,7 +10162,7 @@
 \begin{lrbox}{\LWR at colorminipagebox}%
 #5%
 \end{lrbox}%
-\ifthenelse{\equal{#4}{none}}%
+\ifstrequal{#4}{none}%
 {% #4 none
     \LWR at traceinfo{background is none}%
     {% scope the \colorlet
@@ -10152,7 +10207,7 @@
 \end{minipage}%
 \end{lrbox}%
 \LWR at traceinfo{*** starting end fcolorminipage #1 #2 #3 #4 #8}%
-\ifthenelse{\equal{#4}{none}}%
+\ifstrequal{#4}{none}%
 {% #4 none
     {% scope the \colorlet
         \colorlet{LWR at currentcolor}{.}%
@@ -10537,7 +10592,8 @@
 \endminipage%
 }
 
-\newenvironment{fminipage}{\LWR at print@fminipage}{\endLWR at print@fminipage}
+\LetLtxMacro\fminipage\LWR at print@fminipage
+\LetLtxMacro\endfminipage\endLWR at print@fminipage
 
 \end{warpall}
 
@@ -10549,6 +10605,7 @@
 \LWR at forceminwidth{\fboxrule}%
 \setlength{\LWR at tempwidth}{#4}%
 \IfValueT{#2}{\setlength{\LWR at tempheight}{#2}}%
+\LWR at stoppars%
 \begin{BlockClass}[%
 \LWR at blackborderpadding ; %
 \IfValueT{#2}{height:\LWR at printlength{\LWR at tempheight} ; }%
@@ -10557,6 +10614,7 @@
 }
 {%
 \end{BlockClass}%
+\global\booltrue{LWR at minipagethispar}%
 \LWR at traceinfo{fminipage done}%
 }
 
@@ -10576,125 +10634,161 @@
 \begin{warpHTML}
 
 
-\DeclareRobustCommand{\LWR at HTMLtextstyle}[3]{%
-\ifbool{FormatWP}%
-{\LWR at htmlspanclass[#1]{#2}{#3}}%
-{\LWR at htmlspanclass{#2}{#3}}%
+\DeclareRobustCommand{\LWR at HTML@emph}[1]{%
+    {%
+        \itshape%
+        \LWR at htmlspan{em}{#1}%
+    }%
 }
+\LWR at formatted{emph}
 
-\DeclareRobustCommand{\LWR at HTMLemph}[1]{\LWR at htmlspan{em}{#1}}
-\DeclareRobustCommand{\LWR at nullemph}[1]{#1}
-\LetLtxMacro\emph\LWR at HTMLemph
+\DeclareRobustCommand{\LWR at null@emph}[1]{#1}
 
-\DeclareRobustCommand{\LWR at HTMLtextmd}[1]{%
-\LWR at HTMLtextstyle{font-weight:normal}{textmd}{#1}%
+\DeclareRobustCommand{\LWR at HTML@textmd}[1]{%
+    {%
+        \mdseries%
+        \InlineClass(font-weight:normal){textmd}{#1}%
+    }%
 }
-\DeclareRobustCommand{\LWR at nulltextmd}[1]{#1}
+\LWR at formatted{textmd}
 
-\LetLtxMacro\textmd\LWR at HTMLtextmd
+\DeclareRobustCommand{\LWR at null@textmd}[1]{#1}
 
-\DeclareRobustCommand{\LWR at HTMLtextbf}[1]{\LWR at htmlspan{b}{#1}}
-\DeclareRobustCommand{\LWR at nulltextbf}[1]{#1}
-\LetLtxMacro\textbf\LWR at HTMLtextbf
+\DeclareRobustCommand{\LWR at HTML@textbf}[1]{%
+    {%
+        \bfseries%
+        \LWR at htmlspan{b}{#1}%
+    }%
+}
+\LWR at formatted{textbf}
 
-\DeclareRobustCommand{\LWR at HTMLtextrm}[1]{%
-\LWR at HTMLtextstyle{font-family:serif}{textrm}{#1}%
+\DeclareRobustCommand{\LWR at null@textbf}[1]{#1}
+
+\DeclareRobustCommand{\LWR at HTML@textrm}[1]{%
+    {%
+        \rmfamily%
+        \InlineClass(font-family:serif){textrm}{#1}%
+    }%
 }
+\LWR at formatted{textrm}
 
-\DeclareRobustCommand{\LWR at nulltextrm}[1]{#1}
+\DeclareRobustCommand{\LWR at null@textrm}[1]{#1}
 
-\LetLtxMacro\textrm\LWR at HTMLtextrm
+\DeclareRobustCommand{\LWR at HTML@textsf}[1]{%
+    {%
+        \sffamily%
+        \InlineClass(font-family:sans){textsf}{#1}%
+    }%
+}
+\LWR at formatted{textsf}
 
-\DeclareRobustCommand{\LWR at HTMLtextsf}[1]{%
-\LWR at HTMLtextstyle{font-family:sans}{textsf}{#1}%
+\DeclareRobustCommand{\LWR at null@textsf}[1]{#1}
+
+\DeclareRobustCommand{\LWR at HTML@texttt}[1]{%
+    {%
+        \ttfamily%
+        \LWR at htmlspan{kbd}{#1}%
+    }%
 }
-\DeclareRobustCommand{\LWR at nulltextsf}[1]{#1}
-\LetLtxMacro\textsf\LWR at HTMLtextsf
+\LWR at formatted{texttt}
 
-\DeclareRobustCommand{\LWR at HTMLtexttt}[1]{\LWR at htmlspan{kbd}{#1}}
-\DeclareRobustCommand{\LWR at nulltexttt}[1]{#1}
-\LetLtxMacro\texttt\LWR at HTMLtexttt
+\DeclareRobustCommand{\LWR at null@texttt}[1]{#1}
 
-\DeclareRobustCommand{\LWR at HTMLtextup}[1]{%
-\LWR at HTMLtextstyle{font-variant:normal}{textup}{#1}%
+\DeclareRobustCommand{\LWR at HTML@textup}[1]{%
+    {%
+        \upshape%
+        \InlineClass(font-style:normal){textup}{#1}%
+    }%
 }
+\LWR at formatted{textup}
 
-\DeclareRobustCommand{\LWR at nulltextup}[1]{#1}
+\DeclareRobustCommand{\LWR at null@textup}[1]{#1}
 
-\LetLtxMacro\textup\LWR at HTMLtextup
+\DeclareRobustCommand{\LWR at HTML@textit}[1]{%
+    {%
+        \itshape%
+        \LWR at htmlspan{i}{#1}%
+    }%
+}
+\LWR at formatted{textit}
 
-\DeclareRobustCommand{\LWR at HTMLtextit}[1]{\LWR at htmlspan{i}{#1}}
-\DeclareRobustCommand{\LWR at nulltextit}[1]{#1}
-\LetLtxMacro\textit\LWR at HTMLtextit
+\DeclareRobustCommand{\LWR at null@textit}[1]{#1}
 
-\DeclareRobustCommand{\LWR at HTMLtextsc}[1]{%
-\LWR at HTMLtextstyle{font-variant:small-caps}{textsc}{#1}%
+\DeclareRobustCommand{\LWR at HTML@textsc}[1]{%
+    {%
+        \scshape%
+        \InlineClass(
+            font-variant: small-caps ;
+            font-variant-numeric: oldstyle-nums ;
+        ){textsc}{#1}%
+    }%
 }
+\LWR at formatted{textsc}
 
-\DeclareRobustCommand{\LWR at nulltextsc}[1]{#1}
+\DeclareRobustCommand{\LWR at null@textsc}[1]{#1}
 
-\LetLtxMacro\textsc\LWR at HTMLtextsc
-
-\DeclareRobustCommand{\LWR at HTMLtextsl}[1]{%
-\LWR at HTMLtextstyle{font-style:oblique}{textsl}{#1}%
+\DeclareRobustCommand{\LWR at HTML@textsl}[1]{%
+    {%
+        \slshape%
+        \InlineClass(font-style:oblique){textsl}{#1}%
+    }%
 }
+\LWR at formatted{textsl}
 
-\DeclareRobustCommand{\LWR at nulltextsl}[1]{#1}
+\DeclareRobustCommand{\LWR at null@textsl}[1]{#1}
 
-\LetLtxMacro\textsl\LWR at HTMLtextsl
+\DeclareRobustCommand{\LWR at HTML@textnormal}[1]{\textmd{\textrm{\textup{#1}}}}
+\LWR at formatted{textnormal}
 
-\DeclareRobustCommand{\LWR at HTMLtextnormal}[1]{\textmd{\textrm{\textup{#1}}}}
-\DeclareRobustCommand{\LWR at nulltextnormal}[1]{#1}
-\LetLtxMacro\textnormal\LWR at HTMLtextnormal
+\DeclareRobustCommand{\LWR at null@textnormal}[1]{#1}
 
-\DeclareRobustCommand{\LWR at nullrmfamily}{}
-\DeclareRobustCommand{\LWR at nullsffamily}{}
-\DeclareRobustCommand{\LWR at nullttfamily}{}
-\DeclareRobustCommand{\LWR at nullbfseries}{}
-\DeclareRobustCommand{\LWR at nullmdseries}{}
-\DeclareRobustCommand{\LWR at nullupshape}{}
-\DeclareRobustCommand{\LWR at nullslshape}{}
-\DeclareRobustCommand{\LWR at nullscshape}{}
-\DeclareRobustCommand{\LWR at nullitshape}{}
-\DeclareRobustCommand{\LWR at nullem}[1]{}
-\DeclareRobustCommand{\LWR at nullnormalfont}{}
+\DeclareRobustCommand{\LWR at null@rmfamily}{}
+\DeclareRobustCommand{\LWR at null@sffamily}{}
+\DeclareRobustCommand{\LWR at null@ttfamily}{}
+\DeclareRobustCommand{\LWR at null@bfseries}{}
+\DeclareRobustCommand{\LWR at null@mdseries}{}
+\DeclareRobustCommand{\LWR at null@upshape}{}
+\DeclareRobustCommand{\LWR at null@slshape}{}
+\DeclareRobustCommand{\LWR at null@scshape}{}
+\DeclareRobustCommand{\LWR at null@itshape}{}
+\DeclareRobustCommand{\LWR at null@normalfont}{}
+\DeclareRobustCommand{\LWR at null@em}{}
 
 \newcommand*{\LWR at nullfonts}{%
-\LetLtxMacro\emph\LWR at nullemph%
-\LetLtxMacro\textmd\LWR at nulltextmd%
-\LetLtxMacro\textbf\LWR at nulltextbf%
-\LetLtxMacro\textrm\LWR at nulltextrm%
-\LetLtxMacro\textsf\LWR at nulltextsf%
-\LetLtxMacro\texttt\LWR at nulltexttt%
-\LetLtxMacro\textup\LWR at nulltextup%
-\LetLtxMacro\textit\LWR at nulltextit%
-\LetLtxMacro\textsc\LWR at nulltextsc%
-\LetLtxMacro\textsl\LWR at nulltextsl%
-\LetLtxMacro\textnormal\LWR at nulltextnormal%
-\LetLtxMacro\rmfamily\LWR at nullrmfamily%
-\LetLtxMacro\sffamily\LWR at nullsffamily%
-\LetLtxMacro\ttfamily\LWR at nullttfamily%
-\LetLtxMacro\bfseries\LWR at nullbfseries%
-\LetLtxMacro\mdseries\LWR at nullmdseries%
-\LetLtxMacro\upshape\LWR at nullupshape%
-\LetLtxMacro\slshape\LWR at nullslshape%
-\LetLtxMacro\scshape\LWR at nullscshape%
-\LetLtxMacro\itshape\LWR at nullitshape%
-\LetLtxMacro\em\LWR at nullem%
-\LetLtxMacro\normalfont\LWR at nullnormalfont%
+\LetLtxMacro\emph\LWR at null@emph%
+\LetLtxMacro\textmd\LWR at null@textmd%
+\LetLtxMacro\textbf\LWR at null@textbf%
+\LetLtxMacro\textrm\LWR at null@textrm%
+\LetLtxMacro\textsf\LWR at null@textsf%
+\LetLtxMacro\texttt\LWR at null@texttt%
+\LetLtxMacro\textup\LWR at null@textup%
+\LetLtxMacro\textit\LWR at null@textit%
+\LetLtxMacro\textsc\LWR at null@textsc%
+\LetLtxMacro\textsl\LWR at null@textsl%
+\LetLtxMacro\textnormal\LWR at null@textnormal%
+\LetLtxMacro\rmfamily\LWR at null@rmfamily%
+\LetLtxMacro\sffamily\LWR at null@sffamily%
+\LetLtxMacro\ttfamily\LWR at null@ttfamily%
+\LetLtxMacro\bfseries\LWR at null@bfseries%
+\LetLtxMacro\mdseries\LWR at null@mdseries%
+\LetLtxMacro\upshape\LWR at null@upshape%
+\LetLtxMacro\slshape\LWR at null@slshape%
+\LetLtxMacro\scshape\LWR at null@scshape%
+\LetLtxMacro\itshape\LWR at null@itshape%
+\LetLtxMacro\normalfont\LWR at null@normalfont%
+\LetLtxMacro\em\LWR at null@em%
 \renewcommand*{\,}{-}%
 \renewcommand*{~}{-}%
 \renewcommand*{\newline}{ }%
 \renewcommand*{\textellipsis}{-}%
-\renewcommand*{\HTMLunicode}[1]{-}%
-\renewcommand*{\HTMLentity}[1]{-}%
+\renewcommand*{\HTMLunicode}[1]{}%
+\renewcommand*{\HTMLentity}[1]{}%
 \renewcommand*{\&}{and}%
 \renewcommand{\textsuperscript}[1]{##1}%
 \renewcommand{\textsubscript}[1]{##1}%
 \renewcommand{\underline}[1]{##1}%
 \RenewDocumentCommand{\LWR at htmlspanclass}{o m +m}{##3}%
-\DeclareExpandableDocumentCommand{\InlineClass}{+o +m +m}{##3}%
-\DeclareRobustCommand{\LWR at HTMLtextstyle}[3]{##3}%
+\DeclareExpandableDocumentCommand{\InlineClass}{D{(}{)}{} o m +m}{##4}%
 \def\(##1\){}%
 \def\[##1\]{}%
 \RenewDocumentCommand{\LWR at subsingledollar}{s m m m}{}%
@@ -10707,13 +10801,26 @@
 \newcommand*{\LWR at f@series}{md}
 \newcommand*{\LWR at f@shape}{up}
 
+\newcounter{LWR at textcurrentfontdepth}
+\setcounter{LWR at textcurrentfontdepth}{0}
+
 \newcommand*{\LWR at textcurrentfont}[1]{%
-\InlineClass{%
-        text\LWR at f@family\LWR at origtilde{}%
-        text\LWR at f@series\LWR at origtilde{}%
-        text\LWR at f@shape%
-    }%
-    {#1}%
+    \ifnumcomp{\value{LWR at textcurrentfontdepth}}{>}{0}%
+        {%
+            \addtocounter{LWR at textcurrentfontdepth}{1}%
+            #1%
+            \addtocounter{LWR at textcurrentfontdepth}{-1}%
+        }%
+        {%
+            \addtocounter{LWR at textcurrentfontdepth}{1}%
+            \InlineClass{%
+                    text\LWR at f@family\LWR at origtilde{}%
+                    text\LWR at f@series\LWR at origtilde{}%
+                    text\LWR at f@shape%
+                }%
+                {#1}%
+            \addtocounter{LWR at textcurrentfontdepth}{-1}%
+        }%
 }
 
 \newenvironment*{LWR at blocktextcurrentfont}{%
@@ -10740,6 +10847,8 @@
 
 \renewrobustcmd*{\scshape}{\renewcommand*{\LWR at f@shape}{sc}}
 
+\renewrobustcmd*{\slshape}{\renewcommand*{\LWR at f@shape}{sl}}
+
 \renewrobustcmd*{\normalfont}{\rmfamily\mdseries\upshape}
 
 
@@ -10765,15 +10874,15 @@
 \AtBeginDocument{\let\fup\textsuperscript}
 
 \renewcommand{\underline}[1]{%
-\LWR at HTMLtextstyle%
-    {text-decoration:underline; text-decoration-skip: auto}%
-    {underline}{#1}%
+    \InlineClass%
+        (text-decoration:underline; text-decoration-skip: auto)%
+        {underline}{#1}%
 }
 
 \newcommand{\LWR at overline}[1]{%
-\LWR at HTMLtextstyle%
-    {text-decoration:overline; text-decoration-skip: auto}%
-    {overline}{#1}%
+    \InlineClass%
+        (text-decoration:overline; text-decoration-skip: auto)%
+        {overline}{#1}%
 }
 
 \newcommand*{\LWR at currenttextcolor}{black}
@@ -10789,7 +10898,15 @@
 
 \end{warpHTML}
 
+\begin{warpprint}
 
+\newcommand*{\LWR at textcurrentfont}[1]{#1}
+
+\newenvironment*{LWR at blocktextcurrentfont}{}{}
+
+\end{warpprint}
+
+
 \begin{warpHTML}
 \AtBeginDocument{
 \renewrobustcmd*{\,}{\HTMLunicode{202f}} % HTML thin non-breakable space
@@ -10852,9 +10969,11 @@
 \LetLtxMacro\newline\LWR at newlinebr
 
 \LetLtxMacro\LWR at origendofline\\
-\NewDocumentCommand{\LWR at endofline}{s o}
+\NewDocumentCommand{\LWR at endofline}{s O{0pt}}
 {%
 \newline%
+\setlength{\LWR at templengthone}{#2}%
+\ifdimgreater{\LWR at templengthone}{0pt}{\newline}{}%
 }
 
 \newcommand*{\LWR at minipagestartpars}{%
@@ -11009,70 +11128,111 @@
 
 \begin{warpHTML}
 
-\let\LWR at origTeX\TeX
+\LetLtxMacro\LWR at origTeX\TeX
 
-\newcommand*{\LWR at TeX}
+\newrobustcmd*{\LWR at TeX}
 {%
     \InlineClass{latexlogofont}%
     {%
-        \LWR at HTMLtextstyle%
-            {text-transform:uppercase}%
-            {latexlogo}%
-        {T\textsubscript{e}X}%
+        \InlineClass{latexlogo}%
+        {%
+            T%
+            \InlineClass{latexlogosub}{e}%
+            X%
+        }%
     }%
 }
-\let\LWR at origLaTeX\LaTeX
+\LetLtxMacro\LWR at origLaTeX\LaTeX
 
-\newcommand*{\LWR at LaTeX}
+\newrobustcmd*{\LWR at LaTeX}
 {%
     \InlineClass{latexlogofont}%
     {%
-        \LWR at HTMLtextstyle%
-            {text-transform:uppercase}%
-            {latexlogo}%
-        {L\textsuperscript{a}T\textsubscript{e}X}%
+        \InlineClass{latexlogo}%
+        {%
+            L%
+            \InlineClass{latexlogosup}{a}%
+            T%
+            \InlineClass{latexlogosub}{e}%
+            X%
+        }%
     }%
 }
 
-\let\LWR at origLaTeXe\LaTeXe
+\LetLtxMacro\LWR at origLaTeXe\LaTeXe
 
-\renewcommand*{\LaTeXe}
-{\LaTeX\InlineClass{latexlogofont}%
-{\,2\textsubscript{\textit{\HTMLunicode{3B5}}}}}
-\newcommand*{\LWR at LuaTeX}{\InlineClass{latexlogofont}{Lua}\TeX}
-\newcommand*{\LWR at LuaLaTeX}{\InlineClass{latexlogofont}{Lua}\LaTeX}
-\newcommand*{\Xe}
-  {X\textsubscript{\HTMLunicode{18e}}}
-\newcommand*{\LWR at XeTeX}{\InlineClass{xetexlogo}{\Xe}\TeX}
-\newcommand*{\LWR at XeLaTeX}{\InlineClass{xelatexlogo}{\Xe}\LaTeX}
-\newcommand*{\LWR at ConTeXt}
+\renewrobustcmd*{\LaTeXe}
+{%
+    \LaTeX%
+    \InlineClass{latexlogofont}{%
+        \InlineClass{latexlogotwoe}{%
+            2%
+            \InlineClass{latexlogotwoesub}{\HTMLunicode{03B5}}%
+        }%
+    }%
+}
+\newrobustcmd*{\LWR at LuaTeX}{\InlineClass{latexlogofont}{Lua}\TeX}
+\newrobustcmd*{\LWR at LuaLaTeX}{\InlineClass{latexlogofont}{Lua}\LaTeX}
+\newrobustcmd*{\Xe}
+    {%
+        X%
+        \InlineClass{xelatexlogosub}{\HTMLunicode{18e}}%
+    }
+
+\newrobustcmd*{\LWR at XeTeX}{\InlineClass{xelatexlogo}{\Xe}\TeX}
+
+\newrobustcmd*{\LWR at XeLaTeX}{\InlineClass{xelatexlogo}{\Xe}\LaTeX}
+\newrobustcmd*{\LWR at ConTeXt}
 {\InlineClass{latexlogofont}{Con}\TeX{}%
 \InlineClass{latexlogofont}{t}}
-\providecommand*{\BibTeX}
+\providerobustcmd*{\BibTeX}
 {\InlineClass{latexlogofont}{B\textsc{ib}}\TeX}
 
-\newcommand*{\MakeIndex}
+\newrobustcmd*{\MakeIndex}
 {\InlineClass{latexlogofont}{\textit{MakeIndex}}}
-\AtBeginDocument{\DeclareDocumentCommand{\AmS}{}
-{\InlineClass{amslogo}{\textit{A\textsubscript{M}S}}}}
-\newcommand*{\MiKTeX}{\InlineClass{latexlogofont}{MiK}\TeX}
-\newcommand*{\LyX}{\InlineClass{lyxlogo}{LyX}}
+\AtBeginDocument{%
+\DeclareDocumentCommand{\AmS}{}
+{%
+    \InlineClass{amslogo}{%
+        \textit{%
+            A%
+            \InlineClass{latexlogosub}{M}%
+            S%
+        }%
+    }%
+}%
+}
+\newrobustcmd*{\MiKTeX}{\InlineClass{latexlogofont}{MiK}\TeX}
+\newrobustcmd*{\LyX}{\InlineClass{lyxlogo}{LyX}}
 \end{warpHTML}
 \begin{warpprint}
-\newcommand*{\XeTeXrevE}
-  {\hspace{-.1667em}\raisebox{-.5ex}{\reflectbox{E}}\hspace{-.125em}}
-\providecommand*{\XeTeX}{\mbox{X\XeTeXrevE\TeX}}
-\providecommand*{\XeLaTeX}{\mbox{X\XeTeXrevE\LaTeX}}
-\providecommand*{\AmS}{%
-\leavevmode\hbox{$\mathcal A\kern-.2em\lower.376ex%
-\hbox{$\mathcal M$}\kern-.2em\mathcal S$}}
-\newcommand*{\LyX}{\textsf{LyX}}
-\providecommand*{\LuaTeX}{\mbox{Lua\TeX}}
-\providecommand*{\LuaLaTeX}{\mbox{Lua\LaTeX}}
-\providecommand*{\BibTeX}{\mbox{B\textsc{ib}\TeX}}
-\providecommand*{\MakeIndex}{\mbox{\textit{MakeIndex}}}
-\providecommand*{\ConTeXt}{\mbox{Con\TeX{}t}}
-\providecommand*{\MiKTeX}{\mbox{MiK\TeX}}
+
+\newrobustcmd*{\XeTeXrevE}
+    {\hspace{-.1667em}\raisebox{-.5ex}{E}\hspace{-.125em}}
+
+\AtBeginDocument{
+\@ifpackageloaded{graphics}{
+    \renewrobustcmd*{\XeTeXrevE}
+        {\hspace{-.1667em}\raisebox{-.5ex}{\reflectbox{E}}\hspace{-.125em}}
+}{
+    \PackageWarning{lwarp}{Load graphicx or graphics
+        for improved XeTeX logo}
+}
+}
+
+\providerobustcmd*{\XeTeX}{\mbox{X\XeTeXrevE\TeX}}
+\providerobustcmd*{\XeLaTeX}{\mbox{X\XeTeXrevE\LaTeX}}
+\providerobustcmd*{\AmS}{%
+    \leavevmode\hbox{$\mathcal A\kern-.2em\lower.376ex%
+    \hbox{$\mathcal M$}\kern-.2em\mathcal S$}%
+}
+\newrobustcmd*{\LyX}{\textsf{LyX}}
+\providerobustcmd*{\LuaTeX}{\mbox{Lua\TeX}}
+\providerobustcmd*{\LuaLaTeX}{\mbox{Lua\LaTeX}}
+\providerobustcmd*{\BibTeX}{\mbox{B\textsc{ib}\TeX}}
+\providerobustcmd*{\MakeIndex}{\mbox{\textit{MakeIndex}}}
+\providerobustcmd*{\ConTeXt}{\mbox{Con\TeX{}t}}
+\providerobustcmd*{\MiKTeX}{\mbox{MiK\TeX}}
 \end{warpprint}
 
 
@@ -11093,7 +11253,23 @@
 \@ifclassloaded{memoir}{\RequirePackage{lwarp-patch-memoir}}{}
 \end{warpHTML}
 
+\begin{warpHTML}
+\AtBeginDocument{
+    \@ifpackageloaded{ctexpatch}{%
+        \def\@partcntformat#1{%
+            \LWR at isolate{\CTEX at partname}~%
+            \CTEX at part@aftername%
+        }%
 
+        \def\@partnameformat{}
+
+        \def\@chapcntformat#1{%
+            \LWR at isolate{\CTEX at chaptername}~%
+            \CTEX at chapter@aftername%
+        }%
+    }{}
+}
+\end{warpHTML}
 \endinput
 %%
 %% End of file `lwarp.sty'.



More information about the tex-live-commits mailing list