texlive[44988] trunk: lwarp (8aug17)

commits+karl at tug.org commits+karl at tug.org
Tue Aug 8 22:42:15 CEST 2017


Revision: 44988
          http://tug.org/svn/texlive?view=revision&revision=44988
Author:   karl
Date:     2017-08-08 22:42:15 +0200 (Tue, 08 Aug 2017)
Log Message:
-----------
lwarp (8aug17)

Modified Paths:
--------------
    trunk/Build/source/texk/texlive/linked_scripts/lwarp/lwarpmk.lua
    trunk/Build/source/texk/texlive/linked_scripts/texlive/tlmgr.pl
    trunk/Master/texmf-dist/doc/latex/lwarp/README.txt
    trunk/Master/texmf-dist/doc/latex/lwarp/lwarp.pdf
    trunk/Master/texmf-dist/scripts/lwarp/lwarpmk.lua
    trunk/Master/texmf-dist/source/latex/lwarp/lwarp.dtx
    trunk/Master/texmf-dist/source/latex/lwarp/lwarp.ins
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-alltt.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-booktabs.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-enumerate.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-eso-pic.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-float.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-footnote.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-framed.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-mdframed.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-ntheorem.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-rotating.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-threeparttable.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-titleps.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-ulem.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-verse.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.sty

Added Paths:
-----------
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-balance.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-boxedminipage.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-boxedminipage2e.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-crop.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-enumitem.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-everyshi.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-figcaps.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-floatpag.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-flushend.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-fullpage.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-hyperxmp.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-idxlayout.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-marginfit.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-moreverb.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-paralist.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-pdflscape.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-pdfsync.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-prelim2e.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-rotfloat.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-savetrees.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-shadow.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-syntonly.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-titleref.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-xmpincl.sty

Modified: trunk/Build/source/texk/texlive/linked_scripts/lwarp/lwarpmk.lua
===================================================================
--- trunk/Build/source/texk/texlive/linked_scripts/lwarp/lwarpmk.lua	2017-08-08 20:41:36 UTC (rev 44987)
+++ trunk/Build/source/texk/texlive/linked_scripts/lwarp/lwarpmk.lua	2017-08-08 20:42:15 UTC (rev 44988)
@@ -4,7 +4,7 @@
 
 -- Print the usage of the lwarpmk command:
 
-printversion = "v0.33"
+printversion = "v0.34"
 
 function printhelp ()
 print ("lwarpmk: Use lwarpmk -h or lwarpmk --help for help.") ;
@@ -304,7 +304,7 @@
     err=os.execute ( "latexmk -pdf -dvi- -ps- -recorder "
         .. "-e "
         .. opquote
-        .. "$makeindex = q/"
+        .. "$makeindex = q/" -- $
         .. xindycmd
         .. "  -M " .. xdyfile
         .. "  -L " .. language .. " /"

Modified: trunk/Build/source/texk/texlive/linked_scripts/texlive/tlmgr.pl
===================================================================
--- trunk/Build/source/texk/texlive/linked_scripts/texlive/tlmgr.pl	2017-08-08 20:41:36 UTC (rev 44987)
+++ trunk/Build/source/texk/texlive/linked_scripts/texlive/tlmgr.pl	2017-08-08 20:42:15 UTC (rev 44988)
@@ -1,5 +1,5 @@
 #!/usr/bin/env perl
-# $Id: tlmgr.pl 44836 2017-07-17 23:59:48Z preining $
+# $Id: tlmgr.pl 44958 2017-08-05 09:14:35Z hironobu $
 #
 # Copyright 2008-2017 Norbert Preining
 # This file is licensed under the GNU General Public License version 2
@@ -6,8 +6,8 @@
 # or any later version.
 #
 
-my $svnrev = '$Revision: 44836 $';
-my $datrev = '$Date: 2017-07-18 01:59:48 +0200 (Tue, 18 Jul 2017) $';
+my $svnrev = '$Revision: 44958 $';
+my $datrev = '$Date: 2017-08-05 11:14:35 +0200 (Sat, 05 Aug 2017) $';
 my $tlmgrrevision;
 my $prg;
 if ($svnrev =~ m/: ([0-9]+) /) {
@@ -4546,6 +4546,10 @@
     return $F_ERROR;
   }
   my $what = shift @ARGV;
+  if (!defined($what)) {
+    tlwarn("$prg: action `generate' requires an argument!\n");
+    return ($F_ERROR);
+  }
   init_local_db();
 
   # we create fmtutil.cnf, language.dat, language.def in TEXMFSYSVAR and
@@ -5867,8 +5871,12 @@
 # 
 sub action_shell {
   my $protocol = 1;
-  sub do_prompt {
-    my $default_prompt = "tlmgr>";
+  my $default_prompt = "tlmgr>";
+  # we need to do an anonymous sub here otherwise the $default_prompt will get
+  # only fixed once and remain forever. With anonymous subs it is rebound
+  # on every call!
+  my $do_prompt;
+  $do_prompt = sub {
     my $prompt = "";
     my @options;
     my @guarantee;
@@ -5897,7 +5905,7 @@
         $did_prompt = 1;
       }
     }
-    print "default_prompt " if (!$did_prompt);
+    print "$default_prompt " if (!$did_prompt);
     my $ans = <STDIN>;
     if (!defined($ans)) {
       # we got Ctrl-D, just break out
@@ -5923,15 +5931,15 @@
       }
       if (!$isok) {
         print("Please answer one of: @guarantee\n");
-        return(do_prompt(@savedargs));
+        return(&$do_prompt(@savedargs));
       }
     }
     return($ans);
-  }
+  };
 
   print "protocol $protocol\n";
   while (1) {
-    my $ans = do_prompt('tlmgr>');
+    my $ans = &$do_prompt($default_prompt);
     return $F_OK if !defined($ans); # done if eof
 
     my ($cmd, @args) = TeXLive::TLUtils::quotewords('\s+', 0, $ans);
@@ -5954,13 +5962,13 @@
       my @valid_bool_keys
          = qw/debug-translation machine-readable no-execute-actions
               require-verification verify-downloads/;  
-      my @valid_string_keys = qw/repository/;
+      my @valid_string_keys = qw/repository prompt/;
       my @valid_keys = (@valid_bool_keys, @valid_string_keys);
       #
       my $key = shift @args;
       my $val = shift @args;
       if (!$key) {
-        $key = do_prompt('Choose one of...', -menu => \@valid_keys, '>');
+        $key = &$do_prompt('Choose one of...', -menu => \@valid_keys, '>');
       }
       if (!$key) {
         print("ERROR missing key argument for get/set\n");
@@ -5972,9 +5980,11 @@
       }
       if ($cmd eq "set" && !defined($val)) {
         if ($key eq "repository") {
-          $val = do_prompt('Enter repository:');
+          $val = &$do_prompt('Enter repository:');
+        } elsif ($key eq "prompt") {
+          $val = &$do_prompt('Enter new prompt:');
         } else {
-          $val = do_prompt('Enter 1 for on, 0 for off:', -guarantee => [0,1]);
+          $val = &$do_prompt('Enter 1 for on, 0 for off:', -guarantee => [0,1]);
         }
         # deal with Ctrl-D
         if (!defined($val)) {
@@ -5994,6 +6004,13 @@
           }
         }
         print "OK\n";
+      } elsif ($key eq "prompt") {
+        if ($cmd eq "set") {
+          $default_prompt = scalar($val);
+        } else {
+          print "Current prompt: $default_prompt (but you know that, or?)\n";
+        }
+        print "OK\n";
       } elsif (TeXLive::TLUtils::member($key, @valid_bool_keys)) {
         if ($cmd eq "set") {
           if ($val eq "0") {
@@ -6018,7 +6035,7 @@
     } elsif ($cmd eq "load") {
       my $what = shift @args;
       if (!defined($what)) {
-        $what = do_prompt("Choose...", -menu => ['local', 'remote'], '>');
+        $what = &$do_prompt("Choose...", -menu => ['local', 'remote'], '>');
       }
       if ($what eq "local") {
         init_local_db();
@@ -8007,10 +8024,11 @@
 
 Get the value of I<var>, or set it to I<val>.  Possible I<var> names:
 C<debug-translation>, C<machine-readable>, C<no-execute-actions>,
-C<require-verification>, C<verify-downloads>, and C<repository>. All
-except C<repository> are booleans, taking values 0 and 1, and behave
+C<require-verification>, C<verify-downloads>, C<repository>, and C<prompt>. All
+except C<repository> and C<prompt> are booleans, taking values 0 and 1, and behave
 like the corresponding command line option.  The C<repository> variable
-takes a string, and sets the remote repository location. 
+takes a string, and sets the remote repository location. The C<prompt> variable
+takes a string, and sets the current default prompt.
 
 If I<var> or then I<val> is not specified, it is prompted for.
 
@@ -8899,7 +8917,7 @@
 distribution (L<http://tug.org/texlive>) and both are licensed under the
 GNU General Public License Version 2 or later.
 
-$Id: tlmgr.pl 44836 2017-07-17 23:59:48Z preining $
+$Id: tlmgr.pl 44958 2017-08-05 09:14:35Z hironobu $
 =cut
 
 # to remake HTML version: pod2html --cachedir=/tmp tlmgr.pl >/tmp/tlmgr.html

Modified: trunk/Master/texmf-dist/doc/latex/lwarp/README.txt
===================================================================
--- trunk/Master/texmf-dist/doc/latex/lwarp/README.txt	2017-08-08 20:41:36 UTC (rev 44987)
+++ trunk/Master/texmf-dist/doc/latex/lwarp/README.txt	2017-08-08 20:42:15 UTC (rev 44988)
@@ -1,5 +1,5 @@
 
-LaTeX lwarp package v0.33   README.txt
+LaTeX lwarp package v0.34   README.txt
 
 Files included are:
 
@@ -6,12 +6,12 @@
 lwarp.pdf: The documentation.
 lwarp_tutorial.txt: More documentation.  A sample tutorial.
 lwarpmk.lua: A utility program which compiles print or HTML versions.
+lwarp_mathjax.txt: A script inserted when MathJax is used.
 lwarp.dtx: The documented source code.
-lwarp.ins: The documentaiton driver.
+lwarp.ins: The documentation driver.
 
 Derived by compiling lwarp.ins:
 lwarp.sty: The lwarp package.
-lwarp-newproject.sty: Locally generates configuration files per project.
 lwarp-*.sty: Numerous compatibility files for other packages.
 
 

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	2017-08-08 20:41:36 UTC (rev 44987)
+++ trunk/Master/texmf-dist/scripts/lwarp/lwarpmk.lua	2017-08-08 20:42:15 UTC (rev 44988)
@@ -4,7 +4,7 @@
 
 -- Print the usage of the lwarpmk command:
 
-printversion = "v0.33"
+printversion = "v0.34"
 
 function printhelp ()
 print ("lwarpmk: Use lwarpmk -h or lwarpmk --help for help.") ;
@@ -304,7 +304,7 @@
     err=os.execute ( "latexmk -pdf -dvi- -ps- -recorder "
         .. "-e "
         .. opquote
-        .. "$makeindex = q/"
+        .. "$makeindex = q/" -- $
         .. xindycmd
         .. "  -M " .. xdyfile
         .. "  -L " .. language .. " /"

Modified: trunk/Master/texmf-dist/source/latex/lwarp/lwarp.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/lwarp/lwarp.dtx	2017-08-08 20:41:36 UTC (rev 44987)
+++ trunk/Master/texmf-dist/source/latex/lwarp/lwarp.dtx	2017-08-08 20:42:15 UTC (rev 44988)
@@ -16,7 +16,7 @@
 % \iffalse
 %<package>\NeedsTeXFormat{LaTeX2e}[1999/12/01]
 %<package>\ProvidesPackage{lwarp}
-%<package>    [2017/07/10 v0.33  Allows LaTeX to directly produce HTML5 output.]
+%<package>    [2017/08/08 v0.34  Allows LaTeX to directly produce HTML5 output.]
 %
 %<*driver>
 \documentclass{ltxdoc}
@@ -182,7 +182,8 @@
 \newcommand{\env}[1]{\texttt{#1}}
 \newcommand{\pkg}[1]{\textsf{#1}}
 \newcommand{\acro}[1]{\textsc{\lowercase{#1}}}
-\newcommand{\tag}[1]{\texttt{<#1>}}
+\newcommand{\element}[1]{\texttt{<#1>}}
+\newcommand{\attribute}[1]{\texttt{#1}}
 
 \newcommand{\TOC}{\acro{TOC}}
 \newcommand{\LOF}{\acro{LOF}}
@@ -310,6 +311,16 @@
 for page number references.
 }
 
+\newcommand{\limitshyperlinks}{%
+\pkg{lwarp} emulates \pkg{hyperref}, including the creation of active hyperlinks,
+but does not require that \pkg{hyperref} be loaded by the document.
+
+\pkg{lwarp} can also load \pkg{url}, but \pkg{url} should not be used at the
+same time as \pkg{hyperref}, since they both define the \cs{url} command.
+\pkg{lwarp} does not (yet) attempt to convert \pkg{url} links into hyperlinks
+during \HTML\ output, nor does \pkg{url} create hyperlinks during print output.
+}
+
 \newcommand{\limitsabstract}{%
 \pkg{abstract} is supported.
 If using the \texttt{number} option with file splits,
@@ -324,6 +335,25 @@
 \newcommand{\limitstext}{\cs{textbf}, etc.\ are supported,
 but \cs{bfseries}, etc.\ are not yet supported.}
 
+\newcommand{\limitshspace}{%
+\DescribeMacro{\hspace}%
+\index{space>horizontal}%
+\index{horizontal space}%
+\cs{hspace} is converted to an inline \HTML\ span of the given width,
+except that \texttt{0} width is ignored,
+a width of \texttt{.16667em} is converted to
+an \HTML\ thin breakable space (\texttt{U+2009}),
+and a \cs{fill} is converted to a \cs{qquad}.
+
+\index{\texttt{\textasciitilde}}%
+\DescribeMacro{\,}%
+\texttt{\~} and \cs{,} are converted to \HTML\ entities.
+
+\DescribeMacro{\kern}%
+\DescribeMacro{\hskip}%
+\cs{kern} and \cs{hskip} are treated as a single normal space.
+}
+
 \newcommand{\limitsreferences}{%
 \cs{nameref} refers to the most recently-used section where the \cs{label}
 was defined.  If no section has been defined before the \cs{label},
@@ -409,7 +439,7 @@
 The \SVG\ format is a scalable-vector web format, so math may be typeset by \LaTeX{}
 with its fine control and precision, then displayed or printed at any size,
 depending on (sometimes broken) browser support.
-An \HTML\ \texttt{ALT} tag carries the \LaTeX{} code which generated the
+An \HTML\ \attribute{alt} attribute carries the \LaTeX{} code which generated the
 math, allowing copy/paste of the \LaTeX{} math expression into other documents.
 
 \limitslateximagefontsize
@@ -624,16 +654,18 @@
 
 \newcommand{\limitstabular}{%
 \begin{itemize}
-\item When defining environments or macros which include \env{tabular} plus
-	\margintag{misplaced alignment alignment tab character \&}
+\item When defining environments or macros which include \env{tabular}
+	plus\watchout[misplaced alignment alignment tab character \&]
 	\index{alignment tab character \&, misplaced}
 	\index{misplaced alignment tab character \&}
 	instances of the \texttt{\&} character, it may be
 	necessary to make \texttt{\&} active before the environment or macro is defined,
-	then restore \texttt{\&} to its default catcode after, using the following commands: \\
-	\hspace*{.375in} \cs{StartDefiningTabulars} \\
-	\hspace*{.375in} <define macros or environments using \env{tabular} and \texttt{\&} here> \\
-	\hspace*{.375in} \cs{EndDefiningTabulars}
+	then restore \texttt{\&} to its default catcode after, using the following commands:
+	\begin{sourcedisplay}
+	\cs{StartDefiningTabulars} \\
+	<define macros or environments using \env{tabular} and \texttt{\&} here> \\
+	\cs{EndDefiningTabulars}
+	\end{sourcedisplay}
 
 \item Vertical rules are not yet supported.
 	\margintag{column types}
@@ -748,15 +780,15 @@
 }
 
 \newcommand{\limitsminipage}{%
-Minipages and parboxes will be placed side-by-side in \HTML
-unless you place a \cs{newline} between them.
-\margintag{placement}
-
 A line of text with an inline minipage
 \watchout[inline]
 or parbox will have the minipage or parbox placed onto its own line,
 because a paragraph is a block element and cannot be made \texttt{inline-block}.
 
+Minipages and parboxes will be placed side-by-side in \HTML\
+\margintag{placement}
+unless you place a \cs{newline} between them.
+
 Side-by-side minipages may be separated by \cs{quad}, \cs{qquad}, \cs{enskip},
 \margintag{side-by-side}
 \cs{hspace}, \cs{hfill}, or a \cs{rule}.
@@ -765,10 +797,12 @@
 side-by-side minipages and these spacing commands, but not at the start or end
 of the paragraph.
 
-There is limited support for minipages inside an \HTML\ \tag{span}.
+There is limited support for minipages inside an \HTML\ \element{span}.
 \margintag{in a span}
-An \HTML\ \tag{div} cannot appear inside a \tag{span}.
-While in a \tag{span}, minipages and parboxes are ignored.
+An \HTML\ \element{div} cannot appear inside a \element{span}.
+While in a \element{span}, minipages, and parboxes, and any enclosed lists
+have limited \HTML\ tags, resulting in an ``inline'' format, without markup
+except for \HTML\ breaks.
 Use \cs{newline} or \cs{par} for an \HTML\ break.
 
 When using \cs{linewidth}, \cs{textwidth}, and \cs{textheight},
@@ -782,7 +816,7 @@
 A new macro \cs{minipagefullwidth} requests
 \margintag{full-width minipages}
 that the next minipage be generated
-without an \HTML\ \texttt{width} tag, allowing it to be the full width of
+without an \HTML\ \attribute{width} attribute, allowing it to be the full width of
 the display rather than the fixed width given.
 
 Nested minipages adopt their parent's text alignment in \HTML,
@@ -792,6 +826,70 @@
 to force a text alignment.
 }
 
+\newcommand{\limitsfancybox}{%
+\pkg{fancybox}'s documentation has an example \env{FramedEqn} environment
+\margintag{framed equation example}
+which combines math, \cs{Sbox}, a minipage, and an \cs{fbox}.
+This combination requires that the entire
+environment be enclosed inside a \env{lateximage}, which is done by
+adding \cs{lateximage} at the very start of \env{FramedEqn}'s beginning code, and
+\cs{endlateximage} at the very end of the ending code.
+Unfortunately, the \HTML\ \attribute{alt} attribute is not used here.
+\begin{sourcedisplay}
+\cs{newenvironment}{FramedEqn} \\
+\{ \\
+\cs{lateximage}\% NEW \\
+\cs{setlength}\{\cs{fboxsep}\}\{15pt\} \\
+\dots\}\{\dots\\
+\cs{[}\cs{fbox}\{\cs{TheSbox}\}\cs{]} \\
+\cs{endlateximage}\% NEW \\
+\}
+\end{sourcedisplay}
+
+\cs{fbox} works with \pkg{fancybox}.
+\margintag{framing alternatives}
+Also see \pkg{lwarp}'s \cs{fboxBlock} macro and \env{fminipage} environment for
+alternatives to \cs{fbox} for framing environments.
+
+The \pkg{fancybox} documentation's example framed table
+\margintag{framed table example}
+using an \cs{fbox} containing a \env{tabular}
+does not work with \pkg{lwarp}, but the \env{FramedTable} environment does work if
+\cs{fbox} is replaced by \cs{fboxBlock}.  This method loses \HTML\ formatting.
+A better method is to enclose the table's contents inside a \env{fminipage} environment.
+The caption may be placed either inside or outside the \env{fminipage}:
+\begin{sourcedisplay}
+\cs{begin}\{table\}\\
+\cs{begin}\{fminipage\}\{\cs{linewidth}\}\\
+\cs{begin}\{tabular\}\{lr\}\\
+...\\
+\cs{end}\{tabular\}\\
+\cs{end}\{fminipage\}\\
+\cs{end}\{table\}\\
+\end{sourcedisplay}
+
+\pkg{lwarp} does not support the \env{verbatim} environment inside a span, box,
+\margintag{framed verbatim}
+or \pkg{fancybox}'s \cs{Sbox}, but a \env{verbatim} may be placed inside
+a \env{fminipage}.  The \pkg{fancybox} documentation's example \env{FramedVerb}
+may be defined as:
+\begin{sourcedisplay}
+\cs{newenvironment}\{FramedVerb\}[1] \% width\\
+\{\\
+\cs{VerbatimEnvironment}\\
+\cs{fminipage}\{\#1\}\\
+\cs{begin}{Verbatim}\\
+\}\{\\
+\cs{end}{Verbatim}\\
+\cs{endfminipage}\\
+\}
+\end{sourcedisplay}
+
+
+\pkg{fancybox}'s \cs{VerbBox} may be used inside \cs{fbox}.
+\margintag{framed \cs{VerbBox}}
+}
+
 \newcommand{\limitsmdframed}{%
 Most basic functionality is supported, including
 \margintag{support}
@@ -895,23 +993,43 @@
 \watchout[per-mode]
 }
 
-
-\newcommand{\limitsbabelone}{%
-If using \pkg{babel} with French, use
-\watchout[French]%
-\begin{sourcedisplay}
-\cs{frenchbsetup\{StandardLists=true\}}
-\end{sourcedisplay}
-to preserve the special \HTML\ and \pkg{enumitem} list handling.
+\newcommand{\limitsnicefrac}{%
+\pkg{units} and \pkg{nicefrac} work as-is with \pkg{lwarp}, but
+MathJax does not have an extension for \pkg{units} or \pkg{nicefrac}.
+These packages do work with \pkg{lwarp}'s option \texttt{svgmath}.
 }
 
+
+% \newcommand{\limitsbabelone}{%
+% If using \pkg{babel} with French, use
+% \watchout[French]%
+% \begin{sourcedisplay}
+% \cs{frenchbsetup\{StandardLists=true\}}
+% \end{sourcedisplay}
+% to preserve the special \HTML\ and list handling.
+% }
+
 \newcommand{\limitsbabeltwo}{%
-Also, when French is used, the caption separator is
+When French is used, the caption separator is
 \margintag{\cs{CaptionSeparator}}
 changed to a dash.  The following may be used to restore it to a colon:
 \begin{sourcedisplay}
 \texttt{\cs{renewcommand}*\{\cs{CaptionSeparator}\}\{:\textasciitilde\}}
 \end{sourcedisplay}
+
+Also when French is used,
+\margintag{punctuation spaces}
+\pkg{lwarp} patches \cs{FBcolonspace} and \cs{FBthinspace} to create
+fixed-width \HTML\ spaces around punctutation:
+\begin{sourcedisplay}
+\cs{renewcommand*}\{\cs{FBcolonspace}\}\{\~{}\} \\
+\cs{renewcommand*}\{\cs{FBthinspace}\}\{\cs{,}\}
+\end{sourcedisplay}
+If the user's document also changes these parameters,
+\watchout[customized spacing]
+the user's changes
+should be placed inside a \env{warpprint} environment so that the user's
+changes do not affect the \HTML\ output.
 }
 
 \newcommand{\limitsnewclude}{%
@@ -942,26 +1060,6 @@
 \end{enumerate}
 }
 
-\newcommand{\limitsenumitem}{%
-\pkg{enumitem} is pre-loaded during \HTML\ output.
-\margintag{enumitem}
-Many of the spacing options are rendered irrelevant by \cmds{pdftotext} and
-\HTML.  Numbering, labels, and \cs{newlist} function correctly.
-}
-
-\newcommand{\limitsenumerate}{%
-\pkg{enumerate} conflicts with \pkg{enumitem} if both are loaded
-at the same time, but \pkg{lwarp} does not actually load \pkg{enumerate}.
-While generating \HTML, \pkg{lwarp} only loads \pkg{enumitem}, and
-\pkg{enumerate} is simulated by \pkg{enumitem} using
-the functionality of the \texttt{shortlabels} option.
-
-A problem may occur during print output if \pkg{enumitem} is loaded,
-either manually or by some other package such as \pkg{siunitx}.
-If these are used, \pkg{enumerate} will conflict with \pkg{enumitem}
-during print output.
-}
-
 \newcommand{\limitsglossaries}{%
 \texttt{xindy} is required for \pkg{glossaries}.
 
@@ -1026,7 +1124,7 @@
 %<*package>
 % \fi
 %
-% \CheckSum{0}
+% \CheckSum{12319}
 %
 % \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
@@ -1098,6 +1196,9 @@
 % \changes{v0.31}{2017/05/15}{\ 2017/05/15}
 % \changes{v0.32}{2017/06/09}{\ 2016/06/09}
 % \changes{v0.33}{2017/07/10}{\ 2017/07/10}
+% \changes{v0.34}{2017/08/08}{\ 2017/08/08}
+% \changes{v0.34}{2017/07/25}{File: \texttt{README.txt}: updated.}
+% \changes{v0.34}{2017/07/25}{Docs: Horizontal space limitations.}
 
 
 
@@ -1148,7 +1249,7 @@
 % using external utility programs only for the final conversion of text and images.
 % Math may be represented by \SVG\ files or MathJax.
 %
-% Documents may be produced by \LaTeX, \LuaLaTeX, or \XeLaTeX.
+% Documents may be produced by pdf\LaTeX, \LuaLaTeX, or \XeLaTeX.
 % A |texlua| script removes the need for system utilities such as |make| and |gawk|,
 % and also supports |xindy| and |latexmk|.  Configuration is automatic at the
 % first manual compile.
@@ -1159,8 +1260,8 @@
 %
 % A modular package-loading system uses the \pkg{lwarp} version of a package for
 % \HTML\ when available.
-% Several dozen \LaTeX\ packages are supported with these high-level source
-% compatibility replacements.
+% More than a hundred \LaTeX\ packages are supported with these high-level source
+% compatibility replacements, and many others work as-is.
 %
 % A tutorial is provided to quickly introduce the user to the major components
 % of the package.
@@ -1232,6 +1333,67 @@
 % For a detailed list of changes, see the Change History on page \pageref{sec:changehistory}.
 %
 % \begin{description}
+% \item[v0.34:] \
+%	\begin{itemize}
+%	\item \env{BlockClass}'s optional argument has been moved
+%		\watchout[Optional arguments]
+%		in front of the mandatory argument:
+%		\begin{sourcedisplay}
+%		|BlockClass[style]{class}| \quad \textrm{(NEW)}
+%		\end{sourcedisplay}
+%		instead of:
+%		\begin{sourcedisplay}
+%		|BlockClass{class}[style]| \quad \textrm{(OLD)}
+%		\end{sourcedisplay}
+%		This change makes it more consistent with \LaTeX\ standards,
+%		and avoids problems with space between arguments.
+%	\item Likewise, \cs{InlineClass}'s optional argument now
+%		\watchout[Optional arguments]
+%		comes before the mandatory arguments:
+%		\begin{sourcedisplay}
+%		|\InlineClass[style]{class}{text}|
+%		\end{sourcedisplay}
+%	\item Improved compatibility between spans, minipages, lists,
+%		\margintag{spans with minipages}
+%		frames, and math.
+%		Handles minipages and lists inside an \HTML\ span,
+%		such as an \cs{fbox} containing a minipage,
+%		although with minimal \HTML\ fomatting.
+%		See \cref{sec:minipages}.
+%		\cs{fboxBlock} is added to frame minipages, tables,
+%		\margintag{framing minipages}
+%		and lists with full \HTML\ formatting
+%		but no longer inline, and behaves as \cs{fbox} for print output.
+%		The \env{fminipage} environment is added for framed minipages,
+%		as an environment with full \HTML\ formatting,
+%		and draws a framed minipage in print output.
+%		See \cref{sec:framedminipages}.
+%		\cs{fbox} and minipages now often work in \SVG\ math and \env{lateximage}s.
+%		MathJax supports \cs{fbox}, but not \cs{fboxBlock} nor \env{fminipage}.
+%	\item Improved compatibility between \env{lateximage} and
+%		\margintag{lateximage, \SVG\ math, tabular}
+%		\env{minipage}, \cs{parbox}, \cs{makebox}, \cs{fbox}, \cs{framebox},
+%		\cs{raisebox}, \cs{scalebox}, \cs{reflectbox}, \env{tabular}, \pkg{booktabs}.
+%	\item Improved font control for \env{lateximage}es and \SVG\ math.
+%	\item Added the \env{eqnarray} environments.\margintag{eqnarray}
+%	\item \pkg{fancyvrb} is no longer required (preloaded),
+%		\margintag{verbatim packages}
+%		but is still supported.
+%	\item Added \pkg{verbatim} and \pkg{moreverb}.
+%	\item Added \pkg{fancybox}, \pkg{boxedminipage2e} and \pkg{shadow}.
+%		\margintag{framing packages}
+%	\item \pkg{enumitem} is no longer required, but is still supported.
+%		\margintag{list packages}
+%	\item Added \pkg{enumerate} and \pkg{paralist}.
+%	\item \pkg{titleps} is no longer required, but is still supported.
+%	\item Added \pkg{crop}.
+%	\item Added \pkg{rotfloat}, \pkg{marginfit},
+%		and several minor packages; see the change log.
+%	\item Adds fixed-width \HTML\ spaces around punctuation
+%		\margintag{babel-french}
+%		when using \pkg{babel-french}.
+%	\end{itemize}
+% \needspace{2\baselineskip}
 % \item[v0.33:] \
 %	\begin{itemize}
 %	\item Tabular |@| and |!| columns now have their own \HTML\ columns.
@@ -1354,7 +1516,7 @@
 %	\item \cs{HTMLAuthor} \marg{name} assigns \HTML\ meta author if non-empty.
 %		Defaults to \cs{theauthor}.
 %	\item Booean |HTMLDebugComments| controls whether \HTML\ comments are
-%		added for closing \tag{div}s, opening and closing sections, etc.
+%		added for closing \element{div}s, opening and closing sections, etc.
 %	\item Boolean |FormatEPUB| changes \HTML\ output for easy \EPUB\ conversion
 %		via an external program.
 %		Removes per-file headers, footers, and nav.  Adds footnotes per chapter/section.
@@ -1628,8 +1790,11 @@
 % 	Honors \cmds{tocdepth} and \cmds{secnumdepth}.
 % 	Adds \cmds{filedepth} for splitting the \HTML\ output.
 % 	Files may be numbered sequentially or named according to section name.
-% 	Common short words and punctuation is removed from the filenames. \\
-% Table of Contents, Figures, Tables: & Supported, with hyperlinks. \\
+% 	Common short words and punctuation is removed from the filenames. 
+%	Emulates \pkg{titlesec}. \\
+% Page layout: & Emulates \pkg{fancyhdr}, \pkg{titleps}. \\
+% Table of contents, figures, tables: & Supported, with hyperlinks.
+%	Emulates \pkg{titletoc} and \pkg{tocloft}. \\
 % Title page: & \cs{maketitle}, \env{titlepage}, \pkg{titling}.  Optional
 % 	\pkg{titling}-based commands for published and subtitle. \\
 % \env{abstract}: & Supported \\
@@ -1639,10 +1804,12 @@
 % 	\HTML\ hyperlinks are generated for \TOC, \LOF, \LOT,
 % 	\cs{nameref}, \cs{ref},
 % 	the \pkg{cleveref} commands, and index entries.\\
+% \pkg{url}: & Supported, without hyperlinks so far. \\
 % \midrule
+% Margin notes: & \pkg{marginfit}, \pkg{marginfix}. \\
 % Footnotes: & \pkg{footnote}, \pkg{footmisc},
 %	\pkg{marginnote}, \pkg{sidenote}, \pkg{pagenote}, \pkg{endnotes}. \\
-% Indexing: & \cmds{texindy} is used, with hyperlinks. \\
+% Indexing: & \cmds{texindy} is used, with hyperlinks. \pkg{idxlayout} is emulated. \\
 % Glossary: & \pkg{glossaries} and \cmds{xindy} are used. \\
 % Bibliography: & Supported, without hyperlinks so far. \\
 % \midrule
@@ -1656,7 +1823,7 @@
 %	\pkg{theorem}, \pkg{amsthm}, \pkg{ntheorem}. \\
 % \midrule
 % Floats: & Appear where declared.
-%	\pkg{float}, \pkg{newfloat}, \pkg{caption} and \pkg{subcaption},
+%	\pkg{float}, \pkg{rotfloat}, \pkg{newfloat}, \pkg{caption} and \pkg{subcaption},
 %	\pkg{subfig}, \pkg{capt-of}, \pkg{placeins}, \pkg{trivfloat}, \pkg{floatrow},
 %	\pkg{keyfloat}, \pkg{wrapfig}, \pkg{cutwin}, \pkg{floatflt}. \\
 % \midrule
@@ -1683,8 +1850,9 @@
 % \cs{rotatebox} and \cs{scalebox} are supported as well as \HTML\ can handle. \\
 % \pkg{rotating}: & Emulated.  All objects are displayed unrotated. \\
 % \midrule
-% Lists: & Supported \\
-% \pkg{enumitem}: & Supported, although spacing is still controlled by \CSS. \\
+% Lists: & Standard \LaTeX\ environments are supported, along with
+%	\pkg{enumitem}, \pkg{enumerate}, \pkg{paralist}.
+%	Spacing is still controlled by \CSS. \\
 % \midrule
 % Environments: & Standard \LaTeX{} environments are supported. \\
 % \pkg{picture} and \pkg{tikz}: & Converted to an \SVG\ image. \\
@@ -1691,8 +1859,8 @@
 % \env{minipage}: & Supported with some \HTMLfive-imposed limitations.
 %	Nested minipages are supported.
 % 	Footnotes appear at the bottom of the \HTML\ page. \\
-% \pkg{fancyvrb}: & Supported except for verbatim footnotes. \\
-% \pkg{framed}, \pkg{mdframed}: & Supported \\
+% Verbatim: & \pkg{verbatim}, \pkg{moreverb}, \pkg{fancyvrb} (except for verbatim footnotes). \\
+% Frames: & \pkg{framed}, \pkg{fancybox}, \pkg{mdframed}, \pkg{boxedminipage2e}, \pkg{shadow}. \\
 % \pkg{multicol}: & Emulated, with \CSSthree.
 % Converted to up to three columns with an optional heading,
 % per browser support. Single-column if unsupported.\\
@@ -1736,7 +1904,7 @@
 %
 %
 % Supported packages include everything listed in the table of contents,
-% plus each of the following in \cref{tab:additionalsupported},
+% plus the packages listed in \cref{tab:additionalsupported},
 % and probably others which have not yet been tested.
 % Many are simply nullfied during \HTML\ output.
 % Others are not affected by the output mode and thus work as-is.
@@ -1748,11 +1916,11 @@
 % \sffamily
 % babel, bm,
 % calc, cleveref, csquotes,
-% enumitem,
 % fancyvrb, fileerr,
-% newtxmath,
+% newtxmath, nicefrac
 % siunitx, somedefs,
 % tikz, trace,
+% units, url,
 % varioref,
 % xspace
 % \end{table}
@@ -2588,7 +2756,7 @@
 %
 % By default \pkg{lwarp} represents math as \SVG\ images with
 % \margintag{math as \SVG\ images}
-% the \LaTeX\ source included in |alt| tags.  In this way,
+% the \LaTeX\ source included in \attribute{alt} attributes.  In this way,
 % the math displays as it was drawn by \LaTeX, and the \LaTeX\ source
 % may be copied and pasted into some other document.
 %
@@ -2904,7 +3072,7 @@
 %	Defaults to \cs{theauthor}.
 %
 % \ItemDescribeMacro{\HTMLDescription} \marg{description} \quad
-%	Sets the \HTML\ description tag for
+%	Sets the \HTML\ \attribute{description} tag for
 %	the following files.  May be changed before each each sectioning command which would
 %	cause a file split.
 %
@@ -3379,8 +3547,6 @@
 %
 % \begin{itemize}
 % \item Paragraph formatting: \cs{parindent} \cs{parskip}
-% \item Variable spaces such as \cs{vspace}.  \cs{hfill} is turned into a \cs{quad}.
-%  Fixed spaces such as \cs{quad} are emulated correctly.
 % \item Manual page positions such as the \pkg{textpos} package, which is
 %	emulated but only in a limited way.
 % \end{itemize}
@@ -3392,88 +3558,8 @@
 % Also see \cref{sec:troubleshooting}: \nameref{sec:troubleshooting}.
 %
 %
-% \subsection{Commands for a successful HTML conversion}
-% \label{sec:successfulcommands}
-% \index{HTML>commands for a successful conversion}
 %
-% \changes{v0.14}{2016/03/26}{Docs: Commands for a successful \HTML\ conversion.}
 %
-% Some commonly-used \LaTeX{} expressions should be modified to allow
-% for a smooth conversion to both \HTML\ and print-formatted outputs:
-%
-% \begin{description}
-%
-% \item [Page references:] The printed page does not translate to the \HTML\
-% page, so references to page numbers are converted to parentheses containing
-% \cs{pagerefPageFor}, which defaults to ``see '',
-% followed by a hyperlink to the appropriate
-% object.  Ex: ``Sec.~\textcolor{red}{1.23}
-% on page (see sec.~\textcolor{red}{1.23})''.
-% \cs{pagerefPageFor} may be redefined to ``page for '', empty, etc.
-%
-% \item [\cs{bfseries}, etc:] Use \cs{textbf} instead.
-% \item [\cs{centering}, \cs{raggedright}, \cs{raggedleft}:] ~
-%
-% Use the environments \env{center}, \env{flushright}, \env{flushleft} instead.
-%
-% \item [Superscripts and other non-math uses of math mode:] ~
-%
-%	Use \cs{textsuperscript\{x\}} instead of |$^{x}$|
-%
-% \item [Empty \cs{item} followed by a new line of text or a nested list:] \
-%
-%	Use a trailing backslash: |\item[label] \|
-%	\index{item, list, empty}\index{list item, empty}
-%
-% \item [Filenames in lists:] \
-%
-%	Escape underscores in
-%	\margintag{filename underscore}
-%	the filenames:
-%	\begin{sourcedisplay}
-%	|\item[\href{file\_name.pdf}{text}]|
-%	\end{sourcedisplay}
-%	\index{underscore>filename}\index{file>underscore}
-%	\changes{v0.24}{2017/03/13}{Docs: Filename underscore.}
-%
-% \item [Side-by-side minipages:] \
-%
-%	Place side-by-side minipages inside a |center| environment,
-%	with horizontal space between them, such as \cs{quad}, \cs{qquad},
-%	\cs{hspace}, or \cs{hfill}.  The result is similar in print and
-%	\HTML.  Do not use space commands at the start or end of the line.
-%
-% \item [\cs{fbox} around a minipage:] ~
-%
-%	\cs{fbox} can only be used around inline items during
-%	\HTML\ output.
-%
-%	For an \cs{fbox} around a minipage, you may:
-%	\index{fbox>around a minipage}
-%	\index{minipage>in an \cs{fbox}}
-%	\begin{itemize}
-%	\item Place the \cs{fbox} command and
-%		its closing brace inside \env{warpprint} environments.
-%	\item Use \cs{mdframed} instead.
-% ^^A	\item Use the \env{example} or \env{sidebar} environments.
-%	\item Use a custom environment to create a sidebar,
-%		containing a \env{BlockClass} environment
-%		with custom \CSS\ formatting,
-%		 and |\warpprintonly{\hrule}| command:
-% \begin{Verbatim}[gobble=2,frame=lines]
-% \begin{BlockClass}{frameminipage}% ignored in print output
-%   % use CSS to format div class ``framedminipage''
-% \warpprintonly{\hrule} % only appears in print output
-% Contents
-% \warpprintonly{\hrule} % only appears in print output
-% \end{BlockClass}
-% \end{Verbatim}
-% \end{itemize}
-% \end{description}
-%
-% Also see \cref{sec:troubleshooting}: \nameref{sec:troubleshooting}.
-%
-%
 % 
 %
 % \subsection{Title page}
@@ -3501,7 +3587,7 @@
 %
 % \DescribeEnv{titlepage}
 % The \env{titlepage} environment may be used to hold a custom title page.
-% The titlepage will be set in a \tag{div} class |titlepage|, and \cs{printtitle}, etc.\ may be used
+% The titlepage will be set in a \element{div} class |titlepage|, and \cs{printtitle}, etc.\ may be used
 % inside this environment.
 %
 % \DescribeEnv{titlingpage}
@@ -3514,31 +3600,31 @@
 % file break and \CSS\ detection.
 % \watchout
 % Use the |\subtitle| command instead.
-% In \HTML, the title will appear in a heading |h1|.
+% In \HTML, the title will appear in a heading \element{h1}.
 %
 % \DescribeMacro{\author} \marg{author}
 %
 % In |\author|, use |\protect| before formatting commands such as |\textsc|.
 % \watchout
-% In \HTML, the author will appear in a \tag{div} class |author|.
+% In \HTML, the author will appear in a \element{div} class |author|.
 % \cs{affiliation} is a new addition to \pkg{lwarp}.
 %
 % \DescribeMacro{\date} \marg{date}
 %
 % |\date| works as expected.
-% In \HTML, this will appear in a \tag{div} class |titledate|.
+% In \HTML, this will appear in a \element{div} class |titledate|.
 %
 % \DescribeMacro{\subtitle} \marg{subtitle}
 %
 % A new command which sets a subtitle.  Newlines are allowed.
 % The default is empty.
-% In \HTML, this will appear in a \tag{div} class |subtitle|.
+% In \HTML, this will appear in a \element{div} class |subtitle|.
 %
 % \DescribeMacro{\published} \marg{published}
 %
 % A new command which sets a publisher.
 % The default is empty.
-% In \HTML, this will appear in a \tag{div} class |published|.
+% In \HTML, this will appear in a \element{div} class |published|.
 %
 %
 % \DescribeMacro{\thanks} \marg{text}
@@ -3584,7 +3670,7 @@
 % \index{author>HTML meta tag}
 % \index{meta tag, HTML>author}
 % \DescribeMacro{\HTMLAuthor} \marg{author} \quad Sets the contents
-%	of the web page \tag{meta name="author"} tag.
+%	of the web page \element{meta name="author"} element.
 %	Defaults to |\HTMLAuthor{\theauthor}|.
 %	May be set empty to cancel the meta author tag.
 %
@@ -3661,10 +3747,64 @@
 % \subsection{Special cases and limitations}
 % \label{sec:limitations}
 %
+%
+% \label{sec:successfulcommands}
+% \index{HTML>commands for a successful conversion}
+%
+% \changes{v0.14}{2016/03/26}{Docs: Commands for a successful \HTML\ conversion.}
+%
+% Also see \cref{sec:troubleshooting}: \nameref{sec:troubleshooting}.
+%
+% Some commonly-used \LaTeX{} expressions should be modified to allow
+% for a smooth conversion to both \HTML\ and print-formatted outputs:
+%
+%
+% \subsubsection{Page references} The printed page does not translate to the \HTML\
+% page, so references to page numbers are converted to parentheses containing
+% \cs{pagerefPageFor}, which defaults to ``see '',
+% followed by a hyperlink to the appropriate
+% object.  Ex: ``Sec.~\textcolor{red}{1.23}
+% on page (see sec.~\textcolor{red}{1.23})''.
+% \cs{pagerefPageFor} may be redefined to ``page for '', empty, etc.
+%
+%
 % \subsubsection{Text formatting}
 %
 % \limitstext
 %
+% \subsubsection{Horizontal space}
+%
+% \limitshspace
+%
+%
+% \subsubsection{Text alignment}
+%
+% Use the environments \env{center}, \env{flushright}, \env{flushleft} instead
+% of the macros \cs{centering}, \cs{raggedright}, \cs{raggedleft}.
+%
+%
+% \subsubsection{Superscripts and other non-math uses of math mode}
+%
+%	Use \cs{textsuperscript\{x\}} instead of |$^{x}$|
+%
+% \subsubsection{Empty \cs{item} followed by a new line of text or a nested list:}
+%
+%	Use a trailing backslash: |\item[label] \|
+%	\index{item>empty}\index{list item, empty}
+%
+% \subsubsection{Filenames in lists}
+%
+%	\index{underscore>filename}\index{file>underscore}
+%	\changes{v0.24}{2017/03/13}{Docs: Filename underscore.}
+%	Escape underscores in
+%	\margintag{filename underscore}
+%	the filenames:
+%	\begin{sourcedisplay}
+%	|\item[\href{file\_name.pdf}{text}]|
+%	\end{sourcedisplay}
+%
+%
+%
 % \subsubsection{Cross-references}
 %
 % \limitsreferences
@@ -3675,7 +3815,11 @@
 %
 % \limitspageref
 %
+% \subsubsection{Hyperlinks, \pkg{hyperref}, and \pkg{url}}
 %
+% \limitshyperlinks
+%
+%
 % \subsubsection{Footnotes and page notes}
 %
 % \limitsfootnotes
@@ -3706,7 +3850,7 @@
 %
 %
 % \subsubsection{Tabular}
-% 
+% \label{sec:limitstabular}
 % \limitstabular
 %
 %
@@ -3723,10 +3867,102 @@
 %
 %
 % \subsubsection{Minipages}
+% \label{sec:minipages}
 %
 % \limitsminipage
 %
 %
+% \subsubsection{Side-by-side minipages}
+%
+%	Place side-by-side minipages inside a |center| environment,
+%	with horizontal space between them, such as \cs{quad}, \cs{qquad},
+%	\cs{hspace}, or \cs{hfill}.  The result is similar in print and
+%	\HTML.  Do not use space commands at the start or end of the line.
+%
+% \subsubsection{Framed minipages and other environments}
+%	\label{sec:framedminipages}
+%
+%	\cs{fbox} can only be used around inline \element{span} items during
+%	\HTML\ output, but \HTML\ cannot place a block element such as a \element{div} for a minipage
+%	or a list inside of a \element{span}.  Several options are provided for framing an object,
+%	depending on which kind of object and which packages are loaded:
+%
+%	For a framed object, options include:
+%	\DescribeMacro{\fbox}
+%	\DescribeMacro{\fboxBlock}
+%	\DescribeEnv{fminipage}
+%	\index{fbox>around a minipage}
+%	\index{minipage>framed}
+%	\index{framed objects}
+%	\begin{description}[style=unboxed]
+%	\item [To remove the frame in HTML output:] Place the \cs{fbox} command and
+%		its closing brace inside \env{warpprint} environments.
+%		This will nullify the frame for \HTML\ output.
+%	\item [To frame the contents inline with some formatting losses in HTML:]
+%		This is the default action of \cs{fbox} when enclosing a minipage.
+%		\margintag{For inline text:}
+%		During \HTML\ output, \cs{fbox} nullifies the \HTML\ tags
+%		for \env{minipage}, \cs{parbox},
+%		and lists.  The contents are included as inline text inside the
+%		\cs{fbox}'s \element{span} of class |framebox|.
+%		For lists, line breaks are converted to \HTML\ breaks.
+%		The result is a plain-text inline version of the contents, framed inline
+%		with the surrounding text, but lacking any extra \HTML\ markup.
+%	\item [To frame the contents on their own line with improved formatting in HTML:] A new
+%		command \cs{fboxBlock} is included,
+%		\margintag{For inline \env{minipage} and lists:}
+%		intended to be a direct replacement
+%		for \cs{fbox} for cases where the \cs{fbox} surrounds a minipage, table, or list.
+%		For print output, this behaves as \cs{fbox}.
+%		For \HTML\ output, the contents are placed
+%		inside an \HTML\ \element{div} with the class |framed|, resulting in the contents
+%		being placed on their own line with a frame surrounding them.
+%		The contents preserve their \HTML\ formatting, so lists and minipages look nicer,
+%		and valid \HTML\ is created for a \env{tabular}.
+%		While an \cs{fbox} containing a \env{tabular} is valid \LaTeX\ code, the result
+%		in \HTML\ is problematic since a table is a \element{div} not a \element{span},
+%		so use \cs{fboxBlock} around a \env{tabular}, or else place the \env{tabular}
+%		inside a \env{minipage}, or use \env{fminipage}, described next.
+%		Also see below regarding the ``Misplaced alignment tab character \&'' error.
+%	\item [To create a framed minipage in both print and HTML:] A new environment \env{fminipage}
+%		\margintag{For display \env{tabular}, minipages, and lists:}
+%		is included.  For print output, this is identical to \env{minipage}, except that
+%		it is also framed.
+%		For \HTML\ output, this forms a \element{div} of class |framed|, the contents
+%		preserve their \HTML\ formatting, and valid \HTML\ is created for a \env{tabular}.
+%		Also see below regarding the ``Misplaced alignment tab character \&'' error.
+%	\item [To frame tables or verbatim environments:] Place the contents
+%		inside a \env{fminipage}, or perhaps a \cs{fboxBlock} for a \env{tabular}.
+%		Also, if using \cs{fboxblock} with \env{tabular},
+%		\watchout[Misplaced alignment tab character \&]
+%		you will have to use \cs{StartDefiningTabulars}
+%		before the start of the macro which uses \cs{fboxBlock} and the \env{tabular},
+%		and \cs{EndDefiningTabulars} afterwards.
+%		Also see the \pkg{lwarp} documentation for the \pkg{fancybox} package.
+%	\item [To frame equations:] See the \pkg{lwarp} documentation for the \pkg{fancybox} package.
+%	\item [For fancy framed minipages:] See packages \pkg{boxedminipage},
+%		\pkg{shadow}, \pkg{fancybox}, \pkg{framed}, \pkg{mdframed}.
+%	\item [Custom environments:] Use a custom environment to create a sidebar,
+%		containing a \env{BlockClass} environment
+%		with custom \CSS\ formatting,
+%		 and |\warpprintonly{\hrule}| command:
+% \begin{Verbatim}[gobble=2,frame=lines]
+% \begin{BlockClass}{frameminipage}% ignored in print output
+%   % use CSS to format div class ``framedminipage''
+% \warpprintonly{\hrule} % only appears in print output
+% Contents
+% \warpprintonly{\hrule} % only appears in print output
+% \end{BlockClass}
+% \end{Verbatim}
+% \end{description}
+%
+%
+%
+% \subsubsection{\pkg{fancybox} package}
+%
+% \limitsfancybox
+%
+% 
 % \subsubsection{\pkg{mdframed} package}
 %
 % \limitsmdframed
@@ -3768,6 +4004,13 @@
 % \limitssiunitx
 % 
 %
+% \subsubsection{\pkg{units} and \pkg{nicefrac} packages}
+%
+% \DescribePackage{units}
+% \DescribePackage{nicefrac}
+% \limitsnicefrac
+% 
+%
 % \subsubsection{\pkg{newclude} package}
 %
 % \changes{v0.14}{2016/03/29}{Docs: Newclude limitations.}
@@ -3785,7 +4028,7 @@
 % \subsubsection{\pkg{babel} package}
 %
 % \DescribePackage{babel}
-% \limitsbabelone
+% ^^A \limitsbabelone
 %
 % \limitsbabeltwo
 %
@@ -3797,21 +4040,11 @@
 % \limitsglossaries
 %
 %
-% \subsubsection{\pkg{enumitem} package}
 %
-% \DescribePackage{enumitem}
-% \limitsenumitem
-% 
 %
-% \subsubsection{\pkg{enumerate} package}
 %
-% \DescribePackage{enumerate}
-% \limitsenumerate
 %
 %
-%
-%
-%
 % \clearpage
 %
 % \section{EPUB conversion}
@@ -3824,10 +4057,10 @@
 % to \EPUB.
 %
 % To assign the author's name for regular \pkg{lwarp} \HTML\
-% \margintag{\tag{meta} author}
+% \margintag{\element{meta} author}
 % files, and also for the \EPUB,
 % use \cs{HTMLAuthor} \marg{name}.  This assigns the name to the
-% \tag{meta} author tag.  It may be set empty, and it defaults to
+% \element{meta} author element.  It may be set empty, and it defaults to
 % \cs{theauthor}.
 %
 % A special boolean is provided to simplify the process of
@@ -3879,8 +4112,8 @@
 % see \cref{tab:depthsheadings}.
 % For example, an |article|
 % class document would break at \cs{section}, which is mapped to \HTML\
-% heading level \tag{h4}, whereas a |book| class document would break at \cs{chapter},
-% which is \HTML\ heading level \tag{h3}.
+% heading level \element{h4}, whereas a |book| class document would break at \cs{chapter},
+% which is \HTML\ heading level \element{h3}.
 % For Calibre, this option is found in
 % \begin{UIdisplay}
 %	\textsf{Preferences $\to$ Conversion (Common Options) $\to$
@@ -3891,7 +4124,7 @@
 % \begin{UIdisplay}
 %	Math HTML tags with tag name:
 % \end{UIdisplay}
-% to \tag{h4}.  (Or \tag{h3} for document classes with \cs{chapter}s.)
+% to \element{h4}.  (Or \element{h3} for document classes with \cs{chapter}s.)
 % The \textsf{Detect chapters at} field should then show
 % \begin{UIdisplay}
 %	//h:h4 \qquad \textrm{---\,or\,---} \qquad //h:h3
@@ -3969,7 +4202,7 @@
 %	\item Forces single-file output.
 %	\item Turns off \HTML\ debugging comments.
 %		These are comments appearing inside the \HTML\ code,
-%		marking the opening/closing of sections and \tag{div}s,
+%		marking the opening/closing of sections and \element{div}s,
 %		but they are no longer useful when the document has been
 %		imported into a word processor.
 %	\end{itemize}
@@ -4127,6 +4360,7 @@
 %
 % \changes{v0.14}{2016/03/26}{Docs: Troubleshooting cross-references.}
 % \changes{v0.16}{2016/04/08}{Docs: Text not converting.}
+% \changes{v0.34}{2017/08/08}{Docs: Misplaced alignment character.}
 %
 % \begin{description}
 %
@@ -4136,10 +4370,19 @@
 %		See \cref{sec:fonts} regarding vector fonts.
 %	\end{itemize}
 %
-% \item [Undefined \HTML\ settings:] \
+% \item [Undefined HTML settings:] \
+%	\begin{itemize}
 %	\item See the warning regarding the placement of the \HTML\ settings
 %		at \cref{sec:htmlsettings}.
+%	\end{itemize}
 %
+% \item [Misplaced alignment character \&:] \
+%	\begin{itemize}
+%	\item If using \env{tabular} inside a \cs{fbox} or other macro,
+%		use \cs{StartDefiningTabulars} before the definition, and
+%		\cs{EndDefiningTabulars} after.  See \cref{sec:limitstabular}
+%	\end{itemize}
+%
 % \item [Obscure error messages:] ~
 %	\begin{itemize}
 %	\item Be sure that a print version of the document compiles and
@@ -4154,7 +4397,7 @@
 %		and the use of \cs{tableofcontents} in the home page.
 %	\end{itemize}
 %
-% \item [Missing \HTML\ files:] \
+% \item [Missing HTML files:] \
 %	\item See the warning regarding changes to the \HTML\ settings
 %		at \cref{sec:htmlsettings}.
 %
@@ -4343,16 +4586,16 @@
 % \toprule
 % Section & \parbox[c]{.35in}{\LaTeX{} depth} & \HTML\ headings \\
 % \midrule
-% title of the entire website & & h1 \\
+% title of the entire website & & \element{h1} \\
 % none			& -5	& new for this package \\
 % book			& -2	& \textbf{not yet used} \\
-% part			& -1	& h2 \\
-% chapter		& 0 	& h3 \\
-% section		& 1		& h4 \\
-% subsection	& 2		& h5 \\
-% subsubsection	& 3		& h6 \\
-% paragraph		& 4		& span class = "paragraph" \\
-% subparagraph	& 5		& span class = "subparagraph" \\
+% part			& -1	& \element{h2} \\
+% chapter		& 0 	& \element{h3} \\
+% section		& 1		& \element{h4} \\
+% subsection	& 2		& \element{h5} \\
+% subsubsection	& 3		& \element{h6} \\
+% paragraph		& 4		& \element{span class = "paragraph"} \\
+% subparagraph	& 5		& \element{span class = "subparagraph"} \\
 % listitem		& 7		& new for this package, used for list items \\
 % \bottomrule
 % \end{tabular}
@@ -4360,9 +4603,9 @@
 %
 % Support for the \pkg{memoir} package will require the addition of a |book|
 % level, which may push the \HTML\ headings down a step, and also cause
-% |subsubsection| to become a \tag{div} due to a limit of six \HTML\ headings.
+% |subsubsection| to become a \element{div} due to a limit of six \HTML\ headings.
 %
-% It is possible to use \HTMLfive{} \cmds{section} and \cmds{H1} for all levels,
+% It is possible to use \HTMLfive{} \element{section} and \element{h1} for all levels,
 % but this may not be well-recognized by older browsers.
 %
 % Fixed levels for parts and chapters allow the \CSS\ to remain fixed as well.
@@ -4476,6 +4719,13 @@
 %    \end{macrocode}
 
 
+% \DescribePackage{letltxmacro}
+% Used to redefine \cs{textbf} and friends.
+%
+%    \begin{macrocode}
+\RequirePackage{letltxmacro}
+%    \end{macrocode}
+%
 
 % \clearpage
 %
@@ -4899,9 +5149,11 @@
 %    \begin{macrocode}
 \newcommand*{\LWR at loadnever}[2]{%
 \PackageError{lwarp}
-{Package #1 does not work with lwarp's HTML conversion.
-Please use the #2 package instead}
-{Package #1 conflicts with lwarp in some way, but package #2 probably will work instead.}
+{Package #1 is not supported by lwarp's HTML conversion.
+Package(s) #2 may be useful instead}
+{Package #1 might conflict with lwarp in some way,
+or is superceded by another package.
+For a possible alternative, see package(s) #2.}
 }
 %    \end{macrocode}
 % \end{macro}
@@ -4922,10 +5174,15 @@
 \LWR at loadafter{algorithmicx}
 \LWR at loadafter{alltt}
 \LWR at loadafter{amsthm}
+\LWR at loadafter{array}
+\LWR at loadafter{balance}
 \LWR at loadafter{bookmark}
 \LWR at loadafter{booktabs}
+\LWR at loadafter{boxedminipage}
+\LWR at loadafter{boxedminipage2e}
 \LWR at loadafter{ccaption}
 \LWR at loadafter{changepage}
+\LWR at loadafter{crop}
 \LWR at loadafter{cutwin}
 \LWR at loadafter{dcolumn}
 \LWR at loadafter{draftwatermark}
@@ -4932,20 +5189,30 @@
 \LWR at loadafter{ellipsis}
 \LWR at loadafter{emptypage}
 \LWR at loadafter{enumerate}
+\LWR at loadafter{enumitem}
 \LWR at loadafter{epigraph}
 \LWR at loadafter{eso-pic}
 \LWR at loadafter{everypage}
+\LWR at loadafter{everyshi}
 \LWR at loadafter{extramarks}
+\LWR at loadafter{fancybox}
 \LWR at loadafter{fancyhdr}
-\LWR at loadafter{floatrow}
+\LWR at loadafter{fancyvrb}
+\LWR at loadafter{figcaps}
 \LWR at loadafter{float}
 \LWR at loadafter{floatflt}
+\LWR at loadafter{floatpag}
+\LWR at loadafter{floatrow}
+\LWR at loadafter{flushend}
 \LWR at loadafter{ftnright}
+\LWR at loadafter{fullpage}
 \LWR at loadafter{geometry}
 \LWR at loadafter{glossaries}
 % \LWR at loadafter{graphics}% pre-loaded by xunicode
 % \LWR at loadafter{graphicx}% pre-loaded by xunicode
 \LWR at loadafter{hyperref}
+\LWR at loadafter{hyperxmp}
+\LWR at loadafter{idxlayout}
 \LWR at loadafter{indentfirst}
 \LWR at loadafter{keyfloat}
 \LWR at loadafter{layout}
@@ -4956,11 +5223,13 @@
 \LWR at loadafter{longtable}
 \LWR at loadafter{lscape}
 \LWR at loadafter{ltcaption}
+\LWR at loadafter{marginfit}
 \LWR at loadafter{marginfix}
 \LWR at loadafter{marginnote}
 \LWR at loadafter{mcaption}
 \LWR at loadafter{mdframed}
 \LWR at loadafter{microtype}
+\LWR at loadafter{moreverb}
 \LWR at loadafter{mparhack}
 %\LWR at loadafter{multicol}% loaded by ltxdoc
 \LWR at loadafter{multirow}
@@ -4971,11 +5240,18 @@
 \LWR at loadafter{nowidow}
 \LWR at loadafter{ntheorem}
 \LWR at loadafter{pagenote}
+\LWR at loadafter{paralist}
 \LWR at loadafter{parskip}
+\LWR at loadafter{pdflscape}
+\LWR at loadafter{pdfsync}
 \LWR at loadafter{placeins}
+\LWR at loadafter{prelim2e}
 \LWR at loadafter{ragged2e}
 \LWR at loadafter{rotating}
+\LWR at loadafter{rotfloat}
+\LWR at loadafter{savetrees}
 \LWR at loadafter{setspace}
+\LWR at loadafter{shadow}
 \LWR at loadafter{showidx}
 \LWR at loadafter{showkeys}
 \LWR at loadafter{sidecap}
@@ -5000,6 +5276,7 @@
 \LWR at loadafter{wrapfig}
 \LWR at loadafter{xcolor}
 \LWR at loadafter{xfrac}
+\LWR at loadafter{xmpincl}
 %    \end{macrocode}
 
 
@@ -5324,11 +5601,29 @@
 \begin{warpall}
 %    \end{macrocode}
 
-% \DescribePackage{fancyvrb}
+% \DescribePackage{filecontents}
 %
-% Used for Verbatim, verse.
+% Used to write helper files, done in print mode.
+%
+% Patched to work with \pkg{morewrites}, per
+% \href
+%	{https://tex.stackexchange.com/questions/312830/does-morewrites-not-support-filecontents-and-can-i-write-body-of-environment-us/312910}
+%	{\texttt{https://tex.stackexchange.com/questions/312830/\\
+%		does-morewrites-not-support-filecontents-and-can-i-write-body-of-environment-us/\\
+%		312910}}
+%
+% \changes{v0.34}{2017/08/02}{\pkg{filecontents}: Required.  Patched for \protect\pkg{morewrites}.}
+%
 %    \begin{macrocode}
-\RequirePackage{fancyvrb}
+\RequirePackage{filecontents}
+
+\@ifpackagelater{filecontents}{2011/10/09}%
+{}
+{
+\newwrite\fcwrite
+\let\LWR at origfilec@ntents\filec at ntents
+\def\filec at ntents{\def\chardef##1\write{\let\reserved at c\fcwrite}\LWR at origfilec@ntents}
+}
 %    \end{macrocode}
 
 
@@ -5356,6 +5651,12 @@
 %    \end{macrocode}
 
 
+% \DescribePackage{xstring}
+%    \begin{macrocode}
+\RequirePackage{verbatim}
+%    \end{macrocode}
+
+
 % \DescribePackage{makeidx}
 %    \begin{macrocode}
 \RequirePackage{makeidx}
@@ -5389,17 +5690,7 @@
 %	conflicted with \pkg{subfig}.}
 
 
-% \DescribePackage{enumitem}
-%
-% \pkg{enumitem} is patched to support |\newlist| with \HTML.
 %    \begin{macrocode}
-\RequirePackage{enumitem}
-\setlist[itemize]{leftmargin=0em}
-\setlist[enumerate]{leftmargin=0em}
-\setlist[description]{leftmargin=0em}
-%    \end{macrocode}
-
-%    \begin{macrocode}
 \end{warpHTML}
 %    \end{macrocode}
 
@@ -5416,7 +5707,15 @@
 \RequirePackage{titling}
 %    \end{macrocode}
 
+% \DescribePackage{environ}
+%
+% Used to encapsulate math environments for re-use in \HTML\ ALT text.
+%
 %    \begin{macrocode}
+\RequirePackage{environ}
+%    \end{macrocode}
+
+%    \begin{macrocode}
 \end{warpall}
 %    \end{macrocode}
 
@@ -5452,57 +5751,6 @@
 %    \end{macrocode}
 
 
-% \DescribePackage{environ}
-%
-% Used to encapsulate math environments for re-use in \HTML\ ALT text.
-%
-%    \begin{macrocode}
-\RequirePackage{environ}
-%    \end{macrocode}
-
-
-
-
-
-
-
-% \DescribePackage{titleps}
-% \changes{v0.19}{2016/05/27}{titleps: null \cs{pagestyle} and \cs{thispagestyle} for HTML.}
-%
-% Used to place an \HTML\ comment into the footer of a page below the footnotes.
-% This comment is used for |lateximage| environments, including math.
-%
-% The |nopatches| option prevents titleps from trying to patch sectioning commands.
-%
-% \cs{pagestyle} and \cs{thispagestyle} are nullified for \HTML\ output.
-%
-%    \begin{macrocode}
-\RequirePackage[nopatches]{titleps}
-%    \end{macrocode}
-%
-% \begin{macro}{\pagestyle} \marg{style}
-%    \begin{macrocode}
-\let\LWR at origpagestyle\pagestyle
-\renewcommand*{\pagestyle}[1]{}
-%    \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\thispagestyle} \marg{style}
-%    \begin{macrocode}
-\let\LWR at origthispagestyle\thispagestyle
-\renewcommand*{\thispagestyle}[1]{}
-%    \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\pagenumbering} \marg{commands}
-%    \begin{macrocode}
-\let\LWR at origpagenumbering\pagenumbering
-\renewcommand*{\pagenumbering}[1]{}
-%    \end{macrocode}
-% \end{macro}
-%
-
-
 % \DescribePackage{xfrac}
 %
 % Patched for \HTML\ use.
@@ -5544,7 +5792,7 @@
 
 % Remember the original \cs{RequirePackage}:
 %    \begin{macrocode}
-\let\LWR at origRequirePackage\RequirePackage
+\LetLtxMacro{\LWR at origRequirePackage}{\RequirePackage}
 %    \end{macrocode}
 
 % \begin{macro}{\LWR at requirepackagenames} Stores the list of required package names.
@@ -5640,7 +5888,7 @@
 	{\LWR at origRequirePackage{\LWR at requirepackagenames}}
 }
 }
-\let\usepackage\RequirePackage
+\LetLtxMacro{\usepackage}{\RequirePackage}
 %    \end{macrocode}
 % \end{macro}
 
@@ -5760,7 +6008,7 @@
 
 % \DescribeBoolean{HTMLDebugComments} Default false.
 %	Add comments in \HTML\
-%	about closing \tag{div}s, sections, etc.
+%	about closing \element{div}s, sections, etc.
 %	\index{HTML>conversion settings>debug comments}
 %	\index{debugging>HTML debug comments}
 %	\index{troubleshooting>HTML debug comments}
@@ -5774,7 +6022,20 @@
 
 
 
+% If \cs{tracinglwarp}, show where preamble hooks occur:
+%    \begin{macrocode}
+\AfterEndPreamble{
+\LWR at traceinfo{AfterEndPreamble}
+}
 
+\AtBeginDocument{
+\LWR at traceinfo{AtBeginDocument}
+}
+%    \end{macrocode}
+
+
+
+
 % \section{HTML-conversion output modifications}
 %
 % These booleans modify the \HTML\ output in various ways
@@ -5819,7 +6080,7 @@
 %	This helps identify boundaries of floats to be manually converted
 %	to word-processor frames.
 %	(Perhaps some day word processors will have \HTML\ import options
-%	for identifying \tag{div} classes for figures and tables.)
+%	for identifying \element{div} classes for figures and tables.)
 %	\index{word processor>HTML conversion settings}
 %	\index{HTML>conversion settings>word processor}
 %
@@ -5848,17 +6109,30 @@
 % Will be temporarily restored to original meaning inside any lateximage environment.
 % Also nullify unused commands.
 %    \begin{macrocode}
-\let\LWR at origtextit\textit
-\let\LWR at origtextbf\textbf
-\let\LWR at origtexttt\texttt
-\let\LWR at origtextsc\textsc
-\let\LWR at origtextsf\textsf
-\let\LWR at origtextrm\textrm
-\let\LWR at origbfseries\bfseries
-\let\LWR at origrmfamily\rmfamily
-\let\LWR at origttfamily\ttfamily
-\let\LWR at orignormalfont\normalfont
+\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}
+\LetLtxMacro{\LWR at origbfseries}{\bfseries}
+\LetLtxMacro{\LWR at origmdseries}{\mdseries}
+\LetLtxMacro{\LWR at origupshape}{\upshape}
+\LetLtxMacro{\LWR at origslshape}{\slshape}
+\LetLtxMacro{\LWR at origscshape}{\scshape}
+\LetLtxMacro{\LWR at origitshape}{\itshape}
+\LetLtxMacro{\LWR at origem}{\em}
+\LetLtxMacro{\LWR at orignormalfont}{\normalfont}
+
 \let\LWR at origraggedright\raggedright
 \let\LWR at origonecolumn\onecolumn
 
@@ -5869,17 +6143,30 @@
 
 \let\LWR at orignewpage\newpage
 
-\let\LWR at origminipage\minipage
+\let\LWR at origpagestyle\pagestyle
+\let\LWR at origthispagestyle\thispagestyle
+\let\LWR at origpagenumbering\pagenumbering
+
+\LetLtxMacro{\LWR at origminipage}{\minipage}
 \let\LWR at origendminipage\endminipage
+\LetLtxMacro{\LWR at origparbox}{\parbox}
 
 \let\LWR at orignewline\newline
 
-\let\LWR at origitem\item
+\LetLtxMacro{\LWR at origitem}{\item}
 
+\LetLtxMacro{\LWR at origitemize}{\itemize}
+\LetLtxMacro{\LWR at endorigitemize}{\enditemize}
+\LetLtxMacro{\LWR at origenumerate}{\enumerate}
+\LetLtxMacro{\LWR at endorigenumerate}{\endenumerate}
+\LetLtxMacro{\LWR at origdescription}{\description}
+\LetLtxMacro{\LWR at endorigdescription}{\enddescription}
+
+
 \let\LWR at origpar\par
 
 
-\let\LWR at origfootnote\footnote
+\LetLtxMacro{\LWR at origfootnote}{\footnote}
 \let\LWR at orig@mpfootnotetext\@mpfootnotetext
 
 \let\LWR at origclearpage\clearpage
@@ -6048,7 +6335,7 @@
 %
 %    \begin{macrocode}
 \begin{warpprint}
-\begin{VerbatimOut}{lwarp.css}
+\begin{filecontents*}{lwarp.css}
 /*
   CSS stylesheet for the LaTeX lwarp package
   Copyright 2016-2017 Brian Dunn — BD Tech Concepts LLC
@@ -6108,7 +6395,7 @@
 span.indexsubitem {margin-left: 2em}
 span.indexsubsubitem {margin-left: 4em}
 
-div.hidden { display: none ; }
+div.hidden, span.hidden { display: none ; }
 
 kbd {
     font-family: "DejaVu Mono", "Bitstream Vera Mono", "Lucida Console",
@@ -6117,6 +6404,8 @@
     font-size: 100% ;
 }
 
+pre { padding: 3pt ; }
+
 span.strong { font-weight: bold; }
 
 span.textmd { font-weight: normal; }
@@ -6123,6 +6412,8 @@
 
 span.textsc { font-variant: small-caps; }
 
+span.textsl { font-style: oblique; }
+
 span.textup { font-variant: normal; }
 
 span.textrm {
@@ -6440,6 +6731,13 @@
   overflow-x: auto;
 }
 
+span.listinglabel {
+    display: inline-block ;
+    font-size: 70% ;
+    width: 4em ;
+    text-align: right ;
+    margin-right: 2em ;
+}
 
 div.abstract {
   margin: 2em 5% 2em 5% ;
@@ -6532,15 +6830,40 @@
 /* Have not yet researched this. */
 .minipage p {margin: .75ex 0em .75ex 0em ;}
 
+.shadowbox, .shabox {
+   border: 1px solid black;
+    box-shadow: 3px 3px 3px #808080 ;
+     border-radius: 0px ;
+    padding: .4ex .3em .4ex .3em ;
+    margin: 0pt .3ex 0pt .3ex ;
+  display: inline-block ;
+}
 
+.doublebox {
+   border: 3px double black;
+     border-radius: 0px ;
+    padding: .4ex .3em .4ex .3em ;
+    margin: 0pt .3ex 0pt .3ex ;
+  display: inline-block ;
+}
 
+.ovalbox, .Ovalbox {
+   border: 1px solid black;
+     border-radius: 1ex ;
+    padding: .4ex .3em .4ex .3em ;
+    margin: 0pt .3ex 0pt .3ex ;
+  display: inline-block ;
+}
+
+.Ovalbox { border-width: 2px ; }
+
+
+
 .framebox {
-    margin: 0ex ;
-    padding: 0ex ;
    border: 1px solid black;
      border-radius: 0px ;
     padding: .3ex .2em 0ex .2em ;
-    margin: .1ex ;
+    margin: 0pt .1ex 0pt .1ex ;
   display: inline-block ;
 }
 
@@ -6583,7 +6906,7 @@
 
 
 /* framed package */
-.framed {
+.framed, pre.boxedverbatim {
     margin: 3ex 0em 3ex 0em ;
    border: 1px solid black;
      border-radius: 0px ;
@@ -6622,7 +6945,8 @@
 }
 
 dl dt {
-  margin-top: 1ex;
+	margin-top: 1ex;
+	margin-left: 1em ;
     font-weight: bold;
 }
 
@@ -6844,6 +7168,8 @@
 div.flushright table {margin-left:auto ; margin-right: 0em ;}
 
 
+/* Fancybox */
+div.Btrivlist table tr td { padding: .2ex 0em ; }
 
 
 /* program listing callouts: */
@@ -7233,7 +7559,7 @@
     nav.topnavigation { display:block }
     nav.botnavigation { display:block }
 }
-\end{VerbatimOut}
+\end{filecontents*}
 % \end{Verbatim}% for syntax highlighting
 \end{warpprint}
 %    \end{macrocode}
@@ -7252,7 +7578,7 @@
 %
 %    \begin{macrocode}
 \begin{warpprint}
-\begin{VerbatimOut}{lwarp_sagebrush.css}
+\begin{filecontents*}{lwarp_sagebrush.css}
 @import url("lwarp.css") ;
 
 
@@ -7487,7 +7813,7 @@
 }
 
 
-\end{VerbatimOut}
+\end{filecontents*}
 % \end{Verbatim}% for syntax highlighting
 \end{warpprint}
 %    \end{macrocode}
@@ -7506,7 +7832,7 @@
 %
 %    \begin{macrocode}
 \begin{warpprint}
-\begin{VerbatimOut}{lwarp_formal.css}
+\begin{filecontents*}{lwarp_formal.css}
 @import url("lwarp.css") ;
 
 
@@ -7711,7 +8037,7 @@
     background: #dedcd5 ;
     border-top: 1px solid black ;
 }
-\end{VerbatimOut}
+\end{filecontents*}
 % \end{Verbatim}% for syntax highlighting
 \end{warpprint}
 %    \end{macrocode}
@@ -7728,7 +8054,7 @@
 %
 %    \begin{macrocode}
 \begin{warpprint}
-\begin{VerbatimOut}{sample_project.css}
+\begin{filecontents*}{sample_project.css}
 /* ( --- Start of project.css --- ) */
 /* A sample project-specific CSS file for lwarp --- ) */
 
@@ -7740,7 +8066,7 @@
 /* . . . */
 
 /* ( --- End of project.css --- ) */
-\end{VerbatimOut}
+\end{filecontents*}
 % \end{Verbatim}% for syntax highlighting
 \end{warpprint}
 %    \end{macrocode}
@@ -7761,7 +8087,7 @@
 %
 %    \begin{macrocode}
 \begin{warpprint}
-\begin{VerbatimOut}{lwarp.xdy}
+\begin{filecontents*}{lwarp.xdy}
 (require "tex/inputenc/latin.xdy")
 (merge-rule "\\PS *" "Postscript")
 (require "texindy.xdy")
@@ -7768,7 +8094,7 @@
 (require "page-ranges.xdy")
 (require "book-order.xdy")
 (markup-locref :open "\hyperindexref{" :close "}")
-\end{VerbatimOut}
+\end{filecontents*}
 % \end{Verbatim}% for syntax highlighting
 \end{warpprint}
 %    \end{macrocode}
@@ -7786,11 +8112,12 @@
 %
 % \changes{v0.28}{2017/04/11}{File \protect\texttt{lwarp\_mathjax.txt}: Updated \protect\acro{CDN} repository.}
 % \changes{v0.30}{2017/04/26}{Fix: \protect\texttt{lwarp\_mathjax.txt} only written in print mode.}
+% \changes{v0.34}{2017/07/27}{File: \protect\texttt{lwarp\_mathjax.txt} version change.}
 %
 %
 %    \begin{macrocode}
 \begin{warpprint}
-\begin{VerbatimOut}{lwarp_mathjax.txt}
+\begin{filecontents*}{lwarp_mathjax.txt}
 <!-- https://groups.google.com/forum/#!topic/
                                mathjax-users/jUtewUcE2bY -->
 <script type="text/x-mathjax-config">
@@ -7875,7 +8202,7 @@
 
 <!-- Alternative CDN provider: -->
 <script type="text/javascript" async
-src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS_HTML-full">
+src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS_HTML-full">
 </script>
 
 <!-- No longer supported after April 30, 2017: -->
@@ -7885,7 +8212,7 @@
 </script>
 -->
 
-\end{VerbatimOut}
+\end{filecontents*}
 % \end{Verbatim}% for syntax highlighting
 \end{warpprint}
 %    \end{macrocode}
@@ -7916,7 +8243,7 @@
 %		due to \protect\texttt{luatex} changes.}
 %
 %    \begin{macrocode}
-\begin{VerbatimOut}{lwarpmk.lua}
+\begin{filecontents*}{lwarpmk.lua}
 #!/usr/bin/env texlua
 
 -- Copyright 2016-2017 Brian Dunn
@@ -7923,7 +8250,7 @@
 
 -- Print the usage of the lwarpmk command:
 
-printversion = "v0.33"
+printversion = "v0.34"
 
 function printhelp ()
 print ("lwarpmk: Use lwarpmk -h or lwarpmk --help for help.") ;
@@ -8233,7 +8560,7 @@
     err=os.execute ( "latexmk -pdf -dvi- -ps- -recorder "
         .. "-e "
         .. opquote
-        .. "$makeindex = q/"
+        .. "$makeindex = q/" -- $
         .. xindycmd
         .. "  -M " .. xdyfile
         .. "  -L " .. language .. " /"
@@ -8440,7 +8767,7 @@
 end
 
 end -- not --version
-\end{VerbatimOut}
+\end{filecontents*}
 % \end{Verbatim}% for syntax highlighting
 %    \end{macrocode}
 %
@@ -8690,7 +9017,14 @@
 %    \end{macrocode}
 % \begin{macro}{\HTMLentity} \marg{entitytag}
 %    \begin{macrocode}
-\newcommand*{\HTMLentity}[1]{\LWR at origampersand#1;}
+\newcommand*{\HTMLentity}[1]{%
+% \LWR at traceinfo{HTMLentity \detokenize{#1}}%
+\begingroup%
+\LWR at FBcancel%
+\LWR at origampersand#1;%
+\endgroup
+% \LWR at traceinfo{HTMLentity done}%
+}
 %    \end{macrocode}
 % \end{macro}
 % \begin{macro}{\HTMLunicode} \marg{hex\_unicode}
@@ -9009,7 +9343,7 @@
 
 
 
-% \section{Forcing a new PDF page}
+% \section{PDF pages and styles}
 
 % \codehtml
 %    \begin{macrocode}
@@ -9028,7 +9362,32 @@
 \LWR at stoppars\LWR at orignewpage\LWR at startpars%
 }
 %    \end{macrocode}
+
+
+
+% \cs{pagestyle} and \cs{thispagestyle} are nullified for \HTML\ output.
+%
+% \begin{macro}{\pagestyle} \marg{style}
 %    \begin{macrocode}
+\renewcommand*{\pagestyle}[1]{}
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\thispagestyle} \marg{style}
+%    \begin{macrocode}
+\renewcommand*{\thispagestyle}[1]{}
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\pagenumbering} \marg{commands}
+%    \begin{macrocode}
+\renewcommand*{\pagenumbering}[1]{}
+%    \end{macrocode}
+% \end{macro}
+%
+
+
+%    \begin{macrocode}
 \end{warpHTML}
 %    \end{macrocode}
 % \end{macro}
@@ -9067,16 +9426,42 @@
 
 % \subsection{HTML tags}
 
+% \changes{v0.34}{2017/08/03}{\pkg{babel-french}: Adds fixed-width HTML spaces to punctuation.}
+% Adjust \pkg{babel-french} for \HTML\ spaces:
+%    \begin{macrocode}
+\@ifpackagewith{babel}{french}{
+\renewcommand*{\FBcolonspace}{~}
+\renewcommand*{\FBthinspace}{\,}
+}{}
+%    \end{macrocode}
+
+% \begin{macro}{\LWR at FBcancel} Cancels \HTML\ spacing for \pkg{babel-french}
+%    \begin{macrocode}
+\@ifpackagewith{babel}{french}{%
+\newcommand{\LWR at FBcancel}{%
+\csdef{FBcolonspace}{}%
+\csdef{FBthinspace}{}%
+}
+}
+{% not french:
+\newcommand{\LWR at FBcancel}{}
+}%
+%    \end{macrocode}
+% \end{macro}
+
 % \begin{macro}{\LWR at htmltagc} \marg{tag}
 % Break ligatures and use upright apostrophes in \HTML\ tags.
 %
 %|\protect| is in case the tag appears in TOC, LOF, LOT.
 %    \begin{macrocode}
-
 \newcommand*{\LWR at htmltagc}[1]{%
 {%
-\protect\LWR at origttfamily%
+% \LWR at traceinfo{LWR at htmltagc \detokenize{#1}}%
+\begingroup%
+\LWR at FBcancel%
+\ifmmode\else\protect\LWR at origttfamily\fi%
 \protect\LWR at origtextless#1\protect\LWR at origtextgreater%
+\endgroup%
 }%
 }
 %    \end{macrocode}
@@ -9084,24 +9469,65 @@
 % 
 
 
-% \begin{environment}{LWR at nestspan} Disable \env{minipage}, \cs{parbox} inside a \tag{span}.
+% \begin{environment}{LWR at nestspan} Disable \env{minipage}, \cs{parbox},
+%	and \HTML\ \element{div}s inside a \element{span}.
 %
-% |\begin{LWR at nestspan}| must follow the opening |<span>| tag to allow
+% |\begin{LWR at nestspan}| must follow the opening \element{span} tag to allow
 % \watchout
 % a paragraph to start if the span is at the beginning of a new paragraph.
 %
-% |\end{LWR at nestspan}| must follow the |/span| or an extra |<p>| may appear.
+% |\end{LWR at nestspan}| must follow the \element{/span} or a \element{p} may appear
+%	inside the span.
 % \watchout
 %
 % \changes{v0.20}{2016/12/24}{Fix: Minipages inside a span.}
+% \changes{v0.34}{2017/07/29}{Fix: Minipages, BlocksClass, and lists inside a span.}
 %
 %    \begin{macrocode}
+\newcommand*{\LWR at nestspanitem}{%
+\if at newlist\else{\LWR at htmltagc{br /}}\fi%
+\LWR at origitem%
+}
+
 \newenvironment*{LWR at nestspan}
 {%
+\LWR at traceinfo{LWR at nestspan}%
+\ifthenelse{\cnttest{\value{LWR at lateximagedepth}}{>}{0}}%
+{%
+\LWR at traceinfo{LWR at nestspan: inside a lateximage}%
+}%
+{% not in a lateximage
+\LWR at traceinfo{LWR at nestspan: NOT inside a lateximage}%
 \addtocounter{LWR at spandepth}{1}%
 \RenewDocumentEnvironment{minipage}{O{t} o O{t} m}{}{}%
+\RenewDocumentEnvironment{BlockClass}{o m}{}{}%
+\renewcommand{\BlockClassSingle}[2]{##2}%
+\renewcommand{\LWR at forcenewpage}{}%
+\renewcommand{\LWR at itemizestart}{%
+\let\item\LWR at nestspanitem%
+% \global\boolfalse{LWR at allownestspanitembreak}%
 }%
-{\addtocounter{LWR at spandepth}{-1}}
+\renewcommand{\LWR at itemizeend}{}%
+\renewcommand{\LWR at enumeratestart}{%
+\let\item\LWR at nestspanitem%
+% \global\boolfalse{LWR at allownestspanitembreak}%
+}%
+\renewcommand{\LWR at enumerateend}{}%
+\renewcommand{\LWR at descriptionstart}{%
+\let\item\LWR at nestspanitem%
+% \global\boolfalse{LWR at allownestspanitembreak}%
+}%
+\renewcommand{\LWR at descriptionend}{}%
+}% not in a lateximage
+}%
+{%
+\ifthenelse{\cnttest{\value{LWR at lateximagedepth}}{>}{0}}%
+{}%
+{\addtocounter{LWR at spandepth}{-1}}%
+\LWR at traceinfo{LWR at nestspan: done}%
+}
+
+\AfterEndEnvironment{LWR at nestspan}{\global\let\par\LWR at closeparagraph}
 %    \end{macrocode}
 % \end{environment}
 
@@ -9127,11 +9553,14 @@
 % \end{macro}
 
 
-% \begin{macro}{\LWR at htmlspanclass} \marg{class} \oarg{style} \marg{text}
+% \begin{macro}{\LWR at htmlspanclass} \oarg{style} \marg{class} \marg{text}
+%
+% \changes{v0.34}{2017/08/02}{Moved optional argument in front of mandatory.}
+%
 %    \begin{macrocode}
-\NewDocumentCommand{\LWR at htmlspanclass}{m o +m}{%
+\NewDocumentCommand{\LWR at htmlspanclass}{o m +m}{%
 \LWR at ensuredoingapar%
-\LWR at subhtmlelementclass{span}{#1}[#2]%
+\LWR at subhtmlelementclass{span}[#1]{#2}%
 \begin{LWR at nestspan}%
 #3%
 \LWR at htmltagc{/span}%
@@ -9165,11 +9594,25 @@
 % \begin{macro}{\LWR at htmlclosecomment}
 %    \begin{macrocode}
 \newcommand*{\LWR at htmlopencomment}{%
-{\LWR at origttfamily\LWR at origtextless{}!{-}{-}}%
+{%
+% \LWR at traceinfo{LWR at htmlopencomment}%
+\begingroup%
+\LWR at FBcancel%
+\ifmmode\else\protect\LWR at origttfamily\fi%
+\LWR at origtextless{}!{-}{-}%
+\endgroup%
+}%
 }
 
 \newcommand*{\LWR at htmlclosecomment}{%
-{\LWR at origttfamily{-}{-}\LWR at origtextgreater{}}%
+{%
+% \LWR at traceinfo{LWR at htmlclosecomment}%
+\begingroup%
+\LWR at FBcancel%
+\ifmmode\else\protect\LWR at origttfamily\fi%
+{-}{-}\LWR at origtextgreater{}%
+\endgroup%
+}%
 }
 %    \end{macrocode}
 % \end{macro}
@@ -9216,21 +9659,22 @@
 
 % \subsection{Div class and element class}
 
-% \begin{macro}{\LWR at subhtmlelementclass} \marg{element} \marg{class} \oarg{style}
+% \begin{macro}{\LWR at subhtmlelementclass} \marg{element} \oarg{style} \marg{class}
 %
 % Factored and reused in several places.
 %
 % \changes{v0.20}{2017/01/17}{Factored code.}
+% \changes{v0.34}{2017/08/02}{Moved optional argument in front of mandatory.}
 %
 %    \begin{macrocode}
-\NewDocumentCommand{\LWR at subhtmlelementclass}{m m o}{%
-\IfValueTF{#3}%
+\NewDocumentCommand{\LWR at subhtmlelementclass}{m o m}{%
+\IfValueTF{#2}%
 {% option
-\ifthenelse{\equal{#3}{}}%
-{\LWR at htmltag{#1 class="#2"}}% empty option
-{\LWR at htmltag{#1 class="#2" style="#3"}}% non-empty option
+\ifthenelse{\equal{#2}{}}%
+{\LWR at htmltag{#1 class="#3"}}% empty option
+{\LWR at htmltag{#1 class="#3" style="#2"}}% non-empty option
 }% option
-{\LWR at htmltag{#1 class="#2"}}% no option
+{\LWR at htmltag{#1 class="#3"}}% no option
 }
 %    \end{macrocode}
 % \end{macro}
@@ -9239,11 +9683,12 @@
 % \begin{macro}{\LWR at htmlelementclass} \marg{element} \marg{class} \oarg{style}
 %
 % \changes{v0.20}{2017/01/17}{Added optional style.}
+% \changes{v0.34}{2017/08/02}{Moved optional argument in front of mandatory.}
 %
 %    \begin{macrocode}
-\NewDocumentCommand{\LWR at htmlelementclass}{m m o}{%
+\NewDocumentCommand{\LWR at htmlelementclass}{m o m}{%
 \LWR at stoppars%
-\LWR at subhtmlelementclass{#1}{#2}[#3]%
+\LWR at subhtmlelementclass{#1}[#2]{#3}%
 \LWR at startpars%
 }
 %    \end{macrocode}
@@ -9263,13 +9708,14 @@
 %    \end{macrocode}
 % \end{macro}
 
-% \begin{macro}{\LWR at htmldivclass} \marg{class} \oarg{style}
+% \begin{macro}{\LWR at htmldivclass} \oarg{style} \marg{class}
 %
 % \changes{v0.20}{2017/01/17}{Added optional style.}
+% \changes{v0.34}{2017/08/02}{Moved optional argument in front of mandatory.}
 %
 %    \begin{macrocode}
-\NewDocumentCommand{\LWR at htmldivclass}{m o}{%
-\LWR at htmlelementclass{div}{#1}[#2]%
+\NewDocumentCommand{\LWR at htmldivclass}{o m}{%
+\LWR at htmlelementclass{div}[#1]{#2}%
 }
 %    \end{macrocode}
 % \end{macro}
@@ -9287,11 +9733,14 @@
 % A single-line element, without a paragraph tag for the line of text:
 
 % \begin{macro}{\LWR at htmlelementclassline}
-%				\marg{element} \marg{class} \oarg{style} \marg{text}
+%				\marg{element} \oarg{style} \marg{class} \marg{text}
+%
+% \changes{v0.34}{2017/08/02}{Moved optional argument in front of mandatory.}
+%
 %    \begin{macrocode}
-\NewDocumentCommand{\LWR at htmlelementclassline}{m m o +m}{%
+\NewDocumentCommand{\LWR at htmlelementclassline}{m o m +m}{%
 \LWR at stoppars
-\LWR at subhtmlelementclass{#1}{#2}[#3]%
+\LWR at subhtmlelementclass{#1}[#2]{#3}%
 #4%
 \LWR at htmltag{/#1}
 \LWR at startpars
@@ -9338,7 +9787,7 @@
 % For other direct-formatting commands, see \cref{sec:directformatting}.
 
 
-% \begin{environment}{BlockClass} \marg{class} \oarg{style} \quad
+% \begin{environment}{BlockClass} \oarg{style} \marg{class} \quad
 % High-level interface for div classes.
 %
 % \qquad Ex: |\begin{BlockClass}{class}| text |\end{BlockClass}|
@@ -9345,16 +9794,17 @@
 %
 % \changes{v0.20}{2017/01/03}{Renamed from "blockclass".}
 % \changes{v0.20}{2017/01/17}{Added optional style.}
+% \changes{v0.34}{2017/08/02}{Moved optional argument in front of mandatory.}
 %
 % \codehtml
 %    \begin{macrocode}
 \begin{warpHTML}
-\NewDocumentEnvironment{BlockClass}{m o}
+\NewDocumentEnvironment{BlockClass}{o m}%
 {
-\LWR at htmldivclass{#1}[#2]
+\LWR at htmldivclass[#1]{#2}
 }
 {
-\LWR at htmldivclassend{#1}
+\LWR at htmldivclassend{#2}
 }
 \end{warpHTML}
 %    \end{macrocode}
@@ -9362,7 +9812,7 @@
 % \codeprint
 %    \begin{macrocode}
 \begin{warpprint}
-\NewDocumentEnvironment{BlockClass}{m o}{}{}
+\NewDocumentEnvironment{BlockClass}{o m}{}{}%
 \end{warpprint}
 %    \end{macrocode}
 % \end{environment}
@@ -9369,7 +9819,7 @@
 % 
 % 
 % \begin{macro}{\BlockClassSingle} \marg{class} \marg{text} \quad
-% A single-line \tag{div}, without a paragraph tag for the line of text.
+% A single-line \element{div}, without a paragraph tag for the line of text.
 % 
 % \changes{v0.20}{2017/01/03}{Renamed from "LWR at htmldivclassline".}
 %
@@ -9392,16 +9842,17 @@
 % \end{macro}
 
 
-% \begin{macro}{\InlineClass} \marg{class} \oarg{style} \marg{text} \quad
+% \begin{macro}{\InlineClass} \oarg{style} \marg{class} \marg{text} \quad
 % High-level interface for inline span classes.
 %
 % \changes{v0.20}{2017/01/03}{Renamed from "inlineclass".}
+% \changes{v0.34}{2017/08/02}{Moved optional argument in front of mandatory.}
 %
 % \codehtml
 %    \begin{macrocode}
 \begin{warpHTML}
-\NewDocumentCommand{\InlineClass}{m o +m}{%
-\LWR at htmlspanclass{#1}[#2]{#3}%
+\NewDocumentCommand{\InlineClass}{o m +m}{%
+\LWR at htmlspanclass[#1]{#2}{#3}%
 }
 \end{warpHTML}
 %    \end{macrocode}
@@ -9408,7 +9859,7 @@
 % \codeprint
 %    \begin{macrocode}
 \begin{warpprint}
-\NewDocumentCommand{\InlineClass}{m o +m}{#3}
+\NewDocumentCommand{\InlineClass}{o m +m}{#3}%
 \end{warpprint}
 %    \end{macrocode}
 % \end{macro}
@@ -9531,7 +9982,7 @@
 \ifbool{LWR at doingstartpars}%
 {% handling pars
 %    \end{macrocode}
-% See if have already started a \env{lateximage} or a \tag{span}.
+% See if have already started a \env{lateximage} or a \element{span}.
 % If so, do not generate nested paragraph tags.
 %    \begin{macrocode}
 \ifthenelse{%
@@ -9540,12 +9991,12 @@
 }% nested par tags?
 %    \end{macrocode}
 % If so: Do nothing if already started a \env{lateximage} page.  Cannot nest a \env{lateximage}.
-% Also do nothing if already inside a \tag{span}.  Do not nest paragraph tags
-% inside a \tag{span}.
+% Also do nothing if already inside a \element{span}.  Do not nest paragraph tags
+% inside a \element{span}.
 %    \begin{macrocode}
 {}% no nested par tags
 %    \end{macrocode}
-% Else: No \env{lateximage} or \tag{span} has been started yet,
+% Else: No \env{lateximage} or \element{span} has been started yet,
 % so it's OK to generate paragraph tags.
 %    \begin{macrocode}
 {% yes nest par tags
@@ -9553,9 +10004,6 @@
 %    \end{macrocode}
 % Manually indent item list labels to avoid left margin intrustion:
 %
-% \LaTeX{} default list environments use |\@itemdepth| and |\@enumdepth|, but
-% \pkg{lwarp} uses the \pkg{enumitem} package, which uses |\@listdepth|.
-%
 % See if are nested inside an item list:
 %    \begin{macrocode}
 \ifnumcomp{\@listdepth}{>}{0}%
@@ -9600,7 +10048,7 @@
 %    \begin{macrocode}
 {% handling pars
 %    \end{macrocode}
-% See if already started a \env{lateximage} or a \tag{span}:
+% See if already started a \env{lateximage} or a \element{span}:
 %    \begin{macrocode}
 \ifthenelse{%
 \cnttest{\value{LWR at lateximagedepth}}{>}{0} \OR%
@@ -9607,7 +10055,7 @@
 \cnttest{\value{LWR at spandepth}}{>}{0}%
 }%
 %    \end{macrocode}
-% Do nothing if already started a \env{lateximage} or a \tag{span},
+% Do nothing if already started a \env{lateximage} or a \element{span},
 % but add a parbreak if in a span but not a \env{lateximage}.
 %    \begin{macrocode}
 {% no nested par tags
@@ -9622,7 +10070,7 @@
 {}%
 }% no nested par tags
 %    \end{macrocode}
-% If have not already started a \env{lateximage} or a \tag{span}:
+% If have not already started a \env{lateximage} or a \element{span}:
 %    \begin{macrocode}
 {% yes nest par tags
 %    \end{macrocode}
@@ -9686,6 +10134,12 @@
 \newcommand*{\LWR at startpars}%
 {%
 %    \end{macrocode}
+% Ignore if inside a span:
+%    \begin{macrocode}
+\ifthenelse{\cnttest{\value{LWR at spandepth}}{>}{0}}%
+{}%
+{%
+%    \end{macrocode}
 % See if currently handling \HTML\ paragraphs:
 %    \begin{macrocode}
 \ifbool{LWR at doingstartpars}%
@@ -9715,6 +10169,7 @@
 % No <par> tag yet to undo:
 %    \begin{macrocode}
 \global\boolfalse{LWR at doingapar}%
+}% nestspan
 }
 %    \end{macrocode}
 % \end{macro}
@@ -9727,6 +10182,12 @@
 \newcommand*{\LWR at stoppars}%
 {%
 %    \end{macrocode}
+% Ignore if inside a span:
+%    \begin{macrocode}
+\ifthenelse{\cnttest{\value{LWR at spandepth}}{>}{0}}%
+{}%
+{%
+%    \end{macrocode}
 % See if currently handling \HTML\ paragraphs:
 %    \begin{macrocode}
 \ifbool{LWR at doingapar}%
@@ -9773,9 +10234,10 @@
 %    \begin{macrocode}
 \global\setbool{LWR at doingstartpars}{false}%
 %    \end{macrocode}
-% no |<p>| tag to undo:
+% no \element{p} tag to undo:
 %    \begin{macrocode}
 \global\boolfalse{LWR at doingapar}%
+}% nestspan
 }
 %    \end{macrocode}
 % \end{macro}
@@ -10202,24 +10664,9 @@
 % Locally temporarily disable direct-formatting commands,
 % not used in filenames:
 %    \begin{macrocode}
-\renewcommand*{\HTMLunicode}[1]{}
-\renewcommand*{\HTMLentity}[1]{##1}
-\renewcommand*{\LWR at htmltagc}[1]{}
-\DeclareExpandableDocumentCommand{\InlineClass}{m o m}{##3}
+\LWR at nullfonts
+\renewcommand*{\LWR at htmltagc}[1]{}%
 %    \end{macrocode}
-% Ampersand becomes ``and'', which is a short word and is then removed from the filename.
-%    \begin{macrocode}
-\renewcommand*{\&}{and}
-\renewcommand{\textit}[1]{##1}
-\renewcommand{\textsc}[1]{##1}
-\renewcommand{\textsl}[1]{##1}
-\renewcommand{\textbf}[1]{##1}
-\renewcommand{\texttt}[1]{##1}
-\renewcommand{\textsf}[1]{##1}
-\renewcommand{\textrm}[1]{##1}
-\renewcommand{\textsuperscript}[1]{##1}
-\renewcommand{\textsubscript}[1]{##1}
-%    \end{macrocode}
 % Replaces common symbols and short words with hyphens:
 %
 %    \begin{macrocode}
@@ -10430,7 +10877,7 @@
 
 %    \end{macrocode}
 %
-% Start of the \tag{textbody}:
+% Start of the \element{textbody}:
 %    \begin{macrocode}
 \LWR at htmlelementclass{section}{textbody}
 
@@ -10963,27 +11410,19 @@
 %
 %    \begin{macrocode}
 \newcommand*{\LWR at filestart}[1]{
+\LWR at traceinfo{LWR at filestart}
 %    \end{macrocode}
 % Locally temporarily disable direct-formatting commands:
 %    \begin{macrocode}
 \begingroup
-\renewcommand{\textit}[1]{##1}% not used in filenames
-\renewcommand{\textsc}[1]{##1}
-\renewcommand{\textsl}[1]{##1}
-\renewcommand{\textbf}[1]{##1}
-\renewcommand{\texttt}[1]{##1}
-\renewcommand{\textsf}[1]{##1}
-\renewcommand{\textrm}[1]{##1}
-\renewcommand{\textsuperscript}[1]{##1}
-\renewcommand{\textsubscript}[1]{##1}
-\renewcommand*{\HTMLunicode}[1]{}
-\renewcommand*{\HTMLentity}[1]{}
-\RenewDocumentCommand{\LWR at htmlspanclass}{m o +m}{##3}
-\DeclareExpandableDocumentCommand{\InlineClass}{m o m}{##3}
+\LWR at traceinfo{LWR at filestart: A}
+\LWR at nullfonts
+\LWR at traceinfo{LWR at filestart: B}
 %    \end{macrocode}
 % Create the page's \HTML\ header:
 %    \begin{macrocode}
 \LWR at htmltag{!DOCTYPE html}\LWR at orignewline
+\LWR at traceinfo{LWR at filestart: C}
 %    \end{macrocode}
 % The language is user-adjustable:
 %    \begin{macrocode}
@@ -11058,7 +11497,7 @@
 \ifbool{mathjax}%
 {%
 \boolfalse{LWR at verbtags}
-\VerbatimInput{lwarp_mathjax.txt}%
+\verbatiminput{lwarp_mathjax.txt}%
 \booltrue{LWR at verbtags}
 \LWR at stoppars
 }% end of mathjax
@@ -11072,6 +11511,7 @@
 %    \begin{macrocode}
 \LWR at htmltag{body}\LWR at orignewline
 \endgroup
+\LWR at traceinfo{LWR at filestart: done}
 }
 %    \end{macrocode}
 % \end{macro}
@@ -11099,8 +11539,10 @@
 % \changes{v0.28}{2017/04/09}{\texttt{FormatWordProcessor} forces single-file output.}
 % Executed at the beginning of the entire document.
 %    \begin{macrocode}
+\catcode`\$=\active
 \newcommand*{\LWR at LwarpStart}
 {%
+\LWR at traceinfo{LWR at lwarpStart}
 %    \end{macrocode}
 %
 % If formatting for a word processor,
@@ -11120,9 +11562,10 @@
 \edef\LWR at strresult{\HTMLFilename}
 \edef\HTMLFilename{\detokenize\expandafter{\LWR at strresult}}
 %    \end{macrocode}
-% Force onecolumn:
+% Force onecolumn and empty page style:
 %    \begin{macrocode}
 \LWR at origonecolumn%
+\LWR at origpagestyle{empty}
 %    \end{macrocode}
 % Reduce chance of line overflow in verbatim environments:
 %    \begin{macrocode}
@@ -11131,7 +11574,7 @@
 % In \PDF\ output, don't allow line breaks to interfere with \HTML\ tags:
 %    \begin{macrocode}
 \LWR at origraggedright%
-\let\\\LWR at endofline%
+\LetLtxMacro{\\}{\LWR at endofline}%
 %    \end{macrocode}
 % Spread the lines for |pdftotext| to read them well:
 %    \begin{macrocode}
@@ -11172,10 +11615,10 @@
 %
 % Tabular:
 %    \begin{macrocode}
-\let\LWR at origtabular\tabular
-\let\LWR at origendtabular\endtabular
-\let\tabular\LWR at tabular
-\let\endtabular\endLWR at tabular
+\LetLtxMacro{\LWR at origtabular}{\tabular}
+\LetLtxMacro{\LWR at origendtabular}{\endtabular}
+\LetLtxMacro{\tabular}{\LWR at tabular}
+\LetLtxMacro{\endtabular}{\endLWR at tabular}
 %    \end{macrocode}
 % Float captions:
 %    \begin{macrocode}
@@ -11204,8 +11647,8 @@
 %    \end{macrocode}
 % Graphics:
 %    \begin{macrocode}
-\let\rotatebox\LWR at rotatebox
-\let\scalebox\LWR at scalebox
+\LetLtxMacro{\rotatebox}{\LWR at rotatebox}
+\LetLtxMacro{\scalebox}{\LWR at scalebox}
 \let\reflectbox\LWR at reflectbox
 %    \end{macrocode}
 % Not yet started any paragraph handling:
@@ -11215,14 +11658,16 @@
 %    \end{macrocode}
 % Start a new \HTML\ file and a header:
 %    \begin{macrocode}
+\LWR at traceinfo{LWR at lwarpStart: Starting new file.}
 \LWR at filestart{}
+\LWR at traceinfo{LWR at lwarpStart: Generating first header.}
 \LWR at htmltag{header}\LWR at orignewline
 \LWR at startpars
 \LWR at firstpagetop
 \LWR at stoppars
 \LWR at htmltag{/header}\LWR at orignewline
+\LWR at traceinfo{LWR at lwarpStart: Generating textbody.}
 \LWR at htmltag{section class="textbody"{}}
-\LWR at origpagestyle{empty}
 %    \end{macrocode}
 % Document and page settings:
 %    \begin{macrocode}
@@ -11238,18 +11683,35 @@
 \fi
 %    \end{macrocode}
 %
-% Initial default patch for fancyvrb:
+% Patch the |itemize|, |enumerate|, and |description| environments and \cs{item}.
+% This works with the native \LaTeX\ environments, as well as
+% those provided by \pkg{enumitem}, \pkg{enumerate}, and \pkg{paralist}.
 %    \begin{macrocode}
-\fvset{frame=none}%
+\LWR at patchlists
 %    \end{macrocode}
 %
+% Ensure that math mode is active to call \pkg{lwarp}'s patches:
+%    \begin{macrocode}
+\catcode`\$=\active
+%    \end{macrocode}
+%
 % Allow \HTML\ paragraphs to begin:
 %    \begin{macrocode}
 \LWR at startpars
+\LWR at traceinfo{LWR at lwarpStart: done}
 }
+\catcode`\$=3% math shift until lwarp starts
 %    \end{macrocode}
 % \end{macro}
 
+% ^^A % Not yet working:
+% ^^A %    \begin{macrocode}
+% ^^A % \AfterEndPreamble{
+% ^^A % \LWR at traceinfo{Patching @ensuredmath}% *8*
+% ^^A % \let\@ensuredmath\LWR at ensuredmath
+% ^^A % }
+% ^^A %    \end{macrocode}
+
 %    \begin{macrocode}
 \end{warpHTML}
 %    \end{macrocode}
@@ -11415,11 +11877,11 @@
 %
 % The following provide setting commands for both \HTML\ and print outputs.
 %
-% \DescribeMacro{@published}
-% \DescribeMacro{@title}
-% \DescribeMacro{@subtitle}
-% \DescribeMacro{@author}
-% \DescribeMacro{@date}
+% \DescribeMacro{\@published}
+% \DescribeMacro{\@title}
+% \DescribeMacro{\@subtitle}
+% \DescribeMacro{\@author}
+% \DescribeMacro{\@date}
 % \cs{@title}, \cs{@subtitle}, \cs{@author}, etc.\ store the values
 % as originally assigned, including any \cs{thanks}, \cs{and}, or \cs{affiliation}.
 % These are low-level macros intended to be used by other macros
@@ -11873,7 +12335,7 @@
   \renewcommand{\maketitle}{\begin{titlepage}%
     \let\footnotesize\small
     \let\footnoterule\relax
-    \let \footnote \thanks
+    \LetLtxMacro{\footnote}{\thanks}
     \@bsmarkseries
       \def\@makefnmark{\rlap{\@textsuperscript{%
          \normalfont\@bsthanksheadpre \tamark \@bsthanksheadpost}}}%
@@ -12069,10 +12531,14 @@
 %
 % Re-defined to use an \HTML\ entity for the double vertical bar symbol.
 % The original definition used \cs{\textbar} which was not being found by \cmds{pdftotext}.
+%
+% \changes{v0.34}{2017/08/07}{Text symbols instead of math.}
+%
 %    \begin{macrocode}
-\def\@fnsymbol#1{\ensuremath{\ifcase#1\or *\or \dagger\or \ddagger\or
-   \mathsection\or \mathparagraph\or \text{\HTMLunicode{2016}}\or
-   **\or \dagger\dagger \or \ddagger\ddagger \else\@ctrerr\fi}}
+\def\@fnsymbol#1{\ifcase#1\or *\or \HTMLentity{dagger}\or \HTMLentity{Dagger}\or
+   \HTMLentity{sect}\or \HTMLentity{para}\or \text{\HTMLunicode{2016}}\or
+   **\or \HTMLentity{dagger}\HTMLentity{dagger} \or
+   \HTMLentity{Dagger}\HTMLentity{Dagger} \else\@ctrerr\fi}
 %    \end{macrocode}
 % \end{macro}
 %
@@ -12340,35 +12806,10 @@
 
 % \section{Verbatim}
 
-% \codehtml
-%    \begin{macrocode}
-\begin{warpHTML}
-%    \end{macrocode}
+% \changes{v0.34}{2017/07/27}{Verbatim refactored to
+%		remove \protect\pkg{fancyvrb} requirement.}
 
-% \begin{environment}{verbatim}
-%
-% \changes{v0.20}{2016/12/24}{Added.}
-%
-%    \begin{macrocode}
-\AfterEndPreamble{
-\AtBeginEnvironment{verbatim}{%
-\LWR at forcenewpage
-\LWR at atbeginverbatim{verbatim}\unskip\LWR at origvspace*{-\baselineskip}%
-}
-\AfterEndEnvironment{verbatim}{\unskip\LWR at origvspace*{-\baselineskip}\LWR at afterendverbatim}
-}
-%    \end{macrocode}
-% \end{environment}
 
-%    \begin{macrocode}
-\end{warpHTML}
-%    \end{macrocode}
-
-
-
-
-% \section{Fancyvrb}
-
 % \codeall
 %    \begin{macrocode}
 \begin{warpall}
@@ -12390,9 +12831,9 @@
 %    \begin{macrocode}
 \begin{warpHTML}
 %    \end{macrocode}
-%
+
 % \DescribeBoolean{LWR at verbtags} Used to temporarily turn off verbatim tags
-%	while doing \env{VerbatimInput} in the \HTML\ head.
+%	while doing \cs{verbatiminput} in the \HTML\ head.
 %    \begin{macrocode}
 \newbool{LWR at verbtags}
 \booltrue{LWR at verbtags}
@@ -12399,21 +12840,11 @@
 %    \end{macrocode}
 
 
-% For \cs{VerbatimFootnotes}:
-%    \begin{macrocode}
-\renewcommand{\VerbatimFootnotes}{
-\PackageError{lwarp}
-{Verbatim footnotes are not yet supported by lwarp.}
-{This may be improved some day.}
-}
-%    \end{macrocode}
-
-
-% \begin{macro}{\LWR at atbeginverbatim} \marg{class}
+% \begin{macro}{\LWR at atbeginverbatim} \oarg{style} \marg{class}
 %
 % Encloses a verbatim environment with the given \CSS\ class.
 %    \begin{macrocode}
-\newcommand*{\LWR at atbeginverbatim}[1]
+\newcommand*{\LWR at atbeginverbatim}[2][]
 {%
 %    \end{macrocode}
 % Avoid excessive space between lines:
@@ -12424,20 +12855,27 @@
 %    \begin{macrocode}
 \LWR at stoppars%
 %    \end{macrocode}
-% Create a new |pre| of the given class:
+% Create a new |pre| of the given class.
+% The tags may temporarily be turned off for internal use, such
+% as loading the MathJax script.
 %    \begin{macrocode}
-\ifbool{LWR at verbtags}{\LWR at htmltag{pre class="#1"{}}}{}%
+\ifbool{LWR at verbtags}{%
+\LWR at htmltag{pre class="#2"
+\ifthenelse{\equal{#1}{}}{}{style="#1"}%
+}% pre
+}{}%
 %    \end{macrocode}
 % Use a mono-spaced font to preserve horizontal positioning.
 % If horizontal alignment is important for the user, use a mono-spaced font
 % in the \CSS\ for the |verse| class.
 %    \begin{macrocode}
+\begingroup%
 \LWR at origttfamily%
 %    \end{macrocode}
 % Do not produce \HTML\ tags for \cs{hspace} inside a verse |par|.
 % Restore plain \LaTeX{} \cs{hspace} functionality:
 %    \begin{macrocode}
-\let\hspace\LWR at orighspace%
+\LetLtxMacro{\hspace}{\LWR at orighspace}%
 }
 %    \end{macrocode}
 % \end{macro}
@@ -12449,6 +12887,7 @@
 %    \end{macrocode}
 % Remove excess vertical space at the end of the |pre|:
 %    \begin{macrocode}
+\endgroup%
 \unskip%
 %    \end{macrocode}
 % At the end of the environment, close the |pre|:
@@ -12464,267 +12903,47 @@
 %    \end{macrocode}
 % \end{macro}
 %
+
+
+% \begin{macro}{\verbatiminput} \marg{filename}
 %
-% \begin{macro}{\LWR at Verbatimclass} Holds the class of the following verbatim.
+% Patch \cs{verbatiminput} to add \HTML\ tags:
 %
 %    \begin{macrocode}
-\newcommand*{\LWR at Verbatimclass}{fancyvrb}
-%    \end{macrocode}
-% \end{macro}
-%
-% \begin{environment}{VerbatimClass} \marg{class} \oarg{Verbatim options}
-%
-% Creates a \env{Verbatim} enclosed in a \tag{div} of the given class.
-%    \begin{macrocode}
-\NewDocumentEnvironment{VerbatimClass}{m O{}}
-{%
-\renewcommand*{\LWR at Verbatimclass}{#1}%
-\LWR at origVerbatim[#2]%
-}
-{\endVerbatim}
-%    \end{macrocode}
-% \end{environment}
-%
-% After the preamble is loaded, after any patches to \env{Verbatim}:
-%    \begin{macrocode}
-\AfterEndPreamble{
-%    \end{macrocode}
-%
-% Remember the original defintion of \env{Verbatim}:
-%    \begin{macrocode}
-\let\LWR at origVerbatim\Verbatim
-%    \end{macrocode}
-%
-%
-% \begin{environment}{Verbatim}
-%
-% Patched to place the environment in a |fancyvrb| div,
-% and the label in a |fancyvrblabel| div.
-% Also corrects the left margin for line numbers.
-% Also uses |VerbatimHTMLWidth| to control placement of line numbers on the right.
-% Aligning the right margin requires knowing the width.
-%
-% \changes{v0.20}{2016/12/24}{Added.}
-%
-%    \begin{macrocode}
-\renewcommand*{\Verbatim}{%
-\LWR at forcenewpage
-\renewcommand*{\LWR at Verbatimclass}{fancyvrb}%
-\LWR at origVerbatim%
-}
-%    \end{macrocode}
-% \end{environment}
-%
-%
-% The following patches to \env{Verbatim} are executed at the
-% start and end of the environment, depending on the choice of |frame|.
-% Original code is from the \pkg{fancyvrb} package.
-%    \begin{macrocode}
-\newcommand*{\LWR at fvstartnone}{%
-\LWR at traceinfo{fvstartnone}%
-\ifbool{LWR at verbtags}{\hbox to\z@{\LWR at htmltagc{div class="\LWR at Verbatimclass"}}}{}%
-\hbox to\z@{\LWR at atbeginverbatim{verbatim}}%
-}
+\let\LWRV at origverbatim@input\verbatim at input
 
-\newcommand*{\LWR at fvendnone}{%
-\LWR at traceinfo{fvendnone}%
-\hbox to\z@{\LWR at afterendverbatim}%
-\ifbool{LWR at verbtags}{\hbox to\z@{\LWR at htmltagc{/div}}}{}%
+\renewcommand{\verbatim at input}[2]{%
+\ifbool{LWR at verbtags}{\LWR at forcenewpage}{}%
+\LWR at atbeginverbatim{Verbatim}\unskip\LWR at origvspace*{-\baselineskip}%%
+\LWRV at origverbatim@input{#1}{#2}%
+\unskip\LWR at origvspace*{-\baselineskip}\LWR at afterendverbatim%
 }
-
-\newcommand*{\LWR at fvstartsingle}{%
-\LWR at traceinfo{fvstartsingle}%
-\LWR at fvstartnone%
-\FV at BeginListFrame@Single%
-}
-
-\newcommand*{\LWR at fvendsingle}{%
-\LWR at traceinfo{fvendsingle}%
-\FV at EndListFrame@Single%
-\LWR at fvendnone%
-}
-
-\newcommand*{\LWR at fvstartline}{%
-\LWR at traceinfo{fvstartline}%
-\LWR at fvstartnone%
-\FV at BeginListFrame@Lines%
-}
-
-\newcommand*{\LWR at fvendline}{%
-\LWR at traceinfo{fvendline}%
-\FV at EndListFrame@Lines%
-\LWR at fvendnone%
-}
 %    \end{macrocode}
-%
-% The following patches select the start/left/right/end
-% behaviors depending on |frame|.
-% Original code is from the \pkg{fancyvrb} package.
-%    \begin{macrocode}
-\def\FV at Frame@none{%
-\let\FV at BeginListFrame\LWR at fvstartnone%
-\let\FV at LeftListFrame\relax%
-\let\FV at RightListFrame\relax%
-\let\FV at EndListFrame\LWR at fvendnone}
+% \end{macro}
 
-\def\FV at Frame@single{%
-\let\FV at BeginListFrame\LWR at fvstartsingle%
-\let\FV at LeftListFrame\FV at LeftListFrame@Single%
-\let\FV at RightListFrame\FV at RightListFrame@Single%
-\let\FV at EndListFrame\LWR at fvendsingle}
 
-\def\FV at Frame@lines{%
-\let\FV at BeginListFrame\LWR at fvstartline%
-\let\FV at LeftListFrame\relax%
-\let\FV at RightListFrame\relax%
-\let\FV at EndListFrame\LWR at fvendline}
 
-\def\FV at Frame@topline{%
-\let\FV at BeginListFrame\LWR at fvstartline%
-\let\FV at LeftListFrame\relax%
-\let\FV at RightListFrame\relax%
-\let\FV at EndListFrame\LWR at fvendnone}
-
-\def\FV at Frame@bottomline{%
-\let\FV at BeginListFrame\LWR at fvstartnone%
-\let\FV at LeftListFrame\relax%
-\let\FV at RightListFrame\relax%
-\let\FV at EndListFrame\LWR at fvendline}
-
-\def\FV at Frame@leftline{%
-% To define the \FV at FrameFillLine macro (from \FV at BeginListFrame)
-\ifx\FancyVerbFillColor\relax%
-\let\FV at FrameFillLine\relax%
-\else%
-\@tempdima\FV at FrameRule\relax%
-\multiply\@tempdima-\tw@%
-\edef\FV at FrameFillLine{%
-{\noexpand\FancyVerbFillColor{\vrule\@width\number\@tempdima sp}%
-\kern-\number\@tempdima sp}}%
-\fi%
-\let\FV at BeginListFrame\LWR at fvstartnone%
-\let\FV at LeftListFrame\FV at LeftListFrame@Single%
-\let\FV at RightListFrame\relax%
-\let\FV at EndListFrame\LWR at fvendnone}
-%    \end{macrocode}
+% \begin{environment}{verbatim}
 %
-% Adds the optional label to the top and bottom edges.
-% Original code is from the \pkg{fancyvrb} package.
-%    \begin{macrocode}
-\def\FV at SingleFrameLine#1{%
-  \hbox to\z@{%
-%     \kern\leftmargin
-    \ifnum#1=\z@\relax
-      \let\FV at Label\FV at LabelBegin
-    \else
-      \let\FV at Label\FV at LabelEnd
-    \fi
-    \ifx\FV at Label\relax
-%       \FancyVerbRuleColor{\vrule \@width\linewidth \@height\FV at FrameRule}%
-    \else
-      \ifnum#1=\z@
-%         \setbox\z@\hbox{\strut\enspace\FV at LabelBegin\enspace\strut}%
-        \ifx\FV at LabelPositionTopLine\relax
-		\else
-        \LWR at htmltagc{div class="fancyvrblabel"}
-		\LWR at origtextrm{\FV at LabelBegin}% \textrm preserves emdash
-		\LWR at htmltagc{/div}
-		\fi
-      \else
-%         \setbox\z@\hbox{\strut\enspace\FV at LabelEnd\enspace\strut}%
-        \ifx\FV at LabelPositionBottomLine\relax
-		\else
-        \LWR at htmltagc{div class="fancyvrblabel"}
-		\LWR at origtextrm{\FV at LabelEnd}
-		\LWR at htmltagc{/div}
-		\fi
-      \fi
-
-    \fi
-    \hss
-	}
-}
-%    \end{macrocode}
+% \changes{v0.20}{2016/12/24}{Added.}
 %
-% Processes each line, adding optional line numbers.
-% Original code is from the \pkg{fancyvrb} package.
 %    \begin{macrocode}
-\def\FV at ListProcessLine#1{%
-   \hbox to \hsize{%
-%      \kern\leftmargin
-      \hbox to \VerbatimHTMLWidth {%
-       \ifcsvoid{FV at LeftListNumber}{}{\kern 2.5em}%
-		\FV at LeftListNumber%
-%       \FV at LeftListFrame
-      \FancyVerbFormatLine{#1}%
-      \hss%
-%       \FV at RightListFrame
-      \FV at RightListNumber%
-}%
-      \hss% required to avoid underfull hboxes
-}
-}
-%    \end{macrocode}
-
-% \begin{environment}{BVerbatim}
-%    \begin{macrocode}
-\AtBeginEnvironment{BVerbatim}
-{
+\AfterEndPreamble{
+\LWR at traceinfo{Patching verbatim.}
+\AtBeginEnvironment{verbatim}{%
 \LWR at forcenewpage
-\LWR at atbeginverbatim{bverbatim}
-
+\LWR at atbeginverbatim{verbatim}\unskip\LWR at origvspace*{-\baselineskip}%
 }
-
-\AfterEndEnvironment{BVerbatim}
-{
-\leavevmode\par\LWR at origvspace{-\baselineskip}
-\LWR at afterendverbatim
+\AfterEndEnvironment{verbatim}{\unskip\LWR at origvspace*{-\baselineskip}\LWR at afterendverbatim}
 }
 %    \end{macrocode}
 % \end{environment}
 
-
-% \begin{environment}{LVerbatim} No changes required.
-% ^^A    \begin{macrocode}
-% ^^A \AtBeginEnvironment{LVerbatim}
-% ^^A {
-% ^^A \LWR at atbeginverbatim{lverbatim}
-% ^^A \unskip\LWR at origvspace{-\baselineskip}
-% ^^A }
-
-% ^^A \AfterEndEnvironment{LVerbatim}
-% ^^A {
-% ^^A \unskip\LWR at origvspace{-\baselineskip}
-% ^^A \LWR at afterendverbatim
-% ^^A }
-% ^^A    \end{macrocode}
-% \end{environment}
-
-% End of the modifications to make at the end of the preamble:
 %    \begin{macrocode}
-} % \AfterEndPreamble
+\end{warpHTML}
 %    \end{macrocode}
 
-% 
-% \begin{macro}{\UseVerbatim} \marg{text}
-%
-% No changes required.
-% ^^A    \begin{macrocode}
-% ^^A \let\LWR at origUseVerbatim\UseVerbatim
-% ^^A 
-% ^^A \renewcommand*{\UseVerbatim}[1]{%
-% ^^A \LWR at atbeginverbatim{bverbatim}%
-% ^^A \unskip\LWR at origvspace{-\baselineskip}%
-% ^^A \LWR at origUseVerbatim{#1}%
-% ^^A \unskip%
-% ^^A \LWR at afterendverbatim%
-% ^^A }
-% ^^A    \end{macrocode}
-% \end{macro}
 
-%    \begin{macrocode}
-\end{warpHTML}
-%    \end{macrocode}
 
 
 
@@ -12783,11 +13002,37 @@
 
 % \section{Lists}
 %
-% \limitsbabelone
+% ^^A \limitsbabelone
 %
-% \limitsenumitem
+% The environments |itemize|, |enumerate|, and |description| are patched
+% when \pkg{lwarp} is started.  These patches support the standard
+% \LaTeX\ environments, as well as those of \pkg{enumerate}, \pkg{enumitem},
+% and \pkg{paralist}, and at least the French version of \pkg{babel}.
+% Additional patches are done on a package-specific basis.
 %
-
+% The \LaTeX\ source for |itemize| and |enumerate| are found in |source2e|, but
+% the source for |description| is found in |article.cls|, etc.
+%
+% To have an empty
+% item,\margintag{empty item}\index{item>empty}\index{list item, empty} use
+% |\mbox{}| or a trailing backslash.
+% This forces a new line in print output, matching the new line which
+% will appear in \HTML\ output.
+% Ex:
+%\begin{Verbatim}[gobble=2,frame=lines,obeytabs,tabsize=4]
+%\begin{itemize}
+%\item \mbox{}
+%     \begin{itemize}
+%	...
+%     \end{itemize}
+%\item \
+%     \begin{itemize}
+%   ...
+%     \end{itemize}
+%\end{Verbatim}
+%
+% \changes{v0.34}{2017/07/27}{Lists refactored to remove \pkg{enumitem} requirement.}
+%
 % \subsection{Itemize}
 
 % \codehtml
@@ -12795,11 +13040,6 @@
 \begin{warpHTML}
 %    \end{macrocode}
 
-%    \begin{macrocode}
-\let\LWR at origitem\item
-%    \end{macrocode}
-
-
 % \begin{macro}{\LWR at itemizeitem} \oarg{label}
 %
 % Handles |\item| inside an itemize or enumerate.
@@ -12817,22 +13057,8 @@
 %    \end{macrocode}
 % \end{macro}
 
-
-% To have a blank item, use |\mbox{}|.
-% This forces a new line in print output, matching the new line which
-% will appear in \HTML\ output.
-% Ex:
-%\begin{Verbatim}[gobble=2,frame=lines,obeytabs,tabsize=4]
-%\begin{itemize}
-%\item \mbox{}
-%    \begin{itemize}
-%	...
-%\end{Verbatim}
-
-% \begin{environment}{itemize} \oarg{enumitem options}
+% \begin{environment}{itemize} \oarg{options}
 %    \begin{macrocode}
-\AtBeginEnvironment{itemize}{\LWR at itemizestart}
-
 \newcommand*{\LWR at itemizestart}{%
 \LWR at stoppars%
 \LWR at pushoneclose{\LWR at depthlist}{\LWR at printcloseitemize{}}%
@@ -12841,8 +13067,6 @@
 \let\item\LWR at itemizeitem%
 }
 
-\AtEndEnvironment{itemize}{\LWR at itemizeend}
-
 \newcommand*{\LWR at itemizeend}{%
 \LWR at stoppars%
 \LWR at closeprevious{\LWR at depthlistitem}%
@@ -12858,10 +13082,8 @@
 
 % An \HTML\ unordered list is used with customized \LaTeX-generated labels.
 
-% \begin{environment}{enumerate} \oarg{enumitem options}
+% \begin{environment}{enumerate} \oarg{options}
 %    \begin{macrocode}
-\AtBeginEnvironment{enumerate}{\LWR at enumeratestart}
-
 \newcommand*{\LWR at enumeratestart}{%
 \LWR at stoppars%
 \LWR at pushoneclose{\LWR at depthlist}{\LWR at printcloseitemize{}}%
@@ -12870,9 +13092,6 @@
 \let\item\LWR at itemizeitem%
 }
 
-
-\AtEndEnvironment{enumerate}{\LWR at enumerateend}
-
 \newcommand*{\LWR at enumerateend}{%
 \LWR at stoppars%
 \LWR at closeprevious{\LWR at depthlistitem}%
@@ -12893,8 +13112,22 @@
 \LWR at stoppars%
 \LWR at setlatestname{#1}%
 \LWR at startnewdepth{\LWR at depthlistitem}{\LWR at printclosedescitem{}}%
+%    \end{macrocode}
+% Temporarily disable \cs{hspace}, which |article.cls|, etc.\ use per \cs{item}
+% for |description|s only.
+% This causes \pkg{lwarp} to mistakenly place an empty span between
+% \HTML\ list tags.
+%    \begin{macrocode}
+\LetLtxMacro{\hspace}{\LWR at nohspace}%
+%    \end{macrocode}
+% Process the original \cs{item} code:
+%    \begin{macrocode}
 \LWR at origitem[]%
 %    \end{macrocode}
+% Restore \cs{hspace} for use in the item text:
+%    \begin{macrocode}
+\LetLtxMacro{\hspace}{\LWR at hspace}%
+%    \end{macrocode}
 % Be sure the label doesn't print to the left of the rest of the file:
 %    \begin{macrocode}
 \LWR at orighspace{1in}
@@ -12906,10 +13139,8 @@
 %    \end{macrocode}
 % \end{macro}
 
-% \begin{environment}{description} \oarg{enumitem options}
+% \begin{environment}{description} \oarg{options}
 %    \begin{macrocode}
-\AtBeginEnvironment{description}{\LWR at descriptionstart}
-
 \newcommand*{\LWR at descriptionstart}{%
 \LWR at stoppars%
 \LWR at pushoneclose{\LWR at depthlist}{\LWR at printclosedescription{}}%
@@ -12918,8 +13149,6 @@
 \let\item\LWR at descitem%
 }
 
-\AtEndEnvironment{description}{\LWR at descriptionend}
-
 \newcommand*{\LWR at descriptionend}{%
 \LWR at stoppars%
 \LWR at closeprevious{\LWR at depthlistitem}%
@@ -12929,25 +13158,28 @@
 %    \end{macrocode}
 % \end{environment}
 
-
-% \begin{macro}{\newlist} \marg{name} \marg{type} \marg{maxdepth}
-% \begin{macro}{\renewlist} \marg{name} \marg{type} \marg{maxdepth}
+% \begin{macro}{\LWR at patchlists} Patches list environments.
 %
-% For \pkg{enumitem} lists, new lists must have the start and end actions assigned to
-% the new environment.  Renewed lists already have their actions assigned, and
-% thus need no changes.
+% \cs{LWr at patchlists} remembers \cs{item} as defined by whatever packages have
+%	been loaded, then
+% patches the |itemize|, |enumerate|, and |description| environments and \cs{item}.
+% This works with the native \LaTeX\ environments, as well as
+% those provided by \pkg{enumitem}, \pkg{enumerate}, and \pkg{paralist}.
+%
 %    \begin{macrocode}
-\let\LWR at orignewlist\newlist
-
-\renewcommand*{\newlist}[3]{%
-\LWR at orignewlist{#1}{#2}{#3}%
-\AtBeginEnvironment{#1}{\csuse{LWR@#2start}}%
-\AtEndEnvironment{#1}{\csuse{LWR@#2end}}%
+\newcommand*{\LWR at patchlists}{%
+\LetLtxMacro{\LWR at origitem}{\item}
+\AtBeginEnvironment{itemize}{\LWR at itemizestart}
+\AtEndEnvironment{itemize}{\LWR at itemizeend}
+\AtBeginEnvironment{enumerate}{\LWR at enumeratestart}
+\AtEndEnvironment{enumerate}{\LWR at enumerateend}
+\AtBeginEnvironment{description}{\LWR at descriptionstart}
+\AtEndEnvironment{description}{\LWR at descriptionend}
 }
 %    \end{macrocode}
 % \end{macro}
-% \end{macro}
 
+
 %    \begin{macrocode}
 \end{warpHTML}
 %    \end{macrocode}
@@ -12998,9 +13230,9 @@
 \afterassignment\LWR at fnslone\let\nexttoken= }
 \def\LWR at fnslone{\expandafter\futurelet\LWR at cs\LWR at fnsltwo}
 \def\LWR at fnsltwo{%
-\expandafter\ifx\LWR at cs\@sptoken\let\next=\@BTfnslthree%
+\expandafter\ifx\LWR at cs\@sptoken\let\next=\LWR at fnslthree%
 \else\let\next=\nexttoken\fi\next}
-\def\@BTfnslthree{\afterassignment\LWR at fnslone\let\next= }
+\def\LWR at fnslthree{\afterassignment\LWR at fnslone\let\next= }
 %    \end{macrocode}
 % \end{macro}
 
@@ -13008,6 +13240,7 @@
 % Looks ahead and copies the next token into |\LWR at mynexttoken|.
 %    \begin{macrocode}
 \newcommand*{\LWR at getmynexttoken}{%
+\LWR at traceinfo{LWR at getmynexttoken}%
 % nothing must follow this next line
 \LWR at futurenonspacelet\LWR at mynexttoken\LWR at tabledatacolumntag
 }
@@ -13151,7 +13384,7 @@
 %    \end{macrocode}
 %
 % Place \cs{StartDefiningTabulars} and
-%	\cs{EndDefiningTabulars}\margintag{misplaced alignment tab character \&}
+%	\cs{EndDefiningTabulars}\watchout[misplaced alignment tab character \&]
 % 	\index{alignment tab character \&, misplaced}
 % 	\index{misplaced alignment tab character \&}
 % before and after defining macros or environments which include
@@ -14472,7 +14705,7 @@
 %    \end{macrocode}
 % While printing the text, redefine |\\| to generate a new line
 %    \begin{macrocode}
-\begingroup \let\\\LWR at endofline #5 \endgroup
+\begingroup \LetLtxMacro{\\}{\LWR at endofline} #5 \endgroup
 \LWR at stoppars%
 \global\boolfalse{LWR at intabularmetadata}%
 }%
@@ -14493,10 +14726,15 @@
 % \begin{macro}{\LWR at tabledatacolumntag}
 % Open a new \HTML\ table cell unless the next token is for a macro
 % which does not create data, such as |\hline|, |\toprule|, etc:
+%
+% \changes{v0.34}{2017/08/08}{\pkg{booktabs}: Works inside \env{lateximage}.}
+%
 %    \begin{macrocode}
 \newbool{LWR at exitingtabular}
+
 \newcommand*{\LWR at tabledatacolumntag}%
 {%
+\LWR at traceinfo{LWR at tabledatacolumntag}%
 %    \end{macrocode}
 % \hspace*{.5in} |\show\LWR at mynexttoken| to see what tokens to look for
 %    \begin{macrocode}
@@ -14539,6 +14777,9 @@
 \ifthenelse{\isequivalentto{\LWR at mynexttoken}{\cmidrule}}%
 {\let\mynext\LWR at donothing}{}%
 %
+\ifthenelse{\isequivalentto{\LWR at mynexttoken}{\specialrule}}%
+{\let\mynext\LWR at donothing}{}%
+%
 \ifthenelse{\isequivalentto{\LWR at mynexttoken}{\cline}}%
 {\let\mynext\LWR at donothing}{}%
 %
@@ -14591,11 +14832,30 @@
 %    \begin{macrocode}
 \begin{warpHTML}
 %    \end{macrocode}
-
+%
+%
+% These are default defininitions in case \pkg{booktabs} is not loaded,
+% and are not expected to used, but must exist as placeholders.
+%
+% \changes{v0.34}{2017/08/08}{\pkg{booktabs}: Works inside \env{lateximage}.}
+%    \begin{macrocode}
+\newcommand*{\LWR at origtoprule}[1]{\hline}
+\newcommand*{\LWR at origmidrule}[1]{\hline}
+\LetLtxMacro\LWR at origcmidrule\cline
+\newcommand*{\LWR at origbottomrule}[1]{\hline}
+\newcommand*{\LWR at origaddlinespace}[1][]{}
+\newcommand*{\LWR at origmorecmidrules}{}
+\newcommand*{\LWR at origspecialrule}[3]{\hline}
+%    \end{macrocode}
+%
+%
 % \begin{environment}{LWR at tabular} \oarg{vertposition} \marg{colspecs}
 %
 % The new tabular environment will be |\let| in |\LWR at LwarpStart|,
 % since \pkg{siunitx} might redefine tabular in the user's document.
+%
+% \changes{v0.34}{2017/08/08}{\pkg{booktabs}: Works inside \env{lateximage}.}
+%
 %    \begin{macrocode}
 \StartDefiningTabulars
 
@@ -14646,34 +14906,38 @@
 %    \end{macrocode}
 % |\\| becomes a macro to end the table row:
 %    \begin{macrocode}
-\let\\\LWR at tabularendofline%
+\LetLtxMacro{\\}{\LWR at tabularendofline}%
 %    \end{macrocode}
 % The following may appear before a data cell is created,
 % so after doing their actions, we look ahead with |\LWR at getmynextoken|
 % to see if the next token might create a new data cell:
 %    \begin{macrocode}
+\LWR at traceinfo{LWR at tabular: redefining macros}%
 \renewcommand*{\hline}{\LWR at domidrule\LWR at getmynexttoken}%
 
-\newcommand*{\midrule}{\LWR at domidrule\LWR at getmynexttoken}%
-
-\NewDocumentCommand{\cmidrule}{o d() m}%
-{\LWR at docmidrule[##1](##2){##3}\LWR at getmynexttoken}%
-
 \RenewDocumentCommand{\cline}{m}%
 {\LWR at docmidrule{##1}\LWR at getmynexttoken}%
 
-\newcommand*{\toprule}{\LWR at dotbrule\LWR at getmynexttoken}%
+\DeclareDocumentCommand{\toprule}{o}{\LWR at dotbrule\LWR at getmynexttoken}%
 
-\newcommand*{\bottomrule}{\LWR at dotbrule\LWR at getmynexttoken}%
+\DeclareDocumentCommand{\midrule}{o}{\LWR at domidrule\LWR at getmynexttoken}%
+
+\DeclareDocumentCommand{\cmidrule}{o d() m}%
+{\LWR at docmidrule[##1](##2){##3}\LWR at getmynexttoken}%
+
+\DeclareDocumentCommand{\bottomrule}{o}{\LWR at dotbrule\LWR at getmynexttoken}%
+\DeclareDocumentCommand{\addlinespace}{o}{}
+\DeclareDocumentCommand{\morecmidrules}{}{}
+\DeclareDocumentCommand{\specialrule}{m m m}{\LWR at domidrule\LWR at getmynexttoken}
 %    \end{macrocode}
 % The following create data cells and will have no more data in this cell,
 % so we do not want to look ahead for a possible data cell,
 % so do not want to use |\LWR at getmynexttoken|.
 %    \begin{macrocode}
-\let\multicolumn\LWR at tabledatamulticolumntag%
-\let\multirow\LWR at tabledatamultirowtag%
+\LetLtxMacro{\multicolumn}{\LWR at tabledatamulticolumntag}%
+\LetLtxMacro{\multirow}{\LWR at tabledatamultirowtag}%
 \renewcommand*{\mrowcell}{\global\booltrue{LWR at skippingmrowcell}}%
-\let\caption\LWR at longtabledatacaptiontag%
+\LetLtxMacro{\caption}{\LWR at longtabledatacaptiontag}%
 %    \end{macrocode}
 % Reset for new processing:
 %    \begin{macrocode}
@@ -14688,6 +14952,7 @@
 %    \end{macrocode}
 % Look ahead for a possible table data cell:
 %    \begin{macrocode}
+\LWR at traceinfo{LWR at tabular: about to LWR at getmynexttoken}%
 \LWR at getmynexttoken%
 }%
 %    \end{macrocode}
@@ -15193,7 +15458,7 @@
 % Any reference to |\usepackage{hyperref}| must be placed inside a \env{warpprint} environment.
 % \watchout
 %    \begin{macrocode}
-% DO NOT TELL OTHER PACKAGES TO ASSUME HYPERREF:
+% DO NOT TELL OTHER PACKAGES TO ASSUME HYPERREF, lest they attempt to patch it:
 % \EmulatesPackage{hyperref}[2015/08/01]% Disabled.  Do not do this.
 %    \end{macrocode}
 
@@ -15258,7 +15523,9 @@
 
 % \begin{macro}{\url} \marg{URL}
 %
-% Create a link whose text name is the address of the link:
+% Create a link whose text name is the address of the link.
+% The \pkg{url} package may redefine \cs{url}, so it is \cs{let} to \cs{LWR at urla}here
+% and also redefined by \pkg{lwarp-url}.
 %    \begin{macrocode}
 \newcommand*{\LWR at urlb}[1]{%
 \href{#1}{#1}%
@@ -15266,11 +15533,13 @@
 \LWR at ensuredoingapar%
 }
 
-\newcommand{\url}{%
+\newcommand{\LWR at urla}{%
 \LWR at ensuredoingapar%
 \begingroup\catcode`\_=12
 \LWR at urlb%
 }
+
+\let\url\LWR at urla
 %    \end{macrocode}
 % \end{macro}
 
@@ -15486,10 +15755,10 @@
 % 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|,
 % (and the associated filename is remembered by the special \LaTeX\ labels).
-% This page number is used to generate an |autofloat| \HTML\ \tag{id}
+% This page number is used to generate an |autofloat| \HTML\ \element{id}
 % in the \HTML\ output at the start of the new \HTML\ file.
 % Meanwhile, there is a float counter used to generate an \HTML\ |autofloat|
-% \tag{id} at the start of the float itself in the \HTML\ file.
+% \element{id} at the start of the float itself in the \HTML\ file.
 % The |autopage| and |autofloat| values to use for each float are written to the
 % |.lof|, etc. files just before each float's entry.  These values are used
 % by \cs{l at figure}, etc. to create the \HTML\ links in the List of Figures, etc.
@@ -16286,15 +16555,15 @@
 % \subsection{Inline and display math}
 
 %    \begin{macrocode}
-\let\LWR at origdollar=$
-\let\LWR at secondorigdollar=$% balance for editor syntax highlighting
+\LetLtxMacro\LWR at origdollar$
+\LetLtxMacro\LWR at secondorigdollar$% balance for editor syntax highlighting
 %    \end{macrocode}
 
 %    \begin{macrocode}
-\let\LWR at origopenparen\(
-\let\LWR at origcloseparen\)
-\let\LWR at origopenbracket\[
-\let\LWR at origclosebracket\]
+\LetLtxMacro\LWR at origopenparen\(
+\LetLtxMacro\LWR at origcloseparen\)
+\LetLtxMacro\LWR at origopenbracket\[
+\LetLtxMacro\LWR at origclosebracket\]
 %    \end{macrocode}
 
 % \DescribeObject{\$}
@@ -16336,7 +16605,7 @@
 % \changes{v0.19}{2016/05/25}{MathJax support.}
 % Redefine the single dollar sign to place math inside a \env{lateximage}, or use MathJax:
 %    \begin{macrocode}
-\gdef\LWR at singledollar#1${%
+\gdef\LWR at subsingledollar#1{%
 \ifbool{mathjax}%
 %    \end{macrocode}
 % For MathJax, print the math between |\(| and |\)|:
@@ -16351,7 +16620,11 @@
 \LWR at origdollar#1\LWR at origdollar%
 \end{lateximage}%
 }%
-}%
+}
+
+\gdef\LWR at singledollar#1${%
+\LWR at subsingledollar{#1}%
+}
 %    \end{macrocode}
 % \end{macro}
 
@@ -16364,11 +16637,28 @@
 \gdef\[#1\]{$$#1$$}
 
 \endgroup
+
+
+
 %    \end{macrocode}
 % \end{macro}
 % \end{macro}
 
 
+
+% \begin{macro}{\@ensuredmath} \marg{expression} Not yet adapted to \pkg{lwarp}.
+%
+%    \begin{macrocode}
+\let\LWR at orig@ensuredmath\@ensuredmath
+
+\newcommand*{\LWR at ensuredmath}[1]{%
+\LWR at traceinfo{@ensuredmath: page \thepage: \detokenize{#1}}%
+\LWR at subsingledollar{#1}%
+}
+%    \end{macrocode}
+% \end{macro}
+
+
 % Remove the old |math| and |displaymath| environments:
 %    \begin{macrocode}
 \let\math\relax
@@ -16393,13 +16683,8 @@
 %    \end{macrocode}
 % \end{environment}
 
-% When the document begins, the dollar sign must be made active to trigger the new math macros:
-%    \begin{macrocode}
-\AtBeginDocument{\catcode`\$=\active}
-%    \end{macrocode}
 
 
-
 % \subsection{MathJax support}
 % \changes{v0.19}{2016/05/25}{MathJax support added.}
 %
@@ -16422,7 +16707,7 @@
 % Otherwise, use the simple equation number.
 %    \begin{macrocode}
 \ifcsdef{thechapter}{
-\BlockClassSingle{hidden}{
+\InlineClass{hidden}{
 \textbackslash(
 \textbackslash{}seteqsection \{\thechapter\}
 \textbackslash)
@@ -16429,7 +16714,6 @@
 }
 }
 {}% not using chapters
-
 %    \end{macrocode}
 % MathJax doesn't allow setting the equation number to 1:
 %    \begin{macrocode}
@@ -16445,7 +16729,7 @@
 % Place the MathJax command inside ``\cs{(}'' and ``\cs{)}'' characters,
 % to be printed to \HTML, not interpreted by \LaTeX.
 %    \begin{macrocode}
-\BlockClassSingle{hidden}{
+\InlineClass{hidden}{
 \textbackslash(
 \textbackslash{}seteqnumber \{\arabic{LWR at nextequation}\}
 \textbackslash)
@@ -16458,19 +16742,38 @@
 %
 
 
-% \begin{macro}{\LWR at restoremathlatexformatting}
-% While producing math, use regular \LaTeX\ formatting instead of \HTML\ tags.
+% \begin{macro}{\LWR at restoreorigformatting}
+% While producing \SVG\ math or a \env{lateximage},
+%	use regular \LaTeX\ formatting instead of \HTML\ tags.
+% \changes{v0.34}{2017/08/05}{Improved font control.}
+% \changes{v0.34}{2017/08/08}{\pkg{booktabs}: Works inside \env{lateximage}.}
 %    \begin{macrocode}
-\newcommand*{\LWR at restoremathlatexformatting}{%
-\let\hspace\LWR at orighspace%
-\let\rule\LWR at origrule%
+\newcommand*{\LWR at restoreorigformatting}{%
+\LetLtxMacro{\hspace}{\LWR at orighspace}%
+\LetLtxMacro\rule\LWR at origrule%
 \let\,\LWR at origcomma% disable HTML short unbreakable space
-\let\textit\LWR at origtextit%
-\let\textbf\LWR at origtextbf%
-\let\texttt\LWR at origtexttt%
-\let\textsc\LWR at origtextsc%
-\let\textsf\LWR at origtextsf%
-\let\textrm\LWR at origtextrm%
+\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}%
+\LetLtxMacro{\bfseries}{\LWR at origbfseries}%
+\LetLtxMacro{\mdseries}{\LWR at origmdseries}%
+\LetLtxMacro{\upshape}{\LWR at origupshape}%
+\LetLtxMacro{\slshape}{\LWR at origslshape}%
+\LetLtxMacro{\scshape}{\LWR at origscshape}%
+\LetLtxMacro{\itshape}{\LWR at origitshape}%
+\LetLtxMacro{\em}{\LWR at origem}%
+\LetLtxMacro{\normalfont}{\LWR at orignormalfont}%
 \renewcommand*{\thefootnote}{\fnsymbol{footnote}}%
 \let\textsuperscript\LWR at origtextsuperscript%
 \let\textsubscript\LWR at origtextsubscript%
@@ -16478,6 +16781,29 @@
 \let\enskip\LWR at origenskip%
 \let\quad\LWR at origquad%
 \let\qquad\LWR at origqquad%
+\LetLtxMacro{\tabular}{\LWR at origtabular}%
+\LetLtxMacro{\endtabular}{\LWR at origendtabular}%
+\LetLtxMacro\toprule\LWR at origtoprule%
+\LetLtxMacro\midrule\LWR at origmidrule%
+\LetLtxMacro\cmidrule\LWR at origcmidrule%
+\LetLtxMacro\bottomrule\LWR at origbottomrule%
+\LetLtxMacro\addlinespace\LWR at origaddlinespace%
+\LetLtxMacro\morecmidrules\LWR at origmorecmidrules%
+\LetLtxMacro\specialrule\LWR at origspecialrule%
+\let\newline\LWR at orignewline%
+\LetLtxMacro{\raisebox}{\LWR at origraisebox}%
+\LetLtxMacro{\scalebox}{\LWR at origscalebox}%
+\LetLtxMacro{\rotatebox}{\LWR at origrotatebox}%
+\let\reflectbox\LWR at origreflectbox%
+\let\framebox\LWR at origframebox%
+\let\makebox\LWR at origmakebox%
+\let\fbox\LWR at origfbox%
+\let\fboxBlock\LWR at origfbox%
+\LetLtxMacro{\fminipage}{\LWR at fminipageprint}%
+\LetLtxMacro{\endfminipage}{\endLWR at fminipageprint}%
+\LetLtxMacro{\minipage}{\LWR at origminipage}%
+\let\endminipage\LWR at endminipage%
+\LetLtxMacro{\parbox}{\LWR at origparbox}%
 }
 %    \end{macrocode}
 % \end{macro}
@@ -16504,7 +16830,7 @@
 % While in the math environment,
 % restore various commands to their \LaTeX\ meanings.
 %    \begin{macrocode}
-\LWR at restoremathlatexformatting
+\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,
@@ -16538,10 +16864,10 @@
 % The contents are printed to \HTML\ output, not interpreted by \LaTeX.
 %    \begin{macrocode}
 \NewDocumentCommand{\LWR at addmathjax}{m +m}{%
-
 %    \end{macrocode}
 % Enclose the MathJax environment inside printed ``\cs{(}'' and ``\cs{)}'' characters.
 %    \begin{macrocode}
+\LWR at origtilde\LWR at orignewline
 \textbackslash{}begin\{#1\}
 %    \end{macrocode}
 % Print the contents, sanitizing for \HTML\ special characters.
@@ -16551,7 +16877,7 @@
 % Close the MathJax environment:
 %    \begin{macrocode}
 \textbackslash{}end\{#1\}
-
+\LWR at orignewline
 }
 %    \end{macrocode}
 % \end{macro}
@@ -16707,11 +17033,11 @@
 %    \begin{macrocode}
 \newcommand*{\LWR at beginhideamsmath}{
 \LWR at stoppars
-
+\LWR at origtilde\LWR at orignewline
 \LWR at htmlopencomment
 
 \begingroup
-\LWR at restoremathlatexformatting
+\LWR at restoreorigformatting
 }
 %    \end{macrocode}
 % \end{macro}
@@ -16723,7 +17049,7 @@
 \endgroup
 
 \LWR at htmlclosecomment
-
+\LWR at orignewline
 \LWR at startpars
 }
 %    \end{macrocode}
@@ -16736,9 +17062,11 @@
 %
 % \changes{v0.19}{2016/05/25}{MathJax support added.}
 % \changes{v0.33}{2017/06/20}{Fix: Incorrectly-inline math environments.}
+% \changes{v0.34}{2017/07/29}{Fix: Added the \protect\texttt{eqnarray} environments.}
 %
 % The following \pkg{amsmath} environments already collect their contents
-% in \cs{@envbody} for further processing.
+% in \cs{@envbody} for further processing.  \env{eqnarray} is not an \AmS\ package,
+% and thus requires special handling.
 %
 % For \SVG\ math: Each envrionment is encapsulated inside a \env{lateximage} environment,
 % along with a special |LWRAMSMATHBODY| argument
@@ -16750,6 +17078,121 @@
 % printed to \HTML\ output for MathJax to process.
 %
 
+
+% \begin{environment}{eqnarray}
+%
+% This environmnet is not an \AmS\ environment and thus its body is not
+% automatically captured, so the \pkg{environ} package is used to
+% capture the environment into \cs{BODY}.
+%    \begin{macrocode}
+\let\LWR at origeqnarray\eqnarray
+\let\LWR at origendeqnarray\endeqnarray
+%    \end{macrocode}
+%
+% To remember whether the starred environment was used, and thus
+% whether to number the equations:
+%    \begin{macrocode}
+\newbool{LWR at numbereqnarray}
+\booltrue{LWR at numbereqnarray}
+%    \end{macrocode}
+%
+% Common code used by \env{eqnarray} and \env{Beqnarray} (from \pkg{fancybox}):
+%    \begin{macrocode}
+\newcommand{\LWR at eqnarrayfactor}{%
+%    \end{macrocode}
+%
+% Different behavior depending on MathJax vs \SVG\ math:
+%    \begin{macrocode}
+\ifbool{mathjax}
+{
+%    \end{macrocode}
+%
+% If MathJax, the environment contents (the \cs{BODY}) are executed in a
+% \HTML\ comment to trigger the correct equation number increment (if not starred),
+% then are included verbatim in the output for MathJax to interpret:
+%    \begin{macrocode}
+\LWR at syncmathjax
+\boolfalse{LWR at amsmultline}
+\ifbool{LWR at numbereqnarray}
+{
+%    \end{macrocode}
+%
+% If numbering the equations, execute a copy inside an \HTML\ comment block:
+%    \begin{macrocode}
+\LWR at beginhideamsmath
+\LWR at origeqnarray
+\BODY
+\LWR at origendeqnarray
+\LWR at endhideamsmath
+%    \end{macrocode}
+%
+% Then print the (sanitized) contents to the output for MathJax to interpret:
+%    \begin{macrocode}
+\LWR at addmathjax{eqnarray}{\BODY}
+}{% not LWR at numbereqnarray
+%    \end{macrocode}
+%
+% If not numbering equations, just create the contents for MathJax:
+%    \begin{macrocode}
+\LWR at addmathjax{eqnarray*}{\BODY}
+}% LWR at numbereqnarray
+}% mathjax
+{% not mathjax
+\ifbool{LWR at numbereqnarray}
+{
+%    \end{macrocode}
+%
+% For numbered \SVG\ equations, first create a \env{lateximage} with
+%	an \attribute{alt} attribute containing sanitized copy of the source code:
+%    \begin{macrocode}
+\begin{lateximage}[\LWR at addmathjax{eqnarray}{\BODY}]
+%    \end{macrocode}
+% Then create the image contents using an actual \env{eqnarray}:
+%    \begin{macrocode}
+\LWR at origeqnarray
+\BODY
+\LWR at origendeqnarray
+\end{lateximage}
+}{% not LWR at numbereqnarray
+%    \end{macrocode}
+% If not numbered, do the same, but an extra \cs{nonumber} seems to be required:
+%    \begin{macrocode}
+\begin{lateximage}[\LWR at addmathjax{eqnarray*}{\BODY}]
+\LWR at origeqnarray
+\BODY
+\nonumber
+\LWR at origendeqnarray
+\end{lateximage}
+}% LWR at numbereqnarray
+}% not mathjax
+%    \end{macrocode}
+%
+% Default to number equations in the future:
+%    \begin{macrocode}
+\booltrue{LWR at numbereqnarray}
+}
+%    \end{macrocode}
+%
+% \env{eqnarray} itself is made with a blank line before and after to
+% force it to be on its own line:
+%    \begin{macrocode}
+\RenewEnviron{eqnarray}
+{%
+
+\LWR at eqnarrayfactor
+
+}
+%    \end{macrocode}
+%
+% The starred version is patched to turn off the numbering:
+%    \begin{macrocode}
+\csgpreto{eqnarray*}{\boolfalse{LWR at numbereqnarray}}
+%    \end{macrocode}
+% \end{environment}
+%
+%
+% The following \AmS\ environments are more easily patched in-place:
+%
 % \begin{environment}{multline}
 %    \begin{macrocode}
 \BeforeBeginEnvironment{multline}{
@@ -17138,12 +17581,19 @@
 
 
 % \begin{environment}{lateximage} \oarg{alttag}
+%
 % \changes{v0.18}{2016/05/18}{Surpress 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}.}
 % \changes{v0.26}{2017/03/29}{Labels track page numbers of lateximages.}
+% \changes{v0.34}{2017/07/29}{Fix: \env{lateximage} with
+%		\env{minipage}, \cs{parbox}, \cs{makebox}, \cs{fbox}, \cs{framebox},
+%		\cs{raisebox}, \cs{scalebox}, \cs{reflectbox}.}
+%
 %    \begin{macrocode}
+\catcode`\$=\active%
+
 \NewDocumentEnvironment{lateximage}{O{image}}{%
 \LWR at traceinfo{lateximage: starting on page \arabic{page}}%
 \ifthenelse{\cnttest{\value{LWR at lateximagedepth}}{>}{0}}%
@@ -17163,7 +17613,7 @@
 \addtocounter{LWR at lateximagenumber}{1}%
 \LWR at traceinfo{lateximage: LWR at lateximagenumber is \arabic{LWR at lateximagenumber}}%
 %    \end{macrocode}
-% While inside a lateximage, do not use mathjax:
+% While inside a lateximage, locally do not use mathjax:
 %    \begin{macrocode}
 \boolfalse{mathjax}
 %    \end{macrocode}
@@ -17189,6 +17639,7 @@
 %    \end{macrocode}
 % Write instructions to the |lateximages.txt| file:
 %    \begin{macrocode}
+\LWR at traceinfo{lateximage: about to write to lateximages.txt}%
 \immediate\write\LWR at file{|\theLWR at LIpage|\theLWR at externalfilecnt|}%
 %    \end{macrocode}
 % Place an open comment tag at the bottom of page; footnotes will be above this tag.
@@ -17195,15 +17646,21 @@
 % This will hide any traces of the lateximage \PDF\ page which were picked up by
 % |pdftotext|.
 %    \begin{macrocode}
+\LWR at traceinfo{lateximage: about to create open comment}%
 \LWR at htmlopencomment%
+%    \end{macrocode}
+% One level deeper:
+%    \begin{macrocode}
 \addtocounter{LWR at lateximagedepth}{1}%
 %    \end{macrocode}
 % Start the new \PDF\ page:
 %    \begin{macrocode}
+\LWR at traceinfo{lateximage: about to create new page}%
 \LWR at orignewpage%
 %    \end{macrocode}
 % Typeset the image in a ``standard'' width page and font size:
 %    \begin{macrocode}
+\LWR at traceinfo{lateximage: about to create minipage}%
 \LWR at origminipage{6in}%
 \csuse{LWR at orig\LateximageFontSizeName}%
 %    \end{macrocode}
@@ -17210,29 +17667,23 @@
 % Temporarily restore formatting to its \PDF\ definitions:
 % Do not produce \HTML\ tags for \cs{hspace}, etc. inside a lateximage.
 %    \begin{macrocode}
-\let\hspace\LWR at orighspace%
-\let\rule\LWR at origrule%
-\let\,\LWR at origcomma% disable HTML short unbreakable space
-\let\textit\LWR at origtextit%
-\let\textbf\LWR at origtextbf%
-\let\texttt\LWR at origtexttt%
-\let\textsc\LWR at origtextsc%
-\let\textsf\LWR at origtextsf%
-\let\textrm\LWR at origtextrm%
-\renewcommand*{\thefootnote}{\fnsymbol{footnote}}%
-\let\textsuperscript\LWR at origtextsuperscript%
-\let\textsubscript\LWR at origtextsubscript%
-\let~\LWR at origtilde%
-\let\enskip\LWR at origenskip%
-\let\quad\LWR at origquad%
-\let\qquad\LWR at origqquad%
-\let\tabular\LWR at origtabular%
-\let\endtabular\LWR at origendtabular%
-\let\newline\LWR at orignewline%
+\LWR at traceinfo{lateximage: about to temporarily restore formatting}%
+\LWR at restoreorigformatting%
+\LWR at traceinfo{lateximage: about to create label}%
 \LWR at origlabel{LWRlateximage\arabic{LWR at lateximagenumber}}%
+\LWR at traceinfo{lateximage: finished creating the label}%
+\LetLtxMacro$\LWR at origdollar%
+\catcode`\$=3% math shift
+\LetLtxMacro\(\LWR at origopenparen%
+\LetLtxMacro\)\LWR at origcloseparen%
+\LetLtxMacro\[\LWR at origopenbracket%
+\LetLtxMacro\]\LWR at origclosebracket%
+\let\@ensuredmath\LWR at orig@ensuredmath%
 }% end of outer-most lateximage
+\LWR at traceinfo{lateximage: finished start of environment}%
 }% end of \begin{lateximage}
 {% start of \end{lateximage}
+\LWR at traceinfo{lateximage: starting end of environment}%
 \ifthenelse{\cnttest{\value{LWR at lateximagedepth}}{>}{1}}%
 %    \end{macrocode}
 % If nesting inside an already-existing lateximage, simply record one more level:
@@ -17293,14 +17744,17 @@
 %    \begin{macrocode}
 \addtocounter{LWR at lateximagedepth}{-1}%
 }% end of outer-most lateximage
-\LWR at traceinfo{lateximage: done}
+\LWR at traceinfo{lateximage: done}%
 }%
+\catcode`\$=3% math shift
 \end{warpHTML}
 %    \end{macrocode}
+
 % \codeprint
 %    \begin{macrocode}
 \begin{warpprint}
-\newenvironment{lateximage}[1][]{\minipage{\linewidth}}{\endminipage}
+% \newenvironment{lateximage}[1][]{\minipage{\linewidth}}{\endminipage}
+\newenvironment{lateximage}[1][]{}{}
 \end{warpprint}
 %    \end{macrocode}
 % \end{environment}
@@ -17891,6 +18345,8 @@
 % Will \cs{let}\cs{rotatebox}\cs{LWR at rotatebox} at \cs{LWR at LwarpStart},
 % in case \cs{rotatebox} was over-written by a later package load.
 %    \begin{macrocode}
+\LetLtxMacro\LWR at origrotatebox\rotatebox
+
 \NewDocumentCommand{\LWR at rotatebox}{O{} m +m}{%
 %    \end{macrocode}
 % Reset the origin to ``none-given'':
@@ -17935,6 +18391,8 @@
 % Will \cs{let}\cs{scalebox}\cs{LWR at scalebox} at \cs{LWR at LwarpStart},
 % in case \cs{scalebox} was over-written by a later package load.
 %    \begin{macrocode}
+\LetLtxMacro\LWR at origscalebox\scalebox
+
 \NewDocumentCommand{\LWR at scalebox}{m o m}{%
 %    \end{macrocode}
 % Select |inline-block| so that \HTML\ will transform this span:
@@ -17967,6 +18425,8 @@
 % in case \\
 % \cs{reflectbox} was over-written by a later package load.
 %    \begin{macrocode}
+\let\LWR at origreflectbox\reflectbox
+
 \newcommand{\LWR at reflectbox}[1]{\LWR at scalebox{-1}[1]{#1}}
 %    \end{macrocode}
 % \end{macro}
@@ -18049,6 +18509,7 @@
 % \end{flushleft}
 %    \begin{macrocode}
 \AfterEndPreamble{
+\LWR at traceinfo{Patching cleveref.}
 %    \end{macrocode}
 
 % \begin{macro}{\@@setcref} \marg{kindofref} \marg{label}
@@ -18151,10 +18612,7 @@
 % \changes{v0.24}{2017/03/13}{Fix for inline images.}
 % \changes{v0.26}{2017/03/30}{Fix for \cs{makebox} in \env{picture}.}
 %    \begin{macrocode}
-\BeforeBeginEnvironment{picture}{%
-\lateximage%
-\let\makebox\LWR at origmakebox%
-}
+\BeforeBeginEnvironment{picture}{\lateximage}
 
 \AfterEndEnvironment{picture}{\endlateximage}
 %    \end{macrocode}
@@ -18204,11 +18662,6 @@
 \newlength{\LWR at minipageheight}
 %    \end{macrocode}
 %
-% Remember the original definitions:
-%    \begin{macrocode}
-\let\LWR at origminipage\minipage
-\let\LWR at origendminipage\endminipage
-%    \end{macrocode}
 %
 %
 % \subsection{Footnote handling}
@@ -18330,13 +18783,6 @@
 %    \begin{macrocode}
 \RenewDocumentEnvironment{minipage}{O{t} o O{t} m}
 {%
-%    \end{macrocode}
-% Pre-compute the given width and height:
-%    \begin{macrocode}
-%    \end{macrocode}
-% Reset the text area if are starting the outer-most minipage:
-%    \begin{macrocode}
-\LWR at traceinfo{starting minipage of width #4}%
 \uselengthunit{in}%
 \setlength{\LWR at minipagewidth}{#4}%
 \ifthenelse{\cnttest{\value{LWR at minipagedepth}}{=}{0}}{%
@@ -18356,7 +18802,7 @@
 %    \begin{macrocode}
 \LWR at stoppars%
 %    \end{macrocode}
-% Create the |<div>| tag with optional alignment style:
+% Create the \element{div} tag with optional alignment style:
 %    \begin{macrocode}
 \LWR at traceinfo{minipage: creating div class}%
 \LWR at orignewpage%
@@ -18447,14 +18893,16 @@
 % \end{macro}
 %
 %
-% \begin{macro}{\makebox} \oarg{width} \oarg{pos} \marg{text}
+% \begin{macro}{\makebox} \parg(posn) \oarg{width} \oarg{pos} \marg{text}
 %
-% Width and position are ignored.
+% Width and positions are ignored.
+%
+% \changes{v0.34}{2017/07/31}{Fix: Handles paren arg.}
 %    \begin{macrocode}
-\let\LWR at origmakebox\makebox
+\LetLtxMacro\LWR at origmakebox\makebox
 
-\RenewDocumentCommand{\makebox}{o o m}{%
-\mbox{#3}
+\RenewDocumentCommand{\makebox}{d() o o m}{%
+\mbox{#4}
 }
 %    \end{macrocode}
 % \end{macro}
@@ -18464,6 +18912,8 @@
 %
 % Width and position are ignored.
 %    \begin{macrocode}
+\LetLtxMacro\LWR at origframebox\framebox
+
 \RenewDocumentCommand{\framebox}{o o m}{%
 \fbox{#3}
 }
@@ -18472,18 +18922,61 @@
 %
 %
 % \begin{macro}{\fbox} \marg{text}
+%
+% Creates a framed inline span enclosing the text.
 %    \begin{macrocode}
 \let\LWR at origfbox\fbox
+
+\renewcommand{\fbox}[1]{%
+\LWR at htmltagc{span class="framebox"}%
+\begin{LWR at nestspan}%
+#1
+\LWR at htmltagc{/span}%
+\end{LWR at nestspan}%
+}
+%    \end{macrocode}
+% \end{macro}
 %
-\renewcommand*{\fbox}[1]{%
-\InlineClass{framebox}{#1}%
+
+% \begin{macro}{\fboxBlock} \marg{text}
+% Creates a framed \HTML\ \element{div} of the text.
+%
+% A print-output version is also supplied below.
+%
+% \changes{v0.34}{2017/07/31}{Added.}
+%
+%    \begin{macrocode}
+\newcommand{\fboxBlock}[1]{%
+\begin{BlockClass}{framed}
+#1
+\end{BlockClass}
 }
 %    \end{macrocode}
 % \end{macro}
+
+% \begin{environment}{fminipage} \oarg{align} \oarg{height} \oarg{align} \marg{width}
 %
+% Creates a framed \HTML\ \element{div} around its contents.
 %
+% A print-output version is also supplied below.
+%
+% \changes{v0.34}{2017/07/31}{Added.}
+%
+%    \begin{macrocode}
+\NewDocumentEnvironment{fminipage}{O{t} o O{t} m}
+{%
+\setlength{\LWR at tempwidth}{#4}
+\begin{BlockClass}[width:\rndprintlength{\LWR at tempwidth};]{framed}%
+}
+{\end{BlockClass}}
+%    \end{macrocode}
+% \end{environment}
+%
+%
 % \begin{macro}{\raisebox} \marg{raiselen} \oarg{height} \oarg{depth} \marg{text}
 %    \begin{macrocode}
+\LetLtxMacro{\LWR at origraisebox}{\raisebox}
+
 \RenewDocumentCommand{\raisebox}{m o o m}{%
 #4%
 }
@@ -18496,13 +18989,76 @@
 
 
 
+% \codeall
+%    \begin{macrocode}
+\begin{warpall}
+%    \end{macrocode}
 
+% \begin{environment}{LWR at fminipageprint} \oarg{align} \oarg{height} \oarg{align} \marg{width}
+%
+% Creates a frame around its contents.
+%    \begin{macrocode}
+\newsavebox{\LWR at fminipagebox}
 
+\NewDocumentEnvironment{LWR at fminipageprint}{O{t} o O{t} m}
+{%
+\IfValueTF{#2}%
+{\minipage[#1][#2][#3]{#4}}%
+{\minipage[#3]{#4}}%
+\begin{lrbox}{\LWR at fminipagebox}%
+\IfValueTF{#2}%
+{\minipage[#1][#2][#3]{\linewidth-2\fboxsep-2\fboxrule}}%
+{\minipage[#3]{\linewidth-2\fboxsep-2\fboxrule}}%
+}
+{%
+\endminipage%
+\end{lrbox}%
+\fbox{\usebox{\LWR at fminipagebox}}%
+\endminipage%
+}
+%    \end{macrocode}
+% \end{environment}
 
 
+%    \begin{macrocode}
+\end{warpall}
+%    \end{macrocode}
 
 
 
+% \codeprint
+%    \begin{macrocode}
+\begin{warpprint}
+%    \end{macrocode}
+
+% \begin{macro}{\fboxBlock} \marg{text}
+%
+% Creates a framed \HTML\ \element{div} around the text.
+%    \begin{macrocode}
+\let\fboxBlock\fbox
+%    \end{macrocode}
+% \end{macro}
+
+
+% \begin{environment}{fminipage} \oarg{align} \oarg{height} \oarg{align} \marg{width}
+%
+% Creates a frame around its contents.
+%    \begin{macrocode}
+\LetLtxMacro{\fminipage}{\LWR at fminipageprint}
+\LetLtxMacro{\endfminipage}{\endLWR at fminipageprint}
+%    \end{macrocode}
+% \end{environment}
+
+%    \begin{macrocode}
+\end{warpprint}
+%    \end{macrocode}
+
+
+
+
+
+
+
 % \section{Direct formatting}
 % \label{sec:directformatting}
 %
@@ -18517,39 +19073,53 @@
 \begin{warpHTML}
 %    \end{macrocode}
 
+% \changes{v0.34}{2017/08/05}{Improved font control.}
+
 % \begin{macro}{\emph} \marg{text}
 %    \begin{macrocode}
-\renewcommand{\emph}[1]{\LWR at htmlspan{em}{#1}}
+\DeclareRobustCommand{\LWR at HTMLemph}[1]{\LWR at htmlspan{em}{#1}}
+\DeclareRobustCommand{\LWR at nullemph}[1]{#1}
+\LetLtxMacro{\emph}{\LWR at HTMLemph}
 %    \end{macrocode}
 % \end{macro}
 
 % \begin{macro}{\textmd} \marg{text}
 %    \begin{macrocode}
-\renewcommand{\textmd}[1]{\LWR at htmlspan{textmd}{#1}}
+\DeclareRobustCommand{\LWR at HTMLtextmd}[1]{\LWR at htmlspan{textmd}{#1}}
+\DeclareRobustCommand{\LWR at nulltextmd}[1]{#1}
+\LetLtxMacro{\textmd}{\LWR at HTMLtextmd}
 %    \end{macrocode}
 % \end{macro}
 
 % \begin{macro}{\textbf} \marg{text}
 %    \begin{macrocode}
-\renewcommand{\textbf}[1]{\LWR at htmlspan{b}{#1}}
+\DeclareRobustCommand{\LWR at HTMLtextbf}[1]{\LWR at htmlspan{b}{#1}}
+\DeclareRobustCommand{\LWR at nulltextbf}[1]{#1}
+\LetLtxMacro{\textbf}{\LWR at HTMLtextbf}
 %    \end{macrocode}
 % \end{macro}
 
 % \begin{macro}{\textrm} \marg{text}
 %    \begin{macrocode}
-\renewcommand{\textrm}[1]{\InlineClass{textrm}{#1}}
+\DeclareRobustCommand{\LWR at HTMLtextrm}[1]{\LWR at htmlspan{textrm}{#1}}
+\DeclareRobustCommand{\LWR at nulltextrm}[1]{#1}
+\LetLtxMacro{\textrm}{\LWR at HTMLtextrm}
 %    \end{macrocode}
 % \end{macro}
 
 % \begin{macro}{\textsf} \marg{text}
 %    \begin{macrocode}
-\renewcommand{\textsf}[1]{\InlineClass{textsf}{#1}}
+\DeclareRobustCommand{\LWR at HTMLtextsf}[1]{\LWR at htmlspan{textsf}{#1}}
+\DeclareRobustCommand{\LWR at nulltextsf}[1]{#1}
+\LetLtxMacro{\textsf}{\LWR at HTMLtextsf}
 %    \end{macrocode}
 % \end{macro}
 
 % \begin{macro}{\texttt} \marg{text}
 %    \begin{macrocode}
-\renewcommand{\texttt}[1]{\LWR at htmlspan{kbd}{#1}}
+\DeclareRobustCommand{\LWR at HTMLtexttt}[1]{\LWR at htmlspan{kbd}{#1}}
+\DeclareRobustCommand{\LWR at nulltexttt}[1]{#1}
+\LetLtxMacro{\texttt}{\LWR at HTMLtexttt}
 %    \end{macrocode}
 % \end{macro}
 
@@ -18556,30 +19126,116 @@
 % \begin{macro}{\textup} \marg{text}
 % \changes{v0.28}{2017/04/13}{Fixed span class.}
 %    \begin{macrocode}
-\renewcommand{\textup}[1]{\InlineClass{textup}{#1}}
+\DeclareRobustCommand{\LWR at HTMLtextup}[1]{\LWR at htmlspan{textup}{#1}}
+\DeclareRobustCommand{\LWR at nulltextup}[1]{#1}
+\LetLtxMacro{\textup}{\LWR at HTMLtextup}
 %    \end{macrocode}
 % \end{macro}
 
 % \begin{macro}{\textit} \marg{text}
 %    \begin{macrocode}
-\renewcommand{\textit}[1]{\LWR at htmlspan{i}{#1}}
+\DeclareRobustCommand{\LWR at HTMLtextit}[1]{\LWR at htmlspan{i}{#1}}
+\DeclareRobustCommand{\LWR at nulltextit}[1]{#1}
+\LetLtxMacro{\textit}{\LWR at HTMLtextit}
 %    \end{macrocode}
 % \end{macro}
 
 % \begin{macro}{\textsc} \marg{text}
 %    \begin{macrocode}
-\renewcommand{\textsc}[1]{\InlineClass{textsc}{#1}}
+\DeclareRobustCommand{\LWR at HTMLtextsc}[1]{\LWR at htmlspan{textsc}{#1}}
+\DeclareRobustCommand{\LWR at nulltextsc}[1]{#1}
+\LetLtxMacro{\textsc}{\LWR at HTMLtextsc}
 %    \end{macrocode}
 % \end{macro}
 
+% \begin{macro}{\textsl} \marg{text}
+%    \begin{macrocode}
+\DeclareRobustCommand{\LWR at HTMLtextsl}[1]{\LWR at htmlspan{testsl}{#1}}
+\DeclareRobustCommand{\LWR at nulltextsl}[1]{#1}
+\LetLtxMacro{\textsl}{\LWR at HTMLtextsl}
+%    \end{macrocode}
+% \end{macro}
+
 % \begin{macro}{\textnormal} \marg{text}
 %    \begin{macrocode}
-\renewcommand{\textnormal}[1]{\textmd{\textrm{\textup{#1}}}}
+\DeclareRobustCommand{\LWR at HTMLtextnormal}[1]{\textmd{\textrm{\textup{#1}}}}
+\DeclareRobustCommand{\LWR at nulltextnormal}[1]{#1}
+\LetLtxMacro{\textnormal}{\LWR at HTMLtextnormal}
 %    \end{macrocode}
 % \end{macro}
 
 
+%    \begin{macrocode}
+\DeclareRobustCommand{\LWR at HTMLrmfamily}[1]{}
+\DeclareRobustCommand{\LWR at HTMLsffamily}[1]{}
+\DeclareRobustCommand{\LWR at HTMLttfamily}[1]{}
+\DeclareRobustCommand{\LWR at HTMLbfseries}[1]{}
+\DeclareRobustCommand{\LWR at HTMLmdseries}[1]{}
+\DeclareRobustCommand{\LWR at HTMLupshape}[1]{}
+\DeclareRobustCommand{\LWR at HTMLslshape}[1]{}
+\DeclareRobustCommand{\LWR at HTMLscshape}[1]{}
+\DeclareRobustCommand{\LWR at HTMLitshape}[1]{}
+\DeclareRobustCommand{\LWR at HTMLem}[1]{}
+\DeclareRobustCommand{\LWR at nullrmfamily}[1]{}
+\DeclareRobustCommand{\LWR at nullsffamily}[1]{}
+\DeclareRobustCommand{\LWR at nullttfamily}[1]{}
+\DeclareRobustCommand{\LWR at nullbfseries}[1]{}
+\DeclareRobustCommand{\LWR at nullmdseries}[1]{}
+\DeclareRobustCommand{\LWR at nullupshape}[1]{}
+\DeclareRobustCommand{\LWR at nullslshape}[1]{}
+\DeclareRobustCommand{\LWR at nullscshape}[1]{}
+\DeclareRobustCommand{\LWR at nullitshape}[1]{}
+\DeclareRobustCommand{\LWR at nullem}[1]{}
+%    \end{macrocode}
 
+
+
+% \begin{macro}{\LWR at nullfonts} Removes formatting during filename operations.
+% \changes{v0.34}{2017/08/05}{Improved font control.}
+%    \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}%
+\renewcommand*{\HTMLunicode}[1]{}%
+% \renewcommand*{\HTMLunicode}[1]{}
+% \renewcommand*{\HTMLentity}[1]{##1}
+\renewcommand*{\HTMLentity}[1]{}%
+%    \end{macrocode}
+% Ampersand becomes ``and'', which is a short word and is then removed from the filename.
+%    \begin{macrocode}
+\renewcommand*{\&}{and}%
+\renewcommand{\textsuperscript}[1]{##1}%
+% \renewcommand{\textsuperscript}[1]{##1}
+\renewcommand{\textsubscript}[1]{##1}%
+% \renewcommand{\textsubscript}[1]{##1}
+\RenewDocumentCommand{\LWR at htmlspanclass}{o m +m}{##3}%
+\DeclareExpandableDocumentCommand{\InlineClass}{o m +m}{##3}%
+% \DeclareExpandableDocumentCommand{\InlineClass}{o m +m}{##3}%
+}
+%    \end{macrocode}
+% \end{macro}
+
+
 % \begin{macro}{\mdseries}
 %    \begin{macrocode}
 \renewcommand*{\mdseries}{}
@@ -18782,7 +19438,7 @@
 
 
 % \begin{macro}{\newline}
-% Uses \HTML\ |<br />| tag
+% Uses the \HTML\ \element{br /} element.
 %    \begin{macrocode}
 \newcommand*{\LWR at newlinebr}{\unskip\LWR at htmltag{br /}\LWR at orignewline}%
 \let\newline\LWR at newlinebr
@@ -18799,7 +19455,7 @@
 %
 % Inside |tabular|, |\\| is temporarily changed to \cs{LWR at tabularendofline}.
 %    \begin{macrocode}
-\let\LWR at origendofline\\
+\LetLtxMacro\LWR at origendofline\\
 \NewDocumentCommand{\LWR at endofline}{s o}
 {%
 \newline%
@@ -18814,11 +19470,11 @@
 % \begin{macro}{\LWR at minipagestartpars}
 % \changes{v0.19}{2016/05/31}{Surpresses paragraph tags between minipages.}
 % \index{minipage>horizontal space between}
-% \index{space>horizontal between minipages}
+% \index{space>horizontal>between minipages}
 % \index{horizontal space>between minipages}
 % Minipages are often placed side-by-side inside figures, with a bit of
 % horizontal space to separate them.  Since \HTML\ does not allow
-% a \tag{div} to be inside a |p|, paragraphs must be turned off during the
+% 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
@@ -18962,12 +19618,21 @@
 %    \end{macrocode}
 % \end{macro}
 %
+% \begin{macro}{\LWR at nohspace} * \marg{length}
 %
+% Used to disable \cs{hspace} while creating |description| \cs{item}s.
+%    \begin{macrocode}
+\NewDocumentCommand{\LWR at nohspace}{s m}{}
+%    \end{macrocode}
+% \end{macro}
+
+%
+%
 % \begin{macro}{\hspace} * \marg{length}
 %
 % Handles special minipage \& horizontal space interactions.
 %    \begin{macrocode}
-\let\hspace\LWR at hspace
+\LetLtxMacro{\hspace}{\LWR at hspace}
 %    \end{macrocode}
 % \end{macro}
 
@@ -19128,7 +19793,7 @@
 %
 % Handles special minipage \& horizontal space interactions.
 %    \begin{macrocode}
-\let\rule\LWR at rule
+\renewcommand{\rule}{\LWR at rule}
 %    \end{macrocode}
 % \end{macro}
 
@@ -19323,6 +19988,9 @@
 % \end{macro}
 % \end{macro}
 
+
+
+
 %    \begin{macrocode}
 \end{warpHTML}
 %    \end{macrocode}
@@ -19483,7 +20151,7 @@
 %
 % \section{Afterpage}
 %
-% \DescribePackage{afterpage} Not used.
+% \DescribePackage{afterpage} Emulated.
 %
 % \changes{v0.20}{2017/01/11}{\pkg{afterpage}: Added.}
 %
@@ -19524,8 +20192,8 @@
 %    \end{macrocode}
 %
 %
-% Inside the \env{algorithmic} environment, level indenting is converted to a \tag{span}
-% of the required length, and comments are placed inside a \tag{span} which is floated right.
+% Inside the \env{algorithmic} environment, level indenting is converted to a \element{span}
+% of the required length, and comments are placed inside a \element{span} which is floated right.
 %
 % \limitscombiningfloats
 %
@@ -19585,6 +20253,7 @@
 
 %    \begin{macrocode}
 \AfterEndPreamble{
+\LWR at traceinfo{Patching alltt.}
 \AtBeginEnvironment{alltt}{%
 \LWR at forcenewpage
 \LWR at atbeginverbatim{alltt}\unskip\LWR at origvspace*{-\baselineskip}%
@@ -19619,12 +20288,12 @@
 % \begin{description}
 % \item[CSS styling of theorems and proofs:] \
 % \begin{description}
-% \item [Theorem:] \tag{div} of class |amsthmbody<theoremstyle>|
-% \item [Theorem Name:] \tag{span} of class |amsthmname<theoremtyle>|
-% \item [Theorem Number:] \tag{span} of class |amsthmnumber<theoremstyle>|
-% \item [Theorem Note:] \tag{span} of class |amsthmnote<theoremstyle>|
-% \item [Proof:] \tag{div} of class |amsthmproof|
-% \item [Proof Name:] \tag{span} of class |amsthmproofname|
+% \item [Theorem:] \element{div} of class |amsthmbody<theoremstyle>|
+% \item [Theorem Name:] \element{span} of class |amsthmname<theoremtyle>|
+% \item [Theorem Number:] \element{span} of class |amsthmnumber<theoremstyle>|
+% \item [Theorem Note:] \element{span} of class |amsthmnote<theoremstyle>|
+% \item [Proof:] \element{div} of class |amsthmproof|
+% \item [Proof Name:] \element{span} of class |amsthmproofname|
 % \end{description}
 % where |<theoremstyle>| is |plain|, |definition|, etc.
 % \end{description}
@@ -19752,7 +20421,47 @@
 %
 %
 %
+%
+%
+% \clearpage
+%
 % \iffalse
+%<*balance>
+% \fi
+%
+% \part{lwarp-balance.sty}
+%
+% \section{Balance}
+%
+% \DescribePackage{balance} Emulated.
+%
+% \changes{v0.34}{2017/07/27}{\pkg{balance}: Added.}
+%
+% \codehtml
+%
+% Discard all options for \pkg{lwarp-balance}:
+%    \begin{macrocode}
+\LWR at ProvidesPackageDrop{balance}
+%    \end{macrocode}
+%
+%
+%    \begin{macrocode}
+\newcommand*{\balance}{}
+\newcommand*{\nobalance}{}
+%    \end{macrocode}
+%
+%
+% \iffalse
+%</balance>
+% \fi
+%
+%
+%
+%
+%
+% \clearpage
+%
+% \iffalse
 %<*bookmark>
 % \fi
 
@@ -19789,7 +20498,6 @@
 %
 %
 %
-% \clearpage
 %
 % \iffalse
 %<*booktabs>
@@ -19803,21 +20511,28 @@
 %
 % \DescribePackage{booktabs}
 % \pkg{booktabs} is emulated during \HTML\ output, and
-% the \pkg{booktabs} package is ignored.
-
+% used as-is during print output and inside an \HTML\ \env{lateximage}.
+%
+% \changes{v0.34}{2017/08/08}{\pkg{booktabs}: Works inside \env{lateximage}.}
+%
 % \codehtml
 %    \begin{macrocode}
-\LWR at ProvidesPackageDrop{booktabs}
+\LWR at ProvidesPackagePass{booktabs}
 %    \end{macrocode}
 %
 % Booktabs emulation is spread among the tabular code.
+% The original definitions are saved here for use in \HTML\ \env{lateximage}s.
+% The \HTML\ versions temporarily overwrite these print versions
+% when \env{tabular} is started.
 %
-%
-% Emulated for source compatibility.
 %    \begin{macrocode}
-\newcommand*{\addlinespace}[1]{}
-\newcommand*{\morecmidrules}{}
-\newcommand*{\specialrule}[3]{}
+\LetLtxMacro\LWR at origtoprule\toprule
+\LetLtxMacro\LWR at origmidrule\midrule
+\LetLtxMacro\LWR at origcmidrule\cmidrule
+\LetLtxMacro\LWR at origbottomrule\bottomrule
+\LetLtxMacro\LWR at origaddlinespace\addlinespace
+\LetLtxMacro\LWR at origmorecmidrules\morecmidrules
+\LetLtxMacro\LWR at origspecialrule\specialrule
 %    \end{macrocode}
 
 % \iffalse
@@ -19826,7 +20541,77 @@
 %
 %
 %
+%
+% \clearpage
+%
+%
 % \iffalse
+%<*boxedminipage>
+% \fi
+%
+% \part{lwarp-boxedminipage.sty}
+%
+% \section{Boxedminipage}
+%
+% \DescribePackage{boxedminipage}
+% \pkg{boxedminipage} is superceded by \pkg{boxedminipage2e}.
+%
+% \changes{v0.34}{2017/07/26}{\pkg{boxedminipage}: Prevented.}
+%
+% \codehtml
+%    \begin{macrocode}
+\LWR at loadnever{boxedminipage}{boxedminipage2e}
+%    \end{macrocode}
+%
+% \iffalse
+%</boxedminipage>
+% \fi
+%
+%
+%
+%
+% \iffalse
+%<*boxedminipage2e>
+% \fi
+
+% \part{lwarp-boxedminipage2e.sty}
+
+% \section{Boxedminipage2e}
+%
+% \DescribePackage{boxedminipage2e}
+% \pkg{boxedminipage2e} is emulated.
+%
+% \changes{v0.34}{2017/07/26}{\pkg{boxedminipage2e}: Added.}
+%
+% \codehtml
+%
+% Discard all options for \pkg{lwarp-boxedminipage2e}:
+%    \begin{macrocode}
+\LWR at ProvidesPackageDrop{boxedminipage2e}
+%    \end{macrocode}
+
+%    \begin{macrocode}
+\newenvironment{boxedminipage}{%
+\begin{BlockClass}{framebox}%
+\minipage%
+}
+{
+\endminipage%
+\end{BlockClass}
+}
+%    \end{macrocode}
+
+% \iffalse
+%</boxedminipage2e>
+% \fi
+%
+%
+%
+%
+%
+% \clearpage
+%
+% \iffalse
 %<*ccaption>
 % \fi
 
@@ -19852,7 +20637,6 @@
 %
 %
 %
-% \clearpage
 %
 % \iffalse
 %<*changepage>
@@ -19895,6 +20679,38 @@
 % \clearpage
 %
 % \iffalse
+%<*crop>
+% \fi
+%
+% \part{lwarp-crop.sty}
+%
+% \section{Crop}
+%
+% \DescribePackage{crop} Emulated.
+%
+% \changes{v0.34}{2017/08/03}{\pkg{crop}: Added.}
+%
+% \codehtml
+%
+% Discard all options for \pkg{lwarp-crop}:
+%    \begin{macrocode}
+\LWR at ProvidesPackageDrop{crop}
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\newcommand*{\crop}[1][]{}
+\newcommand*{\cropdef}[6][]{}
+%    \end{macrocode}
+%
+% \iffalse
+%</crop>
+% \fi
+%
+%
+%
+% \clearpage
+%
+% \iffalse
 %<*cutwin>
 % \fi
 %
@@ -20092,8 +20908,6 @@
 % \changes{v0.26}{2017/03/27}{\pkg{endnotes}: Added.}
 %
 %
-% Discard all options for \pkg{lwarp-endnotes}:
-%
 % \codehtml
 %    \begin{macrocode}
 \LWR at ProvidesPackagePass{endnotes}
@@ -20119,53 +20933,101 @@
 %
 %
 %
-%
 % \clearpage
 %
 % \iffalse
 %<*enumerate>
 % \fi
-
+%
 % \part{lwarp-enumerate.sty}
-
+%
 % \section{Enumerate}
+% \label{sec:enumerate}
 %
 % \DescribePackage{enumerate}
-% \pkg{enumerate} is ignored.
-% \pkg{enumitem} is then modified per the |shortlabels| option.
+% \pkg{enumerate} is supported with no changes.
+
+% This package is only required because it was used in the past to drop
+% and then emulate the package.
+% It cannot be removed because an older version which dropped the
+% package may still remain, for example in a local vs. distribution directory,
+% but it is now supported directly by \pkg{lwarp} and thus must no longer be dropped.
 %
-% \limitsenumerate
+% \changes{v0.34}{2017/07/27}{\pkg{enumerate}: Added.}
 %
-% \changes{v0.22}{2017/03/02}{\pkg{enumerate}: Added.}
+% \codehtml
+%    \begin{macrocode}
+\LWR at ProvidesPackagePass{enumerate}
+%    \end{macrocode}
 %
+%
+% \iffalse
+%</enumerate>
+% \fi
+%
+%
+%
+%
+%
+% \clearpage
+%
+% \iffalse
+%<*enumitem>
+% \fi
+%
+% \part{lwarp-enumitem.sty}
+%
+% \section{Enumitem}
+% \label{sec:enumitem}
+%
+% \DescribePackage{enumitem}
+% \pkg{enumitem} is supported with minor adjustments.
+%
+% \changes{v0.34}{2017/07/27}{\pkg{enumitem}: Added, no longer required.}
+%
 % \codehtml
+%    \begin{macrocode}
+\LWR at ProvidesPackagePass{enumitem}
+%    \end{macrocode}
 %
-% Discard all options for \pkg{lwarp-enumerate}:
+%
+%
+% \codehtml
 %    \begin{macrocode}
-\LWR at ProvidesPackageDrop{enumerate}
+\begin{warpHTML}
 %    \end{macrocode}
 
 
+% \cs{newlist} \marg{name} \marg{type} \marg{maxdepth} \\
+% \cs{renewlist} \marg{name} \marg{type} \marg{maxdepth}
+%
+% For \pkg{enumitem} lists, new lists must have the start and end actions assigned to
+% the new environment.  Renewed lists already have their actions assigned, and
+% thus need no changes.
 %    \begin{macrocode}
-% \DeclareOption{shortlabels}
-% {
-\def\enit at shl#1{%
-     \ifnum\enit at type=\tw@
-       \enit at toks{#1}%
-     \else
-       \def\enit at c{#1}%
-       \enit at first#1,\@nil\@@nil % Returns enit at toks
-    \fi}
-% }
+\let\LWR at orignewlist\newlist
+
+\renewcommand*{\newlist}[3]{%
+\LWR at orignewlist{#1}{#2}{#3}%
+\AtBeginEnvironment{#1}{\csuse{LWR@#2start}}%
+\AtEndEnvironment{#1}{\csuse{LWR@#2end}}%
+}
 %    \end{macrocode}
 
 
+%    \begin{macrocode}
+\end{warpHTML}
+%    \end{macrocode}
+
 % \iffalse
-%</enumerate>
+%</enumitem>
 % \fi
 %
 %
 %
+%
+%
+%
 % \clearpage
 %
 % \iffalse
@@ -20273,7 +21135,7 @@
 \newcommand{\AtTextLowerLeft}[1]{}
 \newcommand{\AtTextCenter}[1]{}
 \NewDocumentCommand{\AddToShipoutPictureBG}{s +m}{}
-\let\AddToShipoutPicture\AddToShipoutPictureBG
+\renewcommand{\AddToShipoutPicture}{\AddToShipoutPictureBG}
 \NewDocumentCommand{\AddToShipoutPictureFG}{s +m}{}
 \newcommand*{\ClearShipoutPictureBG}{}
 \newcommand*{\ClearShipoutPicture}{}
@@ -20319,7 +21181,44 @@
 % \fi
 %
 %
+%
+%
+% \clearpage
+%
 % \iffalse
+%<*everyshi>
+% \fi
+%
+% \part{lwarp-everyshi.sty}
+%
+% \section{Everyshi}
+%
+% \DescribePackage{everyshi} Emulated.
+%
+% \changes{v0.34}{2017/08/03}{\pkg{everyshi}: Added.}
+%
+% \codehtml
+%
+% Discard all options for \pkg{lwarp-everyshi}:
+%    \begin{macrocode}
+\LWR at ProvidesPackageDrop{everyshi}
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\newcommand*{\EveryShipout}[1]{}
+\newcommand*{\AtNextShipout}[1]{}
+%    \end{macrocode}
+%
+% \iffalse
+%</everyshi>
+% \fi
+%
+%
+%
+%
+%
+%
+% \iffalse
 %<*extramarks>
 % \fi
 
@@ -20359,9 +21258,184 @@
 %
 %
 %
+%
 % \clearpage
 %
 % \iffalse
+%<*fancybox>
+% \fi
+%
+% \part{lwarp-fancybox.sty}
+%
+% \section{Fancybox}
+% \label{sec:fancybox}
+%
+% \credits{Timothy Van Zandt}
+%
+% \DescribePackage{fancybox}
+% \pkg{fancybox} is supported with some patches.
+%
+% \limitsfancybox
+%
+%
+% \changes{v0.34}{2017/07/27}{\pkg{fancybox}: Added.}
+%
+% \codehtml
+%    \begin{macrocode}
+\begin{warpHTML}
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\LWR at ProvidesPackagePass{fancybox}
+%    \end{macrocode}
+%
+%
+%
+%    \begin{macrocode}
+\renewcommand*{\@shadowbox}[1]{\InlineClass{shadowbox}{#1}}
+
+\renewcommand*{\@doublebox}[1]{\InlineClass{doublebox}{#1}}
+
+\renewcommand*{\@ovalbox}[2]{%
+\ifthenelse{\isequivalentto{#1}{\thinlines}}
+{\InlineClass{ovalbox}{#2}}
+{\InlineClass{Ovalbox}{#2}}
+}
+%    \end{macrocode}
+%
+%
+% Convert minipages, parboxes, and lists into linear text
+% using the |LWR at nestspan| environment:
+%    \begin{macrocode}
+\let\LWR at origSbox\Sbox
+
+\def\Sbox{\LWR at origSbox\LWR at nestspan}
+
+
+\let\LWR at origendSbox\endSbox
+
+\def\endSbox{\endLWR at nestspan\LWR at origendSbox}
+%    \end{macrocode}
+%
+% \env{Beqnarray} is adapted for MathJax or enclosed inside a \env{lateximage}:
+%
+%    \begin{macrocode}
+\RenewEnviron{Beqnarray}
+{\LWR at eqnarrayfactor}
+
+\csgpreto{Beqnarray*}{\boolfalse{LWR at numbereqnarray}}
+%    \end{macrocode}
+%
+% \cs{GenericCaption} is enclosed in an \HTML\ block:
+%
+%    \begin{macrocode}
+\renewcommand{\GenericCaption}[1]{%
+\LWR at htmlblocktag{figcaption}%
+#1%
+\LWR at htmlblocktag{/figcaption}%
+}
+%    \end{macrocode}
+%
+% \env{Btrivlist} is enclosed in an \HTML\ block:
+%
+%    \begin{macrocode}
+\RenewDocumentEnvironment{Btrivlist}{m o}
+{\begin{BlockClass}{Btrivlist}\tabular{#1}}
+{\endtabular\end{BlockClass}}
+%    \end{macrocode}
+%
+% \env{Btrivlist} is also neutralized when used inside a span:
+%
+%    \begin{macrocode}
+\AtBeginEnvironment{LWR at nestspan}{%
+\RenewDocumentEnvironment{Btrivlist}{m o}{}{}%
+\RenewDocumentCommand{\LWR at origitem}{d()}{\LWRFB at origitem}%
+}
+%    \end{macrocode}
+%
+% \pkg{lwarp}'s handling of \cs{item} is patched to accept
+% \pkg{fancybox}'s optional arguments:
+%
+%    \begin{macrocode}
+\let\LWRFB at origitemizeitem\LWR at itemizeitem
+\let\LWRFB at origdescitem\LWR at descitem
+\LetLtxMacro{\LWRFB at origitem}{\LWR at origitem}
+
+\RenewDocumentCommand{\LWR at itemizeitem}{d()}{\LWRFB at origitemizeitem}
+\RenewDocumentCommand{\LWR at descitem}{d()}{\LWRFB at origdescitem}
+%    \end{macrocode}
+%
+% The various boxed lists become regular lists:
+%
+%    \begin{macrocode}
+\renewenvironment{Bitemize}[1][]{\begin{itemize}}{\end{itemize}}
+\renewenvironment{Benumerate}[1][]{\begin{enumerate}}{\end{enumerate}}
+\renewenvironment{Bdescription}[1][]{\begin{description}}{\end{description}}
+%    \end{macrocode}
+%
+% \cs{boxput} simply prints one then the other argument,
+% side-by-side instead of above and behind:
+%
+%    \begin{macrocode}
+\RenewDocumentCommand{\boxput}{s d() m m}{%
+\IfBooleanTF{#1}{#3\quad#4}{#4\quad#3}%
+}
+%    \end{macrocode}
+%
+% Neutralized commands:
+%
+%    \begin{macrocode}
+\RenewDocumentCommand{\fancyput}{s d() m}{}
+\RenewDocumentCommand{\thisfancyput}{s d() m}{}
+
+\RenewDocumentCommand{\fancypage}{m m}{}
+\RenewDocumentCommand{\thisfancypage}{m m}{}
+
+\def\LandScape#1{}
+\def\endLandScape{}
+\def\@Landscape#1#2#3{}
+\def\endLandscape{}
+%    \end{macrocode}
+%
+% Low-level patches for \env{Verbatim}, \env{VerbatimInput}, \env{UseVerbatim}:
+%
+%    \begin{macrocode}
+\let\LWRFB at UseVerbatim\UseVerbatim
+\renewcommand*{\UseVerbatim}[1]{%
+\LWR at atbeginverbatim{Verbatim}\unskip\LWR at origvspace*{-\baselineskip}%%
+\LWRFB at UseVerbatim{#1}%
+\LWR at afterendverbatim%
+}
+
+\let\LWRFB at LUseVerbatim\LUseVerbatim
+
+\renewcommand*{\LUseVerbatim}[1]{%
+\LWR at atbeginverbatim{LVerbatim}\unskip\LWR at origvspace*{-\baselineskip}%%
+\LWRFB at LUseVerbatim{#1}%
+\LWR at afterendverbatim%
+}
+
+\def\@BUseVerbatim[#1]#2{%
+\LWR at atbeginverbatim{BVerbatim}\unskip\LWR at origvspace*{-\baselineskip}%%
+\LWRFB at UseVerbatim{#2}%
+\LWR at afterendverbatim%
+}
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\end{warpHTML}
+%    \end{macrocode}
+%
+% \iffalse
+%</fancybox>
+% \fi
+%
+%
+%
+%
+%
+%
+% \iffalse
 %<*fancyhdr>
 % \fi
 
@@ -20410,9 +21484,351 @@
 %
 %
 %
+%
+%
 % \clearpage
 %
 % \iffalse
+%<*fancyvrb>
+% \fi
+%
+% \part{lwarp-fancyvrb.sty}
+%
+% \section{Fancyvrb}
+% \label{sec:fancyvrb}
+%
+% \credits{Timothy Van Zandt}
+%
+% \DescribePackage{fancyvrb}
+% \pkg{fancyvrb} is supported with some patches.
+%
+%
+% \changes{v0.34}{2017/07/27}{\pkg{fancyvrb}: Added, no longer required.}
+%
+% \codehtml
+%    \begin{macrocode}
+\RequirePackage{xcolor}% for \convertcolorspec
+\LWR at ProvidesPackagePass{fancyvrb}
+%    \end{macrocode}
+%
+
+% \codehtml
+%    \begin{macrocode}
+\begin{warpHTML}
+%    \end{macrocode}
+%
+
+% Initial default patch for fancyvrb:
+%    \begin{macrocode}
+\fvset{frame=none}%
+%    \end{macrocode}
+
+% For \cs{VerbatimFootnotes}:
+%    \begin{macrocode}
+\renewcommand{\VerbatimFootnotes}{
+\PackageError{lwarp}
+{Verbatim footnotes are not yet supported by lwarp.}
+{This may be improved some day.}
+}
+%    \end{macrocode}
+
+
+% After the preamble is loaded, after any patches to \env{Verbatim}:
+%    \begin{macrocode}
+\AfterEndPreamble{
+\LWR at traceinfo{Patching Verbatim.}
+%    \end{macrocode}
+%
+% Remember the original defintion of \env{Verbatim}:
+%    \begin{macrocode}
+\let\LWRFV at origVerbatim\Verbatim
+%    \end{macrocode}
+%
+%
+% \begin{environment}{Verbatim}
+%
+% Patched to place the environment in a |fancyvrb| div,
+% and the label in a |fancyvrblabel| div.
+% Also corrects the left margin for line numbers.
+% Also uses |VerbatimHTMLWidth| to control placement of line numbers on the right.
+% Aligning the right margin requires knowing the width.
+%
+% \changes{v0.20}{2016/12/24}{Added.}
+%
+%    \begin{macrocode}
+\renewcommand*{\Verbatim}{%
+\LWR at forcenewpage
+\LWRFV at origVerbatim%
+}
+%    \end{macrocode}
+% \end{environment}
+%
+% \begin{macro}{\LWR at FVstyle} Holds the style of the verbatim.
+%    \begin{macrocode}
+\newcommand*{\LWR at FVstyle}{}
+%    \end{macrocode}
+% \end{macro}
+%
+% The following patches to \env{Verbatim} are executed at the
+% start and end of the environment, depending on the choice of |frame|.
+% Original code is from the \pkg{fancyvrb} package.
+%    \begin{macrocode}
+\newcommand*{\LWR at fvstartnone}{%
+\LWR at traceinfo{fvstartnone}%
+\hbox to\z@{\LWR at atbeginverbatim[\LWR at FVstyle]{verbatim}}%
+}
+
+\newcommand*{\LWR at fvendnone}{%
+\LWR at traceinfo{fvendnone}%
+\hbox to\z@{\LWR at afterendverbatim}%
+}
+
+\newcommand*{\LWR at fvstartsingle}{%
+\LWR at traceinfo{fvstartsingle}%
+\LWR at fvstartnone%
+\FV at BeginListFrame@Single%
+}
+
+\newcommand*{\LWR at fvendsingle}{%
+\LWR at traceinfo{fvendsingle}%
+\FV at EndListFrame@Single%
+\LWR at fvendnone%
+}
+
+\newcommand*{\LWR at fvstartline}{%
+\LWR at traceinfo{fvstartline}%
+\LWR at fvstartnone%
+\FV at BeginListFrame@Lines%
+}
+
+\newcommand*{\LWR at fvendline}{%
+\LWR at traceinfo{fvendline}%
+\FV at EndListFrame@Lines%
+\LWR at fvendnone%
+}
+%    \end{macrocode}
+%
+% The following patches select the start/left/right/end
+% behaviors depending on |frame|.
+% Original code is from the \pkg{fancyvrb} package.
+%    \begin{macrocode}
+
+\newcommand*{\LWR at FVfindcurrentcolor}{%
+\protect\colorlet{LWR at current@color}{.}%
+\protect\convertcolorspec{named}{LWR at current@color}{HTML}\LWR at tempcolor%
+}
+
+\newcommand*{\LWR at FVtextstyle}{%
+\LWR at FVfindcurrentcolor
+\ifdefstring{\LWR at tempcolor}{000000}%
+{}%
+{color: \#\LWR at tempcolor ; }%
+}
+
+
+\newcommand*{\LWR at FVfindbordercolor}{%
+\FancyVerbRuleColor%
+\LWR at FVfindcurrentcolor
+\color{black}
+}
+
+% border width of \FV at FrameRule
+\newcommand*{\LWR at FVborderstyle}[1]{%
+padding#1: \strip at pt\dimexpr \FV at FrameSep\relax\relax pt ;
+\LWR at FVfindbordercolor
+border#1: \strip at pt\dimexpr \FV at FrameRule\relax\relax pt solid \#\LWR at tempcolor ;
+}
+
+\def\FV at Frame@none{%
+\renewcommand*{\LWR at FVstyle}{\LWR at FVtextstyle}%
+\let\FV at BeginListFrame\LWR at fvstartnone%
+\let\FV at LeftListFrame\relax%
+\let\FV at RightListFrame\relax%
+\let\FV at EndListFrame\LWR at fvendnone}
+
+\FV at Frame@none% default values
+
+\def\FV at Frame@single{%
+\renewcommand*{\LWR at FVstyle}{\LWR at FVtextstyle\LWR at FVborderstyle{}}%
+\let\FV at BeginListFrame\LWR at fvstartsingle%
+\let\FV at LeftListFrame\FV at LeftListFrame@Single%
+\let\FV at RightListFrame\FV at RightListFrame@Single%
+\let\FV at EndListFrame\LWR at fvendsingle}
+
+\def\FV at Frame@lines{%
+\renewcommand*{\LWR at FVstyle}{\LWR at FVtextstyle\LWR at FVborderstyle{-top}\LWR at FVborderstyle{-bottom}}%
+\let\FV at BeginListFrame\LWR at fvstartline%
+\let\FV at LeftListFrame\relax%
+\let\FV at RightListFrame\relax%
+\let\FV at EndListFrame\LWR at fvendline}
+
+\def\FV at Frame@topline{%
+\renewcommand*{\LWR at FVstyle}{\LWR at FVtextstyle\LWR at FVborderstyle{-top}}%
+\let\FV at BeginListFrame\LWR at fvstartline%
+\let\FV at LeftListFrame\relax%
+\let\FV at RightListFrame\relax%
+\let\FV at EndListFrame\LWR at fvendnone}
+
+\def\FV at Frame@bottomline{%
+\renewcommand*{\LWR at FVstyle}{\LWR at FVtextstyle\LWR at FVborderstyle{-bottom}}%
+\let\FV at BeginListFrame\LWR at fvstartnone%
+\let\FV at LeftListFrame\relax%
+\let\FV at RightListFrame\relax%
+\let\FV at EndListFrame\LWR at fvendline}
+
+\def\FV at Frame@leftline{%
+\renewcommand*{\LWR at FVstyle}{\LWR at FVtextstyle\LWR at FVborderstyle{-left}}%
+% To define the \FV at FrameFillLine macro (from \FV at BeginListFrame)
+\ifx\FancyVerbFillColor\relax%
+\let\FV at FrameFillLine\relax%
+\else%
+\@tempdima\FV at FrameRule\relax%
+\multiply\@tempdima-\tw@%
+\edef\FV at FrameFillLine{%
+{\noexpand\FancyVerbFillColor{\vrule\@width\number\@tempdima sp}%
+\kern-\number\@tempdima sp}}%
+\fi%
+\let\FV at BeginListFrame\LWR at fvstartnone%
+\let\FV at LeftListFrame\FV at LeftListFrame@Single%
+\let\FV at RightListFrame\relax%
+\let\FV at EndListFrame\LWR at fvendnone}
+%    \end{macrocode}
+%
+% Adds the optional label to the top and bottom edges.
+% Original code is from the \pkg{fancyvrb} package.
+%    \begin{macrocode}
+\def\FV at SingleFrameLine#1{%
+  \hbox to\z@{%
+%     \kern\leftmargin
+    \ifnum#1=\z@\relax
+      \let\FV at Label\FV at LabelBegin
+    \else
+      \let\FV at Label\FV at LabelEnd
+    \fi
+    \ifx\FV at Label\relax
+%       \FancyVerbRuleColor{\vrule \@width\linewidth \@height\FV at FrameRule}%
+    \else
+      \ifnum#1=\z@
+%         \setbox\z@\hbox{\strut\enspace\FV at LabelBegin\enspace\strut}%
+        \ifx\FV at LabelPositionTopLine\relax
+		\else
+		\LWR at FVfindbordercolor
+        \LWR at htmltagc{div class="fancyvrblabel" style="color: \#\LWR at tempcolor"}
+		\LWR at origtextrm{\FV at LabelBegin}% \textrm preserves emdash
+		\LWR at htmltagc{/div}
+		\fi
+      \else
+%         \setbox\z@\hbox{\strut\enspace\FV at LabelEnd\enspace\strut}%
+        \ifx\FV at LabelPositionBottomLine\relax
+		\else
+		\LWR at FVfindbordercolor
+        \LWR at htmltagc{div class="fancyvrblabel" style="color: \#\LWR at tempcolor"}
+		\LWR at origtextrm{\FV at LabelEnd}
+		\LWR at htmltagc{/div}
+		\fi
+      \fi
+
+    \fi
+    \hss
+	}
+}
+%    \end{macrocode}
+%
+% Processes each line, adding optional line numbers.
+% Original code is from the \pkg{fancyvrb} package.
+%    \begin{macrocode}
+\def\FV at ListProcessLine#1{%
+   \hbox to \hsize{%
+%      \kern\leftmargin
+      \hbox to \VerbatimHTMLWidth {%
+       \ifcsvoid{FV at LeftListNumber}{}{\kern 2.5em}%
+		\FV at LeftListNumber%
+%       \FV at LeftListFrame
+      \FancyVerbFormatLine{#1}%
+      \hss%
+%       \FV at RightListFrame
+      \FV at RightListNumber%
+	}%
+      \hss% required to avoid underfull hboxes
+}
+}
+%    \end{macrocode}
+
+% \begin{environment}{BVerbatim}
+%    \begin{macrocode}
+\AtBeginEnvironment{BVerbatim}
+{
+\LWR at forcenewpage
+\LWR at atbeginverbatim{bverbatim}
+
+}
+
+\AfterEndEnvironment{BVerbatim}
+{
+\leavevmode\par\LWR at origvspace{-\baselineskip}
+\LWR at afterendverbatim
+}
+%    \end{macrocode}
+% \end{environment}
+
+% End of the modifications to make at the end of the preamble:
+%    \begin{macrocode}
+} % \AfterEndPreamble
+%    \end{macrocode}
+
+%    \begin{macrocode}
+\end{warpHTML}
+%    \end{macrocode}
+%
+% \iffalse
+%</fancyvrb>
+% \fi
+%
+%
+%
+%
+%
+% \clearpage
+%
+% \iffalse
+%<*figcaps>
+% \fi
+%
+% \part{lwarp-figcaps.sty}
+%
+% \section{Figcaps}
+%
+% \DescribePackage{figcaps} Emulated.
+%
+% \changes{v0.34}{2017/07/27}{\pkg{figcaps}: Added.}
+%
+% \codehtml
+%
+% Discard all options for \pkg{lwarp-figcaps}:
+%    \begin{macrocode}
+\LWR at ProvidesPackageDrop{figcaps}
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\newcommand*{\figcapson}{}
+\newcommand*{\figcapsoff}{}
+\newcommand*{\printfigures}{}
+\newcommand*{\figmarkon}{}
+\newcommand*{\figmarkoff}{}
+\def\figurecapname{Figure Captions}
+\def\tablepagename{Tables}
+\def\figurepagename{Figures}
+%    \end{macrocode}
+%
+% \iffalse
+%</figcaps>
+% \fi
+%
+%
+%
+% \clearpage
+%
+% \iffalse
 %<*float>
 % \fi
 
@@ -20448,9 +21864,7 @@
 %    \begin{macrocode}
 \NewDocumentCommand{\newfloat}{m m m o}{%
 \IfValueTF{#4}
-{
-\DeclareFloatingEnvironment[fileext=#3,within=#4]{#1}
-}
+{\DeclareFloatingEnvironment[fileext=#3,within=#4]{#1}}
 {\DeclareFloatingEnvironment[fileext=#3]{#1}}
 %    \end{macrocode}
 % \pkg{newfloat} package automatically creates the \cs{listof} command
@@ -20567,6 +21981,39 @@
 % \clearpage
 %
 % \iffalse
+%<*floatpag>
+% \fi
+%
+% \part{lwarp-floatpag.sty}
+%
+% \section{Floatpag}
+%
+% \DescribePackage{floatpag} Emulated.
+%
+% \changes{v0.34}{2017/08/03}{\pkg{floatpag}: Added.}
+%
+% \codehtml
+%
+% Discard all options for \pkg{lwarp-floatpag}:
+%    \begin{macrocode}
+\LWR at ProvidesPackageDrop{floatpag}
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\newcommand*{\floatpagestyle}[1]{}
+\newcommand*{\rotfloatpagestyle}[1]{}
+\newcommand*{\thisfloatpagestyle}[1]{}
+%    \end{macrocode}
+%
+% \iffalse
+%</floatpag>
+% \fi
+%
+%
+%
+% \clearpage
+%
+% \iffalse
 %<*floatrow>
 % \fi
 
@@ -20747,7 +22194,7 @@
 % ^^A \begin{environment}{floatrow} \oarg{numfloats}
 % \changes{v0.20}{2016/08/20}{Fix: \cs{linewidth} in a floatrow.}
 %
-% The row of floats is placed into a \tag{div} of class |floatrow|.
+% The row of floats is placed into a \element{div} of class |floatrow|.
 %    \begin{macrocode}
 \newenvironment*{floatrow}[1][2]
 {
@@ -20853,7 +22300,7 @@
 % ^^A \begin{macro}{\floatfoot} \marg{text}
 %
 % Places additional text inside a float,
-% inside a \CSS\ \tag{div} of class |floatfoot|.
+% inside a \CSS\ \element{div} of class |floatfoot|.
 %    \begin{macrocode}
 \NewDocumentCommand{\floatfoot}{s +m}{%
 \begin{BlockClass}{floatfoot}
@@ -20877,7 +22324,7 @@
 \newenvironment*{subfloatrow}[1][2]
 {
 %    \end{macrocode}
-% The row of floats is placed into a \tag{div} of class |floatrow|:
+% The row of floats is placed into a \element{div} of class |floatrow|:
 %    \begin{macrocode}
 \LWR at forcenewpage
 \BlockClass{floatrow}
@@ -20902,9 +22349,51 @@
 %
 %
 %
+%
+%
 % \clearpage
 %
 % \iffalse
+%<*flushend>
+% \fi
+%
+% \part{lwarp-flushend.sty}
+%
+% \section{Flushend}
+%
+% \DescribePackage{flushend} Emulated.
+%
+% \changes{v0.34}{2017/07/27}{\pkg{flushend}: Added.}
+%
+% \codehtml
+%
+% Discard all options for \pkg{lwarp-flushend}:
+%    \begin{macrocode}
+\LWR at ProvidesPackageDrop{flushend}
+%    \end{ma-crocode}
+%
+%    \begin{macrocode}
+\newcommand*{\flushend}{}
+\newcommand*{\raggedend}{}
+\newcommand*{\flushcolsend}{}
+\newcommand*{\raggedcolsend}{}
+\newcommand*{\atColsBreak}[1]{}
+\newcommand*{\atColsEnd}[1]{}
+\newcommand*{\showcolsendrule}{}
+%    \end{macrocode}
+%
+% \iffalse
+%</flushend>
+% \fi
+%
+%
+%
+%
+%
+%
+% \clearpage
+%
+% \iffalse
 %<*fontenc>
 % \fi
 %
@@ -20968,6 +22457,8 @@
 %
 %
 %
+% \clearpage
+%
 % \iffalse
 %<*footmisc>
 % \fi
@@ -21091,7 +22582,7 @@
   \begingroup%
     \let\@makefntext\@empty%
     \let\@finalstrut\@gobble%
-    \let\rule\@gobbletwo%
+    \LetLtxMacro\rule\@gobbletwo% *8* also the optional argument?
     \@footnotetext{\unvbox\z@}%
   \endgroup%
 }
@@ -21165,6 +22656,7 @@
 % Accept all options for \pkg{lwarp-framed}:
 %    \begin{macrocode}
 \LWR at ProvidesPackagePass{framed}
+\RequirePackage{xcolor}% for \convertcolorspec
 %    \end{macrocode}
 
 
@@ -21186,7 +22678,7 @@
 \renewenvironment{shaded}{%
 \convertcolorspec{named}{shadecolor}{HTML}\LWR at tempcolor%
 \LWR at forcenewpage
-\BlockClass{framed}[background: \#\LWR at tempcolor]%
+\BlockClass[background: \#\LWR at tempcolor]{framed}%
 }
 {\endBlockClass}
 
@@ -21193,7 +22685,7 @@
 \renewenvironment{shaded*}{%
 \convertcolorspec{named}{shadecolor}{HTML}\LWR at tempcolor%
 \LWR at forcenewpage
-\BlockClass{framed}[background: \#\LWR at tempcolor]%
+\BlockClass[background: \#\LWR at tempcolor]{framed}%
 }
 {\endBlockClass}
 
@@ -21210,7 +22702,7 @@
 \renewenvironment{snugshade}{%
 \convertcolorspec{named}{shadecolor}{HTML}\LWR at tempcolor%
 \LWR at forcenewpage
-\BlockClass{snugframed}[background: \#\LWR at tempcolor]%
+\BlockClass[background: \#\LWR at tempcolor]{snugframed}%
 }
 {\endBlockClass}
 
@@ -21217,7 +22709,7 @@
 \renewenvironment{snugshade*}{%
 \convertcolorspec{named}{shadecolor}{HTML}\LWR at tempcolor%
 \LWR at forcenewpage
-\BlockClass{snugframed}[background: \#\LWR at tempcolor]%
+\BlockClass[background: \#\LWR at tempcolor]{snugframed}%
 }
 {\endBlockClass}
 
@@ -21239,9 +22731,9 @@
 \renewcommand{\CustomFBox}[7]{%
 \convertcolorspec{named}{TFFrameColor}{HTML}\LWR at tempcolor%
 \LWR at forcenewpage
-\begin{BlockClass}{framed}[border: 3px solid \#\LWR at tempcolor]%
+\begin{BlockClass}[border: 3px solid \#\LWR at tempcolor]{framed}%
 \ifthenelse{\isempty{#1}}{}{% not empty
-\begin{BlockClass}{framedtitle}[background: \#\LWR at tempcolor]%
+\begin{BlockClass}[background: \#\LWR at tempcolor]{framedtitle}%
 \textcolor{TFTitleColor}{\textbf{#1}}%
 \end{BlockClass}
 }% not empty
@@ -21250,7 +22742,7 @@
 
 \ifthenelse{\isempty{#2}}{}{% not empty
 \convertcolorspec{named}{TFFrameColor}{HTML}\LWR at tempcolor%
-\begin{BlockClass}{framedtitle}[background: \#\LWR at tempcolor]%
+\begin{BlockClass}[background: \#\LWR at tempcolor]{framedtitle}%
 \textcolor{TFTitleColor}{\textbf{#2}}%
 \end{BlockClass}
 }% not empty
@@ -21329,7 +22821,38 @@
 %
 %
 %
+%
+%
+%
 % \iffalse
+%<*fullpage>
+% \fi
+%
+% \part{lwarp-fullpage.sty}
+%
+% \section{Fullpage}
+%
+% \DescribePackage{fullpage} Emulated.
+%
+% \changes{v0.34}{2017/07/27}{\pkg{fullpage}: Added.}
+%
+% \codehtml
+%
+% Discard all options for \pkg{lwarp-fullpage}:
+%    \begin{macrocode}
+\LWR at ProvidesPackageDrop{fullpage}
+%    \end{macrocode}
+%
+%
+% \iffalse
+%</fullpage>
+% \fi
+%
+%
+%
+% \clearpage
+%
+% \iffalse
 %<*geometry>
 % \fi
 
@@ -21790,7 +23313,89 @@
 %
 %
 %
+%
+% \clearpage
+%
 % \iffalse
+%<*hyperxmp>
+% \fi
+%
+% \part{lwarp-hyperxmp.sty}
+%
+% \section{Hyperxmp}
+%
+% \DescribePackage{hyperxmp} Emulated.
+%
+% \changes{v0.34}{2017/08/03}{\pkg{hyperxmp}: Added.}
+%
+% \codehtml
+%
+% Discard all options for \pkg{lwarp-hyperxmp}:
+%    \begin{macrocode}
+\LWR at ProvidesPackageDrop{hyperxmp}
+%    \end{macrocode}
+%
+%
+% \iffalse
+%</hyperxmp>
+% \fi
+%
+%
+%
+%
+% \clearpage
+%
+% \iffalse
+%<*idxlayout>
+% \fi
+%
+% \part{lwarp-idxlayout.sty}
+%
+% \section{Idxlayout}
+%
+% \DescribePackage{idxlayout} Emulated.
+%
+% \changes{v0.34}{2017/07/27}{\pkg{idxlayout}: Added.}
+%
+% \codehtml
+%
+% Discard all options for \pkg{lwarp-idxlayout}:
+%    \begin{macrocode}
+\LWR at ProvidesPackageDrop{idxlayout}
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\newcommand{\LWR at indexprenote}{}
+
+\renewcommand*{\printindex}
+{
+\LWR at indexsection
+\LWR at startpars
+
+\LWR at indexprenote
+
+\LWR at origprintindex
+}
+
+\newcommand{\setindexprenote}[1]{\renewcommand{\LWR at indexprenote}{#1}}
+\newcommand*{\noindexprenote}{\renewcommand{\LWR at indexprenote}{}}
+
+\newcommand{\idxlayout}[1]{}
+\newcommand*{\indexfont}{}
+\newcommand*{\indexjustific}{}
+\newcommand*{\indexsubsdelim}{}
+\newcommand*{\indexstheadcase}{}
+%    \end{macrocode}
+%
+% \iffalse
+%</idxlayout>
+% \fi
+%
+%
+%
+% \clearpage
+%
+% \iffalse
 %<*indentfirst>
 % \fi
 
@@ -22099,8 +23704,8 @@
 \LWR at ProvidesPackageDrop{lettrine}
 %    \end{macrocode}
 %
-% The initial letter is in a \tag{span} of class |lettrine|, and the following
-% text is in a \tag{span} of class |lettrinetext|.
+% The initial letter is in a \element{span} of class |lettrine|, and the following
+% text is in a \element{span} of class |lettrinetext|.
 % \cs{lettrine} \oarg{keys} \marg{letter} \marg{additional text}
 %    \begin{macrocode}
 \DeclareDocumentCommand{\lettrine}{o m m}{%
@@ -22253,7 +23858,7 @@
 % Creating a display.
 %
 % Disable line numbers,
-% produce the |<pre>|, then
+% produce the \element{pre}, then
 % reenable line numbers.
 %    \begin{macrocode}
 \LWR at traceinfo{About to create verbatim.}%
@@ -22264,7 +23869,7 @@
 \let\lsthk at EveryPar\LWR at origlsthkEveryPar%
 \else%
 %    \end{macrocode}
-% Inline, so open a |<span>|
+% Inline, so open a \element{span}:
 %    \begin{macrocode}
 \ifbool{LWR at verbtags}{\LWR at htmltag{span class="inlineprogramlisting"}}{}%
 \fi%
@@ -22281,7 +23886,7 @@
 % Creating a display.
 %
 % Disable line numbers,
-% produce the |</pre>|, then
+% produce the \element{/pre}, then
 % reenable line numbers:
 %    \begin{macrocode}
 \let\lsthk at EveryPar\relax%
@@ -22290,7 +23895,7 @@
 \let\lsthk at EveryPar\LWR at origlsthkEveryPar%
 \else%
 %    \end{macrocode}
-% Inline, so create the closing |</span>|:
+% Inline, so create the closing \element{/span}:
 %    \begin{macrocode}
 \ifbool{LWR at verbtags}{\noindent\LWR at htmltag{/span}}{}%
 \fi%
@@ -22596,10 +24201,36 @@
 %
 %
 %
-%
 % \clearpage
 %
 % \iffalse
+%<*marginfit>
+% \fi
+%
+% \part{lwarp-marginfit.sty}
+%
+% \section{Marginfit}
+%
+% \DescribePackage{marginfit} Emulated.
+%
+% \changes{v0.34}{2017/07/25}{\pkg{marginfit}: Added.}
+%
+% \codehtml
+%
+% Discard all options for \pkg{lwarp-marginfit}:
+%    \begin{macrocode}
+\LWR at ProvidesPackageDrop{marginfit}
+%    \end{macrocode}
+%
+% \iffalse
+%</marginfit>
+% \fi
+%
+%
+%
+%
+%
+% \iffalse
 %<*marginfix>
 % \fi
 %
@@ -22607,7 +24238,7 @@
 %
 % \section{Marginfix}
 %
-% \DescribePackage{marginfix} Not used.
+% \DescribePackage{marginfix} Emulated.
 %
 % \changes{v0.26}{2017/03/29}{\pkg{marginfix}: Added.}
 %
@@ -22732,6 +24363,7 @@
 %
 % \codehtml
 %    \begin{macrocode}
+\RequirePackage{xcolor}% for \convertcolorspec
 \LWR at ProvidesPackageDrop{mdframed}
 %    \end{macrocode}
 %
@@ -22741,10 +24373,10 @@
 %
 % Environments created or encapsulated by \pkg{mdframed} are enclosed in a
 % \margintag{CSS classes}
-% \tag{div} of class |md<environmentname>|, or |mdframed| otherwise.
+% \element{div} of class |md<environmentname>|, or |mdframed| otherwise.
 %
-% Frame titles are placed into a \tag{span} of class |mdframedtitle|.
-% Subtitles are in a \tag{span} of class |mdframedsubtitle|, and likewise for subsubtitles.
+% Frame titles are placed into a \element{span} of class |mdframedtitle|.
+% Subtitles are in a \element{span} of class |mdframedsubtitle|, and likewise for subsubtitles.
 %
 % Pre-existing hooks are used to patch extra functions before and after the frames.
 %
@@ -22801,7 +24433,7 @@
 % ^^A \begin{macro}{\LWR at mdframedstart}
 % Actions before an mdframe starts.
 %
-% Encapsulate a frame inside a \tag{div} of the desired |class|.
+% Encapsulate a frame inside a \element{div} of the desired |class|.
 %    \begin{macrocode}
 \newcommand*{\LWR at mdframedstart}{%
 %    \end{macrocode}
@@ -22814,7 +24446,7 @@
 %    \begin{macrocode}
 \uselengthunit{PT}%
 %    \end{macrocode}
-% Open a \tag{div} and with custom |class| and custom |style|:
+% Open a \element{div} and with custom |class| and custom |style|:
 %    \begin{macrocode}
 \LWR at htmltagc{div class="\LWR at mdthisenv" \LWR at orignewline
 style=" \LWR at orignewline
@@ -22851,8 +24483,8 @@
 % \env{mdframed} environment may not work with the modified \cs{hspace} and \cs{rule},
 % so restore them to their originals while inside \env{mdframed}:
 %    \begin{macrocode}
-\let\hspace\LWR at orighspace%
-\let\rule\LWR at origrule%
+\LetLtxMacro{\hspace}{\LWR at orighspace}%
+\LetLtxMacro\rule\LWR at origrule%
 }
 %    \end{macrocode}
 % ^^A \end{macro}
@@ -22860,11 +24492,11 @@
 % ^^A \begin{macro}{\LWR at mdframedend}
 % Actions after an mdframe ends.
 %
-% After closing the \tag{div}, globally restore to the default environment type:
+% After closing the \element{div}, globally restore to the default environment type:
 %    \begin{macrocode}
 \newcommand*{\LWR at mdframedend}{
 %    \end{macrocode}
-% Close the custom \tag{div}:
+% Close the custom \element{div}:
 %    \begin{macrocode}
 \LWR at htmldivclassend{\LWR at mdthisenv}
 %    \end{macrocode}
@@ -22883,9 +24515,9 @@
 % ^^A \begin{macro}{\mdfframedtitleenv} \marg{title}
 %
 % Encapsulation of the original which places the title
-% inside a \tag{span} of class |mdframedtitle|:
+% inside a \element{span} of class |mdframedtitle|:
 %    \begin{macrocode}
-\let\LWR at origmdfframedtitleenv\mdfframedtitleenv
+\LetLtxMacro\LWR at origmdfframedtitleenv\mdfframedtitleenv
 
 \newlength{\LWR at titleroundcorner}
 
@@ -22896,7 +24528,7 @@
 %    \begin{macrocode}
 \uselengthunit{PT}%
 %    \end{macrocode}
-% Open a \tag{span} with a custom |class| and custom |style|:
+% Open a \element{span} with a custom |class| and custom |style|:
 %    \begin{macrocode}
 \LWR at htmltagc{span class="mdframedtitle" \LWR at orignewline
 style=" \LWR at orignewline
@@ -22954,7 +24586,7 @@
 %
 % Common code for \cs{LWR at mdfsubtitle} and \cs{LWR at mdfsubsubtitle}.
 %
-% Encapsulate the subtitle inside a \tag{span} of class |mdframedsubtitle|:
+% Encapsulate the subtitle inside a \element{span} of class |mdframedsubtitle|:
 %    \begin{macrocode}
 \NewDocumentCommand{\LWR at mdfsubtitlecommon}{m o m}
 {% the following empty line is required
@@ -22966,7 +24598,7 @@
 %    \begin{macrocode}
 \let\par\LWR at origpar%
 %    \end{macrocode}
-% Open a \tag{span} with a custom |class| and custom |style|:
+% Open a \element{span} with a custom |class| and custom |style|:
 %    \begin{macrocode}
 \LWR at htmltagc{span class="mdframed#1title"
 style=" \LWR at orignewline
@@ -23087,15 +24719,98 @@
 %        \oarg{numberedlike} \marg{caption} \oarg{within}
 %
 % Modified from the original to remember the environment.
+%
+% \changes{v0.34}{2017/08/05}{\pkg{mdframed}: Improved \env{mdtheorem} patch.}
+%
 %    \begin{macrocode}
-\let\LWR at origmdtheorem\mdtheorem
-
-\DeclareDocumentCommand{\LWR at mdtheorem}{O{} m o m o}{%
-\LWR at origmdtheorem[#1]{#2}[#3]{#4}[#5]%
-\BeforeBeginEnvironment{#2}{\renewcommand*{\LWR at mdthisenv}{md#2}}%
-}
-
-\let\mdtheorem\LWR at mdtheorem
+\DeclareDocumentCommand{\mdtheorem}{ O{} m o m o }%
+ {\ifcsdef{#2}%
+   {\mdf at PackageWarning{Environment #2 already exits\MessageBreak}}%
+   {%
+    \IfNoValueTF {#3}%
+     {%#3 not given -- number relationship
+      \IfNoValueTF {#5}%
+        {%#3+#5 not given
+        \@definecounter{#2}%
+        \expandafter\xdef\csname the#2\endcsname{\@thmcounter{#2}}%
+        \newenvironment{#2}[1][]{%
+          \refstepcounter{#2}%
+          \ifstrempty{##1}%
+            {\let\@temptitle\relax}%
+            {%
+             \def\@temptitle{\mdf at theoremseparator%
+                             \mdf at theoremspace%
+                             \mdf at theoremtitlefont%
+                             ##1}%
+             \mdf at thm@caption{#2}{{#4}{\csname the#2\endcsname}{##1}}%
+             }%
+          \begin{mdframed}[#1,frametitle={\strut#4\ \csname the#2\endcsname%
+                                          \@temptitle}]}%
+          {\end{mdframed}}%
+        \newenvironment{#2*}[1][]{%
+          \ifstrempty{##1}{\let\@temptitle\relax}{\def\@temptitle{:\ ##1}}%
+          \begin{mdframed}[#1,frametitle={\strut#4\@temptitle}]}%
+          {\end{mdframed}}%
+        }%
+        {%#5 given -- reset counter
+        \@definecounter{#2}\@newctr{#2}[#5]%
+        \expandafter\xdef\csname the#2\endcsname{\@thmcounter{#2}}%
+        \expandafter\xdef\csname the#2\endcsname{%
+               \expandafter\noexpand\csname the#5\endcsname \@thmcountersep%
+                  \@thmcounter{#2}}%
+        \newenvironment{#2}[1][]{%
+          \refstepcounter{#2}%
+          \ifstrempty{##1}%
+            {\let\@temptitle\relax}%
+            {%
+             \def\@temptitle{\mdf at theoremseparator%
+                             \mdf at theoremspace%
+                             \mdf at theoremtitlefont%
+                             ##1}%
+             \mdf at thm@caption{#2}{{#4}{\csname the#2\endcsname}{##1}}%
+             }
+          \begin{mdframed}[#1,frametitle={\strut#4\ \csname the#2\endcsname%
+                                          \@temptitle}]}%
+          {\end{mdframed}}%
+        \newenvironment{#2*}[1][]{%
+          \ifstrempty{##1}%
+            {\let\@temptitle\relax}%
+            {%
+             \def\@temptitle{\mdf at theoremseparator%
+                             \mdf at theoremspace%
+                             \mdf at theoremtitlefont%
+                             ##1}%
+             \mdf at thm@caption{#2}{{#4}{\csname the#2\endcsname}{##1}}%
+             }%
+          \begin{mdframed}[#1,frametitle={\strut#4\@temptitle}]}%
+          {\end{mdframed}}%
+        }%
+     }%
+     {%#3 given -- number relationship
+        \global\@namedef{the#2}{\@nameuse{the#3}}%
+        \newenvironment{#2}[1][]{%
+          \refstepcounter{#3}%
+          \ifstrempty{##1}%
+            {\let\@temptitle\relax}%
+            {%
+             \def\@temptitle{\mdf at theoremseparator%
+                             \mdf at theoremspace%
+                             \mdf at theoremtitlefont%
+                             ##1}%
+             \mdf at thm@caption{#2}{{#4}{\csname the#2\endcsname}{##1}}%
+             }
+          \begin{mdframed}[#1,frametitle={\strut#4\ \csname the#2\endcsname%
+                                          \@temptitle}]}%
+          {\end{mdframed}}%
+        \newenvironment{#2*}[1][]{%
+          \ifstrempty{##1}{\let\@temptitle\relax}{\def\@temptitle{:\ ##1}}%
+          \begin{mdframed}[#1,frametitle={\strut#4\@temptitle}]}%
+          {\end{mdframed}}%
+     }%
+	\BeforeBeginEnvironment{#2}{\renewcommand*{\LWR at mdthisenv}{md#2}}% new
+	\BeforeBeginEnvironment{#2*}{\renewcommand*{\LWR at mdthisenv}{md#2}}% new
+   }%
+ }
 %    \end{macrocode}
 % ^^A \end{macro}
 %
@@ -23197,6 +24912,125 @@
 % \clearpage
 %
 % \iffalse
+%<*moreverb>
+% \fi
+%
+% \part{lwarp-moreverb.sty}
+%
+% \section{Moreverb}
+% \label{sec:moreverb}
+%
+%
+% \DescribePackage{moreverb}
+% \pkg{moreverb} is supported with some patches.
+%
+%
+%
+% \changes{v0.34}{2017/08/02}{\pkg{moreverb}: Added.}
+%
+% \codehtml
+%    \begin{macrocode}
+\begin{warpHTML}
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\LWR at ProvidesPackagePass{moreverb}
+%    \end{macrocode}
+%
+%
+%
+%    \begin{macrocode}
+\BeforeBeginEnvironment{verbatimtab}{%
+\LWR at forcenewpage
+\LWR at atbeginverbatim{Verbatim}\unskip\LWR at origvspace*{-\baselineskip}%
+}
+\AfterEndEnvironment{verbatimtab}{%
+\LWR at afterendverbatim%
+}
+
+
+\LetLtxMacro\LWRMV at orig@verbatimtabinput\@verbatimtabinput
+
+\renewcommand{\@verbatimtabinput}[2][]{%
+\LWR at forcenewpage
+\LWR at atbeginverbatim{Verbatim}\unskip\LWR at origvspace*{-\baselineskip}%
+\LWRMV at orig@verbatimtabinput[#1]{#2}%
+\LWR at afterendverbatim%
+}
+
+\BeforeBeginEnvironment{listing}{%
+\LWR at forcenewpage
+\LWR at atbeginverbatim{programlisting}\unskip\LWR at origvspace*{-\baselineskip}%
+}
+
+\AfterEndEnvironment{listing}{%
+% \unskip\LWR at origvspace*{-\baselineskip}%
+\LWR at afterendverbatim%
+}
+
+\BeforeBeginEnvironment{listingcont}{%
+\LWR at forcenewpage
+\LWR at atbeginverbatim{programlisting}\unskip\LWR at origvspace*{-\baselineskip}%
+}
+
+\AfterEndEnvironment{listingcont}{%
+% \unskip\LWR at origvspace*{-\baselineskip}%
+\LWR at afterendverbatim%
+}
+
+\renewcommand{\listinglabel}[1]{\InlineClass{listinglabel}{\the#1}}
+
+\def\thelisting at line{%
+\@tempcnta=\listing at line%
+\divide\@tempcnta\listing at step \multiply\@tempcnta\listing at step%
+\ifnum\listing at line=\@ne%
+\listinglabel\listing at line%
+\else%
+\ifnum\@tempcnta=\listing at line%
+\listinglabel\listing at line%
+\else%
+\InlineClass{listinglabel}{}%
+\fi%
+\fi}
+
+\LetLtxMacro\LWRMV@@listinginput\@listinginput
+
+\renewcommand{\@listinginput}[3][]{
+\LWR at forcenewpage
+\LWR at atbeginverbatim{programlisting}\unskip\LWR at origvspace*{-\baselineskip}%
+\LWRMV@@listinginput[#1]{#2}{#3}
+\LWR at afterendverbatim%
+}
+
+
+\renewenvironment*{boxedverbatim}
+{
+\LWR at forcenewpage
+\LWR at atbeginverbatim{boxedverbatim}\unskip\LWR at origvspace*{-\baselineskip}%
+\verbatim%
+}
+{
+\endverbatim%
+\LWR at afterendverbatim%
+}
+
+
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\end{warpHTML}
+%    \end{macrocode}
+%
+% \iffalse
+%</moreverb>
+% \fi
+%
+%
+%
+%
+% \clearpage
+%
+% \iffalse
 %<*mparhack>
 % \fi
 %
@@ -23204,7 +25038,7 @@
 %
 % \section{Mparhack}
 %
-% \DescribePackage{mparhack} Not used.
+% \DescribePackage{mparhack} Emulated.
 %
 % \changes{v0.26}{2017/03/29}{\pkg{mparhack}: Added.}
 %
@@ -23245,9 +25079,9 @@
 
 % Multicols are converted into a 1--3 column display, browser-supported.
 %
-% The optional multicols heading is placed inside a \tag{div} of class |multicolsheading|.
+% The optional multicols heading is placed inside a \element{div} of class |multicolsheading|.
 %
-% The content is placed inside a \tag{div} of class |multicols|.
+% The content is placed inside a \element{div} of class |multicols|.
 
 %    \begin{macrocode}
 \begin{warpHTML}
@@ -23563,8 +25397,8 @@
 % \begin{description}
 % \item[CSS styling of theorems and proofs:] \
 % \begin{description}
-% \item [Theorem:] \tag{div} of class |theorembody<theoremstyle>|
-% \item [Theorem Header:] \tag{span} of class |theoremheader<style>|
+% \item [Theorem:] \element{div} of class |theorembody<theoremstyle>|
+% \item [Theorem Header:] \element{span} of class |theoremheader<style>|
 % \end{description}
 % where |<theoremstyle>| is |plain|, |break|, etc.
 % \end{description}
@@ -23849,7 +25683,7 @@
 %    \begin{macrocode}
 \theoremstyle{plainupright}
 \theorembodyfont{\upshape}
-\theoremsymbol{\ensuremath{_\Box}}
+\theoremsymbol{\HTMLunicode{25A1}}% UTF-8 white box
 \renewtheorem{Example}{Example}
 \renewtheorem{example}{Example}
 \renewtheorem{Beispiel}{Beispiel}
@@ -23864,12 +25698,12 @@
 \renewtheorem{definition}{Definition}
 
 \theoremstyle{nonumberplainuprightsc}
-\theoremsymbol{\ensuremath{_\blacksquare}}
+\theoremsymbol{\HTMLunicode{220E}}% UTF-8 end-of-proof
 \renewtheorem{Proof}{Proof}
 \renewtheorem{proof}{Proof}
 \renewtheorem{Beweis}{Beweis}
 \renewtheorem{beweis}{Beweis}
-\qedsymbol{\ensuremath{_\blacksquare}}
+\qedsymbol{\HTMLunicode{220E}}% UTF-8 end-of-proof
 
 \theoremsymbol{}
 }% not amsthm
@@ -24029,7 +25863,7 @@
 	\th at proof
 	\def\theorem at headerfont{\itshape}%
 	\normalfont
-	\theoremsymbol{\ensuremath{_\blacksquare}}
+	\theoremsymbol{\HTMLunicode{220E}}% UTF-8 end-of-proof
 	\@thm{proof}{proof}{#1}
 }%
 {\@endtheorem}
@@ -24148,6 +25982,45 @@
 %
 %
 %
+%
+% \iffalse
+%<*paralist>
+% \fi
+%
+% \part{lwarp-paralist.sty}
+%
+% \section{Paralist}
+% \label{sec:paralist}
+%
+% \DescribePackage{paralist}
+% \pkg{paralist} is supported with minor changes.
+
+% \changes{v0.34}{2017/07/27}{\pkg{paralist}: Added.}
+%
+% \codehtml
+%    \begin{macrocode}
+\LWR at ProvidesPackagePass{paralist}
+%    \end{macrocode}
+%
+% \codehtml
+%    \begin{macrocode}
+\AtBeginEnvironment{compactitem}{\LWR at itemizestart}
+\AtEndEnvironment{compactitem}{\LWR at itemizeend}
+\AtBeginEnvironment{compactenum}{\LWR at enumeratestart}
+\AtEndEnvironment{compactenum}{\LWR at enumerateend}
+\AtBeginEnvironment{compactdesc}{\LWR at descriptionstart}
+\AtEndEnvironment{compactdesc}{\LWR at descriptionend}
+\def\paradescriptionlabel#1{{\normalfont\textbf{#1}}}
+%    \end{macrocode}
+%
+% \iffalse
+%</paralist>
+% \fi
+%
+%
+%
+%
+%
 % \clearpage
 %
 % \iffalse
@@ -24177,7 +26050,71 @@
 %
 %
 %
+%
+%
+%
 % \iffalse
+%<*pdflscape>
+% \fi
+%
+% \part{lwarp-pdflscape.sty}
+%
+% \section{Pdflscape}
+%
+% \DescribePackage{pdflscape} Emulated.
+%
+% \changes{v0.34}{2017/08/03}{\pkg{pdflscape}: Added.}
+%
+% \codehtml
+%
+% Discard all options for \pkg{lwarp-pdflscape}:
+%    \begin{macrocode}
+\LWR at ProvidesPackageDrop{pdflscape}
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+%    \end{macrocode}
+%
+% \iffalse
+%</pdflscape>
+% \fi
+%
+%
+%
+% \clearpage
+%
+% \iffalse
+%<*pdfsync>
+% \fi
+%
+% \part{lwarp-pdfsync.sty}
+%
+% \section{Pdfsync}
+%
+% \DescribePackage{pdfsync} Emulated.
+%
+% \changes{v0.34}{2017/08/03}{\pkg{pdfsync}: Added.}
+%
+% \codehtml
+%
+% Discard all options for \pkg{lwarp-pdfsync}:
+%    \begin{macrocode}
+\LWR at ProvidesPackageDrop{pdfsync}
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\let\pdfsync\relax
+\let\pdfsyncstart\relax
+\let\pdfsyncstop\relax
+%    \end{macrocode}
+%
+% \iffalse
+%</pdfsync>
+% \fi
+%
+%
+%
+% \iffalse
 %<*placeins>
 % \fi
 %
@@ -24212,6 +26149,40 @@
 % \clearpage
 %
 % \iffalse
+%<*prelim2e>
+% \fi
+%
+% \part{lwarp-prelim2e.sty}
+%
+% \section{Prelim2e}
+%
+% \DescribePackage{prelim2e} Emulated.
+%
+% \changes{v0.34}{2017/08/03}{\pkg{prelim2e}: Added.}
+%
+% \codehtml
+%
+% Discard all options for \pkg{lwarp-prelim2e}:
+%    \begin{macrocode}
+\LWR at ProvidesPackageDrop{prelim2e}
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\newcommand{\PrelimText}{}
+\newcommand{\PrelimTextStyle}{}
+\newcommand{\PrelimWords}{}
+%    \end{macrocode}
+%
+% \iffalse
+%</prelim2e>
+% \fi
+%
+%
+%
+%
+% \clearpage
+%
+% \iffalse
 %<*ragged2e>
 % \fi
 %
@@ -24287,10 +26258,10 @@
 %    \end{macrocode}
 
 %    \begin{macrocode}
-\let\sidewaystable\table
+\LetLtxMacro\sidewaystable\table
 \let\endsidewaystable\endtable
 
-\let\sidewaysfigure\figure
+\LetLtxMacro\sidewaysfigure\figure
 \let\endsidewaysfigure\endfigure
 
 \newenvironment*{sideways}{}{}
@@ -24313,6 +26284,101 @@
 % \clearpage
 %
 % \iffalse
+%<*rotfloat>
+% \fi
+
+% \part{lwarp-rotfloat.sty}
+
+% \section{Rotfloat}
+%
+% \DescribePackage{rotfloat}
+% \pkg{rotfloat} is emulated during \HTML\ output, and
+% the \pkg{rotfloat} package is ignored.
+%
+% \changes{v0.34}{2017/07/25}{\pkg{rotfloat}: Added.}
+%
+%
+% \codehtml
+%    \begin{macrocode}
+\LWR at ProvidesPackageDrop{rotfloat}
+
+\RequirePackage{float}
+%    \end{macrocode}
+%
+%
+% \begin{macro}{\newfloat} \marg{1: type} \marg{2: placement}
+%							\marg{3: ext} \oarg{4: within}
+%
+% Emulates the \cs{newfloat} command from the \pkg{float} package.
+% Sideways floats are \cs{let} to the same as regular floats.
+%
+% ``placement'' is ignored.
+%
+%    \begin{macrocode}
+\RenewDocumentCommand{\newfloat}{m m m o}{%
+\IfValueTF{#4}
+{
+\DeclareFloatingEnvironment[fileext=#3,within=#4]{#1}
+}
+{
+\DeclareFloatingEnvironment[fileext=#3]{#1}
+\DeclareFloatingEnvironment[fileext=#3]{sideways#1}
+}
+\csletcs{sideways#1}{#1}
+\csletcs{endsideways#1}{end#1}
+%    \end{macrocode}
+% \pkg{newfloat} package automatically creates the \cs{listof} command
+% for new floats, but \pkg{float} does not,
+% so remove \cs{listof} here in case it is manually created later.
+%    \begin{macrocode}
+\cslet{listof#1s}\relax
+\cslet{listof#1es}\relax
+}
+%    \end{macrocode}
+% \end{macro}
+%
+% \iffalse
+%</rotfloat>
+% \fi
+%
+%
+%
+%
+%
+% \clearpage
+%
+% \iffalse
+%<*savetrees>
+% \fi
+%
+% \part{lwarp-savetrees.sty}
+%
+% \section{Savetrees}
+%
+% \DescribePackage{savetrees} Emulated.
+%
+% \changes{v0.34}{2017/07/27}{\pkg{savetrees}: Added.}
+%
+% \codehtml
+%
+% Discard all options for \pkg{lwarp-savetrees}:
+%    \begin{macrocode}
+\LWR at ProvidesPackageDrop{savetrees}
+%    \end{macrocode}
+%
+%
+% \iffalse
+%</savetrees>
+% \fi
+%
+%
+%
+%
+%
+%
+% \clearpage
+%
+% \iffalse
 %<*setspace>
 % \fi
 
@@ -24379,11 +26445,48 @@
 %
 %
 %
+% \iffalse
+%<*shadow>
+% \fi
+
+% \part{lwarp-shadow.sty}
+
+% \section{Shadow}
 %
+% \DescribePackage{shadow}
+% \pkg{shadow} is emulated.
 %
-% clearpage
+% \changes{v0.34}{2017/07/26}{\pkg{shadow}: Added.}
 %
+% \codehtml
+%
+% Discard all options for \pkg{lwarp-shadow}:
+%    \begin{macrocode}
+\LWR at ProvidesPackageDrop{shadow}
+%    \end{macrocode}
+
+%    \begin{macrocode}
+\newdimen\sboxsep
+\newdimen\sboxrule
+\newdimen\sdim
+
+\newcommand{\shabox}[1]{%
+\InlineClass{shabox}{#1}%
+}
+%    \end{macrocode}
+
 % \iffalse
+%</shadow>
+% \fi
+%
+%
+%
+%
+%
+%
+% \clearpage
+%
+% \iffalse
 %<*showidx>
 % \fi
 
@@ -24622,6 +26725,7 @@
 %
 %    \begin{macrocode}
 \LWR at ProvidesPackageDrop{soul}
+\RequirePackage{xcolor}% for \convertcolorspec
 %    \end{macrocode}
 %
 % Storage for the colors to use:
@@ -24649,7 +26753,7 @@
 \InlineClass{#3}{#1}}%
 {%
 \convertcolorspec{named}{\csuse{#2}}{HTML}\LWR at tempcolor%
-\InlineClass{#3}[#4: \#\LWR at tempcolor]{#1}%
+\InlineClass[#4: \#\LWR at tempcolor]{#3}{#1}%
 }%
 }
 
@@ -24981,7 +27085,7 @@
 %
 % Defining new subfloats.  The |l at sub<type>| for each is redefined.
 %    \begin{macrocode}
-\let\LWR at orig@newsubfloat\@newsubfloat
+\LetLtxMacro\LWR at orig@newsubfloat\@newsubfloat
 
 \def\@newsubfloat[#1]#2{%
 \LWR at orig@newsubfloat[#1]{#2}%
@@ -25005,9 +27109,48 @@
 %
 %
 %
+%
 % \clearpage
 %
 % \iffalse
+%<*syntonly>
+% \fi
+%
+% \part{lwarp-syntonly.sty}
+%
+% \section{Syntonly}
+%
+% \DescribePackage{syntonly} Emulated.
+%
+% \changes{v0.34}{2017/07/26}{\pkg{syntonly}: Added.}
+%
+% \codehtml
+%
+% Discard all options for \pkg{lwarp-syntonly}:
+%    \begin{macrocode}
+\LWR at ProvidesPackageDrop{syntonly}
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\newif\ifsyntax@
+\syntax at false
+
+\newcommand*{\syntaxonly}{}
+
+\@onlypreamble\syntaxonly
+%    \end{macrocode}
+%
+% \iffalse
+%</syntonly>
+% \fi
+%
+%
+%
+%
+%
+% \clearpage
+%
+% \iffalse
 %<*tabularx>
 % \fi
 
@@ -25160,8 +27303,8 @@
 % \begin{description}
 % \item[CSS styling of theorems and proofs:] \
 % \begin{description}
-% \item [Theorem:] \tag{div} of class |theorembody<theoremstyle>|
-% \item [Theorem Header:] \tag{span} of class |theoremheader|
+% \item [Theorem:] \element{div} of class |theorembody<theoremstyle>|
+% \item [Theorem Header:] \element{span} of class |theoremheader|
 % \end{description}
 % where |<theoremstyle>| is |plain|, |break|, etc.
 % \end{description}
@@ -25377,6 +27520,12 @@
 % \DescribePackage{threeparttable}
 % \pkg{threeparttable} is emulated during \HTML\ output, and
 % the \pkg{threeparttable} package is ignored.
+%
+% Table note are contained inside a \CSS\ \element{div} of class |tnotes|.
+% If \pkg{enumitem} is used, the
+% note item labels are also individually
+% highlighted with an additional \CSS\ \element{span} of class |tnoteitemheader|,
+% otherwise they are plain text.
 
 % \codehtml
 %    \begin{macrocode}
@@ -25409,7 +27558,9 @@
 {%
 \LWR at forcenewpage
 \BlockClass{tnotes}%
+\ltx at ifpackageloaded{enumitem}{%
 \setlist[description]{format=\LWR at printtablenote}%
+}{}%
 \description%
 }
 {%
@@ -25463,7 +27614,12 @@
 % \pkg{tikz} v3.0.0 introduced the |babel| library which handles catcode changes.
 % For older versions, \pkg{lwarp} must change |$|'s catcode itself.
 %
+% Also see:\\
+%	\href{https://tex.stackexchange.com/questions/16199/test-if-a-package-or-package-option-is-loaded}
+%	{https://tex.stackexchange.com/questions/16199/\\
+%		\hspace*{2em}test-if-a-package-or-package-option-is-loaded}
 
+
 % \codehtml
 %    \begin{macrocode}
 \begin{warpHTML}
@@ -25528,12 +27684,14 @@
 % \DescribePackage{titleps}
 % \pkg{titleps} is loaded and used by \pkg{lwarp} during \HTML\ output.
 % All user options and macros are ignored and disabled.
-
+%
+% \changes{v0.19}{2016/05/27}{titleps: null \cs{pagestyle} and \cs{thispagestyle} for HTML.}
 % \changes{v0.20}{2017/01/03}{\pkg{titleps}: Added.}
+% \changes{v0.34}{2017/08/03}{\pkg{titleps}: No longer required.}
 %
 %
 % Discard all options for \pkg{lwarp-titleps}:
-
+%
 % \codehtml
 %    \begin{macrocode}
 \LWR at ProvidesPackageDrop{titleps}
@@ -25544,8 +27702,8 @@
 % ^^A \begin{macro}{\newpagestyle} \marg{name} \oarg{style} \marg{commands}
 % ^^A \begin{macro}{\renewpagestyle} \marg{name} \oarg{style} \marg{commands}
 %    \begin{macrocode}
-\RenewDocumentCommand{\newpagestyle}{m o m}{}
-\RenewDocumentCommand{\renewpagestyle}{m o m}{}
+\NewDocumentCommand{\newpagestyle}{m o m}{}
+\NewDocumentCommand{\renewpagestyle}{m o m}{}
 %    \end{macrocode}
 % ^^A \end{macro}
 % ^^A \end{macro}
@@ -25553,8 +27711,8 @@
 % ^^A \begin{macro}{\sethead} \oarg{el} \oarg{ec} \oarg{er} \marg{ol} \marg{oc} \marg{or}
 % ^^A \begin{macro}{\setfoot} \oarg{el} \oarg{ec} \oarg{er} \marg{ol} \marg{oc} \marg{or}
 %    \begin{macrocode}
-\RenewDocumentCommand{\sethead}{o o o m m m}{}
-\RenewDocumentCommand{\setfoot}{o o o m m m}{}
+\NewDocumentCommand{\sethead}{o o o m m m}{}
+\NewDocumentCommand{\setfoot}{o o o m m m}{}
 %    \end{macrocode}
 % ^^A \end{macro}
 % ^^A \end{macro}
@@ -25561,7 +27719,7 @@
 
 % ^^A \begin{macro}{\settitlemarks} * \marg{names}
 %    \begin{macrocode}
-\RenewDocumentCommand{\settitlemarks}{s m}{}
+\NewDocumentCommand{\settitlemarks}{s m}{}
 %    \end{macrocode}
 % ^^A \end{macro}
 
@@ -25568,8 +27726,8 @@
 % ^^A \begin{macro}{\headrule}
 % ^^A \begin{macro}{\footrule}
 %    \begin{macrocode}
-\renewcommand*{\headrule}{}
-\renewcommand*{\footrule}{}
+\newcommand*{\headrule}{}
+\newcommand*{\footrule}{}
 %    \end{macrocode}
 % ^^A \end{macro}
 % ^^A \end{macro}
@@ -25577,8 +27735,8 @@
 % ^^A \begin{macro}{\setheadrule} \marg{length}
 % ^^A \begin{macro}{\setfootrule} \marg{length}
 %    \begin{macrocode}
-\renewcommand*{\setheadrule}[1]{}
-\renewcommand*{\setfootrule}[1]{}
+\newcommand*{\setheadrule}[1]{}
+\newcommand*{\setfootrule}[1]{}
 %    \end{macrocode}
 % ^^A \end{macro}
 % ^^A \end{macro}
@@ -25594,13 +27752,13 @@
 
 % ^^A \begin{macro}{\setmarkboth} \marg{code}
 %    \begin{macrocode}
-\renewcommand{\setmarkboth}[1]{}
+\newcommand{\setmarkboth}[1]{}
 %    \end{macrocode}
 % ^^A \end{macro}
 
 % ^^A \begin{macro}{\widenhead}
 %    \begin{macrocode}
-\RenewDocumentCommand{\widenhead}{s o o m m}{}
+\NewDocumentCommand{\widenhead}{s o o m m}{}
 %    \end{macrocode}
 % ^^A \end{macro}
 
@@ -25611,12 +27769,12 @@
 % ^^A \begin{macro}{\outertitlemarks}
 % ^^A \begin{macro}{\innertitlemarks}
 %    \begin{macrocode}
-\renewcommand*{\bottitlemarks}{}
-\renewcommand*{\toptitlemarks}{}
-\renewcommand*{\firsttitlemarks}{}
-\renewcommand*{\nexttoptitlemarks}{}
-\renewcommand*{\outertitlemarks}{}
-\renewcommand*{\innertitlemarks}{}
+\newcommand*{\bottitlemarks}{}
+\newcommand*{\toptitlemarks}{}
+\newcommand*{\firsttitlemarks}{}
+\newcommand*{\nexttoptitlemarks}{}
+\newcommand*{\outertitlemarks}{}
+\newcommand*{\innertitlemarks}{}
 %    \end{macrocode}
 % ^^A \end{macro}
 % ^^A \end{macro}
@@ -25627,19 +27785,19 @@
 
 % ^^A \begin{macro}{\newtitlemark} * \marg{name}
 %    \begin{macrocode}
-\RenewDocumentCommand{\newtitlemark}{s m}{}
+\NewDocumentCommand{\newtitlemark}{s m}{}
 %    \end{macrocode}
 % ^^A \end{macro}
 
 % ^^A \begin{macro}{\pretitlemark} * \marg{section} \marg{text}
 %    \begin{macrocode}
-\RenewDocumentCommand{\pretitlemark}{s m m}{}
+\NewDocumentCommand{\pretitlemark}{s m m}{}
 %    \end{macrocode}
 % ^^A \end{macro}
 
 % ^^A \begin{macro}{\ifsamemark} \marg{group} \marg{command} \marg{true} \marg{false}
 %    \begin{macrocode}
-\renewcommand{\ifsamemark}[4]{}
+\newcommand{\ifsamemark}[4]{}
 %    \end{macrocode}
 % ^^A \end{macro}
 
@@ -25701,9 +27859,42 @@
 %
 %
 %
+%
+%
+%
 % \clearpage
 %
+%
 % \iffalse
+%<*titleref>
+% \fi
+%
+% \part{lwarp-titleref.sty}
+%
+% \section{Titleref}
+%
+% \DescribePackage{titleref}
+% \pkg{titleref} is superceded by \pkg{hyperref} and \pkg{nameref}.
+%
+% \changes{v0.34}{2017/07/26}{\pkg{titleref}: Prevented.}
+%
+% \codehtml
+%    \begin{macrocode}
+\LWR at loadnever{titleref}{hyperref and nameref}
+%    \end{macrocode}
+%
+% \iffalse
+%</titleref>
+% \fi
+%
+%
+%
+%
+%
+%
+% \clearpage
+%
+% \iffalse
 %<*titlesec>
 % \fi
 
@@ -26488,8 +28679,8 @@
 %
 % Original \pkg{lwarp} definitions:
 %    \begin{macrocode}
-\let\LWR at ulemorigemph\emph
-\let\LWR at ulemorigtextbf\textbf
+\LetLtxMacro\LWR at ulemorigemph\emph
+\LetLtxMacro\LWR at ulemorigtextbf\textbf
 %    \end{macrocode}
 %
 % Basic markup commands, using \CSS:
@@ -26546,8 +28737,8 @@
 %
 % Triggered by package options, also available for the users:
 %    \begin{macrocode}
-\newcommand*{\normalem}{\let\emph\LWR at ulemorigemph}
-\newcommand*{\ULforem}{\let\emph\uline}
+\newcommand*{\normalem}{\LetLtxMacro\emph\LWR at ulemorigemph}
+\newcommand*{\ULforem}{\LetLtxMacro\emph\uline}
 \ULforem% default
 %    \end{macrocode}
 %
@@ -26573,6 +28764,7 @@
 %
 %
 %
+%
 % \clearpage
 %
 % \iffalse
@@ -26607,6 +28799,7 @@
 % The \env{verse} environment will be placed inside a \HTML\ |pre|.
 %    \begin{macrocode}
 \AfterEndPreamble{
+\LWR at traceinfo{Patching verse.}
 %    \end{macrocode}
 % At the beginning of the \env{verse} environment:
 %    \begin{macrocode}
@@ -26647,7 +28840,7 @@
  }
 }{}
 
-}
+}% AfterEndPreamble
 %    \end{macrocode}
 % \end{environment}
 
@@ -26859,7 +29052,7 @@
 \ifthenelse{\equal{#1}{color:}}%
 {\renewcommand*{\LWR at currenttextcolor}{\#\LWR at tempcolor}}{}%
 %    \end{macrocode}
-% Create the \HTML\ \tag{span} with the styled color:
+% Create the \HTML\ \element{span} with the styled color:
 %    \begin{macrocode}
 \LWR at htmltagc{span style="#1\#\LWR at tempcolor"{}}%
 \begin{LWR at nestspan}%
@@ -26952,8 +29145,8 @@
 %    \begin{macrocode}
 \let\textcolor\LWR at textcolor
 \let\pagecolor\LWR at pagecolor
-\let\colorbox\LWR at colorbox
-\let\fcolorbox\LWR at fcolorbox
+\LetLtxMacro\colorbox\LWR at colorbox
+\LetLtxMacro\fcolorbox\LWR at fcolorbox
 %    \end{macrocode}
 %
 %
@@ -27065,10 +29258,10 @@
 %    \begin{macrocode}
 \DeclareInstance{xfrac}{default}{text}{
 numerator-format = {%
-\let\scalebox\LWR at noscalebox%
+\LetLtxMacro{\scalebox}{\LWR at noscalebox}%
 \LWR at htmlsmallfontstart\textsuperscript{#1}\,\LWR at htmlsmallfontend},
 denominator-format = {%
-\let\scalebox\LWR at noscalebox%
+\LetLtxMacro{\scalebox}{\LWR at noscalebox}%
 \LWR at htmlsmallfontstart{}\,#1\LWR at htmlsmallfontend},
 %    \end{macrocode}
 % For |pdftotext|, do not scale the text:
@@ -27077,10 +29270,10 @@
 }
 \DeclareInstance{xfrac}{lmr}{text}{
 numerator-format = {%
-\let\scalebox\LWR at noscalebox%
+\LetLtxMacro{\scalebox}{\LWR at noscalebox}%
 \LWR at htmlsmallfontstart\textsuperscript{#1}\,\LWR at htmlsmallfontend},
 denominator-format = {%
-\let\scalebox\LWR at noscalebox%
+\LetLtxMacro{\scalebox}{\LWR at noscalebox}%
 \LWR at htmlsmallfontstart{}\,#1\LWR at htmlsmallfontend},
 %    \end{macrocode}
 % For |pdftotext|, do not scale the text:
@@ -27089,10 +29282,10 @@
 }
 \DeclareInstance{xfrac}{lmss}{text}{
 numerator-format = {%
-\let\scalebox\LWR at noscalebox%
+\LetLtxMacro{\scalebox}{\LWR at noscalebox}%
 \LWR at htmlsmallfontstart\textsuperscript{#1}\,\LWR at htmlsmallfontend},
 denominator-format = {%
-\let\scalebox\LWR at noscalebox%
+\LetLtxMacro{\scalebox}{\LWR at noscalebox}%
 \LWR at htmlsmallfontstart{}\,#1\LWR at htmlsmallfontend},
 %    \end{macrocode}
 % For |pdftotext|, do not scale the text:
@@ -27101,10 +29294,10 @@
 }
 \DeclareInstance{xfrac}{lmtt}{text}{
 numerator-format = {%
-\let\scalebox\LWR at noscalebox%
+\LetLtxMacro{\scalebox}{\LWR at noscalebox}%
 \LWR at htmlsmallfontstart\textsuperscript{#1}\,\LWR at htmlsmallfontend},
 denominator-format = {%
-\let\scalebox\LWR at noscalebox%
+\LetLtxMacro{\scalebox}{\LWR at noscalebox}%
 \LWR at htmlsmallfontstart{}\,#1\LWR at htmlsmallfontend},
 %    \end{macrocode}
 % For |pdftotext|, do not scale the text:
@@ -27125,12 +29318,44 @@
 %
 %
 %
+% \clearpage
 %
+% \iffalse
+%<*xmpincl>
+% \fi
 %
+% \part{lwarp-xmpincl.sty}
 %
+% \section{Xmpincl}
 %
+% \DescribePackage{xmpincl} Emulated.
 %
+% \changes{v0.34}{2017/08/03}{\pkg{xmpincl}: Added.}
 %
+% \codehtml
+%
+% Discard all options for \pkg{lwarp-xmpincl}:
+%    \begin{macrocode}
+\LWR at ProvidesPackageDrop{xmpincl}
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\newcommand*{\includexmp}[1]{}
+%    \end{macrocode}
+%
+% \iffalse
+%</xmpincl>
+% \fi
+%
+%
+%
+%
+%
+%
+%
+%
+%
+%
 % \clearpage
 % \renewcommand*{\partname}{}
 % \renewcommand*{\thepart}{}

Modified: trunk/Master/texmf-dist/source/latex/lwarp/lwarp.ins
===================================================================
--- trunk/Master/texmf-dist/source/latex/lwarp/lwarp.ins	2017-08-08 20:41:36 UTC (rev 44987)
+++ trunk/Master/texmf-dist/source/latex/lwarp/lwarp.ins	2017-08-08 20:42:15 UTC (rev 44988)
@@ -38,10 +38,14 @@
 \file{lwarp-algorithmicx.sty}{\from{lwarp.dtx}{algorithmicx}}
 \file{lwarp-alltt.sty}{\from{lwarp.dtx}{alltt}}
 \file{lwarp-amsthm.sty}{\from{lwarp.dtx}{amsthm}}
+\file{lwarp-balance.sty}{\from{lwarp.dtx}{balance}}
 \file{lwarp-bookmark.sty}{\from{lwarp.dtx}{bookmark}}
 \file{lwarp-booktabs.sty}{\from{lwarp.dtx}{booktabs}}
+\file{lwarp-boxedminipage.sty}{\from{lwarp.dtx}{boxedminipage}}
+\file{lwarp-boxedminipage2e.sty}{\from{lwarp.dtx}{boxedminipage2e}}
 \file{lwarp-ccaption.sty}{\from{lwarp.dtx}{ccaption}}
 \file{lwarp-changepage.sty}{\from{lwarp.dtx}{changepage}}
+\file{lwarp-crop.sty}{\from{lwarp.dtx}{crop}}
 \file{lwarp-cutwin.sty}{\from{lwarp.dtx}{cutwin}}
 \file{lwarp-dcolumn.sty}{\from{lwarp.dtx}{dcolumn}}
 \file{lwarp-draftwatermark.sty}{\from{lwarp.dtx}{draftwatermark}}
@@ -49,14 +53,21 @@
 \file{lwarp-emptypage.sty}{\from{lwarp.dtx}{emptypage}}
 \file{lwarp-endnotes.sty}{\from{lwarp.dtx}{endnotes}}
 \file{lwarp-enumerate.sty}{\from{lwarp.dtx}{enumerate}}
+\file{lwarp-enumitem.sty}{\from{lwarp.dtx}{enumitem}}
 \file{lwarp-epigraph.sty}{\from{lwarp.dtx}{epigraph}}
 \file{lwarp-eso-pic.sty}{\from{lwarp.dtx}{eso-pic}}
 \file{lwarp-everypage.sty}{\from{lwarp.dtx}{everypage}}
+\file{lwarp-everyshi.sty}{\from{lwarp.dtx}{everyshi}}
 \file{lwarp-extramarks.sty}{\from{lwarp.dtx}{extramarks}}
+\file{lwarp-fancybox.sty}{\from{lwarp.dtx}{fancybox}}
 \file{lwarp-fancyhdr.sty}{\from{lwarp.dtx}{fancyhdr}}
+\file{lwarp-fancyvrb.sty}{\from{lwarp.dtx}{fancyvrb}}
+\file{lwarp-figcaps.sty}{\from{lwarp.dtx}{figcaps}}
 \file{lwarp-float.sty}{\from{lwarp.dtx}{float}}
 \file{lwarp-floatflt.sty}{\from{lwarp.dtx}{floatflt}}
+\file{lwarp-floatpag.sty}{\from{lwarp.dtx}{floatpag}}
 \file{lwarp-floatrow.sty}{\from{lwarp.dtx}{floatrow}}
+\file{lwarp-flushend.sty}{\from{lwarp.dtx}{flushend}}
 \file{lwarp-footmisc.sty}{\from{lwarp.dtx}{footmisc}}
 \file{lwarp-footnote.sty}{\from{lwarp.dtx}{footnote}}
 \file{lwarp-footnotehyper.sty}{\from{lwarp.dtx}{footnotehyper}}
@@ -64,11 +75,14 @@
 \file{lwarp-fontspec.sty}{\from{lwarp.dtx}{fontspec}}
 \file{lwarp-framed.sty}{\from{lwarp.dtx}{framed}}
 \file{lwarp-ftnright.sty}{\from{lwarp.dtx}{ftnright}}
+\file{lwarp-fullpage.sty}{\from{lwarp.dtx}{fullpage}}
 \file{lwarp-geometry.sty}{\from{lwarp.dtx}{geometry}}
 \file{lwarp-glossaries.sty}{\from{lwarp.dtx}{glossaries}}
 \file{lwarp-graphicx.sty}{\from{lwarp.dtx}{graphicx}}
 \file{lwarp-graphics.sty}{\from{lwarp.dtx}{graphics}}
 \file{lwarp-hyperref.sty}{\from{lwarp.dtx}{hyperref}}
+\file{lwarp-hyperxmp.sty}{\from{lwarp.dtx}{hyperxmp}}
+\file{lwarp-idxlayout.sty}{\from{lwarp.dtx}{idxlayout}}
 \file{lwarp-indentfirst.sty}{\from{lwarp.dtx}{indentfirst}}
 \file{lwarp-inputenc.sty}{\from{lwarp.dtx}{inputenc}}
 \file{lwarp-keyfloat.sty}{\from{lwarp.dtx}{keyfloat}}
@@ -80,11 +94,13 @@
 \file{lwarp-longtable.sty}{\from{lwarp.dtx}{longtable}}
 \file{lwarp-lscape.sty}{\from{lwarp.dtx}{lscape}}
 \file{lwarp-ltcaption.sty}{\from{lwarp.dtx}{ltcaption}}
+\file{lwarp-marginfit.sty}{\from{lwarp.dtx}{marginfit}}
 \file{lwarp-marginfix.sty}{\from{lwarp.dtx}{marginfix}}
 \file{lwarp-marginnote.sty}{\from{lwarp.dtx}{marginnote}}
 \file{lwarp-mcaption.sty}{\from{lwarp.dtx}{mcaption}}
 \file{lwarp-mdframed.sty}{\from{lwarp.dtx}{mdframed}}
 \file{lwarp-microtype.sty}{\from{lwarp.dtx}{microtype}}
+\file{lwarp-moreverb.sty}{\from{lwarp.dtx}{moreverb}}
 \file{lwarp-mparhack.sty}{\from{lwarp.dtx}{mparhack}}
 \file{lwarp-multicol.sty}{\from{lwarp.dtx}{multicol}}
 \file{lwarp-multirow.sty}{\from{lwarp.dtx}{multirow}}
@@ -96,17 +112,25 @@
 \file{lwarp-nowidow.sty}{\from{lwarp.dtx}{nowidow}}
 \file{lwarp-ntheorem.sty}{\from{lwarp.dtx}{ntheorem}}
 \file{lwarp-pagenote.sty}{\from{lwarp.dtx}{pagenote}}
+\file{lwarp-paralist.sty}{\from{lwarp.dtx}{paralist}}
 \file{lwarp-parskip.sty}{\from{lwarp.dtx}{parskip}}
+\file{lwarp-pdflscape.sty}{\from{lwarp.dtx}{pdflscape}}
+\file{lwarp-pdfsync.sty}{\from{lwarp.dtx}{pdfsync}}
 \file{lwarp-placeins.sty}{\from{lwarp.dtx}{placeins}}
+\file{lwarp-prelim2e.sty}{\from{lwarp.dtx}{prelim2e}}
 \file{lwarp-ragged2e.sty}{\from{lwarp.dtx}{ragged2e}}
 \file{lwarp-rotating.sty}{\from{lwarp.dtx}{rotating}}
+\file{lwarp-rotfloat.sty}{\from{lwarp.dtx}{rotfloat}}
+\file{lwarp-savetrees.sty}{\from{lwarp.dtx}{savetrees}}
 \file{lwarp-setspace.sty}{\from{lwarp.dtx}{setspace}}
+\file{lwarp-shadow.sty}{\from{lwarp.dtx}{shadow}}
+\file{lwarp-showidx.sty}{\from{lwarp.dtx}{idx}}
+\file{lwarp-showkeys.sty}{\from{lwarp.dtx}{showkeys}}
 \file{lwarp-sidecap.sty}{\from{lwarp.dtx}{sidecap}}
 \file{lwarp-sidenotes.sty}{\from{lwarp.dtx}{sidenotes}}
-\file{lwarp-showidx.sty}{\from{lwarp.dtx}{idx}}
-\file{lwarp-showkeys.sty}{\from{lwarp.dtx}{showkeys}}
 \file{lwarp-soul.sty}{\from{lwarp.dtx}{soul}}
 \file{lwarp-subfig.sty}{\from{lwarp.dtx}{subfig}}
+\file{lwarp-syntonly.sty}{\from{lwarp.dtx}{syntonly}}
 \file{lwarp-tabularx.sty}{\from{lwarp.dtx}{tabularx}}
 \file{lwarp-tabulary.sty}{\from{lwarp.dtx}{tabulary}}
 \file{lwarp-textpos.sty}{\from{lwarp.dtx}{textpos}}
@@ -114,6 +138,7 @@
 \file{lwarp-threeparttable.sty}{\from{lwarp.dtx}{threeparttable}}
 \file{lwarp-tikz.sty}{\from{lwarp.dtx}{tikz}}
 \file{lwarp-titleps.sty}{\from{lwarp.dtx}{titleps}}
+\file{lwarp-titleref.sty}{\from{lwarp.dtx}{titleref}}
 \file{lwarp-titlesec.sty}{\from{lwarp.dtx}{titlesec}}
 \file{lwarp-titletoc.sty}{\from{lwarp.dtx}{titletoc}}
 \file{lwarp-titling.sty}{\from{lwarp.dtx}{titling}}
@@ -125,6 +150,7 @@
 \file{lwarp-wrapfig.sty}{\from{lwarp.dtx}{wrapfig}}
 \file{lwarp-xcolor.sty}{\from{lwarp.dtx}{xcolor}}
 \file{lwarp-xfrac.sty}{\from{lwarp.dtx}{xfrac}}
+\file{lwarp-xmpincl.sty}{\from{lwarp.dtx}{xmpincl}}
 }
 \Msg{*********************************************************}
 \Msg{*}

Modified: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-alltt.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-alltt.sty	2017-08-08 20:41:36 UTC (rev 44987)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-alltt.sty	2017-08-08 20:42:15 UTC (rev 44988)
@@ -19,6 +19,7 @@
 \LWR at ProvidesPackagePass{alltt}
 
 \AfterEndPreamble{
+\LWR at traceinfo{Patching alltt.}
 \AtBeginEnvironment{alltt}{%
 \LWR at forcenewpage
 \LWR at atbeginverbatim{alltt}\unskip\LWR at origvspace*{-\baselineskip}%

Added: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-balance.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-balance.sty	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-balance.sty	2017-08-08 20:42:15 UTC (rev 44988)
@@ -0,0 +1,23 @@
+%%
+%% This is file `lwarp-balance.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx  (with options: `balance')
+%% This is a generated file.
+%% Copyright 2016-2017 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{balance}
+\newcommand*{\balance}{}
+\newcommand*{\nobalance}{}
+\endinput
+%%
+%% End of file `lwarp-balance.sty'.


Property changes on: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-balance.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-booktabs.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-booktabs.sty	2017-08-08 20:41:36 UTC (rev 44987)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-booktabs.sty	2017-08-08 20:42:15 UTC (rev 44988)
@@ -17,12 +17,15 @@
 %% version 2005/12/01 or later.
 
 
+\LWR at ProvidesPackagePass{booktabs}
+\LetLtxMacro\LWR at origtoprule\toprule
+\LetLtxMacro\LWR at origmidrule\midrule
+\LetLtxMacro\LWR at origcmidrule\cmidrule
+\LetLtxMacro\LWR at origbottomrule\bottomrule
+\LetLtxMacro\LWR at origaddlinespace\addlinespace
+\LetLtxMacro\LWR at origmorecmidrules\morecmidrules
+\LetLtxMacro\LWR at origspecialrule\specialrule
 
-\LWR at ProvidesPackageDrop{booktabs}
-\newcommand*{\addlinespace}[1]{}
-\newcommand*{\morecmidrules}{}
-\newcommand*{\specialrule}[3]{}
-
 \endinput
 %%
 %% End of file `lwarp-booktabs.sty'.

Added: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-boxedminipage.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-boxedminipage.sty	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-boxedminipage.sty	2017-08-08 20:42:15 UTC (rev 44988)
@@ -0,0 +1,21 @@
+%%
+%% This is file `lwarp-boxedminipage.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx  (with options: `boxedminipage')
+%% This is a generated file.
+%% Copyright 2016-2017 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 loadnever{boxedminipage}{boxedminipage2e}
+\endinput
+%%
+%% End of file `lwarp-boxedminipage.sty'.


Property changes on: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-boxedminipage.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-boxedminipage2e.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-boxedminipage2e.sty	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-boxedminipage2e.sty	2017-08-08 20:42:15 UTC (rev 44988)
@@ -0,0 +1,33 @@
+%%
+%% This is file `lwarp-boxedminipage2e.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx  (with options: `boxedminipage2e')
+%% This is a generated file.
+%% Copyright 2016-2017 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{boxedminipage2e}
+
+\newenvironment{boxedminipage}{%
+\begin{BlockClass}{framebox}%
+\minipage%
+}
+{
+\endminipage%
+\end{BlockClass}
+}
+
+\endinput
+%%
+%% End of file `lwarp-boxedminipage2e.sty'.


Property changes on: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-boxedminipage2e.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-crop.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-crop.sty	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-crop.sty	2017-08-08 20:42:15 UTC (rev 44988)
@@ -0,0 +1,23 @@
+%%
+%% This is file `lwarp-crop.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx  (with options: `crop')
+%% This is a generated file.
+%% Copyright 2016-2017 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{crop}
+\newcommand*{\crop}[1][]{}
+\newcommand*{\cropdef}[6][]{}
+\endinput
+%%
+%% End of file `lwarp-crop.sty'.


Property changes on: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-crop.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-enumerate.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-enumerate.sty	2017-08-08 20:41:36 UTC (rev 44987)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-enumerate.sty	2017-08-08 20:42:15 UTC (rev 44988)
@@ -16,17 +16,7 @@
 %% and version 1.3 or later is part of all distributions of LaTeX
 %% version 2005/12/01 or later.
 
-
-\LWR at ProvidesPackageDrop{enumerate}
-
-\def\enit at shl#1{%
-     \ifnum\enit at type=\tw@
-       \enit at toks{#1}%
-     \else
-       \def\enit at c{#1}%
-       \enit at first#1,\@nil\@@nil % Returns enit at toks
-    \fi}
-
+\LWR at ProvidesPackagePass{enumerate}
 \endinput
 %%
 %% End of file `lwarp-enumerate.sty'.

Added: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-enumitem.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-enumitem.sty	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-enumitem.sty	2017-08-08 20:42:15 UTC (rev 44988)
@@ -0,0 +1,33 @@
+%%
+%% This is file `lwarp-enumitem.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx  (with options: `enumitem')
+%% This is a generated file.
+%% Copyright 2016-2017 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{enumitem}
+\begin{warpHTML}
+
+\let\LWR at orignewlist\newlist
+
+\renewcommand*{\newlist}[3]{%
+\LWR at orignewlist{#1}{#2}{#3}%
+\AtBeginEnvironment{#1}{\csuse{LWR@#2start}}%
+\AtEndEnvironment{#1}{\csuse{LWR@#2end}}%
+}
+
+\end{warpHTML}
+
+\endinput
+%%
+%% End of file `lwarp-enumitem.sty'.


Property changes on: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-enumitem.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-eso-pic.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-eso-pic.sty	2017-08-08 20:41:36 UTC (rev 44987)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-eso-pic.sty	2017-08-08 20:42:15 UTC (rev 44988)
@@ -32,7 +32,7 @@
 \newcommand{\AtTextLowerLeft}[1]{}
 \newcommand{\AtTextCenter}[1]{}
 \NewDocumentCommand{\AddToShipoutPictureBG}{s +m}{}
-\let\AddToShipoutPicture\AddToShipoutPictureBG
+\renewcommand{\AddToShipoutPicture}{\AddToShipoutPictureBG}
 \NewDocumentCommand{\AddToShipoutPictureFG}{s +m}{}
 \newcommand*{\ClearShipoutPictureBG}{}
 \newcommand*{\ClearShipoutPicture}{}

Added: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-everyshi.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-everyshi.sty	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-everyshi.sty	2017-08-08 20:42:15 UTC (rev 44988)
@@ -0,0 +1,23 @@
+%%
+%% This is file `lwarp-everyshi.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx  (with options: `everyshi')
+%% This is a generated file.
+%% Copyright 2016-2017 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{everyshi}
+\newcommand*{\EveryShipout}[1]{}
+\newcommand*{\AtNextShipout}[1]{}
+\endinput
+%%
+%% End of file `lwarp-everyshi.sty'.


Property changes on: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-everyshi.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-fancybox.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-fancybox.sty	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-fancybox.sty	2017-08-08 20:42:15 UTC (rev 44988)
@@ -0,0 +1,97 @@
+%%
+%% This is file `lwarp-fancybox.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx  (with options: `fancybox')
+%% This is a generated file.
+%% Copyright 2016-2017 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.
+\begin{warpHTML}
+\LWR at ProvidesPackagePass{fancybox}
+\renewcommand*{\@shadowbox}[1]{\InlineClass{shadowbox}{#1}}
+
+\renewcommand*{\@doublebox}[1]{\InlineClass{doublebox}{#1}}
+
+\renewcommand*{\@ovalbox}[2]{%
+\ifthenelse{\isequivalentto{#1}{\thinlines}}
+{\InlineClass{ovalbox}{#2}}
+{\InlineClass{Ovalbox}{#2}}
+}
+\let\LWR at origSbox\Sbox
+
+\def\Sbox{\LWR at origSbox\LWR at nestspan}
+
+\let\LWR at origendSbox\endSbox
+
+\def\endSbox{\endLWR at nestspan\LWR at origendSbox}
+\RenewEnviron{Beqnarray}
+{\LWR at eqnarrayfactor}
+
+\csgpreto{Beqnarray*}{\boolfalse{LWR at numbereqnarray}}
+\renewcommand{\GenericCaption}[1]{%
+\LWR at htmlblocktag{figcaption}%
+#1%
+\LWR at htmlblocktag{/figcaption}%
+}
+\RenewDocumentEnvironment{Btrivlist}{m o}
+{\begin{BlockClass}{Btrivlist}\tabular{#1}}
+{\endtabular\end{BlockClass}}
+\AtBeginEnvironment{LWR at nestspan}{%
+\RenewDocumentEnvironment{Btrivlist}{m o}{}{}%
+\RenewDocumentCommand{\LWR at origitem}{d()}{\LWRFB at origitem}%
+}
+\let\LWRFB at origitemizeitem\LWR at itemizeitem
+\let\LWRFB at origdescitem\LWR at descitem
+\LetLtxMacro{\LWRFB at origitem}{\LWR at origitem}
+
+\RenewDocumentCommand{\LWR at itemizeitem}{d()}{\LWRFB at origitemizeitem}
+\RenewDocumentCommand{\LWR at descitem}{d()}{\LWRFB at origdescitem}
+\renewenvironment{Bitemize}[1][]{\begin{itemize}}{\end{itemize}}
+\renewenvironment{Benumerate}[1][]{\begin{enumerate}}{\end{enumerate}}
+\renewenvironment{Bdescription}[1][]{\begin{description}}{\end{description}}
+\RenewDocumentCommand{\boxput}{s d() m m}{%
+\IfBooleanTF{#1}{#3\quad#4}{#4\quad#3}%
+}
+\RenewDocumentCommand{\fancyput}{s d() m}{}
+\RenewDocumentCommand{\thisfancyput}{s d() m}{}
+
+\RenewDocumentCommand{\fancypage}{m m}{}
+\RenewDocumentCommand{\thisfancypage}{m m}{}
+
+\def\LandScape#1{}
+\def\endLandScape{}
+\def\@Landscape#1#2#3{}
+\def\endLandscape{}
+\let\LWRFB at UseVerbatim\UseVerbatim
+\renewcommand*{\UseVerbatim}[1]{%
+\LWR at atbeginverbatim{Verbatim}\unskip\LWR at origvspace*{-\baselineskip}%%
+\LWRFB at UseVerbatim{#1}%
+\LWR at afterendverbatim%
+}
+
+\let\LWRFB at LUseVerbatim\LUseVerbatim
+
+\renewcommand*{\LUseVerbatim}[1]{%
+\LWR at atbeginverbatim{LVerbatim}\unskip\LWR at origvspace*{-\baselineskip}%%
+\LWRFB at LUseVerbatim{#1}%
+\LWR at afterendverbatim%
+}
+
+\def\@BUseVerbatim[#1]#2{%
+\LWR at atbeginverbatim{BVerbatim}\unskip\LWR at origvspace*{-\baselineskip}%%
+\LWRFB at UseVerbatim{#2}%
+\LWR at afterendverbatim%
+}
+\end{warpHTML}
+\endinput
+%%
+%% End of file `lwarp-fancybox.sty'.


Property changes on: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-fancybox.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-fancyvrb.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-fancyvrb.sty	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-fancyvrb.sty	2017-08-08 20:42:15 UTC (rev 44988)
@@ -0,0 +1,211 @@
+%%
+%% This is file `lwarp-fancyvrb.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx  (with options: `fancyvrb')
+%% This is a generated file.
+%% Copyright 2016-2017 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.
+\RequirePackage{xcolor}% for \convertcolorspec
+\LWR at ProvidesPackagePass{fancyvrb}
+
+\begin{warpHTML}
+
+\fvset{frame=none}%
+
+\renewcommand{\VerbatimFootnotes}{
+\PackageError{lwarp}
+{Verbatim footnotes are not yet supported by lwarp.}
+{This may be improved some day.}
+}
+
+\AfterEndPreamble{
+\LWR at traceinfo{Patching Verbatim.}
+\let\LWRFV at origVerbatim\Verbatim
+\renewcommand*{\Verbatim}{%
+\LWR at forcenewpage
+\LWRFV at origVerbatim%
+}
+\newcommand*{\LWR at FVstyle}{}
+\newcommand*{\LWR at fvstartnone}{%
+\LWR at traceinfo{fvstartnone}%
+\hbox to\z@{\LWR at atbeginverbatim[\LWR at FVstyle]{verbatim}}%
+}
+
+\newcommand*{\LWR at fvendnone}{%
+\LWR at traceinfo{fvendnone}%
+\hbox to\z@{\LWR at afterendverbatim}%
+}
+
+\newcommand*{\LWR at fvstartsingle}{%
+\LWR at traceinfo{fvstartsingle}%
+\LWR at fvstartnone%
+\FV at BeginListFrame@Single%
+}
+
+\newcommand*{\LWR at fvendsingle}{%
+\LWR at traceinfo{fvendsingle}%
+\FV at EndListFrame@Single%
+\LWR at fvendnone%
+}
+
+\newcommand*{\LWR at fvstartline}{%
+\LWR at traceinfo{fvstartline}%
+\LWR at fvstartnone%
+\FV at BeginListFrame@Lines%
+}
+
+\newcommand*{\LWR at fvendline}{%
+\LWR at traceinfo{fvendline}%
+\FV at EndListFrame@Lines%
+\LWR at fvendnone%
+}
+
+\newcommand*{\LWR at FVfindcurrentcolor}{%
+\protect\colorlet{LWR at current@color}{.}%
+\protect\convertcolorspec{named}{LWR at current@color}{HTML}\LWR at tempcolor%
+}
+
+\newcommand*{\LWR at FVtextstyle}{%
+\LWR at FVfindcurrentcolor
+\ifdefstring{\LWR at tempcolor}{000000}%
+{}%
+{color: \#\LWR at tempcolor ; }%
+}
+
+\newcommand*{\LWR at FVfindbordercolor}{%
+\FancyVerbRuleColor%
+\LWR at FVfindcurrentcolor
+\color{black}
+}
+
+\newcommand*{\LWR at FVborderstyle}[1]{%
+padding#1: \strip at pt\dimexpr \FV at FrameSep\relax\relax pt ;
+\LWR at FVfindbordercolor
+border#1: \strip at pt\dimexpr \FV at FrameRule\relax\relax pt solid \#\LWR at tempcolor ;
+}
+
+\def\FV at Frame@none{%
+\renewcommand*{\LWR at FVstyle}{\LWR at FVtextstyle}%
+\let\FV at BeginListFrame\LWR at fvstartnone%
+\let\FV at LeftListFrame\relax%
+\let\FV at RightListFrame\relax%
+\let\FV at EndListFrame\LWR at fvendnone}
+
+\FV at Frame@none% default values
+
+\def\FV at Frame@single{%
+\renewcommand*{\LWR at FVstyle}{\LWR at FVtextstyle\LWR at FVborderstyle{}}%
+\let\FV at BeginListFrame\LWR at fvstartsingle%
+\let\FV at LeftListFrame\FV at LeftListFrame@Single%
+\let\FV at RightListFrame\FV at RightListFrame@Single%
+\let\FV at EndListFrame\LWR at fvendsingle}
+
+\def\FV at Frame@lines{%
+\renewcommand*{\LWR at FVstyle}{\LWR at FVtextstyle\LWR at FVborderstyle{-top}\LWR at FVborderstyle{-bottom}}%
+\let\FV at BeginListFrame\LWR at fvstartline%
+\let\FV at LeftListFrame\relax%
+\let\FV at RightListFrame\relax%
+\let\FV at EndListFrame\LWR at fvendline}
+
+\def\FV at Frame@topline{%
+\renewcommand*{\LWR at FVstyle}{\LWR at FVtextstyle\LWR at FVborderstyle{-top}}%
+\let\FV at BeginListFrame\LWR at fvstartline%
+\let\FV at LeftListFrame\relax%
+\let\FV at RightListFrame\relax%
+\let\FV at EndListFrame\LWR at fvendnone}
+
+\def\FV at Frame@bottomline{%
+\renewcommand*{\LWR at FVstyle}{\LWR at FVtextstyle\LWR at FVborderstyle{-bottom}}%
+\let\FV at BeginListFrame\LWR at fvstartnone%
+\let\FV at LeftListFrame\relax%
+\let\FV at RightListFrame\relax%
+\let\FV at EndListFrame\LWR at fvendline}
+
+\def\FV at Frame@leftline{%
+\renewcommand*{\LWR at FVstyle}{\LWR at FVtextstyle\LWR at FVborderstyle{-left}}%
+\ifx\FancyVerbFillColor\relax%
+\let\FV at FrameFillLine\relax%
+\else%
+\@tempdima\FV at FrameRule\relax%
+\multiply\@tempdima-\tw@%
+\edef\FV at FrameFillLine{%
+{\noexpand\FancyVerbFillColor{\vrule\@width\number\@tempdima sp}%
+\kern-\number\@tempdima sp}}%
+\fi%
+\let\FV at BeginListFrame\LWR at fvstartnone%
+\let\FV at LeftListFrame\FV at LeftListFrame@Single%
+\let\FV at RightListFrame\relax%
+\let\FV at EndListFrame\LWR at fvendnone}
+\def\FV at SingleFrameLine#1{%
+  \hbox to\z@{%
+    \ifnum#1=\z@\relax
+      \let\FV at Label\FV at LabelBegin
+    \else
+      \let\FV at Label\FV at LabelEnd
+    \fi
+    \ifx\FV at Label\relax
+    \else
+      \ifnum#1=\z@
+        \ifx\FV at LabelPositionTopLine\relax
+\else
+\LWR at FVfindbordercolor
+        \LWR at htmltagc{div class="fancyvrblabel" style="color: \#\LWR at tempcolor"}
+\LWR at origtextrm{\FV at LabelBegin}% \textrm preserves emdash
+\LWR at htmltagc{/div}
+\fi
+      \else
+        \ifx\FV at LabelPositionBottomLine\relax
+\else
+\LWR at FVfindbordercolor
+        \LWR at htmltagc{div class="fancyvrblabel" style="color: \#\LWR at tempcolor"}
+\LWR at origtextrm{\FV at LabelEnd}
+\LWR at htmltagc{/div}
+\fi
+      \fi
+
+    \fi
+    \hss
+}
+}
+\def\FV at ListProcessLine#1{%
+   \hbox to \hsize{%
+      \hbox to \VerbatimHTMLWidth {%
+       \ifcsvoid{FV at LeftListNumber}{}{\kern 2.5em}%
+\FV at LeftListNumber%
+      \FancyVerbFormatLine{#1}%
+      \hss%
+      \FV at RightListNumber%
+}%
+      \hss% required to avoid underfull hboxes
+}
+}
+
+\AtBeginEnvironment{BVerbatim}
+{
+\LWR at forcenewpage
+\LWR at atbeginverbatim{bverbatim}
+
+}
+
+\AfterEndEnvironment{BVerbatim}
+{
+\leavevmode\par\LWR at origvspace{-\baselineskip}
+\LWR at afterendverbatim
+}
+
+} % \AfterEndPreamble
+
+\end{warpHTML}
+\endinput
+%%
+%% End of file `lwarp-fancyvrb.sty'.


Property changes on: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-fancyvrb.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-figcaps.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-figcaps.sty	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-figcaps.sty	2017-08-08 20:42:15 UTC (rev 44988)
@@ -0,0 +1,29 @@
+%%
+%% This is file `lwarp-figcaps.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx  (with options: `figcaps')
+%% This is a generated file.
+%% Copyright 2016-2017 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{figcaps}
+\newcommand*{\figcapson}{}
+\newcommand*{\figcapsoff}{}
+\newcommand*{\printfigures}{}
+\newcommand*{\figmarkon}{}
+\newcommand*{\figmarkoff}{}
+\def\figurecapname{Figure Captions}
+\def\tablepagename{Tables}
+\def\figurepagename{Figures}
+\endinput
+%%
+%% End of file `lwarp-figcaps.sty'.


Property changes on: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-figcaps.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-float.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-float.sty	2017-08-08 20:41:36 UTC (rev 44987)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-float.sty	2017-08-08 20:42:15 UTC (rev 44988)
@@ -22,9 +22,7 @@
 
 \NewDocumentCommand{\newfloat}{m m m o}{%
 \IfValueTF{#4}
-{
-\DeclareFloatingEnvironment[fileext=#3,within=#4]{#1}
-}
+{\DeclareFloatingEnvironment[fileext=#3,within=#4]{#1}}
 {\DeclareFloatingEnvironment[fileext=#3]{#1}}
 \cslet{listof#1s}\relax
 \cslet{listof#1es}\relax

Added: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-floatpag.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-floatpag.sty	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-floatpag.sty	2017-08-08 20:42:15 UTC (rev 44988)
@@ -0,0 +1,24 @@
+%%
+%% This is file `lwarp-floatpag.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx  (with options: `floatpag')
+%% This is a generated file.
+%% Copyright 2016-2017 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{floatpag}
+\newcommand*{\floatpagestyle}[1]{}
+\newcommand*{\rotfloatpagestyle}[1]{}
+\newcommand*{\thisfloatpagestyle}[1]{}
+\endinput
+%%
+%% End of file `lwarp-floatpag.sty'.


Property changes on: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-floatpag.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-flushend.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-flushend.sty	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-flushend.sty	2017-08-08 20:42:15 UTC (rev 44988)
@@ -0,0 +1,28 @@
+%%
+%% This is file `lwarp-flushend.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx  (with options: `flushend')
+%% This is a generated file.
+%% Copyright 2016-2017 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{flushend}
+\newcommand*{\flushend}{}
+\newcommand*{\raggedend}{}
+\newcommand*{\flushcolsend}{}
+\newcommand*{\raggedcolsend}{}
+\newcommand*{\atColsBreak}[1]{}
+\newcommand*{\atColsEnd}[1]{}
+\newcommand*{\showcolsendrule}{}
+\endinput
+%%
+%% End of file `lwarp-flushend.sty'.


Property changes on: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-flushend.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-footnote.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-footnote.sty	2017-08-08 20:41:36 UTC (rev 44987)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-footnote.sty	2017-08-08 20:42:15 UTC (rev 44988)
@@ -34,7 +34,7 @@
   \begingroup%
     \let\@makefntext\@empty%
     \let\@finalstrut\@gobble%
-    \let\rule\@gobbletwo%
+    \LetLtxMacro\rule\@gobbletwo% *8* also the optional argument?
     \@footnotetext{\unvbox\z@}%
   \endgroup%
 }

Modified: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-framed.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-framed.sty	2017-08-08 20:41:36 UTC (rev 44987)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-framed.sty	2017-08-08 20:42:15 UTC (rev 44988)
@@ -17,6 +17,7 @@
 %% version 2005/12/01 or later.
 
 \LWR at ProvidesPackagePass{framed}
+\RequirePackage{xcolor}% for \convertcolorspec
 
 
 \renewenvironment{framed}{%
@@ -34,7 +35,7 @@
 \renewenvironment{shaded}{%
 \convertcolorspec{named}{shadecolor}{HTML}\LWR at tempcolor%
 \LWR at forcenewpage
-\BlockClass{framed}[background: \#\LWR at tempcolor]%
+\BlockClass[background: \#\LWR at tempcolor]{framed}%
 }
 {\endBlockClass}
 
@@ -41,7 +42,7 @@
 \renewenvironment{shaded*}{%
 \convertcolorspec{named}{shadecolor}{HTML}\LWR at tempcolor%
 \LWR at forcenewpage
-\BlockClass{framed}[background: \#\LWR at tempcolor]%
+\BlockClass[background: \#\LWR at tempcolor]{framed}%
 }
 {\endBlockClass}
 
@@ -56,7 +57,7 @@
 \renewenvironment{snugshade}{%
 \convertcolorspec{named}{shadecolor}{HTML}\LWR at tempcolor%
 \LWR at forcenewpage
-\BlockClass{snugframed}[background: \#\LWR at tempcolor]%
+\BlockClass[background: \#\LWR at tempcolor]{snugframed}%
 }
 {\endBlockClass}
 
@@ -63,7 +64,7 @@
 \renewenvironment{snugshade*}{%
 \convertcolorspec{named}{shadecolor}{HTML}\LWR at tempcolor%
 \LWR at forcenewpage
-\BlockClass{snugframed}[background: \#\LWR at tempcolor]%
+\BlockClass[background: \#\LWR at tempcolor]{snugframed}%
 }
 {\endBlockClass}
 
@@ -77,9 +78,9 @@
 \renewcommand{\CustomFBox}[7]{%
 \convertcolorspec{named}{TFFrameColor}{HTML}\LWR at tempcolor%
 \LWR at forcenewpage
-\begin{BlockClass}{framed}[border: 3px solid \#\LWR at tempcolor]%
+\begin{BlockClass}[border: 3px solid \#\LWR at tempcolor]{framed}%
 \ifthenelse{\isempty{#1}}{}{% not empty
-\begin{BlockClass}{framedtitle}[background: \#\LWR at tempcolor]%
+\begin{BlockClass}[background: \#\LWR at tempcolor]{framedtitle}%
 \textcolor{TFTitleColor}{\textbf{#1}}%
 \end{BlockClass}
 }% not empty
@@ -88,7 +89,7 @@
 
 \ifthenelse{\isempty{#2}}{}{% not empty
 \convertcolorspec{named}{TFFrameColor}{HTML}\LWR at tempcolor%
-\begin{BlockClass}{framedtitle}[background: \#\LWR at tempcolor]%
+\begin{BlockClass}[background: \#\LWR at tempcolor]{framedtitle}%
 \textcolor{TFTitleColor}{\textbf{#2}}%
 \end{BlockClass}
 }% not empty

Added: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-fullpage.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-fullpage.sty	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-fullpage.sty	2017-08-08 20:42:15 UTC (rev 44988)
@@ -0,0 +1,21 @@
+%%
+%% This is file `lwarp-fullpage.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx  (with options: `fullpage')
+%% This is a generated file.
+%% Copyright 2016-2017 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{fullpage}
+\endinput
+%%
+%% End of file `lwarp-fullpage.sty'.


Property changes on: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-fullpage.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-hyperxmp.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-hyperxmp.sty	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-hyperxmp.sty	2017-08-08 20:42:15 UTC (rev 44988)
@@ -0,0 +1,21 @@
+%%
+%% This is file `lwarp-hyperxmp.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx  (with options: `hyperxmp')
+%% This is a generated file.
+%% Copyright 2016-2017 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{hyperxmp}
+\endinput
+%%
+%% End of file `lwarp-hyperxmp.sty'.


Property changes on: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-hyperxmp.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-idxlayout.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-idxlayout.sty	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-idxlayout.sty	2017-08-08 20:42:15 UTC (rev 44988)
@@ -0,0 +1,41 @@
+%%
+%% This is file `lwarp-idxlayout.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx  (with options: `idxlayout')
+%% This is a generated file.
+%% Copyright 2016-2017 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{idxlayout}
+\newcommand{\LWR at indexprenote}{}
+
+\renewcommand*{\printindex}
+{
+\LWR at indexsection
+\LWR at startpars
+
+\LWR at indexprenote
+
+\LWR at origprintindex
+}
+
+\newcommand{\setindexprenote}[1]{\renewcommand{\LWR at indexprenote}{#1}}
+\newcommand*{\noindexprenote}{\renewcommand{\LWR at indexprenote}{}}
+
+\newcommand{\idxlayout}[1]{}
+\newcommand*{\indexfont}{}
+\newcommand*{\indexjustific}{}
+\newcommand*{\indexsubsdelim}{}
+\newcommand*{\indexstheadcase}{}
+\endinput
+%%
+%% End of file `lwarp-idxlayout.sty'.


Property changes on: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-idxlayout.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-marginfit.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-marginfit.sty	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-marginfit.sty	2017-08-08 20:42:15 UTC (rev 44988)
@@ -0,0 +1,21 @@
+%%
+%% This is file `lwarp-marginfit.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx  (with options: `marginfit')
+%% This is a generated file.
+%% Copyright 2016-2017 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{marginfit}
+\endinput
+%%
+%% End of file `lwarp-marginfit.sty'.


Property changes on: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-marginfit.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-mdframed.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-mdframed.sty	2017-08-08 20:41:36 UTC (rev 44987)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-mdframed.sty	2017-08-08 20:42:15 UTC (rev 44988)
@@ -17,6 +17,7 @@
 %% version 2005/12/01 or later.
 
 
+\RequirePackage{xcolor}% for \convertcolorspec
 \LWR at ProvidesPackageDrop{mdframed}
 
 \LWR at origRequirePackage{amsthm}
@@ -55,8 +56,8 @@
 {box-shadow: none ;}
 \LWR at orignewline
 "}
-\let\hspace\LWR at orighspace%
-\let\rule\LWR at origrule%
+\LetLtxMacro{\hspace}{\LWR at orighspace}%
+\LetLtxMacro\rule\LWR at origrule%
 }
 \newcommand*{\LWR at mdframedend}{
 \LWR at htmldivclassend{\LWR at mdthisenv}
@@ -63,7 +64,7 @@
 \gdef\LWR at mdthisenv{mdframed}
 \LWR at startpars%
 }
-\let\LWR at origmdfframedtitleenv\mdfframedtitleenv
+\LetLtxMacro\LWR at origmdfframedtitleenv\mdfframedtitleenv
 
 \newlength{\LWR at titleroundcorner}
 
@@ -157,14 +158,94 @@
 \begin{mdframed}[#1]}%
 \AfterEndEnvironment{#2}{\end{mdframed}}%
 }
-\let\LWR at origmdtheorem\mdtheorem
-
-\DeclareDocumentCommand{\LWR at mdtheorem}{O{} m o m o}{%
-\LWR at origmdtheorem[#1]{#2}[#3]{#4}[#5]%
-\BeforeBeginEnvironment{#2}{\renewcommand*{\LWR at mdthisenv}{md#2}}%
-}
-
-\let\mdtheorem\LWR at mdtheorem
+\DeclareDocumentCommand{\mdtheorem}{ O{} m o m o }%
+ {\ifcsdef{#2}%
+   {\mdf at PackageWarning{Environment #2 already exits\MessageBreak}}%
+   {%
+    \IfNoValueTF {#3}%
+     {%#3 not given -- number relationship
+      \IfNoValueTF {#5}%
+        {%#3+#5 not given
+        \@definecounter{#2}%
+        \expandafter\xdef\csname the#2\endcsname{\@thmcounter{#2}}%
+        \newenvironment{#2}[1][]{%
+          \refstepcounter{#2}%
+          \ifstrempty{##1}%
+            {\let\@temptitle\relax}%
+            {%
+             \def\@temptitle{\mdf at theoremseparator%
+                             \mdf at theoremspace%
+                             \mdf at theoremtitlefont%
+                             ##1}%
+             \mdf at thm@caption{#2}{{#4}{\csname the#2\endcsname}{##1}}%
+             }%
+          \begin{mdframed}[#1,frametitle={\strut#4\ \csname the#2\endcsname%
+                                          \@temptitle}]}%
+          {\end{mdframed}}%
+        \newenvironment{#2*}[1][]{%
+          \ifstrempty{##1}{\let\@temptitle\relax}{\def\@temptitle{:\ ##1}}%
+          \begin{mdframed}[#1,frametitle={\strut#4\@temptitle}]}%
+          {\end{mdframed}}%
+        }%
+        {%#5 given -- reset counter
+        \@definecounter{#2}\@newctr{#2}[#5]%
+        \expandafter\xdef\csname the#2\endcsname{\@thmcounter{#2}}%
+        \expandafter\xdef\csname the#2\endcsname{%
+               \expandafter\noexpand\csname the#5\endcsname \@thmcountersep%
+                  \@thmcounter{#2}}%
+        \newenvironment{#2}[1][]{%
+          \refstepcounter{#2}%
+          \ifstrempty{##1}%
+            {\let\@temptitle\relax}%
+            {%
+             \def\@temptitle{\mdf at theoremseparator%
+                             \mdf at theoremspace%
+                             \mdf at theoremtitlefont%
+                             ##1}%
+             \mdf at thm@caption{#2}{{#4}{\csname the#2\endcsname}{##1}}%
+             }
+          \begin{mdframed}[#1,frametitle={\strut#4\ \csname the#2\endcsname%
+                                          \@temptitle}]}%
+          {\end{mdframed}}%
+        \newenvironment{#2*}[1][]{%
+          \ifstrempty{##1}%
+            {\let\@temptitle\relax}%
+            {%
+             \def\@temptitle{\mdf at theoremseparator%
+                             \mdf at theoremspace%
+                             \mdf at theoremtitlefont%
+                             ##1}%
+             \mdf at thm@caption{#2}{{#4}{\csname the#2\endcsname}{##1}}%
+             }%
+          \begin{mdframed}[#1,frametitle={\strut#4\@temptitle}]}%
+          {\end{mdframed}}%
+        }%
+     }%
+     {%#3 given -- number relationship
+        \global\@namedef{the#2}{\@nameuse{the#3}}%
+        \newenvironment{#2}[1][]{%
+          \refstepcounter{#3}%
+          \ifstrempty{##1}%
+            {\let\@temptitle\relax}%
+            {%
+             \def\@temptitle{\mdf at theoremseparator%
+                             \mdf at theoremspace%
+                             \mdf at theoremtitlefont%
+                             ##1}%
+             \mdf at thm@caption{#2}{{#4}{\csname the#2\endcsname}{##1}}%
+             }
+          \begin{mdframed}[#1,frametitle={\strut#4\ \csname the#2\endcsname%
+                                          \@temptitle}]}%
+          {\end{mdframed}}%
+        \newenvironment{#2*}[1][]{%
+          \ifstrempty{##1}{\let\@temptitle\relax}{\def\@temptitle{:\ ##1}}%
+          \begin{mdframed}[#1,frametitle={\strut#4\@temptitle}]}%
+          {\end{mdframed}}%
+     }%
+\BeforeBeginEnvironment{#2}{\renewcommand*{\LWR at mdthisenv}{md#2}}% new
+\BeforeBeginEnvironment{#2*}{\renewcommand*{\LWR at mdthisenv}{md#2}}% new
+   }%
+ }
 \DeclareDocumentCommand\newmdtheoremenv{O{} m o m o }{%
  \ifboolexpr{ test {\IfNoValueTF {#3}} and test {\IfNoValueTF {#5}} }%
     {\newtheorem{#2}{#4}}{%

Added: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-moreverb.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-moreverb.sty	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-moreverb.sty	2017-08-08 20:42:15 UTC (rev 44988)
@@ -0,0 +1,93 @@
+%%
+%% This is file `lwarp-moreverb.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx  (with options: `moreverb')
+%% This is a generated file.
+%% Copyright 2016-2017 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.
+\begin{warpHTML}
+\LWR at ProvidesPackagePass{moreverb}
+\BeforeBeginEnvironment{verbatimtab}{%
+\LWR at forcenewpage
+\LWR at atbeginverbatim{Verbatim}\unskip\LWR at origvspace*{-\baselineskip}%
+}
+\AfterEndEnvironment{verbatimtab}{%
+\LWR at afterendverbatim%
+}
+
+\LetLtxMacro\LWRMV at orig@verbatimtabinput\@verbatimtabinput
+
+\renewcommand{\@verbatimtabinput}[2][]{%
+\LWR at forcenewpage
+\LWR at atbeginverbatim{Verbatim}\unskip\LWR at origvspace*{-\baselineskip}%
+\LWRMV at orig@verbatimtabinput[#1]{#2}%
+\LWR at afterendverbatim%
+}
+
+\BeforeBeginEnvironment{listing}{%
+\LWR at forcenewpage
+\LWR at atbeginverbatim{programlisting}\unskip\LWR at origvspace*{-\baselineskip}%
+}
+
+\AfterEndEnvironment{listing}{%
+\LWR at afterendverbatim%
+}
+
+\BeforeBeginEnvironment{listingcont}{%
+\LWR at forcenewpage
+\LWR at atbeginverbatim{programlisting}\unskip\LWR at origvspace*{-\baselineskip}%
+}
+
+\AfterEndEnvironment{listingcont}{%
+\LWR at afterendverbatim%
+}
+
+\renewcommand{\listinglabel}[1]{\InlineClass{listinglabel}{\the#1}}
+
+\def\thelisting at line{%
+\@tempcnta=\listing at line%
+\divide\@tempcnta\listing at step \multiply\@tempcnta\listing at step%
+\ifnum\listing at line=\@ne%
+\listinglabel\listing at line%
+\else%
+\ifnum\@tempcnta=\listing at line%
+\listinglabel\listing at line%
+\else%
+\InlineClass{listinglabel}{}%
+\fi%
+\fi}
+
+\LetLtxMacro\LWRMV@@listinginput\@listinginput
+
+\renewcommand{\@listinginput}[3][]{
+\LWR at forcenewpage
+\LWR at atbeginverbatim{programlisting}\unskip\LWR at origvspace*{-\baselineskip}%
+\LWRMV@@listinginput[#1]{#2}{#3}
+\LWR at afterendverbatim%
+}
+
+\renewenvironment*{boxedverbatim}
+{
+\LWR at forcenewpage
+\LWR at atbeginverbatim{boxedverbatim}\unskip\LWR at origvspace*{-\baselineskip}%
+\verbatim%
+}
+{
+\endverbatim%
+\LWR at afterendverbatim%
+}
+
+\end{warpHTML}
+\endinput
+%%
+%% End of file `lwarp-moreverb.sty'.


Property changes on: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-moreverb.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-ntheorem.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-ntheorem.sty	2017-08-08 20:41:36 UTC (rev 44987)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-ntheorem.sty	2017-08-08 20:42:15 UTC (rev 44988)
@@ -216,7 +216,7 @@
 \InlineClass{theoremheadersc}{##1\ (##3)\theorem at separator}]}
 \theoremstyle{plainupright}
 \theorembodyfont{\upshape}
-\theoremsymbol{\ensuremath{_\Box}}
+\theoremsymbol{\HTMLunicode{25A1}}% UTF-8 white box
 \renewtheorem{Example}{Example}
 \renewtheorem{example}{Example}
 \renewtheorem{Beispiel}{Beispiel}
@@ -231,12 +231,12 @@
 \renewtheorem{definition}{Definition}
 
 \theoremstyle{nonumberplainuprightsc}
-\theoremsymbol{\ensuremath{_\blacksquare}}
+\theoremsymbol{\HTMLunicode{220E}}% UTF-8 end-of-proof
 \renewtheorem{Proof}{Proof}
 \renewtheorem{proof}{Proof}
 \renewtheorem{Beweis}{Beweis}
 \renewtheorem{beweis}{Beweis}
-\qedsymbol{\ensuremath{_\blacksquare}}
+\qedsymbol{\HTMLunicode{220E}}% UTF-8 end-of-proof
 
 \theoremsymbol{}
 }% not amsthm
@@ -375,7 +375,7 @@
 \th at proof
 \def\theorem at headerfont{\itshape}%
 \normalfont
-\theoremsymbol{\ensuremath{_\blacksquare}}
+\theoremsymbol{\HTMLunicode{220E}}% UTF-8 end-of-proof
 \@thm{proof}{proof}{#1}
 }%
 {\@endtheorem}

Added: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-paralist.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-paralist.sty	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-paralist.sty	2017-08-08 20:42:15 UTC (rev 44988)
@@ -0,0 +1,29 @@
+%%
+%% This is file `lwarp-paralist.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx  (with options: `paralist')
+%% This is a generated file.
+%% Copyright 2016-2017 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{paralist}
+\AtBeginEnvironment{compactitem}{\LWR at itemizestart}
+\AtEndEnvironment{compactitem}{\LWR at itemizeend}
+\AtBeginEnvironment{compactenum}{\LWR at enumeratestart}
+\AtEndEnvironment{compactenum}{\LWR at enumerateend}
+\AtBeginEnvironment{compactdesc}{\LWR at descriptionstart}
+\AtEndEnvironment{compactdesc}{\LWR at descriptionend}
+\def\paradescriptionlabel#1{{\normalfont\textbf{#1}}}
+\endinput
+%%
+%% End of file `lwarp-paralist.sty'.


Property changes on: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-paralist.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-pdflscape.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-pdflscape.sty	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-pdflscape.sty	2017-08-08 20:42:15 UTC (rev 44988)
@@ -0,0 +1,21 @@
+%%
+%% This is file `lwarp-pdflscape.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx  (with options: `pdflscape')
+%% This is a generated file.
+%% Copyright 2016-2017 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{pdflscape}
+\endinput
+%%
+%% End of file `lwarp-pdflscape.sty'.


Property changes on: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-pdflscape.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-pdfsync.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-pdfsync.sty	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-pdfsync.sty	2017-08-08 20:42:15 UTC (rev 44988)
@@ -0,0 +1,24 @@
+%%
+%% This is file `lwarp-pdfsync.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx  (with options: `pdfsync')
+%% This is a generated file.
+%% Copyright 2016-2017 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{pdfsync}
+\let\pdfsync\relax
+\let\pdfsyncstart\relax
+\let\pdfsyncstop\relax
+\endinput
+%%
+%% End of file `lwarp-pdfsync.sty'.


Property changes on: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-pdfsync.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-prelim2e.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-prelim2e.sty	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-prelim2e.sty	2017-08-08 20:42:15 UTC (rev 44988)
@@ -0,0 +1,24 @@
+%%
+%% This is file `lwarp-prelim2e.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx  (with options: `prelim2e')
+%% This is a generated file.
+%% Copyright 2016-2017 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{prelim2e}
+\newcommand{\PrelimText}{}
+\newcommand{\PrelimTextStyle}{}
+\newcommand{\PrelimWords}{}
+\endinput
+%%
+%% End of file `lwarp-prelim2e.sty'.


Property changes on: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-prelim2e.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-rotating.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-rotating.sty	2017-08-08 20:41:36 UTC (rev 44987)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-rotating.sty	2017-08-08 20:42:15 UTC (rev 44988)
@@ -19,10 +19,10 @@
 
 \LWR at ProvidesPackageDrop{rotating}
 
-\let\sidewaystable\table
+\LetLtxMacro\sidewaystable\table
 \let\endsidewaystable\endtable
 
-\let\sidewaysfigure\figure
+\LetLtxMacro\sidewaysfigure\figure
 \let\endsidewaysfigure\endfigure
 
 \newenvironment*{sideways}{}{}

Added: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-rotfloat.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-rotfloat.sty	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-rotfloat.sty	2017-08-08 20:42:15 UTC (rev 44988)
@@ -0,0 +1,39 @@
+%%
+%% This is file `lwarp-rotfloat.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx  (with options: `rotfloat')
+%% This is a generated file.
+%% Copyright 2016-2017 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{rotfloat}
+
+\RequirePackage{float}
+\RenewDocumentCommand{\newfloat}{m m m o}{%
+\IfValueTF{#4}
+{
+\DeclareFloatingEnvironment[fileext=#3,within=#4]{#1}
+}
+{
+\DeclareFloatingEnvironment[fileext=#3]{#1}
+\DeclareFloatingEnvironment[fileext=#3]{sideways#1}
+}
+\csletcs{sideways#1}{#1}
+\csletcs{endsideways#1}{end#1}
+\cslet{listof#1s}\relax
+\cslet{listof#1es}\relax
+}
+\endinput
+%%
+%% End of file `lwarp-rotfloat.sty'.


Property changes on: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-rotfloat.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-savetrees.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-savetrees.sty	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-savetrees.sty	2017-08-08 20:42:15 UTC (rev 44988)
@@ -0,0 +1,21 @@
+%%
+%% This is file `lwarp-savetrees.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx  (with options: `savetrees')
+%% This is a generated file.
+%% Copyright 2016-2017 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{savetrees}
+\endinput
+%%
+%% End of file `lwarp-savetrees.sty'.


Property changes on: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-savetrees.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-shadow.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-shadow.sty	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-shadow.sty	2017-08-08 20:42:15 UTC (rev 44988)
@@ -0,0 +1,32 @@
+%%
+%% This is file `lwarp-shadow.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx  (with options: `shadow')
+%% This is a generated file.
+%% Copyright 2016-2017 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{shadow}
+
+\newdimen\sboxsep
+\newdimen\sboxrule
+\newdimen\sdim
+
+\newcommand{\shabox}[1]{%
+\InlineClass{shabox}{#1}%
+}
+
+\endinput
+%%
+%% End of file `lwarp-shadow.sty'.


Property changes on: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-shadow.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	2017-08-08 20:41:36 UTC (rev 44987)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-soul.sty	2017-08-08 20:42:15 UTC (rev 44988)
@@ -16,6 +16,7 @@
 %% and version 1.3 or later is part of all distributions of LaTeX
 %% version 2005/12/01 or later.
 \LWR at ProvidesPackageDrop{soul}
+\RequirePackage{xcolor}% for \convertcolorspec
 \newcommand*{\LWR at soululcolor}{}
 
 \newcommand*{\LWR at soulstcolor}{}
@@ -29,7 +30,7 @@
 \InlineClass{#3}{#1}}%
 {%
 \convertcolorspec{named}{\csuse{#2}}{HTML}\LWR at tempcolor%
-\InlineClass{#3}[#4: \#\LWR at tempcolor]{#1}%
+\InlineClass[#4: \#\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	2017-08-08 20:41:36 UTC (rev 44987)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-subfig.sty	2017-08-08 20:42:15 UTC (rev 44988)
@@ -207,7 +207,7 @@
 \LWR at subnewref{#1}{sub@#1}%
 }
 \renewcommand{\sf@@subref}[1]{\LWR at origpageref{sub@#1}}
-\let\LWR at orig@newsubfloat\@newsubfloat
+\LetLtxMacro\LWR at orig@newsubfloat\@newsubfloat
 
 \def\@newsubfloat[#1]#2{%
 \LWR at orig@newsubfloat[#1]{#2}%

Added: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-syntonly.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-syntonly.sty	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-syntonly.sty	2017-08-08 20:42:15 UTC (rev 44988)
@@ -0,0 +1,27 @@
+%%
+%% This is file `lwarp-syntonly.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx  (with options: `syntonly')
+%% This is a generated file.
+%% Copyright 2016-2017 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{syntonly}
+\newif\ifsyntax@
+\syntax at false
+
+\newcommand*{\syntaxonly}{}
+
+\@onlypreamble\syntaxonly
+\endinput
+%%
+%% End of file `lwarp-syntonly.sty'.


Property changes on: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-syntonly.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-threeparttable.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-threeparttable.sty	2017-08-08 20:41:36 UTC (rev 44987)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-threeparttable.sty	2017-08-08 20:42:15 UTC (rev 44988)
@@ -28,7 +28,9 @@
 {%
 \LWR at forcenewpage
 \BlockClass{tnotes}%
+\ltx at ifpackageloaded{enumitem}{%
 \setlist[description]{format=\LWR at printtablenote}%
+}{}%
 \description%
 }
 {%

Modified: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-titleps.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-titleps.sty	2017-08-08 20:41:36 UTC (rev 44987)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-titleps.sty	2017-08-08 20:42:15 UTC (rev 44988)
@@ -17,42 +17,40 @@
 %% version 2005/12/01 or later.
 
 
-
-
 \LWR at ProvidesPackageDrop{titleps}
-\RenewDocumentCommand{\newpagestyle}{m o m}{}
-\RenewDocumentCommand{\renewpagestyle}{m o m}{}
+\NewDocumentCommand{\newpagestyle}{m o m}{}
+\NewDocumentCommand{\renewpagestyle}{m o m}{}
 
-\RenewDocumentCommand{\sethead}{o o o m m m}{}
-\RenewDocumentCommand{\setfoot}{o o o m m m}{}
+\NewDocumentCommand{\sethead}{o o o m m m}{}
+\NewDocumentCommand{\setfoot}{o o o m m m}{}
 
-\RenewDocumentCommand{\settitlemarks}{s m}{}
+\NewDocumentCommand{\settitlemarks}{s m}{}
 
-\renewcommand*{\headrule}{}
-\renewcommand*{\footrule}{}
+\newcommand*{\headrule}{}
+\newcommand*{\footrule}{}
 
-\renewcommand*{\setheadrule}[1]{}
-\renewcommand*{\setfootrule}[1]{}
+\newcommand*{\setheadrule}[1]{}
+\newcommand*{\setfootrule}[1]{}
 
 \newcommand*{\makeheadrule}{}
 \newcommand*{\makefootrule}{}
 
-\renewcommand{\setmarkboth}[1]{}
+\newcommand{\setmarkboth}[1]{}
 
-\RenewDocumentCommand{\widenhead}{s o o m m}{}
+\NewDocumentCommand{\widenhead}{s o o m m}{}
 
-\renewcommand*{\bottitlemarks}{}
-\renewcommand*{\toptitlemarks}{}
-\renewcommand*{\firsttitlemarks}{}
-\renewcommand*{\nexttoptitlemarks}{}
-\renewcommand*{\outertitlemarks}{}
-\renewcommand*{\innertitlemarks}{}
+\newcommand*{\bottitlemarks}{}
+\newcommand*{\toptitlemarks}{}
+\newcommand*{\firsttitlemarks}{}
+\newcommand*{\nexttoptitlemarks}{}
+\newcommand*{\outertitlemarks}{}
+\newcommand*{\innertitlemarks}{}
 
-\RenewDocumentCommand{\newtitlemark}{s m}{}
+\NewDocumentCommand{\newtitlemark}{s m}{}
 
-\RenewDocumentCommand{\pretitlemark}{s m m}{}
+\NewDocumentCommand{\pretitlemark}{s m m}{}
 
-\renewcommand{\ifsamemark}[4]{}
+\newcommand{\ifsamemark}[4]{}
 
 \NewDocumentCommand{\setfloathead}{s o o o m m m m m}{}
 \NewDocumentCommand{\setfloatfoot}{s o o o m m m m m}{}

Added: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-titleref.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-titleref.sty	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-titleref.sty	2017-08-08 20:42:15 UTC (rev 44988)
@@ -0,0 +1,21 @@
+%%
+%% This is file `lwarp-titleref.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx  (with options: `titleref')
+%% This is a generated file.
+%% Copyright 2016-2017 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 loadnever{titleref}{hyperref and nameref}
+\endinput
+%%
+%% End of file `lwarp-titleref.sty'.


Property changes on: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-titleref.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	2017-08-08 20:41:36 UTC (rev 44987)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-ulem.sty	2017-08-08 20:42:15 UTC (rev 44988)
@@ -15,8 +15,8 @@
 %%   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.
-\let\LWR at ulemorigemph\emph
-\let\LWR at ulemorigtextbf\textbf
+\LetLtxMacro\LWR at ulemorigemph\emph
+\LetLtxMacro\LWR at ulemorigtextbf\textbf
 \NewDocumentCommand{\uline}{+m}{%
 \InlineClass{uline}{#1}%
 }
@@ -53,8 +53,8 @@
 \ifx\relax#3\relax\else % argumentative command
     \def#3{#1}\MakeRobust{#3}\fi
 }
-\newcommand*{\normalem}{\let\emph\LWR at ulemorigemph}
-\newcommand*{\ULforem}{\let\emph\uline}
+\newcommand*{\normalem}{\LetLtxMacro\emph\LWR at ulemorigemph}
+\newcommand*{\ULforem}{\LetLtxMacro\emph\uline}
 \ULforem% default
 \DeclareOption{normalem}{\normalem}
 \DeclareOption{ULforem}{\ULforem}

Modified: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-verse.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-verse.sty	2017-08-08 20:41:36 UTC (rev 44987)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-verse.sty	2017-08-08 20:42:15 UTC (rev 44988)
@@ -18,6 +18,7 @@
 \LWR at ProvidesPackagePass{verse}
 
 \AfterEndPreamble{
+\LWR at traceinfo{Patching verse.}
 \AtBeginEnvironment{verse}
 {%
 \ifdef{\vleftskip}{%
@@ -40,7 +41,7 @@
  }
 }{}
 
-}
+}% AfterEndPreamble
 
 \endinput
 %%

Modified: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-xcolor.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-xcolor.sty	2017-08-08 20:41:36 UTC (rev 44987)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-xcolor.sty	2017-08-08 20:42:15 UTC (rev 44988)
@@ -65,8 +65,8 @@
 
 \let\textcolor\LWR at textcolor
 \let\pagecolor\LWR at pagecolor
-\let\colorbox\LWR at colorbox
-\let\fcolorbox\LWR at fcolorbox
+\LetLtxMacro\colorbox\LWR at colorbox
+\LetLtxMacro\fcolorbox\LWR at fcolorbox
 \endinput
 %%
 %% End of file `lwarp-xcolor.sty'.

Modified: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-xfrac.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-xfrac.sty	2017-08-08 20:41:36 UTC (rev 44987)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-xfrac.sty	2017-08-08 20:42:15 UTC (rev 44988)
@@ -42,37 +42,37 @@
 
 \DeclareInstance{xfrac}{default}{text}{
 numerator-format = {%
-\let\scalebox\LWR at noscalebox%
+\LetLtxMacro{\scalebox}{\LWR at noscalebox}%
 \LWR at htmlsmallfontstart\textsuperscript{#1}\,\LWR at htmlsmallfontend},
 denominator-format = {%
-\let\scalebox\LWR at noscalebox%
+\LetLtxMacro{\scalebox}{\LWR at noscalebox}%
 \LWR at htmlsmallfontstart{}\,#1\LWR at htmlsmallfontend},
 scaling = false
 }
 \DeclareInstance{xfrac}{lmr}{text}{
 numerator-format = {%
-\let\scalebox\LWR at noscalebox%
+\LetLtxMacro{\scalebox}{\LWR at noscalebox}%
 \LWR at htmlsmallfontstart\textsuperscript{#1}\,\LWR at htmlsmallfontend},
 denominator-format = {%
-\let\scalebox\LWR at noscalebox%
+\LetLtxMacro{\scalebox}{\LWR at noscalebox}%
 \LWR at htmlsmallfontstart{}\,#1\LWR at htmlsmallfontend},
 scaling = false
 }
 \DeclareInstance{xfrac}{lmss}{text}{
 numerator-format = {%
-\let\scalebox\LWR at noscalebox%
+\LetLtxMacro{\scalebox}{\LWR at noscalebox}%
 \LWR at htmlsmallfontstart\textsuperscript{#1}\,\LWR at htmlsmallfontend},
 denominator-format = {%
-\let\scalebox\LWR at noscalebox%
+\LetLtxMacro{\scalebox}{\LWR at noscalebox}%
 \LWR at htmlsmallfontstart{}\,#1\LWR at htmlsmallfontend},
 scaling = false
 }
 \DeclareInstance{xfrac}{lmtt}{text}{
 numerator-format = {%
-\let\scalebox\LWR at noscalebox%
+\LetLtxMacro{\scalebox}{\LWR at noscalebox}%
 \LWR at htmlsmallfontstart\textsuperscript{#1}\,\LWR at htmlsmallfontend},
 denominator-format = {%
-\let\scalebox\LWR at noscalebox%
+\LetLtxMacro{\scalebox}{\LWR at noscalebox}%
 \LWR at htmlsmallfontstart{}\,#1\LWR at htmlsmallfontend},
 scaling = false
 }

Added: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-xmpincl.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-xmpincl.sty	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-xmpincl.sty	2017-08-08 20:42:15 UTC (rev 44988)
@@ -0,0 +1,22 @@
+%%
+%% This is file `lwarp-xmpincl.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx  (with options: `xmpincl')
+%% This is a generated file.
+%% Copyright 2016-2017 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{xmpincl}
+\newcommand*{\includexmp}[1]{}
+\endinput
+%%
+%% End of file `lwarp-xmpincl.sty'.


Property changes on: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-xmpincl.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp.sty	2017-08-08 20:41:36 UTC (rev 44987)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp.sty	2017-08-08 20:42:15 UTC (rev 44988)
@@ -17,7 +17,7 @@
 %% version 2005/12/01 or later.
 \NeedsTeXFormat{LaTeX2e}[1999/12/01]
 \ProvidesPackage{lwarp}
-    [2017/07/10 v0.33  Allows LaTeX to directly produce HTML5 output.]
+    [2017/08/08 v0.34  Allows LaTeX to directly produce HTML5 output.]
 
 
 
@@ -51,6 +51,8 @@
 \RequirePackage{comment}
 \excludecomment{testing}
 
+\RequirePackage{letltxmacro}
+
 \newbool{usingOSWindows}
 \boolfalse{usingOSWindows}
 
@@ -172,9 +174,11 @@
 
 \newcommand*{\LWR at loadnever}[2]{%
 \PackageError{lwarp}
-{Package #1 does not work with lwarp's HTML conversion.
-Please use the #2 package instead}
-{Package #1 conflicts with lwarp in some way, but package #2 probably will work instead.}
+{Package #1 is not supported by lwarp's HTML conversion.
+Package(s) #2 may be useful instead}
+{Package #1 might conflict with lwarp in some way,
+or is superceded by another package.
+For a possible alternative, see package(s) #2.}
 }
 
 \LWR at loadafter{abstract}
@@ -182,10 +186,15 @@
 \LWR at loadafter{algorithmicx}
 \LWR at loadafter{alltt}
 \LWR at loadafter{amsthm}
+\LWR at loadafter{array}
+\LWR at loadafter{balance}
 \LWR at loadafter{bookmark}
 \LWR at loadafter{booktabs}
+\LWR at loadafter{boxedminipage}
+\LWR at loadafter{boxedminipage2e}
 \LWR at loadafter{ccaption}
 \LWR at loadafter{changepage}
+\LWR at loadafter{crop}
 \LWR at loadafter{cutwin}
 \LWR at loadafter{dcolumn}
 \LWR at loadafter{draftwatermark}
@@ -192,18 +201,28 @@
 \LWR at loadafter{ellipsis}
 \LWR at loadafter{emptypage}
 \LWR at loadafter{enumerate}
+\LWR at loadafter{enumitem}
 \LWR at loadafter{epigraph}
 \LWR at loadafter{eso-pic}
 \LWR at loadafter{everypage}
+\LWR at loadafter{everyshi}
 \LWR at loadafter{extramarks}
+\LWR at loadafter{fancybox}
 \LWR at loadafter{fancyhdr}
-\LWR at loadafter{floatrow}
+\LWR at loadafter{fancyvrb}
+\LWR at loadafter{figcaps}
 \LWR at loadafter{float}
 \LWR at loadafter{floatflt}
+\LWR at loadafter{floatpag}
+\LWR at loadafter{floatrow}
+\LWR at loadafter{flushend}
 \LWR at loadafter{ftnright}
+\LWR at loadafter{fullpage}
 \LWR at loadafter{geometry}
 \LWR at loadafter{glossaries}
 \LWR at loadafter{hyperref}
+\LWR at loadafter{hyperxmp}
+\LWR at loadafter{idxlayout}
 \LWR at loadafter{indentfirst}
 \LWR at loadafter{keyfloat}
 \LWR at loadafter{layout}
@@ -214,11 +233,13 @@
 \LWR at loadafter{longtable}
 \LWR at loadafter{lscape}
 \LWR at loadafter{ltcaption}
+\LWR at loadafter{marginfit}
 \LWR at loadafter{marginfix}
 \LWR at loadafter{marginnote}
 \LWR at loadafter{mcaption}
 \LWR at loadafter{mdframed}
 \LWR at loadafter{microtype}
+\LWR at loadafter{moreverb}
 \LWR at loadafter{mparhack}
 \LWR at loadafter{multirow}
 \LWR at loadafter{nameref}
@@ -228,11 +249,18 @@
 \LWR at loadafter{nowidow}
 \LWR at loadafter{ntheorem}
 \LWR at loadafter{pagenote}
+\LWR at loadafter{paralist}
 \LWR at loadafter{parskip}
+\LWR at loadafter{pdflscape}
+\LWR at loadafter{pdfsync}
 \LWR at loadafter{placeins}
+\LWR at loadafter{prelim2e}
 \LWR at loadafter{ragged2e}
 \LWR at loadafter{rotating}
+\LWR at loadafter{rotfloat}
+\LWR at loadafter{savetrees}
 \LWR at loadafter{setspace}
+\LWR at loadafter{shadow}
 \LWR at loadafter{showidx}
 \LWR at loadafter{showkeys}
 \LWR at loadafter{sidecap}
@@ -257,6 +285,7 @@
 \LWR at loadafter{wrapfig}
 \LWR at loadafter{xcolor}
 \LWR at loadafter{xfrac}
+\LWR at loadafter{xmpincl}
 
 
 
@@ -326,8 +355,16 @@
 
 \begin{warpall}
 
-\RequirePackage{fancyvrb}
+\RequirePackage{filecontents}
 
+\@ifpackagelater{filecontents}{2011/10/09}%
+{}
+{
+\newwrite\fcwrite
+\let\LWR at origfilec@ntents\filec at ntents
+\def\filec at ntents{\def\chardef##1\write{\let\reserved at c\fcwrite}\LWR at origfilec@ntents}
+}
+
 \end{warpall}
 
 \begin{warpHTML}
@@ -336,6 +373,8 @@
 
 \RequirePackage{xstring}
 
+\RequirePackage{verbatim}
+
 \RequirePackage{makeidx}
 \makeindex
 
@@ -348,11 +387,6 @@
 \RequirePackage{caption}
 
 
-\RequirePackage{enumitem}
-\setlist[itemize]{leftmargin=0em}
-\setlist[enumerate]{leftmargin=0em}
-\setlist[description]{leftmargin=0em}
-
 \end{warpHTML}
 
 \begin{warpall}
@@ -359,6 +393,8 @@
 
 \RequirePackage{titling}
 
+\RequirePackage{environ}
+
 \end{warpall}
 
 \begin{warpHTML}
@@ -368,17 +404,7 @@
 \PassOptionsToPackage{leqno}{amsmath}
 \RequirePackage{amsmath}
 
-\RequirePackage{environ}
 
-\RequirePackage[nopatches]{titleps}
-\let\LWR at origpagestyle\pagestyle
-\renewcommand*{\pagestyle}[1]{}
-\let\LWR at origthispagestyle\thispagestyle
-\renewcommand*{\thispagestyle}[1]{}
-\let\LWR at origpagenumbering\pagenumbering
-\renewcommand*{\pagenumbering}[1]{}
-
-
 \RequirePackage{xfrac}
 
 \RequirePackage{printlen}
@@ -387,7 +413,7 @@
 
 \begin{warpHTML}
 
-\let\LWR at origRequirePackage\RequirePackage
+\LetLtxMacro{\LWR at origRequirePackage}{\RequirePackage}
 
 \newcommand*{\LWR at requirepackagenames}{}
 
@@ -433,7 +459,7 @@
 {\LWR at origRequirePackage{\LWR at requirepackagenames}}
 }
 }
-\let\usepackage\RequirePackage
+\LetLtxMacro{\usepackage}{\RequirePackage}
 
 \NewDocumentCommand{\LWR at ProvidesPackagePass}{m o}{
 \PackageInfo{lwarp}{Using package `#1' and adding lwarp modifications, including options,}%
@@ -495,6 +521,14 @@
 \newbool{HTMLDebugComments}
 \boolfalse{HTMLDebugComments}
 
+\AfterEndPreamble{
+\LWR at traceinfo{AfterEndPreamble}
+}
+
+\AtBeginDocument{
+\LWR at traceinfo{AtBeginDocument}
+}
+
 \newbool{FormatEPUB}
 \boolfalse{FormatEPUB}
 \newbool{FormatWordProcessor}
@@ -507,17 +541,30 @@
 
 \begin{warpHTML}
 
-\let\LWR at origtextit\textit
-\let\LWR at origtextbf\textbf
-\let\LWR at origtexttt\texttt
-\let\LWR at origtextsc\textsc
-\let\LWR at origtextsf\textsf
-\let\LWR at origtextrm\textrm
-\let\LWR at origbfseries\bfseries
-\let\LWR at origrmfamily\rmfamily
-\let\LWR at origttfamily\ttfamily
-\let\LWR at orignormalfont\normalfont
+\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}
+\LetLtxMacro{\LWR at origbfseries}{\bfseries}
+\LetLtxMacro{\LWR at origmdseries}{\mdseries}
+\LetLtxMacro{\LWR at origupshape}{\upshape}
+\LetLtxMacro{\LWR at origslshape}{\slshape}
+\LetLtxMacro{\LWR at origscshape}{\scshape}
+\LetLtxMacro{\LWR at origitshape}{\itshape}
+\LetLtxMacro{\LWR at origem}{\em}
+\LetLtxMacro{\LWR at orignormalfont}{\normalfont}
+
 \let\LWR at origraggedright\raggedright
 \let\LWR at origonecolumn\onecolumn
 
@@ -528,16 +575,28 @@
 
 \let\LWR at orignewpage\newpage
 
-\let\LWR at origminipage\minipage
+\let\LWR at origpagestyle\pagestyle
+\let\LWR at origthispagestyle\thispagestyle
+\let\LWR at origpagenumbering\pagenumbering
+
+\LetLtxMacro{\LWR at origminipage}{\minipage}
 \let\LWR at origendminipage\endminipage
+\LetLtxMacro{\LWR at origparbox}{\parbox}
 
 \let\LWR at orignewline\newline
 
-\let\LWR at origitem\item
+\LetLtxMacro{\LWR at origitem}{\item}
 
+\LetLtxMacro{\LWR at origitemize}{\itemize}
+\LetLtxMacro{\LWR at endorigitemize}{\enditemize}
+\LetLtxMacro{\LWR at origenumerate}{\enumerate}
+\LetLtxMacro{\LWR at endorigenumerate}{\endenumerate}
+\LetLtxMacro{\LWR at origdescription}{\description}
+\LetLtxMacro{\LWR at endorigdescription}{\enddescription}
+
 \let\LWR at origpar\par
 
-\let\LWR at origfootnote\footnote
+\LetLtxMacro{\LWR at origfootnote}{\footnote}
 \let\LWR at orig@mpfootnotetext\@mpfootnotetext
 
 \let\LWR at origclearpage\clearpage
@@ -623,7 +682,7 @@
 
 
 \begin{warpprint}
-\begin{VerbatimOut}{lwarp.css}
+\begin{filecontents*}{lwarp.css}
 /*
   CSS stylesheet for the LaTeX lwarp package
   Copyright 2016-2017 Brian Dunn — BD Tech Concepts LLC
@@ -680,7 +739,7 @@
 span.indexsubitem {margin-left: 2em}
 span.indexsubsubitem {margin-left: 4em}
 
-div.hidden { display: none ; }
+div.hidden, span.hidden { display: none ; }
 
 kbd {
     font-family: "DejaVu Mono", "Bitstream Vera Mono", "Lucida Console",
@@ -689,6 +748,8 @@
     font-size: 100% ;
 }
 
+pre { padding: 3pt ; }
+
 span.strong { font-weight: bold; }
 
 span.textmd { font-weight: normal; }
@@ -695,6 +756,8 @@
 
 span.textsc { font-variant: small-caps; }
 
+span.textsl { font-style: oblique; }
+
 span.textup { font-variant: normal; }
 
 span.textrm {
@@ -997,6 +1060,14 @@
   overflow-x: auto;
 }
 
+span.listinglabel {
+    display: inline-block ;
+    font-size: 70% ;
+    width: 4em ;
+    text-align: right ;
+    margin-right: 2em ;
+}
+
 div.abstract {
   margin: 2em 5% 2em 5% ;
   padding: 1ex 1em 1ex 1em ;
@@ -1080,13 +1151,38 @@
 /* Have not yet researched this. */
 .minipage p {margin: .75ex 0em .75ex 0em ;}
 
+.shadowbox, .shabox {
+   border: 1px solid black;
+    box-shadow: 3px 3px 3px #808080 ;
+     border-radius: 0px ;
+    padding: .4ex .3em .4ex .3em ;
+    margin: 0pt .3ex 0pt .3ex ;
+  display: inline-block ;
+}
+
+.doublebox {
+   border: 3px double black;
+     border-radius: 0px ;
+    padding: .4ex .3em .4ex .3em ;
+    margin: 0pt .3ex 0pt .3ex ;
+  display: inline-block ;
+}
+
+.ovalbox, .Ovalbox {
+   border: 1px solid black;
+     border-radius: 1ex ;
+    padding: .4ex .3em .4ex .3em ;
+    margin: 0pt .3ex 0pt .3ex ;
+  display: inline-block ;
+}
+
+.Ovalbox { border-width: 2px ; }
+
 .framebox {
-    margin: 0ex ;
-    padding: 0ex ;
    border: 1px solid black;
      border-radius: 0px ;
     padding: .3ex .2em 0ex .2em ;
-    margin: .1ex ;
+    margin: 0pt .1ex 0pt .1ex ;
   display: inline-block ;
 }
 
@@ -1127,7 +1223,7 @@
 }
 
 /* framed package */
-.framed {
+.framed, pre.boxedverbatim {
     margin: 3ex 0em 3ex 0em ;
    border: 1px solid black;
      border-radius: 0px ;
@@ -1164,7 +1260,8 @@
 }
 
 dl dt {
-  margin-top: 1ex;
+margin-top: 1ex;
+margin-left: 1em ;
     font-weight: bold;
 }
 
@@ -1375,6 +1472,9 @@
 div.flushright{text-align:right;}
 div.flushright table {margin-left:auto ; margin-right: 0em ;}
 
+/* Fancybox */
+div.Btrivlist table tr td { padding: .2ex 0em ; }
+
 /* program listing callouts: */
 span.callout {
      font-family: "DejaVu Sans", "Bitstream Vera Sans",
@@ -1734,12 +1834,12 @@
     nav.topnavigation { display:block }
     nav.botnavigation { display:block }
 }
-\end{VerbatimOut}
+\end{filecontents*}
 \end{warpprint}
 
 
 \begin{warpprint}
-\begin{VerbatimOut}{lwarp_sagebrush.css}
+\begin{filecontents*}{lwarp_sagebrush.css}
 @import url("lwarp.css") ;
 
 A:link {color:#105030 ; text-decoration: none ; }
@@ -1955,12 +2055,12 @@
     nav.sidetoc { border-radius: 0 ; }
 }
 
-\end{VerbatimOut}
+\end{filecontents*}
 \end{warpprint}
 
 
 \begin{warpprint}
-\begin{VerbatimOut}{lwarp_formal.css}
+\begin{filecontents*}{lwarp_formal.css}
 @import url("lwarp.css") ;
 
 A:link {color:#802020 ; text-decoration:none; }
@@ -2155,12 +2255,12 @@
     background: #dedcd5 ;
     border-top: 1px solid black ;
 }
-\end{VerbatimOut}
+\end{filecontents*}
 \end{warpprint}
 
 
 \begin{warpprint}
-\begin{VerbatimOut}{sample_project.css}
+\begin{filecontents*}{sample_project.css}
 /* ( --- Start of project.css --- ) */
 /* A sample project-specific CSS file for lwarp --- ) */
 
@@ -2172,12 +2272,12 @@
 /* . . . */
 
 /* ( --- End of project.css --- ) */
-\end{VerbatimOut}
+\end{filecontents*}
 \end{warpprint}
 
 
 \begin{warpprint}
-\begin{VerbatimOut}{lwarp.xdy}
+\begin{filecontents*}{lwarp.xdy}
 (require "tex/inputenc/latin.xdy")
 (merge-rule "\\PS *" "Postscript")
 (require "texindy.xdy")
@@ -2184,12 +2284,12 @@
 (require "page-ranges.xdy")
 (require "book-order.xdy")
 (markup-locref :open "\hyperindexref{" :close "}")
-\end{VerbatimOut}
+\end{filecontents*}
 \end{warpprint}
 
 
 \begin{warpprint}
-\begin{VerbatimOut}{lwarp_mathjax.txt}
+\begin{filecontents*}{lwarp_mathjax.txt}
 <!-- https://groups.google.com/forum/#!topic/
                                mathjax-users/jUtewUcE2bY -->
 <script type="text/x-mathjax-config">
@@ -2274,7 +2374,7 @@
 
 <!-- Alternative CDN provider: -->
 <script type="text/javascript" async
-src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS_HTML-full">
+src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS_HTML-full">
 </script>
 
 <!-- No longer supported after April 30, 2017: -->
@@ -2284,13 +2384,13 @@
 </script>
 -->
 
-\end{VerbatimOut}
+\end{filecontents*}
 \end{warpprint}
 
 
 \begin{LWR at createlwarpmk}
 
-\begin{VerbatimOut}{lwarpmk.lua}
+\begin{filecontents*}{lwarpmk.lua}
 #!/usr/bin/env texlua
 
 -- Copyright 2016-2017 Brian Dunn
@@ -2297,7 +2397,7 @@
 
 -- Print the usage of the lwarpmk command:
 
-printversion = "v0.33"
+printversion = "v0.34"
 
 function printhelp ()
 print ("lwarpmk: Use lwarpmk -h or lwarpmk --help for help.") ;
@@ -2597,7 +2697,7 @@
     err=os.execute ( "latexmk -pdf -dvi- -ps- -recorder "
         .. "-e "
         .. opquote
-        .. "$makeindex = q/"
+        .. "$makeindex = q/" -- $
         .. xindycmd
         .. "  -M " .. xdyfile
         .. "  -L " .. language .. " /"
@@ -2802,7 +2902,7 @@
 end
 
 end -- not --version
-\end{VerbatimOut}
+\end{filecontents*}
 \end{LWR at createlwarpmk}
 
 
@@ -2925,7 +3025,12 @@
 \begin{warpHTML}
 
 \let\LWR at origampersand\&
-\newcommand*{\HTMLentity}[1]{\LWR at origampersand#1;}
+\newcommand*{\HTMLentity}[1]{%
+\begingroup%
+\LWR at FBcancel%
+\LWR at origampersand#1;%
+\endgroup
+}
 \newcommand*{\HTMLunicode}[1]{\HTMLentity{\#x#1}}
 
 \renewcommand*{\&}{\HTMLentity{amp}}
@@ -3059,6 +3164,11 @@
 \newcommand{\LWR at forcenewpage}{%
 \LWR at stoppars\LWR at orignewpage\LWR at startpars%
 }
+
+\renewcommand*{\pagestyle}[1]{}
+\renewcommand*{\thispagestyle}[1]{}
+\renewcommand*{\pagenumbering}[1]{}
+
 \end{warpHTML}
 
 
@@ -3083,21 +3193,73 @@
 \newcommand*{\LWR at tagregularparagraph}{p}
 
 
+\@ifpackagewith{babel}{french}{
+\renewcommand*{\FBcolonspace}{~}
+\renewcommand*{\FBthinspace}{\,}
+}{}
 
+\@ifpackagewith{babel}{french}{%
+\newcommand{\LWR at FBcancel}{%
+\csdef{FBcolonspace}{}%
+\csdef{FBthinspace}{}%
+}
+}
+{% not french:
+\newcommand{\LWR at FBcancel}{}
+}%
+
 \newcommand*{\LWR at htmltagc}[1]{%
 {%
-\protect\LWR at origttfamily%
+\begingroup%
+\LWR at FBcancel%
+\ifmmode\else\protect\LWR at origttfamily\fi%
 \protect\LWR at origtextless#1\protect\LWR at origtextgreater%
+\endgroup%
 }%
 }
 
+\newcommand*{\LWR at nestspanitem}{%
+\if at newlist\else{\LWR at htmltagc{br /}}\fi%
+\LWR at origitem%
+}
+
 \newenvironment*{LWR at nestspan}
 {%
+\LWR at traceinfo{LWR at nestspan}%
+\ifthenelse{\cnttest{\value{LWR at lateximagedepth}}{>}{0}}%
+{%
+\LWR at traceinfo{LWR at nestspan: inside a lateximage}%
+}%
+{% not in a lateximage
+\LWR at traceinfo{LWR at nestspan: NOT inside a lateximage}%
 \addtocounter{LWR at spandepth}{1}%
 \RenewDocumentEnvironment{minipage}{O{t} o O{t} m}{}{}%
+\RenewDocumentEnvironment{BlockClass}{o m}{}{}%
+\renewcommand{\BlockClassSingle}[2]{##2}%
+\renewcommand{\LWR at forcenewpage}{}%
+\renewcommand{\LWR at itemizestart}{%
+\let\item\LWR at nestspanitem%
 }%
-{\addtocounter{LWR at spandepth}{-1}}
+\renewcommand{\LWR at itemizeend}{}%
+\renewcommand{\LWR at enumeratestart}{%
+\let\item\LWR at nestspanitem%
+}%
+\renewcommand{\LWR at enumerateend}{}%
+\renewcommand{\LWR at descriptionstart}{%
+\let\item\LWR at nestspanitem%
+}%
+\renewcommand{\LWR at descriptionend}{}%
+}% not in a lateximage
+}%
+{%
+\ifthenelse{\cnttest{\value{LWR at lateximagedepth}}{>}{0}}%
+{}%
+{\addtocounter{LWR at spandepth}{-1}}%
+\LWR at traceinfo{LWR at nestspan: done}%
+}
 
+\AfterEndEnvironment{LWR at nestspan}{\global\let\par\LWR at closeparagraph}
+
 \NewDocumentCommand{\LWR at htmlspan}{m +m}{%
 \LWR at ensuredoingapar%
 \LWR at htmltagc{#1}%
@@ -3107,9 +3269,9 @@
 \end{LWR at nestspan}%
 }
 
-\NewDocumentCommand{\LWR at htmlspanclass}{m o +m}{%
+\NewDocumentCommand{\LWR at htmlspanclass}{o m +m}{%
 \LWR at ensuredoingapar%
-\LWR at subhtmlelementclass{span}{#1}[#2]%
+\LWR at subhtmlelementclass{span}[#1]{#2}%
 \begin{LWR at nestspan}%
 #3%
 \LWR at htmltagc{/span}%
@@ -3129,11 +3291,23 @@
 
 
 \newcommand*{\LWR at htmlopencomment}{%
-{\LWR at origttfamily\LWR at origtextless{}!{-}{-}}%
+{%
+\begingroup%
+\LWR at FBcancel%
+\ifmmode\else\protect\LWR at origttfamily\fi%
+\LWR at origtextless{}!{-}{-}%
+\endgroup%
+}%
 }
 
 \newcommand*{\LWR at htmlclosecomment}{%
-{\LWR at origttfamily{-}{-}\LWR at origtextgreater{}}%
+{%
+\begingroup%
+\LWR at FBcancel%
+\ifmmode\else\protect\LWR at origttfamily\fi%
+{-}{-}\LWR at origtextgreater{}%
+\endgroup%
+}%
 }
 
 \newcommand{\LWR at htmlcomment}[1]{%
@@ -3159,19 +3333,19 @@
 }
 
 
-\NewDocumentCommand{\LWR at subhtmlelementclass}{m m o}{%
-\IfValueTF{#3}%
+\NewDocumentCommand{\LWR at subhtmlelementclass}{m o m}{%
+\IfValueTF{#2}%
 {% option
-\ifthenelse{\equal{#3}{}}%
-{\LWR at htmltag{#1 class="#2"}}% empty option
-{\LWR at htmltag{#1 class="#2" style="#3"}}% non-empty option
+\ifthenelse{\equal{#2}{}}%
+{\LWR at htmltag{#1 class="#3"}}% empty option
+{\LWR at htmltag{#1 class="#3" style="#2"}}% non-empty option
 }% option
-{\LWR at htmltag{#1 class="#2"}}% no option
+{\LWR at htmltag{#1 class="#3"}}% no option
 }
 
-\NewDocumentCommand{\LWR at htmlelementclass}{m m o}{%
+\NewDocumentCommand{\LWR at htmlelementclass}{m o m}{%
 \LWR at stoppars%
-\LWR at subhtmlelementclass{#1}{#2}[#3]%
+\LWR at subhtmlelementclass{#1}[#2]{#3}%
 \LWR at startpars%
 }
 
@@ -3184,8 +3358,8 @@
 \LWR at startpars%
 }
 
-\NewDocumentCommand{\LWR at htmldivclass}{m o}{%
-\LWR at htmlelementclass{div}{#1}[#2]%
+\NewDocumentCommand{\LWR at htmldivclass}{o m}{%
+\LWR at htmlelementclass{div}[#1]{#2}%
 }
 
 \newcommand*{\LWR at htmldivclassend}[1]{%
@@ -3194,9 +3368,9 @@
 
 
 
-\NewDocumentCommand{\LWR at htmlelementclassline}{m m o +m}{%
+\NewDocumentCommand{\LWR at htmlelementclassline}{m o m +m}{%
 \LWR at stoppars
-\LWR at subhtmlelementclass{#1}{#2}[#3]%
+\LWR at subhtmlelementclass{#1}[#2]{#3}%
 #4%
 \LWR at htmltag{/#1}
 \LWR at startpars
@@ -3219,16 +3393,16 @@
 
 
 \begin{warpHTML}
-\NewDocumentEnvironment{BlockClass}{m o}
+\NewDocumentEnvironment{BlockClass}{o m}%
 {
-\LWR at htmldivclass{#1}[#2]
+\LWR at htmldivclass[#1]{#2}
 }
 {
-\LWR at htmldivclassend{#1}
+\LWR at htmldivclassend{#2}
 }
 \end{warpHTML}
 \begin{warpprint}
-\NewDocumentEnvironment{BlockClass}{m o}{}{}
+\NewDocumentEnvironment{BlockClass}{o m}{}{}%
 \end{warpprint}
 \begin{warpHTML}
 \newcommand{\BlockClassSingle}[2]{%
@@ -3240,12 +3414,12 @@
 \end{warpprint}
 
 \begin{warpHTML}
-\NewDocumentCommand{\InlineClass}{m o +m}{%
-\LWR at htmlspanclass{#1}[#2]{#3}%
+\NewDocumentCommand{\InlineClass}{o m +m}{%
+\LWR at htmlspanclass[#1]{#2}{#3}%
 }
 \end{warpHTML}
 \begin{warpprint}
-\NewDocumentCommand{\InlineClass}{m o +m}{#3}
+\NewDocumentCommand{\InlineClass}{o m +m}{#3}%
 \end{warpprint}
 
 
@@ -3360,6 +3534,9 @@
 
 \newcommand*{\LWR at startpars}%
 {%
+\ifthenelse{\cnttest{\value{LWR at spandepth}}{>}{0}}%
+{}%
+{%
 \ifbool{LWR at doingstartpars}%
 {}%
 {%
@@ -3369,10 +3546,14 @@
 }% an intentionally blank line
 \global\setbool{LWR at doingstartpars}{true}%
 \global\boolfalse{LWR at doingapar}%
+}% nestspan
 }
 
 \newcommand*{\LWR at stoppars}%
 {%
+\ifthenelse{\cnttest{\value{LWR at spandepth}}{>}{0}}%
+{}%
+{%
 \ifbool{LWR at doingapar}%
 {%
 \unskip%
@@ -3389,6 +3570,7 @@
 {}%
 \global\setbool{LWR at doingstartpars}{false}%
 \global\boolfalse{LWR at doingapar}%
+}% nestspan
 }
 
 \end{warpHTML}
@@ -3550,20 +3732,8 @@
 \newcommand*{\LWR at filenamenoblanks}[1]{%
 \begingroup
 
-\renewcommand*{\HTMLunicode}[1]{}
-\renewcommand*{\HTMLentity}[1]{##1}
-\renewcommand*{\LWR at htmltagc}[1]{}
-\DeclareExpandableDocumentCommand{\InlineClass}{m o m}{##3}
-\renewcommand*{\&}{and}
-\renewcommand{\textit}[1]{##1}
-\renewcommand{\textsc}[1]{##1}
-\renewcommand{\textsl}[1]{##1}
-\renewcommand{\textbf}[1]{##1}
-\renewcommand{\texttt}[1]{##1}
-\renewcommand{\textsf}[1]{##1}
-\renewcommand{\textrm}[1]{##1}
-\renewcommand{\textsuperscript}[1]{##1}
-\renewcommand{\textsubscript}[1]{##1}
+\LWR at nullfonts
+\renewcommand*{\LWR at htmltagc}[1]{}%
 \edef\LWR at thisnewfilename{#1}
 \fullexpandarg
 \StrSubstitute{\LWR at thisnewfilename}{ }{-}[\LWR at thisnewfilename]
@@ -3916,21 +4086,13 @@
 
 
 \newcommand*{\LWR at filestart}[1]{
+\LWR at traceinfo{LWR at filestart}
 \begingroup
-\renewcommand{\textit}[1]{##1}% not used in filenames
-\renewcommand{\textsc}[1]{##1}
-\renewcommand{\textsl}[1]{##1}
-\renewcommand{\textbf}[1]{##1}
-\renewcommand{\texttt}[1]{##1}
-\renewcommand{\textsf}[1]{##1}
-\renewcommand{\textrm}[1]{##1}
-\renewcommand{\textsuperscript}[1]{##1}
-\renewcommand{\textsubscript}[1]{##1}
-\renewcommand*{\HTMLunicode}[1]{}
-\renewcommand*{\HTMLentity}[1]{}
-\RenewDocumentCommand{\LWR at htmlspanclass}{m o +m}{##3}
-\DeclareExpandableDocumentCommand{\InlineClass}{m o m}{##3}
+\LWR at traceinfo{LWR at filestart: A}
+\LWR at nullfonts
+\LWR at traceinfo{LWR at filestart: B}
 \LWR at htmltag{!DOCTYPE html}\LWR at orignewline
+\LWR at traceinfo{LWR at filestart: C}
 \LWR at htmltag{html lang="\LWR at currentHTMLLanguage"{}}\LWR at orignewline
 \LWR at htmltag{head}\LWR at orignewline
 \LWR at htmltag{meta charset="UTF-8" /}\LWR at orignewline
@@ -3961,7 +4123,7 @@
 \ifbool{mathjax}%
 {%
 \boolfalse{LWR at verbtags}
-\VerbatimInput{lwarp_mathjax.txt}%
+\verbatiminput{lwarp_mathjax.txt}%
 \booltrue{LWR at verbtags}
 \LWR at stoppars
 }% end of mathjax
@@ -3969,6 +4131,7 @@
 \LWR at htmltag{/head}\LWR at orignewline
 \LWR at htmltag{body}\LWR at orignewline
 \endgroup
+\LWR at traceinfo{LWR at filestart: done}
 }
 
 \end{warpHTML}
@@ -3976,8 +4139,10 @@
 
 \begin{warpHTML}
 
+\catcode`\$=\active
 \newcommand*{\LWR at LwarpStart}
 {%
+\LWR at traceinfo{LWR at lwarpStart}
 \ifbool{FormatWordProcessor}{%
 \setcounter{FileDepth}{-5}%
 \boolfalse{HTMLDebugComments}%
@@ -3987,9 +4152,10 @@
 \edef\LWR at strresult{\HTMLFilename}
 \edef\HTMLFilename{\detokenize\expandafter{\LWR at strresult}}
 \LWR at origonecolumn%
+\LWR at origpagestyle{empty}
 \LWR at origscriptsize%
 \LWR at origraggedright%
-\let\\\LWR at endofline%
+\LetLtxMacro{\\}{\LWR at endofline}%
 \linespread{1.3}%
 \setlength{\parindent}{0pt}
 \setlength{\parskip}{2ex}
@@ -3999,10 +4165,10 @@
 \renewcommand*{\centering}{}
 \renewcommand*{\raggedleft}{}
 \renewcommand*{\raggedright}{}
-\let\LWR at origtabular\tabular
-\let\LWR at origendtabular\endtabular
-\let\tabular\LWR at tabular
-\let\endtabular\endLWR at tabular
+\LetLtxMacro{\LWR at origtabular}{\tabular}
+\LetLtxMacro{\LWR at origendtabular}{\endtabular}
+\LetLtxMacro{\tabular}{\LWR at tabular}
+\LetLtxMacro{\endtabular}{\endLWR at tabular}
 \let\LWR at origcaption\caption
 \let\LWR at origltx@label\ltx at label
 \let\ltx at label\LWR at htmlmathlabel
@@ -4013,19 +4179,21 @@
 \let\XeTeX\LWR at XeTeX
 \let\XeLaTeX\LWR at XeLaTeX
 \let\ConTeXt\LWR at ConTeXt
-\let\rotatebox\LWR at rotatebox
-\let\scalebox\LWR at scalebox
+\LetLtxMacro{\rotatebox}{\LWR at rotatebox}
+\LetLtxMacro{\scalebox}{\LWR at scalebox}
 \let\reflectbox\LWR at reflectbox
 \global\boolfalse{LWR at doingapar}
 \global\boolfalse{LWR at doingstartpars}
+\LWR at traceinfo{LWR at lwarpStart: Starting new file.}
 \LWR at filestart{}
+\LWR at traceinfo{LWR at lwarpStart: Generating first header.}
 \LWR at htmltag{header}\LWR at orignewline
 \LWR at startpars
 \LWR at firstpagetop
 \LWR at stoppars
 \LWR at htmltag{/header}\LWR at orignewline
+\LWR at traceinfo{LWR at lwarpStart: Generating textbody.}
 \LWR at htmltag{section class="textbody"{}}
-\LWR at origpagestyle{empty}
 \mainmatter
 \LWR at origpagenumbering{arabic}
 \if at titlepage
@@ -4033,10 +4201,14 @@
 \else
    \thanksmarkseries{fnsymbol}
 \fi
-\fvset{frame=none}%
+\LWR at patchlists
+\catcode`\$=\active
 \LWR at startpars
+\LWR at traceinfo{LWR at lwarpStart: done}
 }
+\catcode`\$=3% math shift until lwarp starts
 
+
 \end{warpHTML}
 
 
@@ -4268,7 +4440,7 @@
   \renewcommand{\maketitle}{\begin{titlepage}%
     \let\footnotesize\small
     \let\footnoterule\relax
-    \let \footnote \thanks
+    \LetLtxMacro{\footnote}{\thanks}
     \@bsmarkseries
       \def\@makefnmark{\rlap{\@textsuperscript{%
          \normalfont\@bsthanksheadpre \tamark \@bsthanksheadpost}}}%
@@ -4387,9 +4559,10 @@
 }%
 }
 
-\def\@fnsymbol#1{\ensuremath{\ifcase#1\or *\or \dagger\or \ddagger\or
-   \mathsection\or \mathparagraph\or \text{\HTMLunicode{2016}}\or
-   **\or \dagger\dagger \or \ddagger\ddagger \else\@ctrerr\fi}}
+\def\@fnsymbol#1{\ifcase#1\or *\or \HTMLentity{dagger}\or \HTMLentity{Dagger}\or
+   \HTMLentity{sect}\or \HTMLentity{para}\or \text{\HTMLunicode{2016}}\or
+   **\or \HTMLentity{dagger}\HTMLentity{dagger} \or
+   \HTMLentity{Dagger}\HTMLentity{Dagger} \else\@ctrerr\fi}
 \renewcommand*{\maketitle}{%
 \begin{titlepage}
 \LWR at maketitlesetup
@@ -4494,19 +4667,7 @@
 \end{warpall}
 
 
-\begin{warpHTML}
 
-\AfterEndPreamble{
-\AtBeginEnvironment{verbatim}{%
-\LWR at forcenewpage
-\LWR at atbeginverbatim{verbatim}\unskip\LWR at origvspace*{-\baselineskip}%
-}
-\AfterEndEnvironment{verbatim}{\unskip\LWR at origvspace*{-\baselineskip}\LWR at afterendverbatim}
-}
-
-\end{warpHTML}
-
-
 \begin{warpall}
 \newlength{\VerbatimHTMLWidth}
 \setlength{\VerbatimHTMLWidth}{4in}
@@ -4513,25 +4674,26 @@
 \end{warpall}
 
 \begin{warpHTML}
+
 \newbool{LWR at verbtags}
 \booltrue{LWR at verbtags}
 
-\renewcommand{\VerbatimFootnotes}{
-\PackageError{lwarp}
-{Verbatim footnotes are not yet supported by lwarp.}
-{This may be improved some day.}
-}
-
-\newcommand*{\LWR at atbeginverbatim}[1]
+\newcommand*{\LWR at atbeginverbatim}[2][]
 {%
 \setlength{\parskip}{0ex}%
 \LWR at stoppars%
-\ifbool{LWR at verbtags}{\LWR at htmltag{pre class="#1"{}}}{}%
+\ifbool{LWR at verbtags}{%
+\LWR at htmltag{pre class="#2"
+\ifthenelse{\equal{#1}{}}{}{style="#1"}%
+}% pre
+}{}%
+\begingroup%
 \LWR at origttfamily%
-\let\hspace\LWR at orighspace%
+\LetLtxMacro{\hspace}{\LWR at orighspace}%
 }
 
 \newcommand*{\LWR at afterendverbatim}{%
+\endgroup%
 \unskip%
 \ifbool{LWR at verbtags}{\noindent\LWR at htmltag{/pre}
 
@@ -4538,159 +4700,25 @@
 }{}%
 \LWR at startpars%
 }
-\newcommand*{\LWR at Verbatimclass}{fancyvrb}
-\NewDocumentEnvironment{VerbatimClass}{m O{}}
-{%
-\renewcommand*{\LWR at Verbatimclass}{#1}%
-\LWR at origVerbatim[#2]%
-}
-{\endVerbatim}
-\AfterEndPreamble{
-\let\LWR at origVerbatim\Verbatim
-\renewcommand*{\Verbatim}{%
-\LWR at forcenewpage
-\renewcommand*{\LWR at Verbatimclass}{fancyvrb}%
-\LWR at origVerbatim%
-}
-\newcommand*{\LWR at fvstartnone}{%
-\LWR at traceinfo{fvstartnone}%
-\ifbool{LWR at verbtags}{\hbox to\z@{\LWR at htmltagc{div class="\LWR at Verbatimclass"}}}{}%
-\hbox to\z@{\LWR at atbeginverbatim{verbatim}}%
-}
 
-\newcommand*{\LWR at fvendnone}{%
-\LWR at traceinfo{fvendnone}%
-\hbox to\z@{\LWR at afterendverbatim}%
-\ifbool{LWR at verbtags}{\hbox to\z@{\LWR at htmltagc{/div}}}{}%
-}
+\let\LWRV at origverbatim@input\verbatim at input
 
-\newcommand*{\LWR at fvstartsingle}{%
-\LWR at traceinfo{fvstartsingle}%
-\LWR at fvstartnone%
-\FV at BeginListFrame@Single%
+\renewcommand{\verbatim at input}[2]{%
+\ifbool{LWR at verbtags}{\LWR at forcenewpage}{}%
+\LWR at atbeginverbatim{Verbatim}\unskip\LWR at origvspace*{-\baselineskip}%%
+\LWRV at origverbatim@input{#1}{#2}%
+\unskip\LWR at origvspace*{-\baselineskip}\LWR at afterendverbatim%
 }
 
-\newcommand*{\LWR at fvendsingle}{%
-\LWR at traceinfo{fvendsingle}%
-\FV at EndListFrame@Single%
-\LWR at fvendnone%
-}
-
-\newcommand*{\LWR at fvstartline}{%
-\LWR at traceinfo{fvstartline}%
-\LWR at fvstartnone%
-\FV at BeginListFrame@Lines%
-}
-
-\newcommand*{\LWR at fvendline}{%
-\LWR at traceinfo{fvendline}%
-\FV at EndListFrame@Lines%
-\LWR at fvendnone%
-}
-\def\FV at Frame@none{%
-\let\FV at BeginListFrame\LWR at fvstartnone%
-\let\FV at LeftListFrame\relax%
-\let\FV at RightListFrame\relax%
-\let\FV at EndListFrame\LWR at fvendnone}
-
-\def\FV at Frame@single{%
-\let\FV at BeginListFrame\LWR at fvstartsingle%
-\let\FV at LeftListFrame\FV at LeftListFrame@Single%
-\let\FV at RightListFrame\FV at RightListFrame@Single%
-\let\FV at EndListFrame\LWR at fvendsingle}
-
-\def\FV at Frame@lines{%
-\let\FV at BeginListFrame\LWR at fvstartline%
-\let\FV at LeftListFrame\relax%
-\let\FV at RightListFrame\relax%
-\let\FV at EndListFrame\LWR at fvendline}
-
-\def\FV at Frame@topline{%
-\let\FV at BeginListFrame\LWR at fvstartline%
-\let\FV at LeftListFrame\relax%
-\let\FV at RightListFrame\relax%
-\let\FV at EndListFrame\LWR at fvendnone}
-
-\def\FV at Frame@bottomline{%
-\let\FV at BeginListFrame\LWR at fvstartnone%
-\let\FV at LeftListFrame\relax%
-\let\FV at RightListFrame\relax%
-\let\FV at EndListFrame\LWR at fvendline}
-
-\def\FV at Frame@leftline{%
-\ifx\FancyVerbFillColor\relax%
-\let\FV at FrameFillLine\relax%
-\else%
-\@tempdima\FV at FrameRule\relax%
-\multiply\@tempdima-\tw@%
-\edef\FV at FrameFillLine{%
-{\noexpand\FancyVerbFillColor{\vrule\@width\number\@tempdima sp}%
-\kern-\number\@tempdima sp}}%
-\fi%
-\let\FV at BeginListFrame\LWR at fvstartnone%
-\let\FV at LeftListFrame\FV at LeftListFrame@Single%
-\let\FV at RightListFrame\relax%
-\let\FV at EndListFrame\LWR at fvendnone}
-\def\FV at SingleFrameLine#1{%
-  \hbox to\z@{%
-    \ifnum#1=\z@\relax
-      \let\FV at Label\FV at LabelBegin
-    \else
-      \let\FV at Label\FV at LabelEnd
-    \fi
-    \ifx\FV at Label\relax
-    \else
-      \ifnum#1=\z@
-        \ifx\FV at LabelPositionTopLine\relax
-\else
-        \LWR at htmltagc{div class="fancyvrblabel"}
-\LWR at origtextrm{\FV at LabelBegin}% \textrm preserves emdash
-\LWR at htmltagc{/div}
-\fi
-      \else
-        \ifx\FV at LabelPositionBottomLine\relax
-\else
-        \LWR at htmltagc{div class="fancyvrblabel"}
-\LWR at origtextrm{\FV at LabelEnd}
-\LWR at htmltagc{/div}
-\fi
-      \fi
-
-    \fi
-    \hss
-}
-}
-\def\FV at ListProcessLine#1{%
-   \hbox to \hsize{%
-      \hbox to \VerbatimHTMLWidth {%
-       \ifcsvoid{FV at LeftListNumber}{}{\kern 2.5em}%
-\FV at LeftListNumber%
-      \FancyVerbFormatLine{#1}%
-      \hss%
-      \FV at RightListNumber%
-}%
-      \hss% required to avoid underfull hboxes
-}
-}
-
-\AtBeginEnvironment{BVerbatim}
-{
+\AfterEndPreamble{
+\LWR at traceinfo{Patching verbatim.}
+\AtBeginEnvironment{verbatim}{%
 \LWR at forcenewpage
-\LWR at atbeginverbatim{bverbatim}
-
+\LWR at atbeginverbatim{verbatim}\unskip\LWR at origvspace*{-\baselineskip}%
 }
-
-\AfterEndEnvironment{BVerbatim}
-{
-\leavevmode\par\LWR at origvspace{-\baselineskip}
-\LWR at afterendverbatim
+\AfterEndEnvironment{verbatim}{\unskip\LWR at origvspace*{-\baselineskip}\LWR at afterendverbatim}
 }
 
-
-
-} % \AfterEndPreamble
-
-
 \end{warpHTML}
 
 
@@ -4713,11 +4741,8 @@
 \end{warpHTML}
 
 
-
 \begin{warpHTML}
 
-\let\LWR at origitem\item
-
 \newcommand*{\LWR at itemizeitem}{%
 \LWR at stoppars%
 \LWR at startnewdepth{\LWR at depthlistitem}{\LWR at printcloselistitem{}}%
@@ -4726,9 +4751,6 @@
 \LWR at origitem%
 }
 
-
-\AtBeginEnvironment{itemize}{\LWR at itemizestart}
-
 \newcommand*{\LWR at itemizestart}{%
 \LWR at stoppars%
 \LWR at pushoneclose{\LWR at depthlist}{\LWR at printcloseitemize{}}%
@@ -4737,8 +4759,6 @@
 \let\item\LWR at itemizeitem%
 }
 
-\AtEndEnvironment{itemize}{\LWR at itemizeend}
-
 \newcommand*{\LWR at itemizeend}{%
 \LWR at stoppars%
 \LWR at closeprevious{\LWR at depthlistitem}%
@@ -4748,8 +4768,6 @@
 
 
 
-\AtBeginEnvironment{enumerate}{\LWR at enumeratestart}
-
 \newcommand*{\LWR at enumeratestart}{%
 \LWR at stoppars%
 \LWR at pushoneclose{\LWR at depthlist}{\LWR at printcloseitemize{}}%
@@ -4758,8 +4776,6 @@
 \let\item\LWR at itemizeitem%
 }
 
-\AtEndEnvironment{enumerate}{\LWR at enumerateend}
-
 \newcommand*{\LWR at enumerateend}{%
 \LWR at stoppars%
 \LWR at closeprevious{\LWR at depthlistitem}%
@@ -4773,7 +4789,9 @@
 \LWR at stoppars%
 \LWR at setlatestname{#1}%
 \LWR at startnewdepth{\LWR at depthlistitem}{\LWR at printclosedescitem{}}%
+\LetLtxMacro{\hspace}{\LWR at nohspace}%
 \LWR at origitem[]%
+\LetLtxMacro{\hspace}{\LWR at hspace}%
 \LWR at orighspace{1in}
 \LWR at htmltag{dt}#1\LWR at htmltag{/dt}%
 \LWR at orignewline%
@@ -4781,8 +4799,6 @@
 \LWR at startpars%
 }
 
-\AtBeginEnvironment{description}{\LWR at descriptionstart}
-
 \newcommand*{\LWR at descriptionstart}{%
 \LWR at stoppars%
 \LWR at pushoneclose{\LWR at depthlist}{\LWR at printclosedescription{}}%
@@ -4791,8 +4807,6 @@
 \let\item\LWR at descitem%
 }
 
-\AtEndEnvironment{description}{\LWR at descriptionend}
-
 \newcommand*{\LWR at descriptionend}{%
 \LWR at stoppars%
 \LWR at closeprevious{\LWR at depthlistitem}%
@@ -4800,12 +4814,14 @@
 \LWR at startpars%
 }
 
-\let\LWR at orignewlist\newlist
-
-\renewcommand*{\newlist}[3]{%
-\LWR at orignewlist{#1}{#2}{#3}%
-\AtBeginEnvironment{#1}{\csuse{LWR@#2start}}%
-\AtEndEnvironment{#1}{\csuse{LWR@#2end}}%
+\newcommand*{\LWR at patchlists}{%
+\LetLtxMacro{\LWR at origitem}{\item}
+\AtBeginEnvironment{itemize}{\LWR at itemizestart}
+\AtEndEnvironment{itemize}{\LWR at itemizeend}
+\AtBeginEnvironment{enumerate}{\LWR at enumeratestart}
+\AtEndEnvironment{enumerate}{\LWR at enumerateend}
+\AtBeginEnvironment{description}{\LWR at descriptionstart}
+\AtEndEnvironment{description}{\LWR at descriptionend}
 }
 
 \end{warpHTML}
@@ -4823,11 +4839,12 @@
 \afterassignment\LWR at fnslone\let\nexttoken= }
 \def\LWR at fnslone{\expandafter\futurelet\LWR at cs\LWR at fnsltwo}
 \def\LWR at fnsltwo{%
-\expandafter\ifx\LWR at cs\@sptoken\let\next=\@BTfnslthree%
+\expandafter\ifx\LWR at cs\@sptoken\let\next=\LWR at fnslthree%
 \else\let\next=\nexttoken\fi\next}
-\def\@BTfnslthree{\afterassignment\LWR at fnslone\let\next= }
+\def\LWR at fnslthree{\afterassignment\LWR at fnslone\let\next= }
 
 \newcommand*{\LWR at getmynexttoken}{%
+\LWR at traceinfo{LWR at getmynexttoken}%
 \LWR at futurenonspacelet\LWR at mynexttoken\LWR at tabledatacolumntag
 }
 
@@ -5402,7 +5419,7 @@
 \StrChar{\LWR at tablecolspec}{\theLWR at tablecolspos}%
 \ifthenelse{\equal{\LWR at getexparray{LWR at midrules}{\theLWR at tablecolspos}}{Y}}{rule}{}%
 "{}}
-\begingroup \let\\\LWR at endofline #5 \endgroup
+\begingroup \LetLtxMacro{\\}{\LWR at endofline} #5 \endgroup
 \LWR at stoppars%
 \global\boolfalse{LWR at intabularmetadata}%
 }%
@@ -5413,8 +5430,10 @@
 
 
 \newbool{LWR at exitingtabular}
+
 \newcommand*{\LWR at tabledatacolumntag}%
 {%
+\LWR at traceinfo{LWR at tabledatacolumntag}%
 \let\mynext\LWR at tabledatasinglecolumntag%
 \ifthenelse{\isequivalentto{\LWR at mynexttoken}{\end}}%
 {\booltrue{LWR at exitingtabular}}{}%
@@ -5434,6 +5453,8 @@
 {\let\mynext\LWR at donothing}{}%
 \ifthenelse{\isequivalentto{\LWR at mynexttoken}{\cmidrule}}%
 {\let\mynext\LWR at donothing}{}%
+\ifthenelse{\isequivalentto{\LWR at mynexttoken}{\specialrule}}%
+{\let\mynext\LWR at donothing}{}%
 \ifthenelse{\isequivalentto{\LWR at mynexttoken}{\cline}}%
 {\let\mynext\LWR at donothing}{}%
 \ifthenelse{\isequivalentto{\LWR at mynexttoken}{\bottomrule}}%
@@ -5455,7 +5476,13 @@
 
 
 \begin{warpHTML}
-
+\newcommand*{\LWR at origtoprule}[1]{\hline}
+\newcommand*{\LWR at origmidrule}[1]{\hline}
+\LetLtxMacro\LWR at origcmidrule\cline
+\newcommand*{\LWR at origbottomrule}[1]{\hline}
+\newcommand*{\LWR at origaddlinespace}[1][]{}
+\newcommand*{\LWR at origmorecmidrules}{}
+\newcommand*{\LWR at origspecialrule}[3]{\hline}
 \StartDefiningTabulars
 
 \newenvironment*{LWR at tabular}[2][]
@@ -5473,29 +5500,34 @@
 \LWR at stoppars%
 \setcounter{LWR at tablecolspos}{1}%
 \LWR at clearmidrules%
-\let\\\LWR at tabularendofline%
+\LetLtxMacro{\\}{\LWR at tabularendofline}%
+\LWR at traceinfo{LWR at tabular: redefining macros}%
 \renewcommand*{\hline}{\LWR at domidrule\LWR at getmynexttoken}%
 
-\newcommand*{\midrule}{\LWR at domidrule\LWR at getmynexttoken}%
-
-\NewDocumentCommand{\cmidrule}{o d() m}%
-{\LWR at docmidrule[##1](##2){##3}\LWR at getmynexttoken}%
-
 \RenewDocumentCommand{\cline}{m}%
 {\LWR at docmidrule{##1}\LWR at getmynexttoken}%
 
-\newcommand*{\toprule}{\LWR at dotbrule\LWR at getmynexttoken}%
+\DeclareDocumentCommand{\toprule}{o}{\LWR at dotbrule\LWR at getmynexttoken}%
 
-\newcommand*{\bottomrule}{\LWR at dotbrule\LWR at getmynexttoken}%
-\let\multicolumn\LWR at tabledatamulticolumntag%
-\let\multirow\LWR at tabledatamultirowtag%
+\DeclareDocumentCommand{\midrule}{o}{\LWR at domidrule\LWR at getmynexttoken}%
+
+\DeclareDocumentCommand{\cmidrule}{o d() m}%
+{\LWR at docmidrule[##1](##2){##3}\LWR at getmynexttoken}%
+
+\DeclareDocumentCommand{\bottomrule}{o}{\LWR at dotbrule\LWR at getmynexttoken}%
+\DeclareDocumentCommand{\addlinespace}{o}{}
+\DeclareDocumentCommand{\morecmidrules}{}{}
+\DeclareDocumentCommand{\specialrule}{m m m}{\LWR at domidrule\LWR at getmynexttoken}
+\LetLtxMacro{\multicolumn}{\LWR at tabledatamulticolumntag}%
+\LetLtxMacro{\multirow}{\LWR at tabledatamultirowtag}%
 \renewcommand*{\mrowcell}{\global\booltrue{LWR at skippingmrowcell}}%
-\let\caption\LWR at longtabledatacaptiontag%
+\LetLtxMacro{\caption}{\LWR at longtabledatacaptiontag}%
 \global\boolfalse{LWR at tableparcell}%
 \global\boolfalse{LWR at skippingmrowcell}%
 \global\boolfalse{LWR at skipatbang}%
 \StartDefiningTabulars%
 \protected\gdef&{\LWR at tabularampersand}%
+\LWR at traceinfo{LWR at tabular: about to LWR at getmynexttoken}%
 \LWR at getmynexttoken%
 }%
 {%
@@ -5702,12 +5734,14 @@
 \LWR at ensuredoingapar%
 }
 
-\newcommand{\url}{%
+\newcommand{\LWR at urla}{%
 \LWR at ensuredoingapar%
 \begingroup\catcode`\_=12
 \LWR at urlb%
 }
 
+\let\url\LWR at urla
+
 \newcommand*{\LWR at subinlineimage}[5][]{%
 \ifthenelse{\equal{#1}{}}%
 {\LWR at htmltag{img src="#3.#4" alt="#3" style="#5" class="#2"{}}}%
@@ -6097,13 +6131,13 @@
 \newcounter{LWR at externalfilecnt}
 
 
-\let\LWR at origdollar=$
-\let\LWR at secondorigdollar=$% balance for editor syntax highlighting
+\LetLtxMacro\LWR at origdollar$
+\LetLtxMacro\LWR at secondorigdollar$% balance for editor syntax highlighting
 
-\let\LWR at origopenparen\(
-\let\LWR at origcloseparen\)
-\let\LWR at origopenbracket\[
-\let\LWR at origclosebracket\]
+\LetLtxMacro\LWR at origopenparen\(
+\LetLtxMacro\LWR at origcloseparen\)
+\LetLtxMacro\LWR at origopenbracket\[
+\LetLtxMacro\LWR at origclosebracket\]
 
 \begingroup
 \catcode`\$=\active%
@@ -6122,7 +6156,7 @@
 }
 }%
 
-\gdef\LWR at singledollar#1${%
+\gdef\LWR at subsingledollar#1{%
 \ifbool{mathjax}%
 {\textbackslash(\LWR at HTMLsanitize{#1}\textbackslash)}
 {% not mathjax
@@ -6131,13 +6165,25 @@
 \LWR at origdollar#1\LWR at origdollar%
 \end{lateximage}%
 }%
-}%
+}
 
+\gdef\LWR at singledollar#1${%
+\LWR at subsingledollar{#1}%
+}
+
 \gdef\(#1\){$#1$}
 \gdef\[#1\]{$$#1$$}
 
 \endgroup
 
+
+\let\LWR at orig@ensuredmath\@ensuredmath
+
+\newcommand*{\LWR at ensuredmath}[1]{%
+\LWR at traceinfo{@ensuredmath: page \thepage: \detokenize{#1}}%
+\LWR at subsingledollar{#1}%
+}
+
 \let\math\relax
 \let\endmath\relax
 \let\displaymath\relax
@@ -6146,12 +6192,10 @@
 \NewEnviron{math}{\expandafter\(\BODY\)}
 \NewEnviron{displaymath}{\expandafter\[\BODY\]\@ignoretrue}
 
-\AtBeginDocument{\catcode`\$=\active}
-
 \newcounter{LWR at nextequation}
 \newcommand*{\LWR at syncmathjax}{%
 \ifcsdef{thechapter}{
-\BlockClassSingle{hidden}{
+\InlineClass{hidden}{
 \textbackslash(
 \textbackslash{}seteqsection \{\thechapter\}
 \textbackslash)
@@ -6158,12 +6202,11 @@
 }
 }
 {}% not using chapters
-
 \ifthenelse{\cnttest{\value{equation}}>0}
 {
 \setcounter{LWR at nextequation}{\value{equation}}
 \addtocounter{LWR at nextequation}{1}
-\BlockClassSingle{hidden}{
+\InlineClass{hidden}{
 \textbackslash(
 \textbackslash{}seteqnumber \{\arabic{LWR at nextequation}\}
 \textbackslash)
@@ -6171,16 +6214,32 @@
 }{}% not eq > 1
 }
 
-\newcommand*{\LWR at restoremathlatexformatting}{%
-\let\hspace\LWR at orighspace%
-\let\rule\LWR at origrule%
+\newcommand*{\LWR at restoreorigformatting}{%
+\LetLtxMacro{\hspace}{\LWR at orighspace}%
+\LetLtxMacro\rule\LWR at origrule%
 \let\,\LWR at origcomma% disable HTML short unbreakable space
-\let\textit\LWR at origtextit%
-\let\textbf\LWR at origtextbf%
-\let\texttt\LWR at origtexttt%
-\let\textsc\LWR at origtextsc%
-\let\textsf\LWR at origtextsf%
-\let\textrm\LWR at origtextrm%
+\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}%
+\LetLtxMacro{\bfseries}{\LWR at origbfseries}%
+\LetLtxMacro{\mdseries}{\LWR at origmdseries}%
+\LetLtxMacro{\upshape}{\LWR at origupshape}%
+\LetLtxMacro{\slshape}{\LWR at origslshape}%
+\LetLtxMacro{\scshape}{\LWR at origscshape}%
+\LetLtxMacro{\itshape}{\LWR at origitshape}%
+\LetLtxMacro{\em}{\LWR at origem}%
+\LetLtxMacro{\normalfont}{\LWR at orignormalfont}%
 \renewcommand*{\thefootnote}{\fnsymbol{footnote}}%
 \let\textsuperscript\LWR at origtextsuperscript%
 \let\textsubscript\LWR at origtextsubscript%
@@ -6188,6 +6247,29 @@
 \let\enskip\LWR at origenskip%
 \let\quad\LWR at origquad%
 \let\qquad\LWR at origqquad%
+\LetLtxMacro{\tabular}{\LWR at origtabular}%
+\LetLtxMacro{\endtabular}{\LWR at origendtabular}%
+\LetLtxMacro\toprule\LWR at origtoprule%
+\LetLtxMacro\midrule\LWR at origmidrule%
+\LetLtxMacro\cmidrule\LWR at origcmidrule%
+\LetLtxMacro\bottomrule\LWR at origbottomrule%
+\LetLtxMacro\addlinespace\LWR at origaddlinespace%
+\LetLtxMacro\morecmidrules\LWR at origmorecmidrules%
+\LetLtxMacro\specialrule\LWR at origspecialrule%
+\let\newline\LWR at orignewline%
+\LetLtxMacro{\raisebox}{\LWR at origraisebox}%
+\LetLtxMacro{\scalebox}{\LWR at origscalebox}%
+\LetLtxMacro{\rotatebox}{\LWR at origrotatebox}%
+\let\reflectbox\LWR at origreflectbox%
+\let\framebox\LWR at origframebox%
+\let\makebox\LWR at origmakebox%
+\let\fbox\LWR at origfbox%
+\let\fboxBlock\LWR at origfbox%
+\LetLtxMacro{\fminipage}{\LWR at fminipageprint}%
+\LetLtxMacro{\endfminipage}{\endLWR at fminipageprint}%
+\LetLtxMacro{\minipage}{\LWR at origminipage}%
+\let\endminipage\LWR at endminipage%
+\LetLtxMacro{\parbox}{\LWR at origparbox}%
 }
 
 \NewDocumentCommand{\LWR at hidelatexequation}{m +m}{%
@@ -6196,7 +6278,7 @@
 
 \begingroup
 \csuse{LWR at orig#1}
-\LWR at restoremathlatexformatting
+\LWR at restoreorigformatting
 #2
 \csuse{LWR at origend#1}
 \endgroup
@@ -6206,11 +6288,11 @@
 }
 
 \NewDocumentCommand{\LWR at addmathjax}{m +m}{%
-
+\LWR at origtilde\LWR at orignewline
 \textbackslash{}begin\{#1\}
 \LWR at HTMLsanitizeexpand{\detokenize\expandafter{#2}}
 \textbackslash{}end\{#1\}
-
+\LWR at orignewline
 }
 
 \let\LWR at origequation\equation
@@ -6257,11 +6339,11 @@
 
 \newcommand*{\LWR at beginhideamsmath}{
 \LWR at stoppars
-
+\LWR at origtilde\LWR at orignewline
 \LWR at htmlopencomment
 
 \begingroup
-\LWR at restoremathlatexformatting
+\LWR at restoreorigformatting
 }
 
 \newcommand*{\LWR at endhideamsmath}{
@@ -6268,11 +6350,58 @@
 \endgroup
 
 \LWR at htmlclosecomment
-
+\LWR at orignewline
 \LWR at startpars
 }
 
 
+\let\LWR at origeqnarray\eqnarray
+\let\LWR at origendeqnarray\endeqnarray
+\newbool{LWR at numbereqnarray}
+\booltrue{LWR at numbereqnarray}
+\newcommand{\LWR at eqnarrayfactor}{%
+\ifbool{mathjax}
+{
+\LWR at syncmathjax
+\boolfalse{LWR at amsmultline}
+\ifbool{LWR at numbereqnarray}
+{
+\LWR at beginhideamsmath
+\LWR at origeqnarray
+\BODY
+\LWR at origendeqnarray
+\LWR at endhideamsmath
+\LWR at addmathjax{eqnarray}{\BODY}
+}{% not LWR at numbereqnarray
+\LWR at addmathjax{eqnarray*}{\BODY}
+}% LWR at numbereqnarray
+}% mathjax
+{% not mathjax
+\ifbool{LWR at numbereqnarray}
+{
+\begin{lateximage}[\LWR at addmathjax{eqnarray}{\BODY}]
+\LWR at origeqnarray
+\BODY
+\LWR at origendeqnarray
+\end{lateximage}
+}{% not LWR at numbereqnarray
+\begin{lateximage}[\LWR at addmathjax{eqnarray*}{\BODY}]
+\LWR at origeqnarray
+\BODY
+\nonumber
+\LWR at origendeqnarray
+\end{lateximage}
+}% LWR at numbereqnarray
+}% not mathjax
+\booltrue{LWR at numbereqnarray}
+}
+\RenewEnviron{eqnarray}
+{%
+
+\LWR at eqnarrayfactor
+
+}
+\csgpreto{eqnarray*}{\boolfalse{LWR at numbereqnarray}}
 \BeforeBeginEnvironment{multline}{
 
 \ifbool{mathjax}
@@ -6526,6 +6655,8 @@
 \LWR at strresult%
 }
 
+\catcode`\$=\active%
+
 \NewDocumentEnvironment{lateximage}{O{image}}{%
 \LWR at traceinfo{lateximage: starting on page \arabic{page}}%
 \ifthenelse{\cnttest{\value{LWR at lateximagedepth}}{>}{0}}%
@@ -6543,35 +6674,33 @@
 \LWR at traceinfo{lateximage: LWR at LIpage is \arabic{LWR at LIpage}}%
 \LWR at htmltag{span id="lateximage\arabic{LWR at lateximagenumber}" %
 class="lateximagesource"{}} \LWR at orignewline
+\LWR at traceinfo{lateximage: about to write to lateximages.txt}%
 \immediate\write\LWR at file{|\theLWR at LIpage|\theLWR at externalfilecnt|}%
+\LWR at traceinfo{lateximage: about to create open comment}%
 \LWR at htmlopencomment%
 \addtocounter{LWR at lateximagedepth}{1}%
+\LWR at traceinfo{lateximage: about to create new page}%
 \LWR at orignewpage%
+\LWR at traceinfo{lateximage: about to create minipage}%
 \LWR at origminipage{6in}%
 \csuse{LWR at orig\LateximageFontSizeName}%
-\let\hspace\LWR at orighspace%
-\let\rule\LWR at origrule%
-\let\,\LWR at origcomma% disable HTML short unbreakable space
-\let\textit\LWR at origtextit%
-\let\textbf\LWR at origtextbf%
-\let\texttt\LWR at origtexttt%
-\let\textsc\LWR at origtextsc%
-\let\textsf\LWR at origtextsf%
-\let\textrm\LWR at origtextrm%
-\renewcommand*{\thefootnote}{\fnsymbol{footnote}}%
-\let\textsuperscript\LWR at origtextsuperscript%
-\let\textsubscript\LWR at origtextsubscript%
-\let~\LWR at origtilde%
-\let\enskip\LWR at origenskip%
-\let\quad\LWR at origquad%
-\let\qquad\LWR at origqquad%
-\let\tabular\LWR at origtabular%
-\let\endtabular\LWR at origendtabular%
-\let\newline\LWR at orignewline%
+\LWR at traceinfo{lateximage: about to temporarily restore formatting}%
+\LWR at restoreorigformatting%
+\LWR at traceinfo{lateximage: about to create label}%
 \LWR at origlabel{LWRlateximage\arabic{LWR at lateximagenumber}}%
+\LWR at traceinfo{lateximage: finished creating the label}%
+\LetLtxMacro$\LWR at origdollar%
+\catcode`\$=3% math shift
+\LetLtxMacro\(\LWR at origopenparen%
+\LetLtxMacro\)\LWR at origcloseparen%
+\LetLtxMacro\[\LWR at origopenbracket%
+\LetLtxMacro\]\LWR at origclosebracket%
+\let\@ensuredmath\LWR at orig@ensuredmath%
 }% end of outer-most lateximage
+\LWR at traceinfo{lateximage: finished start of environment}%
 }% end of \begin{lateximage}
 {% start of \end{lateximage}
+\LWR at traceinfo{lateximage: starting end of environment}%
 \ifthenelse{\cnttest{\value{LWR at lateximagedepth}}{>}{1}}%
 {%
 \addtocounter{LWR at lateximagedepth}{-1}%
@@ -6603,11 +6732,13 @@
 }{}%
 \addtocounter{LWR at lateximagedepth}{-1}%
 }% end of outer-most lateximage
-\LWR at traceinfo{lateximage: done}
+\LWR at traceinfo{lateximage: done}%
 }%
+\catcode`\$=3% math shift
 \end{warpHTML}
+
 \begin{warpprint}
-\newenvironment{lateximage}[1][]{\minipage{\linewidth}}{\endminipage}
+\newenvironment{lateximage}[1][]{}{}
 \end{warpprint}
 
 
@@ -6890,6 +7021,8 @@
 \define at key{krotbox}{x}{}
 \define at key{krotbox}{y}{}
 \define at key{krotbox}{units}{}
+\LetLtxMacro\LWR at origrotatebox\rotatebox
+
 \NewDocumentCommand{\LWR at rotatebox}{O{} m +m}{%
 \renewcommand*{\LWR at rotboxorigin}{}
 \setkeys{krotbox}{#1}%
@@ -6906,6 +7039,8 @@
 \end{LWR at nestspan}%
 }
 
+\LetLtxMacro\LWR at origscalebox\scalebox
+
 \NewDocumentCommand{\LWR at scalebox}{m o m}{%
 \LWR at htmltagc{span style="display: inline-block; %
 \LWR at scalestyle{-ms-}{#1}{\IfNoValueTF{#2}{#1}{#2}} %
@@ -6918,6 +7053,8 @@
 \end{LWR at nestspan}%
 }
 
+\let\LWR at origreflectbox\reflectbox
+
 \newcommand{\LWR at reflectbox}[1]{\LWR at scalebox{-1}[1]{#1}}
 
 \end{warpHTML}
@@ -6937,6 +7074,7 @@
 \RequirePackage{cleveref}
 }
 \AfterEndPreamble{
+\LWR at traceinfo{Patching cleveref.}
 
 
 
@@ -6971,10 +7109,7 @@
 
 \begin{warpHTML}
 
-\BeforeBeginEnvironment{picture}{%
-\lateximage%
-\let\makebox\LWR at origmakebox%
-}
+\BeforeBeginEnvironment{picture}{\lateximage}
 
 \AfterEndEnvironment{picture}{\endlateximage}
 
@@ -6989,8 +7124,6 @@
 
 \newlength{\LWR at minipagewidth}
 \newlength{\LWR at minipageheight}
-\let\LWR at origminipage\minipage
-\let\LWR at origendminipage\endminipage
 \def\LWR at endminipage{%
     \par
     \unskip
@@ -7032,7 +7165,6 @@
 \boolfalse{LWR at minipagethispar}
 \RenewDocumentEnvironment{minipage}{O{t} o O{t} m}
 {%
-\LWR at traceinfo{starting minipage of width #4}%
 \uselengthunit{in}%
 \setlength{\LWR at minipagewidth}{#4}%
 \ifthenelse{\cnttest{\value{LWR at minipagedepth}}{=}{0}}{%
@@ -7094,18 +7226,40 @@
 #5
 \end{minipage}
 }
-\let\LWR at origmakebox\makebox
+\LetLtxMacro\LWR at origmakebox\makebox
 
-\RenewDocumentCommand{\makebox}{o o m}{%
-\mbox{#3}
+\RenewDocumentCommand{\makebox}{d() o o m}{%
+\mbox{#4}
 }
+\LetLtxMacro\LWR at origframebox\framebox
+
 \RenewDocumentCommand{\framebox}{o o m}{%
 \fbox{#3}
 }
 \let\LWR at origfbox\fbox
-\renewcommand*{\fbox}[1]{%
-\InlineClass{framebox}{#1}%
+
+\renewcommand{\fbox}[1]{%
+\LWR at htmltagc{span class="framebox"}%
+\begin{LWR at nestspan}%
+#1
+\LWR at htmltagc{/span}%
+\end{LWR at nestspan}%
 }
+
+\newcommand{\fboxBlock}[1]{%
+\begin{BlockClass}{framed}
+#1
+\end{BlockClass}
+}
+
+\NewDocumentEnvironment{fminipage}{O{t} o O{t} m}
+{%
+\setlength{\LWR at tempwidth}{#4}
+\begin{BlockClass}[width:\rndprintlength{\LWR at tempwidth};]{framed}%
+}
+{\end{BlockClass}}
+\LetLtxMacro{\LWR at origraisebox}{\raisebox}
+
 \RenewDocumentCommand{\raisebox}{m o o m}{%
 #4%
 }
@@ -7112,29 +7266,139 @@
 
 \end{warpHTML}
 
+\begin{warpall}
 
+\newsavebox{\LWR at fminipagebox}
+
+\NewDocumentEnvironment{LWR at fminipageprint}{O{t} o O{t} m}
+{%
+\IfValueTF{#2}%
+{\minipage[#1][#2][#3]{#4}}%
+{\minipage[#3]{#4}}%
+\begin{lrbox}{\LWR at fminipagebox}%
+\IfValueTF{#2}%
+{\minipage[#1][#2][#3]{\linewidth-2\fboxsep-2\fboxrule}}%
+{\minipage[#3]{\linewidth-2\fboxsep-2\fboxrule}}%
+}
+{%
+\endminipage%
+\end{lrbox}%
+\fbox{\usebox{\LWR at fminipagebox}}%
+\endminipage%
+}
+
+\end{warpall}
+
+\begin{warpprint}
+
+\let\fboxBlock\fbox
+
+\LetLtxMacro{\fminipage}{\LWR at fminipageprint}
+\LetLtxMacro{\endfminipage}{\endLWR at fminipageprint}
+
+\end{warpprint}
+
+
 \begin{warpHTML}
 
-\renewcommand{\emph}[1]{\LWR at htmlspan{em}{#1}}
 
-\renewcommand{\textmd}[1]{\LWR at htmlspan{textmd}{#1}}
+\DeclareRobustCommand{\LWR at HTMLemph}[1]{\LWR at htmlspan{em}{#1}}
+\DeclareRobustCommand{\LWR at nullemph}[1]{#1}
+\LetLtxMacro{\emph}{\LWR at HTMLemph}
 
-\renewcommand{\textbf}[1]{\LWR at htmlspan{b}{#1}}
+\DeclareRobustCommand{\LWR at HTMLtextmd}[1]{\LWR at htmlspan{textmd}{#1}}
+\DeclareRobustCommand{\LWR at nulltextmd}[1]{#1}
+\LetLtxMacro{\textmd}{\LWR at HTMLtextmd}
 
-\renewcommand{\textrm}[1]{\InlineClass{textrm}{#1}}
+\DeclareRobustCommand{\LWR at HTMLtextbf}[1]{\LWR at htmlspan{b}{#1}}
+\DeclareRobustCommand{\LWR at nulltextbf}[1]{#1}
+\LetLtxMacro{\textbf}{\LWR at HTMLtextbf}
 
-\renewcommand{\textsf}[1]{\InlineClass{textsf}{#1}}
+\DeclareRobustCommand{\LWR at HTMLtextrm}[1]{\LWR at htmlspan{textrm}{#1}}
+\DeclareRobustCommand{\LWR at nulltextrm}[1]{#1}
+\LetLtxMacro{\textrm}{\LWR at HTMLtextrm}
 
-\renewcommand{\texttt}[1]{\LWR at htmlspan{kbd}{#1}}
+\DeclareRobustCommand{\LWR at HTMLtextsf}[1]{\LWR at htmlspan{textsf}{#1}}
+\DeclareRobustCommand{\LWR at nulltextsf}[1]{#1}
+\LetLtxMacro{\textsf}{\LWR at HTMLtextsf}
 
-\renewcommand{\textup}[1]{\InlineClass{textup}{#1}}
+\DeclareRobustCommand{\LWR at HTMLtexttt}[1]{\LWR at htmlspan{kbd}{#1}}
+\DeclareRobustCommand{\LWR at nulltexttt}[1]{#1}
+\LetLtxMacro{\texttt}{\LWR at HTMLtexttt}
 
-\renewcommand{\textit}[1]{\LWR at htmlspan{i}{#1}}
+\DeclareRobustCommand{\LWR at HTMLtextup}[1]{\LWR at htmlspan{textup}{#1}}
+\DeclareRobustCommand{\LWR at nulltextup}[1]{#1}
+\LetLtxMacro{\textup}{\LWR at HTMLtextup}
 
-\renewcommand{\textsc}[1]{\InlineClass{textsc}{#1}}
+\DeclareRobustCommand{\LWR at HTMLtextit}[1]{\LWR at htmlspan{i}{#1}}
+\DeclareRobustCommand{\LWR at nulltextit}[1]{#1}
+\LetLtxMacro{\textit}{\LWR at HTMLtextit}
 
-\renewcommand{\textnormal}[1]{\textmd{\textrm{\textup{#1}}}}
+\DeclareRobustCommand{\LWR at HTMLtextsc}[1]{\LWR at htmlspan{textsc}{#1}}
+\DeclareRobustCommand{\LWR at nulltextsc}[1]{#1}
+\LetLtxMacro{\textsc}{\LWR at HTMLtextsc}
 
+\DeclareRobustCommand{\LWR at HTMLtextsl}[1]{\LWR at htmlspan{testsl}{#1}}
+\DeclareRobustCommand{\LWR at nulltextsl}[1]{#1}
+\LetLtxMacro{\textsl}{\LWR at HTMLtextsl}
+
+\DeclareRobustCommand{\LWR at HTMLtextnormal}[1]{\textmd{\textrm{\textup{#1}}}}
+\DeclareRobustCommand{\LWR at nulltextnormal}[1]{#1}
+\LetLtxMacro{\textnormal}{\LWR at HTMLtextnormal}
+
+\DeclareRobustCommand{\LWR at HTMLrmfamily}[1]{}
+\DeclareRobustCommand{\LWR at HTMLsffamily}[1]{}
+\DeclareRobustCommand{\LWR at HTMLttfamily}[1]{}
+\DeclareRobustCommand{\LWR at HTMLbfseries}[1]{}
+\DeclareRobustCommand{\LWR at HTMLmdseries}[1]{}
+\DeclareRobustCommand{\LWR at HTMLupshape}[1]{}
+\DeclareRobustCommand{\LWR at HTMLslshape}[1]{}
+\DeclareRobustCommand{\LWR at HTMLscshape}[1]{}
+\DeclareRobustCommand{\LWR at HTMLitshape}[1]{}
+\DeclareRobustCommand{\LWR at HTMLem}[1]{}
+\DeclareRobustCommand{\LWR at nullrmfamily}[1]{}
+\DeclareRobustCommand{\LWR at nullsffamily}[1]{}
+\DeclareRobustCommand{\LWR at nullttfamily}[1]{}
+\DeclareRobustCommand{\LWR at nullbfseries}[1]{}
+\DeclareRobustCommand{\LWR at nullmdseries}[1]{}
+\DeclareRobustCommand{\LWR at nullupshape}[1]{}
+\DeclareRobustCommand{\LWR at nullslshape}[1]{}
+\DeclareRobustCommand{\LWR at nullscshape}[1]{}
+\DeclareRobustCommand{\LWR at nullitshape}[1]{}
+\DeclareRobustCommand{\LWR at nullem}[1]{}
+
+\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}%
+\renewcommand*{\HTMLunicode}[1]{}%
+\renewcommand*{\HTMLentity}[1]{}%
+\renewcommand*{\&}{and}%
+\renewcommand{\textsuperscript}[1]{##1}%
+\renewcommand{\textsubscript}[1]{##1}%
+\RenewDocumentCommand{\LWR at htmlspanclass}{o m +m}{##3}%
+\DeclareExpandableDocumentCommand{\InlineClass}{o m +m}{##3}%
+}
+
 \renewcommand*{\mdseries}{}
 
 \renewcommand*{\bfseries}{}
@@ -7223,7 +7487,7 @@
 \newcommand*{\LWR at newlinebr}{\unskip\LWR at htmltag{br /}\LWR at orignewline}%
 \let\newline\LWR at newlinebr
 
-\let\LWR at origendofline\\
+\LetLtxMacro\LWR at origendofline\\
 \NewDocumentCommand{\LWR at endofline}{s o}
 {%
 \newline%
@@ -7282,8 +7546,10 @@
 \LWR at minipagestartpars%
 }%
 }
-\let\hspace\LWR at hspace
+\NewDocumentCommand{\LWR at nohspace}{s m}{}
 
+\LetLtxMacro{\hspace}{\LWR at hspace}
+
 \NewDocumentCommand{\LWR at vspace}{s m}{}
 \let\vspace\LWR at vspace
 
@@ -7337,7 +7603,7 @@
 \LWR at minipagestartpars%
 }% non-zero width
 }
-\let\rule\LWR at rule
+\renewcommand{\rule}{\LWR at rule}
 
 \end{warpHTML}
 



More information about the tex-live-commits mailing list