summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2017-03-23 21:28:36 +0000
committerKarl Berry <karl@freefriends.org>2017-03-23 21:28:36 +0000
commita446276fde2e4a633907b16a14023894d6df7054 (patch)
tree02f2dd0fd46a864032895b8b37c58aa3269670ec /Master/texmf-dist/source
parent652642986982eb46e55c24b1163900fd1f995055 (diff)
lwarp (23mar17)
git-svn-id: svn://tug.org/texlive/trunk@43584 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source')
-rw-r--r--Master/texmf-dist/source/latex/lwarp/lwarp.dtx1577
-rw-r--r--Master/texmf-dist/source/latex/lwarp/lwarp.ins9
2 files changed, 1519 insertions, 67 deletions
diff --git a/Master/texmf-dist/source/latex/lwarp/lwarp.dtx b/Master/texmf-dist/source/latex/lwarp/lwarp.dtx
index 7d75f17ad54..25aeed06563 100644
--- a/Master/texmf-dist/source/latex/lwarp/lwarp.dtx
+++ b/Master/texmf-dist/source/latex/lwarp/lwarp.dtx
@@ -16,7 +16,7 @@
% \iffalse
%<package>\NeedsTeXFormat{LaTeX2e}[1999/12/01]
%<package>\ProvidesPackage{lwarp}
-%<package> [2017/03/15 v0.24 Allows LaTeX to directly produce HTML5 output.]
+%<package> [2017/03/22 v0.25 Allows LaTeX to directly produce HTML5 output.]
%
%<*driver>
\documentclass{ltxdoc}
@@ -56,7 +56,6 @@
\newunicodechar{Ô}{\^{O}}
\newunicodechar{ê}{\^{e}}
-
\usepackage[log-declarations=false]{xparse}
\usepackage[lwarpmk]{lwarp-newproject}
@@ -178,6 +177,9 @@ Keywords={LaTeX, HTML, conversion}%
\newcommand{\goesto}{$\Rightarrow$}
+\newcommand{\credits}[1]{{\footnotesize(\textit{Based on original code by} \textsc{#1}.)}}
+
+
\newcommand{\userentry}[1]{%
\par
\smallskip
@@ -421,6 +423,22 @@ Limitations when using MathJax include:
\end{itemize}
}
+\newcommand{\limitsntheorem}{%
+This conversion is not total.
+\watchout[Font control]
+Font control is via \acro{CSS}, and the custom \LaTeX\ font settings
+are ignored.
+
+\pkg{ntheorem} has a bug with equation numbering in AMS environments
+\watchout[Equation numbering]
+when the option \texttt{thref} is used. \pkg{lwarp} does not share
+this bug, so equations with \cs{split}, etc, are numbered correctly
+with \pkg{lwarp}'s \acro{HTML} output, but not with the print output.
+It is recommended to use \pkg{cleveref} instead of \pkg{ntheorem}'s
+\texttt{thref} option.
+}
+
+
\newcommand{\limitsgraphics}{%
\cs{graphicspath} only works for a single directory;
\margintag{\cs{graphicspath}}
@@ -799,7 +817,7 @@ operating-system path separator used by \pkg{lwarp}.
%<*package>
% \fi
%
-% \CheckSum{9001}
+% \CheckSum{10279}
%
% \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
@@ -861,6 +879,8 @@ operating-system path separator used by \pkg{lwarp}.
% \changes{v0.22}{2017/03/02}{\ 2017/03/02}
% \changes{v0.23}{2017/03/02}{\ 2017/03/02}
% \changes{v0.24}{2017/03/15}{\ 2017/03/15}
+% \changes{v0.25}{2017/03/22}{\ 2016/03/22}
+% \changes{v0.25}{2017/03/16}{Docs: Adds credits for patched code.}
@@ -987,9 +1007,19 @@ operating-system path separator used by \pkg{lwarp}.
% \section{Updates}
% \label{sec:updates}
%
+% The following is intended for those updating existing projects which use
+% \pkg{lwarp}, highlighting any special changes which must be made due
+% to improvements or modifications in \pkg{lwarp} itself.
+%
% For a detailed list of changes, see the Change History on page \pageref{sec:changehistory}.
%
% \begin{description}
+% \item[v0.25:] \
+% \begin{itemize}
+% \item Fix: Allows \pkg{graphicx} and \pkg{graphicsx} before \pkg{lwarp} because
+% \XeLaTeX\ and \LuaLaTeX\ use \pkg{xunicode} which uses \pkg{graphics}.
+% \item Package support for \pkg{framed}, several theorem packages, and ellipses.
+% \end{itemize}
% \item[v0.24:] \
% \begin{itemize}
% \item \pkg{tikz}'s |babel| library is load automatically as needed.
@@ -1228,6 +1258,7 @@ operating-system path separator used by \pkg{lwarp}.
% \AmS{} environments are supported.
% User-defined macros are available during converson,
% due to native \LaTeX{} processing.\\
+% \pkg{theorem}, \pkg{amsthm}, \pkg{ntheorem}: & Supported, with added \acro{CSS} tags. \\
% \midrule
% Floats: & Supported, appear where declared.
% \pkg{float} is emulated, \pkg{newfloat} is supported,
@@ -1267,13 +1298,12 @@ operating-system path separator used by \pkg{lwarp}.
% \pkg{enumitem}: & Supported, although spacing is still controlled by \acro{CSS}. \\
% \midrule
% Environments: & Standard \LaTeX{} environments are supported. \\
-% \pkg{theorem}: & Supported, with added \acro{CSS} tags. \\
% \pkg{picture} and \pkg{tikz}: & Converted to an \acro{SVG} image. \\
% \env{minipage}: & Supported with some \acro{HTML}5-imposed limitations.
% Nested minipages are supported.
% Footnotes appear at the bottom of the \acro{HTML} page. \\
% \pkg{fancyvrb}: & Supported except for verbatim footnotes. \\
-% \pkg{mdframed}: & Supported \\
+% \pkg{framed}, \pkg{mdframed}: & Supported \\
% \pkg{multicol}: & Emulated, with \acro{CSS}3.
% Converted to up to three columns with an optional heading,
% per browser support. Single-column if unsupported.\\
@@ -1317,8 +1347,7 @@ operating-system path separator used by \pkg{lwarp}.
%
% Supported packages include everything listed in the table of contents,
% plus each of the following in \cref{tab:additionalsupported},
-% and certainly others as well.
-% Not all have been thoroughly tested.
+% and probably others which have not yet been tested.
% Many are simply nullfied during \acro{HTML} output.
% Others are not affected by the output mode and thus work as-is.
%
@@ -1333,7 +1362,7 @@ operating-system path separator used by \pkg{lwarp}.
% fancyvrb, fileerr,
% newtxmath,
% siunitx, somedefs,
-% theorem, tikz, trace,
+% tikz, trace,
% varioref,
% xspace
% \end{table}
@@ -3094,6 +3123,10 @@ operating-system path separator used by \pkg{lwarp}.
% \margintag{custom MathJax macros}
% see page \pageref{ex:mathjaxmacros}.
%
+% \subsubsection{Ntheorem}
+%
+% \limitsntheorem
+%
%
% \subsubsection{Graphics}
%
@@ -3247,14 +3280,38 @@ operating-system path separator used by \pkg{lwarp}.
% or \cs{LWR@ProvidesPackagePass}. If |Drop|ped, the original print-version
% package is ignored, and only the |lwarp-| version is used.
% Use this where the original print version is useless for \acro{HTML}.
-% If |Pass|ed, the original package is loaded first, with the supplied options, then
-% the |lwarp-| version continues loading as well. Use this when \acro{HTML}
+% If |Pass|ed, the original package is loaded first, with the user-supplied options,
+% then the |lwarp-| version continues loading as well.
+% See \cref{sec:ntheorem} (\nameref{sec:ntheorem})
+% for an example of selectively disabling user options for a package.
+% Use this when \acro{HTML}
% output only requires some modifications of the original package.
% For a case where the original package is usable without changes, there is no
% need to create a |lwarp-| version.
%
%
+% \subsection{Testing \protect\pkg{lwarp}}
+%
+% \changes{v0.25}{2017/03/22}{Docs: Testing \protect\pkg{lwarp}.}
+%
+% When changes have been made, test the print output before testing the
+% \acro{HTML}. The print output compiles faster, and any errors in the printed
+% version will be easier to figure out than the \acro{HTML} version.
+%
+% The package \pkg{lwarp-newproject} must be loaded to set up the configuration
+% files, but may be commented out from then on unless the configuration changes.
+% A small amount of time is taken each time \pkg{lwarp-newproject} is run.
+%
+% Remember that the configuration files are only rewritten when compiling the
+% printed version of the document, and when \pkg{lwarp-newproject} is enabled.
+%
+% Sometimes it is worth checking the |<project>_html.pdf| file, which is the
+% \acro{PDF} containing \acro{HTML} tags. Also, |<project>_html.html| has
+% the text conversion of these tags, before the file is split into individual
+% \acro{HTML} files.
%
+% It is also worth checking the browser's tools for verifying the correctness
+% of \acro{HTML} and \acro{CSS} code.
%
%
% \section{Troubleshooting}
@@ -3825,20 +3882,45 @@ after lwarp.}
% \end{macro}
+% \begin{macro}{\LWR@loadnever} \marg{badpackagename} \marg{replacementpkgname}
+%
+% The first packages is not supported, so tell the user to use the second instead.
+%
+% \changes{v0.25}{2017/03/16}{Added the ability to prevent conflicting packages.}
+%
+% \begin{macrocode}
+\newcommand*{\LWR@loadnever}[2]{%
+\PackageError{lwarp}
+{Package #1 does not work with lwarp's HTML conversion.
+Please use the #2 package instead}
+{Package #1 conflicts with lwarp in some way, but package #2 probably will work instead.}
+}
+% \end{macrocode}
+% \end{macro}
+
+
+
+
% Packages which should only be loaded after \pkg{lwarp} are tested
% here to trip an error of they have already been loaded.
%
+% \changes{v0.25}{2017/03/16}{Fix: Allows XE\LaTeX\ and
+% \LuaLaTeX\ to preload graphics and graphicx.}
+%
% The following packages must be loaded after \pkg{lwarp}:
% \begin{macrocode}
\LWR@loadafter{abstract}
\LWR@loadafter{afterpage}
\LWR@loadafter{algorithmicx}
\LWR@loadafter{alltt}
+\LWR@loadafter{amsthm}
\LWR@loadafter{bookmark}
\LWR@loadafter{booktabs}
\LWR@loadafter{changepage}
\LWR@loadafter{dcolumn}
\LWR@loadafter{draftwatermark}
+\LWR@loadafter{ellipsis}
+\LWR@loadafter{emptypage}
\LWR@loadafter{enumerate}
\LWR@loadafter{epigraph}
\LWR@loadafter{eso-pic}
@@ -3849,13 +3931,14 @@ after lwarp.}
\LWR@loadafter{float}
\LWR@loadafter{ftnright}
\LWR@loadafter{geometry}
-\LWR@loadafter{graphics}
-\LWR@loadafter{graphicx}
+% \LWR@loadafter{graphics}% pre-loaded by xunicode
+% \LWR@loadafter{graphicx}% pre-loaded by xunicode
\LWR@loadafter{hyperref}
\LWR@loadafter{indentfirst}
\LWR@loadafter{keyfloat}
\LWR@loadafter{layout}
\LWR@loadafter{letterspace}
+\LWR@loadafter{lips}
\LWR@loadafter{listings}
\LWR@loadafter{longtable}
\LWR@loadafter{lscape}
@@ -3870,17 +3953,20 @@ after lwarp.}
\LWR@loadafter{newtxmath}
\LWR@loadafter{nextpage}
\LWR@loadafter{nowidow}
+\LWR@loadafter{ntheorem}
\LWR@loadafter{pagenote}
\LWR@loadafter{parskip}
\LWR@loadafter{placeins}
\LWR@loadafter{ragged2e}
\LWR@loadafter{rotating}
\LWR@loadafter{setspace}
+\LWR@loadafter{showidx}
\LWR@loadafter{showkeys}
\LWR@loadafter{sidecap}
\LWR@loadafter{subfig}
\LWR@loadafter{tabularx}
\LWR@loadafter{textpos}
+\LWR@loadafter{theorem}
\LWR@loadafter{threeparttable}
\LWR@loadafter{tikz}
\LWR@loadafter{titleps}
@@ -5348,18 +5434,15 @@ top=1in,bottom=1in,%
% \subsection{HTML tags}
% \begin{macro}{\LWR@htmltagc} \marg{tag}
-% Break ligatures in \acro{HTML} tags.
+% Break ligatures and use upright apostrophes in \acro{HTML} tags.
%
%|\protect| is in case the tag appears in TOC, LOF, LOT.
% \begin{macrocode}
+
\newcommand*{\LWR@htmltagc}[1]{%
{%
-\LWR@origttfamily%
-% \protect\LWR@origtexttt{%
-% \protect\LWR@origtextbf{%
-\LWR@origtextless#1\LWR@origtextgreater%
-% }%
-% }%
+\protect\LWR@origttfamily%
+\protect\LWR@origtextless#1\protect\LWR@origtextgreater%
}%
}
% \end{macrocode}
@@ -7359,10 +7442,6 @@ link rel="stylesheet" type="text/css" href="\LWR@currentcss" /}%
% \end{macrocode}
% Graphics:
% \begin{macrocode}
-\let\textcolor\LWR@textcolor
-\let\pagecolor\LWR@pagecolor
-\let\colorbox\LWR@colorbox
-\let\fcolorbox\LWR@fcolorbox
\let\rotatebox\LWR@rotatebox
\let\scalebox\LWR@scalebox
\let\reflectbox\LWR@reflectbox
@@ -8873,6 +8952,9 @@ link rel="stylesheet" type="text/css" href="\LWR@currentcss" /}%
% \section{Theorems}
%
+% \changes{v0.25}{2017/03/17}{Basic \LaTeX\ theorems: improved \acro{CSS}.}
+%
+%
% \DescribeMacro{\newtheorem} \marg{text} \oarg{counter} -or- \oarg{oldname} \marg{text}
%
% A few minor changes are made to supply \acro{HTML} tags.
@@ -8891,18 +8973,16 @@ link rel="stylesheet" type="text/css" href="\LWR@currentcss" /}%
% \begin{macro}{\@begintheorem} \marg{name} \marg{number}
% \begin{macrocode}
\renewcommand{\@begintheorem}[2]{%
-\LWR@htmldivclass{theorem}
+\BlockClass{theoremcontents}
\InlineClass{theoremlabel}{#1\ #2\ }
-\LWR@htmldivclass{theoremcontents}
}
% \end{macrocode}
% \end{macro}
% \begin{macro}{\@opargbegintheorem} \marg{name} \marg{number} \marg{oparg}
% \begin{macrocode}
\renewcommand{\@opargbegintheorem}[3]{%
-\BlockClass{theorem}
-\InlineClass{theoremlabel}{#1\ #2\ (#3)\ }
\BlockClass{theoremcontents}
+\InlineClass{theoremlabel}{#1\ #2\ (#3)\ }
}
% \end{macrocode}
% \end{macro}
@@ -8910,7 +8990,6 @@ link rel="stylesheet" type="text/css" href="\LWR@currentcss" /}%
% \begin{macrocode}
\renewcommand*{\@endtheorem}{%
\endBlockClass% theoremcontents
-\endBlockClass% theorem
}
% \end{macrocode}
% \end{macro}
@@ -10876,14 +10955,16 @@ link rel="stylesheet" type="text/css" href="\LWR@currentcss" /}%
% \end{macro}
%
%
-% \begin{macro}{\LWR@newlabel} \marg{label}
+% \begin{macro}{\LWR@newlabel} \marg{label} \oarg{type}
%
% \cs{label} during \acro{HTML} output when not in math mode,
% removing extra spaces around the label, as done by regular \LaTeX\ \cs{label}.
%
% \pkg{clevereref} later encases this to add its own cross-referencing.
+%
+% The optional \meta{type} is per the \pkg{ntheorem} package, and is ignored.
% \begin{macrocode}
-\newcommand*{\LWR@newlabel}[1]{%
+\NewDocumentCommand{\LWR@newlabel}{m o}{%
\LWR@traceinfo{LWR@newlabel: !#1!}%
% \@bsphack%
% \end{macrocode}
@@ -11296,8 +11377,9 @@ class="#3"\LWR@orignewline}#2\LWR@htmltag{/a}%
% \DescribeCounter{LWR@thisfloat}
-% A sequential counter for all floats.
-% This is used to identify the float then reference it from the List of Figures and
+% A sequential counter for all floats and theorems.
+% This is used to identify the float or theorem
+% then reference it from the List of Figures and
% List of Tables.
% \begin{macrocode}
\newcounter{LWR@thisfloat}
@@ -11485,18 +11567,24 @@ class="#3"\LWR@orignewline}#2\LWR@htmltag{/a}%
% \begin{macro}{\addcontentsline}
% Patched to write the autopage and autofloat before each float's entry.
-% No changes if writing |.toc|.
+% No changes if writing |.toc|
+% For a theorem, automatically defines \cs{ext@<type>} as needed, to
+% mimic and reuse the float mechanism.
+%
+% \changes{v0.25}{2017/03/16}{Handles theorems.}
+%
% \begin{macrocode}
\let\LWR@origaddcontentsline\addcontentsline
\renewcommand*{\addcontentsline}[3]{%
\ifthenelse{\equal{#1}{toc}}{}{%
+\ifthenelse{\equal{#1}{thm}}{\csdef{ext@#2}{thm}}{}
\addtocontents{\@nameuse{ext@#2}}{%
\protect\LWRsetnextfloat%
{\arabic{LWR@latestautopage}}%
{\arabic{LWR@thisfloat}}%
-}%
-}%
+}% addtocontents
+}% not toc
\LWR@origaddcontentsline{#1}{#2}{#3}%
}
% \end{macrocode}
@@ -11833,7 +11921,7 @@ class="#3"\LWR@orignewline}#2\LWR@htmltag{/a}%
% \begin{macro}{\hypertocfloat} \marg{1: depth} \marg{2: type}
-% \marg{3: caption} \marg{4: page}
+% \marg{3: ext of parent} \marg{4: caption} \marg{5: page}
%
% \begin{description}
% \item[\#1] is depth
@@ -15124,7 +15212,6 @@ display:inline-block;"%
-
% \clearpage
% \section{lwarpmk.conf}
@@ -15223,7 +15310,7 @@ homehtmlfilename = "\HomeHTMLFileName"%
% \iffalse
%<*lwarp-newproject>
% \fi
-
+%
% \part{lwarp-newproject.sty}
%
% \changes{v0.20}{2016/12/20}{\pkg{lwarp-newproject}: Added.}
@@ -15466,6 +15553,7 @@ a.tocfigure {margin-left: 0em}
a.tocsubfigure {margin-left: 2em}
a.toctable {margin-left: 0em}
a.tocsubtable {margin-left: 2em}
+a.toctheorem {margin-left: 0em}
a.toclstlisting {margin-left: 0em}
@@ -15838,16 +15926,7 @@ div.onehalfspace { line-height: 1.5 ; }
div.doublespace { line-height: 2 ; }
-.theorem {
- background: #e0e0e0;
- padding: 1ex ;
- margin: 1em ;
- border: 1px solid silver ;
-}
-
-.theoremlabel { font-weight: bold ; }
-.theoremcontents { font-style: italic; margin-left: 1em ; }
/* Minipage environments, vertically aligned to top, center, bottom: */
@@ -15915,6 +15994,38 @@ div.doublespace { line-height: 2 ; }
}
+/* framed package */
+.framed {
+ margin: 3ex 0em 3ex 0em ;
+ border: 1px solid black;
+ border-radius: 0px ;
+ padding: .3ex 1em 0ex 1em ;
+ display: block ;
+}
+
+.snugframed {
+ margin: 3ex 0em 3ex 0em ;
+ border: 1px solid black;
+ border-radius: 0px ;
+ display: block ;
+}
+
+.framedleftbar {
+ margin: 3ex 0em 3ex 0em ;
+ border-left: 3pt solid black;
+ border-radius: 0px ;
+ padding: .3ex .2em .3ex 1em ;
+ display: block ;
+}
+
+.framedtitle {
+ margin: 0em ;
+ padding: 0em ;
+ font-size: 130%
+}
+
+.framedtitle p { padding: .3em }
+
dl {
@@ -15930,14 +16041,14 @@ dl dt {
dl dd p { margin-top: 0em; }
-nav.toc, nav.lof, nav.lot, nav.lol {
+nav.toc, nav.lof, nav.lot, nav.lol, nav.lothm {
font-family: "URW Classico", Optima, "Linux Biolinum O",
"DejaVu Sans", "Bitstream Vera Sans",
Geneva, Verdana, sans-serif ;
margin-bottom: 4ex ;
}
-nav.toc p, nav.lof p, nav.lot p, nav.lol p {
+nav.toc p, nav.lof p, nav.lot p, nav.lol p, nav.lothm p {
line-height: 1.2 ;
margin-top:.5ex ;
margin-bottom:.5ex;
@@ -16311,11 +16422,92 @@ div.multicols { -webkit-columns: 3 380px ;
-moz-columns: 3 380px ; columns: 3 380px ; }
div.multicols p {margin-top: 0ex}
+
+
/* Used to support algorithmicx: */
span.floatright { float: right ; }
+
+/* Native LaTeX theorems: */
+
+.theoremcontents { font-style: italic; margin-top: 3ex ; margin-bottom: 3ex ; }
+.theoremlabel { font-style: normal; font-weight: bold ; margin-right: .5em ; }
+
+
+/* theorem, amsthm, and ntheorem packages */
+
+span.theoremheader,
+span.theoremheaderplain,
+span.theoremheaderdefinition,
+span.theoremheaderbreak,
+span.theoremheadermarginbreak,
+span.theoremheaderchangebreak,
+span.theoremheaderchange,
+span.theoremheadermargin
+{
+ font-style:normal ; font-weight: bold ; margin-right: 1em ;
+}
+
+span.amsthmnameplain,
+span.amsthmnamedefinition,
+span.amsthmnumberplain,
+span.amsthmnumberdefinition
+{
+ font-style:normal ; font-weight: bold ;
+}
+
+
+span.amsthmnameremark,
+span.amsthmnumberremark
+{font-style:italic ; font-weight: normal ; }
+
+
+span.amsthmnoteplain,
+span.amsthmnotedefinition
+{font-style:normal ;}
+
+
+span.theoremheaderremark,
+span.theoremheaderproof,
+span.amsthmproofname
+{font-style:italic ; font-weight: normal ; margin-right: 1em ; }
+
+span.theoremheadersc
+{
+ font-style:normal ;
+ font-variant: small-caps ;
+ font-weight: normal ;
+ margin-right: 1em ;
+}
+
+.theoremendmark {float:right}
+
+div.amsthmbodyplain, div.theorembodyplain, div.theorembodynonumberplain,
+div.theorembodybreak, div.theorembodynonumberbreak,
+div.theorembodymarginbreak,
+div.theorembodychangebreak,
+div.theorembodychange,
+div.theorembodymargin
+{
+ font-style:italic;
+ margin-top: 3ex ; margin-bottom: 3ex ;
+}
+
+div.theorembodydefinition, div.theorembodyremark, div.theorembodyproof,
+div.theorembodyplainupright, nonumberplainuprightsc,
+div.amsthmbodydefinition, div.amsthmbodyremark,
+div.amsthmproof
+{
+ font-style: normal ;
+ margin-top: 3ex ; margin-bottom: 3ex ;
+}
+
+span.amsthmnoteremark {}
+
+
+
/*
For CSS LaTeX and related logos:
Based on:
@@ -16603,6 +16795,13 @@ div.sidebartitle{
border-radius: 1ex ;
}
+.framed .minipage , .framedleftbar .minipage {
+ border: none ;
+ background: none ;
+ padding: 0ex ;
+ margin: 0ex ;
+}
+
figure.figure .minipage, figcaption .minipage { border: none; }
div.marginblock div.minipage { border: none; }
@@ -17084,7 +17283,7 @@ MathJax.Hub.Config({
-- Print the usage of the lwarpmk command:
-printversion = "v0.24"
+printversion = "v0.25"
function printhelp ()
print ("lwarpmk: Use lwarpmk -h or lwarpmk --help for help.") ;
@@ -17546,6 +17745,8 @@ end -- not --version
%
% \section{Abstract}
%
+% \credits{Peter Wilson}
+%
% \DescribePackage{abstract}
% \pkg{abstract} is supported and patched by \pkg{lwarp}.
%
@@ -17757,6 +17958,156 @@ span style="width:\rndprintlength{\ALG@thistlm}; display:inline-block;"%
+% \clearpage
+
+% \iffalse
+%<*amsthm>
+% \fi
+
+% \part{lwarp-amsthm.sty}
+
+% \section{AMSthm}
+%
+% \credits{Publications Technical Group --- American Mathematical Society}
+%
+% \DescribePackage{amsthm}
+% \pkg{amsthm} is patched for use by \pkg{lwarp}.
+%
+% \changes{v0.25}{2017/03/15}{\pkg{amsthm}: Added.}
+%
+% \begin{description}
+% \item[CSS styling of theorems and proofs:] \
+% \begin{description}
+% \item [Theorem:] |div| of class |amsthmbody<theoremstyle>|
+% \item [Theorem Name:] |span| of class |amsthmname<theoremtyle>|
+% \item [Theorem Number:] |span| of class |amsthmnumber<theoremstyle>|
+% \item [Theorem Note:] |span| of class |amsthmnote<theoremstyle>|
+% \item [Proof:] |div| of class |amsthmproof|
+% \item [Proof Name:] |span| of class |amsthmproofname|
+% \end{description}
+% where |<theoremstyle>| is |plain|, |definition|, etc.
+% \end{description}
+%
+%
+% \codehtml
+%
+% \begin{macrocode}
+\LWR@ProvidesPackagePass{amsthm}
+% \end{macrocode}
+
+% Storage for the style being used for new theorems:
+% \begin{macrocode}
+\newcommand{\LWR@newtheoremstyle}{plain}
+% \end{macrocode}
+
+% Patched to remember the style being used for new theorems:
+% \begin{macrocode}
+\renewcommand{\theoremstyle}[1]{%
+ \@ifundefined{th@#1}{%
+ \PackageWarning{amsthm}{Unknown theoremstyle `#1'}%
+ \thm@style{plain}%
+ \renewcommand{\LWR@newtheoremstyle}{plain}% new
+ }{%
+ \thm@style{#1}%
+ \renewcommand{\LWR@newtheoremstyle}{#1}% new
+ }%
+}
+% \end{macrocode}
+
+% Patched to remember the style for this theorem type:
+% \begin{macrocode}
+\def\@xnthm#1#2{%
+ \csedef{LWR@thmstyle#2}{\LWR@newtheoremstyle}% new
+ \let\@tempa\relax
+ \@xp\@ifdefinable\csname #2\endcsname{%
+ \global\@xp\let\csname end#2\endcsname\@endtheorem
+ \ifx *#1% unnumbered, need to get one more mandatory arg
+ \edef\@tempa##1{%
+ \gdef\@xp\@nx\csname#2\endcsname{%
+ \@nx\@thm{\@xp\@nx\csname th@\the\thm@style\endcsname}%
+ {}{##1}}}%
+ \else % numbered theorem, need to check for optional arg
+ \def\@tempa{\@oparg{\@ynthm{#2}}[]}%
+ \fi
+ \AtBeginEnvironment{#2}{\edef\LWR@thisthmstyle{\csuse{LWR@thmstyle#2}}}% new
+ }%
+ \@tempa
+}
+% \end{macrocode}
+
+% Patched to enclose with \acro{CSS}:
+% \begin{macrocode}
+\newcommand{\LWR@haveamsthmname}{
+\renewcommand{\thmname}[1]{\InlineClass{amsthmname\LWR@thisthmstyle}{##1}}
+}
+
+\newcommand{\LWR@haveamsthmnumber}{
+\renewcommand{\thmnumber}[1]{\InlineClass{amsthmnumber\LWR@thisthmstyle}{##1}}
+}
+
+\newcommand{\LWR@haveamsthmnote}{
+\renewcommand{\thmnote}[1]{\InlineClass{amsthmnote\LWR@thisthmstyle}{##1}}
+}
+
+\LWR@haveamsthmname
+\LWR@haveamsthmnumber
+\LWR@haveamsthmnote
+% \end{macrocode}
+%
+% Patches for \acro{CSS}:
+% \begin{macrocode}
+\def\@begintheorem#1#2[#3]{%
+ \BlockClass{amsthmbody\LWR@thisthmstyle}% new
+ \deferred@thm@head{
+ \the\thm@headfont \thm@indent
+ \@ifempty{#1}{\let\thmname\@gobble}{\LWR@haveamsthmname}% new
+ \@ifempty{#2}{\let\thmnumber\@gobble}{\LWR@haveamsthmnumber}% new
+ \@ifempty{#3}{\let\thmnote\@gobble}{\LWR@haveamsthmnote}% new
+ \thm@swap\swappedhead\thmhead{#1}{#2}{#3}%
+ \the\thm@headpunct~
+ \thmheadnl % possibly a newline.
+ \hskip\thm@headsep
+ }%
+ \ignorespaces}
+% \end{macrocode}
+%
+% Patched for \acro{CSS}:
+% \begin{macrocode}
+\def\@endtheorem{\endBlockClass\endtrivlist\@endpefalse }
+% \end{macrocode}
+%
+%
+% Proof QED symbol:
+% \begin{macrocode}
+\AtBeginDocument{
+\def\openbox{\text{\HTMLunicode{25A1}}}% UTF-8 white box
+\def\blacksquare{\text{\HTMLunicode{220E}}}% UTF-8 end-of-proof
+\def\Box{\text{\HTMLunicode{25A1}}}% UTF-8 white box
+}
+% \end{macrocode}
+%
+% Patched for \acro{CSS}:
+% \begin{macrocode}
+\renewenvironment{proof}[1][\proofname]{\par
+ \BlockClass{amsthmproof}% new
+ \pushQED{\qed}%
+ \normalfont \topsep6\p@\@plus6\p@\relax
+ \trivlist
+ \item[\hskip\labelsep
+ \InlineClass{amsthmproofname}{#1\@addpunct{.}}]\ignorespaces% changes
+}{%
+ \InlineClass{theoremendmark}{\popQED}\endtrivlist%
+ \endBlockClass% new
+ \@endpefalse
+}
+% \end{macrocode}
+
+
+% \iffalse
+%</amsthm>
+% \fi
+
+
% \iffalse
%<*bookmark>
@@ -17833,6 +18184,34 @@ span style="width:\rndprintlength{\ALG@thistlm}; display:inline-block;"%
% \iffalse
+%<*ccaption>
+% \fi
+
+% \part{lwarp-ccaption.sty}
+
+% \section{Ccaption}
+%
+% \DescribePackage{ccaption}
+% \pkg{ccaption} is not used.
+% The user is recommended to use \pkg{caption} instead.
+
+% \changes{v0.25}{2017/03/16}{\pkg{ccaption}: Prevented.}
+
+% \codehtml
+% \begin{macrocode}
+\LWR@loadnever{ccaption}{caption}
+% \end{macrocode}
+
+
+% \iffalse
+%</ccaption>
+% \fi
+
+
+
+% \clearpage
+
+% \iffalse
%<*changepage>
% \fi
@@ -17896,6 +18275,8 @@ span style="width:\rndprintlength{\ALG@thistlm}; display:inline-block;"%
+% \clearpage
+
% \iffalse
%<*draftwatermark>
% \fi
@@ -17934,6 +18315,59 @@ span style="width:\rndprintlength{\ALG@thistlm}; display:inline-block;"%
+% \iffalse
+%<*ellipsis>
+% \fi
+
+% \part{lwarp-ellipsis.sty}
+
+% \section{Ellipsis}
+% \label{sec:ellipsis}
+%
+% \changes{v0.25}{2017/03/16}{\pkg{ellipsis}: Added.}
+%
+% \DescribePackage{ellipsis}
+% \pkg{ellipsis} is emulated during \acro{HTML} output, and
+% the \pkg{ellipsis} package is ignored.
+
+% \begin{macrocode}
+\LWR@ProvidesPackageDrop{ellipsis}
+
+\newcommand{\ellipsisgap}{0.1em}
+% \end{macrocode}
+
+% \iffalse
+%</ellipsis>
+% \fi
+
+
+% \clearpage
+
+% \iffalse
+%<*emptypage>
+% \fi
+
+% \part{lwarp-emptypage.sty}
+
+% \section{Emptypage}
+%
+% \DescribePackage{emptypage}
+% \pkg{emptypage} is ignored.
+%
+% \changes{v0.25}{2017/03/22}{\pkg{emptypage}: Added.}
+%
+% \codehtml
+%
+% Discard all options for \pkg{lwarp-emptypage}:
+% \begin{macrocode}
+\LWR@ProvidesPackageDrop{emptypage}
+% \end{macrocode}
+
+% \iffalse
+%</emptypage>
+% \fi
+
+
% \clearpage
% \iffalse
@@ -18173,6 +18607,7 @@ span style="width:\rndprintlength{\ALG@thistlm}; display:inline-block;"%
+% \clearpage
% \iffalse
%<*fancyhdr>
@@ -18721,6 +19156,156 @@ span style="width:\rndprintlength{\ALG@thistlm}; display:inline-block;"%
+
+% \clearpage
+
+% \iffalse
+%<*framed>
+% \fi
+
+% \part{lwarp-framed.sty}
+%
+% \section{Framed}
+%
+% \credits{Donald Arseneau}
+%
+% \DescribePackage{framed}
+% \pkg{framed} is supported and patched by \pkg{lwarp}.
+%
+% \changes{v0.25}{2017/03/19}{\pkg{framed}: Added.}
+%
+% \codehtml
+%
+% Accept all options for \pkg{lwarp-framed}:
+% \begin{macrocode}
+\LWR@ProvidesPackagePass{framed}
+% \end{macrocode}
+
+
+% \begin{macrocode}
+
+\renewenvironment{framed}{%
+\BlockClass{framed}%
+}
+{\endBlockClass}
+
+\renewenvironment{oframed}{%
+\BlockClass{framed}%
+}
+{\endBlockClass}
+
+
+\renewenvironment{shaded}{%
+\convertcolorspec{named}{shadecolor}{HTML}\LWR@tempcolor%
+\BlockClass{framed}[background: \#\LWR@tempcolor]%
+}
+{\endBlockClass}
+
+\renewenvironment{shaded*}{%
+\convertcolorspec{named}{shadecolor}{HTML}\LWR@tempcolor%
+\BlockClass{framed}[background: \#\LWR@tempcolor]%
+}
+{\endBlockClass}
+
+
+\renewenvironment{leftbar}{%
+ \BlockClass{framedleftbar}
+ \def\FrameCommand{}%
+ \MakeFramed {}
+}%
+ {\endMakeFramed\endBlockClass}
+
+
+\renewenvironment{snugshade}{%
+\convertcolorspec{named}{shadecolor}{HTML}\LWR@tempcolor%
+\BlockClass{snugframed}[background: \#\LWR@tempcolor]%
+}
+{\endBlockClass}
+
+\renewenvironment{snugshade*}{%
+\convertcolorspec{named}{shadecolor}{HTML}\LWR@tempcolor%
+\BlockClass{snugframed}[background: \#\LWR@tempcolor]%
+}
+{\endBlockClass}
+
+\let\oframed\framed
+\let\endoframed\endframed
+
+
+\RenewEnviron{titled-frame}[1]{%
+\CustomFBox{#1}{}{0pt}{0pt}{0pt}{0pt}{\BODY}
+}
+% \end{macrocode}
+
+
+
+% \cs{CustomFBox} \marg{toptitle} \marg{bottitle}
+% \marg{thicknesstop} \marg{bottom} \marg{left} \marg{right}
+% \marg{text contents}
+% \begin{macrocode}
+\renewcommand{\CustomFBox}[7]{%
+\convertcolorspec{named}{TFFrameColor}{HTML}\LWR@tempcolor%
+\begin{BlockClass}{framed}[border: 3px solid \#\LWR@tempcolor]%
+\ifthenelse{\isempty{#1}}{}{% not empty
+\begin{BlockClass}{framedtitle}[background: \#\LWR@tempcolor]%
+\textcolor{TFTitleColor}{\textbf{#1}}%
+\end{BlockClass}
+}% not empty
+
+#7
+
+\ifthenelse{\isempty{#2}}{}{% not empty
+\convertcolorspec{named}{TFFrameColor}{HTML}\LWR@tempcolor%
+\begin{BlockClass}{framedtitle}[background: \#\LWR@tempcolor]%
+\textcolor{TFTitleColor}{\textbf{#2}}%
+\end{BlockClass}
+}% not empty
+\end{BlockClass}
+}
+% \end{macrocode}
+
+% \cs{TitleBarFrame} \oarg{marker} \marg{title} \marg{contents}
+% \begin{macrocode}
+\renewcommand\TitleBarFrame[3][]{
+\CustomFBox
+ {#2}{}%
+ \fboxrule\fboxrule\fboxrule\fboxrule
+ {#3}%
+}
+% \end{macrocode}
+
+
+% \begin{macrocode}
+\renewcommand{\TF@Title}[1]{#1}
+% \end{macrocode}
+
+
+% \env{MakeFramed} \marg{settings}
+% \begin{macrocode}
+\let\MakeFramed\relax
+\let\endMakeFramed\relax
+
+\NewEnviron{MakeFramed}[1]{%
+\FrameCommand{\begin{minipage}{\linewidth}\BODY\end{minipage}}%
+}
+% \end{macrocode}
+
+
+% \cs{fb@put@frame} \marg{frame cmd no split} \marg{frame cmd split}
+% \begin{macrocode}
+\renewcommand*{\fb@put@frame}[2]{%
+\relax%
+\@tempboxa%
+}
+% \end{macrocode}
+
+% \iffalse
+%</framed>
+% \fi
+
+
+
+
% \clearpage
% \iffalse
@@ -18800,12 +19385,7 @@ span style="width:\rndprintlength{\ALG@thistlm}; display:inline-block;"%
% \codehtml
% \begin{macrocode}
-\PackageError{lwarp-graphics}
- {The graphics package is not supported by
- the lwarp package's HTML conversion.
- Please use graphicx instead. \protect\usepackage{graphicx}}
- {Graphicx requires a different syntax but is more flexible,
- and it is emulated by lwarp.}
+\LWR@loadnever{graphics}{graphicx}
% \end{macrocode}
@@ -19379,6 +19959,48 @@ span style="width:\rndprintlength{\ALG@thistlm}; display:inline-block;"%
% \fi
+% \clearpage
+
+% \iffalse
+%<*lips>
+% \fi
+
+% \part{lwarp-lips.sty}
+
+% \section{Lips}
+% \label{sec:lips}
+%
+% \changes{v0.25}{2017/03/16}{\pkg{lips}: Added.}
+%
+% \DescribePackage{lips}
+% \pkg{lips} is emulated during \acro{HTML} output, and
+% the \pkg{lips} package is ignored.
+
+% \begin{macrocode}
+% \LWR@ProvidesPackageDrop{lips}
+\PackageInfo{lwarp}{Using the lwarp version of package `lips'.}%
+\ProvidesPackage{lwarp-lips}
+
+\NewDocumentCommand{\Lips}{}{\textellipsis}
+
+\NewDocumentCommand{\BracketedLips}{}{[\textellipsis]}
+
+\let\lips\Lips
+\let\olips\lips
+
+\DeclareOption*{}
+\DeclareOption{mla}{
+\let\lips\BracketedLips
+}
+\ProcessOptions\relax
+
+\newcommand \LPNobreakList {}
+% \end{macrocode}
+
+% \iffalse
+%</lips>
+% \fi
+
% \clearpage
@@ -19392,6 +20014,9 @@ span style="width:\rndprintlength{\ALG@thistlm}; display:inline-block;"%
% \section{Listings}
% \label{sec:listings}
%
+% \credits{Carsten Heinz, Brooks Moses, Jobst Hoffmann}
+
+%
% \DescribePackage{listings}
% \pkg{listings} is supported with some limitations.
% Text formatting is not yet supported.
@@ -19799,6 +20424,7 @@ span style="width:\rndprintlength{\ALG@thistlm}; display:inline-block;"%
+% \clearpage
% \iffalse
%<*mcaption>
@@ -19882,12 +20508,16 @@ span style="width:\rndprintlength{\ALG@thistlm}; display:inline-block;"%
%
% ^^A \DescribeMacro{\mdfsetup}
% To handle CSS and paragraphs,
-% patch code at start and end of environment and contents:
+% patch code at start and end of environment and contents.
+% \cs{LWR@origraggedright} helps avoid hyphenation.
+%
+% \changes{v0.25}{2017/03/16}{\pkg{mdframed}: Help avoid hyphenation.}
+%
% \begin{macrocode}
\mdfsetup{
-startcode={\LWR@mdframedstart},
+startcode={\LWR@mdframedstart\LWR@origraggedright},
endcode={\LWR@mdframedend},
-startinnercode={\LWR@startpars},
+startinnercode={\LWR@startpars\LWR@origraggedright},
endinnercode={\LWR@stoppars},
}
% \end{macrocode}
@@ -20619,6 +21249,565 @@ solid
+% \clearpage
+
+% \iffalse
+%<*ntheorem>
+% \fi
+
+% \part{lwarp-ntheorem.sty}
+%
+% \section{Ntheorem}
+%
+% \label{sec:ntheorem}
+%
+% \credits{Wolfgang May, Andreas Schedler}
+%
+% \DescribePackage{ntheorem}
+% \pkg{ntheorem} is patched for use by \pkg{lwarp}.
+%
+% \changes{v0.25}{2017/03/22}{\pkg{ntheorem}: Added.}
+%
+% \begin{description}
+% \item[CSS styling of theorems and proofs:] \
+% \begin{description}
+% \item [Theorem:] |div| of class |theorembody<theoremstyle>|
+% \item [Theorem Header:] |span| of class |theoremheader<style>|
+% \end{description}
+% where |<theoremstyle>| is |plain|, |break|, etc.
+% \end{description}
+%
+% \limitsntheorem
+%
+% Options |amsthm| or |standard| choose which set of theorems and proofs
+% to initialize.
+%
+% The options |thmmarks| and |amsmath| are disabled, since they
+% \watchout[Disabled options]
+% heavily modify the underlying math code. Theorem marks are emulated.
+% The AMS-math modifications are not done.
+%
+% Option |thref| is disabled because \pkg{cleveref} functions are used instead.
+% \cs{thref} is emulated.
+%
+% Option |hyperref| is disabled because \pkg{lwarp} emulated \pkg{hyperref}.
+%
+% \codehtml
+%
+% Some disabled options:
+% \begin{macrocode}
+\DeclareOption{thref}{}
+
+
+\newbool{LWR@ntheoremmarks}
+\boolfalse{LWR@ntheoremmarks}
+
+\DeclareOption{thmmarks}{
+\booltrue{LWR@ntheoremmarks}
+\newif\ifsetendmark\setendmarktrue
+}
+
+
+\newbool{LWR@ntheoremamsthm}
+\boolfalse{LWR@ntheoremamsthm}
+
+\DeclareOption{amsthm}{\booltrue{LWR@ntheoremamsthm}}
+
+
+\DeclareOption{amsmath}{}
+\DeclareOption{hyperref}{}
+
+
+\LWR@ProvidesPackagePass{ntheorem}
+% \end{macrocode}
+%
+%
+%
+% Storage for the style being used for new theorems.
+% \begin{macrocode}
+\newcommand{\LWR@newtheoremstyle}{plain}
+% \end{macrocode}
+%
+% Patched to remember the style being used for new theorems:
+% \begin{macrocode}
+\gdef\theoremstyle#1{%
+ \@ifundefined{th@#1}{\@warning
+ {Unknown theoremstyle `#1'. Using `plain'}%
+ \theorem@style{plain}
+ \renewcommand{\LWR@newtheoremstyle}{plain}% new
+ }%
+ {
+ \theorem@style{#1}
+ \renewcommand{\LWR@newtheoremstyle}{#1}% new
+ }
+}
+% \end{macrocode}
+
+% Patched to remember the style for this theorem type,
+% and set it later when the environment is started.
+% \begin{macrocode}
+
+\gdef\@xnthm#1#2[#3]{%
+ \ifthm@tempif
+ \csedef{LWR@thmstyle#1}{\LWR@newtheoremstyle}% new
+ \expandafter\@ifundefined{c@#1}%
+ {\@definecounter{#1}}{}%
+ \@newctr{#1}[#3]%
+ \expandafter\xdef\csname the#1\endcsname{%
+ \expandafter\noexpand\csname the#3\endcsname \@thmcountersep
+ {\noexpand\csname\the\theoremnumbering\endcsname{#1}}}%
+ \expandafter\gdef\csname mkheader@#1\endcsname
+ {\csname setparms@#1\endcsname
+ \@thm{#1}{#1}{#2}
+ }%
+ \global\@namedef{end#1}{\@endtheorem}
+ \AtBeginEnvironment{#1}{\edef\LWR@thisthmstyle{\csuse{LWR@thmstyle#1}}}% new
+ \fi
+}
+
+\gdef\@ynthm#1#2{%
+ \ifthm@tempif
+ \csedef{LWR@thmstyle#1}{\LWR@newtheoremstyle}% new
+ \expandafter\@ifundefined{c@#1}%
+ {\@definecounter{#1}}{}%
+ \expandafter\xdef\csname the#1\endcsname
+ {\noexpand\csname\the\theoremnumbering\endcsname{#1}}%
+ \expandafter\gdef\csname mkheader@#1\endcsname
+ {\csname setparms@#1\endcsname
+ \@thm{#1}{#1}{#2}
+ }%
+ \global\@namedef{end#1}{\@endtheorem}
+ \AtBeginEnvironment{#1}{\edef\LWR@thisthmstyle{\csuse{LWR@thmstyle#1}}}% new
+ \fi
+}
+
+\gdef\@othm#1[#2]#3{%
+ \@ifundefined{c@#2}{\@nocounterr{#2}}%
+ {\ifthm@tempif
+ \csedef{LWR@thmstyle#1}{\LWR@newtheoremstyle}% new
+ \global\@namedef{the#1}{\@nameuse{the#2}}%
+ \expandafter\protected@xdef\csname num@addtheoremline#1\endcsname{%
+ \noexpand\@num@addtheoremline{#1}{#3}}%
+ \expandafter\protected@xdef\csname nonum@addtheoremline#1\endcsname{%
+ \noexpand\@nonum@addtheoremline{#1}{#3}}%
+ \theoremkeyword{#3}%
+ \expandafter\protected@xdef\csname #1Keyword\endcsname
+ {\the\theoremkeyword}%
+ \expandafter\gdef\csname mkheader@#1\endcsname
+ {\csname setparms@#1\endcsname
+ \@thm{#1}{#2}{#3}
+ }%
+ \global\@namedef{end#1}{\@endtheorem}
+ \AtBeginEnvironment{#1}{\edef\LWR@thisthmstyle{\csuse{LWR@thmstyle#1}}}% new
+ \fi}
+}
+% \end{macrocode}
+%
+%
+% Mimics a float by incrementing the float counter and generating
+% an \acro{HTML} anchor. These are used for list-of-theorem cross-references.
+% \begin{macrocode}
+\newcommand{\LWR@inctheorem}{%
+\addtocounter{LWR@thisfloat}{1}%
+\LWR@stoppars%
+\LWR@htmltag{a id="autofloat-\arabic{LWR@thisfloat}"{}}\LWR@htmltag{/a}%
+\LWR@startpars%
+}
+% \end{macrocode}
+%
+%
+% The following are patched for \acro{CSS}.
+%
+% These were in individual files |thp.sty| for plain,
+% |thmb.sty| for margin break, etc.
+% They are gathered together here.
+%
+% Each theorem is encased in a \env{BlockClass} environment
+% of class |theorembody<style>|.
+%
+% Each header is encased in an \cs{InlineClass} of class |theoremheader<style>|.
+% \begin{macrocode}
+\gdef\newtheoremstyle#1#2#3{%
+ \expandafter\@ifundefined{th@#1}%
+ {\expandafter\gdef\csname th@#1\endcsname{%
+ \def\@begintheorem####1####2{%
+\BlockClass{theorembody#1}%\LWR@thisthmstyle% new
+\LWR@inctheorem% new
+#2}%
+ \def\@opargbegintheorem####1####2####3{%
+\BlockClass{theorembody#1}%\LWR@thisthmstyle% new
+\LWR@inctheorem% new
+#3}%
+}%
+}%
+{\PackageError{\basename}{Theorem style #1 already defined}\@eha}
+}
+
+\renewtheoremstyle{plain}%
+ {\item[\hskip\labelsep \theorem@headerfont
+ \InlineClass{theoremheaderplain}{##1\ ##2\theorem@separator}]}%
+ {\item[\hskip\labelsep \theorem@headerfont
+ \InlineClass{theoremheaderplain}{##1\ ##2\ (##3)\theorem@separator}]}
+
+\renewtheoremstyle{break}%
+ {\item[
+% \rlap{\vbox{\hbox{
+ \hskip\labelsep \theorem@headerfont
+ \InlineClass{theoremheaderbreak}{##1\ ##2\theorem@separator}\newline
+% }\hbox{\strut}}}
+ ]}%
+ {\item[
+% \rlap{\vbox{\hbox{
+ \hskip\labelsep \theorem@headerfont
+ \InlineClass{theoremheaderbreak}{##1\ ##2\ (##3)\theorem@separator}\newline
+% }\hbox{\strut}}}
+ ]}
+
+\renewtheoremstyle{change}%
+ {\item[\hskip\labelsep
+ \theorem@headerfont
+ \InlineClass{theoremheaderchange}{##2\ ##1\theorem@separator}]}%
+ {\item[\hskip\labelsep
+ \theorem@headerfont
+ \InlineClass{theoremheaderchange}{##2\ ##1\ (##3)\theorem@separator}]}
+
+\renewtheoremstyle{changebreak}%
+ {\item[
+% \rlap{\vbox{\hbox{
+ \hskip\labelsep \theorem@headerfont
+ \InlineClass{theoremheaderchangebreak}{##2\ ##1\theorem@separator}\newline
+% }\hbox{\strut}}}
+ ]}%
+ {\item[
+% \rlap{\vbox{\hbox{
+ \hskip\labelsep \theorem@headerfont
+ \InlineClass{theoremheaderchangebreak}{##2\ ##1\ (##3)\theorem@separator}\newline
+% }\hbox{\strut}}}
+ ]}
+
+\renewtheoremstyle{margin}%
+ {\item[\hskip\labelsep\theorem@headerfont
+ \InlineClass{theoremheadermargin}{##2 \qquad ##1\theorem@separator}
+ ]}%
+ {\item[\hskip\labelsep\theorem@headerfont
+ \InlineClass{theoremheadermargin}{##2 \qquad ##1\ (##3)\theorem@separator}
+ ]}
+
+\renewtheoremstyle{marginbreak}%
+ {\item[\hskip\labelsep\theorem@headerfont
+ \InlineClass{theoremheadermarginbreak}{##2 \qquad ##1\theorem@separator}\newline
+ ]}%
+ {\item[\hskip\labelsep\theorem@headerfont
+ \InlineClass{theoremheadermarginbreak}{##2 \qquad ##1\ (##3)\theorem@separator}\newline
+ ]}
+
+\renewtheoremstyle{nonumberplain}%
+ {\item[\theorem@headerfont\hskip\labelsep
+ \InlineClass{theoremheaderplain}{##1\theorem@separator}]}%
+ {\item[\theorem@headerfont\hskip \labelsep
+ \InlineClass{theoremheaderplain}{##1\ (##3)\theorem@separator}]}
+
+\renewtheoremstyle{nonumberbreak}%
+ {\item[
+% \rlap{\vbox{\hbox{
+ \hskip\labelsep \theorem@headerfont
+ \InlineClass{theoremheaderbreak}{##1\theorem@separator}\newline
+% }\hbox{\strut}}}
+ ]}%
+ {\item[
+% \rlap{\vbox{\hbox{
+ \hskip\labelsep \theorem@headerfont
+ \InlineClass{theoremheaderbreak}{##1\ (##3)\theorem@separator}\newline
+% }\hbox{\strut}}}
+ ]}
+
+\renewtheoremstyle{empty}%
+ {\item[]}%
+ {\item[\theorem@headerfont \hskip\labelsep\relax
+ \InlineClass{theoremheaderplain}{##3}]}
+
+\renewtheoremstyle{emptybreak}%
+ {\item[]}%
+ {\item[\theorem@headerfont \hskip\labelsep\relax
+ \InlineClass{theoremheaderplain}{##3}] \ \newline}
+% \end{macrocode}
+%
+% The following manually adjust the \acro{CSS} for the standard configuration
+% objects which are not a purely plain style:
+% \begin{macrocode}
+\ifbool{LWR@ntheoremamsthm}{}{
+% upright text via CSS
+\newtheoremstyle{plainupright}%
+ {\item[\hskip\labelsep \theorem@headerfont
+ \InlineClass{theoremheaderplain}{##1\ ##2\theorem@separator}]}%
+ {\item[\hskip\labelsep \theorem@headerfont
+ \InlineClass{theoremheaderplain}{##1\ ##2\ (##3)\theorem@separator}]}
+
+% upright text and small caps header via CSS
+\newtheoremstyle{nonumberplainuprightsc}%
+ {\item[\theorem@headerfont\hskip\labelsep
+ \InlineClass{theoremheadersc}{##1\theorem@separator}]}%
+ {\item[\theorem@headerfont\hskip \labelsep
+ \InlineClass{theoremheadersc}{##1\ (##3)\theorem@separator}]}
+% \end{macrocode}
+%
+% The following standard configuration is renewed using the new \acro{CSS}:
+% \begin{macrocode}
+\theoremstyle{plainupright}
+\theorembodyfont{\upshape}
+\theoremsymbol{\ensuremath{_\Box}}
+\renewtheorem{Example}{Example}
+\renewtheorem{example}{Example}
+\renewtheorem{Beispiel}{Beispiel}
+\renewtheorem{beispiel}{Beispiel}
+\renewtheorem{Bemerkung}{Bemerkung}
+\renewtheorem{bemerkung}{Bemerkung}
+\renewtheorem{Anmerkung}{Anmerkung}
+\renewtheorem{anmerkung}{Anmerkung}
+\renewtheorem{Remark}{Remark}
+\renewtheorem{remark}{Remark}
+\renewtheorem{Definition}{Definition}
+\renewtheorem{definition}{Definition}
+
+\theoremstyle{nonumberplainuprightsc}
+\theoremsymbol{\ensuremath{_\blacksquare}}
+\renewtheorem{Proof}{Proof}
+\renewtheorem{proof}{Proof}
+\renewtheorem{Beweis}{Beweis}
+\renewtheorem{beweis}{Beweis}
+\qedsymbol{\ensuremath{_\blacksquare}}
+
+\theoremsymbol{}
+}% not amsthm
+% \end{macrocode}
+%
+%
+% Only if the |amsthm| option was given:
+% \begin{macrocode}
+\ifbool{LWR@ntheoremamsthm}{
+
+\gdef\th@plain{%
+ \def\theorem@headerfont{\normalfont\bfseries}\itshape%
+ \def\@begintheorem##1##2{%
+ \BlockClass{theorembodyplain}% new
+ \LWR@inctheorem% new
+ \item[\hskip\labelsep
+% \theorem@headerfont
+ \InlineClass{theoremheaderplain}{##1\ ##2.}
+ ]}%
+ \def\@opargbegintheorem##1##2##3{%
+ \BlockClass{theorembodyplain}% new
+ \LWR@inctheorem% new
+ \item[\hskip\labelsep
+% \theorem@headerfont
+ \InlineClass{theoremheaderplain}{##1\ ##2\ (##3).}
+ ]}}
+
+\gdef\th@nonumberplain{%
+ \def\theorem@headerfont{\normalfont\bfseries}\itshape%
+ \def\@begintheorem##1##2{%
+ \BlockClass{theorembodyplain}% new
+ \LWR@inctheorem% new
+ \item[\hskip\labelsep
+% \theorem@headerfont
+ \InlineClass{theoremheaderplain}{##1.}
+ ]}%
+ \def\@opargbegintheorem##1##2##3{%
+ \BlockClass{theorembodyplain}% new
+ \LWR@inctheorem% new
+ \item[\hskip\labelsep
+% \theorem@headerfont
+ \InlineClass{theoremheaderplain}{##1\ (##3).}
+ ]}}
+
+\gdef\th@definition{%
+ \def\theorem@headerfont{\normalfont\bfseries}\normalfont%
+ \def\@begintheorem##1##2{%
+ \BlockClass{theorembodydefinition}% new
+ \LWR@inctheorem% new
+ \item[\hskip\labelsep
+% \theorem@headerfont
+ \InlineClass{theoremheaderdefinition}{##1\ ##2.}
+ ]}%
+ \def\@opargbegintheorem##1##2##3{%
+ \BlockClass{theorembodydefinition}% new
+ \LWR@inctheorem% new
+ \item[\hskip\labelsep
+% \theorem@headerfont
+ \InlineClass{theoremheaderdefinition}{##1\ ##2\ (##3).}
+ ]}}
+
+\gdef\th@nonumberdefinition{%
+ \def\theorem@headerfont{\normalfont\bfseries}\normalfont%
+ \def\@begintheorem##1##2{%
+ \BlockClass{theorembodydefinition}% new
+ \LWR@inctheorem% new
+ \item[\hskip\labelsep
+% \theorem@headerfont
+ \InlineClass{theoremheaderdefinition}{##1.}
+ ]}%
+ \def\@opargbegintheorem##1##2##3{%
+ \BlockClass{theorembodydefinition}% new
+ \LWR@inctheorem% new
+ \item[\hskip\labelsep
+% \theorem@headerfont
+ \InlineClass{theoremheaderdefinition}{##1\ (##3).}
+ ]}}
+
+\gdef\th@remark{%
+ \def\theorem@headerfont{\itshape}\normalfont%
+ \def\@begintheorem##1##2{%
+ \BlockClass{theorembodyremark}% new
+ \LWR@inctheorem% new
+ \item[\hskip\labelsep
+% \theorem@headerfont
+ \InlineClass{theoremheaderremark}{##1\ ##2.}
+ ]}%
+ \def\@opargbegintheorem##1##2##3{%
+ \BlockClass{theorembodyremark}% new
+ \LWR@inctheorem% new
+ \item[\hskip\labelsep
+% \theorem@headerfont
+ \InlineClass{theoremheaderremark}{##1\ ##2\ (##3).}
+ ]}}
+
+\gdef\th@nonumberremark{%
+ \def\theorem@headerfont{\itshape}\normalfont%
+ \def\@begintheorem##1##2{%
+ \BlockClass{theorembodyremark}% new
+ \LWR@inctheorem% new
+ \item[\hskip\labelsep
+% \theorem@headerfont
+ \InlineClass{theoremheaderremark}{##1.}
+ ]}%
+ \def\@opargbegintheorem##1##2##3{%
+ \BlockClass{theorembodyremark}% new
+ \LWR@inctheorem% new
+ \item[\hskip\labelsep
+% \theorem@headerfont
+ \InlineClass{theoremheaderremark}{##1\ (##3).}
+ ]}}
+
+\gdef\th@proof{%
+ \def\theorem@headerfont{\normalfont\bfseries}\itshape%
+ \def\@begintheorem##1##2{%
+ \BlockClass{theorembodyproof}% new
+ \LWR@inctheorem% new
+ \item[\hskip\labelsep
+% \theorem@headerfont
+ \InlineClass{theoremheaderproof}{##1.}
+ ]}%
+ \def\@opargbegintheorem##1##2##3{%
+ \BlockClass{theorembodyroof}% new
+ \LWR@inctheorem% new
+ \item[\hskip\labelsep
+% \theorem@headerfont
+ \InlineClass{theoremheaderproof}{##1\ (##3).}
+ ]}}
+
+
+
+\newcounter{proof}%
+\if@thmmarks
+ \newcounter{currproofctr}%
+ \newcounter{endproofctr}%
+\fi
+
+\gdef\proofSymbol{\openbox}
+
+\newcommand{\proofname}{Proof}
+
+\newenvironment{proof}[1][\proofname]{
+ \th@proof
+ \def\theorem@headerfont{\itshape}%
+ \normalfont
+ \theoremsymbol{\ensuremath{_\blacksquare}}
+ \@thm{proof}{proof}{#1}
+}%
+{\@endtheorem}
+
+}{}% amsthm option
+% \end{macrocode}
+%
+% Patched for \acro{CSS}:
+% \begin{macrocode}
+\let\LWR@origendtheorem\@endtheorem
+\renewcommand{\@endtheorem}{%
+\ifbool{LWR@ntheoremmarks}{%
+\ifsetendmark%
+\InlineClass{theoremendmark}{\csname\InTheoType Symbol\endcsname}%
+\setendmarkfalse%
+\fi%
+}{}%
+\LWR@origendtheorem%
+\ifbool{LWR@ntheoremmarks}{\global\setendmarktrue}{}%
+\endBlockClass%
+}
+% \end{macrocode}
+
+% \begin{macrocode}
+\gdef\NoEndMark{\global\setendmarkfalse}
+% \end{macrocode}
+
+
+
+% Redefined to reuse the float mechanism to add list-of-theorem links:
+%
+% \cs{thm@thmline} \marg{1: printed type} \marg{2: \#} \marg{3: optional} \marg{4: page}
+% \begin{macrocode}
+\renewcommand{\thm@@thmline@noname}[4]{%
+\hypertocfloat{1}{theorem}{thm}{#2 #3}{}%
+}
+
+\renewcommand{\thm@@thmline@name}[4]{%
+\hypertocfloat{1}{theorem}{thm}{#1 #2 #3}{}%
+}
+% \end{macrocode}
+%
+% This was redefined by \pkg{ntheorem} when loaded,
+% so it is now redefined for \pkg{lwarp}:
+% \begin{macrocode}
+\def\thm@@thmline{\thm@@thmline@name}
+% \end{macrocode}
+
+
+% Patch for \acro{CSS}:
+% \begin{macrocode}
+\def\listtheorems#1{
+\LWR@htmlelementclass{nav}{lothm}%
+\begingroup
+\c@tocdepth=-2%
+\def\thm@list{#1}\thm@processlist
+\endgroup
+\LWR@htmlelementclassend{nav}{lothm}%
+}
+% \end{macrocode}
+
+% Proof QED symbol:
+% \begin{macrocode}
+
+\newcommand{\qed}{\qquad\the\qedsymbol}
+
+\AtBeginDocument{
+\def\openbox{\text{\HTMLunicode{25A1}}}% UTF-8 white box
+\def\blacksquare{\text{\HTMLunicode{220E}}}% UTF-8 end-of-proof
+\def\Box{\text{\HTMLunicode{25A1}}}% UTF-8 white box
+}
+% \end{macrocode}
+%
+% \cs{thref} \marg{label}
+% \begin{macrocode}
+\newcommand*{\thref}[1]{\cref{#1}}
+% \end{macrocode}
+
+
+%
+% \iffalse
+%</ntheorem>
+% \fi
+
+
+% \clearpage
% \iffalse
%<*pagenote>
@@ -20882,6 +22071,34 @@ solid
+% clearpage
+
+% \iffalse
+%<*showidx>
+% \fi
+
+% \part{lwarp-showidx.sty}
+
+% \section{Showidx}
+%
+% \DescribePackage{showidx}
+% \pkg{showidx} is ignored.
+%
+% \changes{v0.25}{2017/03/22}{\pkg{showidx}: Added.}
+%
+% \codehtml
+%
+% Discard all options for \pkg{lwarp-showidx}:
+% \begin{macrocode}
+\LWR@ProvidesPackageDrop{showidx}
+% \end{macrocode}
+
+% \iffalse
+%</showidx>
+% \fi
+
+
+
% \iffalse
%<*showkeys>
% \fi
@@ -20983,6 +22200,8 @@ solid
%
% \section{Subfig}
%
+% \credits{Steven Douglas Cochran}
+%
% \DescribePackage{subfig}
% \pkg{subfig} is supported and patched by \pkg{lwarp}.
%
@@ -21357,6 +22576,216 @@ solid
% \clearpage
% \iffalse
+%<*theorem>
+% \fi
+
+% \part{lwarp-theorem.sty}
+%
+% \section{Theorem}
+%
+% \credits{Frank Mittelbach}
+%
+% \DescribePackage{theorem}
+% \pkg{theorem} is patched for use by \pkg{lwarp}.
+%
+% \changes{v0.25}{2017/03/16}{\pkg{theorem}: Added.}
+%
+% \begin{description}
+% \item[CSS styling of theorems and proofs:] \
+% \begin{description}
+% \item [Theorem:] |div| of class |theorembody<theoremstyle>|
+% \item [Theorem Header:] |span| of class |theoremheader|
+% \end{description}
+% where |<theoremstyle>| is |plain|, |break|, etc.
+% \end{description}
+%
+%
+% \codehtml
+%
+% \begin{macrocode}
+\LWR@ProvidesPackagePass{theorem}
+% \end{macrocode}
+
+% Storage for the style being used for new theorems:
+% \begin{macrocode}
+\newcommand{\LWR@newtheoremstyle}{plain}
+% \end{macrocode}
+
+% Patched to remember the style being used for new theorems:
+% \begin{macrocode}
+\gdef\theoremstyle#1{%
+ \@ifundefined{th@#1}{\@warning
+ {Unknown theoremstyle `#1'. Using `plain'}%
+ \theorem@style{plain}%
+ \renewcommand{\LWR@newtheoremstyle}{plain}% new
+ }%
+ {%
+ \theorem@style{#1}%
+ \renewcommand{\LWR@newtheoremstyle}{#1}% new
+ }%
+ \begingroup
+ \csname th@\the\theorem@style \endcsname
+ \endgroup}
+% \end{macrocode}
+
+% Patched to remember the style for this theorem type,
+% and set it later when the environment is started.
+% \begin{macrocode}
+\gdef\@xnthm#1#2[#3]{%
+ \expandafter\@ifdefinable\csname #1\endcsname
+ {%
+ \csedef{LWR@thmstyle#1}{\LWR@newtheoremstyle}% new
+ \@definecounter{#1}\@newctr{#1}[#3]%
+ \expandafter\xdef\csname the#1\endcsname
+ {\expandafter \noexpand \csname the#3\endcsname
+ \@thmcountersep \@thmcounter{#1}}%
+ \def\@tempa{\global\@namedef{#1}}%
+ \expandafter \@tempa \expandafter{%
+ \csname th@\the \theorem@style
+ \expandafter \endcsname \the \theorem@bodyfont
+ \@thm{#1}{#2}}%
+ \global \expandafter \let \csname end#1\endcsname \@endtheorem
+ \AtBeginEnvironment{#1}{\edef\LWR@thisthmstyle{\csuse{LWR@thmstyle#1}}}% new
+ }}
+
+\gdef\@ynthm#1#2{%
+ \expandafter\@ifdefinable\csname #1\endcsname
+ {
+ \csedef{LWR@thmstyle#1}{\LWR@newtheoremstyle}% new
+ \@definecounter{#1}%
+ \expandafter\xdef\csname the#1\endcsname{\@thmcounter{#1}}%
+ \def\@tempa{\global\@namedef{#1}}\expandafter \@tempa
+ \expandafter{\csname th@\the \theorem@style \expandafter
+ \endcsname \the\theorem@bodyfont \@thm{#1}{#2}}%
+ \global \expandafter \let \csname end#1\endcsname \@endtheorem
+ \AtBeginEnvironment{#1}{\edef\LWR@thisthmstyle{\csuse{LWR@thmstyle#1}}}% new
+ }}
+
+\gdef\@othm#1[#2]#3{%
+ \expandafter\ifx\csname c@#2\endcsname\relax
+ \@nocounterr{#2}%
+ \else
+ \expandafter\@ifdefinable\csname #1\endcsname
+ {
+ \csedef{LWR@thmstyle#1}{\LWR@newtheoremstyle}% new
+ \expandafter \xdef \csname the#1\endcsname
+ {\expandafter \noexpand \csname the#2\endcsname}%
+ \def\@tempa{\global\@namedef{#1}}\expandafter \@tempa
+ \expandafter{\csname th@\the \theorem@style \expandafter
+ \endcsname \the\theorem@bodyfont \@thm{#2}{#3}}%
+ \global \expandafter \let \csname end#1\endcsname \@endtheorem
+ \AtBeginEnvironment{#1}{\edef\LWR@thisthmstyle{\csuse{LWR@thmstyle#1}}}% new
+ }%
+ \fi}
+% \end{macrocode}
+%
+%
+% The following are patched for \acro{CSS}.
+%
+% These were in individual files |thp.sty| for plain,
+% |thmb.sty| for margin break, etc.
+% They are gathered together here.
+%
+% Each theorem is encased in a \env{BlockClass} environment
+% of class |theorembody<style>|.
+%
+% Each header is encased in an \cs{InlineClass} of class |theoremheader|.
+% \begin{macrocode}
+\gdef\th@plain{%\normalfont\itshape
+ \def\@begintheorem##1##2{%
+ \BlockClass{theorembody\LWR@thisthmstyle}% new
+ \item[\hskip\labelsep
+ \InlineClass{theoremheader}{##1\ ##2}
+ ]}%
+\def\@opargbegintheorem##1##2##3{%
+ \BlockClass{theorembody\LWR@thisthmstyle}% new
+ \item[\hskip\labelsep
+ \InlineClass{theoremheader}{##1\ ##2\ (##3)}
+ ]}
+}
+
+\gdef\th@break{%\normalfont\slshape
+ \def\@begintheorem##1##2{%
+ \BlockClass{theorembody\LWR@thisthmstyle}% new
+ \item[\hskip \labelsep
+ \InlineClass{theoremheader}{##1\ ##2}\newline%
+ ]}%
+\def\@opargbegintheorem##1##2##3{%
+ \BlockClass{theorembody\LWR@thisthmstyle}% new
+ \item[\hskip \labelsep
+ \InlineClass{theoremheader}{##1\ ##2\ (##3)}\newline
+ ]}
+}
+
+\gdef\th@marginbreak{%\normalfont\slshape
+ \def\@begintheorem##1##2{
+ \BlockClass{theorembody\LWR@thisthmstyle}% new
+ \item[\hskip\labelsep %
+ \InlineClass{theoremheader}{##2 \qquad ##1}\newline
+ ]}%
+\def\@opargbegintheorem##1##2##3{%
+ \BlockClass{theorembody\LWR@thisthmstyle}% new
+ \item[\hskip\labelsep %
+ \InlineClass{theoremheader}{##2 \qquad ##1\ %
+ (##3)}\newline
+ ]}
+}
+
+\gdef\th@changebreak{%\normalfont\slshape
+ \def\@begintheorem##1##2{
+ \BlockClass{theorembody\LWR@thisthmstyle}% new
+ \item[\hskip\labelsep
+ \InlineClass{theoremheader}{##2\ ##1}\newline
+ ]}%
+\def\@opargbegintheorem##1##2##3{%
+ \BlockClass{theorembody\LWR@thisthmstyle}% new
+ \item[\hskip\labelsep
+ \InlineClass{theoremheader}{ ##2\ ##1\ %
+ (##3)}\newline
+ ]}
+}
+
+\gdef\th@change{%\normalfont\slshape
+ \def\@begintheorem##1##2{
+ \BlockClass{theorembody\LWR@thisthmstyle}% new
+ \item[\hskip\labelsep
+ \InlineClass{theoremheader}{##2\ ##1}
+ ]}%
+\def\@opargbegintheorem##1##2##3{%
+ \BlockClass{theorembody\LWR@thisthmstyle}% new
+ \item[\hskip\labelsep
+ \InlineClass{theoremheader}{##2\ ##1\ (##3)}
+ ]}
+}
+
+\gdef\th@margin{%\normalfont\slshape
+ \def\@begintheorem##1##2{
+ \BlockClass{theorembody\LWR@thisthmstyle}% new
+ \item[\hskip\labelsep
+ \InlineClass{theoremheader}{##2 \qquad ##1}
+ ]}%
+\def\@opargbegintheorem##1##2##3{%
+ \BlockClass{theorembody\LWR@thisthmstyle}% new
+ \item[\hskip\labelsep
+ \InlineClass{theoremheader}{##2 \qquad ##1\ (##3)}
+ ]}
+}
+% \end{macrocode}
+%
+% Patched for \acro{CSS}:
+% \begin{macrocode}
+\gdef\@endtheorem{\endBlockClass\endtrivlist}
+% \end{macrocode}
+%
+% \iffalse
+%</theorem>
+% \fi
+
+
+
+% \clearpage
+
+% \iffalse
%<*threeparttable>
% \fi
@@ -21460,16 +22889,11 @@ solid
\begin{warpHTML}
% \end{macrocode}
-
-
% \begin{macrocode}
\newboolean{LWR@tikzbabel}
\@ifpackagelater{tikz}{2013/12/20}% Test for Tikz version v3.0.0
-{
-\usetikzlibrary{babel}
-\booltrue{LWR@tikzbabel}
-}
+{\usetikzlibrary{babel}\booltrue{LWR@tikzbabel}}
{\boolfalse{LWR@tikzbabel}}
% \end{macrocode}
@@ -22470,6 +23894,8 @@ solid
% \section{Verse}
%
+% \credits{Peter Wilson}
+%
% \DescribePackage{verse}
% \pkg{verse} is supported and patched by \pkg{lwarp}.
%
@@ -22540,6 +23966,8 @@ solid
% \fi
+
+
% \clearpage
%
% \iffalse
@@ -22734,7 +24162,7 @@ style="width:\rndprintlength{\LWR@wrapwidth} ; %
% If used for \cs{textcolor}, with a styletext of |color:|, then the new color is
% copied into \\ \cs{LWR@currenttextcolor} for possible re-use in \cs{rule}.
% \begin{macrocode}
-\NewDocumentCommand{\LWR@colorstyle}{m m m +m}{%
+\NewDocumentCommand{\LWR@colorstyle}{m m m m}{%
% \end{macrocode}
% Use the \pkg{xcolor} package to convert to an \acro{HTML} color space:
% \begin{macrocode}
@@ -22780,7 +24208,7 @@ style="width:\rndprintlength{\LWR@wrapwidth} ; %
% \oarg{model} \marg{color} \marg{text}
% is converted into an \acro{HTML} hex color span.
% \begin{macrocode}
-\NewDocumentCommand{\LWR@textcolor}{O{named} m +m}{%
+\NewDocumentCommand{\LWR@textcolor}{O{named} m m}{%
\begingroup%
\LWR@colorstyle{color:}{#1}{#2}{#3}%
\endgroup%
@@ -22817,17 +24245,32 @@ style="width:\rndprintlength{\LWR@wrapwidth} ; %
% \oarg{framemodel} \marg{framecolor} \oarg{boxmodel} \marg{boxcolor} \marg{text}
% is converted into a framed \acro{HTML} hex background color span.
%
+% A background color of "none" creates a colored frame without a background color.
+%
% \begin{macrocode}
\NewDocumentCommand{\LWR@fcolorbox}{O{named} m O{named} m m}{%
\begingroup%
+\ifthenelse{\equal{#4}{none}}{% no background color
+\LWR@colorstyle{border:1px solid }{#1}{#2}{#5}%
+}{% yes background color
\LWR@colorstyle{border:1px solid }{#1}{#2}%
{\LWR@colorstyle{background:}{#3}{#4}{#5}}%
+}%
\endgroup%
}
% \end{macrocode}
% ^^A \end{macro}
+% Redirect to new definitions:
+% \begin{macrocode}
+\let\textcolor\LWR@textcolor
+\let\pagecolor\LWR@pagecolor
+\let\colorbox\LWR@colorbox
+\let\fcolorbox\LWR@fcolorbox
+% \end{macrocode}
+
+
% \iffalse
%</xcolor>
% \fi
diff --git a/Master/texmf-dist/source/latex/lwarp/lwarp.ins b/Master/texmf-dist/source/latex/lwarp/lwarp.ins
index 2ec40e32f01..02b95e085fc 100644
--- a/Master/texmf-dist/source/latex/lwarp/lwarp.ins
+++ b/Master/texmf-dist/source/latex/lwarp/lwarp.ins
@@ -38,11 +38,15 @@ version 2005/12/01 or later.
\file{lwarp-afterpage.sty}{\from{lwarp.dtx}{afterpage}}
\file{lwarp-algorithmicx.sty}{\from{lwarp.dtx}{algorithmicx}}
\file{lwarp-alltt.sty}{\from{lwarp.dtx}{alltt}}
+\file{lwarp-amsthm.sty}{\from{lwarp.dtx}{amsthm}}
\file{lwarp-bookmark.sty}{\from{lwarp.dtx}{bookmark}}
\file{lwarp-booktabs.sty}{\from{lwarp.dtx}{booktabs}}
+\file{lwarp-ccaption.sty}{\from{lwarp.dtx}{ccaption}}
\file{lwarp-changepage.sty}{\from{lwarp.dtx}{changepage}}
\file{lwarp-dcolumn.sty}{\from{lwarp.dtx}{dcolumn}}
\file{lwarp-draftwatermark.sty}{\from{lwarp.dtx}{draftwatermark}}
+\file{lwarp-ellipsis.sty}{\from{lwarp.dtx}{ellipsis}}
+\file{lwarp-emptypage.sty}{\from{lwarp.dtx}{emptypage}}
\file{lwarp-enumerate.sty}{\from{lwarp.dtx}{enumerate}}
\file{lwarp-epigraph.sty}{\from{lwarp.dtx}{epigraph}}
\file{lwarp-eso-pic.sty}{\from{lwarp.dtx}{eso-pic}}
@@ -53,6 +57,7 @@ version 2005/12/01 or later.
\file{lwarp-floatrow.sty}{\from{lwarp.dtx}{floatrow}}
\file{lwarp-fontenc.sty}{\from{lwarp.dtx}{fontenc}}
\file{lwarp-fontspec.sty}{\from{lwarp.dtx}{fontspec}}
+\file{lwarp-framed.sty}{\from{lwarp.dtx}{framed}}
\file{lwarp-ftnright.sty}{\from{lwarp.dtx}{ftnright}}
\file{lwarp-geometry.sty}{\from{lwarp.dtx}{geometry}}
\file{lwarp-graphicx.sty}{\from{lwarp.dtx}{graphicx}}
@@ -63,6 +68,7 @@ version 2005/12/01 or later.
\file{lwarp-keyfloat.sty}{\from{lwarp.dtx}{keyfloat}}
\file{lwarp-layout.sty}{\from{lwarp.dtx}{layout}}
\file{lwarp-letterspace.sty}{\from{lwarp.dtx}{letterspace}}
+\file{lwarp-lips.sty}{\from{lwarp.dtx}{lips}}
\file{lwarp-listings.sty}{\from{lwarp.dtx}{listings}}
\file{lwarp-longtable.sty}{\from{lwarp.dtx}{longtable}}
\file{lwarp-lscape.sty}{\from{lwarp.dtx}{lscape}}
@@ -78,6 +84,7 @@ version 2005/12/01 or later.
\file{lwarp-newunicodechar.sty}{\from{lwarp.dtx}{newunicodechar}}
\file{lwarp-nextpage.sty}{\from{lwarp.dtx}{nextpage}}
\file{lwarp-nowidow.sty}{\from{lwarp.dtx}{nowidow}}
+\file{lwarp-ntheorem.sty}{\from{lwarp.dtx}{ntheorem}}
\file{lwarp-pagenote.sty}{\from{lwarp.dtx}{pagenote}}
\file{lwarp-parskip.sty}{\from{lwarp.dtx}{parskip}}
\file{lwarp-placeins.sty}{\from{lwarp.dtx}{placeins}}
@@ -85,10 +92,12 @@ version 2005/12/01 or later.
\file{lwarp-rotating.sty}{\from{lwarp.dtx}{rotating}}
\file{lwarp-setspace.sty}{\from{lwarp.dtx}{setspace}}
\file{lwarp-sidecap.sty}{\from{lwarp.dtx}{sidecap}}
+\file{lwarp-showidx.sty}{\from{lwarp.dtx}{idx}}
\file{lwarp-showkeys.sty}{\from{lwarp.dtx}{showkeys}}
\file{lwarp-subfig.sty}{\from{lwarp.dtx}{subfig}}
\file{lwarp-tabularx.sty}{\from{lwarp.dtx}{tabularx}}
\file{lwarp-textpos.sty}{\from{lwarp.dtx}{textpos}}
+\file{lwarp-theorem.sty}{\from{lwarp.dtx}{theorem}}
\file{lwarp-threeparttable.sty}{\from{lwarp.dtx}{threeparttable}}
\file{lwarp-tikz.sty}{\from{lwarp.dtx}{tikz}}
\file{lwarp-titleps.sty}{\from{lwarp.dtx}{titleps}}