texlive[50535] trunk: lwarp (22mar19)

commits+karl at tug.org commits+karl at tug.org
Fri Mar 22 21:50:20 CET 2019


Revision: 50535
          http://tug.org/svn/texlive?view=revision&revision=50535
Author:   karl
Date:     2019-03-22 21:50:19 +0100 (Fri, 22 Mar 2019)
Log Message:
-----------
lwarp (22mar19)

Modified Paths:
--------------
    trunk/Build/source/texk/texlive/linked_scripts/lwarp/lwarpmk.lua
    trunk/Build/source/texk/texlive/linked_scripts/tlshell/tlshell.tcl
    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-amsthm.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-array.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-graphics.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-keyfloat.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-longtable.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-multirow.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-rotating.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-supertabular.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-tabularx.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-tabulary.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-xtab.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp.sty

Added Paths:
-----------
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-ctable.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-eqlist.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-eqparbox.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-ftcap.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-listliketab.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-minitoc.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-tocdata.sty
    trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-topcapt.sty

Modified: trunk/Build/source/texk/texlive/linked_scripts/lwarp/lwarpmk.lua
===================================================================
--- trunk/Build/source/texk/texlive/linked_scripts/lwarp/lwarpmk.lua	2019-03-22 20:49:29 UTC (rev 50534)
+++ trunk/Build/source/texk/texlive/linked_scripts/lwarp/lwarpmk.lua	2019-03-22 20:50:19 UTC (rev 50535)
@@ -2,7 +2,7 @@
 
 -- Copyright 2016-2018 Brian Dunn
 
-printversion = "v0.68"
+printversion = "v0.69"
 requiredconfversion = "2" -- also at *lwarpmk.conf
 
 function printhelp ()

Modified: trunk/Build/source/texk/texlive/linked_scripts/tlshell/tlshell.tcl
===================================================================
--- trunk/Build/source/texk/texlive/linked_scripts/tlshell/tlshell.tcl	2019-03-22 20:49:29 UTC (rev 50534)
+++ trunk/Build/source/texk/texlive/linked_scripts/tlshell/tlshell.tcl	2019-03-22 20:50:19 UTC (rev 50535)
@@ -1515,7 +1515,7 @@
     set ans [tk_messageBox -type okcancel -icon info -message \
         [string cat [__ "If update fails, try on a command-line:"] \
            "\ntlmgr update --self\n" \
-             [__ "Use an admininstative command prompt for an admin install."]]]
+             [__ "Use an administrative command prompt for an admin install."]]]
     if {$ans eq "cancel"} return
   }
   run_cmd "update --self" 1

Modified: trunk/Master/texmf-dist/doc/latex/lwarp/README.txt
===================================================================
--- trunk/Master/texmf-dist/doc/latex/lwarp/README.txt	2019-03-22 20:49:29 UTC (rev 50534)
+++ trunk/Master/texmf-dist/doc/latex/lwarp/README.txt	2019-03-22 20:50:19 UTC (rev 50535)
@@ -1,5 +1,5 @@
 
-LaTeX lwarp package v0.68   README.txt
+LaTeX lwarp package v0.69   README.txt
 
 Files included are:
 

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

Modified: trunk/Master/texmf-dist/scripts/lwarp/lwarpmk.lua
===================================================================
--- trunk/Master/texmf-dist/scripts/lwarp/lwarpmk.lua	2019-03-22 20:49:29 UTC (rev 50534)
+++ trunk/Master/texmf-dist/scripts/lwarp/lwarpmk.lua	2019-03-22 20:50:19 UTC (rev 50535)
@@ -2,7 +2,7 @@
 
 -- Copyright 2016-2018 Brian Dunn
 
-printversion = "v0.68"
+printversion = "v0.69"
 requiredconfversion = "2" -- also at *lwarpmk.conf
 
 function printhelp ()

Modified: trunk/Master/texmf-dist/source/latex/lwarp/lwarp.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/lwarp/lwarp.dtx	2019-03-22 20:49:29 UTC (rev 50534)
+++ trunk/Master/texmf-dist/source/latex/lwarp/lwarp.dtx	2019-03-22 20:50:19 UTC (rev 50535)
@@ -16,7 +16,7 @@
 % \iffalse
 %<package>\NeedsTeXFormat{LaTeX2e}[1999/12/01]
 %<package>\ProvidesPackage{lwarp}
-%<package>    [2019/03/05 v0.68  Allows LaTeX to directly produce HTML5 output.]
+%<package>    [2019/03/21 v0.69  Allows LaTeX to directly produce HTML5 output.]
 %
 %<*driver>
 \documentclass{ltxdoc}
@@ -756,7 +756,7 @@
 Some \pkg{textcomp} symbols do not have Unicode equivalents, and thus
 are not supported.
 
-Many \pkg{textcomp} symbols are not supported by many fonts.
+Many \pkg{textcomp} symbols are not supported by many system \Slash browser fonts.
 \trouble[missing symbols]{textcomp=\pkg{textcomp}>missing symbols}
 \trouble{font>missing symbols}
 In the \CSS\ try referencing fonts which are more complete, but expect to see gaps in coverage.
@@ -892,8 +892,11 @@
 }
 
 \newcommand{\limitsmanyfootbigfoot}{%
+Verbatim footnotes are not yet supported.
+\margintag{\pkg{bigfoot}, \pkg{manyfoot}}
+\watchout[verbatim]
+
 If using the \pkg{bigfoot} package, and possibly also \pkg{manyfoot},
-\margintag{\pkg{bigfoot}, \pkg{manyfoot}}
 \trouble{bigfoot=\pkg{bigfoot}}
 \trouble{manyfoot=\pkg{manyfoot}}
 problems may occur with counter allocation because \pkg{lwarp} uses many counters,
@@ -1280,7 +1283,8 @@
 (Dollar math works, but appears in the filename.)
 Or, use a short name for the \TOC\ entry without the math, or use \cs{texorpdfstring}:
 \begin{sourcedisplay}
-\cs{section}\{A math \cs{texorpdfstring}\{\$1+2=3\$\}\{text description\} name\}
+\cs{section}\{A name with math \\
+    \fqquad \cs{texorpdfstring}\{\$1+2=3\$\}\{text description\}\}
 \end{sourcedisplay}
 }
 
@@ -1687,30 +1691,6 @@
 
 \item [Cell contents:] \
     \begin{itemize}
-    \item For \pkg{multirow}, insert \cs{mrowcell} into any empty multi-row cells.
-        \trouble[\cs{multirow}]{tabular>multirow=\pkg{multirow}}
-        \trouble{multirow=\pkg{multirow}}
-        This will be a null function for the print output, and is a placeholder for
-        parsing the table for \HTML\ output.
-        \begin{sourcedisplay}
-        \small
-        \begin{tabular}{lll}
-        \dots\ \& & \cs{multirow}\{2\}\{.5in\}\{text\} & \&\ \dots \\
-        \dots\ \& & \textred{\cs{mrowcell}} & \&\ \dots \\
-        \end{tabular}
-        \end{sourcedisplay}
-        Note that recent versions of \pkg{multirow} include a new optional
-        \margintag{\optn{vposn}}
-        \optn{vposn} argument.
-    \item The \pkg{multirow} documentation regarding colored cells recommends using
-        a negative number of rows.  This will not work with \pkg{lwarp}, so
-        \cs{warpprintonly} and \cs{warpHTMLonly} must be used to make versions for
-        print and \HTML.
-    \item
-        See \cref{sec:multicolumnmultirow} for \cs{multicolumrow}.
-
-        \limitsmulticolumnrow
-
     \item Using a custom macro inside a tabular data cell
         \trouble[macro in a table]{tabular>macro inside}
         \trouble{tabular>row corruption}
@@ -1792,10 +1772,6 @@
         Keep the \cs{endfirsthead} row unchanged, as it is still relevent to \HTML\ output.
     \end{itemize}
 
-\item[\pkg{colortbl}:] \
-
-    \limitscolortbl
-
 \needspace{3\baselineskip}
 \item[Other:] \
     \begin{itemize}
@@ -1821,42 +1797,65 @@
 \end{description}
 }
 
-\newcommand{\limitsmulticolumnrow}{%
-\pkg{lwarp} does not support
-\trouble[\cs{multicolumn} \& \cs{multirow}]{multirow=\cs{multirow} and \cs{multicolumn}}
-directly combining \cs{multicolumn} and \cs{multirow}.
-Use \cs{multicolumnrow} instead.
-To create a 2 column, 3 row cell:
-\begin{sourcedisplay}
-\cs{multicolumnrow}%
-  \textcolor{blue}{\{2\}\{c\}}%
-  \textgreen{[c]\{3\}[0]\{1in\}[0pt]}\{Text\}
-\end{sourcedisplay}
-The two arguments for \cs{multicolumn} come first, followed by
-the five arguments for \cs{multirow}, many of which are optional,
-followed by the contents.
+\newcommand*{\limitsmultirow}{%
+\begin{itemize}
+    \item Note that recent versions of \pkg{multirow} include a new optional
+        \margintag{\optn{vposn}}
+        \optn{vposn} argument.
+    \item For \pkg{multirow}, insert \cs{mrowcell} into any empty multi-row cells.
+        \margintag{multirow cells}
+        This will be a null function for the print output, and is a placeholder for
+        parsing the table for \HTML\ output.  An error is generated if this is missed.
+        \begin{sourcedisplay}
+        \small
+        \begin{tabular}{lll}
+        \dots\ \& & \cs{multirow}\{2\}\{.5in\}\{text\} & \&\ \dots \\
+        \dots\ \& & \textred{\cs{mrowcell}} & \&\ \dots \\
+        \end{tabular}
+        \end{sourcedisplay}
+    \item The \pkg{multirow} documentation regarding colored cells recommends using
+        \margintag{colored cells}
+        a negative number of rows.  This will not work with \pkg{lwarp}, so
+        \cs{warpprintonly} and \cs{warpHTMLonly} must be used to make versions for
+        print and \HTML.
+    \item
+        See \cref{sec:multicolumnmultirow} for \cs{multicolumrow}.
+        \margintag{with \cs{multicolumn}}
 
-As per \cs{multirow},
-\watchout[skipped cells]
-skipped cells to the right of the \cs{multicolumnrow}
-statement are not included in the source code on the same line.
-On the following lines, \cs{mcolrowcell} must be used for each cell
-\watchout[empty cells]
-of each column and each row to be skipped:
-\begin{sourcedisplay}
-\small
-\begin{tabular}{lll}
-\dots\ \& & \cs{multicolumnrow}\{2\}\{c\}[c]\{3\}[0]\{1in\}[0pt]\{Text\} & \&\ \dots \\
-\dots\ \& & \textred{\cs{mcolrowcell}} \hfill \& \hfill \textred{\cs{mcolrowcell}} & \&\ \dots \\
-\dots\ \& & \textred{\cs{mcolrowcell}} \hfill \& \hfill \textred{\cs{mcolrowcell}} & \&\ \dots \\
-\end{tabular}
-\end{sourcedisplay}
+        \pkg{lwarp} does not support
+        \trouble[\cs{multicolumn} \& \cs{multirow}]{multirow=\cs{multirow} and \cs{multicolumn}}
+        directly combining \cs{multicolumn} and \cs{multirow}.
+        Use \cs{multicolumnrow} instead.
+        To create a 2 column, 3 row cell:
+        \begin{sourcedisplay}
+        \cs{multicolumnrow}%
+        \textcolor{blue}{\{2\}\{c\}}%
+        \textgreen{[c]\{3\}[0]\{1in\}[0pt]}\{Text\}
+        \end{sourcedisplay}
+        The two arguments for \cs{multicolumn} come first, followed by
+        the five arguments for \cs{multirow}, many of which are optional,
+        followed by the contents.
 
-Note that recent versions of \pkg{multirow} include a new optional
-\margintag{\optn{vposn}}
-\optn{vposn} argument.
+        As per \cs{multirow},
+        \watchout[skipped cells]
+        skipped cells to the right of the \cs{multicolumnrow}
+        statement are not included in the source code on the same line.
+        On the following lines, \cs{mcolrowcell} must be used for each cell
+        \watchout[empty cells]
+        of each column and each row to be skipped.
+        An error is generated if this is missed.
+        \begin{sourcedisplay}
+        \small
+        \begin{tabular}{lll}
+        \dots\ \& & \cs{multicolumnrow}\{2\}\{c\}[c]\{3\}[0]\{1in\}[0pt]\{Text\} & \&\ \dots \\
+        \dots\ \& & \textred{\cs{mcolrowcell}} \hfill \& \hfill \textred{\cs{mcolrowcell}} & \&\ \dots \\
+        \dots\ \& & \textred{\cs{mcolrowcell}} \hfill \& \hfill \textred{\cs{mcolrowcell}} & \&\ \dots \\
+        \end{tabular}
+        \end{sourcedisplay}
+\end{itemize}
 }
 
+
 \newcommand{\limitsresumetabular}{%
 When creating a new environment
 \trouble[\env{tabular} inside another environment]{tabular>inside an environment}
@@ -1976,16 +1975,18 @@
 \hrule\smallskip
 \cs{begin}\{tabular\}\{lll\} \\
 \textgreen{<empty>} \& a \& b \textbackslash\textbackslash \\
-\cs{ldelim}\{\textbackslash\{\}\{2\}\{.25in\}[left ] \& c \& d \textbackslash\textbackslash \\
+\cs{ldelim}\{\textbackslash\{\}\{3\}\{.25in\}[left ] \& c \& d \textbackslash\textbackslash \\
 \textred{\cs{mrowcell}} \& e \& f \textbackslash\textbackslash \\
-\textgreen{<empty>} \& g \& h \textbackslash\textbackslash \\
+\textred{\cs{mrowcell}} \& g \& h \textbackslash\textbackslash \\
+\textgreen{<empty>} \& i \& j \textbackslash\textbackslash \\
 \cs{end}\{tabular\}
 \smallskip\hrule
 \begin{tabular}{lll}
-\textgreen{<>} & a & b \\
-\ldelim{\{}{2}{.25in}[left ] & c & d \\
+\textgreen{<->} & a & b \\
+\ldelim{\{}{3}{.25in}[left ] & c & d \\
 \mrowcell & e & f \\
-\textgreen{<>} & g & h \\
+\mrowcell & g & h \\
+\textgreen{<->} & i & j \\
 \end{tabular}
 \hrule
 \end{sourcedisplay}
@@ -1999,7 +2000,15 @@
 \pkg{colortbl} ignores the overhang arguments.
 }
 
+\newcommand{\limitsctable}{%
+Use \cs{StartDefiningTabulars} before one or more \cs{ctable}s,
+\trouble[Misplaced alignment tab character \&]%
+    {Misplaced alignment tab character \&>ctable=\pkg{ctable}}
+and \cs{StopDefiningTabulars} after.  These change the meaning of the
+ampersand \texttt{\&} character.
+}
 
+
 \newcommand{\limitsmakelabel}{%
 While inside a list environment, \pkg{lwarp} nullifies a number of
 \TeX\ horizontal skip and fill commands, allowing the user to define
@@ -2034,10 +2043,7 @@
 \trouble{HTML>corrupted}
 \TeX\ boxes are placed inline and do not allow line breaks, so boxes
 with long contents may overflow the line during \HTML\ conversion.
-This is mostly a problem when the boxes contain objects which themselves
-hold large \HTML\ tags, such as rotation commands with long contents.
-When this object overflows the line, some \HTML\ code will be lost and 
-the page will be corrupted.
+\pkg{lwarp} uses methods which help avoid this problem.
 }
 
 \newcommand{\limitsminipage}{%
@@ -2154,12 +2160,12 @@
 \begin{sourcedisplay}
 \cs{newenvironment}\{FramedVerb\}[1] \% width\\
 \{\\
-\cs{VerbatimEnvironment}\\
-\cs{fminipage}\{\#1\}\\
-\cs{begin}{Verbatim}\\
+\fquad\cs{VerbatimEnvironment}\\
+\fquad\cs{fminipage}\{\#1\}\\
+\fquad\cs{begin}{Verbatim}\\
 \}\{\\
-\cs{end}{Verbatim}\\
-\cs{endfminipage}\\
+\fquad\cs{end}{Verbatim}\\
+\fquad\cs{endfminipage}\\
 \}
 \end{sourcedisplay}
 
@@ -2546,7 +2552,7 @@
 %<*package>
 % \fi
 %
-% \CheckSum{30413}
+% \CheckSum{31088}
 %
 % \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
@@ -2657,6 +2663,7 @@
 % \changes{v0.66}{2019/02/08}{\ 2019/02/08}
 % \changes{v0.67}{2019/02/23}{\ 2019/02/23}
 % \changes{v0.68}{2019/03/05}{\ 2019/03/05}
+% \changes{v0.69}{2019/03/21}{\ 2019/03/21}
 
 
 
@@ -2871,6 +2878,25 @@
 %
 % \begin{description}
 % \needspace{2\baselineskip}
+% \item[v0.69:] Error handling, many fixes, improved \pkg{keyfloat} \Slash \pkg{tocdata}.
+%   \begin{itemize}
+%       \item Fix for \HTML\ corruption of \env{lateximage} displays.
+%       \item \cs{makebox}, \cs{framebox}: Fix for \parg{width,height} arguments.
+%       \item \env{fminipage}: Honors \cs{minipagefullwidth}.
+%       \item \pkg{array}, \pkg{longtable}: Fix for \cs{tabularnewline}.
+%           \margintag{packages}
+%       \item \pkg{tabularx}, \pkg{tabulary}: Fix to require the \pkg{array} package.
+%       \item \pkg{supertabular}, \pkg{xtab}: Fix to clear caption after use.
+%       \item \pkg{graphics}: Added a warning if used the \cs{includegraphics}
+%           \optn{scale} option.
+%       \item \pkg{multirow}: Added an error if didn't use
+%           \cs{mrowcell} or \cs{mcolrowcell} when using \cs{multirow} or
+%           \cs{multicolumnrow}.
+%       \item \pkg{keyfloat}: Updated for v2.00, additional improvements.
+%       \item Added \pkg{ctable}, \pkg{eqlist}, \pkg{eqparbox}, \pkg{ftcap},
+%           \pkg{listliketab}, \pkg{minitoc}, \pkg{tocdata}, \pkg{topcapt}.
+%   \end{itemize}
+% \needspace{2\baselineskip}
 % \item[v0.68:] Error handling, tabulars, footnotes.
 %   \begin{itemize}
 %       \item \prog{lwarpmk}: Improved error handling for image generation if
@@ -4455,8 +4481,9 @@
 %       Tested to work as-is: \pkg{secdot}.\\
 %
 % Table of contents, figures, tables: & Supported, with hyperlinks.
-%   \pkg{multitoc}, \pkg{shorttoc}, \pkg{titletoc},
-%	\pkg{tocbasic}, \pkg{tocbibind}, \pkg{tocloft}, \pkg{tocstyle}. \\
+%   \pkg{minitoc}, \pkg{multitoc}, \pkg{shorttoc}, \pkg{titletoc},
+%	\pkg{tocbasic}, \pkg{tocbibind}, \pkg{tocdata},
+%   \pkg{tocloft}, \pkg{tocstyle}. \\
 %
 % Title page: & \cs{maketitle}, \env{titlepage}, \pkg{authblk}, \pkg{titling}. \\
 %
@@ -4532,17 +4559,19 @@
 % Floats: & Appear where declared.
 %   \pkg{capt-of}, \pkg{caption}, \pkg{cutwin}, 
 %   \pkg{dblfloatfix}, \pkg{endfloat}, \pkg{fix2col}, \pkg{flafter},
-%   \pkg{float}, \pkg{floatflt}, \pkg{floatrow}, \pkg{fltrace}, 
+%   \pkg{float}, \pkg{floatflt}, \pkg{floatrow}, \pkg{fltrace}, \pkg{ftcap},
 %   \pkg{hypcap}, \pkg{keyfloat}, \pkg{morefloats}, \pkg{multicap}, \pkg{newfloat},
 %   \pkg{nonfloat}, \pkg{placeins}, \pkg{rotfloat}, \pkg{stfloats},
 %   \pkg{subcaption}, \pkg{subfig}, \pkg{subfigure}, \pkg{subfloat},
-%   \pkg{trivfloat}, \pkg{wrapfig}. \\
+%   \pkg{topcapt}, \pkg{trivfloat}, \pkg{wrapfig}. \\
 %
 % \midrule
 %
 % Tabular: &
-%   \env{tabular} environment, \pkg{array}, \pkg{arydshln}, \pkg{bigdelim}, \pkg{booktabs},
-%   \pkg{colortbl}, \pkg{diagbox}, \pkg{longtable}, \pkg{ltablex}, \pkg{ltxtable},
+%   \env{tabular} environment, \pkg{array}, \pkg{arydshln},
+%   \pkg{bigdelim}, \pkg{booktabs},
+%   \pkg{colortbl}, \pkg{ctable}, \pkg{diagbox}, \pkg{longtable},
+%   \pkg{ltablex}, \pkg{ltxtable},
 %   \pkg{multirow}, \pkg{supertabular}, \pkg{tabularx}, \pkg{tabulary},
 %   \pkg{threeparttable}, \pkg{threeparttablex}, \pkg{xltabular}, \pkg{xtab}. \\
 %
@@ -4577,7 +4606,8 @@
 % \midrule
 %
 % Lists: & Standard \LaTeX\ environments,
-%	\pkg{enumerate}, \pkg{enumitem}, \pkg{hang}, \pkg{paralist}.\\
+%	\pkg{enumerate}, \pkg{enumitem}, \pkg{eqlist}, \pkg{hang},
+%   \pkg{listliketab}, \pkg{paralist}.\\
 %
 % \midrule
 %
@@ -4584,7 +4614,7 @@
 % Environments: & Standard \LaTeX{} environments. \\
 %
 % \env{minipage}, \cs{parbox}: & Some \HTMLfive-imposed limitations.
-%	Nested minipages are supported. \pkg{pbox}.\\
+%	Nested minipages are supported. \pkg{eqparbox}, \pkg{pbox}.\\
 %
 % Quotations: & \pkg{copyrightbox}, \pkg{csquotes}, \pkg{epigraph},
 %   \pkg{quoting}, \pkg{verse}. \\
@@ -5926,7 +5956,7 @@
 % ^^A      Other image formats may have a file extension.
 %   \item \limitsmathinsectionnames
 %   \item \limitsincludegraphicsscale
-%   \item Possible changes to \env{tabular} environments include
+%   \item Possible changes to \env{tabular} environments include:
 %       |*| columns, \pkg{multirow}, \pkg{longtable}, \pkg{supertabular}, \pkg{xtab},
 %       \pkg{bigdelim}.  See \cref{sec:limitstabular}.
 %   \item Possible option clashes with \pkg{memoir}.  See \cref{sec:limitsmemoir}.
@@ -8547,10 +8577,26 @@
 %
 %
 % \subsection{Tabular}
+%
+% \subsubsection{\env{tabular} environment}
 % \label{sec:limitstabular}
 % \changes{v0.39}{2017/08/30}{Docs: Reorganized tabular discussion.}
 % \limitstabular
 %
+% \subsubsection{\pkg{multirow} package}
+% \gindex{multirow=\pkg{multirow}>mrowcell=\cs{mrowcell} and \cs{mcolrowcell}}
+% \gindex{tabular>multirow=\pkg{multirow} \cs{mrowcell} and \cs{mcolrowcell}}
+% \gindex{mrowcell=\cs{mrowcell}}
+% \gindex{mcolrowcell=\cs{mcolrowcell}}
+% \trouble{multirow=\pkg{multirow}>mrowcell=\cs{mrowcell} and \cs{mcolrowcell}}
+% \trouble{tabular>multirow=\pkg{multirow} \cs{mrowcell} and \cs{mcolrowcell}}
+% \trouble{mrowcell=\cs{mrowcell}}
+% \trouble{mcolrowcell=\cs{mcolrowcell}}
+% \gindex{multicolumn=\cs{multicolumn}>with \cs{multirow}}
+% \gindex{multirow=\cs{multirow}>with \cs{multicolumn}}
+% \gindex{tabular>multicolumn=\cs{multicolumn} with \cs{multirow}}
+% \trouble{tabular>multicolumn=\cs{multicolumn} with \cs{multirow}}
+% \limitsmultirow
 %
 % \subsubsection{\pkg{longtable} package}
 %
@@ -8573,6 +8619,16 @@
 % \DescribePackage{xtab}
 % \limitssupertabular
 %
+% \subsubsection{\pkg{colortbl} package}
+%
+% \DescribePackage{colortbl}
+%     \limitscolortbl
+%
+% \subsubsection{\pkg{ctable} package}
+%   \trouble{ctable=\pkg{ctable}}
+%   \gindex{ctable=\pkg{ctable}}
+%   \limitsctable
+%
 % \subsubsection{\pkg{bigdelim} package}
 %
 % \DescribePackage{bigdelim}
@@ -10355,10 +10411,15 @@
 \@ifpackageloaded{#1}
 {
     \PackageError{lwarp}
-        {Package #1, or one which uses #1, must be loaded after lwarp}
-        {Move \detokenize{\usepackage}{#1} after \detokenize{\usepackage}{lwarp}.
-        Package #1 may also be loaded by something else, which must also be moved
-        after lwarp.}
+        {%
+            Package #1,\MessageBreak
+            or one which uses #1,\MessageBreak
+            must be loaded after lwarp
+        }
+        {Move \detokenize{\usepackage}{#1} after
+        \detokenize{\usepackage}{lwarp}.\MessageBreak
+        Package #1 may also be loaded by something else,\MessageBreak
+        which must also be moved after lwarp.}
 }
 {}
 }
@@ -10449,12 +10510,17 @@
 %    \begin{macrocode}
 \newcommand*{\LWR at loadnever}[2]{%
 \PackageError{lwarp}
-{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.}
+{%
+    Package #1 is not supported\MessageBreak
+    by lwarp's HTML conversion.\MessageBreak
+    Package(s) #2 may be useful instead
 }
+{%
+    Package #1 might conflict with lwarp in some way,\MessageBreak
+    or is superceded by another package.\MessageBreak
+    For a possible alternative, see package(s) #2.
+}
+}
 %    \end{macrocode}
 % \end{macro}
 %
@@ -10488,11 +10554,16 @@
 \newcommand*{\LWR at earlyloadnever}[2]{%
 \@ifpackageloaded{#1}{%
 \PackageError{lwarp}
-{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.}
+{%
+    Package #1 is not supported\MessageBreak
+    by lwarp's HTML conversion.\MessageBreak
+    Package(s) #2 may be useful instead
+}
+{%
+    Package #1 might conflict with lwarp in some way,\MessageBreak
+    or is superceded by another package.\MessageBreak
+    For a possible alternative, see package(s) #2.
+}
 }{}%
 }
 %    \end{macrocode}
@@ -10510,11 +10581,16 @@
 \newcommand*{\LWR at earlyclassloadnever}[2]{%
 \@ifclassloaded{#1}{%
 \PackageError{lwarp}
-{Class #1 is not supported by lwarp's HTML conversion.
-Class(es) #2 may be useful instead}
-{Class #1 might conflict with lwarp in some way,
-or is superceded by another class.
-For a possible alternative, see class(es) #2.}
+{%
+    Class #1 is not supported\MessageBreak
+    by lwarp's HTML conversion.\MessageBreak
+    Class(es) #2 may be useful instead
+}
+{%
+    Class #1 might conflict with lwarp in some way,\MessageBreak
+    or is superceded by another class.\MessageBreak
+    For a possible alternative, see class(es) #2.
+}
 }{}%
 }
 %    \end{macrocode}
@@ -10672,6 +10748,7 @@
 \LWR at loadafter{copyrightbox}
 \LWR at notmemoirloadafter{crop}
 % ctex must be loaded before lwarp
+\LWR at loadafter{ctable}
 \LWR at loadafter{cuted}
 \LWR at loadafter{cutwin}
 \LWR at loadafter{dblfloatfix}
@@ -10698,6 +10775,8 @@
 \LWR at loadafter{epsfig}
 \LWR at loadafter{epstopdf}
 \LWR at loadafter{epstopdf-base}
+\LWR at loadafter{eqlist}
+\LWR at loadafter{eqparbox}
 \LWR at loadafter{errata}
 \LWR at loadafter{eso-pic}
 \LWR at loadafter{eurosym}
@@ -10742,6 +10821,7 @@
 \LWR at loadafter{foreign}
 \LWR at loadafter{forest}
 \LWR at loadafter{framed}
+\LWR at loadafter{ftcap}
 \LWR at loadafter{ftnright}
 \LWR at loadafter{fullminipage}
 \LWR at loadafter{fullpage}
@@ -10785,6 +10865,7 @@
 \LWR at loadafter{lineno}
 \LWR at loadafter{lips}
 \LWR at loadafter{listings}
+\LWR at loadafter{listliketab}
 \LWR at loadafter{longtable}
 \LWR at loadafter{lscape}
 \LWR at loadafter{ltablex}
@@ -10810,6 +10891,7 @@
 \LWR at loadafter{microtype}
 \LWR at loadafter{midfloat}
 \LWR at loadafter{midpage}
+\LWR at loadafter{minitoc}
 % morefloats must be allowed early for print mode
 \LWR at notmemoirloadafter{moreverb}
 % morewrites must be loaded before lwarp
@@ -10954,11 +11036,13 @@
 \LWR at notmemoirloadafter{titling}
 % \LWR at loadafter{tocbasic}% preloaded by koma-script classes
 \LWR at notmemoirloadafter{tocbibind}
+\LWR at loadafter{tocdata}
 \LWR at loadafter{tocenter}
 \LWR at notmemoirloadafter{tocloft}
 \LWR at loadafter{tocstyle}
 \LWR at loadafter{todo}
 \LWR at loadafter{todonotes}
+\LWR at loadafter{topcapt}
 \LWR at loadafter{tram}
 \LWR at loadafter{transparent}
 \LWR at loadafter{trimclip}
@@ -12773,7 +12857,9 @@
 % Uses the original package, including options.
 %    \begin{macrocode}
 \NewDocumentCommand{\LWR at ProvidesPackagePass}{m o}{
-\PackageInfo{lwarp}{Using package `#1' and adding lwarp modifications, including options,}%
+\PackageInfo{lwarp}{%
+    Using package `#1' and adding lwarp modifications,\MessageBreak
+    including options,}%
 \IfValueTF{#2}
 {\ProvidesPackage{lwarp-#1}[#2]}
 {\ProvidesPackage{lwarp-#1}}
@@ -12801,7 +12887,10 @@
 % Drops/discards all options.
 %    \begin{macrocode}
 \NewDocumentCommand{\LWR at ProvidesPackageDrop}{m o}{
-\PackageInfo{lwarp}{Replacing package `#1' with the lwarp version, discarding options,}%
+\PackageInfo{lwarp}{%
+    Replacing package `#1' with the lwarp version,\MessageBreak
+    and discarding options,%
+}%
 \IfValueTF{#2}
 {\ProvidesPackage{lwarp-#1}[#2]}
 {\ProvidesPackage{lwarp-#1}}
@@ -14717,6 +14806,7 @@
 
 div.marginblock, div.marginparblock {
     max-width:50%;
+    min-width: 10em; /* room for caption */
     float:right;
     text-align:left;
     margin: 1ex 0.5em 1ex 1em ;
@@ -15613,8 +15703,21 @@
 span.floatright { float: right ; }
 
 
+/* keyfloat and tocdata: */
+.floatnotes {
+    margin: 0ex 5% 0ex 5% ;
+    padding: 0ex 1em 0ex 1em ;
+    font-size:.80em ;
+    text-align: left ;
+}
 
+.authorartist{
+    font-size:.70em ;
+    font-style: italic; 
+}
 
+
+
 /* Native LaTeX theorems: */
 
 .theoremcontents { font-style: italic; margin-top: 3ex ; margin-bottom: 3ex ; }
@@ -16778,7 +16881,7 @@
 -- Copyright 2016-2018 Brian Dunn
 
 
-printversion = "v0.68"
+printversion = "v0.69"
 requiredconfversion = "2" -- also at *lwarpmk.conf
 
 function printhelp ()
@@ -20953,13 +21056,17 @@
 % If the filename is not unique, create an error.
 %    \begin{macrocode}
         \PackageError{lwarp}
-            {
-                Section name ``#1'', at the line number listed below,
-                generates the filename ``\LWR at thisfilename'',
-                which appears to be a duplicate.
-                There is a previous section with an identical or similar name.%
+            {%
+                Section name\MessageBreak
+                ``#1'',\MessageBreak
+                at the line number listed below,\MessageBreak
+                generates the filename\MessageBreak
+                ``\LWR at thisfilename'',\MessageBreak
+                which appears to be a duplicate.\MessageBreak
+                There is a previous section with an\MessageBreak
+                identical or similar name%
             }
-            {
+            {%
                 Lwarp sanitizes most symbols and a few common short words
                 when generating file names, and this may cause a conflict.
             }
@@ -21419,9 +21526,6 @@
 \global\boolfalse{LWR at minipagethispar}%
 %    \end{macrocode}
 %
-%
-%
-%
 % Start a new \HTML\ file unless starred,
 %   and if is a shallow sectioning depth.
 %
@@ -24194,7 +24298,20 @@
 \newbool{LWR at skippingmcolrowcell}
 %    \end{macrocode}
 
+% \DescribeBoolean{LWR at usedmultirow}
+% Used to error if used \cs{multirow} or \cs{multicolumnrow} without
+% using \cs{mrowcell} or \cs{mcolrowcell}.
+%    \begin{macrocode}
+\newbool{LWR at usedmultirow}
+%    \end{macrocode}
 
+% \DescribeBoolean{LWR at foundmrowcell}
+% Used to error if used \cs{multirow} or \cs{multicolumnrow} without
+% using \cs{mrowcell} or \cs{mcolrowcell}.
+%    \begin{macrocode}
+\newbool{LWR at foundmrowcell}
+%    \end{macrocode}
+
 % \DescribeBoolean{LWR at skipatbang}
 % True if just finished a \cs{multicolumn} so should not create the trailing
 % |@| or |!| columns table data cells.
@@ -24987,6 +25104,26 @@
 %    \end{macrocode}
 % \end{macro}
 
+
+% \subsection{Parsing '*' columns}
+%
+% \changes{v0.69}{2019/03/10}{Error if used a tabular * column.}
+% \begin{macro}{\LWR at parsestarcolumn}
+%    \begin{macrocode}
+\newcommand*{\LWR at parsestarcolumn}{%
+    \PackageError{lwarp}%
+        {%
+            The tabular star column specifier\MessageBreak
+            *{xx}{yy}\MessageBreak
+            is not yet supported by lwarp%
+        }%
+        {Convert *{xx}{yy} to xx copies of yy.}%
+    \addtocounter{LWR at tablecolspecindex}{2}%
+}
+%    \end{macrocode}
+% \end{macro}
+
+
 % \subsection{Parsing `D' columns}
 %
 % From the \pkg{dcolumn} package.
@@ -25236,6 +25373,10 @@
 \IfStrEq{\LWR at strresult}{w}{\LWR at parsewcolumn}{}%
 \IfStrEq{\LWR at strresult}{W}{\LWR at parsewcolumn}{}%
 %    \end{macrocode}
+% Error if found a star column:
+%    \begin{macrocode}
+\IfStrEq{\LWR at strresult}{*}{\LWR at parsestarcolumn}{}%
+%    \end{macrocode}
 % From the \pkg{dcolumn} package:
 %    \begin{macrocode}
 \IfStrEq{\LWR at strresult}{D}{\LWR at parseDcolumn{c}}{}%
@@ -27354,7 +27495,7 @@
 % \begin{macro}{\mrowcell}
 % The user must insert \cs{mrowcell} into any \cs{multirow} cells which must be skipped.
 % This command has no action during print output.
-% \trouble[multirow cells]{tabular>multirow=\cs{multirow}}
+% \watchout[multirow cells]
 %    \begin{macrocode}
 \newcommand*{\mrowcell}{}
 %    \end{macrocode}
@@ -27376,7 +27517,7 @@
 % The user must insert \cs{mcolrowcell} into any \cs{multicolumnrow} cells
 % which must be skipped.
 % This command has no action during print output.
-% \trouble[multirow cells]{tabular>multirow=\cs{multirow}}
+% \watchout[multirow cells]
 % \changes{v0.41}{2017/10/05}{Added for \cs{multicolumrow} cells.}
 %    \begin{macrocode}
 \newcommand*{\mcolrowcell}{}
@@ -27551,10 +27692,10 @@
 %
 % \changes{v0.41}{2017/10/06}{Fix: \cs{NoAutoSpacing} in a tabular
 %   with \pkg{babel-french}.}
-%
 %    \begin{macrocode}
 \LWR at nullifyNoAutoSpacing%
 %    \end{macrocode}
+%
 % Have not yet found the end of tabular command.
 % Unmute the |@| and |!| columns.
 %    \begin{macrocode}
@@ -27561,6 +27702,14 @@
 \global\boolfalse{LWR at exitingtabular}%
 \global\boolfalse{LWR at tabularmutemods}%
 %    \end{macrocode}
+%
+% Error if failed to use \cs{mrowcell} or \cs{mcolrowcell} when needed.
+% \changes{v0.69}{2019/03/07}{Error if \cs{multirow} without \cs{mrowcell}.}
+%    \begin{macrocode}
+\boolfalse{LWR at usedmultirow}
+\boolfalse{LWR at foundmrowcell}
+%    \end{macrocode}
+%
 % Create the |table| tag:
 %    \begin{macrocode}
 \global\booltrue{LWR at intabularmetadata}%
@@ -27572,6 +27721,7 @@
 %    \begin{macrocode}
 \LWR at parsetablecols{#3}%
 %    \end{macrocode}
+%
 % Table col spec is: \cs{LWR at tablecolspec} which is a string of |llccrr|, etc.
 %
 % Do not place the table inside a paragraph:
@@ -27670,6 +27820,7 @@
 % 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 \cs{LWR at getmynexttoken}.
+% \changes{v0.69}{2019/03/07}{Error if \cs{multirow} without \cs{mrowcell}.}
 %    \begin{macrocode}
 \renewcommand{\multicolumn}{\LWR at htmlmulticolumn}%
 \renewcommand*{\mrowcell}{%
@@ -27676,10 +27827,12 @@
     \LWR at maybenewtablerow%
     \LWR at tabularleftedge%
     \global\booltrue{LWR at skippingmrowcell}%
+    \booltrue{LWR at foundmrowcell}%
 }%
 \renewcommand*{\mcolrowcell}{%
     \LWR at maybenewtablerow%
     \global\booltrue{LWR at skippingmcolrowcell}%
+    \booltrue{LWR at foundmrowcell}%
 }%
 \LetLtxMacro\caption\LWR at longtabledatacaptiontag%
 %    \end{macrocode}
@@ -27763,6 +27916,33 @@
 %    \begin{macrocode}
 \protected\gdef&{\LWR at origampmacro}%
 \StopDefiningTabulars%
+%    \end{macrocode}
+%
+% Error if used \cs{multirow} or \cs{multicolumnrow} without
+% using \cs{mrowcell} or \cs{mcolrowcell}.
+% \changes{v0.69}{2019/03/07}{Error if \cs{multirow} without \cs{mrowcell}.}
+%    \begin{macrocode}
+\ifbool{LWR at usedmultirow}{%
+    \ifbool{LWR at foundmrowcell}%
+        {}%
+        {%
+            \PackageError{lwarp}%
+            {%
+                When using \protect\multirow, \protect\multicolumnrow,\MessageBreak
+                or the bigdelim package,\MessageBreak
+                place \protect\mrowcell\space or \protect\mcolrowcell\MessageBreak
+                in empty cells which are to be skipped.\MessageBreak
+                See the lwarp package documentation:\MessageBreak
+                "Special cases and limitations" -> "Tabular"
+            }%
+            {%
+                See the lwarp package documentation:\MessageBreak
+                "Special cases and limitations" -> "Tabular".
+            }%
+        }%
+}{}%
+%    \end{macrocode}
+%    \begin{macrocode}
 \LWR at traceinfo{LWR at HTML@endtabular finished}%
 }
 
@@ -29390,6 +29570,12 @@
 %    \end{macrocode}
 % \end{macro}
 
+% \begin{macro}{\LWR at maybetocdata} Replaced by \pkg{tocdata}.  Adds author name.
+% \changes{v0.69}{2019/03/21}{Added support for \pkg{tocdata}.}
+%    \begin{macrocode}
+\newcommand*{\LWR at maybetocdata}{}
+%    \end{macrocode}
+% \end{macro}
 
 % \begin{macro}{\hypertoc}  \marg{1: depth} \marg{2: type} \marg{3: name} \marg{4: page}
 %
@@ -29421,6 +29607,12 @@
             \LWR at htmlrefsectionfilename{autopage-#4}%
                 \LWR at origpound\LWR at print@mbox{autosec-#4}%
         }{#3}{toc#2}%
+%    \end{macrocode}
+% \changes{v0.69}{2019/03/21}{Added support for \pkg{tocdata}.}
+%    \begin{macrocode}
+        \LWR at maybetocdata%
+%    \end{macrocode}
+%    \begin{macrocode}
         \LWR at stoppars%
     }%
     {}%
@@ -29487,6 +29679,12 @@
         \LWR at htmlrefsectionfilename{autopage-\arabic{LWR at nextautopage}}%
         \LWR at origpound\LWR at print@mbox{autoid-\arabic{LWR at nextautoid}}}%
         {#4}{toc#2}%
+%    \end{macrocode}
+% \changes{v0.69}{2019/03/21}{Added support for \pkg{tocdata}.}
+%    \begin{macrocode}
+        \LWR at maybetocdata%
+%    \end{macrocode}
+%    \begin{macrocode}
         \LWR at stoppars%
     }%
     {}%
@@ -32032,11 +32230,11 @@
 {% end of outer-most lateximage
 %    \end{macrocode}
 % Finish the lateximage minipage and start a new \PDF\ page:
+% \changes{v0.69}{2019/03/14}{Fix for \prog{pdftotext} errors from font size change.}
 %    \begin{macrocode}
 \LWR at traceinfo{lateximage: ending outer-most lateximage}%
     \endLWR at print@minipage%
     \LWR at orignewpage%
-    \LWR at print@scriptsize%
 %    \end{macrocode}
 % Close the \HTML\ comment which encapsulated any traces of the lateximage picked up by \prog{pdftotext}:
 %    \begin{macrocode}
@@ -32949,6 +33147,8 @@
 % Minipage footnotes are gathered in \cref{sec:footnotesminipage},
 % and then placed into the document in \cref{sec:footnotesminipageplaced}.
 %
+%
+%
 % \subsection{Minipage handling}
 % \label{sec:footnotesminipageplaced}
 %
@@ -33259,72 +33459,100 @@
 % \end{macro}
 %
 %
+% \begin{macro}{\LWR@@makebox at paren} \marg{width} , \marg{height}
 %
-% \begin{macro}{\makebox} \parg(posn) \oarg{width} \oarg{pos} \marg{text}
-%
-% \changes{v0.34}{2017/07/31}{Fix: Handles paren arg.}
-% \changes{v0.36}{2017/08/15}{Fix: Handles width and horiz position.}
-% \changes{v0.57}{2018/05/28}{Improved print/\HTML\ output selection.}
+% Adds to the style in \cs{LWR at temptwo}.
 %    \begin{macrocode}
-\NewDocumentCommand{\LWR at HTML@makebox}{d() o o m}{%
+\NewDocumentCommand{\LWR@@makebox at paren}{m m}{%
+\IfValueTF{#2}{%
+    \setlength{\LWR at tempwidth}{#1\unitlength}%
+    \setlength{\LWR at tempheight}{#2\unitlength}%
+    \appto{\LWR at temptwo}{%
+        \LWR at print@mbox{width:\LWR at printlength{\LWR at tempwidth}} ; % space
+        \LWR at print@mbox{height:\LWR at printlength{\LWR at tempheight}} ; % space
+    }%
+}{%
+    \PackageError{lwarp}%
+        {(width,height) is missing a comma ',' character}%
+        {\protect\makebox\space \protect\framebox\space accept
+            a size in the format (width,height).}%
+}%
+}
 %    \end{macrocode}
-% Check for the optional width:
+% \end{macro}
+%
+% \begin{macro}{\LWR@@makebox at align} \marg{alignment character}
+%
+% Adds to the style in \cs{LWR at temptwo}.
 %    \begin{macrocode}
-\IfValueTF{#2}%
-{%
-%    \end{macrocode}
-% Check for the horizontal text alignment.
-% For |s|tretched, the best \HTML\ can do is \attribute{justified} alignment.
-%    \begin{macrocode}
-    {% scope
+\newcommand*{\LWR@@makebox at align}[1]{%
     \def\LWR at align{center}%
-    \ifstrequal{#3}{l}{\def\LWR at align{left}}{}%
-    \ifstrequal{#3}{r}{\def\LWR at align{right}}{}%
-    \ifstrequal{#3}{s}{\def\LWR at align{justify}}{}%
+    \ifstrequal{#1}{l}{\def\LWR at align{left}}{}%
+    \ifstrequal{#1}{r}{\def\LWR at align{right}}{}%
+    \ifstrequal{#1}{s}{\def\LWR at align{justify}}{}%
+    \appto{\LWR at temptwo}{%
+        \LWR at print@mbox{text-align:\LWR at align} ; %
+    }%
+}
 %    \end{macrocode}
-% To print the \attribute{width} argument:
+% \end{macro}
+%
+%
+% \begin{macro}{\makebox} \parg{width,height} \oarg{width} \oarg{pos} \marg{text}
+%
+% \changes{v0.34}{2017/07/31}{Fix: Handles paren arg.}
+% \changes{v0.36}{2017/08/15}{Fix: Handles width and horiz position.}
+% \changes{v0.57}{2018/05/28}{Improved print/\HTML\ output selection.}
+% \changes{v0.69}{2019/03/09}{Fix: Handle paren arg.}
 %    \begin{macrocode}
-    \setlength{\LWR at tempwidth}{#2}%
+\NewDocumentCommand{\LWR at HTML@makebox}{>{\SplitArgument{1}{,}}d() o o m}{%
 %    \end{macrocode}
-% \attribute{inline-block} allows \attribute{width} and
-% \attribute{text-alignment} to be used in a \element{span}.
-% \changes{v0.47}{2018/01/26}{Fix: Line wrap at \HTML\ hyphen.}
+%
+% Build the style depending on arguments:
 %    \begin{macrocode}
+{% scope
+    \def\LWR at temptwo{}%
+    \IfValueTF{#1}%
+    {% (width,height) ..
+        \LWR@@makebox at paren #1%
+        \IfValueT{#2}%
+        {% (width,height) [posn]
+            \LWR@@makebox at align{#2}%
+        }%
+    }%
+    {% [width]
+        \setlength{\LWR at tempwidth}{#2}%
+        \appto{\LWR at temptwo}{%
+            width:\LWR at printlength{\LWR at tempwidth} ; % space
+        }%
+        \IfValueT{#3}%
+        {% [width] [posn]
+            \LWR@@makebox at align{#3}%
+        }%
+    }%
     \InlineClass[%
         \LWR at print@mbox{display:inline-block} ; %
-        \LWR at print@mbox{text-align}:\LWR at align\ ; %
-        width:\LWR at printlength{\LWR at tempwidth}%
+        \LWR at temptwo%
     ]%
     {makebox}%
-%    \end{macrocode}
-% \changes{v0.46}{2018/01/19}{Fix: Lateximage in a \cs{makebox}.}
-% ^^A Now prints directly instead of inside a \mbox.
-%    \begin{macrocode}
     {#4}%
-    }% scope
-}%
-%    \end{macrocode}
-% Without a width argument, the text is simply used inline:
-% \changes{v0.46}{2018/01/19}{Fix: Lateximage in a \cs{makebox}.}
-% ^^A Now prints directly instead of inside a \mbox.
-%    \begin{macrocode}
-{#4}% no width
+}% scope
 }
-
 \LWR at formatted{makebox}
 %    \end{macrocode}
 % \end{macro}
 %
 %
-% \begin{macro}{\framebox} \oarg{width} \oarg{pos} \marg{text}
+% \begin{macro}{\framebox} \parg{width,height} \oarg{width} \oarg{pos} \marg{text}
 % \changes{v0.36}{2017/08/15}{Fix: Handles width and horiz position.}
 % \changes{v0.57}{2018/05/28}{Improved print/\HTML\ output selection.}
+% \changes{v0.69}{2019/03/09}{Fix: Handle paren arg.}
 %
 %    \begin{macrocode}
 \LetLtxMacro\LWR at origframebox\framebox
 
-\NewDocumentCommand{\LWR at HTML@framebox}{o o m}{%
-\fbox{\makebox[#1][#2]{#3}}%
+\NewDocumentCommand{\LWR at HTML@framebox}{d() o o m}{%
+    \fbox{\makebox(#1)[#2][#3]{#4}}%
 }
 
 \LWR at formatted{framebox}
@@ -33502,9 +33730,11 @@
 
 \end{warpall}
 %    \end{macrocode}
-
+%
 % \HTML\ version:
+%
 % \codehtml
+% \changes{v0.69}{2019/03/09}{Honors \cs{minipagefullwidth}.}
 %    \begin{macrocode}
 \begin{warpHTML}
 
@@ -33523,7 +33753,17 @@
 \begin{BlockClass}[%
 \LWR at fboxstyle ; %
 \IfValueT{#2}{height:\LWR at printlength{\LWR at tempheight} ; }%
-width:\LWR at printlength{\LWR at tempwidth}%
+\ifbool{LWR at minipagefullwidth}%
+{\global\boolfalse{LWR at minipagefullwidth}}%
+{%
+    \ifbool{LWR at forceminipagefullwidth}%
+        {}%
+        {%
+            \ifthenelse{\lengthtest{\LWR at tempwidth}=\linewidth}%
+                {}%
+                {width:\LWR at printlength{\LWR at tempwidth} ; }%
+        }%
+}%
 ]{fminipage}%
 }
 {%
@@ -36907,11 +37147,12 @@
 %    \begin{macrocode}
 \@ifpackageloaded{mdframed}{
     \PackageError{lwarp}
-    {Package mdframed must be loaded after package amsthm.}
+    {Package mdframed must be loaded after package amsthm}
     {%
-        Move \detokenize{\usepackage}{amsthm} before \detokenize{\usepackage}{mdframed}.
-        Package amsthm may be loaded by something else, which must also be moved
-        before mdframed.%
+        Move \detokenize{\usepackage}{amsthm} before
+        \detokenize{\usepackage}{mdframed}.\MessageBreak
+        Package amsthm may be loaded by something else,\MessageBreak
+        which must also be moved before mdframed.%
     }
 }
 {}
@@ -37403,6 +37644,12 @@
 \LWR at expandableformatted{lasthline}
 %    \end{macrocode}
 %
+% \changes{v0.69}{2019/03/09}{\pkg{array}: Fix for \cs{tabularnewline}.}
+%    \begin{macrocode}
+\providecommand*{\LWR at HTML@tabularnewline}{\LWR at tabularendofline}
+\LWR at formatted{tabularnewline}
+%    \end{macrocode}
+%
 % \iffalse
 %</array>
 % \fi
@@ -41815,6 +42062,170 @@
 %
 %
 % \iffalse
+%<*ctable>
+% \fi
+%
+% \part{lwarp-ctable.sty}
+%
+% \section{ctable}
+%
+% \credits{Wybo Dekker}
+%
+% \DescribePackage{ctable}
+% \pkg{ctable} is patched for use by \pkg{lwarp}.
+%
+% \limitsctable
+%
+% \changes{v0.69}{2019/03/09}{\pkg{ctable}: Added.}
+%
+% \codehtml
+%
+%    \begin{macrocode}
+\LWR at ProvidesPackagePass{ctable}[2015/10/17]
+%    \end{macrocode}
+%
+% The following is in the original:
+%    \begin{macrocode}
+\newcommand{\LWR at HTML@ctable}[4][]{%
+   \let\@CTtaborfig  \@dfltCTtaborfig
+   \let\@CTalign     \@dfltCTalign
+   \let\@CTsideways  \@dfltCTsideways
+   \let\@CTcontinued \empty
+   \let\@CTpos       \@dfltCTpos
+   \let\@CTcaption   \empty
+   \let\@CTcap       \undefined
+   \let\@CTlabel     \empty
+   \let\@CTbotcap    \@dfltCTbotcap
+   \let\@CTstarred   \@dfltCTstarred
+   \let\@CTsuper     \@dfltCTsuper
+   \let\@CTnotespar  \@dfltCTnotespar
+   \let\@CTdoinside  \@dfltCTdoinside
+   \let\@CTbgopacity \@dfltCTbgopacity
+   \@CTframerule     \@dfltCTframerule
+   \@CTcaptionskip   \@dfltCTcaptionskip
+   \@CTframesep      \@dfltCTframesep
+   \@CTwidth         \@dfltCTwidth
+   \@CTmaxwidth      \@dfltCTmaxwidth
+   \@CTmincapwidth   \@dfltCTmincapwidth
+   \@CTfooterwidth   \@dfltCTfooterwidth
+   \def\@CTfgactual {@dfltCTframefg}%
+   \def\@CTbgactual {@dfltCTframebg}%
+   \def\@CTbeg      {\begin{\@CTsideways\@CTtaborfig\@CTstarred}}%
+   \def\@CTbegin    {\@CTbeg}%
+   \def\@CTend      {\end{\@CTsideways\@CTtaborfig\@CTstarred}}%
+   \setkeys{CT}{#1}%
+   \ifx\@CTcap\undefined\let\@CTcap\@CTcaption\fi
+   \ifx\@CTcap\empty
+     \if at CTcaptionloaded\else
+       \PackageWarningNoLine{ctable}{\MessageBreak
+          An empty cap= option prevents lot/loc entry only\MessageBreak
+          if the caption package is loaded!}
+     \fi
+   \fi
+   \if at CTinmemoir\else
+      \ifx\@CTbotcap\undefined
+         \PackageError{ctable}{\MessageBreak
+            You can, currently, use the sidecap option only with\MessageBreak
+            memoir documents. Use topcap or botcap only}
+      \fi
+   \fi
+   \ifdim\@CTwidth=0pt\else
+      \ifdim\@CTmaxwidth=0pt\else
+         \PackageError{ctable}{\MessageBreak
+            You may not use the width and maxwidth options together\MessageBreak
+            Use either width or maxwidth}
+      \fi
+   \fi
+   \ifx\@CTpos\empty
+      \ifx\@CTsideways\empty\else
+      \PackageError{ctable}{\MessageBreak
+         You may not use the pos and sideways options together\MessageBreak
+         Rotated tables and figures are always typeset on a separate page}
+      \fi
+   \fi
+   \ifx\@CTcaption\empty
+      \ifx\@CTlabel\empty\else
+         \PackageError{ctable}{\MessageBreak
+            You may not label a captionless table\MessageBreak
+            Such a label can't be referenced}
+      \fi
+   \fi
+%    \end{macrocode}
+%
+% Some of the original, regarding computing the width of \cs{CT at t}, is removed here.
+%
+%    \begin{macrocode}
+   \@CTbegin
+      \ifx\@CTcontinued\empty\else\addtocounter{\@CTtaborfig}{-1}\fi
+      \@CTalign
+%    \end{macrocode}
+%
+% \pkg{lwarp}'s patches begin here:
+%    \begin{macrocode}
+    \begin{center}
+        \setlength{\fboxrule}{\@CTframerule}
+        \setlength{\fboxsep}{\@CTframesep}
+        \LWR at forceminwidth{\fboxrule}%  lwarp
+        \convertcolorspec{named}{\@CTbgactual}{HTML}\LWR at tempcolor% lwarp
+        \begin{BlockClass}[%                            lwarp
+            border:
+                \LWR at printlength{\LWR at atleastonept}
+                solid
+                \LWR at colorstyle{named}{\@CTfgactual} ; %
+            padding:\LWR at printlength{\fboxsep} ; %
+            \ifdefstring{\LWR at tempcolor}{FFFFFF}{}{%
+                background: \LWR at colorstyle{named}{\@CTbgactual} ; %
+            }%
+        ]{fminipage}%       lwarp
+         \ifx\@CTbotcap\@CTfalse\@CTCaption\vskip\@CTcaptionskip\fi
+         \ifx\@CTbotcap\undefined%
+             \begin{sidecaption}[\@CTcap]{\@CTcaption}[\@CTlabel]
+         \fi
+         \@CTdoinside
+         \begin{tabularx}{\linewidth}{#2}%      lwarp
+            #4%
+         \end{tabularx}%                    lwarp
+         \def\@CTfootnotes{#3}%
+         \ifx#3\empty\else{% append footnotes, if any
+            \begin{BlockClass}{tnotes}%     lwarp
+            #3
+            \end{BlockClass}%               lwarp
+         }
+         \fi
+         \ifx\@CTbotcap\undefined\end{sidecaption}\fi
+         \ifx\@CTbotcap\@CTtrue\vskip\@CTcaptionskip\@CTCaption\fi
+        \end{BlockClass}
+    \end{center}
+   \@CTend
+}
+\LWR at formatted{ctable}
+%    \end{macrocode}
+%
+% Required to properly detect the toprule:
+%    \begin{macrocode}
+\LetLtxMacro\FL\toprule
+%    \end{macrocode}
+%
+% Table notes are redefined for \HTML:
+%    \begin{macrocode}
+\newcommand{\LWR at HTML@tmark}[1][a]{%
+   \textsuperscript{\textrm{\textit{#1}}}
+}
+\LWR at formatted{tmark}
+
+\newcommand{\LWR at HTML@tnote}[2][a]{%
+    \tmark[#1]\,#2\par
+}
+\LWR at formatted{tnote}
+%    \end{macrocode}
+%
+% \iffalse
+%</ctable>
+% \fi
+%
+%
+%
+% \iffalse
 %<*cuted>
 % \fi
 %
@@ -43111,7 +43522,115 @@
 %
 %
 %
+%
 % \iffalse
+%<*eqlist>
+% \fi
+%
+% \part{lwarp-eqlist.sty}
+%
+% \section{eqlist}
+%
+% \DescribePackage{eqlist}
+% \pkg{eqlist} is emulated.
+%
+% \changes{v0.69}{2019/03/08}{\pkg{eqlist}: Added.}
+%
+% \codehtml
+%
+%    \begin{macrocode}
+\LWR at ProvidesPackageDrop{eqlist}[2002/08/15]
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\newenvironment{eqlist}[1][]{\description}{\enddescription}
+\newenvironment{eqlist*}[1][]{\description}{\enddescription}
+\newenvironment{Eqlist}[2][]{\description}{\enddescription}
+\newenvironment{Eqlist*}[2][]{\description}{\enddescription}
+\newcommand*{\longitem}[1][]{\item[#1]}
+\newcommand*{\eqlistinit}{}
+\newcommand*{\eqliststarinit}{}
+\newcommand*{\eqlistinitpar}{}
+\def\eqlistlabel#1{#1}
+\newcommand{\eqlistauto}[1]{}
+\newcommand{\eqlistnoauto}{}
+%    \end{macrocode}
+%
+% \iffalse
+%</eqlist>
+% \fi
+%
+%
+%
+%
+% \iffalse
+%<*eqparbox>
+% \fi
+%
+% \part{lwarp-eqparbox.sty}
+%
+% \section{eqparbox}
+%
+% \credits{Scott Pakin}
+%
+% \DescribePackage{eqparbox}
+% \pkg{eqparbox} is patched for use by \pkg{lwarp}.
+%
+% \changes{v0.69}{2019/03/08}{\pkg{eqparbox}: Added.}
+%
+% \codehtml
+%
+%    \begin{macrocode}
+\LWR at ProvidesPackagePass{eqparbox}[2017/09/03]
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\NewDocumentCommand{\LWR at HTML@eqparbox}{O{t} O{} O{t} m +m}{%
+    {%
+        \minipagefullwidth%
+        \parbox[#1][#2][#3]{\linewidth}{#5}%
+    }%
+}
+\LWR at formatted{eqparbox}
+
+\NewDocumentCommand{\LWR at HTML@eqmakebox}{o o m}{%
+    \makebox[#2]{#3}%
+}
+\LWR at formatted{eqmakebox}
+
+\NewDocumentCommand{\LWR at HTML@eqframebox}{o o m}{%
+    \framebox[#2]{#3}%
+}
+\LWR at formatted{eqframebox}
+
+\NewDocumentEnvironment{LWR at HTML@eqminipage}{O{t} O{} O{t} m}
+{%
+    \begingroup%
+    \minipagefullwidth%
+    \minipage[#1][#2][#3]{\linewidth}%
+}%
+{%
+    \endminipage%
+    \endgroup%
+}
+
+\newcommand*{\LWR at HTML@eqboxwidth}[1]{.25\linewidth}
+\LWR at formatted{eqboxwidth}
+
+\newcommand*{\LWR at HTML@eqsetminwidth}[2]{}
+\newcommand*{\LWR at HTML@eqsetmaxwidth}[2]{}
+
+\newcommand*{\LWR at HTML@eqsetminwidthto}[2]{}
+\newcommand*{\LWR at HTML@eqsetmaxwidthto}[2]{}
+%    \end{macrocode}
+%
+% \iffalse
+%</eqparbox>
+% \fi
+%
+%
+%
+% \iffalse
 %<*errata>
 % \fi
 %
@@ -46069,9 +46588,33 @@
 %
 %
 %
+% \iffalse
+%<*ftcap>
+% \fi
 %
+% \part{lwarp-ftcap.sty}
 %
+% \section{ftcap}
+%
+% \DescribePackage{ftcap}
+% \pkg{ftcap} is ignored.
+%
+% \changes{v0.69}{2019/03/17}{\pkg{ftcap}: Added.}
+%
+% \codehtml
+%
+%    \begin{macrocode}
+\LWR at ProvidesPackageDrop{ftcap}
+%    \end{macrocode}
+%
 % \iffalse
+%</ftcap>
+% \fi
+%
+%
+%
+%
+% \iffalse
 %<*ftnright>
 % \fi
 
@@ -46654,8 +47197,16 @@
 % ^^A \define at key{igraph}{yscale}{\renewcommand*{\LWR at igyscale}{#1}}
 % It appears that \pkg{graphicx} does not have separate keys for
 % |xscale| and |yscale|.  |scale| adjusts both at the same time.
+% \changes{v0.69}{2019/03/10}{\pkg{graphics}: Warning if using \optn{scale} option.}
 %    \begin{macrocode}
 \define at key{igraph}{scale}{%
+    \ifthenelse{\equal{#1}{1}}{}{%  must expand #1
+        \PackageWarning{lwarp}{%
+            It is recommended to use\MessageBreak
+            [width=xx\protect\linewidth]\MessageBreak
+            instead of [scale=yy],%
+        }%
+    }%
     \renewcommand*{\LWR at igxscale}{#1}%
     \renewcommand*{\LWR at igyscale}{#1}%
 }
@@ -48939,16 +49490,29 @@
 % \credits{Brian Dunn}
 %
 % \DescribePackage{keyfloat}
-% \pkg{keyfloat} is supported with minor adjustments.
+% \pkg{keyfloat} is supported with a considerable amount of hacking.
+% (It's a mashup of \pkg{lwarp}, \pkg{keyfloat}, and \pkg{tocdata}.)
 %
 % \limitskeyfloat
 %
 % \changes{v0.20}{2017/01/16}{\pkg{keyfloat}: Added.}
 % \changes{v0.31}{2017/05/12}{\pkg{keyfloat}: Improved compatibility.}
+% \changes{v0.69}{2019/03/20}{\pkg{keyfloat}: Updated for v2.00.}
 %
 % \codehtml
 %    \begin{macrocode}
-\LWR at ProvidesPackagePass{keyfloat}[2017/05/12]
+\LWR at ProvidesPackagePass{keyfloat}[2019/03/21]
+
+\@ifpackagelater{keyfloat}{2019/03/21}{}{
+    \PackageError{lwarp-keyfloat}
+    {%
+        The keyfloat package is out of date.\MessageBreak
+        Update to keyfloat v2.00 2019/03/21 or later%
+    }
+    {%
+        Please update the keyfloat package.  It's worth it!%
+    }
+}
 %    \end{macrocode}
 
 % After \pkg{keyfloat} has loaded:
@@ -48956,52 +49520,93 @@
 \AtBeginDocument{
 %    \end{macrocode}
 %
-% ^^A *8* use a virtual line width instead of \linewidth
-% ^^A% Modified to use \cs{LWR at minipagewidth} instead of \cs{linewidth}:
-% ^^A%    \begin{macrocode}
-% ^^A\renewcommand*{\KFLT at findwidths}{%
-% ^^A\typeout{*** KFLT at findwidths start}% *8*
-% ^^A%    \end{macrocode}
-% ^^A% Default to a box of full \cs{linewidth} minus the potential frame:
-% ^^A%    \begin{macrocode}
-% ^^A\ifthenelse{\boolean{KFLT at ft}}% tight frame?
-% ^^A{\setlength{\KFLT at boxwidth}{\linewidth - 2\KFLTtightframewidth}}%
-% ^^A{% not tight frame
-% ^^A\ifthenelse{\boolean{KFLT at f}}% loose frame?
-% ^^A{\setlength{\KFLT at boxwidth}{\linewidth - 2\KFLTlooseframewidth}}%
-% ^^A{\setlength{\KFLT at boxwidth}{\linewidth}}% no frame
-% ^^A}% not tight frame
-% ^^A%    \end{macrocode}
-% ^^A% Several width options exist.  First see if width was given:
-% ^^A%    \begin{macrocode}
-% ^^A\ifthenelse{\dimtest{\KFLT at w}{>}{0pt}}%
-% ^^A%    \end{macrocode}
-% ^^A%  Width was given:
-% ^^A%    \begin{macrocode}
-% ^^A{\setlength{\KFLT at imagewidth}{\KFLT at w}}%
-% ^^A{% width not given
-% ^^A%    \end{macrocode}
-% ^^A% Use full \cs{linewidth} or only a fraction:
-% ^^A%    \begin{macrocode}
-% ^^A\ifcsempty{\KFLT at lw}%
-% ^^A{\setlength{\KFLT at imagewidth}{\KFLT at boxwidth}}%
-% ^^A{\setlength{\KFLT at imagewidth}{\KFLT at lw\KFLT at boxwidth}}%
-% ^^A}% width not given
-% ^^A\typeout{*** KFLT at findwidths end}% *8*
-% ^^A}
-% ^^A%    \end{macrocode}
+%    \begin{macrocode}
+\providecommand*{\KFLT at LWR@hook at boxouter}{}
+\renewcommand*{\KFLT at LWR@hook at boxouter}{%
+    \ifbool{KFLT at keywrap}{}{%
+        \ifnumequal{\value{KFLT at keyfloatdepth}}{0}{%
+            \setlength{\linewidth}{6in}%
+            \setlength{\textwidth}{6in}%
+            \setlength{\textheight}{9in}%
+        }{}%
+    }%
+}
+
+\let\KFLT at LWR@hook at boxouter@minipage\relax
+\let\endKFLT at LWR@hook at boxouter@minipage\relax
+\newenvironment*{KFLT at LWR@hook at boxouter@minipage}[2][]{}{}
+
+\providecommand*{\KFLT at LWR@hook at keysubfloats}{}
+\renewcommand*{\KFLT at LWR@hook at keysubfloats}{%
+    \ifbool{KFLT at keywrap}{}{%
+        \ifnumequal{\value{KFLT at keyfloatdepth}}{0}{%
+            \setlength{\linewidth}{6in}%
+            \setlength{\textwidth}{6in}%
+            \setlength{\textheight}{9in}%
+        }{}%
+    }%
+}
+
+\let\KFLT at LWR@hook at keyfloatsminipage\relax
+\let\endKFLT at LWR@hook at keyfloatsminipage\relax
+\newenvironment*{KFLT at LWR@hook at keyfloatsminipage}[1]{}{}
+
+\providecommand*{\KFLT at LWR@hook at keyfloats}{}
+\renewcommand*{\KFLT at LWR@hook at keyfloats}{%
+    \ifbool{KFLT at keywrap}{}{%
+        \ifnumequal{\value{KFLT at keyfloatdepth}}{0}{%
+            \setlength{\linewidth}{6in}%
+            \setlength{\textwidth}{6in}%
+            \setlength{\textheight}{9in}%
+        }{}%
+    }%
+}
+
+\renewcommand*{\KFLT at maybeendfloatrow}{%
+    \ifnumless{\value{KFLT at thiscol}}{\value{KFLT at numcols}}%
+    {}% thiscol < numcols
+    {% >=
+        \defcounter{KFLT at thiscol}{0}%
+    }%
+}%
+
+\renewcommand{\KFLT at trackrows}%
+{%
+%    \end{macrocode}
+% If are nested inside a keyfloats or a subfloat:
+%    \begin{macrocode}
+    \ifboolexpr{%
+        test {\ifnumgreater{\value{KFLT at keyfloatdepth}}{0}} or%
+        bool{KFLT at inkeysubfloats}%
+    }%
+    {% nested
+%    \end{macrocode}
+% Tracks row start and end:
+%    \begin{macrocode}
+        \KFLT at maybestartfloatrow%
+%    \end{macrocode}
+% Possibly fill space between columns:
+%    \begin{macrocode}
+        \ifnumgreater{\value{KFLT at thiscol}}{1}%
+            {%
+%                 \hfill%
+            }%
+            {}%
+    }% nested
+    {}% not nested
+}
+%    \end{macrocode}
 %
-%
 % \changes{v0.47}{2018/01/26}{\pkg{keyfloat}: Fix for \SVG\ math in captions.}
 %    \begin{macrocode}
-\RenewDocumentCommand{\KFLT at onefigureimage}{}
+\RenewDocumentCommand{\KFLT at onefigureimage}{m}
 {%
 \LWR at traceinfo{KFLT at onefigureimage}%
 % \begin{lrbox}{\KFLT at envbox}%
 \ifthenelse{\NOT\equal{\KFLT at lw}{}}%
     {%
-        \includegraphics%
-        [scale=\KFLT at s,width=\KFLT at imagewidth]{\KFLT at i}%
+        \KFLT at frame{\includegraphics%
+        [scale=\KFLT at s,width=\KFLT at imagewidth]{#1}}%
     }%
     {% not linewidth
         \ifthenelse{\dimtest{\KFLT at w}{>}{0pt}}%
@@ -49008,24 +49613,24 @@
         {% width is given
             \ifthenelse{\dimtest{\KFLT at h}{>}{0pt}}%
             {% w and h
-                \includegraphics%
+                \KFLT at frame{\includegraphics%
                 [scale=\KFLT at s,%
-                width=\KFLT at imagewidth,height=\KFLT at h]{\KFLT at i}%
+                width=\KFLT at imagewidth,height=\KFLT at h]{#1}}%
             }% w and h
             {% only w
-                \includegraphics%
-                [scale=\KFLT at s,width=\KFLT at imagewidth]{\KFLT at i}%
+                \KFLT at frame{\includegraphics%
+                [scale=\KFLT at s,width=\KFLT at imagewidth]{#1}}%
             }% only w
         }% width is given
         {% width is not given
             \ifthenelse{\dimtest{\KFLT at h}{>}{0pt}}%
             {%
-                \includegraphics%
-                [scale=\KFLT at s,height=\KFLT at h]{\KFLT at i}%
+                \KFLT at frame{\includegraphics%
+                [scale=\KFLT at s,height=\KFLT at h]{#1}}%
             }%
             {%
-                \includegraphics%
-                [scale=\KFLT at s]{\KFLT at i}%
+                \KFLT at frame{\includegraphics%
+                [scale=\KFLT at s]{#1}}%
             }%
         }% width is not given
     }% not linewidth
@@ -49043,25 +49648,135 @@
 %    \begin{macrocode}
 \RenewDocumentEnvironment{KFLT at boxinner}{}
 {%
-\LWR at traceinfo{KFLT at boxinner}%
-\LWR at stoppars%
+    \LWR at traceinfo{KFLT at boxinner}%
+    \LWR at stoppars%
+    \minipagefullwidth%
+    \ifboolexpr{bool{KFLT at ft} or bool{KFLT at f}}{
+        \fminipage{\KFLT at imagewidth}%
+    }{%
+        \minipage{\KFLT at imagewidth}%
+    }%
 }
-{
-\LWR at startpars%
-\LWR at traceinfo{KFLT at boxinner: done}%
+{%
+    \ifboolexpr{bool{KFLT at ft} or bool{KFLT at f}}{
+        \endfminipage%
+    }{%
+        \endminipage%
+    }%
+    \LWR at startpars%
+    \LWR at traceinfo{KFLT at boxinner: done}%
 }
 %    \end{macrocode}
 
 
+%    \begin{macrocode}
+\newcommand*{\LWR at KFLT@settextalign}[1]{%
+    \def\LWR at KFLT@textalign{justify}%
+    \ifcsstring{KFLT@#1textalign}{\centering}%
+        {\def\LWR at KFLT@textalign{center}}%
+        {}%
+    \ifcsstring{KFLT@#1textalign}{\raggedleft}%
+        {\def\LWR at KFLT@textalign{right}}%
+        {}%
+    \ifcsstring{KFLT@#1textalign}{\raggedright}%
+        {\def\LWR at KFLT@textalign{left}}%
+        {}%
+}
+
+\renewcommand{\KFLT at addtext}[1]
+{%
+%    \end{macrocode}
+% Is there text to add?
+%    \begin{macrocode}
+    \ifcsempty{KFLT@#1t}%
+    {}% no text
+    {% text to add
+        {% local
+%    \end{macrocode}
+% Add some space, then create a full-width minipage to contain the text:
+%    \begin{macrocode}
+        \addvspace{\smallskipamount}%
+        \LWR at KFLT@settextalign{#1}%
+        \begin{BlockClass}[text-align:\LWR at KFLT@textalign]{floatnotes}%
+%    \end{macrocode}
+% Set the alignment and some text parameters:
+%    \begin{macrocode}
+%         \csuse{KFLT@#1textalign}%
+%         \footnotesize%
+        \setlength{\parskip}{1.5ex}%
+        \setlength{\parindent}{0em}%
+%    \end{macrocode}
+% Typeset the actual text:
+%    \begin{macrocode}
+        \csuse{KFLT@#1t}%
+%    \end{macrocode}
+% Close it all out with a little more space:
+%    \begin{macrocode}
+        \end{BlockClass}%
+%         \par\addvspace{2ex}%
+        }% local
+    }% text to add
+}
+
+\@ifpackageloaded{tocdata}
+{}
+{% tocdata not loaded
+
+    \newcommand*{\LWR at KFLT@setnamealign}[1]{%
+        \def\LWR at KFLT@textalign{justify}%
+        \ifstrequal{#1}{\centering}%
+            {\def\LWR at KFLT@textalign{center}}%
+            {}%
+        \ifstrequal{#1}{\raggedleft}%
+            {\def\LWR at KFLT@textalign{right}}%
+            {}%
+        \ifstrequal{#1}{\raggedright}%
+            {\def\LWR at KFLT@textalign{left}}%
+            {}%
+    }
+
+    \renewcommand*{\KFLT@@addartisttext}[3]{%
+    %    \end{macrocode}
+    % Add space and create the name inside a full-width minipage:
+    %    \begin{macrocode}
+%         \addvspace{\medskipamount}%
+    %     \begin{minipage}{\linewidth}%
+        \LWR at KFLT@setnamealign{#3}%
+        \begin{BlockClass}[text-align:\LWR at KFLT@textalign]{floatnotes}%
+    %    \end{macrocode}
+    % Text alignment is |#3|, and depends on artist or author:
+    %    \begin{macrocode}
+    %     #3%
+    %    \end{macrocode}
+    % |#1| is empty or '|subgrp'| \\
+    % |#2| is empty for artist, `|u|' for author:
+    %    \begin{macrocode}
+        \footnotesize\textsc{%
+            \KFLT at optionalname{\csuse{KFLT@#1a#2p}}%
+            \KFLT at optionalname{\csuse{KFLT@#1a#2f}}%
+            \csuse{KFLT@#1a#2l}%
+            \csuse{KFLT@#1a#2s}%
+        }%
+    %     \end{minipage}%
+        \end{BlockClass}
+%         \par\addvspace{2ex}%
+    }
+
+}% tocdata not loaded
+%    \end{macrocode}
+
+
 % \changes{v0.42}{2017/10/26}{\pkg{keyfloat}: If \progcode{FormatWP} add explicit \HTML\ style.}
 %    \begin{macrocode}
 \DeclareDocumentEnvironment{KFLT at marginfloat}{O{-1.2ex} m}
 {%
-\LWR at BlockClassWP{float:right; width:2in; margin:10pt}{}{marginblock}%
-\captionsetup{type=#2}%
+    \LWR at BlockClassWP{float:right; width:2in; margin:10pt}{}{marginblock}%
+    \captionsetup{type=#2}%
+    \minipage{2in}%
 }
 {%
-\endLWR at BlockClassWP%
+    \endminipage%
+    \endLWR at BlockClassWP%
 }
 %    \end{macrocode}
 
@@ -49068,12 +49783,12 @@
 
 %    \begin{macrocode}
 \DeclareDocumentEnvironment{marginfigure}{o}
-  {\begin{KFLT at marginfloat}{figure}}
-  {\end{KFLT at marginfloat}}
+    {\begin{KFLT at marginfloat}{figure}}
+    {\end{KFLT at marginfloat}}
 
 \DeclareDocumentEnvironment{margintable}{o}
-  {\begin{KFLT at marginfloat}{table}}
-  {\end{KFLT at marginfloat}}
+    {\begin{KFLT at marginfloat}{table}}
+    {\end{KFLT at marginfloat}}
 %    \end{macrocode}
 
 
@@ -49081,53 +49796,26 @@
 %    \begin{macrocode}
 \DeclareDocumentEnvironment{keywrap}{m +m}
 {%
-\LWR at ensuredoingapar%
-\setlength{\LWR at templengthone}{#1}%
-\begin{LWR at BlockClassWP}{%
-    float:right; width:\LWR at printlength{\LWR at templengthone};  % extra space
-    margin:10pt%
-}%
-{%
-    width:\LWR at printlength{\LWR at templengthone}%
-}%
-{marginblock}%
-\setlength{\linewidth}{.95\LWR at templengthone}%
-#2%
-\end{LWR at BlockClassWP}%
+    \LWR at ensuredoingapar%
+    \setlength{\linewidth}{6in}%
+    \setlength{\LWR at templengthone}{#1}%
+    \begin{LWR at BlockClassWP}%
+        {%
+            float:right; width:\LWR at printlength{\LWR at templengthone};  % extra space
+            margin:10pt%
+        }%
+        {%
+            width:\LWR at printlength{\LWR at templengthone}%
+        }%
+        {marginblock}%
+    \setlength{\linewidth}{.95\LWR at templengthone}%
+    \booltrue{KFLT at keywrap}%
+    #2%
+    \end{LWR at BlockClassWP}%
 }
-{%
-}
+{}
 %    \end{macrocode}
-% ^^A \par%
-% ^^A \setlength{\KFLT at keywrapwidth}{\linewidth}%
-% ^^A \addtolength{\KFLT at keywrapwidth}{-#1}%
-% ^^A \addtolength{\KFLT at keywrapwidth}{-2em}%
-% ^^A \minipage[b]{\KFLT at keywrapwidth}%
-% ^^A %
-% ^^A \setlength{\parskip}{\KFLT at keywrapparskip}%
-% ^^A \setlength{\parindent}{\KFLT at keywrapparindent}%
-% ^^A \booltrue{KFLT at keywrap}%
-% ^^A }
-% ^^A {%
-% ^^A \par
-% ^^A \endminipage%
-% ^^A \hfill%
-% ^^A \begin{minipage}[b]{#1}%
-% ^^A \booltrue{KFLT at keywrap}%
-% ^^A #2%
-% ^^A \par
-% ^^A \unskip\vspace{\smallskipamount}
-% ^^A \end{minipage}%
-% ^^A \par
-% ^^A }
-
-% ^^A \BeforeBeginEnvironment{keywrap}{
-% ^^A \setlength{\KFLT at keywrapparskip}{\parskip}
-% ^^A \setlength{\KFLT at keywrapparindent}{\parindent}
-% ^^A }
-% ^^A %    \end{macrocode}
-
-
+%
 %    \begin{macrocode}
 }% AtBeginDocument
 %    \end{macrocode}
@@ -49986,8 +50674,40 @@
 %
 %
 %
+% \iffalse
+%<*listliketab>
+% \fi
 %
+% \part{lwarp-listliketab.sty}
+%
+% \section{listliketab}
+%
+% \DescribePackage{listliketab}
+% \pkg{listliketab} is emulated.
+%
+% \changes{v0.69}{2019/03/08}{\pkg{listliketab}: Added.}
+%
+% \codehtml
+%
+%    \begin{macrocode}
+\LWR at ProvidesPackageDrop{listliketab}[2005/01/09]
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\newcommand*{\storestyleof}[1]{}
+\newcommand*{\storeliststyle}{}
+\newenvironment{listliketab}{}{}
+%    \end{macrocode}
+%
 % \iffalse
+%</listliketab>
+% \fi
+%
+%
+%
+%
+%
+% \iffalse
 %<*lltjext>
 % \fi
 %
@@ -50187,8 +50907,13 @@
 \def\endlastfoot{\LWR at longtable@headerror}
 %    \end{macrocode}
 %
+% \changes{v0.69}{2019/03/09}{\pkg{array}: Fix for \cs{tabularnewline}.}
 %    \begin{macrocode}
-\newcommand\tabularnewline{\LWR at tabularendofline}
+\providecommand*{\LWR at HTML@tabularnewline}{\LWR at tabularendofline}
+\LWR at formatted{tabularnewline}
+%    \end{macrocode}
+%
+%    \begin{macrocode}
 \newcommand{\setlongtables}{}% Obsolete command, does nothing.
 \newlength{\LTleft}
 \newlength{\LTright}
@@ -51998,6 +52723,37 @@
 %
 %
 % \iffalse
+%<*minitoc>
+% \fi
+%
+% \part{lwarp-minitoc.sty}
+%
+% \section{minitoc}
+%
+% \DescribePackage{minitoc}
+% \pkg{minitoc} is ignored.
+%
+% \changes{v0.69}{2019/03/06}{\pkg{minitoc}: Added.}
+%
+% \codehtml
+%
+%    \begin{macrocode}
+\LWR at ProvidesPackageDrop{minitoc}[2018/07/12]
+%    \end{macrocode}
+%
+% \pkg{mtcoff} disables \pkg{minitoc}.
+%    \begin{macrocode}
+\usepackage{mtcoff}
+%    \end{macrocode}
+%
+% \iffalse
+%</minitoc>
+% \fi
+%
+%
+%
+%
+% \iffalse
 %<*morefloats>
 % \fi
 %
@@ -52353,9 +53109,11 @@
 % \pkg{multirow} is emulated during \HTML\ output, and
 % used as-is while inside a \env{lateximage}.
 %
-% In a \env{lateximage}, the original print-mode versions are temporarily restored
-% by \cs{LWR at restoreorigformatting}.
+% \limitsmultirow
 %
+% In a \env{lateximage}, \cs{LWR at restoreorigformatting}
+% restores the original print-mode versions.
+%
 % See \cref{sec:printmultirow} for the print-mode versions.
 %
 % \codehtml
@@ -52395,6 +53153,12 @@
 \NewDocumentCommand{\LWR at HTML@multirow}{O{c} m o m o +m}%
 {%
 \LWR at traceinfo{*** LWR at HTML@multirow #1 #2 #4}%
+%    \end{macrocode}
+% \changes{v0.69}{2019/03/07}{\pkg{multirow}: Error if \cs{multirow} without \cs{mrowcell}.}
+%    \begin{macrocode}
+\booltrue{LWR at usedmultirow}%
+%    \end{macrocode}
+%    \begin{macrocode}
 \LWR at maybenewtablerow%
 \LWR at tabularleftedge%
 %    \end{macrocode}
@@ -52464,13 +53228,6 @@
 % \subsection{Combined multicolumn and multirow}
 % \label{sec:multicolumnmultirow}
 %
-% \limitsmulticolumnrow
-% \gindex{multicolumn=\cs{multicolumn}>with \cs{multirow}}
-% \gindex{multirow=\cs{multirow}>with \cs{multicolumn}}
-% \gindex{tabular>multicolumn=\cs{multicolumn} with \cs{multirow}}
-% \trouble{tabular>multicolumn=\cs{multicolumn} with \cs{multirow}}
-%
-%
 % \begin{macro}{\multicolumnrow}
 %   \marg{1:cols} \marg{2:halign}
 %   \oarg{3:vpos} \marg{4:numrows} \oarg{5:bigstruts}
@@ -52492,6 +53249,10 @@
 
 \NewExpandableDocumentCommand{\LWR at HTML@multicolumnrow}{m m O{} m O{} m O{} +m}{%
 %    \end{macrocode}
+% \changes{v0.69}{2019/03/07}{\pkg{multirow}: Error if \cs{multirow} without \cs{mrowcell}.}
+%    \begin{macrocode}
+\booltrue{LWR at usedmultirow}%
+%    \end{macrocode}
 % Figure out how many extra \HTML\ columns to add for |@| and |!| columns:
 %    \begin{macrocode}
 \LWR at tabularhtmlcolumns{\arabic{LWR at tableLaTeXcolindex}}{#1}
@@ -56365,9 +57126,12 @@
 %
 % All rotations are ignored in \HTML\ output.
 %
+% \changes{v0.69}{2019/03/09}{\pkg{rotfloat}: Requires \pkg{graphicx}.}
+%
 % \codehtml
 %    \begin{macrocode}
 \LWR at ProvidesPackageDrop{rotating}[2016/08/11]
+\RequirePackage{graphicx}
 %    \end{macrocode}
 
 %    \begin{macrocode}
@@ -59040,6 +59804,12 @@
 }%
 \end{tabular}%
 \end{table}%
+%    \end{macrocode}
+% \changes{v0.69}{2019/03/15}{\pkg{supertabular}: Fix: Clear caption after use.}
+%    \begin{macrocode}
+\gdef\LWRST at caption{}%
+%    \end{macrocode}
+%    \begin{macrocode}
 \LWR at traceinfo{supertabular done}%
 }
 
@@ -59180,6 +59950,7 @@
 %
 % \changes{v0.22}{2017/03/01}{\pkg{tabularx}: Added.}
 % \changes{v0.28}{2017/04/11}{\pkg{tabularx}: Fix for optional pos.}
+% \changes{v0.69}{2019/03/09}{\pkg{tabularx}: Require \pkg{array}.}
 %
 % \codehtml
 %
@@ -59186,6 +59957,7 @@
 % Discard all options for \pkg{lwarp-tabularx}:
 %    \begin{macrocode}
 \LWR at ProvidesPackageDrop{tabularx}[2016/02/03]
+\RequirePackage{array}
 %    \end{macrocode}
 
 %    \begin{macrocode}
@@ -59220,6 +59992,7 @@
 % \pkg{tabulary} is emulated by \pkg{lwarp}.
 %
 % \changes{v0.28}{2017/04/11}{\pkg{tabulary}: Added.}
+% \changes{v0.69}{2019/03/09}{\pkg{tabulary}: Require \pkg{array}.}
 %
 % \codehtml
 %
@@ -59229,6 +60002,7 @@
 % core code.
 %    \begin{macrocode}
 \LWR at ProvidesPackageDrop{tabulary}[2014/06/11]
+\RequirePackage{array}
 %    \end{macrocode}
 
 %    \begin{macrocode}
@@ -61336,8 +62110,98 @@
 %
 %
 %
+% \iffalse
+%<*tocdata>
+% \fi
 %
+% \part{lwarp-tocdata.sty}
+%
+% \section{tocdata}
+%
+% \credits{Brian Dunn}
+%
+% \DescribePackage{tocdata}
+% \pkg{tocdata} is patched for use by \pkg{lwarp}.
+%
+% \changes{v0.69}{2019/03/21}{\pkg{tocdata}: Added.}
+%
+% \codehtml
+%
+%    \begin{macrocode}
+\LWR at ProvidesPackagePass{tocdata}[2019/03/21]
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\renewcommand*{\LWR at maybetocdata}{%
+    \ifdefempty{\TD at thistocdata}{}{%
+        \qquad --- \InlineClass{authorartist}{\TD at thistocdata}%
+        \def\TD at thistocdata{}
+    }
+}
+
+\renewrobustcmd{\tocdatapartprint}[4]
+{%
+    \LWR at htmltagc{br /}%
+    \InlineClass{authorartist}{%
+        \qquad --- %
+        \TD at optionalname{#1}\TD at optionalname{#2}#3#4%
+    }%
+}
+
+\@ifundefined{chapter}{}{
+    \let\tocdatachapterprint\tocdatapartprint
+}
+\let\tocdatasectionprint\tocdatapartprint
+\let\tocdatasubsectionprint\tocdatapartprint
+
+\newcommand*{\LWR at TD@settextalign}[1]{%
+    \def\LWR at TD@textalign{justify}%
+    \ifcsstring{TD@#1align}{\centering}%
+        {\def\LWR at TD@textalign{center}}%
+        {}%
+    \ifcsstring{TD@#1align}{\raggedleft}%
+        {\def\LWR at TD@textalign{right}}%
+        {}%
+    \ifcsstring{TD@#1align}{\raggedright}%
+        {\def\LWR at TD@textalign{left}}%
+        {}%
+}
+
+\renewcommand{\TD at artistauthorprint}[5]{%
+    \LWR at TD@settextalign{#1}%
+    \begin{BlockClass}[text-align:\LWR at TD@textalign]{floatnotes}%
+    \InlineClass{authorartist}{\TD at optionalname{#2}\TD at optionalname{#3}#4#5}%
+    \end{BlockClass}%
+}
+
+\newcommand*{\LWR at TD@setnamealign}[1]{%
+    \def\LWR at TD@textalign{justify}%
+    \ifcsstring{TD@#1textalign}{\centering}%
+        {\def\LWR at TD@textalign{center}}%
+        {}%
+    \ifcsstring{TD@#1textalign}{\raggedleft}%
+        {\def\LWR at TD@textalign{right}}%
+        {}%
+    \ifcsstring{TD@#1textalign}{\raggedright}%
+        {\def\LWR at TD@textalign{left}}%
+        {}%
+}
+
+\renewcommand{\TD at artistauthortextprint}[2]{%
+    \LWR at TD@setnamealign{#1}%
+    \begin{BlockClass}[text-align:\LWR at TD@textalign]{floatnotes}%
+    #2%
+    \end{BlockClass}%
+}
+%    \end{macrocode}
+%
 % \iffalse
+%</tocdata>
+% \fi
+%
+%
+%
+% \iffalse
 %<*tocenter>
 % \fi
 %
@@ -62007,6 +62871,36 @@
 %
 %
 % \iffalse
+%<*topcapt>
+% \fi
+%
+% \part{lwarp-topcapt.sty}
+%
+% \section{topcapt}
+%
+% \DescribePackage{topcapt}
+% \pkg{topcapt} is emulated.
+%
+% \changes{v0.69}{2019/03/17}{\pkg{topcapt}: Added.}
+%
+% \codehtml
+%
+%    \begin{macrocode}
+\LWR at ProvidesPackageDrop{topcapt}[2004/12/11]
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\LetLtxMacro\topcaption\caption
+%    \end{macrocode}
+%
+% \iffalse
+%</topcapt>
+% \fi
+%
+%
+%
+%
+% \iffalse
 %<*tram>
 % \fi
 %
@@ -64880,6 +65774,12 @@
 }%
 \end{tabular}%
 \endtable%
+%    \end{macrocode}
+% \changes{v0.69}{2019/03/15}{\pkg{xtab}: Fix: Clear caption after use.}
+%    \begin{macrocode}
+\gdef\LWRXT at caption{}%
+%    \end{macrocode}
+%    \begin{macrocode}
 \LWR at traceinfo{xtabular done}%
 }
 

Modified: trunk/Master/texmf-dist/source/latex/lwarp/lwarp.ins
===================================================================
--- trunk/Master/texmf-dist/source/latex/lwarp/lwarp.ins	2019-03-22 20:49:29 UTC (rev 50534)
+++ trunk/Master/texmf-dist/source/latex/lwarp/lwarp.ins	2019-03-22 20:50:19 UTC (rev 50535)
@@ -112,6 +112,7 @@
 \file{lwarp-continue.sty}{\from{lwarp.dtx}{continue}}
 \file{lwarp-copyrightbox.sty}{\from{lwarp.dtx}{copyrightbox}}
 \file{lwarp-crop.sty}{\from{lwarp.dtx}{crop}}
+\file{lwarp-ctable.sty}{\from{lwarp.dtx}{ctable}}
 \file{lwarp-cuted.sty}{\from{lwarp.dtx}{cuted}}
 \file{lwarp-cutwin.sty}{\from{lwarp.dtx}{cutwin}}
 \file{lwarp-dblfloatfix.sty}{\from{lwarp.dtx}{dblfloatfix}}
@@ -138,6 +139,8 @@
 \file{lwarp-epsfig.sty}{\from{lwarp.dtx}{epsfig}}
 \file{lwarp-epstopdf.sty}{\from{lwarp.dtx}{epstopdf}}
 \file{lwarp-epstopdf-base.sty}{\from{lwarp.dtx}{epstopdf-base}}
+\file{lwarp-eqlist.sty}{\from{lwarp.dtx}{eqlist}}
+\file{lwarp-eqparbox.sty}{\from{lwarp.dtx}{eqparbox}}
 \file{lwarp-errata.sty}{\from{lwarp.dtx}{errata}}
 \file{lwarp-eso-pic.sty}{\from{lwarp.dtx}{eso-pic}}
 \file{lwarp-eurosym.sty}{\from{lwarp.dtx}{eurosym}}
@@ -179,6 +182,7 @@
 \file{lwarp-foreign.sty}{\from{lwarp.dtx}{foreign}}
 \file{lwarp-forest.sty}{\from{lwarp.dtx}{forest}}
 \file{lwarp-framed.sty}{\from{lwarp.dtx}{framed}}
+\file{lwarp-ftcap.sty}{\from{lwarp.dtx}{ftcap}}
 \file{lwarp-ftnright.sty}{\from{lwarp.dtx}{ftnright}}
 \file{lwarp-fullminipage.sty}{\from{lwarp.dtx}{fullminipage}}
 \file{lwarp-fullpage.sty}{\from{lwarp.dtx}{fullpage}}
@@ -219,6 +223,7 @@
 \file{lwarp-lineno.sty}{\from{lwarp.dtx}{lineno}}
 \file{lwarp-lips.sty}{\from{lwarp.dtx}{lips}}
 \file{lwarp-listings.sty}{\from{lwarp.dtx}{listings}}
+\file{lwarp-listliketab.sty}{\from{lwarp.dtx}{listliketab}}
 \file{lwarp-lltjext.sty}{\from{lwarp.dtx}{lltjext}}
 \file{lwarp-longtable.sty}{\from{lwarp.dtx}{longtable}}
 \file{lwarp-lscape.sty}{\from{lwarp.dtx}{lscape}}
@@ -246,6 +251,7 @@
 \file{lwarp-microtype.sty}{\from{lwarp.dtx}{microtype}}
 \file{lwarp-midfloat.sty}{\from{lwarp.dtx}{midfloat}}
 \file{lwarp-midpage.sty}{\from{lwarp.dtx}{midpage}}
+\file{lwarp-minitoc.sty}{\from{lwarp.dtx}{minitoc}}
 \file{lwarp-morefloats.sty}{\from{lwarp.dtx}{morefloats}}
 \file{lwarp-moreverb.sty}{\from{lwarp.dtx}{moreverb}}
 \file{lwarp-mparhack.sty}{\from{lwarp.dtx}{mparhack}}
@@ -385,11 +391,13 @@
 \file{lwarp-titling.sty}{\from{lwarp.dtx}{titling}}
 \file{lwarp-tocbasic.sty}{\from{lwarp.dtx}{tocbasic}}
 \file{lwarp-tocbibind.sty}{\from{lwarp.dtx}{tocbibind}}
+\file{lwarp-tocdata.sty}{\from{lwarp.dtx}{tocdata}}
 \file{lwarp-tocenter.sty}{\from{lwarp.dtx}{tocenter}}
 \file{lwarp-tocloft.sty}{\from{lwarp.dtx}{tocloft}}
 \file{lwarp-tocstyle.sty}{\from{lwarp.dtx}{tocstyle}}
 \file{lwarp-todo.sty}{\from{lwarp.dtx}{todo}}
 \file{lwarp-todonotes.sty}{\from{lwarp.dtx}{todonotes}}
+\file{lwarp-topcapt.sty}{\from{lwarp.dtx}{topcapt}}
 \file{lwarp-tram.sty}{\from{lwarp.dtx}{tram}}
 \file{lwarp-transparent.sty}{\from{lwarp.dtx}{transparent}}
 \file{lwarp-trimclip.sty}{\from{lwarp.dtx}{trimclip}}

Modified: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-amsthm.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-amsthm.sty	2019-03-22 20:49:29 UTC (rev 50534)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-amsthm.sty	2019-03-22 20:50:19 UTC (rev 50535)
@@ -19,11 +19,12 @@
 
 \@ifpackageloaded{mdframed}{
     \PackageError{lwarp}
-    {Package mdframed must be loaded after package amsthm.}
+    {Package mdframed must be loaded after package amsthm}
     {%
-        Move \detokenize{\usepackage}{amsthm} before \detokenize{\usepackage}{mdframed}.
-        Package amsthm may be loaded by something else, which must also be moved
-        before mdframed.%
+        Move \detokenize{\usepackage}{amsthm} before
+        \detokenize{\usepackage}{mdframed}.\MessageBreak
+        Package amsthm may be loaded by something else,\MessageBreak
+        which must also be moved before mdframed.%
     }
 }
 {}

Modified: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-array.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-array.sty	2019-03-22 20:49:29 UTC (rev 50534)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-array.sty	2019-03-22 20:50:19 UTC (rev 50535)
@@ -24,6 +24,8 @@
 
 \newcommand*{\LWR at HTML@lasthline}{\LWR at HTMLhline}%
 \LWR at expandableformatted{lasthline}
+\providecommand*{\LWR at HTML@tabularnewline}{\LWR at tabularendofline}
+\LWR at formatted{tabularnewline}
 \endinput
 %%
 %% End of file `lwarp-array.sty'.

Added: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-ctable.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-ctable.sty	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-ctable.sty	2019-03-22 20:50:19 UTC (rev 50535)
@@ -0,0 +1,135 @@
+%%
+%% This is file `lwarp-ctable.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx  (with options: `ctable')
+%% This is a generated file.
+%% Copyright 2016-2018 Brian Dunn
+%% 
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%%   http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+\LWR at ProvidesPackagePass{ctable}[2015/10/17]
+\newcommand{\LWR at HTML@ctable}[4][]{%
+   \let\@CTtaborfig  \@dfltCTtaborfig
+   \let\@CTalign     \@dfltCTalign
+   \let\@CTsideways  \@dfltCTsideways
+   \let\@CTcontinued \empty
+   \let\@CTpos       \@dfltCTpos
+   \let\@CTcaption   \empty
+   \let\@CTcap       \undefined
+   \let\@CTlabel     \empty
+   \let\@CTbotcap    \@dfltCTbotcap
+   \let\@CTstarred   \@dfltCTstarred
+   \let\@CTsuper     \@dfltCTsuper
+   \let\@CTnotespar  \@dfltCTnotespar
+   \let\@CTdoinside  \@dfltCTdoinside
+   \let\@CTbgopacity \@dfltCTbgopacity
+   \@CTframerule     \@dfltCTframerule
+   \@CTcaptionskip   \@dfltCTcaptionskip
+   \@CTframesep      \@dfltCTframesep
+   \@CTwidth         \@dfltCTwidth
+   \@CTmaxwidth      \@dfltCTmaxwidth
+   \@CTmincapwidth   \@dfltCTmincapwidth
+   \@CTfooterwidth   \@dfltCTfooterwidth
+   \def\@CTfgactual {@dfltCTframefg}%
+   \def\@CTbgactual {@dfltCTframebg}%
+   \def\@CTbeg      {\begin{\@CTsideways\@CTtaborfig\@CTstarred}}%
+   \def\@CTbegin    {\@CTbeg}%
+   \def\@CTend      {\end{\@CTsideways\@CTtaborfig\@CTstarred}}%
+   \setkeys{CT}{#1}%
+   \ifx\@CTcap\undefined\let\@CTcap\@CTcaption\fi
+   \ifx\@CTcap\empty
+     \if at CTcaptionloaded\else
+       \PackageWarningNoLine{ctable}{\MessageBreak
+          An empty cap= option prevents lot/loc entry only\MessageBreak
+          if the caption package is loaded!}
+     \fi
+   \fi
+   \if at CTinmemoir\else
+      \ifx\@CTbotcap\undefined
+         \PackageError{ctable}{\MessageBreak
+            You can, currently, use the sidecap option only with\MessageBreak
+            memoir documents. Use topcap or botcap only}
+      \fi
+   \fi
+   \ifdim\@CTwidth=0pt\else
+      \ifdim\@CTmaxwidth=0pt\else
+         \PackageError{ctable}{\MessageBreak
+            You may not use the width and maxwidth options together\MessageBreak
+            Use either width or maxwidth}
+      \fi
+   \fi
+   \ifx\@CTpos\empty
+      \ifx\@CTsideways\empty\else
+      \PackageError{ctable}{\MessageBreak
+         You may not use the pos and sideways options together\MessageBreak
+         Rotated tables and figures are always typeset on a separate page}
+      \fi
+   \fi
+   \ifx\@CTcaption\empty
+      \ifx\@CTlabel\empty\else
+         \PackageError{ctable}{\MessageBreak
+            You may not label a captionless table\MessageBreak
+            Such a label can't be referenced}
+      \fi
+   \fi
+   \@CTbegin
+      \ifx\@CTcontinued\empty\else\addtocounter{\@CTtaborfig}{-1}\fi
+      \@CTalign
+    \begin{center}
+        \setlength{\fboxrule}{\@CTframerule}
+        \setlength{\fboxsep}{\@CTframesep}
+        \LWR at forceminwidth{\fboxrule}%  lwarp
+        \convertcolorspec{named}{\@CTbgactual}{HTML}\LWR at tempcolor% lwarp
+        \begin{BlockClass}[%                            lwarp
+            border:
+                \LWR at printlength{\LWR at atleastonept}
+                solid
+                \LWR at colorstyle{named}{\@CTfgactual} ; %
+            padding:\LWR at printlength{\fboxsep} ; %
+            \ifdefstring{\LWR at tempcolor}{FFFFFF}{}{%
+                background: \LWR at colorstyle{named}{\@CTbgactual} ; %
+            }%
+        ]{fminipage}%       lwarp
+         \ifx\@CTbotcap\@CTfalse\@CTCaption\vskip\@CTcaptionskip\fi
+         \ifx\@CTbotcap\undefined%
+             \begin{sidecaption}[\@CTcap]{\@CTcaption}[\@CTlabel]
+         \fi
+         \@CTdoinside
+         \begin{tabularx}{\linewidth}{#2}%      lwarp
+            #4%
+         \end{tabularx}%                    lwarp
+         \def\@CTfootnotes{#3}%
+         \ifx#3\empty\else{% append footnotes, if any
+            \begin{BlockClass}{tnotes}%     lwarp
+            #3
+            \end{BlockClass}%               lwarp
+         }
+         \fi
+         \ifx\@CTbotcap\undefined\end{sidecaption}\fi
+         \ifx\@CTbotcap\@CTtrue\vskip\@CTcaptionskip\@CTCaption\fi
+        \end{BlockClass}
+    \end{center}
+   \@CTend
+}
+\LWR at formatted{ctable}
+\LetLtxMacro\FL\toprule
+\newcommand{\LWR at HTML@tmark}[1][a]{%
+   \textsuperscript{\textrm{\textit{#1}}}
+}
+\LWR at formatted{tmark}
+
+\newcommand{\LWR at HTML@tnote}[2][a]{%
+    \tmark[#1]\,#2\par
+}
+\LWR at formatted{tnote}
+\endinput
+%%
+%% End of file `lwarp-ctable.sty'.


Property changes on: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-ctable.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-eqlist.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-eqlist.sty	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-eqlist.sty	2019-03-22 20:50:19 UTC (rev 50535)
@@ -0,0 +1,32 @@
+%%
+%% This is file `lwarp-eqlist.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx  (with options: `eqlist')
+%% This is a generated file.
+%% Copyright 2016-2018 Brian Dunn
+%% 
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%%   http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+\LWR at ProvidesPackageDrop{eqlist}[2002/08/15]
+\newenvironment{eqlist}[1][]{\description}{\enddescription}
+\newenvironment{eqlist*}[1][]{\description}{\enddescription}
+\newenvironment{Eqlist}[2][]{\description}{\enddescription}
+\newenvironment{Eqlist*}[2][]{\description}{\enddescription}
+\newcommand*{\longitem}[1][]{\item[#1]}
+\newcommand*{\eqlistinit}{}
+\newcommand*{\eqliststarinit}{}
+\newcommand*{\eqlistinitpar}{}
+\def\eqlistlabel#1{#1}
+\newcommand{\eqlistauto}[1]{}
+\newcommand{\eqlistnoauto}{}
+\endinput
+%%
+%% End of file `lwarp-eqlist.sty'.


Property changes on: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-eqlist.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-eqparbox.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-eqparbox.sty	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-eqparbox.sty	2019-03-22 20:50:19 UTC (rev 50535)
@@ -0,0 +1,58 @@
+%%
+%% This is file `lwarp-eqparbox.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx  (with options: `eqparbox')
+%% This is a generated file.
+%% Copyright 2016-2018 Brian Dunn
+%% 
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%%   http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+\LWR at ProvidesPackagePass{eqparbox}[2017/09/03]
+\NewDocumentCommand{\LWR at HTML@eqparbox}{O{t} O{} O{t} m +m}{%
+    {%
+        \minipagefullwidth%
+        \parbox[#1][#2][#3]{\linewidth}{#5}%
+    }%
+}
+\LWR at formatted{eqparbox}
+
+\NewDocumentCommand{\LWR at HTML@eqmakebox}{o o m}{%
+    \makebox[#2]{#3}%
+}
+\LWR at formatted{eqmakebox}
+
+\NewDocumentCommand{\LWR at HTML@eqframebox}{o o m}{%
+    \framebox[#2]{#3}%
+}
+\LWR at formatted{eqframebox}
+
+\NewDocumentEnvironment{LWR at HTML@eqminipage}{O{t} O{} O{t} m}
+{%
+    \begingroup%
+    \minipagefullwidth%
+    \minipage[#1][#2][#3]{\linewidth}%
+}%
+{%
+    \endminipage%
+    \endgroup%
+}
+
+\newcommand*{\LWR at HTML@eqboxwidth}[1]{.25\linewidth}
+\LWR at formatted{eqboxwidth}
+
+\newcommand*{\LWR at HTML@eqsetminwidth}[2]{}
+\newcommand*{\LWR at HTML@eqsetmaxwidth}[2]{}
+
+\newcommand*{\LWR at HTML@eqsetminwidthto}[2]{}
+\newcommand*{\LWR at HTML@eqsetmaxwidthto}[2]{}
+\endinput
+%%
+%% End of file `lwarp-eqparbox.sty'.


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


Property changes on: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-ftcap.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-graphics.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-graphics.sty	2019-03-22 20:49:29 UTC (rev 50534)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-graphics.sty	2019-03-22 20:50:19 UTC (rev 50535)
@@ -100,6 +100,13 @@
 \define at key{igraph}{class}{\renewcommand*{\LWR at igclass}{#1}}
 \define at key{igraph}{alt}{\renewcommand*{\LWR at igalt}{#1}}
 \define at key{igraph}{scale}{%
+    \ifthenelse{\equal{#1}{1}}{}{%  must expand #1
+        \PackageWarning{lwarp}{%
+            It is recommended to use\MessageBreak
+            [width=xx\protect\linewidth]\MessageBreak
+            instead of [scale=yy],%
+        }%
+    }%
     \renewcommand*{\LWR at igxscale}{#1}%
     \renewcommand*{\LWR at igyscale}{#1}%
 }

Modified: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-keyfloat.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-keyfloat.sty	2019-03-22 20:49:29 UTC (rev 50534)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-keyfloat.sty	2019-03-22 20:50:19 UTC (rev 50535)
@@ -17,16 +17,91 @@
 %% version 2005/12/01 or later.
 
 
-\LWR at ProvidesPackagePass{keyfloat}[2017/05/12]
+\LWR at ProvidesPackagePass{keyfloat}[2019/03/21]
 
+\@ifpackagelater{keyfloat}{2019/03/21}{}{
+    \PackageError{lwarp-keyfloat}
+    {%
+        The keyfloat package is out of date.\MessageBreak
+        Update to keyfloat v2.00 2019/03/21 or later%
+    }
+    {%
+        Please update the keyfloat package.  It's worth it!%
+    }
+}
+
 \AtBeginDocument{
-\RenewDocumentCommand{\KFLT at onefigureimage}{}
+\providecommand*{\KFLT at LWR@hook at boxouter}{}
+\renewcommand*{\KFLT at LWR@hook at boxouter}{%
+    \ifbool{KFLT at keywrap}{}{%
+        \ifnumequal{\value{KFLT at keyfloatdepth}}{0}{%
+            \setlength{\linewidth}{6in}%
+            \setlength{\textwidth}{6in}%
+            \setlength{\textheight}{9in}%
+        }{}%
+    }%
+}
+
+\let\KFLT at LWR@hook at boxouter@minipage\relax
+\let\endKFLT at LWR@hook at boxouter@minipage\relax
+\newenvironment*{KFLT at LWR@hook at boxouter@minipage}[2][]{}{}
+
+\providecommand*{\KFLT at LWR@hook at keysubfloats}{}
+\renewcommand*{\KFLT at LWR@hook at keysubfloats}{%
+    \ifbool{KFLT at keywrap}{}{%
+        \ifnumequal{\value{KFLT at keyfloatdepth}}{0}{%
+            \setlength{\linewidth}{6in}%
+            \setlength{\textwidth}{6in}%
+            \setlength{\textheight}{9in}%
+        }{}%
+    }%
+}
+
+\let\KFLT at LWR@hook at keyfloatsminipage\relax
+\let\endKFLT at LWR@hook at keyfloatsminipage\relax
+\newenvironment*{KFLT at LWR@hook at keyfloatsminipage}[1]{}{}
+
+\providecommand*{\KFLT at LWR@hook at keyfloats}{}
+\renewcommand*{\KFLT at LWR@hook at keyfloats}{%
+    \ifbool{KFLT at keywrap}{}{%
+        \ifnumequal{\value{KFLT at keyfloatdepth}}{0}{%
+            \setlength{\linewidth}{6in}%
+            \setlength{\textwidth}{6in}%
+            \setlength{\textheight}{9in}%
+        }{}%
+    }%
+}
+
+\renewcommand*{\KFLT at maybeendfloatrow}{%
+    \ifnumless{\value{KFLT at thiscol}}{\value{KFLT at numcols}}%
+    {}% thiscol < numcols
+    {% >=
+        \defcounter{KFLT at thiscol}{0}%
+    }%
+}%
+
+\renewcommand{\KFLT at trackrows}%
 {%
+    \ifboolexpr{%
+        test {\ifnumgreater{\value{KFLT at keyfloatdepth}}{0}} or%
+        bool{KFLT at inkeysubfloats}%
+    }%
+    {% nested
+        \KFLT at maybestartfloatrow%
+        \ifnumgreater{\value{KFLT at thiscol}}{1}%
+            {%
+            }%
+            {}%
+    }% nested
+    {}% not nested
+}
+\RenewDocumentCommand{\KFLT at onefigureimage}{m}
+{%
 \LWR at traceinfo{KFLT at onefigureimage}%
 \ifthenelse{\NOT\equal{\KFLT at lw}{}}%
     {%
-        \includegraphics%
-        [scale=\KFLT at s,width=\KFLT at imagewidth]{\KFLT at i}%
+        \KFLT at frame{\includegraphics%
+        [scale=\KFLT at s,width=\KFLT at imagewidth]{#1}}%
     }%
     {% not linewidth
         \ifthenelse{\dimtest{\KFLT at w}{>}{0pt}}%
@@ -33,24 +108,24 @@
         {% width is given
             \ifthenelse{\dimtest{\KFLT at h}{>}{0pt}}%
             {% w and h
-                \includegraphics%
+                \KFLT at frame{\includegraphics%
                 [scale=\KFLT at s,%
-                width=\KFLT at imagewidth,height=\KFLT at h]{\KFLT at i}%
+                width=\KFLT at imagewidth,height=\KFLT at h]{#1}}%
             }% w and h
             {% only w
-                \includegraphics%
-                [scale=\KFLT at s,width=\KFLT at imagewidth]{\KFLT at i}%
+                \KFLT at frame{\includegraphics%
+                [scale=\KFLT at s,width=\KFLT at imagewidth]{#1}}%
             }% only w
         }% width is given
         {% width is not given
             \ifthenelse{\dimtest{\KFLT at h}{>}{0pt}}%
             {%
-                \includegraphics%
-                [scale=\KFLT at s,height=\KFLT at h]{\KFLT at i}%
+                \KFLT at frame{\includegraphics%
+                [scale=\KFLT at s,height=\KFLT at h]{#1}}%
             }%
             {%
-                \includegraphics%
-                [scale=\KFLT at s]{\KFLT at i}%
+                \KFLT at frame{\includegraphics%
+                [scale=\KFLT at s]{#1}}%
             }%
         }% width is not given
     }% not linewidth
@@ -58,51 +133,138 @@
 }
 \RenewDocumentEnvironment{KFLT at boxinner}{}
 {%
-\LWR at traceinfo{KFLT at boxinner}%
-\LWR at stoppars%
+    \LWR at traceinfo{KFLT at boxinner}%
+    \LWR at stoppars%
+    \minipagefullwidth%
+    \ifboolexpr{bool{KFLT at ft} or bool{KFLT at f}}{
+        \fminipage{\KFLT at imagewidth}%
+    }{%
+        \minipage{\KFLT at imagewidth}%
+    }%
 }
-{
-\LWR at startpars%
-\LWR at traceinfo{KFLT at boxinner: done}%
+{%
+    \ifboolexpr{bool{KFLT at ft} or bool{KFLT at f}}{
+        \endfminipage%
+    }{%
+        \endminipage%
+    }%
+    \LWR at startpars%
+    \LWR at traceinfo{KFLT at boxinner: done}%
 }
 
+\newcommand*{\LWR at KFLT@settextalign}[1]{%
+    \def\LWR at KFLT@textalign{justify}%
+    \ifcsstring{KFLT@#1textalign}{\centering}%
+        {\def\LWR at KFLT@textalign{center}}%
+        {}%
+    \ifcsstring{KFLT@#1textalign}{\raggedleft}%
+        {\def\LWR at KFLT@textalign{right}}%
+        {}%
+    \ifcsstring{KFLT@#1textalign}{\raggedright}%
+        {\def\LWR at KFLT@textalign{left}}%
+        {}%
+}
+
+\renewcommand{\KFLT at addtext}[1]
+{%
+    \ifcsempty{KFLT@#1t}%
+    {}% no text
+    {% text to add
+        {% local
+        \addvspace{\smallskipamount}%
+        \LWR at KFLT@settextalign{#1}%
+        \begin{BlockClass}[text-align:\LWR at KFLT@textalign]{floatnotes}%
+        \setlength{\parskip}{1.5ex}%
+        \setlength{\parindent}{0em}%
+        \csuse{KFLT@#1t}%
+        \end{BlockClass}%
+        }% local
+    }% text to add
+}
+
+\@ifpackageloaded{tocdata}
+{}
+{% tocdata not loaded
+
+    \newcommand*{\LWR at KFLT@setnamealign}[1]{%
+        \def\LWR at KFLT@textalign{justify}%
+        \ifstrequal{#1}{\centering}%
+            {\def\LWR at KFLT@textalign{center}}%
+            {}%
+        \ifstrequal{#1}{\raggedleft}%
+            {\def\LWR at KFLT@textalign{right}}%
+            {}%
+        \ifstrequal{#1}{\raggedright}%
+            {\def\LWR at KFLT@textalign{left}}%
+            {}%
+    }
+
+    \renewcommand*{\KFLT@@addartisttext}[3]{%
+    %    \end{macrocode}
+    % Add space and create the name inside a full-width minipage:
+    %    \begin{macrocode}
+    %     \begin{minipage}{\linewidth}%
+        \LWR at KFLT@setnamealign{#3}%
+        \begin{BlockClass}[text-align:\LWR at KFLT@textalign]{floatnotes}%
+    %    \end{macrocode}
+    % Text alignment is |#3|, and depends on artist or author:
+    %    \begin{macrocode}
+    %     #3%
+    %    \end{macrocode}
+    % |#1| is empty or '|subgrp'| \\
+    % |#2| is empty for artist, `|u|' for author:
+    %    \begin{macrocode}
+        \footnotesize\textsc{%
+            \KFLT at optionalname{\csuse{KFLT@#1a#2p}}%
+            \KFLT at optionalname{\csuse{KFLT@#1a#2f}}%
+            \csuse{KFLT@#1a#2l}%
+            \csuse{KFLT@#1a#2s}%
+        }%
+    %     \end{minipage}%
+        \end{BlockClass}
+    }
+
+}% tocdata not loaded
+
 \DeclareDocumentEnvironment{KFLT at marginfloat}{O{-1.2ex} m}
 {%
-\LWR at BlockClassWP{float:right; width:2in; margin:10pt}{}{marginblock}%
-\captionsetup{type=#2}%
+    \LWR at BlockClassWP{float:right; width:2in; margin:10pt}{}{marginblock}%
+    \captionsetup{type=#2}%
+    \minipage{2in}%
 }
 {%
-\endLWR at BlockClassWP%
+    \endminipage%
+    \endLWR at BlockClassWP%
 }
 
 \DeclareDocumentEnvironment{marginfigure}{o}
-  {\begin{KFLT at marginfloat}{figure}}
-  {\end{KFLT at marginfloat}}
+    {\begin{KFLT at marginfloat}{figure}}
+    {\end{KFLT at marginfloat}}
 
 \DeclareDocumentEnvironment{margintable}{o}
-  {\begin{KFLT at marginfloat}{table}}
-  {\end{KFLT at marginfloat}}
+    {\begin{KFLT at marginfloat}{table}}
+    {\end{KFLT at marginfloat}}
 
 \DeclareDocumentEnvironment{keywrap}{m +m}
 {%
-\LWR at ensuredoingapar%
-\setlength{\LWR at templengthone}{#1}%
-\begin{LWR at BlockClassWP}{%
-    float:right; width:\LWR at printlength{\LWR at templengthone};  % extra space
-    margin:10pt%
-}%
-{%
-    width:\LWR at printlength{\LWR at templengthone}%
-}%
-{marginblock}%
-\setlength{\linewidth}{.95\LWR at templengthone}%
-#2%
-\end{LWR at BlockClassWP}%
+    \LWR at ensuredoingapar%
+    \setlength{\linewidth}{6in}%
+    \setlength{\LWR at templengthone}{#1}%
+    \begin{LWR at BlockClassWP}%
+        {%
+            float:right; width:\LWR at printlength{\LWR at templengthone};  % extra space
+            margin:10pt%
+        }%
+        {%
+            width:\LWR at printlength{\LWR at templengthone}%
+        }%
+        {marginblock}%
+    \setlength{\linewidth}{.95\LWR at templengthone}%
+    \booltrue{KFLT at keywrap}%
+    #2%
+    \end{LWR at BlockClassWP}%
 }
-{%
-}
-
-
+{}
 }% AtBeginDocument
 
 \endinput

Added: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-listliketab.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-listliketab.sty	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-listliketab.sty	2019-03-22 20:50:19 UTC (rev 50535)
@@ -0,0 +1,24 @@
+%%
+%% This is file `lwarp-listliketab.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx  (with options: `listliketab')
+%% This is a generated file.
+%% Copyright 2016-2018 Brian Dunn
+%% 
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%%   http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+\LWR at ProvidesPackageDrop{listliketab}[2005/01/09]
+\newcommand*{\storestyleof}[1]{}
+\newcommand*{\storeliststyle}{}
+\newenvironment{listliketab}{}{}
+\endinput
+%%
+%% End of file `lwarp-listliketab.sty'.


Property changes on: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-listliketab.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-longtable.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-longtable.sty	2019-03-22 20:49:29 UTC (rev 50534)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-longtable.sty	2019-03-22 20:50:19 UTC (rev 50535)
@@ -84,7 +84,8 @@
 \def\endfirsthead{\LWR at longtable@maybeheaderror}
 \def\endfoot{\LWR at longtable@headerror}
 \def\endlastfoot{\LWR at longtable@headerror}
-\newcommand\tabularnewline{\LWR at tabularendofline}
+\providecommand*{\LWR at HTML@tabularnewline}{\LWR at tabularendofline}
+\LWR at formatted{tabularnewline}
 \newcommand{\setlongtables}{}% Obsolete command, does nothing.
 \newlength{\LTleft}
 \newlength{\LTright}

Added: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-minitoc.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-minitoc.sty	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-minitoc.sty	2019-03-22 20:50:19 UTC (rev 50535)
@@ -0,0 +1,22 @@
+%%
+%% This is file `lwarp-minitoc.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx  (with options: `minitoc')
+%% This is a generated file.
+%% Copyright 2016-2018 Brian Dunn
+%% 
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%%   http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+\LWR at ProvidesPackageDrop{minitoc}[2018/07/12]
+\usepackage{mtcoff}
+\endinput
+%%
+%% End of file `lwarp-minitoc.sty'.


Property changes on: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-minitoc.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-multirow.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-multirow.sty	2019-03-22 20:49:29 UTC (rev 50534)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-multirow.sty	2019-03-22 20:50:19 UTC (rev 50535)
@@ -23,6 +23,7 @@
 \NewDocumentCommand{\LWR at HTML@multirow}{O{c} m o m o +m}%
 {%
 \LWR at traceinfo{*** LWR at HTML@multirow #1 #2 #4}%
+\booltrue{LWR at usedmultirow}%
 \LWR at maybenewtablerow%
 \LWR at tabularleftedge%
 \LWR at htmltag{td rowspan="#2" %
@@ -58,6 +59,7 @@
 \AtBeginDocument{
 
 \NewExpandableDocumentCommand{\LWR at HTML@multicolumnrow}{m m O{} m O{} m O{} +m}{%
+\booltrue{LWR at usedmultirow}%
 \LWR at tabularhtmlcolumns{\arabic{LWR at tableLaTeXcolindex}}{#1}
 \begingroup%
 \LetLtxMacro{\\}{\LWR at endofline}%

Modified: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-rotating.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-rotating.sty	2019-03-22 20:49:29 UTC (rev 50534)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-rotating.sty	2019-03-22 20:50:19 UTC (rev 50535)
@@ -18,6 +18,7 @@
 
 
 \LWR at ProvidesPackageDrop{rotating}[2016/08/11]
+\RequirePackage{graphicx}
 
 \LetLtxMacro\sidewaystable\table
 \let\endsidewaystable\endtable

Modified: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-supertabular.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-supertabular.sty	2019-03-22 20:49:29 UTC (rev 50534)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-supertabular.sty	2019-03-22 20:50:19 UTC (rev 50535)
@@ -65,6 +65,7 @@
 }%
 \end{tabular}%
 \end{table}%
+\gdef\LWRST at caption{}%
 \LWR at traceinfo{supertabular done}%
 }
 

Modified: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-tabularx.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-tabularx.sty	2019-03-22 20:49:29 UTC (rev 50534)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-tabularx.sty	2019-03-22 20:50:19 UTC (rev 50535)
@@ -18,6 +18,7 @@
 
 
 \LWR at ProvidesPackageDrop{tabularx}[2016/02/03]
+\RequirePackage{array}
 
 \DeclareDocumentEnvironment{tabularx}{m o m}
 {\tabular{#3}}

Modified: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-tabulary.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-tabulary.sty	2019-03-22 20:49:29 UTC (rev 50534)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-tabulary.sty	2019-03-22 20:50:19 UTC (rev 50535)
@@ -18,6 +18,7 @@
 
 
 \LWR at ProvidesPackageDrop{tabulary}[2014/06/11]
+\RequirePackage{array}
 
 \NewDocumentEnvironment{tabulary}{m o m}
 {\tabular{#3}}

Added: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-tocdata.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-tocdata.sty	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-tocdata.sty	2019-03-22 20:50:19 UTC (rev 50535)
@@ -0,0 +1,82 @@
+%%
+%% This is file `lwarp-tocdata.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lwarp.dtx  (with options: `tocdata')
+%% This is a generated file.
+%% Copyright 2016-2018 Brian Dunn
+%% 
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%%   http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+\LWR at ProvidesPackagePass{tocdata}[2019/03/21]
+\renewcommand*{\LWR at maybetocdata}{%
+    \ifdefempty{\TD at thistocdata}{}{%
+        \qquad --- \InlineClass{authorartist}{\TD at thistocdata}%
+        \def\TD at thistocdata{}
+    }
+}
+
+\renewrobustcmd{\tocdatapartprint}[4]
+{%
+    \LWR at htmltagc{br /}%
+    \InlineClass{authorartist}{%
+        \qquad --- %
+        \TD at optionalname{#1}\TD at optionalname{#2}#3#4%
+    }%
+}
+
+\@ifundefined{chapter}{}{
+    \let\tocdatachapterprint\tocdatapartprint
+}
+\let\tocdatasectionprint\tocdatapartprint
+\let\tocdatasubsectionprint\tocdatapartprint
+
+\newcommand*{\LWR at TD@settextalign}[1]{%
+    \def\LWR at TD@textalign{justify}%
+    \ifcsstring{TD@#1align}{\centering}%
+        {\def\LWR at TD@textalign{center}}%
+        {}%
+    \ifcsstring{TD@#1align}{\raggedleft}%
+        {\def\LWR at TD@textalign{right}}%
+        {}%
+    \ifcsstring{TD@#1align}{\raggedright}%
+        {\def\LWR at TD@textalign{left}}%
+        {}%
+}
+
+\renewcommand{\TD at artistauthorprint}[5]{%
+    \LWR at TD@settextalign{#1}%
+    \begin{BlockClass}[text-align:\LWR at TD@textalign]{floatnotes}%
+    \InlineClass{authorartist}{\TD at optionalname{#2}\TD at optionalname{#3}#4#5}%
+    \end{BlockClass}%
+}
+
+\newcommand*{\LWR at TD@setnamealign}[1]{%
+    \def\LWR at TD@textalign{justify}%
+    \ifcsstring{TD@#1textalign}{\centering}%
+        {\def\LWR at TD@textalign{center}}%
+        {}%
+    \ifcsstring{TD@#1textalign}{\raggedleft}%
+        {\def\LWR at TD@textalign{right}}%
+        {}%
+    \ifcsstring{TD@#1textalign}{\raggedright}%
+        {\def\LWR at TD@textalign{left}}%
+        {}%
+}
+
+\renewcommand{\TD at artistauthortextprint}[2]{%
+    \LWR at TD@setnamealign{#1}%
+    \begin{BlockClass}[text-align:\LWR at TD@textalign]{floatnotes}%
+    #2%
+    \end{BlockClass}%
+}
+\endinput
+%%
+%% End of file `lwarp-tocdata.sty'.


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


Property changes on: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-topcapt.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-xtab.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-xtab.sty	2019-03-22 20:49:29 UTC (rev 50534)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp-xtab.sty	2019-03-22 20:50:19 UTC (rev 50535)
@@ -72,6 +72,7 @@
 }%
 \end{tabular}%
 \endtable%
+\gdef\LWRXT at caption{}%
 \LWR at traceinfo{xtabular done}%
 }
 

Modified: trunk/Master/texmf-dist/tex/latex/lwarp/lwarp.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lwarp/lwarp.sty	2019-03-22 20:49:29 UTC (rev 50534)
+++ trunk/Master/texmf-dist/tex/latex/lwarp/lwarp.sty	2019-03-22 20:50:19 UTC (rev 50535)
@@ -17,7 +17,7 @@
 %% version 2005/12/01 or later.
 \NeedsTeXFormat{LaTeX2e}[1999/12/01]
 \ProvidesPackage{lwarp}
-    [2019/03/05 v0.68  Allows LaTeX to directly produce HTML5 output.]
+    [2019/03/21 v0.69  Allows LaTeX to directly produce HTML5 output.]
 
 
 
@@ -51,10 +51,15 @@
 \@ifpackageloaded{#1}
 {
     \PackageError{lwarp}
-        {Package #1, or one which uses #1, must be loaded after lwarp}
-        {Move \detokenize{\usepackage}{#1} after \detokenize{\usepackage}{lwarp}.
-        Package #1 may also be loaded by something else, which must also be moved
-        after lwarp.}
+        {%
+            Package #1,\MessageBreak
+            or one which uses #1,\MessageBreak
+            must be loaded after lwarp
+        }
+        {Move \detokenize{\usepackage}{#1} after
+        \detokenize{\usepackage}{lwarp}.\MessageBreak
+        Package #1 may also be loaded by something else,\MessageBreak
+        which must also be moved after lwarp.}
 }
 {}
 }
@@ -96,12 +101,17 @@
 
 \newcommand*{\LWR at loadnever}[2]{%
 \PackageError{lwarp}
-{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.}
+{%
+    Package #1 is not supported\MessageBreak
+    by lwarp's HTML conversion.\MessageBreak
+    Package(s) #2 may be useful instead
 }
+{%
+    Package #1 might conflict with lwarp in some way,\MessageBreak
+    or is superceded by another package.\MessageBreak
+    For a possible alternative, see package(s) #2.
+}
+}
 \newcommand*{\LWR at checkloadnever}[3]{%
     \edef\LWR at tempone{#1}%
     \ifdefstring{\LWR at tempone}{#2}{%
@@ -111,21 +121,31 @@
 \newcommand*{\LWR at earlyloadnever}[2]{%
 \@ifpackageloaded{#1}{%
 \PackageError{lwarp}
-{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.}
+{%
+    Package #1 is not supported\MessageBreak
+    by lwarp's HTML conversion.\MessageBreak
+    Package(s) #2 may be useful instead
+}
+{%
+    Package #1 might conflict with lwarp in some way,\MessageBreak
+    or is superceded by another package.\MessageBreak
+    For a possible alternative, see package(s) #2.
+}
 }{}%
 }
 \newcommand*{\LWR at earlyclassloadnever}[2]{%
 \@ifclassloaded{#1}{%
 \PackageError{lwarp}
-{Class #1 is not supported by lwarp's HTML conversion.
-Class(es) #2 may be useful instead}
-{Class #1 might conflict with lwarp in some way,
-or is superceded by another class.
-For a possible alternative, see class(es) #2.}
+{%
+    Class #1 is not supported\MessageBreak
+    by lwarp's HTML conversion.\MessageBreak
+    Class(es) #2 may be useful instead
+}
+{%
+    Class #1 might conflict with lwarp in some way,\MessageBreak
+    or is superceded by another class.\MessageBreak
+    For a possible alternative, see class(es) #2.
+}
 }{}%
 }
 \LWR at earlyclassloadnever{jarticle}{ujarticle}
@@ -237,6 +257,7 @@
 \LWR at loadafter{continue}
 \LWR at loadafter{copyrightbox}
 \LWR at notmemoirloadafter{crop}
+\LWR at loadafter{ctable}
 \LWR at loadafter{cuted}
 \LWR at loadafter{cutwin}
 \LWR at loadafter{dblfloatfix}
@@ -263,6 +284,8 @@
 \LWR at loadafter{epsfig}
 \LWR at loadafter{epstopdf}
 \LWR at loadafter{epstopdf-base}
+\LWR at loadafter{eqlist}
+\LWR at loadafter{eqparbox}
 \LWR at loadafter{errata}
 \LWR at loadafter{eso-pic}
 \LWR at loadafter{eurosym}
@@ -305,6 +328,7 @@
 \LWR at loadafter{foreign}
 \LWR at loadafter{forest}
 \LWR at loadafter{framed}
+\LWR at loadafter{ftcap}
 \LWR at loadafter{ftnright}
 \LWR at loadafter{fullminipage}
 \LWR at loadafter{fullpage}
@@ -343,6 +367,7 @@
 \LWR at loadafter{lineno}
 \LWR at loadafter{lips}
 \LWR at loadafter{listings}
+\LWR at loadafter{listliketab}
 \LWR at loadafter{longtable}
 \LWR at loadafter{lscape}
 \LWR at loadafter{ltablex}
@@ -368,6 +393,7 @@
 \LWR at loadafter{microtype}
 \LWR at loadafter{midfloat}
 \LWR at loadafter{midpage}
+\LWR at loadafter{minitoc}
 \LWR at notmemoirloadafter{moreverb}
 \LWR at notmemoirloadafter{mparhack}
 \LWR at loadafter{multicap}
@@ -503,11 +529,13 @@
 \LWR at loadafter{titletoc}
 \LWR at notmemoirloadafter{titling}
 \LWR at notmemoirloadafter{tocbibind}
+\LWR at loadafter{tocdata}
 \LWR at loadafter{tocenter}
 \LWR at notmemoirloadafter{tocloft}
 \LWR at loadafter{tocstyle}
 \LWR at loadafter{todo}
 \LWR at loadafter{todonotes}
+\LWR at loadafter{topcapt}
 \LWR at loadafter{tram}
 \LWR at loadafter{transparent}
 \LWR at loadafter{trimclip}
@@ -1125,7 +1153,9 @@
 \begin{warpHTML}
 
 \NewDocumentCommand{\LWR at ProvidesPackagePass}{m o}{
-\PackageInfo{lwarp}{Using package `#1' and adding lwarp modifications, including options,}%
+\PackageInfo{lwarp}{%
+    Using package `#1' and adding lwarp modifications,\MessageBreak
+    including options,}%
 \IfValueTF{#2}
 {\ProvidesPackage{lwarp-#1}[#2]}
 {\ProvidesPackage{lwarp-#1}}
@@ -1139,7 +1169,10 @@
 }
 
 \NewDocumentCommand{\LWR at ProvidesPackageDrop}{m o}{
-\PackageInfo{lwarp}{Replacing package `#1' with the lwarp version, discarding options,}%
+\PackageInfo{lwarp}{%
+    Replacing package `#1' with the lwarp version,\MessageBreak
+    and discarding options,%
+}%
 \IfValueTF{#2}
 {\ProvidesPackage{lwarp-#1}[#2]}
 {\ProvidesPackage{lwarp-#1}}
@@ -2171,6 +2204,7 @@
 
 div.marginblock, div.marginparblock {
     max-width:50%;
+    min-width: 10em; /* room for caption */
     float:right;
     text-align:left;
     margin: 1ex 0.5em 1ex 1em ;
@@ -3018,6 +3052,19 @@
 /* Used for algorithmicx: */
 span.floatright { float: right ; }
 
+/* keyfloat and tocdata: */
+.floatnotes {
+    margin: 0ex 5% 0ex 5% ;
+    padding: 0ex 1em 0ex 1em ;
+    font-size:.80em ;
+    text-align: left ;
+}
+
+.authorartist{
+    font-size:.70em ;
+    font-style: italic;
+}
+
 /* Native LaTeX theorems: */
 
 .theoremcontents { font-style: italic; margin-top: 3ex ; margin-bottom: 3ex ; }
@@ -3867,7 +3914,7 @@
 
 -- Copyright 2016-2018 Brian Dunn
 
-printversion = "v0.68"
+printversion = "v0.69"
 requiredconfversion = "2" -- also at *lwarpmk.conf
 
 function printhelp ()
@@ -6045,13 +6092,17 @@
         \csdef{LWR at filename\LWR at hashedname}{}%
     }{%
         \PackageError{lwarp}
-            {
-                Section name ``#1'', at the line number listed below,
-                generates the filename ``\LWR at thisfilename'',
-                which appears to be a duplicate.
-                There is a previous section with an identical or similar name.%
+            {%
+                Section name\MessageBreak
+                ``#1'',\MessageBreak
+                at the line number listed below,\MessageBreak
+                generates the filename\MessageBreak
+                ``\LWR at thisfilename'',\MessageBreak
+                which appears to be a duplicate.\MessageBreak
+                There is a previous section with an\MessageBreak
+                identical or similar name%
             }
-            {
+            {%
                 Lwarp sanitizes most symbols and a few common short words
                 when generating file names, and this may cause a conflict.
             }
@@ -7292,6 +7343,10 @@
 
 \newbool{LWR at skippingmcolrowcell}
 
+\newbool{LWR at usedmultirow}
+
+\newbool{LWR at foundmrowcell}
+
 \newbool{LWR at skipatbang}
 
 \newbool{LWR at emptyatbang}
@@ -7616,6 +7671,17 @@
 \addtocounter{LWR at tablecolspecindex}{2}%
 }
 
+\newcommand*{\LWR at parsestarcolumn}{%
+    \PackageError{lwarp}%
+        {%
+            The tabular star column specifier\MessageBreak
+            *{xx}{yy}\MessageBreak
+            is not yet supported by lwarp%
+        }%
+        {Convert *{xx}{yy} to xx copies of yy.}%
+    \addtocounter{LWR at tablecolspecindex}{2}%
+}
+
 \newcommand*{\LWR at parseDcolumn}[1]{%
 \LWR at parsenormalcolumn{#1}%
 \addtocounter{LWR at tablecolspecindex}{3}%
@@ -7693,6 +7759,7 @@
 \IfStrEq{\LWR at strresult}{b}{\LWR at parsepcolumn{b}}{}%
 \IfStrEq{\LWR at strresult}{w}{\LWR at parsewcolumn}{}%
 \IfStrEq{\LWR at strresult}{W}{\LWR at parsewcolumn}{}%
+\IfStrEq{\LWR at strresult}{*}{\LWR at parsestarcolumn}{}%
 \IfStrEq{\LWR at strresult}{D}{\LWR at parseDcolumn{c}}{}%
 \IfStrEq{\LWR at strresult}{X}{\LWR at parsenormalcolumn{X}}{}%
 \IfStrEq{\LWR at strresult}{P}{\LWR at parsepcolumn{P}}{}%
@@ -8775,6 +8842,8 @@
 \LWR at nullifyNoAutoSpacing%
 \global\boolfalse{LWR at exitingtabular}%
 \global\boolfalse{LWR at tabularmutemods}%
+\boolfalse{LWR at usedmultirow}
+\boolfalse{LWR at foundmrowcell}
 \global\booltrue{LWR at intabularmetadata}%
 \LWR at traceinfo{LWR@@tabular: About to LWR at forecenewpage.}%
 \LWR at forcenewpage
@@ -8826,10 +8895,12 @@
     \LWR at maybenewtablerow%
     \LWR at tabularleftedge%
     \global\booltrue{LWR at skippingmrowcell}%
+    \booltrue{LWR at foundmrowcell}%
 }%
 \renewcommand*{\mcolrowcell}{%
     \LWR at maybenewtablerow%
     \global\booltrue{LWR at skippingmcolrowcell}%
+    \booltrue{LWR at foundmrowcell}%
 }%
 \LetLtxMacro\caption\LWR at longtabledatacaptiontag%
 \global\boolfalse{LWR at tableparcell}%
@@ -8873,6 +8944,25 @@
 \addtocounter{LWR at tabulardepth}{-1}%
 \protected\gdef&{\LWR at origampmacro}%
 \StopDefiningTabulars%
+\ifbool{LWR at usedmultirow}{%
+    \ifbool{LWR at foundmrowcell}%
+        {}%
+        {%
+            \PackageError{lwarp}%
+            {%
+                When using \protect\multirow, \protect\multicolumnrow,\MessageBreak
+                or the bigdelim package,\MessageBreak
+                place \protect\mrowcell\space or \protect\mcolrowcell\MessageBreak
+                in empty cells which are to be skipped.\MessageBreak
+                See the lwarp package documentation:\MessageBreak
+                "Special cases and limitations" -> "Tabular"
+            }%
+            {%
+                See the lwarp package documentation:\MessageBreak
+                "Special cases and limitations" -> "Tabular".
+            }%
+        }%
+}{}%
 \LWR at traceinfo{LWR at HTML@endtabular finished}%
 }
 
@@ -9494,6 +9584,8 @@
 
 \LetLtxMacro\numberline\LWR at numberline
 
+\newcommand*{\LWR at maybetocdata}{}
+
 \NewDocumentCommand{\hypertoc}{m m +m m}{%
 \LWR at traceinfo{hypertoc !#1!#2!#3!#4!}%
 \ifthenelse{\cnttest{#1}{<=}{\value{tocdepth}}}%
@@ -9503,6 +9595,7 @@
             \LWR at htmlrefsectionfilename{autopage-#4}%
                 \LWR at origpound\LWR at print@mbox{autosec-#4}%
         }{#3}{toc#2}%
+        \LWR at maybetocdata%
         \LWR at stoppars%
     }%
     {}%
@@ -9533,6 +9626,7 @@
         \LWR at htmlrefsectionfilename{autopage-\arabic{LWR at nextautopage}}%
         \LWR at origpound\LWR at print@mbox{autoid-\arabic{LWR at nextautoid}}}%
         {#4}{toc#2}%
+        \LWR at maybetocdata%
         \LWR at stoppars%
     }%
     {}%
@@ -10582,7 +10676,6 @@
 \LWR at traceinfo{lateximage: ending outer-most lateximage}%
     \endLWR at print@minipage%
     \LWR at orignewpage%
-    \LWR at print@scriptsize%
     \LWR at print@vspace*{.5\baselineskip}%
     \LWR at htmlclosecomment%
     \LWR at traceinfo{lateximage: The page after the image is \arabic{page}}%
@@ -11118,32 +11211,64 @@
 \newcommand*{\LWR at HTML@mbox}[1]{#1}
 
 \LWR at formatted{mbox}
-\NewDocumentCommand{\LWR at HTML@makebox}{d() o o m}{%
-\IfValueTF{#2}%
-{%
-    {% scope
+\NewDocumentCommand{\LWR@@makebox at paren}{m m}{%
+\IfValueTF{#2}{%
+    \setlength{\LWR at tempwidth}{#1\unitlength}%
+    \setlength{\LWR at tempheight}{#2\unitlength}%
+    \appto{\LWR at temptwo}{%
+        \LWR at print@mbox{width:\LWR at printlength{\LWR at tempwidth}} ; % space
+        \LWR at print@mbox{height:\LWR at printlength{\LWR at tempheight}} ; % space
+    }%
+}{%
+    \PackageError{lwarp}%
+        {(width,height) is missing a comma ',' character}%
+        {\protect\makebox\space \protect\framebox\space accept
+            a size in the format (width,height).}%
+}%
+}
+\newcommand*{\LWR@@makebox at align}[1]{%
     \def\LWR at align{center}%
-    \ifstrequal{#3}{l}{\def\LWR at align{left}}{}%
-    \ifstrequal{#3}{r}{\def\LWR at align{right}}{}%
-    \ifstrequal{#3}{s}{\def\LWR at align{justify}}{}%
-    \setlength{\LWR at tempwidth}{#2}%
+    \ifstrequal{#1}{l}{\def\LWR at align{left}}{}%
+    \ifstrequal{#1}{r}{\def\LWR at align{right}}{}%
+    \ifstrequal{#1}{s}{\def\LWR at align{justify}}{}%
+    \appto{\LWR at temptwo}{%
+        \LWR at print@mbox{text-align:\LWR at align} ; %
+    }%
+}
+\NewDocumentCommand{\LWR at HTML@makebox}{>{\SplitArgument{1}{,}}d() o o m}{%
+{% scope
+    \def\LWR at temptwo{}%
+    \IfValueTF{#1}%
+    {% (width,height) ..
+        \LWR@@makebox at paren #1%
+        \IfValueT{#2}%
+        {% (width,height) [posn]
+            \LWR@@makebox at align{#2}%
+        }%
+    }%
+    {% [width]
+        \setlength{\LWR at tempwidth}{#2}%
+        \appto{\LWR at temptwo}{%
+            width:\LWR at printlength{\LWR at tempwidth} ; % space
+        }%
+        \IfValueT{#3}%
+        {% [width] [posn]
+            \LWR@@makebox at align{#3}%
+        }%
+    }%
     \InlineClass[%
         \LWR at print@mbox{display:inline-block} ; %
-        \LWR at print@mbox{text-align}:\LWR at align\ ; %
-        width:\LWR at printlength{\LWR at tempwidth}%
+        \LWR at temptwo%
     ]%
     {makebox}%
     {#4}%
-    }% scope
-}%
-{#4}% no width
+}% scope
 }
-
 \LWR at formatted{makebox}
 \LetLtxMacro\LWR at origframebox\framebox
 
-\NewDocumentCommand{\LWR at HTML@framebox}{o o m}{%
-\fbox{\makebox[#1][#2]{#3}}%
+\NewDocumentCommand{\LWR at HTML@framebox}{d() o o m}{%
+    \fbox{\makebox(#1)[#2][#3]{#4}}%
 }
 
 \LWR at formatted{framebox}
@@ -11219,7 +11344,6 @@
 \LetLtxMacro\endfminipage\endLWR at print@fminipage
 
 \end{warpall}
-
 \begin{warpHTML}
 
 \NewDocumentEnvironment{LWR at HTML@fminipage}{O{t} o O{t} m}
@@ -11232,7 +11356,17 @@
 \begin{BlockClass}[%
 \LWR at fboxstyle ; %
 \IfValueT{#2}{height:\LWR at printlength{\LWR at tempheight} ; }%
-width:\LWR at printlength{\LWR at tempwidth}%
+\ifbool{LWR at minipagefullwidth}%
+{\global\boolfalse{LWR at minipagefullwidth}}%
+{%
+    \ifbool{LWR at forceminipagefullwidth}%
+        {}%
+        {%
+            \ifthenelse{\lengthtest{\LWR at tempwidth}=\linewidth}%
+                {}%
+                {width:\LWR at printlength{\LWR at tempwidth} ; }%
+        }%
+}%
 ]{fminipage}%
 }
 {%



More information about the tex-live-commits mailing list