diff options
author | Karl Berry <karl@freefriends.org> | 2017-03-02 22:02:43 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2017-03-02 22:02:43 +0000 |
commit | e4e5bf0f152ea04be229a2747f8b3c2edc4407e7 (patch) | |
tree | 9c5cd61daa005af44bd3f8615574121ac434b315 /Master/texmf-dist/source/latex/lwarp/lwarp.dtx | |
parent | 7282f0820d643e7b73cfbc1c46593f1099dd62a9 (diff) |
lwarp (2mar17)
git-svn-id: svn://tug.org/texlive/trunk@43383 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/lwarp/lwarp.dtx')
-rw-r--r-- | Master/texmf-dist/source/latex/lwarp/lwarp.dtx | 1493 |
1 files changed, 1207 insertions, 286 deletions
diff --git a/Master/texmf-dist/source/latex/lwarp/lwarp.dtx b/Master/texmf-dist/source/latex/lwarp/lwarp.dtx index e2656f8a077..8ee0d889517 100644 --- a/Master/texmf-dist/source/latex/lwarp/lwarp.dtx +++ b/Master/texmf-dist/source/latex/lwarp/lwarp.dtx @@ -1,7 +1,7 @@ % % \iffalse meta-comment % -% Copyright 2016 Brian Dunn +% Copyright 2016-2017 Brian Dunn % % This work may be distributed and/or modified under the % conditions of the LaTeX Project Public License, either version 1.3 @@ -16,7 +16,7 @@ % \iffalse %<package>\NeedsTeXFormat{LaTeX2e}[1999/12/01] %<package>\ProvidesPackage{lwarp} -%<package> [2017/02/23 v0.21 Allows LaTeX to directly produce HTML5 output.] +%<package> [2017/03/02 v0.22 Allows LaTeX to directly produce HTML5 output.] % %<*driver> \documentclass{ltxdoc} @@ -240,6 +240,23 @@ Green-colored tags in the left margin show which sections of source code apply to the generation of \acro{HTML}, print, or both forms of output. } +\newcommand{\limitspageref}{\pkg{cleveref} and \pkg{varioref} are supported, +but printed page numbers do not map to \acro{HTML}. +See \cref{sec:successfulcommands} to redefine the message which is printed +for page number references. +} + +\newcommand{\limitsabstract}{% +\pkg{abstract} is supported. +If using the \texttt{number} option with file splits, +be sure to place the table of contents before the abstract. +The number option causes a section break which +may cause a file split, which would put a table of contents out +of the home page if it is after the abstract. +} + + + \newcommand{\limitstext}{\cs{textbf}, etc.\ are supported, but \cs{bfseries}, etc.\ are not yet supported.} @@ -455,7 +472,7 @@ Color definitions, models, and mixing are fully supported \margintag{support} without any changes required. -Colored tables are ignored. Use \acro{CSS} to style tables. +Colored tables are ignored so far. Use \acro{CSS} to style tables. \margintag{tables} \cs{textcolor}, \cs{colorbox}, and \cs{fcolorbox} are supported. @@ -474,6 +491,14 @@ Use \acro{CSS} or \cs{textcolor} where possible. \item \texttt{*} in a column specification is not used (so far). Repeat the column type the correct number of times. +\item Only one each of \texttt{@}, \texttt{!}, \texttt{>}, and \texttt{<} + may be used at each column, and they are used in that order. + +\item \cs{newcolumntype} is ignored; unknown column types are set to \texttt{l}. + +\item \pkg{tabularx} ignores the width, but \texttt{X} columns do produce paragraph + columns or multicolumns. + \item Multirow and multicolumn cannot be used at the same time. \watchout[\cs{multirow} \& \cs{multicolumn}] (No rectangular holes wider than one column or taller than one row.) @@ -694,8 +719,16 @@ changed to a dash. The following may be used to restore it to a colon: \\ } \newcommand{\limitsnewtxmath}{% -\pkg{newtxmath} must be loaded after \pkg{lwarp}. -\watchout[loading] +The proper load order is: +\watchout[loading sequence] +\begin{enumerate} +\item \dots +\item \texttt{\cs{usepackage}\{lwarp\}} +\item \dots +\item \texttt{\cs{usepackage}\{amsthm\}} +\item \texttt{\cs{usepackage}\{newtxmath\}} +\item \dots +\end{enumerate} } \newcommand{\limitsenumitem}{% @@ -705,6 +738,19 @@ Many of the spacing options are rendered irrelevant by \cmds{pdftotext} and \acro{HTML}. Numbering, labels, and \cs{newlist} function correctly. } +\newcommand{\limitsenumerate}{% +\pkg{enumerate} conflicts with \pkg{enumitem} if both are loaded +at the same time, but \pkg{lwarp} does not actually load \pkg{enumerate}. +While generating \acro{HTML}, \pkg{lwarp} only loads \pkg{enumitem}, and +\pkg{enumerate} is simulated by \pkg{enumitem} using +the functionality of the \texttt{shortlabels} option. + +A problem may occur during print output if \pkg{enumitem} is loaded, +either manually or by some other package such as \pkg{siunitx}. +If these are used, \pkg{enumerate} will conflict with \pkg{enumitem} +during print output. +} + \newcommand{\osportabilityusage}{% \pkg{lwarp} tries to detect which operating system is being used. @@ -741,7 +787,7 @@ operating-system path separator used by \pkg{lwarp}. %<*package> % \fi % -% \CheckSum{8282} +% \CheckSum{8578} % % \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 @@ -800,6 +846,7 @@ operating-system path separator used by \pkg{lwarp}. % \changes{v0.20}{2017/01/03}{Moved sidebar and example code to test suite.} % \changes{v0.20}{2017/01/25}{\pkg{caption} and \pkg{subcaption} supported.} % \changes{v0.21}{2017/02/23}{\ 2017/02/23} +% \changes{v0.22}{2017/03/02}{\ 2017/03/02} @@ -828,7 +875,7 @@ operating-system path separator used by \pkg{lwarp}. % % \bigskip % -% {\small\copyright{} 2016} Brian Dunn\\ \small \texttt{bd@BDTechConcepts.com} +% {\small\copyright{} 2016--2017} Brian Dunn\\ \small \texttt{bd@BDTechConcepts.com} % % \bigskip % @@ -836,7 +883,7 @@ operating-system path separator used by \pkg{lwarp}. % ^^A % \title{The \pkg{lwarp} package\thanks{This document % ^^A % corresponds to \pkg{lwarp}~\fileversion, % ^^A % dated \filedate.}} -% ^^A % \author{{\small\copyright{} 2016} Brian Dunn\\ \small \texttt{bd@BDTechConcepts.com}} +% ^^A % \author{{\small\copyright{} 2016--2017} Brian Dunn\\ \small \texttt{bd@BDTechConcepts.com}} % ^^A % \published{} % ^^A % \subtitle{\textup{\LaTeX{} to HTML5}} % ^^A % @@ -929,6 +976,13 @@ operating-system path separator used by \pkg{lwarp}. % For a detailed list of changes, see the Change History on page \pageref{sec:changehistory}. % % \begin{description} +% \item[v0.22:] \ +% \begin{itemize} +% \item Support has been added for tabular column types |D|, |!|, and |X|. +% Unknown column types are converted to |l|. +% \item Additional packages are supported, including \pkg{abstract}, +% \pkg{dcolumn}, \pkg{tabularx}, and \pkg{varioref}. +% \end{itemize} % \item[v0.21:] \ % \begin{itemize} % \item Documentation for installing on Windows has been updated and improved. @@ -1051,14 +1105,9 @@ operating-system path separator used by \pkg{lwarp}. % while still allowing for the high-quality display and printing of images (again, subject to potentially % bug-ridden\footnote{Firefox has had an on-again/off-again bug for quite some time regareding % printing \acro{SVG}s at high resolution.} browser -% support).\footnote{Aside --- The author, being a programmer, believes in the movement towards -% ``logical punctuation''. (Look it up.) -% -% Aside to the aside --- The author also believes that space should be on -% either side of an em-dash, employing the symbol as a separator rather than something looking -% like a chemical \textbf{bond---as} shown here, but is willing to abide by -% Chicago style when necessary.} -% Further, \acro{SVG} images allow math to be presented with +% support). +% +% Furthermore, \acro{SVG} images allow math to be presented with % the same precise formatting as in the print version. % Math is accompanied by ALT tags holding the \LaTeX{} source for the expression, allowing it to be % copy/pasted into other documents.\footnote{There seems to be some debate as to whether @@ -1101,24 +1150,22 @@ operating-system path separator used by \pkg{lwarp}. % page \pageref{tab:supported}.) % % +% % \subsection{Supported packages and features} +% % \changes{v0.15}{2016/04/05}{Docs: Moved the supported functions table to the introduction.} -% -% \Cref{tab:supported} lists the various \LaTeX{} packages and macros which may be used. +% +% Supported classes include \pkg{book}, \pkg{report}, and \pkg{article}. +% \pkg{memoir} is planned, but in the meantime many of the packages +% used by \pkg{memoir} are already supported. +% +% +% \Cref{tab:supported} lists some of the various \LaTeX{} features which may be used. % \emph{Supported} means that the package or macro may be used as-is, % perhaps with minor limitations. % \emph{Emulated} means that the original package or macro is not used, but similar % functionality is provided in a way which is intended to be compatible with the % user's \LaTeX{} code. -% \emph{Ignored} means that the package is not used, but nullified user-level macros -% and related counters, lengths, etc.\ are provided for source-level compatibility. -% -% Any package listed in \cref{tab:supported} probably works with little or no change to the -% user's source code. -% Special environments are provided to mark blocks of code which are for -% print only, \acro{HTML} only, or both, should it be necessary. -% -% \clearpage % % \renewcommand{\arraystretch}{1.5} % @@ -1140,30 +1187,21 @@ operating-system path separator used by \pkg{lwarp}. % Adds \cmds{filedepth} for splitting the \acro{HTML} output. % Files may be numbered sequentially or named according to section name. % Common short words and punctuation is removed from the filenames. \\ -% \pkg{titlesec} & Ignored. \\ % Table of Contents, Figures, Tables: & Supported, with hyperlinks. \\ % \cs{maketitle}, \env{titlepage}, \pkg{titling}: & Supported, with optional % \pkg{titling}-based commands for published and subtitle. \\ -% \pkg{titletoc} & Ignored. \\ -% \pkg{tocloft} & Ignored, with support for \cs{newlistof} and \cs{ctfchapterprecis}.\\ -% \pkg{abstract}: & Supported \\ +% \env{abstract}: & Supported \\ % \midrule % Cross-references: & Emulated, with hyperlinks. \\ -% \pkg{cleverref}: & Supported, including ranges and lists, with hyperlinks. \\ -% \pkg{nameref}: & Emulated \\ % \pkg{hyperref}: & Emulated. % \acro{HTML} hyperlinks are generated for \acro{TOC}, \acro{LOF}, \acro{LOT}, % \cs{nameref}, \cs{ref}, % the \pkg{cleveref} commands, and index entries.\\ -% \pkg{bookmark}: & Emulated. \\ % \midrule % Footnotes: & Supported, emulated as pagenotes per \acro{HTML} page. \\ -% \pkg{pagenote}: & Supported. \\ % Indexing: & \cmds{texindy} is used, with hyperlinks. \\ % Bibliography: & Supported, without hyperlinks so far. \\ % \midrule -% \pkg{babel}: & Supported. \\ -% \midrule % Math: & Supported. Converted to \acro{SVG} images with \acro{HTML} \cmds{ALT} tags containing the % \LaTeX{} source for the math expression. % MathJax supported as an alternative. @@ -1183,6 +1221,7 @@ operating-system path separator used by \pkg{lwarp}. % \cs{multirow} and \cs{multicolumn} are available, but cannot % be used at the same time. % Nested tables are not supported. \\ +% \pkg{array}: & Supported inside math environments, emulated elsewhere. \\ % \pkg{multirow}: & Emulated. \\ % \pkg{longtable}: & Emulated. Converted to a tabular. Captions supported. % Extra headings and \cs{kill} lines must be enclosed in @@ -1195,13 +1234,6 @@ operating-system path separator used by \pkg{lwarp}. % \cmidrule{2-2} % \pkg{threeparttable}: & Emulated \\ % \midrule -% \pkg{geometry}: & Ignored. \\ -% \pkg{titleps}: & Used by \pkg{lwarp}, but emulated for the user. \\ -% \pkg{fancyhdr}: & Ignored. \\ -% \pkg{extramarks}: & Ignored. \\ -% \pkg{afterpage}, \pkg{draftwatermark}, \pkg{eso-pic}, -% \pkg{everypage}, \pkg{wallpaper}: & Ignored. \\ -% \midrule % \pkg{graphics}, \pkg{graphicx}: & Emulated. % \cs{includegraphics} supports \cmds{width}, \cmds{height}, % \cmds{origin}, \cmds{angle}, and \cmds{scale} tags, and adds \cmds{class}. @@ -1215,16 +1247,11 @@ operating-system path separator used by \pkg{lwarp}. % \midrule % Environments: & Standard \LaTeX{} environments are supported. \\ % \pkg{theorem}: & Supported, with added \acro{CSS} tags. \\ -% \pkg{epigraph}: & Emulated \\ -% \pkg{csquotes}: & Supported \\ -% \pkg{verse} and \pkg{memoir}'s verse-related macros & Supported \\ % \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{alltt}, \pkg{listings}: & Supported \\ -% \pkg{algorithmicx}: & Supported \\ % \pkg{mdframed}: & Supported \\ % \pkg{multicol}: & Emulated, with \acro{CSS}3. % Converted to up to three columns with an optional heading, @@ -1245,11 +1272,6 @@ operating-system path separator used by \pkg{lwarp}. % \acro{HTML} output for thin-unbreakable, unbreakable, % \cs{enskip}, \cs{quad}, \cs{qquad}, \cs{hspace}. \\ % Rules: & \cs{rule} with width, height, raise, text color. \\ -% \pkg{placeins}, \pkg{setspace}, \pkg{needspace}: & Ignored. \\ -% \pkg{textpos}: & Emulated. \\ -% \pkg{nowidow}: & Ignored. \\ -% \pkg{microtype}, \pkg{letterspace}: & Ignored. -% \pkg{microtype} is used to disable ligatures. \\ % \acro{HTML} reserved characters: & \cs{\&}, \cs{textless}, and % \cs{textgreater} are converted to \acro{HTML} entities. \\ % \midrule @@ -1263,18 +1285,46 @@ operating-system path separator used by \pkg{lwarp}. % and \fcolorbox{red}{NavajoWhite}{\cs{fcolorbox}}. % \cs{pagecolor} is not supported. \\ % \midrule -% \pkg{CJKutf8}: & Supported \\ -% \midrule % Where: & \\ % \textbf{Supported:} & The existing \LaTeX{} package is used. \\ % \textbf{Emulated:} & The \LaTeX{} package is not used, but some/all of its % functions are emulated. Null functions, lengths, and counters are provided % for source compatibility. \\ -% \textbf{Ignored:} & The \LaTeX{} package is not used, but null functions -% are provided for source compatibility. \\ % \bottomrule % \end{longtable} % +% +% 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. +% Many are simply nullfied during \acro{HTML} output. +% Others are not affected by the output mode and thus work as-is. +% +% +% \begin{table}[bp] +% \caption{Additional supported packages} +% \label{tab:additionalsupported} +% \sffamily +% babel, bm, +% calc, cleveref, csquotes, +% enumitem, +% fancyvrb, fileerr, +% newtxmath, +% siunitx, somedefs, +% theorem, tikz, trace, +% varioref, +% xspace +% \end{table} +% +% +% These packages and features probably works with little or no change to the +% user's source code. +% Special environments are provided to mark blocks of code which are for +% print only, \acro{HTML} only, or both, should it be necessary. +% +% +% % % \clearpage % @@ -2801,6 +2851,15 @@ operating-system path separator used by \pkg{lwarp}. % for a smooth conversion to both \acro{HTML} and print-formatted outputs: % % \begin{description} +% +% \item [Page references:] The printed page does not translate to the \acro{HTML} +% page, so references to page numbers are converted to parentheses containing +% \cs{pagerefPageFor}, which defaults to ``see '', +% followed by a hyperlink to the appropriate +% object. Ex: ``Sec.~\textcolor{red}{1.23} +% on page (see sec.~\textcolor{red}{1.23})''. +% \cs{pagerefPageFor} may be redefined to ``page for '', empty, etc. +% % \item [\cs{bfseries}, etc:] Use \cs{textbf} instead. % \item [\cs{centering}, \cs{raggedright}, \cs{raggedleft}:] ~ % @@ -2984,12 +3043,6 @@ operating-system path separator used by \pkg{lwarp}. % % \limitstext % -% -% \subsubsection{Verse and Memoir packages} -% -% \limitsverse -% -% % \subsubsection{Math} % \label{sec:limitsmath} % @@ -3050,6 +3103,23 @@ operating-system path separator used by \pkg{lwarp}. % \limitsfloatrow % % +% \subsubsection{\pkg{abstract} package} +% +% \limitsabstract +% +% +% \subsubsection{\pkg{cleveref} and \pkg{varioref} packages} +% +% \changes{v0.22}{2017/03/01}{\pkg{varioref}: Supported.} +% +% \limitspageref +% +% +% \subsubsection{\pkg{verse} and \pkg{memoir}} +% +% \limitsverse +% +% % \subsubsection{\pkg{siunitx} package} % % \DescribePackage{siunitx} @@ -3084,6 +3154,11 @@ operating-system path separator used by \pkg{lwarp}. % \limitsenumitem % % +% \subsubsection{\pkg{enumerate} package} +% +% \DescribePackage{enumerate} +% \limitsenumerate +% % % % \section{Expanding the code base} @@ -3107,13 +3182,13 @@ operating-system path separator used by \pkg{lwarp}. % \pkg{lwarp} redefines the \cs{usepackage} and \cs{RequirePackage} % macros such that it first looks to see if a |lwarp-<packagename>.sty| % version exists. If so, the \pkg{lwarp} version is used instead. -% This modular system allows the users to create their own +% This modular system allows users to create their own % versions of packages for \pkg{lwarp} to use for \acro{HTML}, simply by creating % a new package with a |lwarp-| prefix. If placed in the local % directory along with the source code, it will be seen by that project % alone. If placed alongside the other |lwarp-| packages where \TeX\ % can see it, then the user's new package will be seen by any documents -% using \pkg{lwarp}. +% using \pkg{lwarp}. (Remember |mktexlsr| or |texhash|.) % % An |lwarp-<packagename>.sty| package is only used during \acro{HTML} % generation. Its purpose is to pretend to be the original package, @@ -3123,19 +3198,24 @@ operating-system path separator used by \pkg{lwarp}. % while passing the raw text on to be typeset. See the pre-existing % |lwarp-| packages for examples. % -% Note that anything the user might expect of the original package +% Anything the user might expect of the original package % must be replaced or emulated by the new |lwarp-| package, including % package options, user-adjustable counters, lengths, and booleans, and % conditional behaviors. +% In many of these packages, most of the new definitions have a ``local'' prefix +% according to the package name, and |@| characters inside the name, +% which hides these names from the user. In most cases these macros +% will not need to be emulated for \acro{HTML} output. Only the ``user-facing'' +% macros need to be nullified or emulated. % % Each |lwarp-| package should first call either \cs{LWR@ProvidesPackageDrop} -% or \cs{LWR@ProvidesPackagePass}. If dropped, the original print-version +% 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 passed, the original package is loaded first, with the supplied options, then +% 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} % output only requires some modifications of the original package. -% For a case where the original package is usable as-is, there is no +% For a case where the original package is usable without changes, there is no % need to create a |lwarp-| version. % % @@ -3151,8 +3231,8 @@ operating-system path separator used by \pkg{lwarp}. % \subsection{Using the \protect\texttt{lwarp.sty} package} % % Also see: \\ -% \Cref{sec:successfulcommands}: \nameref{sec:successfulcommands} \\ % \Cref{sec:printcommands}: \nameref{sec:printcommands} \\ +% \Cref{sec:successfulcommands}: \nameref{sec:successfulcommands} \\ % \Cref{sec:limitations}: \nameref{sec:limitations} % % \changes{v0.14}{2016/03/26}{Docs: Troubleshooting cross-references.} @@ -3678,11 +3758,11 @@ operating-system path separator used by \pkg{lwarp}. % % -% \begin{macro}{\LWR@noloadbefore} \marg{packagename} \quad -% Error if loaded before \pkg{lwarp}. +% \begin{macro}{\LWR@loadafter} \marg{packagename} \quad +% Error if this package was loaded before \pkg{lwarp}. % % \begin{macrocode} -\newcommand*{\LWR@noloadbefore}[1]{% +\newcommand*{\LWR@loadafter}[1]{% \@ifpackageloaded{#1} { \PackageError{lwarp} @@ -3697,11 +3777,11 @@ after lwarp.} % \end{macro} -% \begin{macro}{\LWR@noloadafter} \marg{packagename} \quad -% Error if loaded after \pkg{lwarp}. +% \begin{macro}{\LWR@loadbefore} \marg{packagename} \quad +% Error if this package is after \pkg{lwarp}. % % \begin{macrocode} -\newcommand*{\LWR@noloadafter}[1]{% +\newcommand*{\LWR@loadbefore}[1]{% \PackageError{lwarp} {Package #1 must be loaded before lwarp} {Move \detokenize{\usepackage}{#1} before \detokenize{\usepackage}{lwarp}.} @@ -3715,50 +3795,68 @@ after lwarp.} % % The following packages must be loaded after \pkg{lwarp}: % \begin{macrocode} -\LWR@noloadbefore{afterpage} -\LWR@noloadbefore{algorithmicx} -\LWR@noloadbefore{alltt} -\LWR@noloadbefore{bookmark} -\LWR@noloadbefore{booktabs} -\LWR@noloadbefore{draftwatermark} -\LWR@noloadbefore{epigraph} -\LWR@noloadbefore{eso-pic} -\LWR@noloadbefore{everypage} -\LWR@noloadbefore{extramarks} -\LWR@noloadbefore{fancyhdr} -\LWR@noloadbefore{floatrow} -\LWR@noloadbefore{float} -\LWR@noloadbefore{geometry} -\LWR@noloadbefore{graphics} -\LWR@noloadbefore{graphicx} -\LWR@noloadbefore{hyperref} -\LWR@noloadbefore{keyfloat} -\LWR@noloadbefore{letterspace} -\LWR@noloadbefore{listings} -\LWR@noloadbefore{longtable} -\LWR@noloadbefore{ltcaption} -\LWR@noloadbefore{mdframed} -\LWR@noloadbefore{microtype} -%\LWR@noloadbefore{multicol}% loaded by ltxdoc -\LWR@noloadbefore{multirow} -\LWR@noloadbefore{needspace} -\LWR@noloadbefore{nowidow} -\LWR@noloadbefore{pagenote} -\LWR@noloadbefore{placeins} -\LWR@noloadbefore{ragged2e} -\LWR@noloadbefore{rotating} -\LWR@noloadbefore{setspace} -\LWR@noloadbefore{textpos} -\LWR@noloadbefore{threeparttable} -\LWR@noloadbefore{titleps} -\LWR@noloadbefore{titlesec} -\LWR@noloadbefore{titletoc} -\LWR@noloadbefore{tocloft} -\LWR@noloadbefore{trivfloat} -\LWR@noloadbefore{wallpaper} -\LWR@noloadbefore{wrapfig} -\LWR@noloadbefore{xcolor} -\LWR@noloadbefore{xfrac} +\LWR@loadafter{abstract} +\LWR@loadafter{afterpage} +\LWR@loadafter{algorithmicx} +\LWR@loadafter{alltt} +\LWR@loadafter{bookmark} +\LWR@loadafter{booktabs} +\LWR@loadafter{changepage} +\LWR@loadafter{dcolumn} +\LWR@loadafter{draftwatermark} +\LWR@loadafter{enumerate} +\LWR@loadafter{epigraph} +\LWR@loadafter{eso-pic} +\LWR@loadafter{everypage} +\LWR@loadafter{extramarks} +\LWR@loadafter{fancyhdr} +\LWR@loadafter{floatrow} +\LWR@loadafter{float} +\LWR@loadafter{ftnright} +\LWR@loadafter{geometry} +\LWR@loadafter{graphics} +\LWR@loadafter{graphicx} +\LWR@loadafter{hyperref} +\LWR@loadafter{indentfirst} +\LWR@loadafter{keyfloat} +\LWR@loadafter{layout} +\LWR@loadafter{letterspace} +\LWR@loadafter{listings} +\LWR@loadafter{longtable} +\LWR@loadafter{lscape} +\LWR@loadafter{ltcaption} +\LWR@loadafter{mcaption} +\LWR@loadafter{mdframed} +\LWR@loadafter{microtype} +%\LWR@loadafter{multicol}% loaded by ltxdoc +\LWR@loadafter{multirow} +\LWR@loadafter{nameref} +\LWR@loadafter{needspace} +\LWR@loadafter{newtxmath} +\LWR@loadafter{nextpage} +\LWR@loadafter{nowidow} +\LWR@loadafter{pagenote} +\LWR@loadafter{parskip} +\LWR@loadafter{placeins} +\LWR@loadafter{ragged2e} +\LWR@loadafter{rotating} +\LWR@loadafter{setspace} +\LWR@loadafter{showkeys} +\LWR@loadafter{sidecap} +\LWR@loadafter{tabularx} +\LWR@loadafter{textpos} +\LWR@loadafter{threeparttable} +\LWR@loadafter{titleps} +\LWR@loadafter{titlesec} +\LWR@loadafter{titletoc} +\LWR@loadafter{tocloft} +\LWR@loadafter{trivfloat} +\LWR@loadafter{varioref} +\LWR@loadafter{verse} +\LWR@loadafter{wallpaper} +\LWR@loadafter{wrapfig} +\LWR@loadafter{xcolor} +\LWR@loadafter{xfrac} % \end{macrocode} @@ -8199,13 +8297,17 @@ link rel="stylesheet" type="text/css" href="\LWR@currentcss" /}% % \section{Abstract} - +% +% The following code replaces the \LaTeX\ default, +% and will itself be replaced later if the \pkg{abstract} +% package is loaded. +% +% % \codehtml % \begin{macrocode} \begin{warpHTML} % \end{macrocode} - % \begin{macro}{\abstractname} % User-redefinable title for the abstract. % @@ -8306,12 +8408,11 @@ link rel="stylesheet" type="text/css" href="\LWR@currentcss" /}% % \end{macrocode} + % \subsection{Verse} % % \limitsverse % -% \bigskip -% % \codeall % \begin{macrocode} \begin{warpall} @@ -8341,67 +8442,6 @@ link rel="stylesheet" type="text/css" href="\LWR@currentcss" /}% \end{warpall} % \end{macrocode} -% \codehtml -% \begin{macrocode} -\begin{warpHTML} -% \end{macrocode} - - - -% -% -% \begin{environment}{verse} -% \changes{v0.18}{2016/05/13}{Supports verse, memoir packages.} -% The \env{verse} environment will be placed inside a \acro{HTML} |pre|. -% \begin{macrocode} -\AfterEndPreamble{ -% \end{macrocode} -% At the beginning of the \env{verse} environment: -% \begin{macrocode} -\AtBeginEnvironment{verse} -{% -% \end{macrocode} -% \DescribePackage{verse}\DescribePackage{memoir}\index{memoir>verse} -% The \pkg{verse} or \pkg{memoir} packages can place stanza numbers to the left -% with their \cs{flagverse} command. \DescribeMacro{\flagverse} -% Do not allow them to go into the left margin, which would cause |pdfcrop| -% to crop the entire page further to the left: -% \DescribeLength{vleftskip} -% \begin{macrocode} -\ifdef{\vleftskip}{% -\setlength{\vleftskip}{\HTMLvleftskip} -\setlength{\leftmargini}{\HTMLleftmargini} -}{} -\LWR@atbeginverbatim{verse} -\unskip\vspace{-\baselineskip} -} -% \end{macrocode} -% After the end of the \env{verse} environment, which places the |pre| tag at the -% regular left margin: -% \begin{macrocode} -\AfterEndEnvironment{verse}{ -\unskip\vspace{-\baselineskip} -\LWR@afterendverbatim -} -% \end{macrocode} -% Patch to place poemtitle inside an \acro{HTML} span of class |poemtitle|: -% \begin{macrocode} -\ifdef{\poemtitle}{ -\DeclareDocumentCommand{\@vstypeptitle}{m}{% - \vspace{\beforepoemtitleskip}% - {\InlineClass{poemtitle}{\poemtitlefont #1}\par}% - \vspace{\afterpoemtitleskip}% - } -}{} - -} -\end{warpHTML} -% \end{macrocode} -% \end{environment} - - - - @@ -9121,7 +9161,7 @@ link rel="stylesheet" type="text/css" href="\LWR@currentcss" /}% -% \subsection{Handling \&} +% \subsection{Handling \& and !} % % \begin{minipage}{\linewidth} % For technical discussion regarding problems redefining |\&|, See: \\ @@ -9141,11 +9181,12 @@ link rel="stylesheet" type="text/css" href="\LWR@currentcss" /}% \ifbool{LWR@skippingmrowcell}{}% {% not skippingmrowcell % \end{macrocode} -% Insert any |<| then any |@| column contents: +% Insert any |<| then any |@| and |!| column contents: % \begin{macrocode} \unskip% \LWR@getexparray{LWR@colafterspec}{\theLWR@tablecolspos}% \LWR@getexparray{LWR@colatspec}{\theLWR@tablecolspos}% +\LWR@getexparray{LWR@colbangspec}{\theLWR@tablecolspos}% % \end{macrocode} % Close paragraphs: % \begin{macrocode} @@ -9329,6 +9370,10 @@ link rel="stylesheet" type="text/css" href="\LWR@currentcss" /}% % The leftmost's index is |leftedge|, the others are counter values. % See \cref{sec:dataarray}. % +% \DescribeObject{LWR@colbangspec}A data array of specifications for |!| columns. +% The leftmost's index is |leftedge|, the others are counter values. +% See \cref{sec:dataarray}. +% % \DescribeObject{LWR@colbeforespec}A data array of specifications for |>| columns. % % \DescribeObject{LWR@colafterspec}A data array of specifications for |<| columns. @@ -9341,7 +9386,6 @@ link rel="stylesheet" type="text/css" href="\LWR@currentcss" /}% % % Handles |@{text}| columns. % -% % \begin{macrocode} \newcommand*{\LWR@parseatcolumn}{% % \end{macrocode} @@ -9364,7 +9408,6 @@ link rel="stylesheet" type="text/css" href="\LWR@currentcss" /}% {% left edge of the table: \LWR@traceinfo{at the left edge}% \LWR@setexparray{LWR@colatspec}{leftedge}{\LWR@strresult}% -\LWR@traceinfo{finished with the def}% }% {% not at the left edge: \LWR@traceinfo{not at the left edge}% @@ -9372,11 +9415,52 @@ link rel="stylesheet" type="text/css" href="\LWR@currentcss" /}% \LWR@traceinfo{at \theLWR@tabletotalcols: \LWR@colatspec(\theLWR@tabletotalcols)!}% }% \let\LWR@strresult\relax% +\booltrue{LWR@validtablecol}% } % \end{macrocode} % \end{macro} % % +% \begin{macro}{\LWR@parsebangcolumn} +% +% \changes{v0.22}{2017/02/28}{Added tabular \texttt{!!} column.} +% +% \begin{macrocode} +\newcommand*{\LWR@parsebangcolumn}{% +% \end{macrocode} +% Move to the next token after the '!': +% \begin{macrocode} +\LWR@traceinfo{bang column}% +\addtocounter{LWR@tablecolspos}{1}% +% \end{macrocode} +% Read the next token into \cs{LWR@strresult}, expanding once: +% \begin{macrocode} +\LWR@traceinfo{about to read the next token:}% +\expandarg% +\StrChar{\LWR@origcolspec}{\theLWR@tablecolspos}[\LWR@strresult] +\fullexpandarg% +% \end{macrocode} +% Store the result into a data array, expanding once out of \cs{LWR@strresult}: +% \begin{macrocode} +\LWR@traceinfo{have now read the next token}% +\ifthenelse{\cnttest{\value{LWR@tabletotalcols}}=0} +{% left edge of the table: +\LWR@traceinfo{at the left edge}% +\LWR@setexparray{LWR@colbangspec}{leftedge}{\LWR@strresult}% +}% +{% not at the left edge: +\LWR@traceinfo{not at the left edge}% +\LWR@setexparray{LWR@colbangspec}{\theLWR@tabletotalcols}{\LWR@strresult}% +\LWR@traceinfo{bang \theLWR@tabletotalcols: \LWR@colbangspec(\theLWR@tabletotalcols)!}% +}% +\let\LWR@strresult\relax% +\booltrue{LWR@validtablecol}% +} +% \end{macrocode} +% \end{macro} +% +% +% % \begin{macro}{\LWR@parsebeforecolumn} % % Handles |>{text}| columns. @@ -9398,6 +9482,7 @@ link rel="stylesheet" type="text/css" href="\LWR@currentcss" /}% % \begin{macrocode} \LWR@setexparray{LWR@colbeforespec}{\theLWR@tabletotalcolsnext}{\LWR@strresult}% \let\LWR@strresult\relax% +\booltrue{LWR@validtablecol}% } % \end{macrocode} % \end{macro} @@ -9424,6 +9509,7 @@ link rel="stylesheet" type="text/css" href="\LWR@currentcss" /}% % \begin{macrocode} \LWR@setexparray{LWR@colafterspec}{\theLWR@tabletotalcols}{\LWR@strresult}% \let\LWR@strresult\relax% +\booltrue{LWR@validtablecol}% } % \end{macrocode} % \end{macro} @@ -9434,6 +9520,7 @@ link rel="stylesheet" type="text/css" href="\LWR@currentcss" /}% % % \begin{macrocode} \newcommand*{\LWR@parseskipcolumn}{% +\booltrue{LWR@validtablecol}% } % \end{macrocode} % \end{macro} @@ -9451,20 +9538,23 @@ link rel="stylesheet" type="text/css" href="\LWR@currentcss" /}% \addtocounter{LWR@tabletotalcols}{1}% \addtocounter{LWR@tabletotalcolsnext}{1}% \LWR@setexparray{LWR@colatspec}{\theLWR@tabletotalcolsnext}{\relax}% +\LWR@setexparray{LWR@colbangspec}{\theLWR@tabletotalcolsnext}{\relax}% \LWR@setexparray{LWR@colbeforespec}{\theLWR@tabletotalcolsnext}{\relax}% \LWR@setexparray{LWR@colafterspec}{\theLWR@tabletotalcolsnext}{\relax}% +\booltrue{LWR@validtablecol}% } % \end{macrocode} % \end{macro} -% \subsection{Parsing `p', `m', or `b' columns} +% \subsection{Parsing `p', `m', or `b' columns} +% % \begin{macro}{\LWR@parsepcolumn} \marg{thiscolumn} -% the width will be ignored +% The width will be ignored. % \begin{macrocode} \newcommand*{\LWR@parsepcolumn}[1]{% % \end{macrocode} -% converts to the given column type +% Converts to the given column type. % \begin{macrocode} \LWR@parsenormalcolumn{#1}% % \end{macrocode} @@ -9476,6 +9566,31 @@ link rel="stylesheet" type="text/css" href="\LWR@currentcss" /}% % \end{macro} +% \subsection{Parsing `D' columns} +% +% From the \pkg{dcolumn} package. +% +% \begin{macro}{\LWR@parseDcolumn} \marg{thiscolumn} +% The three parameters will be ignored. +% +% \changes{v0.22}{2017/02/24}{Added tabular \texttt{D} column.} +% +% \begin{macrocode} +\newcommand*{\LWR@parseDcolumn}[1]{% +% \end{macrocode} +% Converts to the given column type. +% \begin{macrocode} +\LWR@parsenormalcolumn{#1}% +% \end{macrocode} +% Skips the following three parameters. +% \begin{macrocode} +\addtocounter{LWR@tablecolspos}{3}% +} +% \end{macrocode} +% \end{macro} + + + % \subsection{Parsing the column specifications} % \acro{HTML} \acro{CSS} cannot exactly match the \LaTeX{} concept of a baseline for @@ -9533,14 +9648,24 @@ link rel="stylesheet" type="text/css" href="\LWR@currentcss" /}% % \item [m:] With paragraph tags, \acro{CSS} |vertical-align:middle|. % \item [b:] With paragraph tags, \acro{CSS} |vertical-align:top| so that the bottom of the % text is closest to the middle of the text line. -% \item [P, M, B:] Horizontally-centered versions, +% \item [P, M, B:] Horizontally-centered versions. % \item [S:] Converted to 'r'. From the \pkg{siunitx} package. -% \item [@, \textgreater{}, \textless{}:] Ignored so far. +% \item [D:] Converted to 'c'. From the \pkg{dcolumn} package. +% \item [@, !, \textgreater{}, \textless{}:] One each, in that order. +% \item [Unknown:] Converted to 'l'. +% \item [\cs{newcolumn}:] Currently treated as unknown. % \end{description} % \hrule % \end{table} % % +% \DescribeBoolean{LWR@validtablecol} True if found a valid table column type. +% \begin{macrocode} +\newbool{LWR@validtablecol} +% \end{macrocode} +% +% +% % \begin{macro}{\LWR@parsetablecols} \marg{colspecs} % % Scans the column specification left to right. @@ -9549,6 +9674,9 @@ link rel="stylesheet" type="text/css" href="\LWR@currentcss" /}% % one column per entry. The number of final columns is % stored in |LWR@tabletotalcols|. % +% \changes{v0.22}{2017/02/28}{Unknown table column types become \texttt{l}. +% Added tabular \texttt{D}, \texttt{!!}, \texttt{X} columns.} +% % \begin{macrocode} \newcommand*{\LWR@parsetablecols}[1]{% \LWR@traceinfo{LWR@parsetablecols started}% @@ -9570,6 +9698,10 @@ link rel="stylesheet" type="text/css" href="\LWR@currentcss" /}% \LWR@setexparray{LWR@colatspec}{1}{\relax}% \LWR@setexparray{LWR@colatspec}{2}{\relax}% \LWR@setexparray{LWR@colatspec}{3}{\relax}% +\LWR@setexparray{LWR@colbangspec}{leftedge}{\relax}% +\LWR@setexparray{LWR@colbangspec}{1}{\relax}% +\LWR@setexparray{LWR@colbangspec}{2}{\relax}% +\LWR@setexparray{LWR@colbangspec}{3}{\relax}% \LWR@setexparray{LWR@colbeforespec}{1}{\relax}% \LWR@setexparray{LWR@colbeforespec}{2}{\relax}% \LWR@setexparray{LWR@colbeforespec}{3}{\relax}% @@ -9601,6 +9733,10 @@ link rel="stylesheet" type="text/css" href="\LWR@currentcss" /}% \StrChar{#1}{\theLWR@tablecolspos}[\LWR@strresult]% \fullexpandarg% % \end{macrocode} +% Not yet found a valid column type +% \begin{macrocode} +\boolfalse{LWR@validtablecol}% +% \end{macrocode} % Note that the parameter for a |p{spec}| column is a token list which will NOT match l,c,r,p. % \watchout % \begin{macrocode} @@ -9609,6 +9745,7 @@ link rel="stylesheet" type="text/css" href="\LWR@currentcss" /}% \IfStrEq{\LWR@strresult}{r}{\LWR@parsenormalcolumn{r}}{}% \IfStrEq{\LWR@strresult}{S}{\LWR@parsenormalcolumn{r}}{}% \IfStrEq{\LWR@strresult}{\detokenize{@}}{\LWR@parseatcolumn}{}% +\IfStrEq{\LWR@strresult}{!}{\LWR@parsebangcolumn}{}% \IfStrEq{\LWR@strresult}{>}{\LWR@parsebeforecolumn}{}% \IfStrEq{\LWR@strresult}{<}{\LWR@parseaftercolumn}{}% \IfStrEq{\LWR@strresult}{!}{\LWR@parseskipcolumn}{}% @@ -9616,6 +9753,15 @@ link rel="stylesheet" type="text/css" href="\LWR@currentcss" /}% \IfStrEq{\LWR@strresult}{m}{\LWR@parsepcolumn{m}}{}% \IfStrEq{\LWR@strresult}{b}{\LWR@parsepcolumn{b}}{}% % \end{macrocode} +% From the \pkg{dcolumn} package: +% \begin{macrocode} +\IfStrEq{\LWR@strresult}{D}{\LWR@parseDcolumn{c}}{}% +% \end{macrocode} +% From the \pkg{tabularx} package. +% X column has no parameter, but will be given paragraph tags. +% \begin{macrocode} +\IfStrEq{\LWR@strresult}{X}{\LWR@parsenormalcolumn{X}}{}% +% \end{macrocode} % \begin{docsidebar} % Many people define centered versions ``|P|'', ``|M|'', and ``|B|'': \\ % \hspace*{1em}|\newcolumntype{P}[1]{>{\centering\arraybackslash}p{#1}}| @@ -9624,6 +9770,12 @@ link rel="stylesheet" type="text/css" href="\LWR@currentcss" /}% \IfStrEq{\LWR@strresult}{P}{\LWR@parsepcolumn{P}}{}% \IfStrEq{\LWR@strresult}{M}{\LWR@parsepcolumn{M}}{}% \IfStrEq{\LWR@strresult}{B}{\LWR@parsepcolumn{B}}{}% +% \end{macrocode} +% If this column was an invalid column type, convert it to a |p| column: +% \begin{macrocode} +\ifbool{LWR@validtablecol}{}{% +\LWR@parsenormalcolumn{l}% +}% \addtocounter{LWR@tablecolspos}{1}% }% }% @@ -9697,7 +9849,7 @@ link rel="stylesheet" type="text/css" href="\LWR@currentcss" /}% \ifthenelse{\equal{\LWR@getexparray{LWR@midrules}{\theLWR@tablecolspos}}{Y}}{rule}{}% "{}}% % \end{macrocode} -% If this is a p, m, or b column, allow paragraphs: +% If this is a p, m, b, or X column, allow paragraphs: % \begin{macrocode} \ifthenelse{% \equal{\LWR@strresult}{p}\OR% @@ -9705,7 +9857,8 @@ link rel="stylesheet" type="text/css" href="\LWR@currentcss" /}% \equal{\LWR@strresult}{b}\OR% \equal{\LWR@strresult}{P}\OR% \equal{\LWR@strresult}{M}\OR% -\equal{\LWR@strresult}{B}% +\equal{\LWR@strresult}{B}\OR% +\equal{\LWR@strresult}{X}% }% {% allow pars \LWR@startpars% @@ -9713,11 +9866,14 @@ link rel="stylesheet" type="text/css" href="\LWR@currentcss" /}% }% allow pars {}% no pars % \end{macrocode} -% Print the |@| contents before first column, +% Print the |@| and |!| contents before first column, % and then the |>| contents: % \begin{macrocode} \ifthenelse{\cnttest{\value{LWR@tablecolspos}}=1}% -{\LWR@getexparray{LWR@colatspec}{leftedge}}% left edge +{% +\LWR@getexparray{LWR@colatspec}{leftedge}% +\LWR@getexparray{LWR@colbangspec}{leftedge}% +}% left edge {}% not left edge \LWR@getexparray{LWR@colbeforespec}{\theLWR@tablecolspos}% \global\boolfalse{LWR@intabularmetadata}% @@ -9804,6 +9960,8 @@ link rel="stylesheet" type="text/css" href="\LWR@currentcss" /}% % \begin{macro}{\LWR@printmccoltype} \marg{colspec} % Print any valid column type found. Does not print |@|, |>|, or |<| columns % or their associated tokens. +% +% This is printed as part of the table data tag's |class|. % \begin{macrocode} \newcommand*{\LWR@printmccoltype}[1]{% \LWR@traceinfo{lwr@printmccoltype -#1-}% @@ -9824,6 +9982,7 @@ link rel="stylesheet" type="text/css" href="\LWR@currentcss" /}% \IfStrEq{\LWR@strresult}{M}{M}{}% \IfStrEq{\LWR@strresult}{B}{B}{}% \IfStrEq{\LWR@strresult}{S}{r}{}% +\IfStrEq{\LWR@strresult}{X}{p}{}% \LWR@traceinfo{lwr@printmccoltype done}% } % \end{macrocode} @@ -9847,16 +10006,28 @@ link rel="stylesheet" type="text/css" href="\LWR@currentcss" /}% \addtocounter{LWR@tablemulticolspos}{1}% \StrChar{#1}{\theLWR@tablemulticolspos}[\LWR@strresult]% \LWR@strresult% +% \end{macrocode} +% A valid column data type was found: +% \begin{macrocode} +\booltrue{LWR@validtablecol}% } % \end{macrocode} % \end{macro} % \begin{macro}{\LWR@printmccoldata} \marg{colspec} % Print the data for any valid column type found. +% +% \changes{v0.22}{2017/02/28}{Added tabular \texttt{D}, \texttt{!!}, +% and \texttt{X} columns.} +% % \begin{macrocode} \newcommand*{\LWR@printmccoldata}[1]{% \LWR@traceinfo{lwr@printmccoldata -#1}% % \end{macrocode} +% Not yet found a valid column type: +% \begin{macrocode} +\boolfalse{LWR@validtablecol}% +% \end{macrocode} % Get one token of the column spec: % \begin{macrocode} \StrChar{#1}{\theLWR@tablemulticolspos}[\LWR@strresult]% @@ -9867,6 +10038,10 @@ link rel="stylesheet" type="text/css" href="\LWR@currentcss" /}% \IfStrEq{\LWR@strresult}{l}{\LWR@multicoltext}{}% \IfStrEq{\LWR@strresult}{c}{\LWR@multicoltext}{}% \IfStrEq{\LWR@strresult}{r}{\LWR@multicoltext}{}% +\IfStrEq{\LWR@strresult}{D}{% +\addtocounter{LWR@tablemulticolspos}{3}% skip parameters +\LWR@multicoltext% +}{}% \IfStrEq{\LWR@strresult}{p}{\LWR@multicolpartext}{}% \IfStrEq{\LWR@strresult}{m}{\LWR@multicolpartext}{}% \IfStrEq{\LWR@strresult}{b}{\LWR@multicolpartext}{}% @@ -9874,13 +10049,18 @@ link rel="stylesheet" type="text/css" href="\LWR@currentcss" /}% \IfStrEq{\LWR@strresult}{M}{\LWR@multicolpartext}{}% \IfStrEq{\LWR@strresult}{B}{\LWR@multicolpartext}{}% \IfStrEq{\LWR@strresult}{S}{\LWR@multicolpartext}{}% +\IfStrEq{\LWR@strresult}{X}{\LWR@multicolpartext}{}% \IfStrEq{\LWR@strresult}{\detokenize{@}}{\LWR@multicolother{#1}}{}% +\IfStrEq{\LWR@strresult}{\detokenize{!}}{\LWR@multicolother{#1}}{}% \IfStrEq{\LWR@strresult}{\detokenize{>}}{\LWR@multicolother{#1}}{}% \IfStrEq{\LWR@strresult}{\detokenize{<}}{\LWR@multicolother{#1}}{}% -% \addtocounter{LWR@tablemulticolspos}{1}% -% \StrChar{#1}{\theLWR@tablemulticolspos}[\LWR@strresult]% -% \LWR@strresult% -% }{}% +% \end{macrocode} +% If an invalid column type: +% \begin{macrocode} +\ifbool{LWR@validtablecol}{}{\LWR@multicoltext}% +% \end{macrocode} +% Tracing: +% \begin{macrocode} \LWR@traceinfo{lwr@printmccoldata done}% } % \end{macrocode} @@ -9932,7 +10112,17 @@ link rel="stylesheet" type="text/css" href="\LWR@currentcss" /}% \NewDocumentCommand{\LWR@domulticolumn}{m m +m}{% \LWR@traceinfo{lwr@domulticolumn -#1- -#2-}% -\renewcommand{\LWR@multicoltext}{#3}% +% \end{macrocode} +% Remember the text to be inserted, and +% remember that a valid column type was found: +% \begin{macrocode} +\renewcommand{\LWR@multicoltext}{% +#3% +\booltrue{LWR@validtablecol}% +}% +% \end{macrocode} +% Row processing: +% \begin{macrocode} \LWR@maybenewtablerow% % \end{macrocode} % Begin the opening table data tag: @@ -10760,7 +10950,7 @@ lateximage\LWR@lateximagenumberref{#1}% % \begin{macro}{\pagerefPageFor} Text for starred page references. % % \begin{macrocode} -\newcommand*{\pagerefPageFor}{page for} +\newcommand*{\pagerefPageFor}{see } % \end{macrocode} % \end{macro} % @@ -10774,7 +10964,7 @@ lateximage\LWR@lateximagenumberref{#1}% % \begin{macrocode} \NewDocumentCommand{\LWR@newpageref}{s m}{% \IfBooleanTF{#1}% -{(\pagerefPageFor\ \LWR@origref{#2})}% +{(\pagerefPageFor\LWR@origref{#2})}% {(\cpageref{#2})}% } % \end{macrocode} @@ -10796,6 +10986,13 @@ lateximage\LWR@lateximagenumberref{#1}% % \end{macro} +% \begin{macro}{\Nameref} \marg{label} +% In print, adds the page number. In \acro{HTML}, does not. +% \begin{macrocode} +\let\Nameref\nameref +% \end{macrocode} +% \end{macro} + % \subsection{Hyper-references} % % Note that the code currently only sanitizes the underscore character. @@ -15204,7 +15401,7 @@ homehtmlfilename = "\HomeHTMLFileName"% \begin{VerbatimOut}{lwarp.css} /* CSS stylesheet for the LaTeX lwarp package - Copyright 2016 Brian Dunn — BD Tech Concepts LLC + Copyright 2016-2017 Brian Dunn — BD Tech Concepts LLC */ @@ -15554,6 +15751,13 @@ div.abstracttitle{ text-align: center ; } +span.abstractrunintitle{ + font-family: "URW Classico", Optima, "Linux Biolinum O", + "Linux Libertine O", "Liberation Serif", "Nimbus Roman No 9 L", + "FreeSerif", "Hoefler Text", Times, "Times New Roman", serif; + font-weight:bold; +} + .verbatim { overflow-x: auto ; @@ -16288,6 +16492,13 @@ div.abstracttitle{ text-shadow: 1px 1px 2px #808080; } +span.abstractrunintitle{ + font-family: "URW Classico", Optima, "Linux Biolinum O", + "Linux Libertine O", "Liberation Serif", "Nimbus Roman No 9 L", + "FreeSerif", "Hoefler Text", Times, "Times New Roman", serif; + font-weight:bold; +} + div.epigraph { background: #f5f5eb ; @@ -16511,6 +16722,15 @@ div.abstracttitle { text-shadow: none ; } +span.abstractrunintitle { + font-family: "Linux Libertine O", "Hoefler Text", "Garamond", + "Bembo", "Janson", "TeX Gyre Pagella", "Palatino", + "Liberation Serif", "Nimbus Roman No 9 L", "FreeSerif", Times, + "Times New Roman", serif; + color: black ; + text-shadow: none ; +} + div.abstract { font-size: 100% } .sidebar { @@ -16826,11 +17046,11 @@ MathJax.Hub.Config({ \begin{VerbatimOut}{lwarpmk.lua} #!/usr/bin/env texlua --- Copyright 2016 Brian Dunn +-- Copyright 2016-2017 Brian Dunn -- Print the usage of the lwarpmk command: -printversion = "v0.21" +printversion = "v0.22" function printhelp () print ("lwarpmk: Use lwarpmk -h or lwarpmk --help for help.") ; @@ -17282,6 +17502,104 @@ end -- not --version +% \clearpage + +% \iffalse +%<*abstract> +% \fi + +% \part{lwarp-abstract.sty} +% +% \section{Abstract} +% +% \DescribePackage{abstract} +% \pkg{abstract} is supported and patched by \pkg{lwarp}. +% +% \limitsabstract +% +% \changes{v0.22}{2017/03/01}{\pkg{abstract}: Added.} +% +% \codehtml +% +% Accept all options for \pkg{lwarp-abstract}: +% \begin{macrocode} +\LWR@ProvidesPackagePass{abstract} +% \end{macrocode} + + +% \begin{macrocode} +\AtBeginDocument{ +\BeforeBeginEnvironment{abstract}{\BlockClass{abstract}} +\AfterEndEnvironment{abstract}{\endBlockClass} +} + +\renewcommand{\@bsrunintitle}{% +\hspace*{\abstitleskip}% +{\abstractnamefont% +\InlineClass{abstractrunintitle}{\abstractname}% +\@bslabeldelim}% +} + +\if@titlepage + \renewenvironment{abstract}{% +% \titlepage + \null\vfil + \@beginparpenalty\@lowpenalty + \if@bsrunin + \else + \if@bsstyle + \abstitlestyle{\BlockClassSingle{abstracttitle}{\abstractname}} + \else + \ifnumber@bs + \num@bs + \else + \begin{\absnamepos}% + \abstractnamefont \BlockClassSingle{abstracttitle}{\abstractname} + \@endparpenalty\@M + \end\absnamepos% +%% \vspace{\abstitleskip}% + \fi + \fi + \vspace{\abstitleskip}% + \fi + \put@bsintoc% + \begin{@bstr@ctlist}\if@bsrunin\@bsrunintitle\fi\abstracttextfont}% + {\par\end{@bstr@ctlist}\vfil\null%\endtitlepage + } +\else + \renewenvironment{abstract}{% + \if@bsrunin + \else + \if@bsstyle + \abstitlestyle{\BlockClassSingle{abstracttitle}{\abstractname}} + \else + \ifnumber@bs + \num@bs + \else +\begin{\absnamepos}% +\abstractnamefont\BlockClassSingle{abstracttitle}{\abstractname}% +\end\absnamepos% +%% \vspace{\abstitleskip}% + \fi + \fi + \vspace{\abstitleskip}% + \fi + \put@bsintoc% + \begin{@bstr@ctlist}\if@bsrunin\@bsrunintitle\fi\abstracttextfont}% + {\par\end{@bstr@ctlist}} +\fi + +% \end{macrocode} + + +% \iffalse +%</abstract> +% \fi + + + +% \clearpage +% % \iffalse %<*afterpage> % \fi @@ -17290,7 +17608,7 @@ end -- not --version % \section{Afterpage} % -% \DescribePackage{afterpage} +% \DescribePackage{afterpage} Not used. % % \changes{v0.20}{2017/01/11}{\pkg{afterpage}: Added.} % @@ -17382,12 +17700,12 @@ span style="width:\rndprintlength{\ALG@thistlm}; display:inline-block;"% % \section{Alltt} % % \DescribePackage{alltt} +% \pkg{alltt} is patched for use by \pkg{lwarp}. % % \changes{v0.20}{2017/01/11}{\pkg{alltt}: Added.} % % \codehtml % -% \pkg{alltt} is patched for use by \pkg{lwarp}. % \begin{macrocode} \LWR@ProvidesPackagePass{alltt} % \end{macrocode} @@ -17406,8 +17724,6 @@ span style="width:\rndprintlength{\ALG@thistlm}; display:inline-block;"% -% \clearpage - % \iffalse %<*bookmark> % \fi @@ -17482,6 +17798,65 @@ span style="width:\rndprintlength{\ALG@thistlm}; display:inline-block;"% +% \iffalse +%<*changepage> +% \fi + +% \part{lwarp-changepage.sty} + +% \section{Changepage} +% +% \DescribePackage{changepage} +% \pkg{changepage} is ignored. +% +% \changes{v0.22}{2017/03/02}{\pkg{changepage}: Added.} +% +% \codehtml +% +% Discard all options for \pkg{lwarp-changepage}: +% \begin{macrocode} +\LWR@ProvidesPackageDrop{changepage} +% \end{macrocode} + +% \begin{macrocode} +\newif\ifoddpage +\DeclareRobustCommand{\checkoddpage}{\oddpagetrue} +\DeclareRobustCommand{\changetext}[5]{} +\DeclareRobustCommand{\changepage}[9]{} +\newenvironment{adjustwidth}[2]{}{} +\newenvironment{adjustwidth*}[2]{}{} +% \end{macrocode} + +% \iffalse +%</changepage> +% \fi + + + + +% \iffalse +%<*dcolumn> +% \fi + +% \part{lwarp-dcolumn.sty} + +% \section{Dcolumn} +% \label{sec:dcolumn} +% +% \changes{v0.22}{2017/02/24}{\pkg{dcolumn}: Added.} +% +% \DescribePackage{dcolumn} +% \pkg{dcolumn} is emulated during \acro{HTML} output, and +% the \pkg{dcolumn} package is ignored. + +% \begin{macrocode} +\LWR@ProvidesPackageDrop{dcolumn} +% \end{macrocode} + + +% \iffalse +%</dcolumn> +% \fi @@ -17502,12 +17877,12 @@ span style="width:\rndprintlength{\ALG@thistlm}; display:inline-block;"% % \pkg{draftwatermark} is emulated during \acro{HTML} output, and % the \pkg{draftwatermark} package is ignored. +% \codehtml + % \begin{macrocode} \LWR@ProvidesPackageDrop{draftwatermark} % \end{macrocode} -% \codehtml - % \begin{macrocode} \newcommand{\SetWatermarkAngle}[1]{} \newcommand{\SetWatermarkColor}[1]{} @@ -17524,6 +17899,55 @@ span style="width:\rndprintlength{\ALG@thistlm}; display:inline-block;"% % \fi + +% \clearpage + +% \iffalse +%<*enumerate> +% \fi + +% \part{lwarp-enumerate.sty} + +% \section{Enumerate} +% +% \DescribePackage{enumerate} +% \pkg{enumerate} is ignored. +% \pkg{enumitem} is then modified per the |shortlabels| option. +% +% \limitsenumerate +% +% \changes{v0.22}{2017/03/02}{\pkg{enumerate}: Added.} +% +% \codehtml +% +% Discard all options for \pkg{lwarp-enumerate}: +% \begin{macrocode} +\LWR@ProvidesPackageDrop{enumerate} +% \end{macrocode} + + +% \begin{macrocode} +% \DeclareOption{shortlabels} +% { +\def\enit@shl#1{% + \ifnum\enit@type=\tw@ + \enit@toks{#1}% + \else + \def\enit@c{#1}% + \enit@first#1,\@nil\@@nil % Returns enit@toks + \fi} +% } +% \end{macrocode} + + +% \iffalse +%</enumerate> +% \fi + + + +% \clearpage +% % \iffalse %<*epigraph> % \fi @@ -17538,12 +17962,12 @@ span style="width:\rndprintlength{\ALG@thistlm}; display:inline-block;"% % \pkg{epigraph} is emulated during \acro{HTML} output, and % the \pkg{epigraph} package is ignored. +% \codehtml + % \begin{macrocode} \LWR@ProvidesPackageDrop{epigraph} % \end{macrocode} -% \codehtml - % \begin{macrocode} \newcommand{\qitem}[2] { @@ -17611,11 +18035,12 @@ span style="width:\rndprintlength{\ALG@thistlm}; display:inline-block;"% % \pkg{eso-pic} is emulated during \acro{HTML} output, and % the \pkg{eso-pic} package is ignored. +% \codehtml + % \begin{macrocode} \LWR@ProvidesPackageDrop{eso-pic} % \end{macrocode} -% \codehtml % \begin{macrocode} \newcommand*{\LenToUnit}{} \newcommand{\AtPageUpperLeft}[1]{} @@ -17642,8 +18067,8 @@ span style="width:\rndprintlength{\ALG@thistlm}; display:inline-block;"% - - +% \clearpage +% % \iffalse %<*everypage> % \fi @@ -17659,11 +18084,11 @@ span style="width:\rndprintlength{\ALG@thistlm}; display:inline-block;"% % \pkg{everypage} is emulated during \acro{HTML} output, and % the \pkg{everypage} package is ignored. +% \codehtml % \begin{macrocode} \LWR@ProvidesPackageDrop{everypage} % \end{macrocode} -% \codehtml % \begin{macrocode} \newcommand*{\AddEverypageHook}[1]{} \newcommand*{\AddThispageHook}[1]{} @@ -17683,6 +18108,7 @@ span style="width:\rndprintlength{\ALG@thistlm}; display:inline-block;"% % \section{Extramarks} % % \DescribePackage{extramarks} +% \pkg{extramarks} is not used. % % \changes{v0.20}{2017/01/11}{\pkg{extramarks}: Added.} % @@ -17723,6 +18149,7 @@ span style="width:\rndprintlength{\ALG@thistlm}; display:inline-block;"% % \section{Fancyhdr} % % \DescribePackage{fancyhdr} +% \pkg{fancyhdr} is nullified. % % \changes{v0.20}{2017/01/11}{\pkg{fancyhdr}: Added.} % @@ -17786,10 +18213,6 @@ span style="width:\rndprintlength{\ALG@thistlm}; display:inline-block;"% % \end{macrocode} % -% \DescribePackage{float} -% -% The \pkg{float} package is emulated. -% % See \cref{sec:listof} for the \cs{listof} command. @@ -17883,13 +18306,8 @@ span style="width:\rndprintlength{\ALG@thistlm}; display:inline-block;"% \LWR@ProvidesPackageDrop{floatrow} % \end{macrocode} - % \changes{v0.14}{2016/03/31}{floatrow: Added package} -% \DescribePackage{floatrow} -% -% The \pkg{floatrow} package is emulated. -% % \limitsfloatrow @@ -18057,11 +18475,13 @@ span style="width:\rndprintlength{\ALG@thistlm}; display:inline-block;"% % \begin{macrocode} \ifthenelse{\equal{\LWR@frowkeywithin}{}} { -\LWR@traceinfo{about to newfloat #1 \LWR@frowkeyplacement\ \LWR@frowkeyfileext}% +\LWR@traceinfo{about to newfloat #1 \LWR@frowkeyplacement\ + \LWR@frowkeyfileext}% \newfloat{#1}{\LWR@frowkeyplacement}{\LWR@frowkeyfileext} }% {% -\LWR@traceinfo{about to newfloat #1\ \LWR@frowkeyplacement\ \LWR@frowkeyfileext\ \LWR@frowkeywithin}% +\LWR@traceinfo{about to newfloat #1\ \LWR@frowkeyplacement\ + \LWR@frowkeyfileext\ \LWR@frowkeywithin}% \newfloat{#1}{\LWR@frowkeyplacement}% {\LWR@frowkeyfileext}[\LWR@frowkeywithin]% \LWR@traceinfo{*** finished newfloat #1} @@ -18168,12 +18588,14 @@ span style="width:\rndprintlength{\ALG@thistlm}; display:inline-block;"% % % Discard all options for \pkg{lwarp-fontenc}: + +% \codehtml % \begin{macrocode} \LWR@ProvidesPackageDrop{fontenc} % \end{macrocode} % \begin{macrocode} -\LWR@noloadafter{fontenc} +\LWR@loadbefore{fontenc} % \end{macrocode} % \iffalse @@ -18198,12 +18620,14 @@ span style="width:\rndprintlength{\ALG@thistlm}; display:inline-block;"% % % Discard all options for \pkg{lwarp-fontspec}: +% +% \codehtml % \begin{macrocode} \LWR@ProvidesPackageDrop{fontspec} % \end{macrocode} % \begin{macrocode} -\LWR@noloadafter{fontspec} +\LWR@loadbefore{fontspec} % \end{macrocode} % \iffalse @@ -18213,6 +18637,33 @@ span style="width:\rndprintlength{\ALG@thistlm}; display:inline-block;"% % \clearpage + +% \iffalse +%<*ftnright> +% \fi + +% \part{lwarp-ftnright.sty} + +% \section{Ftnright} +% +% \DescribePackage{ftnright} +% \pkg{ftnright} is ignored. +% +% \changes{v0.22}{2017/03/01}{\pkg{ftnright}: Added.} +% +% \codehtml +% +% Discard all options for \pkg{lwarp-ftnright}: +% \begin{macrocode} +\LWR@ProvidesPackageDrop{ftnright} +% \end{macrocode} + +% \iffalse +%</ftnright> +% \fi + + + % % \iffalse %<*geometry> @@ -18223,6 +18674,10 @@ span style="width:\rndprintlength{\ALG@thistlm}; display:inline-block;"% % \section{Geometry} % % \DescribePackage{geometry} +% \pkg{geometry} is preloaded by \pkg{lwarp}, but must be nullified +% as seen by the user's source code. +% +% \changes{v0.22}{2017/03/01}{\pkg{geometry}: Nullified commands.} % % \codehtml @@ -18231,6 +18686,14 @@ span style="width:\rndprintlength{\ALG@thistlm}; display:inline-block;"% \LWR@ProvidesPackageDrop{geometry} % \end{macrocode} +% \begin{macrocode} +\renewcommand*{\geometry}[1]{} +\renewcommand*{\newgeometry}[1]{} +\renewcommand*{\restoregeometry}{} +\renewcommand*{\savegeometry}[1]{} +\renewcommand*{\loadgeometry}[1]{} +% \end{macrocode} + % \iffalse %</geometry> % \fi @@ -18634,10 +19097,34 @@ span style="width:\rndprintlength{\ALG@thistlm}; display:inline-block;"% +% \iffalse +%<*indentfirst> +% \fi +% \part{lwarp-indentfirst.sty} -% \clearpage +% \section{Indentfirst} +% +% \DescribePackage{indentfirst} +% \pkg{indentfirst} is ignored. +% +% \changes{v0.22}{2017/03/01}{\pkg{indentfirst}: Added.} +% +% Discard all options for \pkg{lwarp-indentfirst}: + +% \codehtml % +% \begin{macrocode} +\LWR@ProvidesPackageDrop{indentfirst} +% \end{macrocode} + +% \iffalse +%</indentfirst> +% \fi + + + + % \iffalse %<*inputenc> % \fi @@ -18653,12 +19140,15 @@ span style="width:\rndprintlength{\ALG@thistlm}; display:inline-block;"% % % Discard all options for \pkg{lwarp-inputenc}: + +% \codehtml +% % \begin{macrocode} \LWR@ProvidesPackageDrop{inputenc} % \end{macrocode} % \begin{macrocode} -\LWR@noloadafter{inputenc} +\LWR@loadbefore{inputenc} % \end{macrocode} % \iffalse @@ -18739,7 +19229,37 @@ span style="width:\rndprintlength{\ALG@thistlm}; display:inline-block;"% -% \clearpage + +% \iffalse +%<*layout> +% \fi + +% \part{lwarp-layout.sty} + +% \section{Layout} +% +% \DescribePackage{layout} +% \pkg{layout} is ignored. +% +% \changes{v0.22}{2017/03/01}{\pkg{layout}: Added.} +% +% \codehtml +% +% Discard all options for \pkg{lwarp-layout}: +% \begin{macrocode} +\LWR@ProvidesPackageDrop{layout} +% \end{macrocode} + +% \begin{macrocode} +\NewDocumentCommand{\layout}{s}{} +% \end{macrocode} + +% \iffalse +%</layout> +% \fi + + + % \iffalse %<*letterspace> @@ -18929,7 +19449,8 @@ span style="width:\rndprintlength{\ALG@thistlm}; display:inline-block;"% % \begin{macrocode} \LWR@traceinfo{addcontents lst@@caption: -\lst@@caption-}% \addcontentsline{lol}{lstlisting}% - {\protect\numberline{\thelstlisting}{\protect\ignorespaces \lst@@caption \protect\relax}}% +{\protect\numberline{\thelstlisting}% +{\protect\ignorespaces \lst@@caption \protect\relax}}% \fi \fi \fi @@ -19119,10 +19640,39 @@ span style="width:\rndprintlength{\ALG@thistlm}; display:inline-block;"% - % \clearpage % \iffalse +%<*lscape> +% \fi + +% \part{lwarp-lscape.sty} + +% \section{Lscape} +% +% \DescribePackage{lscape} +% \pkg{lscape} is nullified. +% +% \changes{v0.22}{2017/03/01}{\pkg{lscape}: Added.} +% +% \codehtml +% +% Discard all options for \pkg{lwarp-lscape}. +% \begin{macrocode} +\LWR@ProvidesPackageDrop{lscape} +% \end{macrocode} + +% \begin{macrocode} +\newenvironment*{landscape}{}{} +% \end{macrocode} + +% \iffalse +%</lscape> +% \fi + + + +% \iffalse %<*ltcaption> % \fi @@ -19162,6 +19712,40 @@ span style="width:\rndprintlength{\ALG@thistlm}; display:inline-block;"% + +% \iffalse +%<*mcaption> +% \fi + +% \part{lwarp-mcaption.sty} + +% \section{Mcaption} +% +% \DescribePackage{mcaption} +% \pkg{mcaption} is nullified. +% +% \changes{v0.22}{2017/03/01}{\pkg{mcaption}: Added.} +% +% \codehtml +% +% Discard all options for \pkg{lwarp-mcaption}: +% \begin{macrocode} +\LWR@ProvidesPackageDrop{mcaption} +% \end{macrocode} + +% \begin{macrocode} +\newenvironment{margincap}{}{} +\newcommand*{\margincapalign}{} +\newlength{\margincapsep} +% \end{macrocode} + +% \iffalse +%</mcaption> +% \fi + + + + % \clearpage % \iffalse @@ -19657,16 +20241,12 @@ solid \LWR@ProvidesPackageDrop{multicol}[2015/09/13] % \end{macrocode} - - % Multicols are converted into a 1--3 column display, browser-supported. - +% % The optional multicols heading is placed inside a |div| of class |multicolsheading|. - +% % The content is placed inside a |div| of class |multicols|. - -% \codehtml % \begin{macrocode} \begin{warpHTML} % \end{macrocode} @@ -19748,7 +20328,37 @@ solid +% \iffalse +%<*nameref> +% \fi + +% \part{lwarp-nameref.sty} + +% \section{Nameref} +% +% \DescribePackage{nameref} +% \pkg{nameref} is emulated by \pkg{lwarp}. +% +% \changes{v0.22}{2017/03/01}{\pkg{nameref}: Added.} +% +% \codehtml +% +% Discard all options for \pkg{lwarp-nameref}: +% \begin{macrocode} +\typeout{Using the lwarp html version of package `nameref' — discarding options.} +\typeout{ Are not using ProvidesPackage, so that other packages} +\typeout{ do not attempt to patch lwarp's version of `nameref'.} +\DeclareOption*{} +\ProcessOptions\relax +% \end{macrocode} + +% \iffalse +%</nameref> +% \fi + +% \clearpage +% % \iffalse %<*needspace> % \fi @@ -19758,7 +20368,7 @@ solid % \section{Needspace} % % \DescribePackage{needspace} -% \pkg{needspace} is not used during HTML conversion. +% \pkg{needspace} is not used during \acro{HTML} conversion. % % \changes{v0.20}{2016/12/22}{\pkg{needspace}: Added.} % @@ -19778,6 +20388,37 @@ solid + +% \iffalse +%<*newclude> +% \fi +% +% \part{lwarp-newclude.sty} +% +% \section{Newclude} +% +% \DescribePackage{newclude} +% Error if \pkg{newclude} is loaded after \pkg{lwarp}. +% +% \changes{v0.21}{2017/02/22}{\pkg{newclude}: Added.} +% + +% Discard all options for \pkg{lwarp-newclude}: + +% \codehtml +% \begin{macrocode} +\LWR@ProvidesPackageDrop{newclude} +% \end{macrocode} + +% \begin{macrocode} +\LWR@loadbefore{newclude} +% \end{macrocode} + +% \iffalse +%</newclude> +% \fi + + % \clearpage % % \iffalse @@ -19795,12 +20436,14 @@ solid % % Discard all options for \pkg{lwarp-newunicodechar}: + +% \codehtml % \begin{macrocode} \LWR@ProvidesPackageDrop{newunicodechar} % \end{macrocode} % \begin{macrocode} -\LWR@noloadafter{newunicodechar} +\LWR@loadbefore{newunicodechar} % \end{macrocode} % \iffalse @@ -19809,6 +20452,40 @@ solid + +% \iffalse +%<*nextpage> +% \fi + +% \part{lwarp-nextpage.sty} + +% \section{Nextpage} +% +% \DescribePackage{nextpage} +% \pkg{nextpage} is nullified. +% +% \changes{v0.22}{2017/03/01}{\pkg{nextpage}: Added.} +% +% \codehtml +% +% Discard all options for \pkg{lwarp-nextpage}. +% \begin{macrocode} +\LWR@ProvidesPackageDrop{nextpage} +% \end{macrocode} + +% \begin{macrocode} +\newcommand{\cleartoevenpage}[1][]{} +\newcommand{\movetoevenpage}[1][]{} +\newcommand{\cleartooddpage}[1][]{} +\newcommand{\movetooddpage}[1][]{} +% \end{macrocode} + +% \iffalse +%</nextpage> +% \fi + + + % \iffalse %<*nowidow> % \fi @@ -19822,9 +20499,10 @@ solid % % \changes{v0.20}{2017/01/03}{\pkg{nowidow}: Added.} % -% \codehtml - +% % Discard all options for \pkg{lwarp-nowidow}: + +% \codehtml % \begin{macrocode} \LWR@ProvidesPackageDrop{nowidow} % \end{macrocode} @@ -19874,9 +20552,10 @@ solid % % \changes{v0.20}{2017/01/11}{\pkg{pagenote}: Added.} % -% \codehtml % Discard all options for \pkg{lwarp-pagenote}: + +% \codehtml % \begin{macrocode} \LWR@ProvidesPackageDrop{pagenote} % \end{macrocode} @@ -19898,7 +20577,35 @@ solid + % \clearpage + +% \iffalse +%<*parskip> +% \fi + +% \part{lwarp-parskip.sty} + +% \section{Parskip} +% +% \DescribePackage{parskip} +% \pkg{parskip} is ignored. +% +% \changes{v0.22}{2017/03/01}{\pkg{parskip}: Added.} +% +% \codehtml +% +% Discard all options for \pkg{lwarp-parskip}. +% \begin{macrocode} +\LWR@ProvidesPackageDrop{parskip} +% \end{macrocode} + +% \iffalse +%</parskip> +% \fi + + + % % \iffalse %<*placeins> @@ -19913,9 +20620,10 @@ solid % % \changes{v0.20}{2017/01/19}{\pkg{placeins}: Added.} % -% \codehtml % Discard all options for \pkg{lwarp-placeins}: + +% \codehtml % \begin{macrocode} \LWR@ProvidesPackageDrop{placeins} % \end{macrocode} @@ -19946,9 +20654,10 @@ solid % % \changes{v0.20}{2017/01/19}{\pkg{ragged2e}: Added.} % -% \codehtml % Discard all options for \pkg{lwarp-ragged2e}: + +% \codehtml % \begin{macrocode} \LWR@ProvidesPackageDrop{ragged2e} % \end{macrocode} @@ -20029,7 +20738,7 @@ solid - +% \clearpage % \iffalse %<*setspace> @@ -20044,9 +20753,10 @@ solid % % \changes{v0.20}{2016/12/22}{\pkg{setspace}: Improved support.} % -% \codehtml % Discard all options for \pkg{lwarp-setspace}: + +% \codehtml % \begin{macrocode} \LWR@ProvidesPackageDrop{setspace} @@ -20085,8 +20795,136 @@ solid +% \iffalse +%<*showkeys> +% \fi + +% \part{lwarp-showkeys.sty} + +% \section{Showkeys} +% +% \DescribePackage{showkeys} +% \pkg{showkeys} is ignored. +% +% \changes{v0.22}{2017/03/01}{\pkg{showkeys}: Added.} +% +% \codehtml +% +% Discard all options for \pkg{lwarp-showkeys}: +% \begin{macrocode} +\LWR@ProvidesPackageDrop{showkeys} +% \end{macrocode} + +% \begin{macrocode} +\NewDocumentCommand{\showkeys}{s}{} +% \end{macrocode} + +% \iffalse +%</showkeys> +% \fi + + + +% \clearpage + +% \iffalse +%<*sidecap> +% \fi + +% \part{lwarp-sidecap.sty} + +% \section{Sidecap} +% +% \DescribePackage{sidecap} +% \pkg{sidecap} is nullified. +% +% \changes{v0.22}{2017/03/01}{\pkg{sidecap}: Added.} +% +% \codehtml +% +% Discard all options for \pkg{lwarp-sidecap}. +% \begin{macrocode} +\LWR@ProvidesPackageDrop{sidecap} +% \end{macrocode} + +% See: \\ +% \href +% {http://tex.stackexchange.com/questions/45401/use-the-s-star-argument-with-newdocumentenvironment} +% {\texttt{http://tex.stackexchange.com/questions/45401/ \\ +% use-the-s-star-argument-with-newdocumentenvironment}} \\ +% regarding the creation of starred environments with \pkg{xparse}. +% \begin{macrocode} +\NewDocumentEnvironment{SCtable}{soo} +{\IfValueTF{#3}{\table[#3]}{\table}} +{\endtable} + +\ExplSyntaxOn +\cs_new:cpn {SCtable*} {\SCtable*} +\cs_new_eq:cN {endSCtable*} \endSCtable +\ExplSyntaxOff + + +\NewDocumentEnvironment{SCfigure}{soo} +{\IfValueTF{#3}{\figure[#3]}{\figure}} +{\endfigure} + +\ExplSyntaxOn +\cs_new:cpn {SCfigure*} {\SCfigure*} +\cs_new_eq:cN {endSCfigure*} \endSCfigure +\ExplSyntaxOff + + +\newenvironment*{wide}{}{} +% \end{macrocode} + +% \iffalse +%</sidecap> +% \fi + + + + +% \clearpage + +% \iffalse +%<*tabularx> +% \fi + +% \part{lwarp-tabularx.sty} + +% \section{Tabularx} +% +% \DescribePackage{tabularx} +% \pkg{tabularx} is emulated by \pkg{lwarp}. +% +% \changes{v0.22}{2017/03/01}{\pkg{tabularx}: Added.} +% +% \codehtml +% +% Discard all options for \pkg{lwarp-tabularx}: +% \begin{macrocode} +\LWR@ProvidesPackageDrop{tabularx} +% \end{macrocode} + +% \begin{macrocode} +\newenvironment{tabularx}[2] +{\tabular{#2}} +{\endtabular} + +\newenvironment{tabularx*}[2] +{\tabular{#2}} +{\endtabular} +% \end{macrocode} + +% \iffalse +%</tabularx> +% \fi + + +% \clearpage + % \iffalse %<*textpos> % \fi @@ -20102,11 +20940,11 @@ solid % \pkg{textpos} is emulated during \acro{HTML} output, and % the \pkg{textpos} package is ignored. +% \codehtml % \begin{macrocode} \LWR@ProvidesPackageDrop{textpos} % \end{macrocode} -% \codehtml % \begin{macrocode} \NewDocumentEnvironment{textblock}{m r()}{}{} \NewDocumentEnvironment{textblock*}{m o r()}{}{} @@ -20217,9 +21055,10 @@ solid % \changes{v0.20}{2017/01/03}{\pkg{titleps}: Added.} % -% \codehtml % % Discard all options for \pkg{lwarp-titleps}: + +% \codehtml % \begin{macrocode} \LWR@ProvidesPackageDrop{titleps} % \end{macrocode} @@ -20402,9 +21241,10 @@ solid % \changes{v0.20}{2017/01/03}{\pkg{titlesec}: Added.} % -% \codehtml % % Discard all options for \pkg{lwarp-titlesec}: + +% \codehtml % \begin{macrocode} \LWR@ProvidesPackageDrop{titlesec} % \end{macrocode} @@ -20528,9 +21368,10 @@ solid % \changes{v0.20}{2017/01/03}{\pkg{titletoc}: Added.} % -% \codehtml % % Discard all options for \pkg{lwarp-titletoc}: + +% \codehtml % \begin{macrocode} \LWR@ProvidesPackageDrop{titletoc} % \end{macrocode} @@ -20652,9 +21493,10 @@ solid % % \changes{v0.20}{2017/01/22}{\pkg{titling}: Improved compatibility.} % -% \codehtml % % Pass all options to \pkg{lwarp-titling}: + +% \codehtml % \begin{macrocode} \LWR@ProvidesPackagePass{titling} % \end{macrocode} @@ -20718,9 +21560,10 @@ solid % \changes{v0.20}{2017/01/03}{\pkg{tocloft}: Added.} % -% \codehtml % % Discard all options for \pkg{lwarp-tocloft}: + +% \codehtml % \begin{macrocode} \LWR@ProvidesPackageDrop{tocloft} % \end{macrocode} @@ -21052,9 +21895,11 @@ solid % \pkg{trivfloat} is forced to use the built-in \pkg{lwarp} % emulation for floats. -% \codehtml -% Discard all options for \pkg{lwarp-trivfloat}: +% Discard all options for \pkg{lwarp-trivfloat}. +% This tells \pkg{trivfloat} not to use \pkg{floatrow} or \pkg{memoir}. + +% \codehtml % \begin{macrocode} \LWR@ProvidesPackageDrop{trivfloat} \LWR@origRequirePackage{trivfloat} @@ -21066,14 +21911,6 @@ solid \begin{warpall} % \end{macrocode} -% Package \pkg{trivfloat} is supported via the \pkg{lwarp} emulation of \pkg{float}. -% For \acro{HTML} usage, use only |\usepackage{trivfloat}|, without any options, -% \watchout -% which tells \pkg{trivfloat} to use the emulated \pkg{float} functions instead -% of using \pkg{floatrow} or \pkg{memoir}. - -% ^^A \DescribeMacro{\trivfloat} \marg{type} -% % To create a new float type and change its name: % \begin{Verbatim}[gobble=2,frame=lines,obeytabs,tabsize=4] % \trivfloat{example} @@ -21153,8 +21990,88 @@ solid +% \clearpage + +% \iffalse +%<*verse> +% \fi + +% \part{lwarp-verse.sty} +% \section{Verse} +% +% \DescribePackage{verse} +% \pkg{verse} is supported and patched by \pkg{lwarp}. +% +% \changes{v0.22}{2017/03/02}{\pkg{verse}: Added.} +% +% \codehtml +% +% Pass all options for \pkg{lwarp-verse}: +% \begin{macrocode} +\LWR@ProvidesPackagePass{verse} +% \end{macrocode} +% +% \limitsverse +% +% \bigskip +% +% \begin{environment}{verse} +% \changes{v0.18}{2016/05/13}{Supports verse, memoir packages.} +% The \env{verse} environment will be placed inside a \acro{HTML} |pre|. +% \begin{macrocode} +\AfterEndPreamble{ +% \end{macrocode} +% At the beginning of the \env{verse} environment: +% \begin{macrocode} +\AtBeginEnvironment{verse} +{% +% \end{macrocode} +% \DescribePackage{verse}\DescribePackage{memoir}\index{memoir>verse} +% The \pkg{verse} or \pkg{memoir} packages can place stanza numbers to the left +% with their \cs{flagverse} command. \DescribeMacro{\flagverse} +% Do not allow them to go into the left margin, which would cause |pdfcrop| +% to crop the entire page further to the left: +% \DescribeLength{vleftskip} +% \begin{macrocode} +\ifdef{\vleftskip}{% +\setlength{\vleftskip}{\HTMLvleftskip} +\setlength{\leftmargini}{\HTMLleftmargini} +}{} +\LWR@atbeginverbatim{verse} +\unskip\vspace{-\baselineskip} +} +% \end{macrocode} +% After the end of the \env{verse} environment, which places the |pre| tag at the +% regular left margin: +% \begin{macrocode} +\AfterEndEnvironment{verse}{ +\unskip\vspace{-\baselineskip} +\LWR@afterendverbatim +} +% \end{macrocode} +% Patch to place poemtitle inside an \acro{HTML} span of class |poemtitle|: +% \begin{macrocode} +\ifdef{\poemtitle}{ +\DeclareDocumentCommand{\@vstypeptitle}{m}{% + \vspace{\beforepoemtitleskip}% + {\InlineClass{poemtitle}{\poemtitlefont #1}\par}% + \vspace{\afterpoemtitleskip}% + } +}{} + +} +% \end{macrocode} +% \end{environment} + +% \iffalse +%</verse> +% \fi + + +% \clearpage +% % \iffalse %<*wallpaper> % \fi @@ -21170,11 +22087,11 @@ solid % \pkg{wallpaper} is emulated during \acro{HTML} output, and % the \pkg{wallpaper} package is ignored. +% \codehtml % \begin{macrocode} \LWR@ProvidesPackageDrop{wallpaper} % \end{macrocode} -% \codehtml % \begin{macrocode} \newcommand*{\CenterWallPaper}[2]{} \newcommand*{\ThisCenterWallPaper}[2]{} @@ -21202,7 +22119,8 @@ solid - +% \clearpage +% % \iffalse %<*wrapfig> % \fi @@ -21218,13 +22136,11 @@ solid % \pkg{wrapfig} is emulated during \acro{HTML} output, and % the \pkg{wrapfig} package is ignored. +% \codehtml % \begin{macrocode} \LWR@ProvidesPackageDrop{wrapfig} % \end{macrocode} -% \codehtml - - % Computed width of a wrapped object. % Used to print the \acro{HTML} style. % \begin{macrocode} @@ -21312,6 +22228,7 @@ style="width:\rndprintlength{\LWR@wrapwidth} ; % % \section{Xcolor} % % \DescribePackage{xcolor} +% \pkg{xcolor} is supported by lwarp. % % \limitsxcolor @@ -21380,15 +22297,17 @@ style="width:\rndprintlength{\LWR@wrapwidth} ; % % ^^A \end{macro} -% \DescribeMacro{\color} appears in the \LaTeX{} \acro{PDF} output, but is ignored by -% |pdftotext| and thus is ignored in the \acro{HTML} file. Text styling by local group -% is not yet supported. +% ^^A \DescribeMacro{\color} +% \cs{color} appears in the \LaTeX{} \acro{PDF} output, +% but is ignored by |pdftotext| and thus is ignored in the \acro{HTML} file. +% Text styling by local group is not yet supported. % Each of the following macros is given a temporary name, and is |\let| to the final % name once the \acro{HTML} conversion starts. -% ^^A \begin{macro}{\textcolor} \oarg{model} \marg{color} \marg{text} -% +% ^^A \begin{macro}{\textcolor} +% \cs{textcolor} +% \oarg{model} \marg{color} \marg{text} % is converted into an \acro{HTML} hex color span. % \begin{macrocode} \NewDocumentCommand{\LWR@textcolor}{O{named} m +m}{% @@ -21399,17 +22318,19 @@ style="width:\rndprintlength{\LWR@wrapwidth} ; % % \end{macrocode} % ^^A \end{macro} -% ^^A \begin{macro}{\pagecolor} \oarg{model} \marg{color} -% -% Ignored. Use |\NewCSS| instead. +% ^^A \begin{macro}{\pagecolor} +% \cs{pagecolor} +% \oarg{model} \marg{color} +% is ignored. Use |\NewCSS| instead. % \begin{macrocode} \newcommand*{\LWR@pagecolor}[2][named]{} % \end{macrocode} % ^^A \end{macro} -% ^^A \begin{macro}{\colorbox} \oarg{model} \marg{color} \marg{text} -% +% ^^A \begin{macro}{\colorbox} +% \cs{colorbox} +% \oarg{model} \marg{color} \marg{text} % is converted into an \acro{HTML} hex background color span. % % \begin{macrocode} @@ -21422,8 +22343,8 @@ style="width:\rndprintlength{\LWR@wrapwidth} ; % % ^^A \end{macro} % ^^A \begin{macro}{\fcolorbox} +% \cs{fcolorbox} % \oarg{framemodel} \marg{framecolor} \oarg{boxmodel} \marg{boxcolor} \marg{text} -% % is converted into a framed \acro{HTML} hex background color span. % % \begin{macrocode} |